
64-bit Firefox for Windows should be prioritized, not suspended - dsr12
http://arstechnica.com/information-technology/2012/11/64-bit-firefox-for-windows-should-be-prioritized-not-suspended/
======
joenathan
I think Mozilla is misapplying its development time on stuff like social
integration [1] and Firefox OS [2]. I would say these types of projects would
be fine if they weren't ignoring their mainstay, by first canceling the
process per tab project Electrolysis and now abandoning 64bit builds on
Windows says to me that Mozilla seriously has its priorities screwed up.

The web browser has become the most important app on the PC, with more and
more web pages demanding more and more resources, I really wish Mozilla would
refocus on making the best web browser available.

A few weeks ago I tried to delete some of my history from Firefox, I opened
the history window, hit Shift and selected about 6 months of history and hit
delete, and it took Firefox about an hour to delete the history all the while
the UI going from responding to not responding back and forth. Firefox has
some serious performance problems.

[1]. [https://blog.mozilla.org/blog/2012/11/20/firefox-
introduces-...](https://blog.mozilla.org/blog/2012/11/20/firefox-introduces-
new-social-api-and-previews-integration-with-facebook/)

[2]. <http://www.mozilla.org/en-US/firefoxos/>

~~~
jonchang
Developers are not fungible. The social integration work was mostly HTML5 and
JavaScript, and Firefox OS is partly kernel and OS work (B2G), and partly
HTML5/JavaScript work (Gaia). 64-bit builds on Windows requires Windows
developers, who are focusing on the Metro UI.

EDIT: I'm responding to your edit here:

> A few weeks ago I tried to delete some of my history from Firefox, I opened
> the history window, hit Shift and selected about 6 months of history and hit
> delete, and it took Firefox about an hour to delete the history all the
> while the UI going from responding to not responding back and forth.

I would imagine the Firefox developers spend their time optimizing the parts
of their browser that users would most likely use. I suspect that they are not
terribly worried about an action that users would take (at most) once every
six months.

EDIT2: I guess I'll respond to this one too:

> The web browser has become the most important app on the PC, with more and
> more web pages demanding more and more resources, I really wish Mozilla
> would refocus on making the best web browser available.

Making the best web browser is not Mozilla's goal. Their goal is to "promote
openness, innovation & opportunity on the Web" [1]. Integrating social
features into the browser is part of that, in the sense that users will be
able to control their social presence from their browser, rather than being
locked-in to a specific social provider's web site. Mozilla's actions are not
inconsistent with their stated mission. (Whether you agree with that mission
is another argument entirely).

[1]: <https://www.mozilla.org/en-US/mission/>

~~~
joenathan
According to W3Schools[1] ~84% of web traffic comes from Windows users. In
light of that wouldn't it make more sense to hire more Windows developers? If
cuts have to be made it doesn't seem reasonable to make cuts to your main
source of revenue.

edit: In response to your edit:

>Making the best web browser is not Mozilla's goal. Their goal is to "promote
openness, innovation & opportunity on the Web"

If Mozilla's goal isn't to make the best web browser then no one will end up
using their browser, and if no one uses their browser then they wont be able
to "promote openness, innovation & opportunity on the Web", no market share =
no voice. During the days of IE6's dominance Mozilla got its large user base
because it _was_ the best browser available. Mozilla is in danger of
hemorrhaging users if it continues making these sort of decisions.

Us "hackers" got Mozilla its user base, we started using it first and
convinced our family, friends, workmates/workplaces to switch. If the power
users leave, the rest will be soon to follow.

[1]<http://www.w3schools.com/browsers/browsers_os.asp>

~~~
iamthad
This is off-topic, but you should know that there are a number of significant
issues with W3Schools that prevent it from being a reputable source:
<http://w3fools.com/>

~~~
joenathan
Thanks, I didn't know W3Schools wasn't trust worthy.

------
zurn
Pretending this was a political decision (vs just being what the Windows
hackers decided to use their time on)...

Let's tally the arguments so far for prioritizing 64-bit Windows development.

Pro: The Ars article lists some Win64-specific security-bug mitigation
features, unclear how significant these are.

Con: The Windows PC is a declining platform, and the current 32-bit product
covers all of the platform currently. There's probably a shortage open source
developers working on Windows-specifics. 32-bit is much more memory-efficient.
64-bit breaks compatibility with plugins. Address space shortage will likely
be covered by the tab unloading feature mentioned in the article, before it
becomes an issue in practice.

Overall sounds to me like You Ain't Gonna Need It.

~~~
pjmlp
> The Windows PC is a declining platform...

That must be the reason I get am getting more .NET contracts than Java ones I
suppose.

~~~
rbanffy
> That must be the reason I get am getting more .NET contracts than Java ones
> I suppose.

The kind of contracts you have is entirely dependent on your skill set and
your network. The last time I was paid to write C# code was 8 years ago.

You need cooler friends ;-)

~~~
pjmlp
Lets put this way then.

Our consulting company does mostly Fortune 500 and DAX 30 customers.

After 5 years of almost only Java projects, most of the new contracts are
coming from .NET land.

Better explained?

~~~
rbanffy
I work for several very large telcos and I have been, so far, able to avoid
both .NET and Java. Last time I wrote C# code was because Microsoft (then a
client) demanded we run our application on a Windows server. I wrote a proxy
that sat in front of the application (which ran on a Linux machine).

Again, you need cooler friends.

~~~
pjmlp
> Again, you need cooler friends.

The ones I have keep my account manager very happy.

------
DigitalSea
With moves like this is it any wonder why Chrome basically hit the ground
running with market share as soon as it hit a stable release? I got tired of
the Mozilla bureaucracy a long time ago when they failed to acknowledge there
were some serious memory leak issues with addons and the browser itself slowly
consuming hundreds and eventually gigs of memory the longer it was left open,
it wasn't until later builds (this year) they released a version that fixed
this by sand-boxing the addons or something to that effect.

I still remember the time Mozilla developers were fighting about removing
front-facing version numbers from the browser, it's also at that point I
realised there are some issues with the Firefox development team all while
Chrome and even Opera gained more market share.

Remember where your loyalties lay, Mozilla. I think they're starting to spread
themselves too thin with wasted development of a Firefox OS and social
integration. Halting 64 bit versions of Firefox for Windows for the time being
might seem like a small, trivial thing, but it's not and I think it's a bad
move.

~~~
masklinn
> With moves like this [...] Chrome

You mean the Chrome which can't even be arsed to provide 64b builds on
platforms where it's _easy_ (Linux) or _trivial_ (OSX), let alone _hard_
(Windows) ones?

~~~
lvillani
> _You mean the Chrome which can't even be arsed to provide 64b builds on
> platforms where it's easy (Linux) [...]_
    
    
      $ file /opt/google/chrome/chrome{,-sandbox}                                                                                 [10:47:39]
      /opt/google/chrome/chrome:         ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0x2df3f5f435cb5747ea72be922c428b9a0017cb50, stripped
      /opt/google/chrome/chrome-sandbox: setuid ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0xd02cf32515390b01af9aa5b1a53cd1dfb4fb7a35, stripped

------
cpeterso
For comparison, Chrome is 32-bit on both Windows and Mac OS X. Chrome's multi-
process architecture means memory limits are less critical, but Chrome doesn't
benefit from any of the 64-bit security features mentioned in the Ars article.
(Firefox is 64-bit on Mac OS X and Linux.)

------
ck2
Suspended != Abandoned

Sometimes it saves a huge amount of effort to wait for things to mature
otherwise before proceeding.

If your firefox is using more than 4gb of memory ( >2gb via LARGEADDRESSAWARE)
you have other problems, and 32bit code is almost always faster than 64bit
with current CPUs.

~~~
CamperBob2
No, 32-bit code is not faster with current CPUs. x86 apps are more register-
starved than they are cache-bound. I don't know who started this urban myth
about x64 applications somehow being slower than equivalent ones running under
WoW64, but it needs to either be backed up with specifics -- what apps are
slower, and why? -- or stop being propagated.

(Source: extensive firsthand experience with performance-sensitive C/C++
development for Windows.)

~~~
kevingadd
64-bit Firefox is slower for some workloads because the JavaScript heap is
dramatically larger (Due to the doubled pointer size). As it happens, large
portions of Firefox are written in JavaScript...

I'm sure there are some use cases where it's faster, of course, but having
your heap be 50-100% larger (yes, really that much, I've measured it) is
pretty hard to overcome just by adding a few extra registers.

I expect this is why Java has support for using 32-bit object pointers in
64-bit mode. Features like that would probably help Firefox tremendously.

~~~
stephencanon
Heap growth moving from 32b to 64b is rarely on the order of 50-100% larger.
20-30% is much more common (100% would imply that your application stores no
actual data, only pointers and sizes; I know that pointer-chasing is very much
in style these days, but that's ridiculous. Even the 1:1 ratio implied by a
50% figure is an extreme outlier).

Further, raw heap size typically has marginal impact on performance; locality
of reference and size of working set are far more important. It doesn't matter
if your raw heap usage grows by 30% if the majority of your accesses are to
the same working set of data either way.

At the same time, a well-crafted interpreter or JIT (which people seem to
think is important in browsers) benefits heavily from increasing the size of
the register set. Even in more typical use cases, even without aggressive
optimization, speedups of 10-20% are common in moving from x86 to x86_64.

~~~
kevingadd
You can tell me what your think the behavior is actually like, but I can point
you to a HTML5 game that uses 50-100% more JS heap and runs slower in 64-bit
builds of Firefox :)

You say a larger heap has marginal impact on performance and that locality and
working set size are what matter. If larger pointers make the heap bigger,
then the working set is going to grow as well, and locality will be worse
because the larger pointers mean less objects fit into a cache line.

~~~
stephencanon
I'm not saying 50-100% growth doesn't happen, I'm saying that it's an outlier
(based on complete system data from multiple platforms).

If it's really a common issue with firefox's JS implementation for some
reason, there's nothing to stop them from using a compressed pointer scheme
for JS that uses 32b pointers and a known offset; it's a common technique. You
give up one register to keep the offset around, but you've still netted 7
registers from the switch to the 64b ISA, and adding the offset is either a
simple OR or can be folded into an LEA (nearly free or free).

Let's not confuse "they haven't had a chance to tune the 64b JS engine, and
the 32b one has been worked on for years" with "x86_64 is slower than x86_32".

~~~
nuje
Is your "complete system data from multiple platforms" from JS apps?

Let's also not confuse "a sufficiently smart compiler..." with real-world
observed performance :)

BTW data layout transformations like compressed fields would also be useful on
32-bit. The vast majority of object graphs would be happy with 16 or even
8-bit identifiers, not to mention JS numbers which are all 64-bit floats even
on 32-bit platforms.

~~~
Dylan16807
Let's also not confuse differences caused by 32 bit engines having more
developers with differences caused by the platform.

------
comex
As the article mentions, the same security arguments apply to Chrome for
Windows and OS X - especially on OS X, where 32-bit applications really get
short shrift of hardening measures. Right now on my Mac, there's some argument
to be made that Safari is the most secure browser, simply because it has
sandboxing (unlike Firefox) and is 64-bit (unlike Chrome), despite Chrome's
healthy obsession with sandboxing and good security record.

------
lucerosama
Has anyone tried WaterFox? <http://www.waterfoxproject.org/>

~~~
yoshamano
In light of this recent development that's what I just switched to.

I was using the 64-bit builds over at
<http://wiki.mozilla-x86-64.com/Firefox:Download> when Adobe first kicked out
a 64-bit beta of Flash. Later I switched to the official Nightly builds when
they went 64-bit.

Unfortunately I'm not able to offer much insight into if it was better. Aside
from a couple of short strings of bad builds that caused crashes I never had
any issues with them.

------
webwanderings
Not too long ago, there were hardly any 64-bit hardware in the market for
average users, until they flooded the market and now every other Ma and Pa
owns a Windows running on 64-bit.

~~~
rbanffy
While Windows certainly did arrive late to the 64-bit party (not entirely true
- NT ran on Alphas), 32-bit processors (and limited address space) are a
distant memory to most Unix (and Linux) users.

~~~
takluyver
I still run 32-bit Linux on both computers, despite having 64 bit processors.
One has 2GB of RAM, the other 3GB, so I see no reason to switch. Computers
bought 3 years ago are hardly 'a distant memory'.

------
mwsherman
Any Mozilla devs wish to weigh in? The article sounds reasonable but is
speculative without a first-party response.

~~~
jonchang
I believe the idea is that there aren't enough Windows people to work on both
64-bit and the Metro UI for Firefox. Metro is a priority, so 64-bit is getting
mothballed for the near future.

[1]
[https://groups.google.com/d/msg/mozilla.dev.apps.firefox/jpX...](https://groups.google.com/d/msg/mozilla.dev.apps.firefox/jpX_z5zieD4/dUp-
FnItf8cJ)

~~~
beedogs
That's kind of a shame, because I don't think Metro will be sticking around
for very long.

~~~
dietrichepp
I'm not sure it won't stick around. People said that about Aqua (OS X) and the
Gnome 3 shell.

~~~
bad_user
MFC, Windows Forms, WPF, Silverlight ... all of them still around, but all of
them being obsolete by whatever Microsoft's du-jour UI framework happens to
be.

Gnome 3 is not the same thing, as Gnome 3 is just a window manager, based on
the same X, the same APIs and the same GTK, just as Unity and Gnome 2.

------
chj
Not surprised at all, and IMO a good move. Mozilla needs to focus on its
Firefox OS development. By the way, MS doesn't want 3rd party browser on its
Windows RT, that could be a very discouraging factor.

------
ubershmekel
Am I the only one who can't believe firefox updates itself and add-ons when it
starts?

I just wanted to check something on the internet and now is when you decide to
stop and delay the user?

~~~
toyg
The opposite is also true: "I just wanted to shut down and go home, and now is
when you decide to stop and delay the user?"

This is an old problem. Chrome solved it the right way by stepping out of the
startup/shutdown dichotomy and doing everything in background. Just one of the
many areas where Google ran circles around Mozilla (with the benefit of moving
from a clear slate, and probably also of staying away from the Gecko
clusterf*ck).

------
jorisw
Firefox needs to grow up, or be suspended altogether. IMHO, its horribly
behind. Technically behind on WebKit, behind usability wise on almost any
browser.

Yesterday I ran into a 5 year old bug in Firefox
(<https://bugzilla.mozilla.org/show_bug.cgi?id=405761>) that required me to
write Firefox-specific JavaScript workarounds. I used to accept that from IE,
but from Firefox, never.

------
blablabla123
That's what I call irony... So it seems that Internet Explorer will be soon,
at least on Windows, (again) the technological most advanced browser.
Microsoft did their homework.

------
gsnedders
IE10 and Opera 12 are the only two browsers shipping 64-bit Windows binaries
today in preference to 32-bit: take from that what you will.

------
lazyjones
As long as Mozilla is 95% or so dependent on funding by Google, there's a
conflict of interest present that will very likely not lead to Mozilla's
Firefox being a competitive browser. If you think otherwise, you're a hopeless
romantic...

As a conclusion, it is not surprising at all that Mozilla is focusing on
developing products that do not compete with Google's browsers and other
software.

~~~
freehunter
You seem to believe that Google cares about Chrome more than their Firefox
contract. I don't see this being likely. Chrome makes Google no money besides
having Google as the default search. Firefox makes Google money in exactly the
same way. Firefox is just as important to Google's revenue as Chrome is.

All Google needs is search results to show advertisements on and a browser
capable of running their applications. Both Firefox and Chrome meet this
requirement.

~~~
lazyjones
> Chrome makes Google no money besides having Google as the default search.
> Firefox makes Google money in exactly the same way. Firefox is just as
> important to Google's revenue as Chrome is.

You forget that Google pays Mozilla a lot of money for something they can get
for free every time a Chrome installation replaces a Firefox installation. So
the potential savings for Google is (currently) $300M/year once they have
killed off Firefox completely.

------
Allower
Or maybe you could stop using windows since its a substandard OS with an
embarrassing new release.

