On Tue, Oct 27, 2009 at 9:11 PM, Adam Barth <aba...@chromium.org> wrote: > My three laptops have relatively comparable hardware and run Chrome on > Windows, Mac, and Linux respectively. The Linux version of Chrome > feels ridiculously faster than Windows and Mac. Do we understand why > this is? Can we make Windows and Mac feel that fast too?
My first instinct is to say because (1) we're awesome and (2) Linux is awesome, but I'd prefer to have facts back it up. :) There's a "perf" link on http://build.chromium.org that has builders tracking various metrics. If we get perf tests for the behaviors you care about, we can better compare and improve them. On the other hand, I'm not sure if the hardware lines up between platforms so maybe the comparisons I do below are not valid... > General observations: General comments: Linux tends to be "lighter" which means it does better on older hardware, so depending on what sorts of laptops you're talking about that could be a major factor. Windowses later than 2000 or so need surprising amounts of hardware to run well. (I don't mention Mac below because there hasn't been much performance work there yet.) > 1) Scroll performance is extremely good. Even on Gmail, I can only > get the mouse to lead the scroll bar by a dozen pixels. On Slashdot, > it doesn't even look like I can do that. On "plain" pages (one scrollbar on the right, no Flash) scrolling is literally shifting the pixels down. On Linux we do this by sending a command to the X server, which is a single process that even has the graphics drivers built in so it talks directly to your graphics card and can in theory do a hardware-accelerated copy. I would expect this to be pretty fast. However, Gmail is a "complicated" page (the main scrollbar is an iframe) so in that case I guess rendering speed is getting involved. There I'd expect Windows Chrome to be faster because the compiler is better and there have been more people looking at performance (I saw in another thread that tcmalloc, currently only used on Windows, improved the page cycler by 50%?). The page cycler perf graphs are intended to test rendering speed. Do the numbers match your perception? I can't get the right graphs to load right now. It looks like spew from NOTIMPLEMENTED()s may be obscuring the data. > 2) Tab creation is very fast. Maybe the zygote is helping here? Can > we pre-render the NTP on other platforms? The zygote is paused right at process start, before we've even started a renderer. On the other hand Windows process creation is more expensive. There is a "new tab" graph that attempts to measure this. The various lines on the graph are tracking how quickly we get to each stage in constructing the page. We hit the first line 20ms faster on Linux than Windows likely due to the zygote and "slow" Windows process creation, but process startup seems to be a relatively small part of the total time. Linux hits other lines later and Linux and Windows hit the finish line at around the same time. In your case, I wonder if you have more history accumulated on your Windows profile, making the new tab computation more expensive than the equivalent one on the Linux box. I'd expect the faster file system on Linux to eventually be help here. (My experience with git has been you get an order of magnitude slower each step from Linux->Mac->Windows, but that could be git or hardware-specific.) > 3) Startup time is faster than calculator. I'm not sure if you're kidding. Do you mean Windows calculator? Maybe there's something wrong with your Windows box -- maybe a virus scanner or disk indexer or some other crap procmon will show is continually thrashing your computer. Or maybe you have a spare Chrome instance on another virtual desktop on your Linux box so clicking the Chrome button is just telling it to show another window. The startup tests are intended to track startup performance, and again the Windows graphs are much better than the Linux ones. However, the difference between the two is milliseconds and my experience as a user is that Chrome rarely starts that fast, so I wonder if these graphs are really measuring what a user perceives (which frequently involves disk). In the limit, I'd expect us to pay a lot more on Linux due to using more libraries, GTK initialization, round trips to the X server, etc. but I don't know much about Windows here. --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---