The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Start-up time: Firefox vs IE

I notice that Firefox 2.0 takes considerably longer to cold start compared to IE 6.0 (5s vs 1 s, XP2). Googled links indicate that portions of IE are loaded along with the OS since IE doubles as the filesystem explorer. Is there any way to load Firefox dll's or whatever during boot time? Can such loading be performed for any application?
230 Volts
Friday, March 23, 2007
 
 
How about just load Firefox at boot time?
Tony
Friday, March 23, 2007
 
 
Why bother?  You're talking about FOUR SECONDS here.  If you're important enough that you can't possibly wait four seconds once a day, maybe you should employ someone to turn your computer on and load Firefox for you.
Iago
Saturday, March 24, 2007
 
 
From a 'Design of Software' perspective, I'm interested in knowing how Firefox can be made to cold start as fast as IE.

If someone is OK with their V-8 car starting only on two cylinders, I don't have a problem with that.
230 Volts
Saturday, March 24, 2007
 
 
"Why bother?  You're talking about FOUR SECONDS here"

Hey, don't knock the saving! I can have sex in that time!
QuickDraw McGraw
Saturday, March 24, 2007
 
 
"Steve was upset that the Mac took too long to boot up when you first turned it on so he tried motivating Larry Kenyon by telling him well you know how many millions of people are going to buy this machine - it's going to be millions of people and let's imagine that you can make it boot five seconds faster well that's five seconds times a million every day that's fifty lifetimes, if you can shave five seconds off that you're saving fifty lives. And so it was a nice way of thinking about it, and we did get it to go faster."

Andy Hertzfeld
Triumph of the Nerds
MT Heart
Saturday, March 24, 2007
 
 
Firefox 2.0 seems to start significantly faster in both Linux and Windows even with all the extensions I was using in earlier version.  It still does not load as fast as IE, but I don't mind because Firefox cannot be integrated into the operating system which is fine with me because the problems of integrating applications into the operating system have become increasingly recognized.
CodeClarity
Saturday, March 24, 2007
 
 
Maybe this idea will not work, but try to make some application which will read bytes of some firefox files at startup. The idea behind this is that slow startup can be caused by IO, so if you "pre-read" some data upfront, you have pretty good chance these bytes will get cached by windows and firefox should boot-up faster.
lubos
Saturday, March 24, 2007
 
 
+lubos

Microsoft Office used to have an app that they put in the Startup group that loaded the Office DLLs into memory, and then freed them.  This got them pre-loaded into the in memory disk cache, and then when you really loaded Office (assuming it was soon enough that the stuff was still in cache), Office started really fast.

Does Firefox have some sort of command-line params to load a page and then automatically shutdown, or something like that??
Doug
Sunday, March 25, 2007
 
 
MT Heart, that's a weird coincidence, although I have not read the book I have always tried to drive myself in my capacity in work related with highly scalable systems with similar logic.

I think a lot of folks working in highly-scaled solutions understand their responsibility and how every little bit polish helps in a substantial way.

For me, I often say to myself, "Everything I do--every little polish I add--is ultimately going to nudge our company towards using N medium (whatever N is) to connecting consumers with a more human-face--the RIGHT human face--someone who can exchange on-targeted information. The day of mass-mailing; impersonal websites; wastes of the traditional presses are numbered.
Every one of these little seconds saved are multiplied by millions--and adds up to work-lives!!!"
Li-fan Chen Send private email
Sunday, March 25, 2007
 
 
you have to weigh potential seconds saved vs. the possible weeks/months lost in delaying the product release because of focusing on optimization.  depends on the product and the market of course.
anon
Sunday, March 25, 2007
 
 
Firefox is written in Javascript.  It can't be as fast as a native app like IE, all other things being equal.

If speed is important and you don't like IE, use Opera.
Jeff Zanooda Send private email
Monday, March 26, 2007
 
 
>Firefox is written in Javascript

Would be funny on 1st April...
el
Monday, March 26, 2007
 
 
el, today's March 26th.  The GUI of all Mozilla's apps is written in XUL, XBL, and Javascript.
Jeff Zanooda Send private email
Monday, March 26, 2007
 
 
You stated Firefox is written in Javascript. Try downloading the source, and after you've compiled the "javascript++" using gcc (or should that be gjs?), tell me again. You can read about building the "javascript++" here:

http://developer.mozilla.org/en/docs/Mozilla_Build_FAQ
el
Tuesday, March 27, 2007
 
 
Of course some parts of Mozilla are written in C++.  But there are 1,147 Javascript files in Firefox source code tree (I just checked).  The difference in start-up speed that OP asked about in my opinion is primarily due to the overhead of XUL and Javascript.

Not that there's anything wrong with that, it actually makes porting easier.  But you really can't expect performance and footprint of a native app.
Jeff Zanooda Send private email
Tuesday, March 27, 2007
 
 
Hey, a huge difference comes from the fact IE is in the prefetch cache.  Add a shortcut for Firefox in your windows startup folder and add "/prefetch:1" after the executable.  This should greatly improve your experience.  Also, while you are at it look around for tweaks for loading pages faster.  setting the network.http.pipelining and the network.http.pipelining.maxrequests in the about:config greatly improved my surfing speed....
IndustrialG33k
Tuesday, April 03, 2007
 
 
Firefox.exe loads about 20 DLLs. Try writing a background app that loads every single one of those DLLs (using LoadLibrary). I *think* that should be enough - although the bits will still be on disk, not in memory. If you want to extra mile, try enumerating all functions exported by those DLLs (will require some manual parsing of the PE format) and touching (reading) the first byte from each, so that most of the pages will be paged in.
guy off the street
Thursday, April 19, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz