How Firefox Boosted Its JavaScript Performance (infoworld.com) 51
InfoWorld reports:
Firefox users can expect improved JavaScript performance in the Firefox 83 browser, with the Warp update to the SpiderMonkey JavaScript engine enabled by default.
Also called WarpBuilder, Warp improves responsiveness and memory usage and speeds up page loads by making changes to JiT (just-in-time) compilers... Warp has been shown to be faster than Ion, SpiderMonkey's previous optimizing JiT, including a 20 percent improvement on Google Docs load time. Other JavaScript-intensive websites such as Netflix and Reddit also have shown improvement...
Warp has replaced the front end — the MIR building phase — of the IonMonkey JiT... Mozilla also will continue to incrementally optimize the back end of the IonMonkey JiT, as Mozilla believes there is still room for improvement for JavaScript-intensive workloads.
Also called WarpBuilder, Warp improves responsiveness and memory usage and speeds up page loads by making changes to JiT (just-in-time) compilers... Warp has been shown to be faster than Ion, SpiderMonkey's previous optimizing JiT, including a 20 percent improvement on Google Docs load time. Other JavaScript-intensive websites such as Netflix and Reddit also have shown improvement...
Warp has replaced the front end — the MIR building phase — of the IonMonkey JiT... Mozilla also will continue to incrementally optimize the back end of the IonMonkey JiT, as Mozilla believes there is still room for improvement for JavaScript-intensive workloads.
How Firefox boosted performance... (Score:2, Funny)
They abandoned Rust and re-wrote everything in C?
Re: How Firefox boosted performance... (Score:5, Funny)
C? That's for babies!
Abandon C, and write in machine code!
Remember: Assembly is a gateway drug. Next thing you know, you'll be huffin' macro assemblers, and then you're basically already writing C.
Re: (Score:2)
Machine code is for pussies, real men build with logic gates.
Re: (Score:2)
Re: (Score:2)
There's a verilog command to do that.
Re: How Firefox boosted performance... (Score:2)
There's a FirefoxOS app for that.
Re: How Firefox boosted performance... (Score:2)
Re: (Score:2)
The fact of the matter is that there are some situations where C does not play well and having proper first-class language enforced interfaces is a
oh well firefox (Score:5, Funny)
It's a firefox thread so I look forwards to people listing why it's sucks. Taking points:
* it's worse than chrome because it's slower
* it's worse than chrome because it's faster and that only encourages mites JavaScript because it sucks
* it's worse than all the other browsers supporting DoH because... Cosmic rays
* pocket
* SJW unlike chrome which is made by Google Warrick has no... Ooh shit
* there's some very obscure extension I like so I still use waterfox and since I have unusual needs which don't involve decent multi core performance, firefox CLEARLY sucks
* did I mention pocket yet?
* rust is for hipsters. You should stick with C like I do
* it uses lots of memory so it sucks. I mean sure so go all the other browsers but I'm switching anyways
* while it's now privacy focused and trustworthy than chrome, they did something I don't like privacy wise so IT SUCKS and I'm switching to chrome.
* also pocket
Re: (Score:2)
Fucking phone autocorrect fuck you.
Mites - more
Warrick -which
Re: oh well firefox (Score:1)
What have you been chatting about, mate?? :D
Also: Turn off autocorrect. All it does, is limit your expressive freedom, and cause you hassle. Upgrade beyond writing the corret way, and *choose* to write the "wrong" way if it improves communicating fine nuances. Most linguists would call that the correct way to use language, by definition.
Re: (Score:3)
Most linguists would call that the correct way to use language, by definition.
Modern linguistics (post-Chomsky) is descriptive rather than prescriptive, so most linguists would not make claims about what is correct.
Re:oh well firefox (Score:5, Funny)
You left out "I deactivated Javascript so this doesn't affect me"
Re: oh well firefox (Score:1)
You forgot my favorite:
* Complaining about the predictability of repetitive statement regarding still unresolved standing problems, as the next step in the snobbery evolution, so he can feel more smug and superior than all the rest. ;)
* I'm the step beyond that, by the way. Still pointless, but at least funny as I don't take myself seriously.
Re: (Score:2)
Oh hello!
I wrote point 3 specially for you!
xoxo
Re: (Score:1)
You forgot: It's worse than chrome because it's not chrome.
Re:oh well firefox (Score:4, Insightful)
Firefox doesn't suck. Mozilla does.
Re: (Score:1, Insightful)
You have diarrhea of the mouth.
Re: I know how to boost it even more: (Score:2)
It's funny! Laugh!
Also, please get a therapy for your triggers.
Re: I know how to boost it even more: (Score:2)
P.S.: ... you fuckin retard / American.
Reddit is Javascript intensive? (Score:2)
Boost your site's performance! (Score:2, Insightful)
Eliminate Javascript.
Seriously, optimizations like this are like spitting on a forest fire. The real problem comes from all the unnecessary cruft that most sites load.
Re: (Score:2)
Eliminate Javascript.
I'm inclined to agree for static websites presenting only text and pictures. As for web applications, would you recommend replacing them with OS-specific native applications? If so, people whose device runs a different operating system from that of the developer would just not be able to use the application at all.
The real problem comes from all the unnecessary cruft that most sites load.
I'm inclined to agree, though I foresee disagreements as to defining "unnecessary cruft".
Re: (Score:2)
I mean we can always return to computing new views on the backend and serving them up as static pages with available user actions represented as POSTs, PUTs, and GETs. We'd essentially be back to the web of 1996 with much less responsiveness in our web applications and needing much more massive server farms. These days most modern applications do much of the compute on the client side with the servers being used for CRUD and some validation as well as enforcing security. If the back end needed to compute
Re: (Score:2)
It all depends on your application whether Javascript is a net win or loss. For simple applications that just require showing the user something and perhaps an input into a form, it probably is faster server-side (something like slashdot). But the moment you want to do something demanding - a game where latency matters for example - having the client do most of the processing is a good way to do it.
Also: the more users you have, the bigger the advantage of doing processing client-side. You basically get aut
Re: (Score:2)
Web pages that do not use JavaScript are many orders of magnitude faster and responsive than those that use JavaScript in the Browser
Circumstantial evidence at best. My capstone project decades ago involved uplifting a web project to use javascript to reduce the number of page loads. The reloading and rerendering of the entire page every time the user had to click something was horrible. Going javascript removed the need to reload the page. This also had the benefit of dramatically reducing server load. It was much more efficient for the server to respond to a single javascript request instead of all of the content for the entire page.
Re: (Score:2)
On the other hand, the client devices can be less powerful. Which means longer battery life for phones, significantly lower costs etc. if you don't need a superfast chip.
Re: (Score:2)
I mean we can always return to computing new views on the backend and serving them up as static pages with available user actions represented as POSTs, PUTs, and GETs.
Say you're making an online whiteboard. How is the client going to format a new stroke's drag trajectory for in a POST, and how is the server going to send the changes from the last state without having to send the whole image every time? And how is the client notified that another user added a stroke?
Re: (Score:2)
That's kinda my point. You couldn't do that in 1996, or you could, maybe, but only with extreme difficulty and very inefficiently.
Re: (Score:2)
Thanks. I just got confused because I've run into quite a bit of "I want my 1996 web back" sentiment here on Slashdot.
Re: (Score:2)
Eliminate Javascript.
This post brought to you on a site whose messaging system uses uses magic pixie dust I guess.
OMG I just hit Preview and the content changed dynamically. PURGE THE EVIL FROM SLASHDOT!@
Re: (Score:2)
Oh please (Score:2)
I'll believe it when I see it.
Right now on a 16gb linux mint PC with about 9 tabs open across 4 instances, Firefox is gobbling up just over half my RAM.
And those instances are doing very little, mostly tabs just parked on a few simple sites. One instance has a tabs that check a few different email accounts occasionally.
How does that take over 8GB??
Re: (Score:3)
Re: (Score:2)
One instance has a tabs that check a few different email accounts occasionally. How does that take over 8GB??
Local cacheing of big inboxes and saved mail boxes?
(Just guessing...)
Re: (Score:2)
I often keep many dozens of tabs open in Firefox and rarely does it go over 2-3 GB in memory usage. That seems like a lot, but it's mostly all memory cache of the pages.
I suspect that your memory usage has more to do with the sites you have open causing large memory usage. I know that at work if I leave a Firefox tab open to a Jenkins pipeline build status page it can grow to multiple GB and effectively OOM the machine within hours. I'm not sure what the Jenkins page is doing, but it's very repeatable.
Re: (Score:2)
Thanks for the about:memory tip.
Yeah, it's just the email tabs gobbling up memory. This just started happening in the last couple of weeks so I think it must be a side-effect from a Firefox update.
And as for Jenkins...the less I ever have to deal with it the better.
One place I worked at had a guy whose sole task was to monitor Jenkins and restart or un-fuck it whenever it spazzed out (which was almost daily).
C++ FTW]\ Segmentation fault (Score:2)
Interesting note: this was not implemented in Rust. The C++ hipsters won out this time because the code has to talk to the existing pile (technical term) of C++ code that is the Ion MIR backend.