Advocacy
Dojo (HowTo)
Reference
Markets
Museum
News
Other
|
Mac users get constantly bombarded with statements about emulation. Especially by those that haven't used Macs or don't understand the issues.
When Apple moved from the Motorola 68000 family of processor to the PowerPC family of processors, they decided to emulate the older processors instructions. This allows all the old programs to work, even on the new processor. It also saved Apple from having to rewrite all their OS in one pass, and let them focus on critical parts first. Mac Application spend most of their time (as much as 80 - 90%) calling the Mac Toolbox (the Operating System routines). So Apple profiled those routines to find out which were called the most often, and which were taking the most time. They found that about 20% of those routines were called about 80% of the time. So Apple quickly rewrote those routines for the PowerPC. So by the time Apple released the PowerMacs, already the routines that were run most of the time were PowerPC Native - and only routines that were executed a minority of the time were emulated. (Also all the old code - (non updated Applications) were running emulated.
The myth started because the slowest PPC's were slower than the fastest 68K machines, but not by much. PowerPC performance was blotchy - some things were 10 times faster, and some things about 1/2 as fast - but overall, users got at least the same performance (1). The negative people focused on those few slower things, and distorted that into some myth -- the reality was far different.
This is where some rumors came from that PPC's had too much emulation and were too slow. Too slow was relative to the native Applications - which were much faster. Users that were complaining were often complaining as much about the Applications not being native as they were about the system - especially when they saw a native app running side by side (and it flew). The new machines were still faster than their old machines, but not as much as they could have been. But the 68K apps of the time were still running pretty good - and the Apps that needed power and speed were very quickly updated to be native. About a year later (circa 1995), almost ALL the high-performance Applications had been rewritten to be PowerPC native. Also around this time the PowerPC's jumped from 60-80mhz into their second generation - the 100-132 Mhz. Applications were almost twice as fast as the first generation of PPC's - and Apple had improved the emulator by making it twice as fast (on new Machines) as the previous emulator (using DR-Emulator). So the remaining native code (which is a lot of code, but is run a minority of the time) doubled in speed because of the emulator, and doubled again because of the newer Processors. Apple rewrote the disk I/O stuff and the Networking to be native. There was no 68K's machines that could come close to touching these machines even in all emulated Apps, and for native Applications these machines flew. Apple also updated some of the older machines emulators with a System update (or some people used Speed-Doubler, which is faster than Apples emulator). Apple also updated a bit more of its System to have less emulated code. So only the early adopters (first generation) had complains, and even then it was only early on -- things have gotten better as time has gone on. About a year later (circa 1996) the machines took another generation. Apple released another System update - with even more native code. At this point I would say that about 30-40% of the System Code is native, but if you profile how much of the time an Application or the System is actually running emulated code it is probably less than 10%, and the things the system is doing in that 10% of the time, are not the most performance critical tasks anyways. Processors again jumped, and 200mhz processors became vogue. Machines now were likely 4 times faster than any PPC's, and blowing the doors off of pentiums for most tasks. There is still a fair amount of emulated code in the system - but not if you are looking at how frequently it is run (instead of how many lines of code there are). So not only was processor performance progressing all during the evolution of the PowerMacs, but so was the OS. Apple has been tweaking and reducing the amount of emulation. There are a few areas left - but overall the great majority of the time is spent in native code. Apple has also made the emulator faster, and most Apps are native as well - and performance critical parts of the computer are definitely native. PPC performance still blows the Pentiums away in Application tests (which average both native and emulated code). So next time a PC person is complaining that the Mac has too much emulation - just remind them that it is still faster than their PC.
|