Background Javascript Compilation Boosts Chrome Performance
kc123 writes "The latest version of Chrome includes improvements in JavaScript compilation, according to the Chromium blog. Historically, Chrome compiled JavaScript on the main thread, where it could interfere with the performance of the JavaScript application. For large pieces of code this could become a nuisance, and in complex applications like games it could even lead to stuttering and dropped frames. In the latest Chrome Beta they've enabled concurrent compilation, which offloads a large part of the optimizing compilation phase to a background thread. The result is that JavaScript applications remain responsive and performance gets a boost."
Why would you be dynamically loading new code in the middle of a game loop anyway? You would have know this causes issues when you designed the application and would have loaded it all up prior to executing the loop.
The "news for nerds" takeaway is: everyone is assuming mutiple-core systems now. For a single-core system, this will make things *slower*.
There are still single core systems that aren't legacy and use java?
It might make things slower, but it still might make things *appear* faster but reducing pauses in the Javascript thread. You might not notice 10 10ms pauses but you'll probably notice a 100ms pause.
As far as I know Firefox already has this feature, and Internet Explorer had it even longer than that. Chrome is no longer the leading web browser, this is a nice illustration of that.
What's Java got to do with anything in this article? Except Java and Javascript share common letters in their name.
We have the same performance critical application in both Java and Javascript. After doing many optimizations in JavaScript (and therefore running into several JavaScript JIT compiler bugs in different browser versions!), JavaScript is still much slower. JS is indeed a promise, but only because it is in newborn state if we consider using it for larger applications.
It is not an accident that Google tries to replace JavaScript with Dart, which already outperforms JavaScript and is more suitable for larger applications. JavaScript was never intended for such purpose. It is very good however, for scripting a web page.
Do not block the UI thread.
For a single-core system, this will make things *slower*.
Unless Chrome checks how many cores/threads are available and acts accordingly.
systemd is Roko's Basilisk.
Is anyone else surprised...?
I sure am. I mean these browsers are so expensive you'd think they'd optimize them for something other than making 8-10 levels of recursive <iframes> work so well for advertiser CDNs. I pay a lot of money for my Chrome license, just like you, and I expect more for my money than just a banner ad pump.
Maw! Fire up the karma burner!
How stupid! The concept of multi-threading has been around since the 1950s.
Every day now I'm still amazed at how little newer members of the technology community actually know about the history, at least some concept, of where modern computing originated.
Harrison's Postulate - "For every action there is an equal and opposite criticism"
Multi-core systems have been the norm for consumers for what, 5 years now? Probably longer. One of the biggest complaints about the multi-core trend is that software isn't written to take advantage of it.
So I give you the following food for thought:
- Consumers who care about speed are unlikely to have a 10 year old computer.
- Consumers who have a 10 year old computer are unlikely to complain about the overhead multi-threading has on a single core computer.
I call bullshit. Just tested this myself:
Chrome Experiments on a CPU intensive page with half screen filled: 23% CPU
Firefox on the same page: 49% CPU
Chrome playing a 1080p Youtube Video: 7% CPU
Firefox playing a 1080p Youtube Video: 3% CPU, Flash plugin for Firefox 8% CPU
In both cases the GPU load appeared identical. Firefox v26, Chrome v32. I don't have IE10 or the flash player plugin for IE9 so it couldn't be tested.
So it can automatically install updates (the service has more permissions than the user, so it can write to the program files directory).
I believe Firefox does it too (obviously it only has one service. I have seen Chrome set up multiple things (service and scheduled tasks) in multiple places, it's kinda crazy).
New things are always on the horizon