http://t3x.org/t3x/0/stats.html   (light|dark)

T3X/0 Logo

T3X/0

Compiler Statistics

Object Code Size

The size of the object code of the various T3X/0 back ends is illustrated in the following table by the examples of a simple Hello World program as well as the compiler executable itself. The "Hello World" program, of course, mostly measures the size of the run time library.


Target
Word
Size
Hello World
Size
Compiler
Size
TCVM16-bit13420715byte code
CP/M-Z8016-bit190535153
DOS-808616-bit121529273
FreeBSD-38632-bit131638804statically linked
Unix-386132-bit759641676dynamically linked
Unix-686164-bit927255248dynamically linked

All sizes in bytes.

1 "Unix" is FreeBSD 12.4 in this case, but using the generic Unix backend.

The compiler executables are those of T3X/0 version 43.

Compilation Speed

The following table summarizes the time the compiler requires to self-compile on various systems. It is interesting that T3X/0 compiles slightly more lines per MHz on the Z80 than on the 8088. I would have guessed that the 8088 is much faster, because it has built-in multiplication and division and is 16-bit internally.

The superior speed of the 4MHz Z80 compared to the other Z80 CPUs might be due to the file system on an SRAM card.

I have no idea why the TCVM is so slow on the ARMv7.

A modern CPU and architecture (x86-64) delivers more than an order of magnitude more thruput per clock speed compared to the Z80 or 8088.

TargetCPU SpeedFile SystemTimeRel.Lines/Min.Lines/MHz
CP/M Z804.00 MHzSRAM card9m20.00s1.0025464
DOS 80884.77 MHzCF card8m55.00s1.0527357
DOS V204.77 MHzCF card8m31.00s1.1028159
CP/M Z807.40 MHzCF card5m37.00s1.6743459
CP/M eZ8018.40 MHzSD card51.00s11.002,464134
TCVM on ARMv7900.00 MHzSD card5.23s107.0023,90027
FreeBSD ARMv7900.00 MHzSD card0.63s892.00199,000221
TCVM on x86-641000.00 MHzSSD0.85s661.00164,000164
FreeBSD x86-641000.00 MHzSSD0.15s3747.00933,000933

ARMv7 running T3X/0 version 20a, eZ80 running version 36, all others version 12.


contact | privacy