> a new automated page load testing performance infrastructure that he has been testing. It compares Servo daily builds against Firefox for page load on a subset of the Alexa Top 1000 sites. Check it out!
I don't understand the graphs under the link. Under all colors it says "servo" and "linux64". So what is Firefox (gecko), what servo?
I periodically test it out (most recently yesterday, in fact) and on popular sites like espn.com and cnn.com it doesn't render them properly. Meaning, not the padding is a little off, but parts of the page simply don't render at all.
This is not a criticism of their efforts, which are impressive, just pointing out that it might not be ready to compare in terms of performance.
However we have made an effort to implement things we expect will have an effect on our performance first to counteract this.
There are also sites included in our page load suite that Servo renders quite well, and should be a fair comparison.
Another reason benchmarks are hard is that many of Servo's individual pieces are blazing fast, and we do many tasks in parallel, but end-to-end performance still needs work and tuning, which is why our initial page load numbers are below Firefox. This is in large part due to the community concentrating on those hard parts and not spending any time on things like the network stack or disk caching.
A key point is that there is so much low hanging fruit that it is falling off the tree by accident (as seen in the suffix list PR). New contributors can make a huge impact here with minimal effort.
(Edited for clarity).
I'd like to get into Rust development and maybe help out with Servo (because it seems like an awesome project) but i have very limited experience with c/c++ (arduino and openframeworks). What is a good way/place to get comfortable with Rust?
(I am using Windows, can you even develop with Rust on Windows?)
https://doc.rust-lang.org/book/
It's very nice, and the people on IRC are extremely helpful.
Windows is a supported plateform, msi are available on https://www.rust-lang.org/
I've been checking their mailing list and bug tracker and saw nary a peep about the alpha, so it's good to hear something.
zero copy yes, parallel I don't know
We do selector matching in parallel (parsing is probably serial?), layout in parallel, and offload almost all of the rendering work onto the GPU.
Not sure what you mean by "in-going data duplication". We try to be zero-copy when we can, and share as much as possible. Rust helps here; because you are free to try and share things without worrying if they will go out of scope too early, and the compiler will tell you if your guess was wrong.
"in-going data duplication" ummm... i guess i meant ;) duplication of the incoming data (network packets->buffers->resources like html-files etc) in the sense of trying to minimize the amount of data duplicated and moved around to be used by various code-parts.
Most probably the most interesting parts are those areas where even Rust can't really "help" to prevent that. thanks
CSS matching and layout have fine-grained parallel algorithms built on top of work stealing queues. Rendering is handled totally on the GPU (as opposed to other browsers which just offload compositing).
Anyone know what Rust code is shipping in Firefox?
Source: https://docs.google.com/document/d/1JMOtVkRtb-s7auoQdnX810HG...
https://github.com/mozilla/mp4parse-rust
Source: http://blog.rust-lang.org/2016/05/16/rust-at-one-year.html
Great stuff. Looking forward to see how it evolves.
https://blog.mozilla.org/research/2014/08/26/javascript-serv...
Use after free generally isn't possible in rust in safe code.
`Browser.html: an experimental browser UI for desktop.`
In my opinion they're the only ones left pushing for an open & standards-based web. Certainly not Google with their hard push to make developers make Chrome Apps instead of web apps and obviously Apple doesn't push open anything, ever.