Geek Patrol


geekwench to genebench

Before, when I Googled for geekbench, Google asked if I meant “geekwench”. Now Google asks if I meant “genebench”. I’m not sure if this is an improvement.


Matched RAM vs More RAM

There’s been a lot of discussion on the interweb lately on whether it’s better to have more unmatched RAM or less matched RAM in an Intel-based Mac. I recently upgraded my Intel-based Mac mini from 512MB RAM (matched) to 1.25GB RAM (unmatched), and ran Geekbench to figure out what performance difference (if any) exists between the two configurations.

Setup

Here is the configuration of my test machine:

  • Mac mini (Early 2006)
    • Intel Core Duo @ 1.66GHz
    • 512MB RAM (before, matched)
    • 1280MB RAM (after, unmatched)
    • Mac OS X 10.4.6 (Build 8I1119)
    • Geekbench Preview 3 (Build 78)

I’m using the baseline scores (not the raw scores) for each benchmark, and I’m only including the memory and stream benchmarks. I’ve also computed the Unmatched RAM score as a percentage of the Matched RAM score. Higher is better.

Results

Memory Performance

Benchmark Matched Unmatched
Read Sequential
single-threaded scalar
196 199
(102%)
Write Sequential
single-threaded scalar
141 161
(115%)
Stdlib Write
single-threaded scalar
124 124
(100%)
Stdlib Copy
single-threaded scalar
149 150
(101%)

Stream Performance

Benchmark Matched Unmatched
Stream Copy
single-threaded vector
145 152
(105%)
Stream Scale
single-threaded vector
143 149
(104%)
Stream Add
single-threaded vector
161 163
(101%)
Stream Triad
single-threaded vector
121 129
(107%)

Conclusion

Despite the fact that Geekbench only uses about 100MB of memory, more unmatched RAM is faster than less matched RAM (up to 15% faster). If you’re thinking of upgrading from 512MB, I wouldn’t worry about whether you should replace one stick (cheaper, but unmatched) or both sticks (expensive, but matched); whatever you do, your machine will be faster.


Xcode 2.3

Xcode 2.3 was released today; take a peek at the release notes to see what’s new. A word of warning if you install Xcode 2.3 — don’t install Java Documentation. I made that mistake, and the installation took over three hours (most of that time was spent indexing the Java Documentation).

Oh, and Geekbench doesn’t run any faster under Xcode 2.3 than Xcode 2.2.1.


Vista Hardware Requirements

Microsoft released the two levels of hardware requirements for Windows Vista today; Vista Capable PCs and Premium Ready PCs.

Vista Capable PCs require an 800MHz processor, 512MB of RAM, and a graphics processor that is DirectX 9 capable.

Premium Ready PCs require a 1GHz processor, 1GB of RAM, a graphics card that can run Windows Aero, a DVD-ROM drive, audio output, and internet connectivity. What video cards can run Windows Aero? Any graphics card that supports a WDDM driver, supports Pixel Shaders 2.0 in hardware, and supports 32 bits per pixel can run Windows Aero.

So, it sounds like you’ll be able to run Windows Vista on older hardware (I’d reckon just about any computer manufactured since 2001). The question is will you want to?


MacBook Benchmarks

We’ve started receiving Geekbench results for MacBooks, so we thought we’d compare a MacBook against a MacBook Pro with the same processor.

Setup

Here is the configuration of our two test machines:

  • MacBook
    • Intel Core Duo @ 2.0GHz
    • 512MB RAM
    • Mac OS X 10.4.6 (Build 8I2025)
    • Geekbench Preview 3 (Build 78)
  • MacBook Pro (15-inch)
    • Intel Core Duo @ 2.0GHz
    • 2048MB RAM
    • Mac OS X 10.4.6 (Build 8I1119)
    • Geekbench Preview 3 (Build 78)

Update: While MacBook Pro has more RAM than the MacBook, we don’t think it’s an issue.

The scores are collected from Geekbench, our cross-platform processor benchmark. We’re using the baseline scores (not the raw scores) from each benchmark. We’ve also computed the MacBook Pro’s score as a percentage of the MacBook’s score. Higher is better.

Results

Integer Performance

Benchmark MacBook MacBook Pro
Emulate 6502
single-threaded scalar
87 83
(95%)
Emulate 6502
multi-threaded scalar
174 177
(101%)
Blowfish
single-threaded scalar
162 159
(98%)
Blowfish
multi-threaded scalar
316 322
(101%)
bzip2 Compress
single-threaded scalar
120 136
(113%)
bzip2 Compress
multi-threaded scalar
278 287
(103%)
bzip2 Decompress
single-threaded scalar
110 117
(106%)
bzip2 Decompress
multi-threaded scalar
263 249
(94%)

Floating Point Performance

Benchmark MacBook MacBook Pro
Mandelbrot
single-threaded scalar
139 136
(97%)
Mandelbrot
multi-threaded scalar
273 281
(103%)
Dot Product
single-threaded scalar
325 238
(73%)
Dot Product
multi-threaded scalar
545 393
(72%)
Dot Product
single-threaded vector
100 61
(60%)
Dot Product
multi-threaded vector
198 147
(74%)
JPEG Compress
single-threaded scalar
115 108
(93%)
JPEG Compress
multi-threaded scalar
226 231
(102%)
JPEG Decompress
single-threaded scalar
96 86
(89%)
JPEG Decompress
multi-threaded scalar
184 178
(96%)

Memory Performance

Benchmark MacBook MacBook Pro
Read Sequential
single-threaded scalar
169 155
(91%)
Read Sequential
multi-threaded scalar
161 166
(103%)
Write Sequential
single-threaded scalar
181 199
(109%)
Write Sequential
multi-threaded scalar
179 205
(114%)
Stdlib Allocate
single-threaded scalar
185 171
(92%)
Stdlib Allocate
multi-threaded scalar
121 36
(30%)
Stdlib Write
single-threaded scalar
106 105
(99%)
Stdlib Write
multi-threaded scalar
127 127
(100%)
Stdlib Copy
single-threaded scalar
183 154
(84%)
Stdlib Copy
multi-threaded scalar
170 159
(93%)

Stream Performance

Benchmark MacBook MacBook Pro
Stream Copy
single-threaded scalar
149 153
(102%)
Stream Copy
multi-threaded scalar
153 167
(109%)
Stream Copy
single-threaded vector
162 158
(97%)
Stream Copy
multi-threaded vector
146 169
(115%)
Stream Scale
single-threaded scalar
165 162
(98%)
Stream Scale
multi-threaded scalar
171 191
(112%)
Stream Scale
single-threaded vector
148 145
(98%)
Stream Scale
multi-threaded vector
146 164
(112%)
Stream Add
single-threaded scalar
139 142
(102%)
Stream Add
multi-threaded scalar
157 181
(115%)
Stream Add
single-threaded vector
146 165
(112%)
Stream Add
multi-threaded vector
159 180
(112%)
Stream Triad
single-threaded scalar
133 109
(82%)
Stream Triad
multi-threaded scalar
164 186
(113%)
Stream Triad
single-threaded vector
121 129
(106%)
Stream Triad
multi-threaded vector
124 143
(114%)

Conclusion

The performance of the MacBook is between 75% and 115% of the MacBook Pro; sometimes the MacBook is faster, sometimes the MacBook Pro is faster. For CPU-intensive tasks, I doubt most will notice the difference between the MacBook and the MacBook Pro.

Unfortunately, Geekbench doesn’t measure GPU performance, which is the biggest difference between the MacBook and the MacBook Pro. For GPU-intensive tasks, most users will probably prefer the dedicated GPU in the MacBook Pro over the integrated GPU in the MacBook.


Flickr UI Updates

Today I was uploading a photo to Flickr and I noticed that they had rolled out their new UI changes. Subtle though they are, they seem to be pretty neat for the most part. The best news about this is that Flickr is out of beta, but the bad news is that they are now in “gamma” which as far as I can tell means “we’re still in beta after 2 years but want to look like we’re making progress.”

I like Flickr, I really do. It’s handy, easy to use, and generally a cool community. But today when I went to use the all new Organizr in Safari I got the following message:

We’re sorry!

I’m afraid your browser is not supported. We’re working to improve support, but in the meantime you might like to try a recent version of one of these browsers that will work:

Firefox (for Macs, PCs, and Linux boxes)
Safari (for Macs)
Internet Explorer (for PCs)

Or, if you want to plow ahead and see if maybe your browser will work, go for it.

Or, you can use an older version of the Organizr.

So basically, I got a message saying “Sorry, Safari doesn’t work! Try Safari, though” which is both amusing and annoying. The best part is that if you click on the Safari link it takes you to the Firefox page.

I like Web 2.0, I really do, but at the same time I’m getting tired of things being in beta for-freaking-ever and for little mistakes like this one.


Geek vs Nerd

You’re familiar with John Gruber, right? You know, the guy who publishes Daring Fireball, some of the best Mac OS X writing on the ‘net?

Yeah. He hates us.

I feel like I’m back in high school and I’ve just been shoved into a locker by one of the popular kids.


Geekbench Preview 3

Update: Geekbench Preview 3 is obsolete! Download the latest version of Geekbench here.

Geekbench Preview 3 has been released and is now available for download.

What is Geekbench?

Geekbench is a cross-platform processor benchmark. Geekbench is available for Mac OS X, Windows, and Linux. While Geekbench is still under development, we think it’s useful enough that other people might be interested in running it.

Geekbench tries to measure the performance an average application can expect from the computer being benchmarked. As such, all of the benchmarks in Geekbench are written in platform-neutral C (save for SIMD benchmarks, which are written using intrinsic functions), and have no platform-specific optimizations. Geekbench is compiled with what we consider the de-facto standard compiler for each platform, with the compiler switches suggested by the compiler for release code.

What’s New in Preview 3?

  • SIMD benchmarks Geekbench now has a number of SIMD-aware benchmarks (the dot product benchmark and the stream benchmarks). Geekbench always runs the scalar (i.e., non-SIMD) version of SIMD-aware benchmarks, but only runs the SIMD version on computer that support SIMD instructions. Currently, Geekbench only supports two SIMD instruction sets: Altivec and SSE.

  • Benchmark rate Geekbench reports the rate (i.e., speedup or slowdown) of each benchmark run compared against the same benchmark run with one thread using scalar (i.e., non-SIMD) instructions. This is useful for analysing the benefits of multi-threading or SIMD instructions.

  • JPEG benchmarks Geekbench has two JPEG benchmarks: JPEG compress and JPEG decompress. Both use libjpeg to compress and decompress JPEGs.

  • Dot product benchmarks Geekbench has a dot product benchmark, which computes the dot product of two 1024-element vectors. The dot product benchmark is SIMD-aware.

  • Stream benchmarks The Stream benchmarks are now SIMD-aware.

  • Command-line options Geekbench now accepts a number of command-line options. Type geekbench -? on the command-line for more information.

  • Geekbench for Rosetta Geekbench for Rosetta is now included with Geekbench on Mac OS X.

What’s Fixed in Preview 3?

  • Improved Blowfish benchmarks Blowfish results were artifically high on Mac OS X and Linux. This has been fixed.

  • Improved Stdlib Allocate benchmarks Stdlib Allocate results were artificially low on Mac OS X. This has been fixed.

  • System Information CPU counts (both physical and logical) are now reported reliably on Linux. Bus frequency is now reported on Windows.

Known Issues

  • Mac OS X

    • Physical CPU count is incorrect on systems with dual-core CPUs.
  • Windows

    • CPU information is not reliably reported for Pentium IIIs and earlier.
  • Linux

    • Model, motherboard, and bus frequency information is not reported.
    • CPU information is not reliably reported for Pentium IIIs and earlier.

System Requirements

  • Mac OS X

    • Mac OS X 10.3.9 or later
    • 256 MB RAM
  • Windows

    • Windows 2000 or later
    • 256 MB RAM
  • Linux

    • Fedora Core 4 for x86 (other distributions might work)
    • 256 MB RAM

Download

Download Geekbench Preview 3 for:

Donate

If you think Geekbench is useful, and want to help (and encourage) us to develop Geekbench, why not send a few dollars our way? All donations will go towards sending John and Matt to Vegas improving Geekbench.

Links


Discussion of Rumours

This afternoon John and I had a completely serious discussion about the rumours of a new Apple laptop today.

Matt: wait, wasn’t apple supposed to release something today?
John: there were rumours of new macbooks
John: that’s it.
Matt: don’t tell me the rumour sites might have been overzealous
John: i know!
John: i’m as shocked as you are!
Matt: my god, if the rumour sites are getting stuff wrong
Matt: THE END TIMES ARE TRULY HERE
John: aiee!

This pretty much characterizes how I feel about the rumour sites these days. I stopped reading all of them (except MacRumors as it seems to provide the most balanced round up) over two years ago now because I was tired of getting my hopes up.

Seriously, they are only rarely right in their predictions and those few times when they are right they’re wrong. They’ll say things like “new iMacs are expected to include two CPUs, a 23 inch screen, the ability to swivel, be one inch thin, and hold the secret to life itself”, and then when the new iMac does come out with, say, a dual core CPU but nothing else they’ve talked about users are let down (”man, it was supposed to swivel!”) and we get a follow up saying “we were right! look out for those missing features in upcoming revisions!” Or, in the case of todays laptop non-annoucement, I’m sure we’ll get a byline saying “Apple was forced to delay because of, you know, stuff.”

I think the rumour sites to be an interesting diversion sometimes, but I don’t think anyone should take them seriously. Unless, of course, you like getting your hopes up only to be let down in the end.


Adium Crash Reporter

I like Adium; it’s a decent instant messaging application that handles a number of different protocols, and most of the time it works quite well. It’s not perfect, though, and it crashes from time to time.

Whenever Adium crashes, the Adium Crash Reporter shows up, asking you to fill in a form and submit a crash report to Adium’s developers. The idea is that if developers receive crash reports, they’ll be able to diagnose and fix the problems that caused the crashes in the first place.

As a developer, I know that crash reports are useful for diagnosing and fixing bugs in software. As a user, though, I’m lazy. If a crash is common, surely someone else has sent in a crash report for the same crash already. If the crash is uncommon, I’m not convinced the developer will take the time to look at the crash report, let alone fix the source of the crash. Sending in a crash report also distracts me from what I was doing before Adium crashed. Chances are I just want to restart Adium and get back to what I was doing. So unless it’s really easy to send a crash report, chances are I’m not going to do it.

That said, developers should make it as easy as possible to send crash reports. The easier it is, the more likely people are going to send in crash reports. Right now, it could (and should!) be a lot easier to send in crash reports with Adium Crash Reporter.

Adium Crash Reporter asks for your contact information in order to send in a crash report. This information isn’t optional; it’s required just in case a developer will want to talk to you about the crash.

Adium Crash Reporter shouldn’t require any information; I’d imagine a crash report without any contact information is more useful than no crash report at all. By making all crash report information (including contact information) optional, the quality of individual crash reports might go down, but the number of crash reports submitted would go up. This should help Adium’s developers prioritize which crahses to fix first, based on how frequently the crashes happen.

Adium Crash Reporter also rejects some crash reports. If you try and submit a crash report from an older version of Adium (i.e., any version of Adium except the latest version) you get the following error message:

You are running an old version of Adium; crash reporting has been disabled. Please update to the latest version, as your crash may have already been fixed.

Adium Crash Reporter should check to see if crash reporting is still enabled before getting people to fill out the crash report form. Imagine taking the time to submit a detailed crash report, only to find out that your submission (and all of your hard word) has been rejected. How likely are you to fill out a crash report in the future?

So here’s a plea to Adium’s developers — make all information (including contact information) in the crash report optional, and let us know if crash reports for a certain version are no longer being accepted before, not after, we fill out a crash report.