Which is faster? (With faster I mean the one that executes in less time)
Hi <?=$username?> !!!
or
<?echo "Hi $username !!!"?>
Ofcourse I had to make an empirical test, to know for sure what method was the fastest, So I hacked up these two (in functionality) identical code-snippets.
The "echo-method"
<?$username="test";$time_start = microtime(true);
for($i=0;$i<1000000;$i++){?><?echo "Hi $i $username !!!"?><?}
$time_end = microtime(true);
?><?=($time_end - $time_start)?>
The "inline-method"
<?$username="test";$time_start = microtime(true);
for($i=0;$i<1000000;$i++){?>Hi <?=$i?> <?=$username?> !!!<?}
$time_end = microtime(true);
?><?=($time_end - $time_start)?>
The results
I have tested these two php-snittets in two single php-files on my test-server and the results are conclusive. Not ONCE did the "echo-method" prove to be faster than the inline-method. In my particular test-case, the "inline-method" was around 0.5 seconds faster than the "echo-method"
Conclusion
So what is the conclusion of this then? Well, in a normal php-development case you won't have to care about these two differences because in my test-code I did 1 miljon repeats of the code to get a difference of only half a second between the two, so this is only a test of the principle.
What I do know is that the "inline-method" is a much more appreciated way to create dynamic content, at least by almost any web-designer I have talked to about this.
So now when it proved to be slightly faster than the "echo-method", I see no reason to use the "echo-method" any longer generally speaking, there will always be exceptions to this ofcourse.
What do you think? Feel free to use the code-snippets above to test them on your own server.
