4 ms·
> I agree that Firefox's performance is quite bad these days, but Mozilla is already working on that (with Servo). I've checked out servo and compiled and star
by idobai 10y ago
> I agree that Firefox's performance is quite bad these days, but Mozilla is already working on that (with Servo).
I've checked out servo and compiled and started it in release mode - it required 600MB RAM and 700% CPU to load google(!) with the same speed as my little firefox with tons of extensions - forgive my ignorance but I've expected more from the hype. I've tested some other websites but no luck - Servo is a heavy and slow beast.
> I am throughly impressed with Rust, the language, the ecosystem, and most importantly the way it's maintained by Mozilla.
Rust programs consume so much resources that it could just use a GC instead of the complex manual memory management. The syntax and the standard library is as 'modern' as in cpp - I'm not as impressed as I was a fan of Mozilla.
> Personally, I continue to use Firefox as my daily driver, because it appears to respect my privacy more than Chrome, despite its performance issues.
Search the internet for optimizations, my firefox feels like as fast as chrome - sometime even faster. It just needs some tweaks. Even if ff would be much slower I wouldn't leave it because of firefox's wonderful extension platform and its nice complete theme suites.
- kibwen 10y ago> Rust programs consume so much resources that it could > just use a GC I'm not sure where this is coming from. Everyone that I've spoken to about using Rust in place of managed languages has noted incredible reductions in memory usage. Indeed, this was one of the primary reasons for Dropbox adopting Rust for their core storage engine. Quoting from https://news.ycombinator.com/item?id=11283688 https://news.ycombinator.com/item?id=11283688 : "The reasons for using rust were many, but memory was one of them. Primarily, for this particular project, the heap size is the issue. One of the games in this project is optimizing how little memory and compute you can use to manage 1GB (or 1PB) of data. We utilize lots of tricks like perfect hash tables, extensive bit-packing, etc. Lots of odd, custom, inline and cache-friendly data structures. We also keeps lots of things on the stack when we can to take pressure off the VM system. We do some lockfree object pooling stuff for big byte vectors, which are common allocations in a block storage system. It's much easier to do these particular kinds of optimizations using C++ or Rust." And the above paragraph is using Go as a baseline, which itself already tends to use less memory than Java.
- pcwalton 10y ago> I've checked out servo and compiled and started it in release mode - it required 600MB RAM and 700% CPU to load google(!) with the same speed as my little firefox with tons of extensions - forgive my ignorance but I've expected more from the hype. Thanks for the bug report, but I can't reproduce. According to the built-in memory profiler, Servo uses 39 MB of explicit allocations to load google.com, which is well in line with other browsers even without a whole lot of optimization for memory use. A large amount of CPU usage during initial pageload, on the other hand, is a feature, not a bug. Using more resources lets us get the page loaded faster, which not only shows you the page faster but also typically reduces power consumption since we can get the CPU into an idle state. > Rust programs consume so much resources that it could just use a GC instead of the complex manual memory management. Manual memory management isn't about some broad notion of "resource consumption": it's about having low-level control of resources, which can not only reduce memory usage but also eliminate pauses. I think it's very unlikely that the JavaScript garbage collector could be made thread-safe without regressing performance (which is what you presumably mean by "just use a GC"). > The syntax and the standard library is as 'modern' as in cpp - I'm not as impressed as I was a fan of Mozilla. Just to name the first features that come to mind: Rust has a module system and hygienic macros, which are syntactic features not in C++. Rust comes with a standard library that includes networking, which isn't in C++. > Search the internet for optimizations, my firefox feels like as fast as chrome - sometime even faster. It just needs some tweaks. Those "tweaks" are in fact likely to be slowing down your browser.
- idobai 10y ago> Thanks for the bug report, but I can't reproduce. According to the built-in memory profiler, Servo uses 39 MB of explicit allocations to load google.com, which is well in line with other browsers even without a whole lot of optimization for memory use. If you say so, I'll check out a new version and try it again. I've tried it a few weeks ago on linux. > A large amount of CPU usage during initial pageload, on the other hand, is a feature, not a bug. Using more resources lets us get the page loaded faster, which not only shows you the page faster but also typically reduces power consumption since we can get the CPU into an idle state. Large CPU usage slows down other apps - that's one reason why I use ff instead of chrome. 8GB RAM seems too few nowadays... > Manual memory management isn't about some broad notion of "resource consumption": it's about having low-level control of resources, which can not only reduce memory usage but also eliminate pauses. I think it's very unlikely that the JavaScript garbage collector could be made thread-safe without regressing performance (which is what you presumably mean by "just use a GC"). I was pointing to the promise that it shouldn't leak while it seems to be doing it seriously. > Just to name the first features that come to mind: Rust has a module system and hygienic macros, which are syntactic features not in C++. Rust comes with a standard library that includes networking, which isn't in C++. I don't really like Rust's module system but +1 for the hygienic macros. > Those "tweaks" are in fact likely to be slowing down your browser. Have you heard about experimental features like pipelining and prefetch? Or content restrictors like uBlock and disconnect? Or session+history limits? When I reset my ff settings(due to ff profile problems) the vanilla ff takes at least 2x as much time to load the same page. If these "tweaks" wouldn't present - I wouldn't be a happy ff user.