Mozilla's developers have announced plans to add application multi-threading to Firefox over the next two years, a feature already partially enabled in its main rivals, IE8 and Google Chrome.
As well as allowing the software to take advantage of multi-core microprocessors to boost responsiveness, the enhancement would also improve browser stability, the company said in a news blog on the subject.
The unnamed project will happen in several phases, with the phase one 'bootstrap' due to complete by the middle of this July. Further phases will add and debug more complex elements of the new browser, with phase two due to complete by November.
No timescale is given for the phases beyond that point in time, which suggests that multi-threading Firefox could turn out to be a project that takes well in 2010 to even near completion.
The goal is to end up with a browser capable of running each tab as an independent process, which would stop a hang in one from crashing the whole program, as would currently be the case. “Security sandboxing will be covered in a later phase,” notes the blog.
Other uncertainties include whether Mozilla will start using the open source networking stack taken from Chromium – also used by Google's Chrome browser – in place of Mozilla's own Necko.
“There have been mutterings about taking the chromium network stack wholesale (replacing necko, basically). This may or may not be the fastest path to success: it really depends on how hard it is to map the APIs together and how much we're willing to change callers versus re-implementing the XPCOM API on top of the chromium stack needs discussion and a decision within a month or so. If we take chromium networking, we should probably do it on Mozilla-central in parallel with phase I, says a wry note by the project developers.
Mozilla's problem is that its main rivals Internet Explorer 8, and Google's Chrome, are ahead of it in the multi-threading stakes, both of which implemented tab threading.
As some developers have pointed out, this architecture can, in certain circumstances, be less efficient when working on less capable processors. Quad core processors, for instance, will be the exception rather than the rule for at least another year.