I have an Early 2011 13" Macbook Pro (i5 2.3Ghz). I've upgraded it to have 8GB 1333 ram and an OCZ Vertex II (120GB) SSD.

There are a couple of heavy lifting apps on my mac that take roughly around 10 seconds to launch (WebStorm being one of them).

I was hoping that having an SSD in the machine would increase performance (and it has) but I'm still too impatient for these waits.

I'm considering installing a second OCZ Vertex III (120GB) SSD into the superdrive slot and configuring it in a RAID0 in hopes of increasing disk performance even further.

My question is, what are the primary bottlenecks that are causing apps to launch slowly on my Mac? If it's something other than the disk, I might as well save my $$$.

  • 1
    You should be aware that RAID 0 is "Scary RAID": if either disk fails, you lose all your data. If you use RAID 0, make sure you back up like a paranoid person. – CajunLuke May 8 '12 at 22:01
  • 1
    I'm not at all worried about RAID 0. I use time machine and cloud for all sensitive data. I could throw this book off a cliff and not be worried about my data. – Chase Florell May 8 '12 at 22:02
  • 1
    Then you know the dangers and can make an informed decision. I wouldn't want any future readers of this question to think RAID 0 is a magic panacea with no untoward side effects. – CajunLuke May 8 '12 at 22:05

Activity Monitor is a good starting point. At a minimum, you can determine whether your system is becoming CPU-bound when you start the large application. It can also show how system memory is being utilized and whether excessive swapping is taking place. An Apple KB notes:

Tip: Page outs occur when the Mac has to write information from RAM to the hard drive (because RAM is full). Adding more RAM may reduce page outs.

This Quora post has a reference to another good tool - the Shark utility from the Apple Developer Tool Suite:

Shark from the Developer Tools suite (CHUD) provide even more powerful process inspection capabilities and organizes bottom-up and top-down trees of where your time goes for the entire space of function calls, and is even decent at explaining where the bottlenecks are, sometimes suggesting low-level optimizations.

Apple's Developer Library notes:

Shark is an advanced tool for sampling or tracing a single application or all running applications. Like Instruments, Shark provides a set of powerful analysis tools with an easy-to-use interface to help you gather performance data. Shark helps you isolate problems quickly by providing a rich set of data-mining features and is an indispensable tool for finding performance bottlenecks. It provides optimization tips and help with analyzing assembly-level operations. Because it traces operations down at the kernel-level of the system, Shark can also provide you with tremendous insight about the behavior of your application relative to the rest of the system.

Among the types of operations you can perform in Shark are the following:

  • Statistical sampling of your application over a period of time
  • System-level tracing
  • Malloc tracing
  • Static analysis
  • L2 Cache profiling
  • Processor bandwidth analysis
  • Java code analysis

In addition to basic sampling, Shark also offers the windowed time facility feature for several of its sampling options. The windowed time facility tells Shark to record and process a finite buffer of the most recently acquired samples. This feature lets Shark record data continuously and for long periods of time in the background. You can then direct Shark to stop sampling only after something interesting occurs in your code and to display the samples related to that interesting behavior. Thus, you can use this feature to determine what part of your program’s execution is interesting after it occurs.

For a quick example of how to use Shark, see “Using Shark.” For detailed information about Shark, see Shark User Guide.

The page also lists a number of other tools in the developer tool suite that can be used to monitor your system's performance and hopefully pin down any potential bottlenecks before you buy the second SSD.

  • hmmm. Activity Monitor is showing that Webstorm hits the cpu at > 220% - what's up with that. – Chase Florell May 9 '12 at 1:48
  • 2
    Its threading. You are using 220% of a single cpu (read: at least three cpus). If you only have two physical cores (offhand, I don't remember whether that computer has 2 cores and hyperthreading or 4 cores), you might actually be cpu-bound -- if your disk activity and memory usage aren't both constantly high, the cpu could definitely be the culprit – Retief May 9 '12 at 3:54
  • Looking at the Activity Monitor, it "appears" to have 4 cores, but I'm thinking it's two cores hyperthreadded. – Chase Florell May 10 '12 at 14:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .