I can't give you actuall numbers, but I've owned and used a lot of systems from
1970's on up (See "Daves Old Computers").
I've written emulators for several of my favorite systems that I had over the
years. These were written and run under DOS, and include:
1974 MIL Mod-8 (8008)
1975 Mits Altair 8800A (8080)
1976 NorthStar Horizon / Vector 1+ (Z80)
1977 Heathkit H8 (8080)
1983 D6809 (homebuilt 6809 portable)
(I've just been discussing these in another forum on "non x-86 systems" which
is why I have this information handy)
I can tell you this:
At that time I wrote them my main desktop was probably a Pentium 2 or 3,
running DOS. Even on that system, the emulators ran faster than the original
machines ... but that was only 1 level of CPU emulation.
Currently my lab Desktop is an I7 running Win7-64. Since the emulators are
16-bit DOS programs, then don't run naively on Win-64.
So I run them under DosBox, which means that the emulated systems are being
run through 2 levels of CPU emulation (for this example I'll use D6809 which
emulates my homebuilt 6809 portable system):
X86-64 -> X86-16 -> 6809
And the CUBIX O.S. that I wrote for the 6809 portable, includes SIM80 which
is an 8080 emulator that I created to be able to run much of the code I'd
previously written. So if for example, I write a BASIC program in the BASIC
interpreter that I had written for the Altair and want to run it in the D6809
emulator, the CPUs being emulated are:
X86-64 -> X86-16 -> 6809 -> 8080
(This means that each instruction "executed" on the 8080 is actually performed
by 100s-1000s of actual CPU instructions)
... and said BASIC programs STILL run faster than they did on the Altair!
Most people don't truly realize how fast modern CPUs are! This is mainly
because software has gotten bigger and slower (taking advantage of the faster
hardware) - so the overall system speed seems a lot faster, but not that many
orders of magnitude faster than it is.
Back in the 70s, writing code for my Altair, I spent many hours carefully hand
crafting code in assembly language, both to make it fit in the available RAM,
and to make it run fast enough.
I think that if someone were writing a simple BASIC interpreter like I did for the
Altair on a modern system today, they'd probably do so in C++ or something like
that, and the executable could be anywhere from 50 to 100+k of code (depending
on what libraries got included etc. - and lets not even consider DLLs etc.)
My BASIC for the Altair was written in .ASM and produced a 3k executable.
Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal