Firefox's JIT is getting significantly faster
groups.google.com
groups.google.com
It wasn’t the users that lost interest in Firefox. It was Mozilla that lost interest in Firefox.
I often find that the specific things that are thought of as 'meaningless distractions' by different people don't entirely overlap.
For example, I think having a mobile OS not controlled by google or apple would be phenomenally important, so I was entirely in favour of FirefoxOS.
Rust has led to improvements in Firefox that were previously said to be nearly intractable. I'd definitely include that as something valuable, not just for firefox but for the world.
Mozilla Persona seemed like a really good way to solve something that we're still struggling with - to have a universal web identity that belongs to me rather than some surveillance monetiser.
I could see value in emscripten, Firefox sync, Rhino, Shumway, thunderbird.
Now that is already a selection of projects that includes a bunch that were widely considered to be failures and were killed. It's also already probably too much for a company of Mozilla's size.
The projects that we see mozilla doing at the moment, I sort of get - they're trying to pitch the brand as a 'privacy' play, but if they really want to do that plausibly, they're going to need to change their income model.
Firefox does not have a brand visibility problem , no amount of marketing will convince users if the browser is not significantly better. If the value is marginal convenience trumps.
Firefox did not gain market share orginally because they did better marketing than IE. They became big because they built a better product.
Chrome became because of the same reason too. They did a lot of early innovations with per tab process isolation headless or v8 decoupling and myriad to new features giving performance boost and making it possible for projects like electron to exist.
Firefox got a major usage boost post quantum.
If they could rebuild the full stack on rust there will be a massive usage boost.
Mozilla is in a unique position they don't have revenue targets or shareholders to please. They have users, and a single customer who is also their only competitor.
It is no brainier to say largest chunk of investment should have gone there.
P.S. yes google has a unfair advantage, they implement web standards well before it is accepted then force their version by sheer force the market dominance. This is not new IE did it to netscape . However google also owns a lot of the pages people visit. They will optimize their sites for their browser. This is why youtube will always be faster in chrome than firefox.
And of course Chrome became dominant the same way.
Word of google.com main page > word of mouth :(
Chrome was the same too. Yes Google does have unfair advantage because they own lot of properties people interact with every day, they are a significant player for user mind space, but they are not so large that people spend 50-60% time on google products only .
Three to four years ago was the first time, particular among young people, teenagers say, that I met kids who didn't know what Firefox was. It has lost an extreme amount of awareness.
But even if the users aren't aware of what changed, it will likely affect user behavior.
For the better? Hard to say. Websites that load a little faster are a little more addictive.
It is not just about privacy or blocking ads. It is matter of security . I am trust nytimes , I cannot trust every third party whose code nytimes decided to include. Who in turn has included a bunch that nytimes doesn't even know about. How can I trust a website when they themselves do not know what crapware runs?
> Safari and Chrome both do blur on the GPU Firefox does it in software unless WebRender is turned on. You could try turning on the gfx.webrender.all pref and that should improve things.
See https://wiki.mozilla.org/Platform/GFX/WebRender_Where
To check if you're using webrender, check about:support. Check the graphics>compositing section.
(Edited to correct first paragraph.)
I have an Intel video card (UHD 630), and Webrender (which I had to forcibly enable) is working very well. Video acceleration, too. Even with a 4K screen.
One thing that really annoys me about Firefox on MacOS is that they disable keyboard focus of links by default. Which is not good for accessibility - it took me days to work out why my accessibility testing demos were failing[2].
[1] - I use this demo for my goto stress test: https://scrawl-v8.rikweb.org.uk/demo/canvas-006.html
[2] - https://discourse.mozilla.org/t/keyboard-focus-of-links-on-m...
Does the average person really need to understand JIT optimisations?
https://www.mobil.com/en/lubricants/for-personal-vehicles/ou...
https://www.amsoil.com/p/signature-series-5w-30-synthetic-mo...
Web developers aren't alone here, of course. It's the same story for systems software as well.
In general, thinking in terms of equilibriums is helpful.
Warp is only a bit faster in some cases, and about 10% slower in typical benchmark code. The speed improvements don't come from optimizations, but from skipping many costly optimizations. The "value" of these skipped optimizations is that some type optimizations are just too costly for them, using also a lot of memory. It's a typical jit trade-off.
Well at least it's an improvement over the browser being referred to as "Internet" before.
Because as far as I know, chrome doesn't come loaded on safari or windows
Mozilla is one of the few places you can do this specific type of really interesting engineering work, without having to be at Google/Apple/etc.
(ex-Mozillian here :) )
But I still love the people there (and created https://news.ycombinator.com/item?id=24135032 recently)
"The problem with not having the .com of your name is that it signals weakness. Unless you're so big that your reputation precedes you, a marginal domain suggests you're a marginal company."
I'd say there's a few major reasons: protecting the name and signaling we're a real company to larger corporations.
For us, we also host websites that allows JS/CSS/HTML, so being able to put our assets on a separate domain helps with security issues.
the market share is really worrying but OTOH Mozilla just secured another multi year deal with Google so in the short-medium term they are fine financially. I hope that a reason for all those projects cuts is at least partially creation of finacial reserves, in theory they do have enough cash and momentum to stay technologically relevant for at least 10 years.
But it's hard to find a definitive record.
I don't know if it is a tech-issue or legal, but since it can be fixed with an extension, I guess it's tech?
I think the thing to be worried about is: what will happen when they run out of stuff that's already in the pipeline? Will they be able to execute the sweeping changes they'll need to do to stay within reach of blink long term? Or will they have to concede like opera and edge did.
This is not the case. Servo worked on big experimental moonshot projects. They had some major successes (Stylo, WebRender), but the rest of the Firefox team wasn't sitting around twiddling their thumbs. I don't think Servo ever made up more than a small fraction of the overall Firefox workforce. They had to pick and choose their projects. Note, for example, that Servo embeds SpiderMonkey instead of writing its own JS engine from scratch: https://github.com/servo/rust-mozjs
Don't worry! SpiderMonkey still has additional cool projects coming down the pipeline, none of which are dependent on Servo.
I am sad to say this, but I think it's only a matter of time. At this point, the list of parties driving Web standards basically consists of a whole bunch of organizations that rely on Blink, plus Apple and Mozilla.
WebKit can probably hang on for a good long while because ~15% of user-agents are required by fiat to be WebKit.
Gecko? At 5% marketshare, I fear it's dropped below the point where web developers are well-incentivized worry too much about making sure their sites run well on it. Which means that it's going to get increasingly costly for individuals to continue using Firefox.
And, at the same time, actually making sure your site runs well on it is getting increasingly difficult. The rise of client-side JavaScript frameworks like React means that cross-browser issues have moved beyond easy-to-perceive things like ActiveX controls not being supported, or CSS rendering badly. Now the big problem is differences between JavaScript engines leading to annoying performance problems. And, if a developer is planning on doing the sane thing and relying mostly on libraries for their heavy lifting, there's just not that much that any individual can do about it.
My sense, at this point, is that, going forward, the Internet does still have room for free, open, community-driven standards that aren't tightly controlled by a small number of massive corporations. However, the Web (i.e., HTML, CSS and JavaScript) does not.
FFOS was a moonshot that burned a lot of resources, but I also suspect it's one of the few things that, had it been successful, could have guaranteed Firefox's long-term survival.
(And I still think FFOS was a silly move, because Mozilla will never be able to match the industrial muscle that FAANG can field. Mozilla on mobile can only succeed either by pushing harder to the court of public opinion (i.e. lobbying antitrust authorities to force Apple and Google to open up), or by partnering with another giant who wants to compete and can do the heavy lifting (Amazon, or FB, since Microsoft seems to have joined the monoculture for good).)
Google also advertised Firefox on their home page.
Flutter will be the interesting newcomer to the multi platform game, they've been working closely with the big OS teams to optimize performance on Mac, Linux and Windows and truly compete with native. So far I've only used it for mobile but the temptation is there and I'll eventually try it.
Better devtools = More developers = More testing = Smoother website = More market share.
Though as if to invalidate what I just said, today's actually the first day where I found a bug in Chrome that every other browser got right. Flex reverse row was right aligning my div and every other browser properly left aligned it... I was pretty shocked.
<quote>
However, our source told us Moz will likely pocket $400m to $450m a year between now and 2023 from the arrangement, citing internal discussions held earlier this year.
(... snip ...)
According to the organization's latest financial figures [PDF], $430m of its 2018 total revenue of $451m came from those internet giants – primarily Google, we understand. These deals were due to be renewed or renegotiated by November this year.
As a non-profit open-source operation, Mozilla spends as much as it receives; its 2018 staffing bill was $286m with a headcount of about 1,000, or about $286,000 per person, on average.
Despite the renewal with Google, which essentially guaranteed a continuation of its revenue for the next three years, Mozilla axed 250 of its techies on Tuesday, and shut down its office in Taiwan, blaming the “economic conditions resulting from the global pandemic.”
</quote>
Their cost is probably much more than just staffing - but still - doesn't look that bleak? I get the non-ideal situation of being dependent on you competitor like that, but it _has_ proven to be a robust source of income so far..: https://en.wikipedia.org/wiki/Mozilla_Corporation#Affiliatio...
Btw.. is there any way to format a pretty quotation on HN?
> This is not a real pretty quote.
> But the good news is that even in uninterpreted form form markdown is pretty readable.
As a concrete example, :-) was invented on a bulletin board. See http://www.cs.cmu.edu/~sef/sefSmiley.htm for the details.
I'm not ancient enough to say first-hand. I know that threaded replies in BBSes in the early 80s at least coincided with usenet threaded replies.
I didn't have a proper email address until years later via my university.
I misworded my original. I wanted to say, I'm considering moving off Firefox, but not to Chrome.
Any other browser recommendations?
Preferences > Privacy > Autoplay Settings... > set "Block Audio" to "Block Audio and Video"
Or alternatively about:config > media.autoplay.default > 5You open a page. A big box at the top has something it it. That something is video. The video loads. By the time you scroll down, it starts to play. Oh, and it jumps into a smaller box so you're Forced to observe it and click into it to stop it.
Media autoplay is not off.
Another way to phrase that is, the media autoplay is On.
The option described above Does Not Work. Another way to describe that is, it should not have video playing by itself.
Alas, video plays by itself. Apologies in advance for being terse and not explaining myself earlier.
In short, autoplay is On and the option says it's Off.
Please let me know if I can clarify any part of this.
I'll try disabling those.
But did you try scrolling the page? Sometimes those videos start playing when you scroll down and they become smaller and jump to the bottom right hand corner of the window.
It seems a shame that such a loved & enjoyed project might fall wayside without significant financial backing. I would say I would love to help, but I have no domain expertise in browsers/rendering, or how I would develop enough to contribute.
It boggles the mind.
Hopefully HN users on nightly are able to try it out and give feedback.
Basically do the same as Godot, Blender, etc. small team but focused on the project
interestingly a very similar link appears to not require a google login, but requires javascript:
https://groups.google.com/d/topic/mozilla.dev.platform/1PHhx...
i wonder what's going on.
I think if Google detects that you've _ever_ logged into Google, it's trying to authenticate you when you visit a Google Groups page. Private mode is my default workaround for Google Groups links these days.
https://searchfox.org/mozilla-central/source/js/src/jit/Warp...
> The SpiderMonkey (JS) team has been working on a significant update to > our JITs called WarpBuilder (or just Warp) [0,1].
The whole component was the cool stuff I was referring too. I linked it mainly to show that it's C++ instead of, say, Rust, not to highlight any component of it.
https://wiki.mozilla.org/Oxidation
On a related note, Chrome is looking at integrating Rust into its C++ codebase.
https://www.chromium.org/Home/chromium-security/memory-safet...
If browsers performed like in 2010[1],we wouldnt have a lot of apps online. I am not talking about unicorn SaaS apps. I am talking about the local county or state government making things available online. The small business putting an app together beyond a basic website.
It may not seem much to you but there is real and massive impact in developing economies. digitalization is single biggest tool against corruption.
The education system in such places do not on average produce great comp sci engineers . the best graduates go to a big company. the rest have a job and build shitty but useful products. All this is not possible without browsers which can take the hit.
[1] 2010-2020 time frame specifically because CPU has broadly stagnated in the last 10y however we have been able to build a lot more complex apps because of browser innovations
It does not take more skill to build a site without JS, only more restraint
> If browsers performed like in 2010[1],we wouldnt have a lot of apps online. I am not talking about unicorn SaaS apps. I am talking about the local county or state government making things available online. The small business putting an app together beyond a basic website.
Less "apps" and more "basic" websites is exactly what should be encouraged.
Unless there is another foundation with a browser promoting a free and open internet, my vote will always remain with them.
And therein lies the problem. No matter how bad Mozcorp is at doing what mozilla.org was supposed to be about, then as long as it exists, it will always manage to be a black hole swallowing up any enthusiasm and effort that might otherwise be put to good use.
Because salary X4 didn't result in financial performance X4, just 250 people fired.
They aren’t really about the mission. This is as clear as it could be for Mozilla.
Firefox rolls out solid releases and improvements, month after month. Presumably that means that their employees are doing something good somewhere? I know there are a ton of essential volunteers too, but the project would struggle without a paid core and infra.
As a developer and as a user, I get a lot of value for free out of Firefox. I barely do anything to give back, except perhaps to try and 'push it forward' in the FOSS project I am partially paid to work on. In our project, I get a bit rattled when people say we are going against their interests, when we have to make choices to ensure the financial stability of the project, and also to respond to requests from the greater (less-vocal) community. I'm obviously partial, but I'll give Firefox/Mozilla the benefit of the doubt.
Notice how you said "employees" here. Yes, employees should be well paid. Then, ideally, the high level administration should be kept small and paid similar amounts or only a little bit more than the employees.
Of course, this doesn't mean it's well spent, but it means some non insignificant part of the money benefits someone else.
There are a whole lot of other options I'd like to set...
Hi all,
The SpiderMonkey (JS) team has been working on a significant update to our JITs called WarpBuilder (or just Warp) [0,1]. Before we enable Warp by default in Nightly (hopefully next cycle in 83) we need your help dogfooding it.
Warp improves performance by reducing the amount of internal type information that is tracked, optimizing for a broader spectrum of cases, and by leveraging the same CacheIR optimizations used by last year’s BaselineInterpreter work [2]. As a result, Warp has a much simpler design and improves responsiveness and page load performance significantly (we're seeing 5-15% improvements on many visual metrics tests). Speedometer is about 10% faster with Warp. The JS engine also uses less memory when Warp is enabled.
To enable Warp in Nightly:
1. Update to a recent Nightly 2. Go to about:config and set the "javascript.options.warp" pref to true 3. Restart the browser
We're especially interested in stability issues and real-world performance problems. Warp is currently slower on various synthetic JS benchmarks such as Octane (which we will continue investigating in the coming months) but should perform well on web content.
If you find any issues, please file bugs blocking:
https://bugzilla.mozilla.org/show_bug.cgi?id=1613592
If you notice any improvements, we'd love to hear about those too.
Finally, we want to thank our amazing contributors André Bargull and Tom Schuster for their help implementing and porting many optimizations.
Turning Warp on is only our first step, and we expect to see a lot of new optimization work over the next year as we build on this. We are excited for what the future holds here.
Thanks! The Warp team
[0] WarpBuilder still utilizes the backend of IonMonkey so we don't feel it has earned the WarpMonkey name just yet. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1613592 [2] https://hacks.mozilla.org/2019/08/the-baseline-interpreter-a...
Thanks for all of your hard work. Firefox forever!
https://www.reddit.com/r/firefox/comments/a98gmi/donations_t...
If the Foundation started employing Firefox developers, they would have to convince the tax man that those developers were not de-facto employees of the Corporation. This would be very hard, because there would inevitably be chat logs where Corporation employees tell the Foundation employees what to do, because that's how code review works.
What would be the point, anyway? The Google Search deal gives the Mozilla Corporation far more money than the Mozilla Foundation gets from donations.
I realize that people who would do so are a minority. But maybe that would help solidify the idea that, while Chrome is for Google, Firefox is for its users.
- partner with Dropbox to offer an integrated web-based filesystem and other file-oriented stuff like Send.
- partner with bitwarden or 1Password to provide integrated authentication - the web desperately needs an open competitor to Google/Fb/Apple in this area, I’d definitely pay for this. They could probably just repurpose Persona.
- rebrand Pocket (which, let’s be honest, has pissed off too many people to ever succeed) and use it to build something like old del.icio.us, targeted to (web) developers.
- make containers more mainstream. The FB-container addon is wildly popular, surely there are other applications that could be baked in.
All these should be optional services that can be turned on, never again we should see the corrupted practices that gave us Pocket.
Pocket had millions of users already when Mozilla integrated it. A lot of people seem to like the recommended articles. The minority who know and care Mozilla was dishonest about why it was integrated 5 years ago would just keep criticizing Mozilla for not removing it.
We need something that can rival “Log on with Facebook” and can generate enough money to self-sustain. I would happily pay to have Mozilla act as an independent super-secure auth provider for me, in a way I’d never do with any small startup.
If having a sustaining fund dedicated solely to Gecko/Firefox development, and it seems implicitly to specific elements of that development (ie. not those that directly or primarily benefit other Mozilla services) is truly important, don't wait on Mozilla to provide one for you to donate to. They don't have the incentive, or frankly the need, to do that.
Maybe they can adopt V8 and keep Geeko to focus on lesser things.
Currently browsing HN, Google groups, Gitlab x2.
Extensions enabled:
Bypass paywall, Decentraleyes, Youtube enhancer, Facebook containers, Flagfox, Google container, HTTPS everywhere, Location guard, Sponsorblock and Ublock Origin
Only using a few hundred MB atm:
Interestingly, about:performance informs me that the highest single process is a Facebook tab taking 174MB[1], followed by Gmail at 166MB, and only shows total memory usage maybe 3GB. Activity Monitor output looks closer to htop, but shows, e.g., that pid 13691 (top one) as 2.52GB rather than 1.3GB.
Web browsers are complicated, and when someone says "[browser] is using xxx memory on my computer", pointing out that it isn't on yours is in no way a refutation.
At any rate, I've got a lot of memory, and Firefox uses a bunch of it. Sometimes this causes issues, but I also had similar issues in Chrome. (And with vscode. And with Docker. And, to a lesser extent, Slack.) I welcome perf gains on cpu, memory, and subjective responsiveness. All of these matter to me.
[0] https://i.imgur.com/qYnkQuX.png
[1] Note: In the few minutes while I was writing this post, that FB tab rose to 215MB on about:performance, without me switching to it.
I rarely have more than 10 open, and I've been using tabs ever since tabs on browsers were invented. (I was using browsers before tabs existed) I feel I might have missed some trend here.
> How does it work?
Poorly.
I do this because I open tabs for a project and then move on to the next thing before I finish, and serializing into a bookmark folder is more work than I'm willing to invest in the moment. I'm trying to get better at keeping work in real tickets but it's still more work than just leaving the tabs out for future-me to come back to.
I usually have bookmark folders because I’m always afraid I might fat-finger-close a tab or something.
"improves responsiveness and page load performance significantly (we're seeing 5-15% improvements on many visual metrics tests). Speedometer is about 10% faster with Warp."
"Warp is currently slower on various synthetic JS benchmarks such as Octane (which we will continue investigating in the coming months) but should perform well on web content."
It seems it can in the longer term generally improve though, and simplifications are always better.
JSC is pretty well tuned for it, finding a 0.5% speedup is hard. So seeing 10% speedups is impressive and rare. Of course, it’s possible that they are just catching up so they found the low hanging fruit - but also possible that they can leapfrog JSC (I haven’t measured if this gets them there or not).
Thanks! We actually haven't really analyzed Speedometer (and most other benchmarks) yet with Warp so I expect this number to improve the coming months. The design seems to be holding up well and we're really excited about building on this.
Is it though? Would you even notice it?
If there was an already short processing action, e.g. 1 second, now it would be 850ms -- hardly noticable.
If there was some long processing action, say 5 minutes, now it would take 4 minutes and 25 seconds.
Hardly something to write home about in either case...
Look at CPUs or the Internal Combustion Engine. After 120+ years, it still improves, but you're looking at single-digit percentage points if that.
I'm not aware of a lot of things that could magically improve browser performance, but if you do, you have a great opportunity for a unicorn startup.
Today you can buy relatively affordable cars with 2.0 liter engines pushing 300 or more horsepower and doing so with greater fuel efficiency than cars with much more modest output from ten or twenty years ago.
(admittedly some of the gains in efficiency have been obscured by increases in vehicle weight)
We've had export / fx processing improvements in NLE programs or 3D rendering for example that saved weeks over a year. PHP 6 to 7 got several times faster in common use-case workloads. And so on...
It's not like we don't have a yardstick for actually noticeable speed updates. Pre-JIT JS to JIT JS for example was a big several times speedup. PHP 6 vs PHP7 was several times as well (no JIT involved here, just other optimizations).
15% is only 'significant' in the context of an already heavily optimized program (which FF's JIT is). Not significant as in "the users will notice it".
> when Warp landed:
>
> - 20% on Win64 GDocs loadtime: https://mzl.la/3cp6dAs
> - 13% on Android Reddit SpeedIndex: https://mzl.la/2RUWdp8
> - 18% on pdfpaint: https://mzl.la/2HtXb9W
> - 8% on tp6 JS memory: https://mzl.la/3j2VwGb
> - 8% on damp (devtools perf): https://mzl.la/3kLbhSM
Sounds pretty significant to me
I believe, per HN policies, the most appropriate would be the title from the page: "Dogfooding Warp"
https://news.ycombinator.com/newsguidelines.html
"please use the original title, unless it is misleading or linkbait; don't editorialize."
The original title on the linked page is "Dogfooding Warp" and the title on this HN page is still, at the moment I write this, editorialized: "Firefox's JIT is getting significantly faster"