Some tests are performed on many different processors from 8086 to modern CPU's. The initial purpose of the tests is the evaluation of my own compiler. This tests include program compiling. In this tests context.c (C port of context.cpp/4,506 lines/101,032 bytes), context.ctx (context.066 - port of context.cpp/4,247 lines/91,274 bytes) and context.pas (context.tp7/2,395 lines/65,001 bytes, context.tp1/2,362 lines/64,051 bytes, context.tp3/2,362 lines/63,419 bytes) compiled with different compilers listed below. Comparison with context.pas is not entirely correct since the code is significantly different and smaller in size.
Compiler | Remark |
---|---|
INI | Context 1.10+Asm8086/Initial version? |
102 | Context 1.02+Asm8086 |
103 | Context 1.03 with direct code generator |
GCC | Default version for Linux distribution |
TC2 | Turbo C 2.01 |
MC5 | Microsoft C 5.10 |
IC4 | Intel C 4.5 |
WC6 | Watcom C 6.5 |
TP1 | Turbo Pascal 1.0 |
TP3 | Turbo Pascal 3.0 |
TP7 | Turbo Pascal 7.0 |
Most of the results were obtained on real machines, some were also obtained on emulators. Some of them are correct, others are not:
System/CPU | Compiler | Time (sec) | Remark |
---|---|---|---|
Core i5-4690S@3200/VMWare | TP7 |
0.009
|
|
Core i5-4690S@3200/VMWare | 103 |
0.021
|
|
Core i5-4690S@3200/VMWare | TC2 |
0.064
|
|
Core i5-4690S@3200/VMWare | 102 |
0.093
|
|
AMD K6@200 | TP7 |
0.100
|
|
Core i5-4690S@3200/VMWare | TC2 |
0.121
|
Compile via assembly (tcc -B) |
AMD K6@200 | 103 |
0.223
|
|
Core i5-4690S@3200 | GCC |
0.283
|
|
Core i5-4690S@3200/VMWare | IC4 |
0.302
|
|
Core i5-4690S@3200/VMWare | MC5 |
0.369
|
|
Core i5-4690S@3200/VMWare | INI |
0.532
|
|
AMD K6@200 | TC2 |
0.698
|
|
Core i5-4690S@3200/VMWare | WC6 |
0.858
|
|
AMD K6@200 | 102 |
1.301
|
|
Core i5-4690S@3200 | GCC |
1.423
|
Max optimization (-O3) |
AMD K6@200 | MC5 |
3.455
|
|
AMD K6@200 | IC4 |
4.114
|
|
Am286@8 | TP7 |
5.438
|
|
AMD K6@200 | INI |
7.394
|
|
AMD K6@200 | WC6 |
8.273
|
|
V30@4.77 | TP7 |
14.326
|
CF Card |
Am286@8 | 103 |
18.896
|
|
V30@4.77 | TP3 |
20.780
|
Compile to memory |
PCem/IBM 5160/8088@4.77 | TP7 |
22.632
|
|
PCjs/IBM 5150/8088@4.77 | TP3 |
23.690
|
Compile to memory |
PCem/IBM 5160/8088@4.77 | TP3 |
29.400
|
Compile to memory |
Am286@8 | TC2 |
35.321
|
|
V30@4.77 | TP1 |
37.660
|
Compile to memory |
PCjs/IBM 5150/8088@4.77 | TP1 |
42.060
|
Compile to memory |
PCem/IBM 5160/8088@4.77 | TP1 |
52.030
|
Compile to memory |
V30@4.77 | 103 |
53.396
|
CF Card |
V30@4.77 | 103 |
71.411
|
USB Pen Drive |
Am286@8 | TC2 |
96.899
|
Compile via assembly (tcc -B) |
V30@4.77 | TC2 |
102.722
|
CF Card |
Am286@8 | 102 |
146.393
|
|
V30@4.77 | TC2 |
166.772
|
USB Pen Drive |
Am286@8 | MC5 |
223.077
|
|
V30@4.77 | TC2 |
234.338
|
CF Card/Compile via assembly (tcc -B) |
Am286@8 | IC4 |
297.400
|
|
V30@4.77 | 102 |
330.304
|
CF Card |
V30@4.77 | TC2 |
380.511
|
USB Pen Drive/Compile via assembly (tcc -B) |
V30@4.77 | 102 |
535.748
|
USB Pen Drive |
V30@4.77 | MC5 |
626.221
|
CF Card |
Am286@8 | WC6 |
644.128
|
|
Am286@8 | INI |
675.879
|
|
V30@4.77 | IC4 |
810.461
|
CF Card |
V30@4.77 | WC6 |
1,580.658
|
CF Card |
V30@4.77 | INI |
1,876.410
|
CF Card |