
JavaScript Performance Updates in Microsoft Edge and Chakra - hellojs
https://blogs.windows.com/msedgedev/2016/06/22/javascript-performance-updates-anniversary-update/
======
jjcm
I think the biggest reason why this is important to most people isn't the
performance of JS in IE/Edge, but rather for the native html/js apps. A lot of
people don't realize that a lot of the new windows 10 features were written in
html/js. Native components like the start menu are all html5 (one of the few
things for windows desktop that I helped ship).

Curious to see if more of the UI gets converted over as performance continues
to improve.

~~~
frik
The Win10 startmenu is coded in C++ with XAML. A few months ago, the proud dev
mentioned it here on HN - he mentioned he was proud how responsive the layout
is. A HTML5 responsive design page would be have a more responsive layout
reflow and won't fill that static.

~~~
shultays
It certainly does not feel fast at all. As far as I remember start menus were
instant. Now it is not.

Much better than those monstrosity at windows 8 though.

------
maga
> a few recent Chakra improvements coming up in the Windows 10 Anniversary
> Update

As much as I am happy about Microsoft's decision to join the evergreen
movement, I'd be even happier if they did not attach browser updates to OS
updates. Considering how reluctant people about updating their OS, it kind of
defeats the purpose of evergreen when it takes months for people to move to a
new version. For example, accroding to StatsCounter[1] Edge 13 is used on 2.5%
of desktops while Edge 12 is still on 0.25%, that's like 1 in 10 users of Edge
is stuck on an outdated version.

>Deferred parsing for event-handlers

Nice, though, it's funny how we have invested so much into libraries and
coding practices that minimize the amount of DOM event-handlers to finally
side-step the issue by deferring their parsing.

>The results below show Microsoft Edge continuing to lead both benchmarks.

For about a week until the next version of Chrome or Firefox beats the numbers
and announces that they are "continuing to lead".

[1] [http://gs.statcounter.com/#desktop-
browser_version_partially...](http://gs.statcounter.com/#desktop-
browser_version_partially_combined-ww-monthly-201606-201606-bar)

------
formula1
Im really happy microsoft is investing such energy, pride and desire in their
web browser. Its almost a fairy tale, a company infamously creating their own
standards, lagging way behind and creating whole new browsers to go along with
the real product (operating system) into the bleeding edge of speed and
hopefully standards.

That being said, I still wonder whats behind it. Whether its so artists and
proffessionals view microsoft as a standard, so that more servers run on
chakra) or an attempt to gain control of market share so they can also be a
part of the info selling market. Regardless, Im happy they are on board

~~~
underwater
Google controlling a huge amount of the browser market share is a big threat
to Microsoft.

Chrome defaulting to Google for searching is is huge defensive play for search
in the long term. And probably a huge money maker to boot.

Google is also able to leverage the web platform for their own benefit.
Witness the recent announcement about Instant Android Apps; they are selling a
future where ordinary links and URLs actually lead to a proprietary native
Android experience. This is only possible because they own the browser and the
OS. They're kneecapping the web to compete with iOS.

~~~
BigJono
How does this differ from any other file hosted on the web? I could make an
address that just serves a .exe file, but people wouldn't say that Microsoft
is kneecapping the web because of it.

~~~
underwater
A browser doesn't download, install and execute that file though. Check out
the GIFs on their announcement[1]. They show a Google search result page
linking to a URL that seemlessly takes the user to a platform specific binary.

I expect that they'll give Instant Apps higher ranking. It's what they did
with Google+ profiles and AMP pages. If Google gives people better SEO by
converting their pages to native apps then that's a huge carrot for businesses
to move their development to this platform. And the web is going to be made a
second class citizen, even in the browser.

Google wins because they have companies and consumers locked into their
ecosystem. Apple and Microsoft lose because they can't run Instant Apps like
they can with web apps. Consumers lose because they're locked into Android.

If Microsoft were doing this it would be viewed with skepticism and labeled
"Embrace, extend, extinguish". I think that eventually we're going to realize
that having a single company control the world's most popular OS, most popular
browser and most popular entry point to the web is a not a good place to be
in.

1\. [http://android-developers.blogspot.com/2016/05/android-
insta...](http://android-developers.blogspot.com/2016/05/android-instant-apps-
evolving-apps.html)

~~~
ams6110
Microsoft had this since .NET Framework 2. It was called ClickOnce. It went
nowhere.

[https://en.wikipedia.org/wiki/ClickOnce](https://en.wikipedia.org/wiki/ClickOnce)

~~~
mattmanser
Click once sucked and was anything but.

I use Papercut as a little SMTP server for local dev on windows which uses
ClickOnce, the install + update processes are painful, even worse than Adobe
Flash Builder.

I just ran it, it updated needing 2 clicks and over 4 different popups shown.

It's an invasive, noisy, ugly, tech that was put to shame by Chrome's update
tech.

So it's not worth comparing.

~~~
johnmw
I think you are been a little uncharitable to poor Clickonce. Clickonce came
out a number of years before Chrome and at the time its simple publish model,
automatic update detection, and incremental updates were light years ahead of
the other clunky Window installers of the time.

------
netcraft
I havent heard anything more about node being ported to use chakra - I think
they were targeting a pr by summer, is that still happening? Would love to see
some of this performance competition on the server side as well.

Edit: looks like the pr ran into some opposition but im not sure what the
final status is, ill have to read it again later when im not on mobile.
[https://github.com/nodejs/node/pull/4765](https://github.com/nodejs/node/pull/4765)

~~~
aruneshchandra
[I work on the Chakra team] So yes, for now Node-ChakraCore repo is accepted
as part of the Node.js foundation and is being kept up to date with the
master. We are also collaborating with several Node core members in order to
carefully understand and plan the best way to bring it to the mainline. This
effort is called VM Neutrality (or Multi-VM) for Node. You can find out more
about this here [https://github.com/nodejs/vm](https://github.com/nodejs/vm)

~~~
egeozcan
I thought this had been forgotten. Great news, thank you for sharing.

------
k__
I won't use Edge, since I perefer to use the same software on different
platforms and Edge is Windows only.

But as a web developer, I think the Edge is awesome!

They even work on fully supporting "progressive web apps" (manifest etc.),
which makes suchs apps first class citizens on Windows (Mobile) and XBox.

I'm already using this feature heavily on Android and it saved me from a bunch
of native apps.

------
untog
Great to see MS doing this. To be honest, I'm amazed they haven't been a
bigger proponent of web technologies targeted at mobile - Web Push, Service
Workers, the whole Progressive Web App. It's clear they have an "app problem"
on Windows Phone and this would be one way to get more developers on board.

~~~
ams6110
At this point is there really a viable path to daylight for Windows Phone? I
don't know a _single_ person who uses one. A few had prior versions a few
years ago but all have moved to Android or iPhone by now.

~~~
jevinskie
It is concerning to me that WP seems to be dead in the water. I'd wadger that
an essential duopoly in mobile platforms is harmful to most people. BB (had a
phenomenal start and lost it) and WP (late to the party and then constantly
confused once it got to the party) would nicely round out the mobile platform
choices.

Honorable mentions go out to FirefoxOS (maybe as viable as WP?), Tizen (OK,
maybe that will be in some cars or TVs), and Maemo/Meego/Sailfish (oh how I
wish you would have been successful!).

Edit: I guess I forgot about Pocket PC. Maybe MSFT can be considered to be an
early starter that lost the picture?

~~~
rajeemcariazo
I think MS should open source Windows Phone OS and support more devices to get
more developers interested in the OS.

~~~
zepto
How would open sourcing get people interested if there are no users?

~~~
rajeemcariazo
I didn't say people. I said 'developers'.

------
cm3
I wish the same effort would be under way to improve space and time complexity
of the non-JS parts of browsers. DOM, CSS, Fonts, images, and the list goes
on. There's always some webpage which is super slow in one particular browser
due to some CSS feature. Usually it's evident in super slow scrolling.

------
ascotan
I like how this is a blog post appears to be about 2 code commits (neither of
which appear to have any tests btw).

Chakra Core - It's faster than ever! /cheer

I appreciate how the PM gets support for his team though. This post may have
been budget justification for happy hour.

~~~
zamalek
> 2 code commits

* Squashing commits works like that.

* Only having to change a few things to achieve a performance gain is a signature of well-designed software.

* The second commit touches nearly 1Kloc.

> any tests

Performance improvements aren't supposed to result in a change of behavior
(although tests can be reused for benchmarking/profiling). A large test
suite[1] that covers _behavior_ already exists.

[1]:
[https://github.com/Microsoft/ChakraCore/tree/master/test](https://github.com/Microsoft/ChakraCore/tree/master/test)

------
_pmf_
I really wish Microsoft would be in the position of Google. They provide
excellent technology (Typescript), but have no clout. Google provides
atrocious train wrecks (Dart, Go), but has tremendous clout.

~~~
spion
Dart is not atrocious. It

* has an excellent VM

* is an okayish language

* has a really well designed standard library.

------
eyko
I now wish we had a Chakra-powered browser for macOS.

------
itsbits
Good to know Edge team is more focussed and working on different issues of IE.
But Chrome is way to ahead when it comes to be developer friendly or
performance or features. I am not sure I will be move away from Chrome anytime
soon. Chrome extensions are way ahead. Browser sync is satisfactory in Chrome.
IE needs to catch up on this as well.

------
themihai
JavaScript is so '90! Let's see some WebAssembly benchmarks! XD

