There is a Mac Emulator out, called Gemulator, that seems to be getting some attention (and I'm getting email questions about) -- and the creator is making some pretty fantastic claims. So I'm going to try to clarify (express my opinions) based on what I know about computers and emulators. I'm using that particular product as the example, because it seems to make the most fantastic claims, but the application of this information is intended to be broader (and applied logically, where applicable, to any Mac emulators running on the PC).
I have not actually run the Gemulator, but I have seen some other emulators, so I'm doing this based on logic, reason and mathematics (and using the companies own numbers) -- and I am trying to do a little fact checking and counter-balance.
This is a pretty extreme claim, and one that I doubt would hold up in the real world. But then again, this guy says things like the emulator has ROM support for the "Atari Macintosh SE" -- and here I didn't think Atari ever made Macintosh SE ROMS. Even the implication of speed is sloppy, that it is between a "68000 and 68030 in speed" at the same clock rate -- which is quite a spread. That is like saying it is somewhere between a Ferrari and a Yugo in the 1/4 mile. Even the bar-graph link on the page goes to the wrong place (I found the proper link anyway at: http://www.emulators.com/images/w51count.gif). So I think the guy is more sloppy than malicious.
The guys methodology for performance testing is very weak. He used one Application -- Microsoft Word 5.1, and did one command set (repagination and word count). For that very limited set he got results like:
The real problem is that no single benchmark is valid -- especially Microsoft Word on the Mac! And I suspect that if we normalize the data (by sampling many different Word tests), we would see results far lower than 3:1 in performance between a IIcx and a Quadra (or Pentium II) -- which immediately brings up the suspicion of "cherry picking" and using an extreme example to mislead people (see dirty marketing). More important than that, Microsoft programs are infamous for being slow and inefficient programs on the Mac -- and the low speed of Word's performance has flagged some design problems with the code to begin with. So using one sample is bad enough -- but choosing a bad single sample is much worse. One of the most obvious indicators that something is wrong is just comparing a the Quadra to the MacIIcx -- a machine that is 50% faster in processor clock speed (and a bit more for FP functions and because of a cache) should not be over 3 times faster in the real world just doing a word search or repagination. That just doesn't happen normally, under regular circumstances and with equal amount of optimization or design. So we already see that the sample (Word 5.1 on a 030) is severely misrepresentative of the "real world" and most 68030 to 68040 differences won't be near the 3:1 that this example shows.
So this whole example, and the claims made based on it, seem to me to sound like, "A Yugo is as fast as a Ferrari in the 1/4 mile..." assuming the quarter mile is vertical and they are both dropped flat off a cliff. Probably not an untrue statement, but it doesn't exactly mean what many people will think it means.
More than that, when we start to do the math (the other way), we can see more realistic results. A 233 MHz Pentium II can emulate a 68040 series Mac just a little faster than 25 MHz. Though I believe that they strategically chose one of the few '040 models that didn't have a floating point unit built in for a reason. Either way, this is like a 9:1 ratio in clock adjustment (pentium to 68000) -- which means it takes roughly 9 (or more) Pentium instructions to emulate a single 68000 instruction.
Actually, it is probably quite a worse, since the cache, bus speed, and superscaler capabilities of the Pentium, mean it is probably executing more like 15-25 instructions per single 68000 instruction completed (when compared to a 68040). Which makes far more mathematical sense because of the richer registers and better instruction set of the 68000 (compared to an x86 Pentium).
So when you compare the authors "2/3rds the clock speed" claim you will be somewhat mislead. I see that it is more like a 1/9th the clock speed (sans FPU) -- or that he roughly overrated his claims by 6 times. In the real world, and under more serious tests, I doubt even that claim would be lived up to in all (or even most) cases. Of course, as I mentioned before, I think he was just using sloppy methodology.
The Sweet Spot!
Now in the real world, there is something else -- real world usability and what I call "the sweet spot". Let's say it is the threshold where most machines in use are running at (in performance). It is also where most software writers will target as their "low end machines" -- and is the minimum required performance that their newest software will need to still be usable at. So you will at least that class of emulator performance in order for the emulator to be really useful for new Apps.
Now, the problem is that the Gemulator (or most of the Mac Emulators on PCs) are only running at levels acceptable for older Legacy Apps -- and are well below the sweet spot! While the PC Emulators on the Mac are actually achieving or above the sweet spot, and are acceptable for many new Apps.
The performance demands of newer apps are likely to exclude these older Mac emulators -- making them much less valuable. In fact, many Apps (especially any games) are becoming PowerPC only, and all those are excluded from 68000 emulators for technical reasons as well as performance reasons. You can't even run the latest versions of the OS on those Mac-Emulators. You can at least get into the System8 realm, which isn't too bad -- yet even then, the sweet spot for the OS performance itself is well above the 25 MHz 68040 level -- so the OS feels bogged down on these older machines (and emulators). So there isn't that much compatibility and the performance isn't up to par for most people -- and you aren't very close to the sweet spot at all. This level of emulator has a very limited purpose, but it is no where near a replacement for a modern Mac.
On the other hand, compare this to the PC emulators that run on the Mac. I have a Pentium 200 (w/MMX), and VirtualPC, and I almost never have to boot my PC for anything. In fact, I haven't even had it hooked up to a monitor in 6 months (I alternate between 2 or 3 monitors on my main Mac, and only devote one to the PC when I have to). On my 366 MHz G3 (which is still a generation back from being a cutting edge machine), the Virtual PC and Physical PC are close enough in performance for most things (though the real PC is faster than the virtual one, especially for games). But in fact, the Virtual PC adds lots of functionality (and is probably MORE compatible) than the real one -- and easier to operate, easier to fix, faster to boot, and has many other little advantages that I like. It is well above (or at least at) the sweet spot for everything except scroll and kill games -- and the Mac has more than enough of those to keep me busy. While the Mac emulators on the PC can't approach the simplicity or feature set of a real Mac.
What about the PPC?
When you think about it, this performance comparison is somewhat embarrassing to the Pentium. The PowerPC emulator on an 8100/80 was faster than a 25 MHz 040's at 1/3 the clock speed of the PentiumII! And that was a few generations back in processor design! Ouch, that's gotta hurt. But, I don't suppose the Gemulator-guy will run the ad that implies, "3 times slower than the PPC is at the same task", eventhough it would probably be no less representative of the truth.
The PPC has an unfair advantage -- not only in more registers and a more modern design, but Apple optimized many OS routines for the PPC directly. So not only does the PPC do a better job of 680x0 emulation (and have a DR-Compiler), it also does a much better job of running Applications (because many of the most often used System calls are native).
Another way we can look at all this (as in the sweet spot and what emulators give you) is as a matter of time. How recent of a machine can it emulate? How far behind (in years) are you?
The 1994 PowerMac 8100/80 could probably emulate the 68000 apps as fast (or near to it) as what a 1998 based top of the line PC does with an emulator -- and may actually threaten a top of the line 1999 class PC. This gives the Mac like a 3 - 5 generation advantage, or 4-5 year advantage. Or in other words, what the Mac could do in 1994 the PC can finally do now. That isn't very impressive if you ask me.
In fact, the 68030 machines were first released in 1988 and the 68040's are from 1991. What these new Mac emulators give you is the ability to mimic circa 1991 style machines (a little faster in best case scenarios, but probably slower in worst case scenarios). This is a full 7 or 8 years late to the party. And even that isn't fair because the 1991 Quadra700 had an FPU (Floating Point Unit) which wasn't touched in the comparison (probably for reasons).
Now let's compare these timelines to the PC Emulators on the Mac! The PC emulators can easily able to emulate 1995 class machines, and arguably 1996 class machines (or even some 1997 low-end machines) on top end Macs. Which all means that the PC emulators on the Mac are many generations and many years closer to the leading edge -- and much more valuable, compatible, advanced, and useful!
The whole point of this article is not to bash the "Gemulator", or other Mac Emulators for the PC. In fact, if I wanted to give a modern PC the convenience of a legacy Mac (which they still haven't achieved on their own), then these emulators are probably a step in the right direction. But they are no where near the level of usability or convenience or performance of real legacy Mac -- not to mention a real modern Mac. The Gemulator still has most of the flaws of a PC (because it runs on a PC), and can't fix anything with that! And these emulators can require all sorts of ugly-hacky things like digging up old Mac ROMs and adding a card to get them to work (thus filling up one of your few slots that may be left open on a PC), and so on. It all hits me as a "non-elegant" solution, that works, but doesn't fill much of niche, and doesn't solve anything I want to do or make me more productive.
The Mac and PC emulators are in two different classes. The Mac Emulators (for the PC) are valuable only if you are running really old legacy apps, and you don't need modern compatibility or performance -- and all this is valuable only if you can't buy a used or new Mac. So the only advantage for the PC is if you have absolutely no choice to run a Mac at all. While the PC Emulators (for the Mac) allow you to run much more modern apps, at a much more acceptable level, with more compatibility and may actually add features and functions to the PC in the process. In fact they are so good that many people can forgo buying a PC and replace it with a virtual one, and decrease their maintenance cost and increase their productivity (even if they aren't running quite as fast, they may get more done).