http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-...
http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-...
From that post:
> No doubt about it, CSS 2.1 is tricky—floats perhaps more than anything else.
I really hope that Servo helps to identify parts of the HTML/CSS specs (if any) that unnecessarily prevent parallelism. By that I mean features (like "float" perhaps) that make it harder to parallelize, and where an alternative design could support the same use cases in a better way.
Those are the gems that teach us deep lessons about the problem space, and how future similar technologies out to be designed.
This is beginning to happen; for example Servo work on running <iframe sandboxed> documents in parallel [1] led to the discovery that the HTML spec allowed different-origin iframes to mutate into same-origin, through the "document.domain" setter [2], which made process isolation infeasible (since it would require some way to merge separate processes with separate heaps back into a single process). That discussion led to a change in the spec [3].
[1] https://groups.google.com/forum/#!msg/mozilla.dev.servo/LQ46...
[2] http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2013-Aug...
Just having more and more of this stuff documented (instead of having to reverse-engineer it from existing browsers) makes things a lot easier than they once were.
I guess now we're in this hole we best keep digging
Drastically changing the HTML standard would take even longer than developing Servo.
Beyond marketing, wouldn't more slow cores consume less battery power than fewer fast cores?
capacitance * voltage^2 * frequency
but the voltage limits the clock frequency. The exact scaling of maximum clock frequency with voltage depends on the circuit and the process, but from taking a glance at the voltage tables it looks like the main cores in current Snapdragons are generally running in the 0.8-1.2v range across their entire frequency range.
i heard the whole multiple core thing is spurred in part by manufacturers trying to increase fab yield: if one of the cores on a multi-core chip is bad, it can still be sold, albeit at a lower price, rather than thrown out.
* This is probably too optimistic.
On the other hand, I believe that HTML layout can be done, using only a single thread, much faster and with far less memory than current mainstream browsers do, by greatly simplifying the code (i.e. remove excessive use of abstraction, using different data structures, etc.) Not exactly the same, but along the same lines as, this related item that appeared here a few days ago: https://news.ycombinator.com/item?id=7457674
Regarding new specs, we're of course working on that too, with specifications like flex box and grid layout. Part of Servo's goal is to steer the conversation toward what can be done to make future CSS specs parallelizable on CPUs and GPUs. But of course we want to be fast on existing Web content as well.
If takes 10x the power to do layout in 20ms vs 30ms is it still a good deal?
Ho ho ho... good one.