FF has for me crashed more times in the last week than in the previous year. - Multiple installs on different Linux systems. The last crash was with a clean profile. And then there's the disappearing dev tools - that's fun. EDIT: I hope that there is something weird with my systems. But I fear that the rush to push this out might have been a little hasty. EDIT EDIT Apart from the crashes the new FF has been nice. I'v…
I have been using Firefox for several months, using Windows 10, and several GNU/Linux distributions, different hardware, etc., and have never experienced a crash. It's definitely something weird to do with your systems, meaning it's a real bug that you are experiencing, and I am not. So please share crash reports, and file bug reports. Different hardware/software quirks may reveal bugs in Firefox/Linux/drivers/window…
How Stylo Brought Rust and Servo to Firefox
101–110 of 199 posts
Re: How Stylo Brought Rust and Servo to Firefox
#102Earlier quoted context omitted.
Can anyone explain what a URL parser does and why it's so complex? I feel like there's a whole interesting story lurking there.
A URL parser takes a string with a URL in it, and returns some sort of data structure that represents the URL. It's complex because URLs are complex; I believe this is the correct RFC: https://tools.ietf.org/html/rfc3986 It's 60 pages long. (That said, page length is only a proxy for complexity, of course)
Re: How Stylo Brought Rust and Servo to Firefox
#103Earlier quoted context omitted.
> most benchmarks Which benchmarks are you talking about? It depends on what those benchmarks measure. For example, a lot of the Quantum work was in user-percieved UI latency; unless the benchmark is measuring that, and I imagine that's a hard thing to measure, it's not going to show up. > Does Rust have a runtime penalty as Golang does? Rust has the same amount of runtime as C does: very very little. https://github.…
Not sure if this is normal, but I have very noticeable lag in the search/address bar autocomplete which does make the whole browser feel a bit slow (MacOS Sierra, using Developer Edition). And since we are here, the prompt/dialog windows in FF are still not native looking too. These are my two major complaints :)
Re: How Stylo Brought Rust and Servo to Firefox
#104Anecdote regarding this new FF: I would find frequent cases where my system would stall for 10-20s (could not caps lock toggle, pointer stopped moving). I almost always have just Chrome and gnome-terminal open (Ubuntu 16.04). I had attributed it to either a hardware or BIOS/firmware defect. Now, after switching to Firefox I have gone a week without seeing those stalls. YMMV -- I never bothered to investigate, it coul…
Re: How Stylo Brought Rust and Servo to Firefox
#105Earlier quoted context omitted.
In Joel's defense, we don't know that gecko is better than X years of incremental changes to Netscape 4. One of the big issues with software engineering advice is that it is really hard to find apples-to-apples comparisons for outcomes.
True. I think we can say that Gecko ended up technically better than incremental changes to Internet Explorer, which I think was starting off from a more maintainable codebase than Netscape 4. That's hardly conclusive but it's some evidence.
Simply shifting the burden of proof to the "rewrite" side is usually sufficient. Where I currently work a rewrite request is not answered with "no" but "show me the data." 90% of the time the requester doesn't even try to gather data, the other 10% of the time results in some useful metrics about a component that everyone agrees needs some TLC, whatever the final decision.
Re: How Stylo Brought Rust and Servo to Firefox
#106I love Firefox Quantum and it has replaced Chrome as my browser at home. It's memory consumption is far lower with the same amount of tabs open. That said, why does it perform slower than Chrome on most benchmarks? Is it due to the Chrome team doing much more grunt work regarding parallelism and asynchronous I/O? Or are there still features in the current Firefox build that still call the original engine? Does Rust h…
> most benchmarks Which benchmarks are you talking about? It depends on what those benchmarks measure. For example, a lot of the Quantum work was in user-percieved UI latency; unless the benchmark is measuring that, and I imagine that's a hard thing to measure, it's not going to show up. > Does Rust have a runtime penalty as Golang does? Rust has the same amount of runtime as C does: very very little. https://github.…
I'm embarrassed to say that I just blindly trusted a couple of websites' claims that they ran benchmarks, without verifying they're even industry-standard. The articles were on Mashable and AppleInsider.
Mashable tested webpage load times, which only one dimension of many to optimize for. AppleInsider looked at speed, CPU usage, and memory consumption.
Re: How Stylo Brought Rust and Servo to Firefox
#107Earlier quoted context omitted.
> Apple created LLVM and clang To be specific, LLVM started as an academic project by Vikram Adve and Chris Lattner in 2000. Apple hired Chris Lattner in 2005 to work on LLVM for Apple. Clang, though, does appear to have been an Apple project, being introduced by Steve Naroff of Apple in 2007 as an open-source project.
Thanks for pointing that out. LLVM is one of the main things Apple gets to claim credit for, yet they aren't the only ones who deserve it. LLVM is one of the reasons rust is so great, and the world is better because of it.
Re: How Stylo Brought Rust and Servo to Firefox
#108Earlier quoted context omitted.
> most benchmarks Which benchmarks are you talking about? It depends on what those benchmarks measure. For example, a lot of the Quantum work was in user-percieved UI latency; unless the benchmark is measuring that, and I imagine that's a hard thing to measure, it's not going to show up. > Does Rust have a runtime penalty as Golang does? Rust has the same amount of runtime as C does: very very little. https://github.…
Thanks, that's good to know about Rust's runtime. I'm embarrassed to say that I just blindly trusted a couple of websites' claims that they ran benchmarks, without verifying they're even industry-standard. The articles were on Mashable and AppleInsider. Mashable tested webpage load times, which only one dimension of many to optimize for. AppleInsider looked at speed, CPU usage, and memory consumption.
It also true that sometimes it's slow! There's always more to do.
Re: How Stylo Brought Rust and Servo to Firefox
#109Earlier quoted context omitted.
What I wonder, and I do not mean this in negative way, is whether this would have happened in a more commercially oriented organisation. Mozilla remains a foundation, and I consider Rust a fruit of their labour in itself. To put it another way, I find it hard to justify developing Rust just for a web browser. But if you consider it from the perspective of a foundation developing tools for the developer community as a…
> I find it hard to justify developing Rust just for a web browser "just for", our browsers are already very complex. The browser is responsible for sandboxing and in effect taming the wild web.. and the web is not looking to become less wild :) in the future browsers will have to prioritize CPU time between tabs seeking to mine bitcoin, crazy ad schemes, and battery power. In terms of security, browser bugs scares m…
Re: How Stylo Brought Rust and Servo to Firefox
#110It's gratifying to see how successfully the same organization has learned from the debacle that was the rewrite from Netscape 4 to Mozilla in the first place. That time, they didn't release for years, losing market share and ceding the web to Internet Explorer for the next decade. Joel Spolsky wrote multiple articles[1][2] pointing out their folly. This time, their "multiple-moonshot effort" is paying off big-time be…
The original plan was for the Servo project was to develop a new browser engine separate from Gecko, similar to the original Mozilla transition. An alpha-quality browser with Servo as an engine was originally a 2015 goal, and the active goal tracking this was removed from the roadmap in 2016: https://github.com/servo/servo/wiki/Roadmap/_compare/47f490b... As someone who was involved with Servo during that time period…