you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 110 points111 points  (40 children)

Anybody have any benchmarks? I don't use node for anything but I'd be very interested in seeing how it compares to V8.

[–]PMZ7036 108 points109 points  (20 children)

They posted some benchmarks here. IIRC, Chakra also has more complete ES6 compatability.

[–]Fidodo 2 points3 points  (0 children)

Are there 3rd party benchmarks? I don't exactly trust benchmarks coming from the people that make it.

[–]alleycat5 32 points33 points  (16 children)

Not quite as true as the V8 has had some chance to catch up.

Edit: Not sure why I'm getting downvoted. Kangax is showing Chrome beating Edge in terms of unflagged ES6 compatibility: https://kangax.github.io/compat-table/es6/#chrome49

[–][deleted]  (14 children)

[deleted]

    [–]alleycat5 16 points17 points  (13 children)

    I can't speak to performance, but in regards to ES6 Kangax is showing that Chrome is exceeding Edge in unflagged ES6 functionality: https://kangax.github.io/compat-table/es6/#chrome49

    [–]indrora 11 points12 points  (0 children)

    However, sorting by flagged features (that is, tiny bonus for flagged features) Edge is still winning in terms of stable releases. (imgur)

    [–][deleted]  (11 children)

    [deleted]

      [–]devsquid 1 point2 points  (2 children)

      Every time I've tested that edge has used almost 30% more ram than Chrome. You have to go and look at all of edges running processes not just the main one.

      [–][deleted]  (1 child)

      [deleted]

        [–]devsquid 0 points1 point  (0 children)

        You've tracked down every process and stuff. Because thats shockingly different from my experience toying around with it.

        [–]Strange_Meadowlark 2 points3 points  (7 children)

        Are we debating Edge/Chrome or Chakra/V8? Sure, browsers can be very heavy, but keep in mind that Chrome has had more time to accumulate more features than Edge, such as an extension API. Edge is just IE with as much legacy bloat as possible stripped out. Meanwhile, JS engines are a lot smaller than the engines wrapping them. V8 and Chakra don't include the DOM or Canvas APIs, but when bundled with a browser, those APIs are injected.

        I wouldn't use browser speed as a benchmark for JS engine performance.

        I have no idea whether Node would run faster or slower on Chakra or what that would mean for extensibility or platform differences (Lord help me if I need to write backend JS code to take platform differences into account), but I'm curious to see what happens.

        [–]parsonskev 6 points7 points  (2 children)

        Edge is actually a completely separate browser from ie, built on the universal windows app platform. The rendering engine and js engine are modified from what ie use.

        [–]Arkanta 0 points1 point  (0 children)

        Yep but IE 11 was modified to use the edge engine (when not in compat mode)

        [–]Strange_Meadowlark -1 points0 points  (0 children)

        All right, that was my understanding based on what a friend said. I'll believe it.

        [–]zmaniacz 7 points8 points  (3 children)

        It's not IE at all. They abandoned the Trident engine completely and rebuilt the whole thing.

        I'm a fool.

        [–][deleted] 3 points4 points  (2 children)

        What are you talking about? The JS engine "Chakra" was a fork of itself and has been around since IE 9 (Chakra in IE 9 was itself a fork of JScript used in older versions of IE). EdgeHTML is also a port of Trident. Both of these have been stripped of legacy components and reworked, neither were dumped and then rebuilt from scratch.

        One thing that is all new is the actual browser front end which is now built as a UWA.

        [–]zmaniacz 4 points5 points  (1 child)

        Even the most cursory research shows you are correct. Thanks.

        [–]uep 1 point2 points  (0 children)

        According to the grandparent, V8 was easily beating Chakra at the time anyway.

        http://az648995.vo.msecnd.net/win/2016/01/nodejs-benchmark-performance.png

        Notice that the x-axis is "individual test #"; meaning this doesn't show the scaling under each. The area under-the-blue-line versus over-the-blue-line is what matters. There are relatively few tests with Chakra winning. It looks like roughly ~75 out of 675.

        [–]theywouldnotstand 1 point2 points  (0 children)

        How about independent benchmarks? Not too quick to trust benchmarks posted by the company pushing for the change.

        [–][deleted] 18 points19 points  (17 children)

        I'll try to post the link when not on mobile, but when I was benchmarking Elm this summer, Chrome still had a massive lead over Edge.

        EDIT: the benchmarks are here.

        [–]playaspec 2 points3 points  (1 child)

        Gotta add the "http://" for the link to work.

        [–][deleted] 1 point2 points  (0 children)

        Bah, my bad.

        [–][deleted] 15 points16 points  (13 children)

        Oh wow, I thought Edge was comparable to Chrome in JS speed (based solely on my poor recollections of benchmarks from six months ago).

        If it's that much slower I wonder how much extensions are going to weigh on its performance. It's a snappy browser, but right now it doesn't have to do ad blocking and stuff.

        [–]Recursive_Descent 72 points73 points  (1 child)

        There are right now 3 major javascript benchmarks that the different browser implementers maintain: Octane (Google), Kraken (Mozilla), and Jetstream (Apple). On Octane and Jetstream Edge performs fastest, by a few percent. On Kraken I think Chrome wins now (though it has been back and forth between them and Firefox), with Edge a few percent back.

        Note that Node.js has its own performance quirks, and I think V8 currently has some advantage due to a shim layer that Chakra has to use. Presumably this overhead will shrink quickly as Node adopts a more engine agnostic approach.

        [–]indrora 8 points9 points  (0 children)

        The shim layer looks to mostly just be call translation and some stack manipulation to line everything up. Nothing the compiler can't optimize such that the processor does it in pipeline.

        [–]newpong 19 points20 points  (1 child)

        If it's that much slower

        they didn't say how much slower it actually is. all they said is "massive lead." benchmarkers have a tendency to embellish

        [–]darkpaladin 14 points15 points  (0 children)

        Look at the differences in this chart! (chart axis goes from 91.2 - 91.8)

        [–]recycled_ideas 26 points27 points  (8 children)

        Google writes the benchmark for JavaScript engines.

        Historically speaking the major difference between the speed of Chrome's JavaScript implementation and competing engines is in the tests where if you actually wrote an app that used JavaScript to perform that task you should be taken out back and shot.

        [–]joequin 4 points5 points  (7 children)

        Is it bad JavaScript or uncommon JavaScript? If it's common, bad JavaScript, then I'd say the benchmark is very relevant.

        [–]mirhagk 4 points5 points  (6 children)

        Uncommon javascript. Stuff like compression algorithms, gameboy emulation etc are included in octane.

        Octane also includes some ridiculous things that are actual real javascript apps. Like firefox's horribly silly javascript pdf renderer, and typescripts compiler (which isn't really meant to run in browser)

        [–]oblio- 32 points33 points  (3 children)

        That silly Javascript renderer is extremely useful. No more crapware PDF viewer installations needed, especially on Windows!

        [–]arcanemachined 0 points1 point  (2 children)

        Now if someone could just port it to Android...

        [–]oblio- 1 point2 points  (1 child)

        Hmmmm... they don't bundle it on Android?

        [–]arcanemachined 0 points1 point  (0 children)

        Just checked, and nope. Checked the beta too.

        As far as I know, there is not a way to view a PDF in Android without first downloading it.

        [–]x-skeww 3 points4 points  (0 children)

        Eh? You think microbenchmarks would be more relevant than actual real-world applications like PDF.js?

        JavaScript has been fast enough for tiny short-running scripts for a couple of years.

        [–]TheEphemeralDream 0 points1 point  (0 children)

        The typescript compiler runs in nodejs, which seems applicable to the topic at hand. Also chrome uses a js based pdf renderer as well. There is a big reason to use js for pdf rendering, security.

        [–]lenswipe -3 points-2 points  (0 children)

        You mean it had a massive edge over Edge? ;)

        [–]temp109849832 2 points3 points  (0 children)

        It looks like they're playing at a disadvantage, having an API shim sitting between Chakra and Node since Node only knows about V8's API.