@Dinoboff you are using the ob_get_contents, ob_end_flush and so on commands, they are *really* slow
try something likeif(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) { /* header stuff? don't know right now, sry */ echo gzencode($content); } else echo $content; you can use microtime(true); to compare times. The function returns milliseconds (as float), so run it before and after the block, substract the times and compare to gzencode
mh thats far far less than I expected, sorry for the extra work
but the ob_ functions actually being faster is just impossible. I guess both are just too fast for a good measurement ( < 0,5 ms )
the extra headers shouldn't be neccassary anymore? either way they go before echo ;)
@stash nice one, but I'm not quite sure what your 3rd columt is?
I am still stunned by the speed bump due to this add-on. Why isn't whatever it does on by default? Even Mac Firefox is actually fast with this! As AlexL asks, is this a server thing or a PHP setting?
Like dan said, the server can compress your output. But on a share hosting you won't have access to these settings and it will be turned off. For this addon, it's php who compress the output. You need to have the zlib php extension installed. The addon check it is installed.
oh yeah sry, I was thinking of css and js files.
if you have php set to compress output (php.ini) you do NOT need this addon
[ @Dinoboff maybe add a check? so output won't be compressed twice ]
css and js files are not compressed by this addon. there is still quite some optimization possible
I forgot php can compress by default... I will add a check. You should always check your pages are not already encoded before installing the add-on: eg, use the Web Developer toolbar and check for "Content-Encoding: gzip" for the response header (Web Developer > Information > View response header) and the pages size (Web Developer > Information > View Document Size - check if it gives you a compressed size and an uncompressed size for the document).
There is also these problem with some versions of IE:
It doesn't compress the pages for IE5.5 and 6.0 (except sp2), using preg_match('/MSIE (5\.5|6\.0(?!.*\bSV1\b))/i', $_SERVER['HTTP_USER_AGENT']) to sniff them.
IE5.5sp2, IE6 and IEsp1 (it has nothing to do with windows service pack, my mistake, there is no ie6sp2) will always cache gzip content and IE6sp1 might lose the first 2,048 bytes of gzip content on some configuration (e.g.: if Real Player Basic is installed). There are patches for these bugs but you can't know if they are installed or not.
With the last update, the pages won't compressed for any version of ie5.5 and ie6.
Comments
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •edit: No issues so far, think the pages are loading faster.
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •How does this work?
Absolutely incredible, it's like I've doubled the speed of my broadband connection!
I hope it's not a coincidence!
Posted: Sunday, 26 August 2007 at 12:56PM
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •you are using the ob_get_contents, ob_end_flush and so on commands, they are *really* slow
try something like
if(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) {/* header stuff? don't know right now, sry */
echo gzencode($content);
} else
echo $content;
you can use microtime(true); to compare times.
The function returns milliseconds (as float), so run it before and after the block, substract the times and compare to gzencode
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •class LowCalVanilla extends Control {
function Render() {
$t1 = microtime(true);
// This is only defined if gunzip extension is installed
if ( defined('FORCE_GZIP')
&& strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false
) {
// Get the content of the page
$content = ob_get_contents();
ob_clean();
echo gzencode($content);
header('Vary: Accept-Encoding');
header('Content-Encoding: gzip');
header('Content-Length: ' . ob_get_length());
$t2 = microtime(true);
$t = $t2 - $t1;
header('Time: ' . $t);
}
}
function LowCalVanilla(&$Context) {
$this->Name = 'LowCalVanilla';
$this->Control($Context);
}
}
And the result is similar.
Update:
New version:
Time=0.000478029251099
Time=0.000461101531982
Time=0.000349044799805
Time=0.000463962554932
Time=0.000473976135254
Previous:
Time=0.000494003295898
Time=0.000475883483887
Time=0.000339984893799
Time=0.000487089157104
Time=0.000330924987793
Server=Apache/2.2.4 (Win32) DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_autoindex_color PHP/5.2.3
Windows vista Intel Core 2 6600 @ 2.40 GHz; 2GB of RAM
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •Why isn't whatever it does on by default?
Even Mac Firefox is actually fast with this!
As AlexL asks, is this a server thing or a PHP setting?
Posted: Thursday, 30 August 2007 at 2:00PM
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •For this addon, it's php who compress the output. You need to have the zlib php extension installed. The addon check it is installed.
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •You should always check your pages are not already encoded before installing the add-on:
eg, use the Web Developer toolbar and check for "Content-Encoding: gzip" for the response header (Web Developer > Information > View response header) and the pages size (Web Developer > Information > View Document Size - check if it gives you a compressed size and an uncompressed size for the document).
There is also these problem with some versions of IE:
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •$_SERVER['HTTP_USER_AGENT']
http://www.zytrax.com/tech/web/browser_ids.htm#msie
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; [...]
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •It seems to work fine, however I get this error with People.
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •Account Picture
Applicant Discovery
Attachments
Audioscrobblerizer
Better BBCode
Blog
Buy A Drink
Category Icons
CategoryRoles
Comment Links
Discussion filters
Discussion Tags
Discussion View Count
FCKAjaxQuote
FCKEditor
FeedPublisher
Forum Statistics
Google Anaytics
Guest Welcome Message
MassMailer
Multi File Upload
New Applicants
Next Unread Discussion
Nuggets
Panel Re-Order
Participated Threads
PreviewBubble
Preview Post
Quick Whisper
RandomQuotes
Role History
Saved Searches
Textile
Thankful People
User Tasks
Vanillazilla
Whisper Notification
Who's online
Windows Links
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •preg_match('/MSIE (5\.5|6\.0(?!.*\bSV1\b))/i', $_SERVER['HTTP_USER_AGENT'])to sniff them.- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •There are patches for these bugs but you can't know if they are installed or not.
With the last update, the pages won't compressed for any version of ie5.5 and ie6.
- Spam
- Abuse
- Troll
0 • Off Topic Insightful Awesome LOL •