echo echo!
$naam = 'Jan';
$beest = 'Woodywoodpecker';
De meesten van jullie zullen als volgt echo'en:
Nu ben ik heel benieuwd of iemand het ook wel eens zo doet:
Heb je het verschil gezien? Komma's in plaats van punten! Wie doet het op die laatste manier?
Echo aanroepen met meerdere parameters? Ikke niet.
Ik las een keer dat dit beter is? Echo kan meerdere argumenten kommagescheiden weergeven. Ik heb dit ook nooit gedaan maar het voordeel zou zijn dat ie er nu geen string van maakt. De punt plakt alles aan elkaar en maakt er 1 string van. Echter, je echoot iets, en daarna heb je de string niet meer nodig, dus waarom zou je die aan elkaar plakken? In principe doe je iets wat niet nodig is.
We hebben er hier een keer naar gekeken en kwamen tot de conclusie dat het snelheidsverschil heel klein was terwijl het niet natuurlijk overkwam waardoor we besloten hebben om het niet te doen. Daarnaast gebruiken we bijna geen echo alleen aan het einde van het script komt dat een keer voor.
Het voelt inderdaad niet natuurlijk, maar dat komt denk ik omdat je (ik) het niet gewend bent. Maar als je erover nadenkt is het wel vreemd om een string aan elkaar te plakken en die dan te echo'en.
Andere meningen? Zijn er mensen die wel met komma's echo'en?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
echo '<pre>';
echo 'Quotes..'.PHP_EOL;
$start = microtime(true);
for($i = 0; $i <= 100; $i++)
{
echo "Regel $i, ";
}
$end = microtime(true);
$difference = $end - $start;
echo PHP_EOL.$difference.PHP_EOL;
echo 'Punten..'.PHP_EOL;
$start = microtime(true);
for($i = 0; $i <= 100; $i++)
{
echo 'Regel'.$i.',';
}
$end = microtime(true);
$difference = $end - $start;
echo PHP_EOL.$difference.PHP_EOL;
echo 'Komma..'.PHP_EOL;
$start = microtime(true);
for($i = 0; $i <= 100; $i++)
{
echo 'Regel',$i,',';
}
$end = microtime(true);
$difference = $end - $start;
echo PHP_EOL.$difference.PHP_EOL;
?>
echo '<pre>';
echo 'Quotes..'.PHP_EOL;
$start = microtime(true);
for($i = 0; $i <= 100; $i++)
{
echo "Regel $i, ";
}
$end = microtime(true);
$difference = $end - $start;
echo PHP_EOL.$difference.PHP_EOL;
echo 'Punten..'.PHP_EOL;
$start = microtime(true);
for($i = 0; $i <= 100; $i++)
{
echo 'Regel'.$i.',';
}
$end = microtime(true);
$difference = $end - $start;
echo PHP_EOL.$difference.PHP_EOL;
echo 'Komma..'.PHP_EOL;
$start = microtime(true);
for($i = 0; $i <= 100; $i++)
{
echo 'Regel',$i,',';
}
$end = microtime(true);
$difference = $end - $start;
echo PHP_EOL.$difference.PHP_EOL;
?>
Resultaten bij mij:
Quotes: (Variabele binnen quotes) echo "Regel $i";
0.00017690658569336
Punten: echo 'Regel '.$i;
0.00015521049499512
Komma: echo 'Regel ',$i;
0.00013184547424316
Gewijzigd op 30/11/2010 11:39:50 door Chris -
Tja, en nu? Die komma blijkt toch echt sneller te gaan. Allemaal met komma's gaan echo'en dan vanaf nu????
Ow, probeer het eens met ob_start() bovenaan voor de grap. Bij mij werd echo plots nog eens 10x sneller >:)
Maar wat moeten we nu? Is er iemand die het WEL met komma's doet? Of doet niemand dat?
Waarom zou je uberhaupt echo gebruiken? :P
hoe bedoel je?
Niek s op 30/11/2010 13:30:02:
Waarom zou je uberhaupt echo gebruiken? :P
Als php://stdout ook kan ;)
iedereen gebruikt toch ECHO om de inhoud van een variabele op beeld te tonen??!
En dit zijn de resultaten:
Punten het snelst: 395
Komma's het snelst: 606
De komma's zijn dus over het algemeen sneller dat de punten.
Gewijzigd op 30/11/2010 14:55:54 door Wouter J
395 is sneller toch dan 606???
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
13163:
Quotes..: 0.0071589946746826
Punten..: 0.0075080394744873
Komma...: 0.0060749053955078
Totaal..: 0.020784854888916
85908:
Quotes..: 0.052965879440308
Punten..: 0.061398983001709
Komma...: 0.050459861755371
Totaal..: 0.1648690700531
73996:
Quotes..: 0.041393995285034
Punten..: 0.045967102050781
Komma...: 0.040701150894165
Totaal..: 0.12810397148132
30605:
Quotes..: 0.017194986343384
Punten..: 0.018378019332886
Komma...: 0.016165018081665
Totaal..: 0.051793098449707
LOL! 996981:
Quotes..: 1.0118591785431
Punten..: 0.59965705871582
Komma...: 0.51841187477112
Totaal..: 2.2139141559601
Quotes..: 0.0071589946746826
Punten..: 0.0075080394744873
Komma...: 0.0060749053955078
Totaal..: 0.020784854888916
85908:
Quotes..: 0.052965879440308
Punten..: 0.061398983001709
Komma...: 0.050459861755371
Totaal..: 0.1648690700531
73996:
Quotes..: 0.041393995285034
Punten..: 0.045967102050781
Komma...: 0.040701150894165
Totaal..: 0.12810397148132
30605:
Quotes..: 0.017194986343384
Punten..: 0.018378019332886
Komma...: 0.016165018081665
Totaal..: 0.051793098449707
LOL! 996981:
Quotes..: 1.0118591785431
Punten..: 0.59965705871582
Komma...: 0.51841187477112
Totaal..: 2.2139141559601
conclusie, bij bijna een miljoen regels, zit er pas een halve seconde tussen. (maar niet eens merkbaar aangezien je browser eerst die regels moet verwerken, en dan pas kan gaan renderen..)
Gewijzigd op 30/11/2010 14:33:15 door Chris -
Ozzie PHP op 30/11/2010 14:21:37:
395 is sneller toch dan 606???
Die getallen zijn het aantal keer dat de komma sneller was dan de punt en omgekeerd.
Maar wat is nu de juiste manier dan? Kom ik weer terug op mijn eerdere opmerking: "Echter, je echoot iets, en daarna heb je de string niet meer nodig, dus waarom zou je die aan elkaar plakken? In principe doe je iets wat niet nodig is.".
Wouter J op 30/11/2010 14:42:15:
Die getallen zijn het aantal keer dat de komma sneller was dan de punt en omgekeerd.
Ozzie PHP op 30/11/2010 14:21:37:
395 is sneller toch dan 606???
Die getallen zijn het aantal keer dat de komma sneller was dan de punt en omgekeerd.
Hoe kom jij dan aan die resultaten? Mijn resultaten zijn namelijk net even iets anders.. (plaats anders een script oid?)
Zie nu dat ik de cijfers precies verkeerd plaatste. Komma's zijn dus inderdaad sneller dan punten.
En script plaats ik maar niet, is echt een rommeltje.
Resultaten bij herhaling van de proef:
Komma's 586 Punten: 632
Komma's 832 Punten: 749
Komma's 938 Punten: 819
Komma's 983 Punten: 873
Komma's 997 Punten: 907
Komma's 1001 Punten: 935
Komma's 1001 Punten: 953
Komma's 1001 Punten: 971
Komma's 1001 Punten: 983
Komma's 1001 Punten: 987
Gewijzigd op 30/11/2010 15:12:28 door Wouter J
Hmmmm... :s