------------------------------------- Chart of results for C Compiler tests ------------------------------------- results are: os: ct: es: rt: Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Borland os: 2,033 2,511 1,640 1,084 320 463 230 226 458 Turbo C es: 7,024 24,068 8,000 20,464 19,698 8,418 1,990 5,744 2,022 v 1.5(F) ct: 10.0 11.6 10.9 7.7 5.7 6.0 3.6 3.6 6.5 rt: 62.7 50.7 41.9 5.2 31.5 25.6 16.9 0.6 7.0 Compiler DryStn (Grind) (FXRef) Crunch Display DiskIO AllocMem Loops (Sort) ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- C-Ware os: 2,410 2,919 1,996 1,211 232 407 133 132 452 DeSmet C es: 9,728 13,824 11,776 10,752 7,168 10,752 2,048 7,168 2,048 v 3.03 ct: 7.2 7.0 6.6 4.8 4.1 4.4 4.0 4.0 4.4 rt: 87.9 66.4 41.2 11.8 26.9 48.0 8.5 1.8 9.9 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Comp. Innov. os: 2,724 2,882 2,268 1,226 563 569 357 366 739 C86 es: 12,480 35,790 12,934 31,658 29,462 13,246 7,340 10,472 6,522 v1.09g ct: 148.5 101.5 128.9 42.5 24.0 32.7 17.9 16.9 41.2 (no opt.) rt: 100.8 137.5 ---- ---- 37.6 32.5 16.7 2.4 14.6 Compiler DryStn Grind Crunch FXRef Display DiskIO AllocMem Loops Sort TOTALS ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Comp. Innov. os: 2,217 2,531 1,258 1,824 563 550 315 319 606 C86 es: 11,984 35,470 31,664 12,502 29,462 13,214 7,292 10,424 6,378 v1.09g ct: 147.4 105.0 45.7 130.3 24.3 33.0 17.3 15.7 41.9 (optimized) rt: 74.5 134.7 ---- ---- 37.4 32.5 14.9 0.4 7.6 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- EcoSoft os: 2,559 2,983 2,216 1,358 517 642 454 442 728 Eco-C88 es: 10,664 16,404 11,896 16,914 9,334 11,132 2,426 9,256 1,970 v 4.02 ct: 21.5 17.9 23.4 11.4 9.1 10.0 7.4 7.4 9.3 rt: 81.6 72.9 43.2 16.0 30.4 36.8 17.9 2.9 10.2 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Lattice os: 2,679 2,896 2,228 1,396 507 674 419 405 687 C es: 9,926 19,760 10,258 20,976 12,480 10,320 3,826 8,368 3,234 v3.21 ct: 30.2 25.6 30.1 15.4 10.1 12.0 7.8 7.7 12.7 rt: 86.8 65.2 49.3 10.0 36.4 41.7 15.0 1.1 9.9 Compiler DryStn Grind (FXRef) Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Manx os: 2,176 2,701 1,834 1,258 666 374 175 177 448 Aztec C86-c es: 5,474 10,870 5,716 11,174 7,058 4,966 2,374 4,034 2,178 v4.10a ct: 25.4 23.5 21.4 11.4 8.2 8.7 6.4 6.5 9.7 rt: 67.8 69.8 45.0 13.1 34.5 23.7 10.3 1.2 7.6 Compiler DryStn (Grind) (FXRef) Crunch Display DiskIO AllocMem Loops (Sort) ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Mark Wms os: 2,477 2,840 2,050 1,121 436 573 312 305 570 Let's C es: 12,610 47,008 7,314 14,864 11,408 6,722 4,018 5,872 44,224 v 4.0.12 ct: 21.7 22.2 19.0 13.9 7.3 8.4 5.8 5.7 8.4 rt: 82.6 68.2 28.2 12.3 23.2 23.4 9.0 1.3 7.5 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- MetaWare os: 1,905 2,473 1,859 1,288 450 586 320 266 560 High C es: 24,704 57,824 21,792 23,952 18,160 21,328 5,856 18,064 46,064 v1.4 ct: 51.5 48.1 53.9 39.7 34.2 34.6 29.6 27.5 31.5 rt: 63.2 87.1 33.2 15.4 25.2 45.0 ---- 1.0 9.5 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Microsoft os: 2,486 2,614 2,060 1,233 482 549 317 310 614 C es: 8,891 26,870 9,371 24,016 21,756 9,157 3,003 7,259 2,597 v5.10 ct: 31.0 25.9 27.7 14.9 10.6 12.2 10.3 8.7 13.0 (no optim) rt: 77.5 48.9 26.9 7.6 18.8 18.0 9.5 1.0 8.3 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Microsoft os: 2,139 2,502 1,902 898 458 516 304 285 613 C es: 8,507 26,726 9,195 23,712 21,740 9,125 2,987 7,227 2,597 v5.10 ct: 41.1 34.7 35.6 15.7 10.9 13.8 10.9 8.7 17.3 (max opt.) rt: 55.6 49.1 26.5 6.8 18.8 17.0 8.7 0.3 6.6 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Microsoft os: 3,260 3,697 2,831 1,709 810 945 672 676 1,011 Quick-C es: 8,975 27,152 9,439 24,048 21,756 9,161 3,019 7,275 2,613 v1.01 ct: 13.5 13.3 15.2 10.4 8.5 8.7 8.2 6.5 7.6 (no optim) rt: 80.1 52.9 26.9 8.0 18.8 17.9 9.8 1.3 9.0 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Microsoft os: 2,927 3,405 2,570 1,654 771 870 660 650 947 Quick-C es: 8,751 27,008 9,295 24,048 21,740 9,129 3,003 7,259 2,565 v1.01 ct: 22.6 22.1 26.7 18.2 14.9 14.7 14.1 10.6 12.4 (max opt) rt: 68.0 52.8 26.6 8.0 18.8 17.9 9.1 0.9 7.6 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- MIX os: 4,639 ---- 4,207 1,998 434 717 392 310 ---- Power C es: 10,880 ---- 11,488 21,552 14,064 12,496 2,400 8,848 ---- 1.0.0 ct: 28.6 ---- 29.5 16.0 11.8 13.0 7.9 8.4 ---- rt: 82.5 ---- 36.9 10.8 28.4 26.2 ---- 3.7 ---- Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- WATCOM os: 3,232 9,504 1,706 1,124 355 456 261 255 8,965 C 6.0 es: 14,096 48,320 8,992 15,312 12,640 8,848 4,144 7,552 44,368 (no opt.) ct: 34.5 52.9 28.9 68.6 8.6 9.9 6.4 6.3 20.2 rt: 79.8 55.6 43.2 9.5 32.6 25.0 6.8 0.6 7.2 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- WATCOM os: 2,909 9,175 1,583 1,038 336 437 242 236 8,884 C 6.0 es: 13,872 48,064 8,944 15,232 12,608 8,832 4,080 7,552 44,272 (optimized) ct: 48.0 52.9 38.9 61.1 9.0 10.8 6.7 6.6 23.1 rt: 50.4 55.3 43.1 9.4 32.6 25.0 6.8 0.4 6.0 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Zortech os: 2,799 2,972 2,444 1,356 360 581 307 299 542 Optimum C es: 8,344 19,659 8,300 19,210 9,932 7,585 4,154 7,022 4,125 v4.0 ct: 11.3 10.3 12.0 7.9 6.1 6.5 5.8 5.3 6.2 (no opt.) rt: 64.8 44.2 26.7 8.9 20.0 16.3 10.6 1.5 8.8 Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----------- -------- -------- -------- -------- -------- -------- -------- -------- -------- Zortech os: 2,570 2,995 2,493 1,353 356 574 274 266 534 Optimum C es: 8,152 19,643 8,268 19,210 9,932 7,585 3,930 7,022 4,154 v4.0 ct: 34.1 25.4 28.8 13.5 9.6 12.1 9.2 8.6 15.6 (max. opt.) rt: 52.0 44.1 26.5 8.9 20.0 15.7 9.5 0.4 7.5 ------------------------- Individual Compiler Notes ------------------------- Aztec C ======= FXREF needed to to be changed -- no stdlib.h. Malloc function prototypes added. Datalight ========= Generates a compile error (not a warning) for prototype mismatches without -p switch. Mark Williams ============= No function prototypes no stdlib.h or string.h Desmet ====== Does not support function prototypes. Uses very little disk space (< 500K). Does not put out a '\n' in a puts(). HighC ===== Allocmem.exe crashed when run. (Investigating) Supports Codeview? Ran out of memory (with 450K free) on compiling FXREF by just 9K. C86Plus ======= Works with Codeview Crunch blows machine up (PrtSc, then dead) FXRef does not recognize end-of file, including ^Z, from stdin Power C ======= Cannot compile any programs which contain recursion. AllocMem goes into infinite loop, or locks machine? Zortech C ========= This is actually the old Datalight C, version 4.00 ------------------------- Execution Timings Summary ------------------------- Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ------------ -------- -------- -------- -------- -------- -------- -------- -------- -------- Borland rt: 62.7 50.7 41.9 5.2 31.5 25.6 16.9 0.6 7.0 C-Ware rt: 87.9 66.4 41.2 11.8 26.9 48.0 8.5 1.8 9.9 Comp. Innov. rt: 74.5 134.7 ---- ---- 37.4 32.5 14.9 0.4 7.6 Ecosoft rt: 81.6 72.9 43.2 16.0 30.4 36.8 17.9 2.9 10.2 Lattice rt: 86.8 65.2 49.3 10.0 36.4 41.7 15.0 1.1 9.9 Manx rt: 67.8 69.8 45.0 13.1 34.5 23.7 10.3 1.2 7.6 Mark Wms rt: 84.3 67.9 28.1 12.3 23.2 23.4 9.1 1.3 7.5 Microsoft rt: 55.6 49.1 26.5 6.8 18.8 17.0 8.7 0.3 6.6 MS QuickC rt: 68.0 52.8 26.6 8.0 18.8 17.9 9.1 0.9 7.6 Metaware rt: 63.2 87.1 33.2 15.4 25.2 45.0 ---- 1.0 9.5 MIX Power C rt: 82.5 ---- 36.9 10.8 28.4 26.2 ---- 3.7 --- WATCOM rt: 50.4 55.3 43.1 9.4 32.6 25.0 6.8 0.4 6.0 Zortech rt: 52.0 44.1 26.5 8.9 20.0 15.7 9.5 0.4 7.5 *** FINAL RESULTS *** Place DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --------- 1st WATCOM Zortech Zortech Borland Microsoft Zortech WATCOM Microsoft WATCOM 2nd Zortech Borland Microsoft Microsoft MS QuickC Microsoft DeSmet Comp Inn Microsoft 3rd Microsoft Microsoft MS QuickC MS QuickC Zortech MS QuickC Microsoft WATCOM Borland 4th Borland MS QuickC Mark Wms Zortech Mark Wms Mark Wms Mark Wms Zortech Mark Wms 5th Metaware WATCOM Metaware WATCOM Metaware Manx MS QuickC Borland Zortech ----------------------- Executable Size Summary ----------------------- Compiler DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ------------ -------- -------- -------- -------- -------- -------- -------- -------- -------- Borland es: 7,024 24,068 8,000 20,464 19,698 8,418 1,990 5,744 2,022 C-Ware es: 9,728 13,824 11,776 10,752 7,168 10,752 2,048 7,168 2,048 Comp. Inn. es: 11,984 35,470 12,502 31,664 29,462 13,214 7,292 10,424 6,378 Ecosoft es: 10,664 16,404 11,896 16,914 9,334 11,132 2,426 9,256 1,970 Lattice es: 9,926 19,760 10,258 20,976 12,480 10,320 3,826 8,368 3,234 Manx es: 5,474 10,870 5,716 11,174 7,058 4,966 2,374 4,034 2,178 Mark Wms es: 12,610 47,008 7,314 14,864 11,408 6,722 4,018 5,872 44,224 Metaware es: 24,704 57,824 21,792 23,952 18,160 21,328 5,856 18,064 46,064 Microsoft es: 8,383 26,504 9,135 23,264 21,308 9,049 2,987 7,083 2,613 MS QC es: 8,591 26,740 9,215 23,612 21,436 9,049 3,003 7,099 2,549 MIX PowerC es: 10,880 ---- 11,488 21,552 14,064 12,496 2,400 8,848 ---- WATCOM es: 13,872 48,064 8,944 15,232 12,608 8,832 4,080 7,552 44,272 Zortech es: 8,152 19,643 8,268 19,210 9,932 7,585 3,930 7,022 4,154 *** FINAL RESULTS *** Place DryStn Grind FXRef Crunch Display DiskIO AllocMem Loops Sort ----- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --------- 1st Manx Manx Manx C-Ware Manx Manx Borland Manx Ecosoft 2nd Borland C-Ware Mark Wms. Manx C-Ware Mark Wms C-Ware Borland Borland 3rd Zortech Ecosoft Borland Mark Wms Ecosoft Zortech Manx Mark Wms C-Ware 4th Microsoft Zortech Zortech WATCOM Zortech Borland MIX PowC Zortech Manx 5th MS QuickC Lattice WATCOM Ecosoft Mark Wms WATCOM Ecosoft Microsoft MS QuickC