Servo passes Acid2
twitter.com
twitter.com
[1] https://github.com/mozilla/servo
[2] https://en.wikipedia.org/wiki/Rust_%28programming_language%2...
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.
(1) Browser UX research isn't part of the research agenda for Servo at this time. (That isn't to say we aren't interested in browser UX research at Mozilla, just that that isn't being done under the Servo project.)
(2) It helps to ensure that we are embeddable. We want Servo to be an embeddable Web rendering engine for people to use in their own projects.
That said, I don't think it could be ready for years if ever.
I remember the mess I saw on my PSP when I tried it out when Acid 2 was important.
If you want an existing one, in a simpler browser, try Dillo or NetSurf.
[1] https://github.com/mozilla/servo/ [2] http://ftp.osuosl.org/pub/fosdem//2014/UD2218A/Saturday/Serv... [3] http://www.joshmatthews.net/fosdemservo/
One of Servo authors worked on WeasyPrint.
WeasyPrint passes Acid2.
I'm impressed that a non-profit has funded two of these projects.
Specifically, are there any real benefits to the "parallel" aspect of this?
Of course, firefox is already bloody fast on any site I can think of. Not sure what sorts of improvements I should be looking for.
Except nobody ever said that back in 99.
To support my side, do a Google search for "Joel spolsky Mozilla". Hope that helps. Granted, it was written four months into 2000, but was reflecting murmurings one would read on Slashdot months earlier (back when /. was the HN of its time).
To be fair, the lesson learned there was to not bet your company on a rewrite. Which they are not doing.
The second thing it shows is that history repeats itself. The pundits, much like you will prove to be, were wrong. Thanks to the brilliance of jwz, the Mozilla project and the gecko rewrite has outlived both Netscape and AOL. Firefox is a flagship example of how open development can create a superior product that can outlast the companies that make it.
The next thing this proves is that open development is continuing to show that rewriting an engine doesn't require "betting the company" anymore. Mozilla and Samsung are both heavily-invested in Servo, and are expecting this rewrite to be at the core of your future operating system. But if servo doesn't pan out, Mozilla won't be filing for chapter 11 protection
That is, MS used some underhanded tactics to gain market share. They also took advantage of (and probably forced) a major misstep by a competitor.
That Phoenix/Firefox was able to be resurrected from the ashes is a fortunate occurrence, but at no time did that at all come of as if it was planned. I pretty much consider it the "classic coke" of the browser wars. (Remember, phoenix was originally Mozilla's suite, stripped down to just the browser.)
So, yes, it has gone rather well. However, I'm not sure the codebase can afford to survive the death of its stewardship again. The statistics show a clear dominance of "not Mozilla" historically.
To the point that I'm not all sure on what you are basing your claim of Mozilla "now setting the pace." Don't get me wrong, I'm glad it is doing well. It is my browser of choice. However, I realize I am the minority both in my friends/family and statistics.
Which is funny. In my family, the browser choice is either Safari or IE. Depending on OS of choice. In my friends, it is Chrome. To the point that I'm not even clear what lessons are to be learned from these choices, honestly.
So, back to the point. How were the pundits wrong? Did AOL/Netscape somehow come off well by the rewrite? Was it a sound investment? If anything, I would think the continued active development of the non-servo codebase shows that it is sound advice not to bet the company on a rewrite, and that they learned it. Are you really claiming otherwise?
When it comes to areas in which Servo is ahead of current browsers, I can name many: off-main-thread layout, parallel layout, off-main-thread iframes (not out of process to avoid scaling issues), a fully garbage-collected DOM without cycle collection/reference counting or stop-all-threads GC, and, most of all, being written in a memory-safe language. These are all areas in which other browser engines would need to catch up to Servo--though it's unclear how to do that without a complete rewrite, especially for that last one.
That is, I am more asking as to what lessons have been learned. Not demanding that we know what progress was made. Since, as you point out, we may not have made any.
Which is to say, I should throw up a huge "I'm not trying to dissuade any of this effort." If I have been too negative in my comments here, I humbly apologize!
http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-...
I'm hoping to make more blog posts.
That's because all the sites we can think of are designed to be fast in Firefox (and other current browsers). Once super-fast browsers become standard, we can start designing sites that would be unusable on today's Firefox :)
and implement basic stuff like Summary/Details or you know some HTML5 form controls...
And some file system api, seems to me Mozilla dont care about offline webapps,since the WebSQL debacle...
Because you care about your users being able to use the site?
Because modern users aren't tethered to the wall any more?
"Maybe they could start by not choosing to arbitrarily wipe Web browser data as the first step of reclaiming memory for the operating system"
Okay, now I'm curious.
Assume the system is totally out of storage. Something has to go. Should it be:
1) Apple's answer (i.e., deleting cached web pages and data) 2) Your answer (which would be?)
Also add very easy deploy and hosting of your app.
offline webapps
Paging Dr. Oxymoron[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/...
Did you get that impression from the fact that they're building a whole OS based on offline webapps?
oh wait,it does not,because of this crappy indexedDB Moz pushed.
Besides, if you want to use SQLite in the browser, you don't need WebSQL: https://github.com/kripken/sql.js
>Not supporting your pet feature !
See, your arrogance will be your doom,i'm sure devs that take HTML seriously will appreciate your contempt and disdain. >WebSQL is not even a standard.
Because Moz folks did not support it. And you want me to use a (synchronous) javascript when browsers already cheap with sqlite?Did you even test sql.js ? No ,that's not even production ready