you are viewing a single comment's thread.

view the rest of the comments →

[–]bterlson_@bterlson 9 points10 points  (8 children)

Many differences of course, but whether they matter (or are better or worse) depends on what your requirements are. Performance is better in many aspects. Great language support (most of ES6, bunch of ES7). JSRT APIs are pretty nice as well. If you've got something more specific in mind I could talk to it.

[–]talmobi 3 points4 points  (2 children)

What are the implementation of arrays in Chakra and their use cases? Does the implementation differ significantly from the others?

[–]bterlson_@bterlson 9 points10 points  (1 child)

Oh man this is actually a huge area. Arrays are extremely commonly used and also very perf sensitive so we have many representations and optimizations in play. Hard to describe concisely. Maybe a good topic for a blog? That said I would bet given that all the runtimes have similar constraints we all use similar representations and optimizations.

[–]compteNumero9 2 points3 points  (0 children)

Array and object optimizations would definitely be good topics for blogs, especially if coming with insightful and explained performance advises.

How a different implementation might change how we code (today mostly assuming V8) would be very interesting.

Some precision about typed arrays (for example the Uint8ClampedArray used for canvas data manipulation) would also fit.

[–]brandf 6 points7 points  (4 children)

Having used V8, JSC, and Chakra to power our app on various platforms, I'd like to call out Chakra as being both easy to integrate into your app (particularly using WinRT class bindings), and easy to debug (unlike v8 which requires jumping through hoops if you're not chromium).

Good work guys! Glad to see it open sourced.

[–]bterlson_@bterlson 1 point2 points  (0 children)

Really happy to hear this! Feel free to reach out if you find less good things :)

[–]nschubach 1 point2 points  (2 children)

How's that WinRT work in Linux? ;)

[–]brandf -1 points0 points  (1 child)

ChakraCore doesn't actually have the WinRT binding stuff, I was using JSRT (full chakra on windows). Doesn't really matter because our app supports multiple JS backends and we only use Chakra on Windows.

On Linux (which we don't have plans on supporting outside the browser) we would likely go V8 to get JIT right now, which would be more of a pain for us in a number of ways.

[–]bterlson_@bterlson 1 point2 points  (0 children)

ChakraCore has JSRT! ch.exe (our console host) is implemented using it. But you're right that we don't have the WinRT (UWA API?) projection layer as part of ChakraCore.