Does Safari make Macs sluggish?

“Macenstein.com has an interesting article about a slowdown in other applications when a Safari window with a specific set of pages is loaded in the background. What a browser should do when it is the background application is actually extremely complex, and not all of the decisions are as clear-cut as they might seem,” Dave Hyatt blogs for Surfin’ Safari.

Hyatt explains, “Before I drill into the specifics of what a browser does with background Web pages, I’d like to first state that it’s dangerous to jump to any general conclusions when the sample set of pages is very small. In the example article cited above, the author visited five Web sites and clicked around within them. It’s possible that this pathological behavior is specific not just to one Web site but possibly even to one specific page on that Web site. In order to identify the problem it would be better to try the test again with each individual page.”

Hyatt writes, “One might expect that a background browser window would do nothing. However, that is a fairly naive assumption once you take a look at the kind of Web content that exists today. There are many ways in which a browser can still be doing required work even while in the background. Here are some examples:”

• Animated GIFs
• Plugins
• JS Timeouts and Interval
• Marquees
• XMLHTTPRequests
• The Back/Forward Cache

Hyatt writes:
A few other final points to make are:
(1) Browsers rarely get served the same content, even on very popular sites. Without spoofing it’s hard to know if Safari is being served some buggy content from one of the pages in question.
(2) A small sample set isn’t enough to draw general conclusions. Try a bunch of other different Web sites and see if a slowdown still occurs. If so, then maybe there is a systemic problem. Until then, though, all we know is that something is hogging CPU in one of five Web pages.
(3) Reduce reduce reduce! Reduce the problem if possible. Cut it down to one page. Don’t go back/forward (just go right to the pages instead of clicking through to them).

Provide us with precise steps to reproduce and we can verify what the problem is and fix it very quickly. In fact, it may have already been fixed!

Full article here.

[Thanks to MacDailyNews Reader “davecc” for the heads up.]

MacDailyNews Take: Dave Hyatt is employed by Apple Inc. as part of the development team responsible for the Safari web browser and WebKit framework. He was part of the original team that shipped the beta releases and 1.0 release of Safari. Hyatt is currently the Safari and WebKit Architect.

76 Comments

  1. I have noticed that I need to quit Safari every few days because it has slowed down, and seems to affect other apps as well. As the article states, that may simply be too many cute animated ads, gifs, etc. on various pages that get into caches or otherwise hog memory. It would be nice if Safari could allow for preference settings to stop animations, etc. from playing on and on, but instead stop after a certain number of replay.

  2. If I have multiple tabbed webpages open and leave the machine in that state for a long time 12-24hrs. I get an extreme overall machine slowdown. I find the solution is often times to quit Safari and start anew. This hinders web development, research, or any activity whereby the user needs to have many webpages up for a long duration.

  3. I just recently downloaded the Beta version of camino (1.1) and I can totally notice a difference in speed from Safari.

    Camino also shows all of your bookmarks that you put in the bookmark bar by using more than one bar. Safari hides ones that it cannot fit onto one bar and you have to click that arrow on the right to see the rest of them. I end up forgetting about them altogether. Kinda annoying.

    Camino has my vote!

  4. I have a response. Safari has memory leaks. It’s been a know issue for a long time. Firefox has the same problem as Safari. In either of these browsers when you have multiple windows open after a while you begin to notice a large slow down across your system. I can easily keep multiple windows open in Opera without issue. Why don’t I just use Opera and stop complaining? Because Opera sucks and I love Safari. Despite the memory problem I still think that it’s the best browser out there and as long as I close down Safari every night it’s not that noticeable. I just wish that Apple could come up with a better solution to fix the slow down than “Reduce reduce reduce! Reduce the problem if possible. Cut it down to one page.”

  5. Safari’s RAM allocation seems to creep up gradually to the point where I need to quit it every few days because I start to notice a general system slowdown (particularly if there are a lot of webpages open). It was particularly bad on my old 12″ PB.

    Try opening Activity Monitor after you’ve had Safari open and busy for a few days and check out the ungodly amount of RAM it’s using.

  6. I’ve got something. I agree with dave. I experience the same problems on different pages. While I know you should reduce reduce reduce, sometimes I find safari struggling with 3+ tabs open (all of which i’m using at the time).

  7. I have all but given up on Safari due to the number of endless beachball spinnning slowdowns, forced quits and random crashes. Even though I find Firefox to be buggy at times, it is, for me a much more stable and faster browser.

  8. I good machine to test this on would be a slow (old) Mac, like a 500 MHz G4 – something still usable with Tiger and the latest Safari, but easy to overload. I have a machine like that, and I notice background browser windows causing a slowdown. And not just with Safari. On my dual-core G5 Power Mac, I cannot perceive a difference from background browser windows being there.

  9. Dave Hyatt rocks. It’s just so awesome that the head of the Safari development team is so accessible on the web, and transparent about Safari issues. How many other major apps out there have their dev head saying that their app is less than perfect, and then being so specific about what the issues are? We hear of J. Allchin’s issues with MS problems, but only in court.

  10. iHerodotus,

    Hyatt wasn’t suggesting that users have as few windows open as possible; he was hoping that the macinstein guy that found the bug could reduce the issue down to as few variables as possible. The fewer the variables, the easier to isolate and fix.

  11. The instruction to “reduce, reduce, reduce” is NOT the workaround to get Safari to run faster. It is to pinpoint the problem. If you find Safari bogging down, see if you can determine which page (or minimal set of pages) that cause(s) the problem. Then report it to Apple. They will examine Safari’s behavior vis-a-vis the specified page(s) and determine what they can do to improve performance.

Reader Feedback

This site uses Akismet to reduce spam. Learn how your comment data is processed.