Re: Re: optimilize web page loading
| From: | Peter Ford | Date: | Thu, 27 Mar 2008 16:41:01 +0000 |
| Subject: | Re: Re: optimilize web page loading | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-272180@lists.php.net to get a copy of this message | ||
Jason Pruim wrote:
On Mar 27, 2008, at 11:05 AM, Shawn McKenzie wrote:There was a discussion about this a few weeks ago - ISTR that the compiler does wierd things with double-quoted strings, something like tokenising the words and checking each bit for lurking variables. So in fact echo "$foo bar bar bar bar $foo $foo"; is slowest (because there *are* variables to interpolate, echo $foo . " bar bar bar bar ".$foo." ".$foo; is a bit faster, but the double-quoted bits cause some slow-down, echo $foo . ' bar bar bar bar '.$foo.' '.$foo; is a bit faster again - the single quoted bits pass through without further inspection, and finally echo $foo,' bar bar bar bar ',$foo,' ',$foo; is actually the fastest, because the strings are not concatenated before output. I think that was the overall summary - I can't locate the original post to verify (or attribute) but it's in this list somewhere... Cheers -- Peter Ford phone: 01580 893333 Developer fax: 01580 893399 Justcroft International Ltd., Staplehurst, KentAl wrote:I'm coming in late to this thread so sorry if I missed this :) How much of a difference would it make if you have something like this: echo "$foo bar bar bar bar $foo $foo"; verses: echo $foo . "bar bar bar bar" . $foo $foo; ?In other words... You have a large application which is most likely to be faster? :)Good point. I usually do use the single quotes, just happened to key doubles for the email. Actually, it's good idea for all variable assignments. Philip Thompson wrote:Yes and if your script takes .00000000000000000000000000000002 seconds to run using double quotes it will only take .000000000000000000000000000000019 seconds with single (depending upon how many quotes you have of course) :-)On Mar 26, 2008, at 6:28 PM, Al wrote:Depends on the server and it's load. I've strung together some rather large html strings and they aways take far less time than the transient time on the internet. I used to use OB extensively until one day I took the time to measure the difference. I don't recall the numbers; but, I do recall it was not worth the slight extra trouble to use OB. Now, I simple assemble by html strings with $report .= "foo"; And then echo $report at the end. It also makes the code very easy to read and follow.You might as well take it a step further. Change the above to: $report .= 'foo'; This way for literal strings, the PHP parser doesn't have to evaluate this string to determine if anything needs to be translated (e.g., $report .= "I like to $foo"). A minimal speedup, but nonetheless... ~PhilipAndrew Ballard wrote:On Wed, Mar 26, 2008 at 1:18 PM, Al <news@ridersite.org> wrote:You are really asking an HTML question, if you think about it. At the PHP level, either use output buffering or assemble all your html string as a variable and then echo it. The goal is to compress the string into the minimum number of packets.Yes, but do so smartly. Excessive string concatenation can slow things down as well. On most pages you probably won't notice much difference, but I have seen instances where the difference was painfully obvious. Andrew