I show the process to the right using a program called "RMClock" that detects CPU throttling. The bottom graph shows temperature, the top graph shows speed. When I start the password cracking software, the temperature rises quickly to the maximum. It reaches the maximum temperature and begins to throttle in only 10 seconds.
My CPU is a 1.86 Core 2 Duo. When it overheats, it gets clocked down slightly to 1.6-GHz. When the overheating problems gets worse, the clock is lowered again to 0.8-GHz. When it cools off, the speed jumps up again until it overheats again, then it jumps down. It keeps going up and down like this forever (or until I
Curiously, the laptop normally runs underclocked at 0.8-GHz, even when idle. It waits for me to run a program to boost it up to the full speed of 1.86-GHz.
Using both cores doesn't necessarily make my laptop crack passwords faster -- it just spends more time throttled due to heat.
My desktop doesn't have this problem. It's got 4-cores chugging away at 2.4-GHz and it's not exceeding 56-degrees. The problem, it seems, is that the cooling on the Mac Book Air sucks (or rather, blows). I put my hand on the back near the vents and I can barely feel the hot air coming out. This laptop is sexy as all get out, so of course I have to keep it, but it's got a lot of limitations as a computer.
UPDATE: Apparently, this overheating problem is well-known, and occurs under MacOS X as well as Windows. It's mentioned in the Wikipedia entry on the MacBook Air.
UPDATE: Apparently, the solution for me is "undervolting". I can use the RMclock utility mentioned above, or the "CoolBook" utility under Mac OS X to artificially lower the voltage of the processor. Small changes in the voltage result in large decreases in the power consumption, and hence heat. Of course, in theory, this will make my machine less stable. At 1.86-GHz, the default voltage is 1.05v. I lowered this to the minimum of 0.925v, and the system seems perfectly stable and a lot cooler.
UPDATE: I ported the code to Mac OS X and ran it. Like Windows, the processor runs at 800-MHz, and jumps up to 1.86-GHz under load. Unlike Windows, a command-line utility like my password cracker doesn't seem to be recognized as load, so won't bump up the speed. Thus, the passwords are being cracked at 800-MHz.