X

Speeding up Safari follow-up (#2): More performance tips

Yet more tips for boosting Safari's performance.

CNET staff
3 min read

Published Wednesday, April 18th

We continue to post follow-up tips for our guide to increasing performance in Safari:

Permanently disabling favicons As previously noted, a surprisingly dramatic increase in Safari's overall speed can be had by clearing the contents of the following folder:

  • ~/Library/Safari/Icons

which stores favicons, the small icons displayed in the URL bar next to some sites.

However, routinely deleting the contents of this folder can become an unnecessary chore if you don't care to display favicons at all. If you would like to permanently disable their storage, first clear the contents of the aforementioned folder, then do one of the following:

  • Lock the ~/Library/Safari/Icons folder by navigating to ~/Library/Safari/, clicking the Icons folder, then selecting Get Info from the File menu. Check the Locked box under General.
  • Change permissions for the ~/Library/Safari/Icons folder by navigating to ~/Library/Safari/, clicking the Icons folder, then selecting Get Info from the File menu. Under Ownership & Permissions change the You can setting to Read Only.
  • Drag the ~/Library/Safari/Icons folder to the trash, then create a new blank text file in TextEdit or another application, name it "Icons" and drag it to the ~/Library/Safari/ folder, in effect blocking Safari from writing anything to that location.
Networking speed: Change MTU size Network throughput is affected by myriad variables, one of them being the MTU (maximum transmission unit) packet size setting.

As the name implies, MTU refers to the largest data packet that can be carried over your network pipe. MTU is measured in bytes, so a setting of "1500" would equal roughly 1.45 KB per packet.

For various reasons, setting the MTU at different levels can have a dramatic effect on your Internet access speed, so it's worth experimenting in order to determine what works best for your particular set-up.

To check the current MTU setting of any currently network interfaces, enter the following command in the Terminal (located in /Applications/Utilities):

  • ifconfig -a

You should see output of which a portion looks like:

  • en0: flags=8863 UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST mtu 1500

en0 is the designation for a given network interface -- in the above case, a built-in AirPort card.

If you have an Ethernet-based connection, setting the MTU is straightforward:

  1. Open the Network pane of System Preferences
  2. Choose Built-in Ethernet from the Show menu
  3. Click the Ethernet tab and choose Manually from the Configure menu.
  4. Click the button next to Custom and enter your desired MTU.
  5. After entering the MTU, click Apply Now then test your network setting

If you have a wireless (AirPort or other) network, first log in as administrator, then open the Terminal (located in Applications/Utilities) and enter the following command:

  • sudo ifconfig en1 mtu SIZE

where SIZE is the MTU setting you desire, e.g. 1490. You will be prompted for an administrator password after entering this command. Note that en1 is the default for most AirPort cards, but it may be eno0 or en2 depending on your specific configuration. Use the terminal command ifconfig -a as aforementioned to get a map of network ports.

Here are some good MTU numbers to test right away:

  • 1500 (the general standard for Ethernet connections)
  • 1492 (usually the maximum for DSL-based PPPoE connections)
  • 1450
  • 1300

Large variances in speed can occur with changes as small as 25 bytes, so keep testing your network speed after modifying the setting even slightly.

Use nightly WebKit builds Though it may lead to decreased stability and other problems, you can replace the WebKit foundation (which is used by Safari and other Mac OS X applications to render Web pages) that is shipped as part of Mac OS X with the latest build available form the WebKit Open Source Project.

As stated in the WebKit documentation:

"Performance is a top priority for WebKit. We adhere to a simple directive for all work we do on WebKit: The way to make a program faster is to never let it get slower. We have a zero-tolerance policy for performance regressions. If a patch lands that regresses performance according to our benchmarks, then the person responsible must either back the patch out of the tree or drop everything immediately and fix the regression."

Feedback? Late-breakers@macfixit.com.

[For full coverage, see the original guide]

Previous coverage:

Resources

  • More from Late-Breakers