Hacker News new | ask | show | jobs
by mbesto 5023 days ago
> Hardware gets better at a rapid rate and HTML5 (CSS, Javascript, etc) is still improving.

Hardware is only improving as fast the vendors see a need to. If the ARM chips in a smartphone suffice for say 90% of the games produce on a iPhone, why on earth increase it's power? We all know (hopefully by now) that the HTML5 spec chews through CPU, especially when called in parallel requests. It's not advantageous for Apple to optimize the HTML5 spec, otherwise it decreases lock-in.

Also, this is the same argument that happened in the 90's with desktop/laptops and only really has progressed now with the existence of modern browsers. The only way that this was possible was when telecommunication infrastructure was able to support always connected devices, which the late 90's and early 2000's has proven. We are almost there, but considering 3G (4G, LTE, or whatever) is still not 100% reliable, I don't see this happening anytime soon. I really think we are less "connected" (technologically speaking) than the general public gives us credit for.

1 comments

Also core count is increasing, but raw speed per core really isn't. Multicore really doesn't help web rendering very much. Nearly all javascript out there is single threaded and most dom rendering is too.
Raw speed per core is increasing DRAMATICALLY in mobile. Faster than even Moore's law would dictate. As the die process has shrunk, more transistors are fitting within the mobile TDP ceiling so modern processor methods are finally getting used. As recently as the ARM A8, out-of-order execution wasn't even used!

You can verify that this is correct by looking at any benchmark.

> Multicore really doesn't help web rendering very much.

There are people working on changing that, for what it's worth.

Indeed. Blossom[0], a mobile MVC client framework for business apps, is being updated as we speak to split apps into a UI/animation thread, with the application/model layer/network in a web Worker on a separate thread.

Disclaimer: I wrote Blossom.

[0] https://github.com/erichocean/blossom

There is also work from the other side, to make the browser engines take more advantage of parallelism. That's more what I was referring to.

Blossom sounds pretty neat!

Why are people downvoting this?
> Nearly all javascript out there is single threaded and most dom rendering is too.

http://en.wikipedia.org/wiki/Web_worker

That's really not a rebuttal. Yes, lots of browsers now support web workers. Yes, it is therefore possible to write multithreaded javascript. And that may become more common over time. But for now, the fact that it's possible does not change the fact that nearly all javascript is still single threaded.
IE10's chakra engine parallelizes interpreted javascript execution (on page load) with JIT compilation and garbage collection. So you can have up to three cores at work executing javascript even without web workers. Meanwhile, the rendering subsystem offloads to the GPU, and the whole thing can exist multiple times for multiple tabs, potentially involving dozens of cores executing your web apps.

http://blogs.msdn.com/b/ie/archive/2012/06/13/advances-in-ja...

Of course all of this is useless in the context of mobile web views because Android dropped web workers and IOS just picked them up.