MozillaZine

Firefox Tuning

Discussion of features in Mozilla Firefox
BenBasson
Moderator

User avatar
 
Posts: 13661
Joined: February 13th, 2004, 5:49 am
Location: London, UK

Post Posted May 7th, 2004, 6:40 pm

We've PM'd each other, breifly discussing it. When Laszlo has time, he's gonna help me with the math involved, because 1. My understanding is about 1% of his and 2. It's trivial to implement an interface for this, it would be a matter of hours, the hard work is working out different prefs for different configurations and finding a way to make that horribly complex process relatively transparent to people.

d_g

User avatar
 
Posts: 519
Joined: July 24th, 2003, 3:50 pm

Post Posted May 8th, 2004, 7:47 am

OK I've been through the thread and copied and pasted the main settings. They're mostly Laszlo and Cusser's work but if I've mis-credited anything tell me.

Also I'm no expert so if I've ballsed anything up PM me! :)


450Mhz PC/dial-up

Code: Select all
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("nglayout.initialpaint.delay", 750);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);



250MHz/cable

Code: Select all
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 1000000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 1000000);
user_pref("content.maxtextrun", 4095);
user_pref("nglayout.initialpaint.delay", 1000);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);

or

user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("content.maxtextrun", 8191);
user_pref("nglayout.initialpaint.delay", 750);



Fast computer/dial-up

Code: Select all
user_pref("browser.cache.disk_cache_ssl", true);
user_pref("browser.xul.error_pages.enabled", true);
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.maxtextrun", 8191);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 750);
user_pref("plugin.expose_full_path", true);



Fast computer/512 ADSL

Code: Select all
user_pref("browser.cache.disk_cache_ssl", true);
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 750);



Everything really fast!

Code: Select all
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.maxtextrun", 8191);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("nglayout.initialpaint.delay", 500);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.max-persistent-connections-per-proxy", 16);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);


Extra stuff

Network/DNS settings (MonkeeSage):

Code: Select all
user_pref("network.dnsCacheExpiration", 360);
user_pref("network.dnsCacheEntries", 100);
user_pref("network.ftp.idleConnectionTimeout", 60);
user_pref("network.http.keep-alive.timeout", 30);
user_pref("network.http.request.max-start-delay", 5);
user_pref("network.http.connect.timeout", 30);

-explanation on page 4

user_pref("dom.disable_window_status_change", true);
-This setting simply disables status bar changes by web pages, which saves some precious CPU time.

user_pref("ui.submenuDelay", 0);
-Makes bookmarks sub-menus open quicker

Cusser's design for an extension is on page 8

Lost User 23429
 
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post Posted May 8th, 2004, 10:08 pm

I tried doing the changes in about:config but was unable to search for any content.* entries. Are the content.* entries specifically for Windows? or some version for Firefox?

But anyway, with these setting I haven't got any performance improvements(didn't use the content.* entries). The scragz's test page gave me a load time of about 6.4 (units?? seconds, I suppose).

Could someone solve my mystry of the content.* entries in about:config?

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040506 Firefox/0.8

BenBasson
Moderator

User avatar
 
Posts: 13661
Joined: February 13th, 2004, 5:49 am
Location: London, UK

Post Posted May 9th, 2004, 2:18 am

Not everything exists by default in about:config, right click > New > Integer (for numbers) or Boolean (true/false).

Morpurgo.tk™

User avatar
 
Posts: 85
Joined: March 27th, 2004, 8:15 am
Location: The Netherlands

Post Posted May 12th, 2004, 1:26 pm

I hope these setings will end up in a new build as a standard improvement :)
Morpurgo.tk, be there or be square
Skype me! callto://E003102025/
Skype? whats that

BenBasson
Moderator

User avatar
 
Posts: 13661
Joined: February 13th, 2004, 5:49 am
Location: London, UK

Post Posted May 12th, 2004, 2:26 pm

I hope these setings will end up in a new build as a standard improvement

I don't think that's really possible, since these are catered to different computers and different connections.

alex-the-cat

User avatar
 
Posts: 270
Joined: March 12th, 2004, 11:34 am
Location: Chicago, IL, USA

Post Posted May 12th, 2004, 7:29 pm

useful info is deserved to be seen.
Please Fold! Rage3D is a nice place to start

sasquatch
 
Posts: 6022
Joined: November 25th, 2003, 8:56 am

Post Posted May 13th, 2004, 8:42 am

Cusser wrote:
I hope these setings will end up in a new build as a standard improvement

I don't think that's really possible, since these are catered to different computers and different connections.


Check the "unofficial" builds. I think moox's has some speed improvements on top of being optimized.

alex-the-cat

User avatar
 
Posts: 270
Joined: March 12th, 2004, 11:34 am
Location: Chicago, IL, USA

Post Posted May 18th, 2004, 12:19 pm

has any default value been changed lately?
Please Fold! Rage3D is a nice place to start

laszlo

User avatar
 
Posts: 5183
Joined: November 4th, 2002, 6:13 pm
Location: .de

Post Posted May 18th, 2004, 3:25 pm

Not that I knew, at least none of the content sink settings. Do you have a specific one in mind?
"I'll be dead after I die. I was dead before I was born. Life is a break from death." - Hlynur, 101 Reykjavík

Chris Wood

User avatar
 
Posts: 33
Joined: May 20th, 2004, 3:44 pm
Location: New Zealand

Post Posted May 20th, 2004, 7:31 pm

Cusser wrote:Put the following at the end of the shortcut command line:
/prefetch:1

What does that do?

Chris Wood

User avatar
 
Posts: 33
Joined: May 20th, 2004, 3:44 pm
Location: New Zealand

Post Posted May 20th, 2004, 7:34 pm

laszlo wrote:
MonkeeSage wrote:network.dnsCacheExpiration: seconds
network.dnsCacheEntries: integer
nsDNSService2.cpp
-
network.ftp.idleConnectionTimeout: seconds
default: 5 minutes (5 * 60)
nsFtpProtocolHandler.cpp
-
network.http.keep-alive.timeout: seconds
network.http.request.max-start-delay: seconds
network.http.connect.timeout: seconds
nsHttpHandler.cpp

Thanks for this. That's one of the purposes of this thread: contributing additional settings, including defaults and pointers to code/documentation, so go on if you know additional ones. ;)

Laszlo, could you add these to the initial post?

And also a link to the above post containing specific optimizations?

Sonance
 
Posts: 73
Joined: February 4th, 2004, 7:08 am

Post Posted May 24th, 2004, 6:54 am

What's the general feeling here about some of these configurations possibly overloading servers? Outside of these forums, these sorts of tweaks appear to be frowned upon. The HTTP RFC recommends no more than 2 simultaneous server connections, otherwise the browser isn't conforming to HTTP standards. On that basis alone, many of the configurations posted here are practically HTTP rape kits. The client gets the gratification but the server suffers. Many web servers will ignore connections above a certain number and may even possibly blacklist the IP address, believing the request for excessive connections to be a DOS attack.

I've had a quick browse through this thread and haven't seen one single mention of the ramifications of these configurations on server loads. Anyone with more knowledge than I care to comment?

Old Bozz
 
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post Posted May 24th, 2004, 2:16 pm

Sonance wrote:What's the general feeling here about some of these configurations possibly overloading servers? Outside of these forums, these sorts of tweaks appear to be frowned upon. The HTTP RFC recommends no more than 2 simultaneous server connections, otherwise the browser isn't conforming to HTTP standards. On that basis alone, many of the configurations posted here are practically HTTP rape kits. The client gets the gratification but the server suffers. Many web servers will ignore connections above a certain number and may even possibly blacklist the IP address, believing the request for excessive connections to be a DOS attack.

I've had a quick browse through this thread and haven't seen one single mention of the ramifications of these configurations on server loads. Anyone with more knowledge than I care to comment?

I'm glad you brought this up. I was in another forum the other day when the settings below were recommended. I'm curious about the same thing. Although these settings make FX really fly on DSL, I would change them to respect standards.

Current:

user_pref("network.http.max-connections", 128);
user_pref("network.http.max-connections-per-server", 48);
user_pref("network.http.max-persistent-connections-per-proxy", 24);
user_pref("network.http.max-persistent-connections-per-server", 12);

Previous:

user_pref("network.http.max-connections", 64);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);

Remainder of prefs:

user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.maxtextrun", 8191);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 96);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 750);

BenBasson
Moderator

User avatar
 
Posts: 13661
Joined: February 13th, 2004, 5:49 am
Location: London, UK

Post Posted May 24th, 2004, 4:11 pm

Chris Wood wrote:
Cusser wrote:Put the following at the end of the shortcut command line:
/prefetch:1

What does that do?

On Windows XP (and maybe NT), it allows for the pre-loading of Firefox.exe, which should result in faster startup times.

Return to Firefox Features


Who is online

Users browsing this forum: No registered users and 0 guests