So Steve Jobs says that the new Intel iMacs are twice as fast as the old iMacs. So Gus happened upon a programmer-relevant benchmark: Subversion compile. For the non-nerdy among us, Subversion is a place where programmers put their code so that it stays safe and they can go back or compare with old versions.
Here’s all the numbers I’ve received so far:
iBook G4 1.2Ghz 768MB (after reboot) – 11:49 (Cameron)
PowerBook G4 800mhz 768MB – 11:34 (Steve)
PowerBook G4 1.33Ghz 1.5GB (that’s my personal machine) – 10:55
PowerBook G4 1.67Ghz 1.5GB (top of the line of current PowerBooks – before reboot) – 9:42 (Bill)
Mac mini 1.42Ghz 1GB (after reboot) – 9:14 (James)
PowerBook G4 1.67Ghz 1.5GB (top of the line PowerBook – after reboot) – 8:48 (Bill)
PowerMac Dual G4 1.0Ghz 512MB – 6:14
PowerMac Dual G5 2.0Ghz 2GB (before reboot) – 4:31 (Michael Tsai)
PowerMac Dual G5 2.0Ghz (before reboot) – 3:48 (Daniel)
PowerMac Dual G5 2.0Ghz (after reboot) – 3:18 (Daniel)
PowerMac Dual G5 2.0Ghz (after reboot, single user mode) – 3:13 (Daniel)
Developer Transition Kit (DTK) Intel 3.6Ghz Pentium 4 1GB – 3:21
Kubuntu Linux – Athlon64 3200+ (2Ghz) 1GB – 2:59 (Mike PJ)
PowerMac Dual G5 2.0Ghz 2GB (after reboot) – 2:46 (Michael Tsai)
PowerMac Dual G5 2.5Ghz 2.5GB – 2:35 (Mike PJ)
iMac Intel Core Duo 1.83 1.5GB – 2:08 (Steve)
iMac Intel Core Duo 1.83 1GB – 2:06 (Gus)
iMac Intel Core Duo 2.0 2GB (bad test since there were several apps running) – 2:13
iMac Intel Core Duo 2.0 GB – 1:57 (Michael Tsai)
PowerMac Quad G5 2.5Ghz 4GB (still the king) – 1:39 (Jon)
So it looks like the G4s are looking pretty slow nowadays compared to the G5s and Core Duos. The MacBook Pros are coming out in Core Duo 1.67 and 1.83 configurations, so they should come in around 2 to 3 minutes. Jon’s Quad G5 is still the king of the hill… for now. :)
I’m still not sure if it is really twice as fast, from a programmers standpoint, but this is clear: if you’re a programmer on a PowerBook G4, you stand to gain a LOT from upgrading to either a MacBook Pro or an Intel iMac.
Interesting that the DTK, even though Ghz wise matches up with the Core Duos, is significantly slower. In all fairness, it was a prototype development machine, destined never to make it into consumer hands.
Anyone out there want share the numbers they get for any of the iMacs or PowerMac G5s?
Here’s the test instructions:
1. Get Subversion 1.3.0.
2. Do a “configure”.
3. Quit all running apps.
3. Run “time make -j8”. This is important because it will keep your processors running at 100%. (On a single-processor Mac, you should probably use “time make -j2”.)
4. Report back the numbers you get for “real”. This is how long it took to build subversion.
5. (Optional, but makes things more interesting) Reboot. Repeat step 3 and report back both the numbers before and after rebooting.
Update: Steve from Martian who just released SlingShot which syncs folders between Macs sent me some numbers. Thanks Steve!
Update (2/4/2006): Bill Nalens sent me his numbers for the 1.67 Ghz PowerBook, which is the top of the line (and maybe end of the line?) for PowerBook G4s. I think Apple’s claim of 4x might be very accurate for developers. Assuming that the MacBook Pro is a little slower than the iMac, and it comes in at around 2:30 that’s right at 4x the speed of a PowerBook G4.
Mike PJ posted his numbers from his PowerMac Dual G5 and a Linux box. Mike is the developer of Seasonality, an advanced weather monitoring app for OS X. Surprisingly, the PowerMac is bested by the newest iMacs by 15-20%. I think the Intel PowerMac will come back with a vengeance later this year. I guess I should try to break things down further and look at the L2 caches and bus speeds to try to make sense of this.
Update (2/5/2006): I got more numbers from Daniel Jalkut who develops FastScripts and Michael Tsai who develops DropDMG, SpamSieve, and runs ATPM. Michael confirms my belief that the Intel iMac 2.0Ghz is the fastest of the current Macs with the exception of the Quad G5. Well at least for compiling.
What’s more interesting is that Michael and Daniel gave numbers for the same model of PowerMac, the Dual G5 2.0Ghz. Not sure how if the memory is the same, but it ranged from 2:46 to 4:31, which is a pretty big range. It turns out that rebooting can make a big improvement, probably due to some sort of memory leaks?
I also changed the instructions to tell people to quit all running apps and then optionally report a second set of numbers after reboot to see if Michael’s daily reboot suggestion makes a difference.
Update (2/7/2006): I got some more numbers from Daniel, who reported that single user mode doesn’t have much of an impact than regular (multi-user) mode. This is a good indicator that OS X is quite efficient. At startup, you have Finder and Dashboard running in the Dock, plus several other processes running hidden.
I also got some numbers from other Mac models, with an iBook 1.2Ghz bringing up the rear and a Mac mini 1.42Ghz beating out my PowerBook (which is sort of sad – I really should buy an Intel Mac this year) but still bested by the top of the line PowerBook.
There seems to be a debate as to how much benefit you get from rebooting, but I still recommend it at least for this benchmark. Also I’m only reporting the after reboot numbers from now on.
Also Patrick brings up an interesting point – we should build the same thing on both platforms, meaning a Universal Binary. I’ll look into doing something like compiling Adium.
I’m still looking for iMac G5 numbers.
PowerMac Dual G5 2.0Mhz – 3:48.
I quit all of my open applications, but that doesn’t mean that mdimporter and all my Dashboard widgets, etc., weren’t running. I’m a little skeptical of this benchmark because I suspect that everybody’s “idle activities” are quite a bit different. If I had to guess, I would even say that newer machines are liable to have fewer active processes, because the users of those machines haven’t casually started as many widgets or applications with helpful daemons.
[…] Luis de la Rosa has compiled a list of how long it takes to compile Subversion on various Macs. My iMac Core Duo (2 GHz, 2 GB) took 1:57. My dual-progressor G5 (2 GHz, 2.5 GB) took 4:31 with no applications running, after it had been on for a day. When I restarted and timed it again it was, as expected, much faster: 2:46. […]
Here’s some more data on the subversion-compilation benchmark.
My machine: iBook G4, 1.2 GHz, 768 MB RAM, OS X 10.4.4
I did the compile 3 times, doing a ‘make clean’ before the 2nd & 3rd times.
Each compile was done with ‘time make -j2″ (as recommended for a single-processor machine). By the way, I’m using gcc 4.0.1
In all cases I had a few background processes (mds, cpu-monitor, etc) running and taking a few percent CPU.
I waited until all the usual startup and login items had completed before doing the compile.
First time (done when the machine had been up and heavily used with me logged in for 9 days): 12:16
After logging out and in again: 13:17
After rebooting: 11:49
This shows an approx 4% decrease after rebooting – probably not significant. So I’m not seeing the benefits to logging out or rebooting that had been touted by Seth Dillingham & Michael Tsai.
Looks favourable for the new Intel Macs. But what are we comparing: x86 vs. PowerPC or GCC compiling x86 binaries vs. GCC compiling PowerPC binaries? What’s the incantation for building a Universal Binary from the command line? That may be a better benchmark. (or at least both building the _same_ executable)
My main development machine is (don’t laugh) a 1.42 GHz Mac mini with 1 GB and a slow 4200 rpm 80 GB drive.
Just quitting all apps: 9m 26s
rebooting: 9m 14s
So, not bad in comparison to some of the above mentioned PowerBook G4 times.
My MacBook Pro is due for delivery on Feb 23rd. This will be the first time since my Duo 280 that my laptop will be faster than any desktop machine that I own.
iMac G5 (2.1GHz G5) w/ 512MB RAM and nothing but OSXvnc running:
real 7m42.775s
user 3m40.642s
sys 3m12.373s
(before reboot)
Same hardware (after reboot):
real 7m18.013s
user 3m38.003s
sys 2m55.312s
On my 1.67Ghz PowerBook 15″ (hi-res), I get 8:52.39 before reboot and 8:28.73 after. And it only has 512MB of RAM (I’ll rerun the tests when my 1GB stick comes in).
Dual-2.5GHz G5, 2.5GB RAM.
real 3m3.408s
user 2m49.717s
sys 1m59.706s
That’s a “real world” example, a first run done without quitting any apps. Haven’t tested with the DTK or with the new iMac that replaces it.
up 4 days, 10:45, 7 users, load averages: 0.98 2.82 1.86
MacBook Pro 2.0GHz w/ 2GB RAM:
Before reboot:
real 2m17.511s
user 2m26.707s
sys 1m26.770s
After reboot:
real 2m8.036s
user 2m26.848s
sys 1m12.446s
iMac 2.0 w/1GB of RAM, 2m14s real, 2m28s user, 1m20s system. Unfortunately I’ve cleared the screen since then (by accident), didn’t want to re-run it, so I don’t have the 3 decimal places of precision. No reboot timing either.
MacBook Pro 2.16Mhz w/ 2GB RAM
After Reboot:
real 2m0.372s
user 2m13.559s
sys 1m6.841s
On a Dual Processor Xeon 1.8Ghz 400Mhz FSB with Hyperthreading (4 virtual processors) and 1 Gig RAM, running Gentoo I get:
2m28s
On a Dual Core Pentium D 3.2Ghz 1MB Cache 800Mhz FSB with 2 Gigs of DDR-2, running Gentoo again, I get:
1m48.792s
Neither system comes close to running out of ram.
On a new 2 Ghz MacBook Pro with 2GB of RAM runnning OS X 10.4.5, these are the numbers that I got.
Before Reboot:
real 2m28.977s
user 2m25.855s
sys 1m25.999s
After Reboot:
real 2m23.016s
user 2m24.842s
sys 1m12.432s
Sean
New benchmark. Quad G5 with 4.5GB of RAM – with subversion on a 2GB RAM DISK:
real 1m35.862s
user 2m43.170s
sys 2m17.251s
iMac G5 2.0Ghz with 512MB of RAM
1st Run :
real 8m18.600s
2nd Run after Reboot and make clean :
real 7m49.809s
Fresh Mac mini 1.66 Core Duo with 2 Gigs of RAM
1st Run:
real 2m30.705s
Dual Opteron 246 2.0 GHz with 6 GB of DDR400-RAM (NUMA), gcc-3.4.5, linux 2.6.15.5 kernel, creation of 64 bit binary:
$ ./configure
$ time make -j8
real 1m26.123s
user 2m10.837s
sys 0m35.060s
$ make clean
$ time make
real 3m14.632s
user 2m24.153s
sys 0m57.301s
4-way Power5 1.65 GHz (IBM OpenPower 720), with SMT 8 virtual CPUs, linux 2.6.11 kernel, ppc64:
$ ./configure
$ time make -j8
real 0m58.191s
user 5m51.328s
sys 0m57.663s
$ make clean
$ time make
real 6m11.414s
user 5m4.857s
sys 1m7.520s
However, my order for G5 Quad was placed today. I am going to use it for double-precision LAPACK/BLAS stuff, were I think it will perform better, as it has eight double precision floating points units and a fused-multiply-add (40 GFlops/s peak performance). The influence of the memory interface on the sustained performance though will be interesting to find out.
Would appreciate a command line to compile fat binary on ppc emac
targeting both ppc/intel. Google came here while searching for that
info because of above comment requesting such a critter. Xcode
may be great if you live in Mac, but just another hassle otherwise.
Suggestions? Thanks.
I just tried this system again, I realized that I was compiling on a filesystem mounted over NFS! When compiling locally on disk, I got:
1m37.769s
On a Dual Core Pentium D 3.2Ghz 1MB Cache 800Mhz FSB with 2 Gigs of DDR-2, running Gentoo.
iMac Core Duo 2.0GHz 512MB
real 2m4.862s
user 2m23.667s
sys 1m12.206s
Same compile on a 1GHz G4 Powerbook w/512MB it took over twelve minutes…I thought my laptop was uniquely slow but it sounds like it wasn’t!
As a 3D cad imac g5 fan I must say that I am at present very unhappy with my core duo. I have crashed twice in the last week- more than my imac g5 has since november 2004.
A piece of intel crap!
2.0Gz White MacBook (512MB – will be posting 2GB #s later today when RAM arrives).
Processor set to “normal” performance.
real: 2m20.975
user: 2m42.682
sys: 1m48.484
After reboot
real: 2m15.876
user: 2m41.634
sys: 1m12.554
Will do 2GB tests later (as long as the UPS man agrees)
UPS guy delivered…
Same spec as before – but with 2GB matched pair no name RAM
real: 2m0.117s
user: 2m22.801s
sys: 1m3.837
[…] So what about the benchmarks? I decided to start with the svnmark that Luis introduced on his blog, and downloaded Subversion 1.3.0 (1.3.2 is available, but the last benchmarks I did previously used 1.3.0). After a couple of runs, I found make -j4 to be the quickest. Here are the numbers: […]
MacPro: Dual Dual-Core 2.66Ghz Xeon. W/2GB of RAM
real 1m6.604s
user 1m51.354s
sys 1m27.643s
Same machine after a reboot and using -j4
real 0m58.967s
user 1m45.444s
sys 1m15.187s
Holy crap…
After a reboot using -j8 i get:
real 0m34.485s
user 0m15.372s
sys 0m57.694s
Will test this a couple more times to see if it is accurate.
Looks like the 34 second build was a freak.
I did about 4 reboots and builds using j8 and it was consistently 1m02
Using j4 (just to sanity check) was again a couple of seconds quicker.
Running Ubuntu linux 6.0.6 inside Parallels 1884 Release Candidate.
VM was allocated 256MB and a 8GB expanding disk image.
Host machine 2Ghz Black Macbook with 2GB of RAM
real 6m46.800s
user 2m0.688s
sys 3m41.366s
Uninspiring. 256MB of RAM probably had a lot to do with it.
[…] I got a new 20″ Intel iMac last week. It’s a 2.16Ghz Core 2 Duo and its crazy fast compared to my old PowerBook G4 1.33Ghz. As you may know if you’re a loyal reader of this blog that I like svnmark (compiling subversion) because it is a benchmark that directly shows how much productivity gains you might be able to get if you upgraded your Mac. I mean its nice to see how many frames per second you might get in World of Warcraft, but really – you want to see if more cores / more gigahertz gives you faster compiles. […]
On a 1.83GHz Core 2 Duo MacBook with 512MB RAM:
real 2m11.341s
user 2m30.473s
sys 1m 22.226s
This is after a reboot on 10.4.9
new 3ghz octomac, with svn 1.4.3 since 1.3 isn’t compiling for some reason:
time make -j8:
real 0m40.151s
user 1m35.757s
sys 2m19.848s
That’s a beautiful, beautiful thing.
I dont think my accounts department will let be buy another Mac this year. She’s already upset about the 3 I bought last year,
Gus – that rocks! I think you should try with make -j16 though and see if you can get those cores working harder. (Unless -j8 already pegged them to 100%)
Jon – keep your powder dry until at least October then!
Xeon X3350 overclocked to 3ghz running CentOS 5.1
real 0m28.971s
user 1m21.339s
sys 0m14.435s
Sweet…. This is what I’m looking for