Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Firefox Mozilla

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.

This discussion has been archived. No new comments can be posted.

How Firefox Boosted Its JavaScript Performance

Comments Filter:
  • by Anonymous Coward

    They abandoned Rust and re-wrote everything in C?

  • by serviscope_minor ( 664417 ) on Sunday November 22, 2020 @11:54AM (#60754102) Journal

    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

  • Don't make me laugh. There's nothing about reddit that is "javascript intensive". Not even really Netflix for that matter. Maybe Google docs, but not really even that is very "javascript intensive" compared to some web apps out there.
  • 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.

    • by tepples ( 727027 )

      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".

      • by flink ( 18449 )

        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

        • 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.

        • by tepples ( 727027 )

          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?

          • by flink ( 18449 )

            That's kinda my point. You couldn't do that in 1996, or you could, maybe, but only with extreme difficulty and very inefficiently.

            • by tepples ( 727027 )

              Thanks. I just got confused because I've run into quite a bit of "I want my 1996 web back" sentiment here on Slashdot.

    • 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!@

    • by Bengie ( 1121981 )
      How would client side encryption/decryption of end-to-end encryption work? How would real-time interactive content work?
  • 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??

    • Comment removed based on user account deletion
    • 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...)

    • by theCoder ( 23772 )

      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.

      • 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).

  • 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.

Keep up the good work! But please don't ask me to help.

Working...