Right now, I have the following apps all running:
TextMate (a text editor)
NetNewsWire (a news reader)
Firefox
Safari
Adium (a chat client)
Apple Mail
Transmit (an FTP client)
Photoshop
Parallels (virtual machine)
Finder (file explorer)
In addition, I have the following servers up and running:
MySQL
Apache
Lighttpd (web server)
PHP
Now, most of the time, they are idling. But, there are periods when I have TextMate open on one screen, and Parallels on another. Inside the Parallels VM I am running IE, which is calling Lighttpd, which is calling PHP, which is calling MySQL.
At the same time, I am often pushing the last milestone out to the server via ssh or Transmit. And, there’s usually iTunes playing in the background.
1 core for Parallels
1 core for the web server, php and mysql (since they are serving one client and can be scheduled synchronously)
1 core for iTunes and Transmit/ssh
1 core for Mail (checking every 30 minutes), the OS services, and the idling apps
Running all that on a single core machine is painful. So painful that even with enough RAM, I would still break it up into discrete groups of apps and only run one group at a time. On a dual core system, it runs along nicely, but does get slow as the level of concurrency goes up. A quad core system would scale even higher.
It’s not single application performance that counts, it’s the ability to scale when you need it.