Snelheid

Door Rick , 25 jaar geleden, 3.832x bekeken

is je script niet snel genoeg? hier wat tips om het sneller te maken

Gesponsorde koppelingen

Inhoudsopgave

  1. Een paar snelheidstestjes

 

Er zijn 17 reacties op 'Snelheid'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Rick
Rick
25 jaar geleden
 
0 +1 -0 -1
helemaal geen reacties?
ik had toch wel meer verwacht eigenlijk :P
Mitch X
Mitch X
25 jaar geleden
 
0 +1 -0 -1
0.078799 :: 0.043823 :: 0.090343 0.038921 :: 0.022111 :: 0.098562
Rick
Rick
25 jaar geleden
 
0 +1 -0 -1
vage resultaten heb jij, ik heb het net weer getest op een oud servertje op het werk en nu kreeg ik dit: 0.838641 :: 0.270897 :: 0.27556 0.174153 :: 0.085336 :: 0.809013
als het goed is hoort de eerste verschrikkelijk langzaam te gaan en de 2e en 3e sneller
en bij de 2e reeks weer het zelfde
0.838641 :: 0.270897 :: 0.27556
0.174153 :: 0.085336 :: 0.809013
en dat is bij mijn resultaten ook duidelijk te zien
maar waarom het bij jouw niet zichtbaar is is me een raadsel
Rick
Rick
25 jaar geleden
 
0 +1 -0 -1
test op de 2e server op m'n werk
1e was een linux bak met apache en dit is een windows bak met iis erop
0.142093 :: 0.169085 :: 0.201184
0.149115 :: 0.947791 :: 0.05218
hier zie je idd hele andere resultaten komen
blijkbaar parsed IIS het anders

welke webserver en OS gebruik jij?
Arend a
Arend a
25 jaar geleden
 
0 +1 -0 -1
Is dit wel echt een nuttige test? En niet een test van hoeveel CPU er du moment beschikbaar is?

Benchmarks van PHP icm MySQL en schrijven/lezen van imput vind ik stukken interessanter dan hoeveel CPU je in korte tijd kan vreten.
Mitch X
Mitch X
25 jaar geleden
 
0 +1 -0 -1
OS = XP PROF VERSIE 5.1 BUILD 2600
Webserver = Apache (PHP triad)
Rick
Rick
25 jaar geleden
 
0 +1 -0 -1
Quote:
Is dit wel echt een nuttige test? En niet een test van hoeveel CPU er du moment beschikbaar is?

Benchmarks van PHP icm MySQL en schrijven/lezen van imput vind ik stukken interessanter dan hoeveel CPU je in korte tijd kan vreten.

ik wil hiermee eigenlijk alleen maar laten zien dat dit: echo "blaat en de $var"; een stuk langzamer is dan echo "blaat en de ".$var;
en dat $array[abc] een stuk langzamer is dan $array["abc"]

ik heb de testen gedaan op een moment dat de server idle was dus er was ongeveer 99% cpu beschikbaar op dat moment (en de test draaide op proc nr2 en die had sowieso al niets te doen)


25 jaar geleden
 
0 +1 -0 -1
Een aanvulling:

echo "hi";

is ook slomer dan

echo 'hi';

Bij " checkt PHP namelijk eerst of er vars staan (zie je eigen voorbeeld: echo "blaat en de $var"; ). Bij ' weet PHP meteen dat het om een pure string gaat. echo 'Penis$lengte'; zal dus Penis$lengte printen, en niet Penis en daarachter de waarde van $lengte.

Let op! Dingen als \n mogen niet (naja mag wel :P) tussen ''. PHP zal da \n letterlijk printen. Gebruik dan weer " of gebruik de functie define

vb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
define("NL","\n");

print('Hi'.NL);
?>


Zie ook: http://nl.php.net/define

Zo vind ik het wel weer genoeg :)
Rick
Rick
25 jaar geleden
 
0 +1 -0 -1
Quote:
define("NL","\n");
lol das precies de manier waarop ik het ook altijd doe
alleen ik zet hem zo neer
define('nl',"\n");
en ik heb meestal ook nog iets als tabs enzo erbij
define('t1',"\n\t");
define('t2',"\n\t\t");
define('t3',"\n\t\t\t");
die zijn eigenlijk een beetje voor de tables enzo
echo'<table>'.t1.'<tr>'.t2.'<td>hier de text</td>'.t1.'</tr>'.nl.'</table>';
het debuggen gaat achteraf een stuk makkelijker daarmee :)
Arend a
Arend a
25 jaar geleden
 
0 +1 -0 -1
Hmm, grappig. Ik zou dr alleen geen zak mee doen. Als je 't m op snelheid zoekt moet je niet bij PHP zijn imho, in elk geval niet bij het echo'en van deze zut.
Mitch X
Mitch X
25 jaar geleden
 
0 +1 -0 -1
Quote:
vage resultaten heb jij, ik heb het net weer getest op een oud servertje op het werk en nu kreeg ik dit: 0.838641 :: 0.270897 :: 0.27556 0.174153 :: 0.085336 :: 0.809013
als het goed is hoort de eerste verschrikkelijk langzaam te gaan en de 2e en 3e sneller
en bij de 2e reeks weer het zelfde
0.838641 :: 0.270897 :: 0.27556
0.174153 :: 0.085336 :: 0.809013
en dat is bij mijn resultaten ook duidelijk te zien
maar waarom het bij jouw niet zichtbaar is is me een raadsel


Ik heb ook geen idee maar ik weet iig dat mijn pc nooit idle is ...
Dus mss was er toen maar ff weinig CPU pwr :P


25 jaar geleden
 
0 +1 -0 -1
-0.158775 :: -0.196544 :: 0.298084 -0.019687 :: -0.422534 :: 0.385519

Jawel! Negatieve tijden, das wel errug snel,
Hoe? Script geupload en daarna bekeken.
Conclusie: internet is sneller dan lokaal. ;-)

Rick, bedankt dat je uiteindelijk even uitlegt wat de bedoelig was van dit script, dat was deze newbie nl. nog niet duidelijk.
Arnoldxp
arnoldxp
25 jaar geleden
 
0 +1 -0 -1
-0.032605 :: -0.389472 :: 0.648174 -0.324093 :: -0.343683 :: 0.320069

hmmm. wat moet ik met negatieve resultaten
Bram Z
Bram Z
25 jaar geleden
 
0 +1 -0 -1
op mijn p4 tje
0.097096 :: -0.886194 :: 0.138671 0.128304 :: 0.056231 :: 0.051367
Willem vp
Willem vp
23 jaar geleden
 
0 +1 -0 -1
Een aspect wat in deze discussie m.i. over het hoofd is gezien, is leesbaarheid van de code.

Een regel als

echo 'Er zijn ' . $number . ' geregistreerde gebruikers';

is slechter leesbaar dan

echo "Er zijn $number geregistreerde gebruikers";

vooral als je veel variabelen gebruikt. Bovendien loop je het risico dat je door al die concatenaties hier en daar een spatie vergeet, waardoor er opmaakfouten in je output komen.

En als we dan toch over performance gaan blaten: wanneer je veel variabelen gebruikt, is

echo 'Er zijn', $number, 'geregistreerde gebruikers';

sneller dan een constructie met concatenaties.

En waar doen we het allemaal voor? Om op tienduizend echo's een fractie van een seconde te winnen. Sorry jongens, maar daar verbeter je de performance van je site echt niet mee. Dat zou dus inhouden dat je heel erg veel gebruikers tegelijkertijd zou moeten hebben, en dan wordt de snelheid van je netwerkverbinding veel belangrijker dan die paar rottige CPU-cycles die je kan winnen.
Willem vp
Willem vp
23 jaar geleden
 
0 +1 -0 -1
O ja, er is nog een ander aspect wat me net iets te laat te binnen schoot: de resolutie van de klok in een normale PC is niet geschikt voor metingen in microsecondes. Bij de "benchmark" die in deze tut werd gebruikt was de looptijd kort, waardoor de onnauwkeurigheid van de klok relatief groot is.

Als je echt conclusies zou willen trekken, moet je dus geen loop van tienduizend iteraties nemen, maar naar 1 miljoen iteraties gaan of zo.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Eris -
Eris -
23 jaar geleden
 
0 +1 -0 -1
Door de variablen uit de quotes te halen vergroot je de leesbaarheid is mijn ervaring.
En als je 0,1 seconden snelheids winst hebt oop 10000000 hist is dat toch een winst die niet te vergeten is.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Een paar snelheidstestjes

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.