back

by dochtman·11y ago·view on hn ↗
Seems like that has no doubt been an important part of the deal that Yahoo! and Mozilla made. It's an interesting way to get back at Google's heavy promotion of Chrome on their properties.
3 comments
To be perfectly honest, I'm sick of Chrome being pushed down my throat at every turn (including in emacs-w3m; if I'm using emacs-w3m, I'm pretty damn sure I know what Chrome is and I consciously choose not to use it). Yes, I know it's their baby, yes I know it's their SE; but this headline brought a wry smile to my face. Turnabout is fair play :P
I mean, they probably just detect if your user agent is not Chrome. It'd be silly to complicate it further by checking if it's not some relatively obscure thing that's super techy just for the benefit of excluding people that will for sure not use Chrome.
It's literally their job to run relevant advertising.. it's a testament to Google's advertising that we expect better of them.
That's not what literally means anymore
If you want to be pedantic, get it right ;)

It means both.

And i'm sick of bad search results! Frankly, I was a lot more annoyed using Yahoo compared to seeing a Chrome advertizement.
First thing I thought of, nice to have some counter-balance to the endless Chrome flagging by Google.

Although I'd rather have neither.

agreed. the term upgrade also brings with it a connotation of being better. I am doubtful that this is this case.
It depends on what you want.

If you're primarily interested in speedy javascript, process isolation across tabs (so busy tabs don't lock out the UI), or debugging web apps, I think Chrome is better. Chrome in particular seems to have a much smoother JS execution profile; it may be down to GC, or something else, but Chrome generally has fewer frames dropped for any given demo.

On the other hand, Firefox is way more featureful, and has a better library of extensions. I find it very difficult to configure Chrome to be how I like it - with a bookmarks menu, zero history, and tree style tabs - whereas Firefox is much easier to shape to my purposes. The combination of tree-style tabs and tab panorama means I can - and do - keep in excess of a hundred tabs open without any difficulty in management.

So Firefox is my primary browser, and Chrome is strictly for testing and pseudonymous browsing.

Firefox's JS is pretty speedy too though, and it's faster than Chrome for things compiled with emscripten due to asm.js, like every Humble Mozilla Bundle game, anything made with Unity or Unreal Engine, anything using stuff like sql.js or other C libraries, etc.
Benchmarks tell me that Firefox's throughput is better at this point, and I have no reason to doubt it, but I also know from direct experience that variance in performance is far, far higher with Firefox.

I don't think I've ever run any asm.js other than demos.

PS: I just ran Octane 2.0. The SplayLatency test looks like it's designed to test what I'm talking about; I get 25k in Chrome, but only 9k in FF. http://developers.google.com/octane/benchmark#splaylatency

A bunch of people reckon it doesn't matter - see e.g. https://news.ycombinator.com/item?id=8519507 - but I think it does. GC pauses are very noticeable when there are realtime constraints, like animation.

Yet in the other latency test in Octane, MandreelLatency, Firefox does about 50% better than Chrome.

Perceived performance depends on a lot of things, not just JS speed and consistency - also graphics, UI responsiveness, etc. Chrome has had an advantage in some of those areas, but the difference is pretty small at this point, especially if you are on Firefox Nightly.

Here's the problem with SplayLatency.

SplayLatency computes the root-mean-squared allocation time, and your final score is the reciprocal of that, scaled by some constant. Let's call the RMS measurement the "badness"; more badness is worse on this benchmark.

Say you're allocating 1000 objects and object allocation itself takes 0 time so all that's being measured is the GC. You plan to GC them all before your JS runs to completion. You consider two alternate strategies.

One strategy is to perform a GC run every 10 allocations, each of which collects 10 objects. For simplicity, say each GC has 1s of overhead and takes 1s per object collected. So each of your GCs will take 11s. So you will have sqrt((100 * 11^2 + 900 * 0)/1000) = sqrt(12.1) as your "badness" score on the benchmark, and will take 1100s to finish.

Now the second strategy: one GC every 100 allocations. Now each GC takes 101s, and it only takes 1010s to finish. But the splay "badness" score is sqrt((10 * 101^2 + 990 * 0)/1000) = sqrt(102.01).

So per the benchmark the better strategy is the "GC more often" one. But for animations the _second_ strategy is better in this case, because the animations can't run while the JS is running to completion anyway. So as long as both strategies are collecting all the garbage before run-to-completion finishes, the one that's better for animations is the one with higher throughput. But that's the one Splay scores worse.

Back to the real problem we're trying to solve: what hurts animations is a GC strategy that aims for higher throughput by letting garbage pile up across multiple runs to completion and then ends up with a long GC pause at some point. Having a benchmark that penalized that sort of GC strategy would in fact be a good idea. But Splay is not that benchmark. In fact, the optimal GC strategy on Splay is to not GC at all until the benchmark finishes and then do one big GC that takes forever but isn't measured as part of the benchmark time.

Basically, SplayLatency sets up perverse incentives where the simplest ways to do better on the benchmark involve making animation pauses _worse_.

It's also possible to improve the score on SplayLatency by actually improving the throughput of your GC, but that's a lot more work than the other approaches, and just as likely to regress this benchmark if you do it by chunking your GC more within a single run to completion.

The end result is that improvements to this benchmark's score have little to do with reduction of user-visible GC pauses.

You can see some more in-depth discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=958492 but the above basically summarizes what's going on. The fix in that bug ended up just shuffling work around within a single run to completion to placate this benchmark, and the hard part was doing it in a way that didn't regress things too much for actual real-life animation use cases...

Yeah, I think the main benefit of Chrome these days is mainly about UI performance more than anything else. They achieve that extremely well with the process isolation. Firefox is moving in that direction to with their electrolysis project, so it'll be interesting to see where that goes.
I find that Firefox is currently faster for everything except 3D stuff. It may be a driver thing (nvidia on Linux).
I'm personally of the opinion that Chrome has jumped the shark with it's emphasis on perf benchmarking and profiling tools. There's no doubt that Chrome's Dev Tools are superior to anything else out there, but real-world usage has suffered. I've seen instances where certain layouts (eg: position: fixed) cause the visible UI to get out of sync with the DOM, then 'magically' correct itself as soon as you inspect element - no doubt an artifact of over-optimizing repaints. Chrome's Pepper Flash plugin is also considerably less performant than Adobe's plugin, with multiple Chromium tickets spanning over a year. As one of the comments lower down indicates, it's awesome if you're running the latest MBPro with 16G RAM, but should you really need that for a browser? And don't even get me started on Chrome/Windows - have they finally decided to render custom fonts in a way that doesn't look like absolute crap? The Chromium thread on that bug was very insightful as to how the Chrome devs view their user base. Additionally, when it comes to rendering CSS3 effects (gradients, shadows, etc) Chrome really performs poorly compared to Firefox or Safari. Radial gradients esp. suffer from extreme banding, even on Retina displays.
Firefox certainly has a larger library of add-ons and those add-ons are more powerful than ones available from Chrome in terms of customizing the browser. The problem is that once you install all the add-ons you're accustomed to having in Chrome, Firefox slows down enough that it's not even worth it. This was my experience using FirefoxDeveloperEdition for the past month and although I miss Firefox's far superior address bar and customizability, the huge performance hit just wasn't worth it and I switched back to Chrome.
Which add-ons did you have installed?
Chrome started being annoying for me after version 36, but firefox was bad too.

Recently made the switch to Opera and it has been much better than chrome or firefox. Opera is based on webkit, so it renders just like Chrome, has the same web dev features, and you can use almost all of chromes extensions in Opera. On top of that, I find Opera to take out a lot of the annoyances I've had with Chrome. Also Opera doesn't track you like Chrome probably does, and it's not hindered by Google's politics.

> it's not hindered by Google's politics.

Opera is actually based on Blink, Google's fork of WebKit, so it does inherit Google's politics, and contributes to Google's monopolization of web standards.

Yeah, they both have different benefits.

Chrome seems faster for most high performance sites I visit and crashes less often. However, I prefer to have less of my browsing data recorded and so primarily use firefox and duckduckgo.

Can you recommend any particular Firefox tree-tabs or tab panorama addons ? I don't know how I went this far without this...
Tree Style Tab:

https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta...

I use it with Tab Mix Plus for extra tabby features, like progress bar on the tab, tracking unread tab state, lots of undo close tab slots, forcing popups to show up as tabs, etc:

https://addons.mozilla.org/en-US/firefox/addon/tab-mix-plus/

The tab panorama feature is built in:

https://support.mozilla.org/en-US/kb/tab-groups-organize-tab...

I've been using Firefox again recently - I stopped when it was slower and less stable than Chrome.

These days it often feels faster than Chrome.

I think this can be generalized further:

I've been using $RELATIVELY_FRESH_BROWSER_INSTALL again recently. I stopped when it was slower and less stable than $BROWSER_I_HAVE_NOW_BEEN_USING_A_LONG_TIME.

These days it often feels faster than $BROWSER_I_HAVE_NOW_BEEN_USING_A_LONG_TIME.

Does this apply when all the major browsers (save IE, though it's been a while) update unobtrusively?
Browsers aren't like Windows 98. You don't need to reformat or defragment from time to time.
I've been using Firefox for several months and have no regrets. On Ubuntu Chrome was doing all sorts of weird things, plus being slow. Firefox's tab groups is also a great feature.
On my Linux MINT machine, chrome keeps doing something[1] that ends up locking up my whole machine and I have to hard-reboot. It got to a point where I actually had to set up Ctrl+Alt+K to issue "pkill -9 chrome" so as soon as I see the mouse-pointer movement become non-smooth or music start to skip, I slam on those keys to kill chrome before I have to restart my whole machine. Then I just went to Firefox developer edition[2]. Is it better? I dunno, but I like its cool dark theme, my system hasn't locked up since and now I got all those cool extensions back again.

1. http://ubuntuforums.org/showthread.php?t=2203672

2. https://developer.mozilla.org/en-US/Firefox/Developer_Editio...

I'm on the same page. Chrome locks my computer around once a day on Ubuntu. Startup is horribly slow as well.
I can second the Ubuntu motivation. Chrome is buggy and unreliable on Ubuntu, and I was tired of the Aw Snap several times a week. Firefox appears to be much more stable, and Developer Edition looks better too.
I switched back to Firefox recently as well after using Chrome for years. Mostly it was due to problems on Linux, like Flash not working. I also love the work Mozilla has been doing -- Rust, Servo, and asm.js in particular -- which seem to be very promising vis-à-vis future versions of their browser.
I use FF daily, for work, and wouldn't use anything else.
Firefox still doesn't have per process tabs(yes I know about nightlies), so it's a no go for me.
Firefox won't have a process per tab. Even in the multiprocess versions, it has one process for the UI and one for all the tabs' content. That way it doesn't take tons of RAM for overhead if you have lots of tabs, but heavy tab content can't freeze the UI. You can change the number of tab-processes in about:config under dom.ipc.processCount.
It just rolled out in the last update, you have to set it yourself in the settings as far as I know but yeah its not just in nightly releases anymore
It's the end 2014. Has anyone implemented pinch-to-zoom on Firefox yet?
Nope. Pinch to zoom "works", but it's the same zoom increments as Ctrl - and Ctrl =.

I've been using Firefox for a few years (switched back from Chrome), but it's IE for me on the Surface until someone else does proper touchscreen support. The only time I open Firefox on here is when I need a bookmark that's synced from my desktop or phone.

If you're like me, I have a swatch of addons for each browser. In time they all start to slow down to a crawl.

I use all browsers for website testing, but my primary is Chrome at the moment, looking to head back to FF.

Same here, for some reason Google Images doesn't work in Chrome for me. I switched back to Firefox.
I was using Firefox in the past few months because Chrome felt slower after the new update.

I am back to using Chrome however. It's really hard to break the habit even though I made it a conscious effort to use Firefox and have enjoyed it thoroughly.

My only gripe with Firefox would be watching youtube I see a Adobe process that takes up a lot of memory even though I force HTML5, it seems to revert to Adobe.

All in all Firefox is the Chrome browser I once loved, but now that Chrome is working back to what it was doing, I forgot about Firefox.

Anecdotal and all but these days i catch myself killing chrome because the computer fan starts to be loud - and reopen the page in firefox - fixes it everytime (granted, i check it is the issue with htop first).

I remember when this was the exact opposite and had to kill Firefox...

how is having more features and options not being an upgrade?

chrome is removing customization after customization (specially the ones that harm google business model. Referrer preferences, anyone?) while adding stuff for speed and network. So you have a fixed experience browser that is very fast. and not that firefox is not faster in most use cases anyway. Chrome just have better marketing (and arguably a head start on speed a long time ago)

For some heavy users, including me, Firefox has always felt better.

I've honestly tried to switch to both Opera and Chrome but once you are spoiled with real extensions there is always one of them holding you back. ATM the most obvious one is treestyletabs.

This is not to say that there is not a lot of people to whom Chrome is better. Just that you can rest assured that Firefox is better as well, -for some of us, just like Safari is the best browser for some people and others want Opera. (Same goes for Linux, Mac and Windows and I love being able to chose one that I like.)

I wear both glasses and contacts, I regularly upgrade from one to the other because I am annoyed by a particular aspect of each. Much the same with browsers I regularly switch between Safari, Chrome, and Firefox because the upgrades/site/support/whatever become troublesome or advantageous.
When in doubt people should interpret it in a way that is convenient to them and not others. It makes total sense for Yahoo! to promote Firefox as a "Better browser". Google in past too has tried similar tricks.
This is a very broad statement. I use both browsers because each has slightly different behavior in some edge cases that I prefer. To me, firefox is occasionally an upgrade, and chrome occasionally is.
Supporting Mozilla over Google is definitely an upgrade.