TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

A closer look at the performance of Google Chrome

318 点作者 mrjbq7大约 12 年前

26 条评论

comex大约 12 年前
The claim that process isolation is "antiquated" is absurd, since it's what everyone else is doing except for those, like Firefox, who have not yet started to do anything at all. I don't know any other projects that do what NaCl does, so regardless of whether Google <i>should</i> switch to pure NaCl for sandboxing, if they <i>did</i>, it would be innovation, not scrapping an antiquated technology.<p>As for whether they should - although Native Client's software fault isolation can provide better latency than hardware-based solutions because there's no need for a context switch, it takes a hit in throughput (7% overhead) because of the code contortions involved (though being able to trust the executable code might improve things). There would be significant issues with supporting JIT in such a model, because JITs typically like to have rwx memory. Multiple sandboxes in the same process wouldn't work with the current NaCl model on 32-bit platforms. And although the SFI has been well secured, putting user code in the same address space as the master process might make exploitation easier - this would be partially mitigated if the address of the user code could be hidden from it, but doing that would require additional overhead because addresses could no longer be stored directly on the stack.
评论 #5282131 未加载
评论 #5281961 未加载
评论 #5281778 未加载
评论 #5287225 未加载
评论 #5281772 未加载
psn大约 12 年前
<a href="https://plus.google.com/103382935642834907366/posts/XRekvZgdnBb" rel="nofollow">https://plus.google.com/103382935642834907366/posts/XRekvZgd...</a> is a Chrome developer talking about cache metrics within chrome. He claims the cache is capped at 320MB. Now the graphs in the article never show the cache size hitting 320M, so possibly they are both right. ;)<p>I would prefer it if the article had more information on how to reproduce their tests. For example, they claim a faulty hashmap implementation. This seems like it would be possible to benchmark. Instructions on reproducing the 100ms delay between button click and network traffic would be cool too - as would data on how much worse that makes facebook's latency. Also, is their cache backed by ssds or spinning disk?<p>I'm also impressed that the speed of context switches matters on websites.<p>The jump to claiming that chrome caching is tied to ads is interesting. Perhaps the author could fill in more details.
评论 #5282234 未加载
ComputerGuru大约 12 年前
I don't understand why the author comes across as having a serious axe to grind. What is aptiverse's horse in the race?<p>Also this: <i>This is not the case for Chrome: the browser keeps all the cached information indefinitely; perhaps this is driven by some hypothetical assumptions about browsing performance, and perhaps it simply is driven by the desire to collect more information to provide you with more relevant ads.</i><p>I don't know about him, but I LOVE the fact that Chrome will show me if a link in purple or whatever if I visited it 2 years ago. Completely, totally, absolutely love. Other browsers can be (the last time I checked) configured to behave similarly. When you browse hundreds of web pages a day, catalog only a few of them, and then research a topic you once looked up over a year ago again, it helps to know which pages you've seen and which you haven't.
评论 #5283444 未加载
dhconnelly大约 12 年前
For anyone who wants more background on Chrome's multi-process model:<p>- Architecture: <a href="http://dev.chromium.org/developers/design-documents/multi-process-architecture" rel="nofollow">http://dev.chromium.org/developers/design-documents/multi-pr...</a><p>- Models: <a href="http://dev.chromium.org/developers/design-documents/process-models" rel="nofollow">http://dev.chromium.org/developers/design-documents/process-...</a><p>- IPC: <a href="http://dev.chromium.org/developers/design-documents/inter-process-communication" rel="nofollow">http://dev.chromium.org/developers/design-documents/inter-pr...</a><p>- Sandbox: <a href="http://dev.chromium.org/developers/design-documents/sandbox" rel="nofollow">http://dev.chromium.org/developers/design-documents/sandbox</a>
评论 #5282729 未加载
jgrahamc大约 12 年前
<i>This philosophy is embraced by the developers working on WebKit: in fact, the code responsible for rendering a typical web page averages just 2.1 effective C++ statements per function in WebKit, compared to 6.3 for Firefox - and an estimated count of 7.1 for Internet Explorer.</i><p>What is an "effective C++ statement"? That's a really odd measure and I can't get my head around it.
评论 #5281981 未加载
评论 #5282146 未加载
评论 #5282169 未加载
评论 #5282109 未加载
评论 #5282010 未加载
评论 #5282002 未加载
评论 #5282020 未加载
veb大约 12 年前
This is probably off-topic, but I've started using Safari religiously now. When Chrome first came out, it was barebones, fast and did the job. This is what Safari currently feels like, so I'm using it. Fast, stable, and does the job.<p>Now Chrome <i>feels</i> like it's just another bloated browser. Which is slow, and hogs my computer. &#60;/opinion&#62;
评论 #5281922 未加载
评论 #5283778 未加载
评论 #5281932 未加载
评论 #5281893 未加载
评论 #5282269 未加载
评论 #5281890 未加载
评论 #5284360 未加载
评论 #5282566 未加载
stanleydrew大约 12 年前
"... and perhaps [Chrome's aggressive caching] simply is driven by the desire to collect more information to provide you with more relevant ads."<p>The whole article loses credibility with me because of that one statement. Surely this guy knows that a local DNS or document or image cache is not being used to provide the Google mothership with more data to improve Adwords performance, right?
chadaustin大约 12 年前
Having tested the interactivity of various WebGL applications on low-to-medium-end graphics cards, I will say that Chrome's does have significantly higher latency than Firefox. Try this demo:<p><a href="http://n3emscripten.appspot.com/instancing.html" rel="nofollow">http://n3emscripten.appspot.com/instancing.html</a><p>Crank the number of instances up until the frame rate drops (on my Intel HD Graphics 4000 it's about 20,000) and then drag your mouse. Notice that the drag latency is significantly worse in Chrome than Firefox.
评论 #5284787 未加载
polskibus大约 12 年前
Opinion on process isolation is the most controversial statement in the article, but the other claims are more interesting and easier to verify. If the findings are confirmed by others, it will hopefully drive webkit/chromium ecosystem towards improvement.
ybaumes大约 12 年前
I am just wondering here: two blog post from a startup in "stealth" mode. One about CSS "advanced" tricks. The other one about criticizing Chrome browser. Are those guys about to release a competing Web-Browser? :P Too less cues to know, but still the question popped up in my mind.<p>It would explain the criticizing tone of the article. Don't make me tell what I didn't tell: they could be proven right or wrong, it is not my point. I don't want to follow the debate about Chrome performance here. But what I suggest is: unknowing the real goals of Aptiverse's business and their interests I would backup a little bit and try to look at the big picture. And avoid religious Emacs/VI war.<p>But well then, I am trying to make bold bet anyway. They could be about to release a new ground-breaking web-browser in the near future, make everyone switch and fix the issues they announced in their blog post. Don't know what future is made of! :-)
STRML大约 12 年前
When it comes to browser benchmarks, there is a lot of emphasis on JS performance, page load time, and memory consumption. But one area where I've seen Chrome absolute fall apart is scrolling performance. Safari regularly gives me 3-5x the frame rate when scrolling, to the point where some websites are nearly unusable on Chrome (say, Reddit with RES) but are butter-smooth on Safari.
ChuckMcM大约 12 年前
There was in interesting "Ah ha" moment in the development of the Xerox Star system when they figured out all the layers of abstraction meant that each character placed was taking a lot of subroutine calls. Flattening the architecture resulted in a 10x improvement in performance. It was an amazing result.
linuxhansl大约 12 年前
I have done my own tests a while ago (with Firefox and Chromium) and have concluded that for the sites that I frequent Firefox performs much better and uses less RAM. Every now and then I repeat that experiment... So far always with the same outcome. The notion that Chrome is faster is mostly measured by benchmarks; for my browsing behavior that does not translate to real real life performance.
评论 #5284644 未加载
aristidb大约 12 年前
I don't buy the claim that process isolation is superseded by NaCl-style validation.
评论 #5282173 未加载
dbloom大约 12 年前
<i>"This is because the synchronization needs to occur over a low-throughput, queue-based IPC subsystem, accompanied by resource-intensive and unpredictably timed context switches mediated by the operating system. To understant [sic] the scale of this effect, we looked at the latency of synchronous, cross-document DOM writes and window.postMessage() roundtrips."</i><p>Web pages running in different Chrome renderer processes can <i>only</i> communicate using postMessage. WebKit's design makes it practically impossible to access DOM or JS objects across different processes or threads (the only browser that can do this as IE -- top level browsing contexts have run in different threads in IE since the beginning).<p>You can test this hypothesis by creating two same-origin documents in different processes. In the first window, do window.name="foo"; then in the other, do window.open("javascript:;", "foo").document.documentElement.innerHTML="hello"; this will work in every browser except Chrome.<p>Chrome actually provides a way for web developers to explicitly allow a window.open invocation to create a new renderer process (see <a href="http://code.google.com/p/chromium/issues/detail?id=153363" rel="nofollow">http://code.google.com/p/chromium/issues/detail?id=153363</a> ). This way, the author can allow Chrome to use a new process if they don't need access to the popup beyond postMessage.<p>So, I have no idea where that peak 800 millisecond DOM access latency came from, but it's not from IPC across renderer processes. I'd love to see the benchmark that was used to get that number.
评论 #5283537 未加载
33a大约 12 年前
The only real wtf here is the history issue. The rest of the stuff -- especially the "antiquated" process isolation -- seem like reasonable trade offs. Switching to a better hash implementation should solve 90% of the performance problems.
xpose2000大约 12 年前
This is a fantastic blog post, and I am thankful Alex took the time to write about it. There is no question someone over at the Chrome team is starting a conversation about these findings.<p>The best thing about Chrome is that they move fast. So I suppose the first step is to get an official response by someone over there....
damian2000大约 12 年前
I started using Chrome in late 2010 and used it continuously until about 3 months ago. It started suffering the problem of tabs just freezing about every few minutes of browsing. This behaviour started happening around the same time on two different machines - one quad core desktop, another lenovo laptop. Since then I've gone back to FireFox, but this article is making me think I may just need to do a fresh install of Chrome.
ww520大约 12 年前
While we are at the Chrome performance problems, I have encountered one recently when running Javascript code in Chrome. I have job progress data shipped back from the server to the browser asynchronously, which drives the progress bar and the data are concatenated together for display. Chrome simply can't handle long string of concatenation. It just hangs. Other browsers have no problem.
zobzu大约 12 年前
So uhm, it seems like firefox is faster than chrome after a week of use :p
评论 #5281924 未加载
benologist大约 12 年前
That's interesting that Chrome's caching is so broken, I wasn't aware it actually existed at all because I use the real internet that is not next door the googleplex and every time I hit the back button I enjoy a 1 - 5 second break waiting for the page to be completely reloaded.
Revisor大约 12 年前
Two days later and this article doesn't exist. So much for link rot.
cooldeal大约 12 年前
&#62;This is not the case for Chrome: the browser keeps all the cached information indefinitely; perhaps this is driven by some hypothetical assumptions about browsing performance, and perhaps it simply is driven by the desire to collect more information to provide you with more relevant ads<p>&#62;Some of these issues - such as the "infinite history" or the antiquated style of process isolation - may be driven by Google's business needs, rather than the well-being of the Internet as a whole.<p>How does caching the files indefinitely lead to better ad targeting? Keeping the history, perhaps, but I don't believe Chrome's web history is used to target ads when they have a lot of other ways of doing it, like Google cookies from people logging into Gmail at home and work, third party sites using Ad Words or Google+ etc. etc.
评论 #5283111 未加载
评论 #5283580 未加载
barista大约 12 年前
A quote worth noting from the article: "Some of these issues - such as the "infinite history" or the antiquated style of process isolation - may be driven by Google's business needs, rather than the well-being of the Internet as a whole. Until this situation changes, our only recourse is to test a lot - and always have a backup plan."
评论 #5281997 未加载
评论 #5282150 未加载
martinced大约 12 年前
I regularly delete Chrome's cache because I did somehow "discover" that behavior intuitively a long time ago.<p>That said, it's totally silly to criticize security measures for slowing down a bit page rendering / navigation.<p>I'm taking a 50% slower Internet <i>today</i> if, in exchange, it's 100% secure. I know it's not doable and won't happen any time soon.<p>But those willing to sacrifice security in the name of perfs should be shot to dead.
waltz大约 12 年前
Chrome should get rid of that hideous download bar