Live data from Hacker News

Microsoft Edge's JavaScript engine to go open-source

blogs.windows.com

241–250 of 283 posts

Re: Microsoft Edge's JavaScript engine to go open-source

#241
post #66

Out of curiosity, why rebuilding a whole new engine rather than using/improving V8?

Because you may want to implement things you care about, not necessarily the things the V8 developers care about.

Unless you mean "why write your own engine instead of forking V8", in which case the answer might be that if you have the time to do it, it's easier to become expert on something you created yourself rather than an existing large complex system. And while you're at it you can make sure the system you create is good at solving the problems you mean to solve, which the existing system may not be.

A concrete example of one of the design tradeoffs here: V8 doesn't have an interpreter mode, just several levels of JIT. Every single other browser JS engine does have an interpreter, because it turns out that for cold code (which is most code) that's both faster and less memory-intensive than a JIT. Not to mention allowing your engine to run on hardware for which you haven't created a JIT yet.

Re: Microsoft Edge's JavaScript engine to go open-source

#242

Earlier quoted context omitted.

Building a javascript engine is super simple. But to build one that has performance on par with the current crop will take you - as a single person - a lifetime and by then the state of the art will have moved on.

The performance is hard, but the bug-for-bug compatibility is what will kill you.

Actually, for JS engines this is a much smaller problem than for other parts of the web platform. There are two nasty warts I'm aware of: the "function inside if" mess, and the fact that the spec says enumeration order is undefined but actual web pages depend on some things about enumeration order that all browsers implement; chances are this will make it into the spec at some point. But by and large JS engines agree with each other and with the spec. Much more so than, say, DOM or CSS implementations.

Re: Microsoft Edge's JavaScript engine to go open-source

#243
post #206

Earlier quoted context omitted.

It's just very rare to use a Windows VM in a cloud service environment to deploy services. This may change with the Docker support we are seeing promised. Powershell is definitely a workable remote shell. But it's not the case that this is sufficient today.

Azure is the second biggest cloud provider in the world (after amazon) - and we (TipRanks) deploy VMs to Azure. It's a lot less common but I wouldn't call it `very rare`

A lot of Azure use is with Linux VMs.

Re: Microsoft Edge's JavaScript engine to go open-source

#244
post #19

Wait, Edge does better on ES6 coverage than both Chrome and Firefox? Microsoft have seriously stepped up their game, especially seeing as it's now neck and neck for performance with Chrome: http://venturebeat.com/2015/09/10/browser-benchmark-battle-s...

What I'd love to see is webmidi support, it would be rad to be able to do a windows universal app with es6 and create a midi sequencer for my hardware synths, I can do that on chromeos and then package it as an android app on android 5.0+ but I can't do that with windows universal, also can't do that with ios. Webaudio is supported across all three but only google and opera so far support webmidi.

Re: Microsoft Edge's JavaScript engine to go open-source

#245
post #177

Earlier quoted context omitted.

Although important for their future, Chrome is not Google's cash cow, Chrome is everyday stealing Firefox's market share, they have the luxury to wait, Chrome's pressure (and now Edge) on Firefox hasn't made Firefox step up their game as one would expect.

It might make one question the underlying assumption that competition somehow can cause people to somehow magically become better (a concept many people have which makes no sense). In reality, competition changes how people allocate resources as they play a strategy game to not lose control over segments of the market they perceive as strategically important. It also causes them to lose their negotiation power in the…

So what is next for Mozilla? Sounds like they don't have much going in their favor at the moment.

Re: Microsoft Edge's JavaScript engine to go open-source

#246

Earlier quoted context omitted.

> It's a term that has two accepted meanings, the other meaning being the total opposite of the intended, making it a meaningless "flavor" word. No, it's a term that has two accepted meanings that context makes perfectly clear which one was meant. Like "bad" (which can mean actually bad, or "great" as slang, both meanings in the dictionary). In fact many common terms have that characteristic, including fast ("moving…

Quote Shakespeare and/or Dickens so I can see whether their use of that word improves the passages, or carries any signal at all for that matter. Otherwise I'll just assume that since they wrote a lot, there's going to be some mediocre bits and padding in it. For all I know, they might simply not have paid attention.

Alternatively you can just ask any linguist, and they'll assure you using "literally" for effect is not just ages old and used by lots of prominent writers, but also an absolutely legitimate use of language, typical of the inventiveness that moves language forward, and a use that has many more similar examples that people who complain about it wont think twice about using.

>Otherwise I'll just assume that since they wrote a lot, there's going to be some mediocre bits and padding in it. For

The thing is question wasn't about it being good literature, but about it being legitimate use of language. It was more: "prominent writers use it too, not just ignorant buffoon as idiots claim" and less: "it belongs to good literature".

As for it carrying any signal, that's not something that can be refuted. It ALWAYS carries the signal of "emphasis" over the same phrase without it.

Re: Microsoft Edge's JavaScript engine to go open-source

#247
post #19

Wait, Edge does better on ES6 coverage than both Chrome and Firefox? Microsoft have seriously stepped up their game, especially seeing as it's now neck and neck for performance with Chrome: http://venturebeat.com/2015/09/10/browser-benchmark-battle-s...

It might perform as fast as Chrome. I certainly wouldn't rank it as stable or memory efficient. It hasn't been, in my experience.

I use Chrome as my primary browser on Linux and OS X. Tried to use Edge as primary on 10, but it's a freaking HOG. I'm using Chrome as primary on 10 now, too.

Can't wait to see what improvements come.

Re: Microsoft Edge's JavaScript engine to go open-source

#248

Earlier quoted context omitted.

One would think Firefox would lead here, since the browser is Mozilla's primary product, imagine how much hype and PR Firefox would get if only they were far ahead on ES6.

Microsoft has about 120 times the number of employees that Mozilla has. That's an insane number. If they consider the browser remotely important, they can put much more resources behind it than Mozilla ever can. Only things like the Mythical Man Month save Mozilla a bit here.

[deleted]

Re: Microsoft Edge's JavaScript engine to go open-source

#249

Earlier quoted context omitted.

You're comparing apples and oranges here. Rendering engines (all in C++ except Servo): - Servo - Blink (Chrome/Opera) - Trident/Spartan (IE/Edge) - Webkit (Safari) JS engines: - Spidermonkey (used by Servo and Firefox) - Chakra (used by Trident/Edge) - V8 (used by Blink, also by Node) Servo already uses a JS engine in C++ because a Rust JS engine is a huge undertaking in itself (see [1]) It does make sense to try out…

I have a vested interest in creating a SM -> Chakra adapter to swap out SpiderMonkey and be able to compare it to see how it does because Chakra is also an interpreter and not JIT-only like V8. Such an adapter would also make playing with Servo -> Chakra possible. I haven't play with Servo, but is there a list of all the JSAPI calls that it needs to function or can you easily dump that list?

The comments below link to the bindings (rust-mozjs is the Rust API, but the parts of it we use are in components/script/dom/bindings).

Here's a `git grep jsapi` on that folder: https://manishearth.pastebin.mozilla.org/8853940. Haven't removed duplicates or formatted it, so it's probably much shorter than it looks.

Please keep me posted about this!

Post reply on HN