login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Php sneller als C ???

Offline pj_muller00 - 19/01/2006 17:49
Avatar van pj_muller00PHP interesse Beste,
Ik heb een wiskundig script in 2 talen geschreven (om priemgetallen te berekenen)

De scripting is dus identiek hetzelfde ...
En de resultaten,
Na 30 sec. :
- zit het php script op het priemgetal 1.491.629
- zit C op 107.357

Normaalgezien zou C toch veel sneller moeten gaan ?
Alvast bedankt,
Pj 

15 antwoorden

Gesponsorde links
Offline Maarten - 19/01/2006 17:59
Avatar van Maarten Erelid #carebear ... 
Offline Gerard - 19/01/2006 18:00
Avatar van Gerard Ouwe rakker Murfy, flamer xD
Offline pj_muller00 - 19/01/2006 18:10
Avatar van pj_muller00 PHP interesse Over wat hebben jullie het ...
Iemand anders uitleg ... of hoe ik het 1 sneller krijg
Offline Maarten - 19/01/2006 18:14
Avatar van Maarten Erelid Je vraag is:
Citaat:
Normaalgezien zou C toch veel sneller moeten gaan ?


Dus ik antwoord daarop: Nee. Daarmee is je compleet nutteloze vraag dus opgelost.
Offline pj_muller00 - 19/01/2006 18:16
Avatar van pj_muller00 PHP interesse Wat is dan wel sneller ... kzou de 'snelste' nodig hebben
Offline Maarten - 19/01/2006 18:48
Avatar van Maarten Erelid Volgens je testje is PHP toch de snelste, dus wat is het probleem nu eigenlijk?
Offline pj_muller00 - 19/01/2006 19:03
Avatar van pj_muller00 PHP interesse Mss zijn er nog andere die sneller zijn ...
Kzou namelijk een nieuw 'grootste' priemgetal willen vinden.
Snelheid is dus cruciaal.

En is het normaal dat PHP zoveel sneller is dan C ?
Of kan C gewoon niet makkelijk werken met %'s of sqrt() ??

Alvast bedankt,
Pj 
Offline Thomas - 19/01/2006 19:08 (laatste wijziging 19/01/2006 19:08)
Avatar van Thomas Moderator Euh, daar heb je toch echt wat meer rekenkracht voor nodig. En doorgaans zal C sneller zijn denk ik, want die compiled je programma (eenmalig) naar machinecode, misschien PHP ook wel - weet ik eigenlijk niet. PHP is toch in C geschreven? Dat lijkt me dan niet sneller.

Misschien zijn bepaalde implementaties in PHP/C sneller dan in de ander... who knows.

Rekenen met priemgetallen is wellicht leuk om er eens mee te spelen, maar echt serieus grote getallen gaan berekenen heeft niet zoveel zin, althans niet op een huis-, tuin- en keuken-PC.
Offline riekele - 19/01/2006 19:11
Avatar van riekele PHP beginner ik zou zeggen maak nog een programma zonder sqrt() of % en kijk of php dan sneller is..
Offline Stijn - 19/01/2006 19:14
Avatar van Stijn PHP expert
Citaat:
En is het normaal dat PHP zoveel sneller is dan C ?
Of kan C gewoon niet makkelijk werken met %'s of sqrt() ??

zet dan #include<math.h> hé

Ik heb het eens gevraagd en ASM (assembly programming) is sneller dan C en andere talen. normaal moet C sneller zijn dan PHP want PHP is uit C gemaakt 

Me vriend zegt dat je liegt (:p) en wil je code eens zien, als je je C-code eens wil posten aub 

groeten
stijn
Offline pj_muller00 - 19/01/2006 19:26
Avatar van pj_muller00 PHP interesse Ik was vergeten #include<math.h> te zetten 
Kben totaal geen ervaren programmeur in C;-)
Offline Stijn - 19/01/2006 19:41
Avatar van Stijn PHP expert post je code eens...
want hij en ik zijn het erover eens dat deze code snel is 
  1. <? //KLEUR
  2. #include<stdio.h>
  3. #define MAX 1000000000 // 1 miljard
  4.  
  5. int main(void)
  6. {
  7.  
  8. int i;
  9.  
  10. for(i = 0 ; i < MAX ; i++) {
  11.  
  12. if(i/1 == i && i/i == 1) { //deelbaar door 1 en zichzelf?
  13. printf("%d\n", i);
  14. } else {
  15. printf("/");
  16. }
  17.  
  18. }
  19.  
  20. system("PAUSE");
  21.  
  22. }//close MAIN


maar post die van jou ook maar eens 

stijn
Offline Thomas - 19/01/2006 23:21 (laatste wijziging 19/01/2006 23:22)
Avatar van Thomas Moderator Err...

  1. (i/1 == i && i/i == 1)


Ik ken geen getal dat daar niet aan voldoet, behalve 0 dan misschien... Ik denk toch dat je met modulo moet werken maat...

Een priemgetal mag alleen deelbaar zijn door 1 en zichzelf. Dat ze deelbaar zijn door 1 en door zichzelf wil niet zeggen dat er niet meer delers zijn...

honestly,
rofl @ code
Offline Dolfje - 19/01/2006 23:25
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
@stijn1989, jij gaat wel veel nieuwe priemgetallen vinden,
beginnend bij, euhm 2?:p
Offline Thomas - 19/01/2006 23:26 (laatste wijziging 19/01/2006 23:40)
Avatar van Thomas Moderator Ik denk dat ie bij 0 een "division by zero" error krijgt.

Het is waar dat je er niet omheen kunt dat die code snel is, hij gaat namelijk meteen op zijn bek bij uitvoer.

Kijk maar eens naar dit script, daar zie je hoe je alle priemgetallen van een bepaald interval [2..N] zou kunnen berekenen...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.2s