notes:homebrew:8086_cc_performance
Table of Contents
8086 (16-bit) C compiler performance
Some notes on standards compliance level:
Compiler | C standard | C++ standard |
---|---|---|
gcc-ia16 6.3.0 | C11 | C++14 (Tiny/Small memory only) |
OpenWatcom | C90 (limited C99) | limited C++98 |
Digital Mars | C99 | C++98 |
Dhrystone v2.1
- Results given in Dhrystones per second. Higher is better.
- 286-tuned compile refers to building with 80286-specific opcodes/tuning, as opposed to the generic option.
Compiler | Flags | DOSBox (3000 cycles) | 86Box (80286 @ 8MHz) | 86Box (80286 @ 8MHz, 286-tuned compile) |
---|---|---|---|---|
gcc-ia16 6.3.0 (July 2022) | -O0 | 3329.2 | 1910.1 | 1935.6 |
gcc-ia16 6.3.0 (July 2022) | -O1 | 6332.9 | 3273.3 | 3255.0 |
gcc-ia16 6.3.0 (July 2022) | -O2 | 6935.4 | 3640.9 | 3664.3 |
gcc-ia16 6.3.0 (July 2022) | -O3 | 6936.9 | 3641.3 | 3664.3 |
gcc-ia16 6.3.0 (July 2022) | -Os | 5066.5 | 2697.5 | 2722.5 |
OpenWatcom (Jun 25 2022) | 4046.0 | 2198.6 | 2240.7 | |
OpenWatcom (Jun 25 2022) | -oneatx -oh | 5496.4 | 3066.3 | 3183.4 |
Digital Mars C 8.57 | 4221.6 | 2339.2 | 2437.2 | |
Digital Mars C 8.57 | -o | 4481.8 | 2635.9 | 2721.1 |
DOS C Compiler Benchmark (dccb)
dccb is a software 3D rasterizer, designed to test real-world performance across a variety of C DOS compilers.
DOSBox, 67000 cycles
Test performed by leikareipa.
Result (FPS) | Compiler |
---|---|
57 | Microsoft C/C++ 8 |
41 | Digital Mars C/C++ 8 |
37 | Open Watcom ? |
33 | Borland Turbo C 2 |
32 | Borland C++ 2 |
32 | Microsoft C 5 |
31 | Microsoft QuickC 1 |
30 | HI-TECH Pacific C 7 |
14 | Mix Power C 2.2 |
Code size notes
FreeDOS kernel (2022-06-04):
- gcc-ia16 6.3.0: 53216 bytes
- OpenWatcom: 48757 bytes
notes/homebrew/8086_cc_performance.txt · Last modified: 2022/11/21 18:24 by asie