TSCP Benchmark Scores

version 1.7x

See the bottom of this page for information on benchmarking with TSCP.

Hardware Software, settings MIPS Name
Pentium 4/2400 Visual C++ 6.0 2770 Thomas Kallwass
Athlon XP/1800 GCC 3.3 (30) 2395.7 Josh Rendlesham
Pentium 4/2000 Visual C++ 6.0 2352 Thomas Kallwass
Athlon XP/1812 Intel C 5 (25) 2226.2 Aaron Gordon
Pentium 4/1800 Visual C++ 6.0 2124 Thomas Kallwass
Athlon/1677 Intel C 5 (23) 2077.9 Aaron Gordon
Athlon XP/1800 Visual C++ 6.0 2032.8 Enrique Irazoqui
Athlon/1610 Intel C 5 (20) 1989.6 Aaron Gordon
Pentium 4/1700 Visual C++ 6.0 1891 Raleigh Bellas
Athlon XP/1670 (2000+) Visual C++ 6.0 1887.3 Tom Kerrigan
Pentium 4/1600 Visual C++ 6.0 1860 Thomas Kallwass
Pentium 4/1500 Visual C++ 6.0 1749 Johan De Gelas
Pentium 4/1500 Visual C++ 6.0 1702 Dwayne Sanburn
Athlon/1400 Visual C++ 6.0 1577 Thomas Kallwass
Athlon MP/1200 (x2) Intel C 5 (24) 1452.4 Sean Mintz
Athlon/1200 gcc 2.96 (27) 1393.5 Mark Wilbur
Athlon/1200 Visual C++ 6.0 1338 Johan De Gelas
Athlon/1100 gcc 2.96 (3) 1278.4 Robert Weber
Alpha/731 (EV67) Compaq C V6.3-027 (15) 1258.6 Stephen Carpenter
Athlon/1100 Visual C++ 6.0 1242.3 Scott Roderick
Pentium III/1000 Visual C++ 6.0 1168.3 Ping-Che Chen
Athlon/1030 Visual C++ 6.0 1152.1 Philipp C. Schmetz
Celeron/986 Visual C++ 6.0 1138.1 Riprock
G4/867 MrC 5.0 1131.9 Richard A. Fowell
Duron/1007 Visual C++ 6.0 1117 Patrick
Pentium III/933 Visual C++ 6.0 1104.5 Enrique Irazoqui
Athlon/1000 Visual C++ 6.0 1101.3 Vignoli Alessandro
Athlon/950 Visual C++ 6.0 1083.8 Dann Corbit
Pentium III/933 Visual C++ 6.0 1080 Jim
Athlon/900 Visual C++ 6.0 1021.7 Dave Gray
Athlon/900 Visual C++ 6.0 1016.1 Lars Hunerbein
Duron/908 Visual C++ 6.0 1016 Alessandro Del Rosso
Alpha EV67/667 ccc (31) 1007.6 Riccardo Veraldi
Celeron/850 (566 oc) Visual C++ 6.0 988 Alexander Fichtner
Pentium III/800 Intel C++ 4.5 (8) 972.6 Frank Loranger
Pentium III/800 Visual C++ 6.0 (1) 960.1 Frank Loranger
Pentium III/800 Visual C++ 6.0 933.8 Frank Loranger
Classic Athlon/825 Visual C++ 6.0 933.8 chf
Pentium III/800 CodeWarrior 6.2 (21) 918.2 Nathaniel Cameron Begeman
Athlon/800 Visual C++ 6.0 911.9 Tom Kerrigan
Classic Athlon/800 Visual C++ 6.0 905.3 Imran
Mobile Pentium III/750 Visual C++ 6.0 874.9 Enrique Irazoqui
Classic Athlon/800 Visual C++ 6.0 853.5 Arthur Brownett
G4/500 (x2) MrC 5.0 831.4 Roger Smith
RS64-III/450 IBM C Compiler V5.0 (13) 826.2 Andreas Kaiser
Celeron/700 Visual C++ 6.0 821.1 Pete Galati
Mobile Pentium III/750 Visual C++ 6.0 811.2 Nicholas Velastegui
G3 (750)/600 gcc 2.95.2 (26) 798 Alun J. Carr
RS64-III/450 IBM C Compiler V5.0 (11) 791.1 Andreas Kaiser
Athlon/750 Visual C++ 6.0 788.8 Thomas Sachse
Duron/700 Visual C++ 6.0 787.1 Philip Dias
Classic Athlon/700 Visual C++ 6.0 765.7 fyodor
Classic Athlon/700 Visual C++ 6.0 741.5 Robert Weber
Pentium III/600 Visual C++ 6.0 (4) 725.7 Eric Bron
Mobile K6-III+/550 Visual C++ 6.0 720.5 Peter Tong
G4/450 MrC 5.0 715.8 Edward Trice
Power3/333 IBM C Compiler V5.0 (10) 692.9 Andreas Kaiser
Duron/600 Visual C++ 6.0 682.0 Ignacio Rodriguez-Trelles
K6-2/550 Visual C++ 6.0 680 Johan De Gelas
Pentium III/600 Intel C++ 4.5 (5) 675.9 Eric Bron
G4/400 MrC 5.0d3 (14) 673.6 Nate Begeman
Celeron/600 Visual C++ 6.0 661.6 Mathias Wabro
K6-III/501 Visual C++ 6.0 650.1 Nicholas Ranger
Athlon/600 Visual C++ 6.0 648.9 Pierre-Michel Ricordel
Pentium III/550 Visual C++ 6.0 645.8 Igor Zaitsev
Mobile G3/400 MrC 5.0 620 onyxx
604e/375 IBM C Compiler V5.0 (9) 610.7 Andreas Kaiser
Athlon/600 gcc (19) 589.9 Pierre-Michel Ricordel
K6-III/450 Visual C++ 6.0 582.9 Scott Roderick
21164A/500 (EV56) COMPAQ ccc (22) 580 Riccardo Veraldi
Athlon/500 Visual C++ 6.0 558.9 Roland Lewis
Celeron/466 Visual C++ 6.0 541.1 Ray MacFadyen
Pentium III/450 Visual C++ 6.0 530 Johan De Gelas
Pentium III/450 Visual C++ 6.0 524.4 Ross Boyd
K6-III/400 Visual C++ 6.0 521.5 Andreas Kaiser
Pentium II/450 Visual C++ 6.0 512.9 Steve Maughan
K6-III/400 Digital Mars C++ 8.34 (28) 495.9 Josh Rendlesham
K6-III/400 GCC 3.2 (29) 495.2 Josh Rendlesham
UltraSPARC-II/400 (x4) Forte 6 (2) 491.5 Robert Weber
Pentium II/400 Visual C++ 6.0 464.5 Elliot Colon
G3/266 MrC 5.0 447.5 Pierre-Michel Ricordel
K6-III/400 gcc 2.95.2-5 (6) 435.8 Andreas Kaiser
K6-2/333 Visual C++ 6.0 435.3 Tim Foden
Pentium II/350 Visual C++ 6.0 411.3 Roland Lewis
604e/233 IBM C Compiler V5.0 (12) 400.9 Andreas Kaiser
UltraSPARC II/450 gcc (18) 396.0 Pierre-Michel Ricordel
604e/233 IBM C Compiler V5.0 (9) 377.8 Andreas Kasier
K6-2/300 Visual C++ 6.0 368.5 Ignacio Rodriguez-Trelles
604ev/300 MrC 5.0 366.9 Tyler Perkins
UltraSPARC II/450 Solaris 7 cc -O2 366.8 Pierre-Michel Ricordel
Pentium II/350 gcc 2.95.3 -v 361.4 Ignacio
Pentium II/300 Visual C++ 6.0 345.3 Pierre-Michel Ricordel
K6-2/233 Visual C++ 6.0 310.6 Tom Reasoner
K6/233 Visual C++ 6.0 305.7 Pierre-Michel Ricordel
Pentium MMX/166 Visual C++ 6.0 223.5 Ray MacFadyen
K5/100 gcc 2.95.2-5 (7) 141.5 Andreas Kaiser
Pentium/100 Visual C++ 6.0 121.5 Ignacio Rodriguez-Trelles
603e/100 MrC 5.0 111.4 Pierre-Michel Ricordel
Pentium/100 gcc -O2 90.4 Pierre-Michel Ricordel
MicroSPARC II/110 gcc (17) 89.8 Pierre-Michel Ricordel
486DX2/66 Visual C++ 6.0 44.8 Igor Zaitsev
MicroSPARC/50 gcc -O2 32.9 Pierre-Michel Ricordel
VAXstation4000/90 gcc -O2 26.7 Rick
PA-RISC 7000PCX/30 HP-UX 9.0 cc -o 16.2 Christophe Saphar
SPARC/20 gcc (16) 13.3 Pierre-Michel Ricordel
KA660/30 (VAX 4000-200) gcc -O2 7.0 Pierre-Michel Ricordel
68020/25 (Sun 3/260) SunOS 4.1 cc -O2 5.0 Pierre-Michel Ricordel

To run TSCP's benchmark function, just type "bench" at the "tscp>" prompt.

You can download TSCP 1.73's source code and a Windows executable from here. I built the executable with Visual C++ 6.0 (set to Maximize Speed). If you build your own executable, please make sure it reports 550822 nodes searched at the end of the benchmark.

An executable for the [PowerPC] Macintosh has been built by "MrNSX" using MrC 5.0 (with all optimizations enabled except vectorization). You can download it here.

To report a score, just e-mail it to me at tckerrigan@attbi.com. Please include what processor, compiler, and compiler settings you used.

TSCP's MIPS (Millions of Instructions Per Second) numbers are based on the fact that it takes 11,233 million MIPS (SGI workstation processor) instructions to execute the bench() function.

I used an SGI workstation and the perfex command to collect some data about TSCP. For comparison, I also ran perfex on gcc and gzip (two SPECint2000 programs).



gcc is considered a branch intensive program. As you can see from this graph, TSCP has even more branches and they're harder to predict, so it's a good test of a processor's BPU and ability to recover from mispredicted branches. TSCP also has relatively high ILP, so it tests the processor's instruction scheduler. It clearly fits in L1 cache, so it doesn't test a computer's L2 cache or main memory performance. Basically, TSCP measures a processor core's worst case integer performance. It may be a good predictor for compilers, other AI programs, and other branch intensive code.


Compiler Settings
1. Maximize speed, /G6
2. -O -xO5 -fns -fsimple=1 -dalign -ftrap=%none -xlibmil -fsingle -xprefetch=yes
3. -O3 -mpentiumpro -march=pentiumpro -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -mwide-multiply
4. /nologo /ML /W3 /GX /O2 /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/kerrigan.pch" /YX /Fo"Release/"
5. -Qvc6 -Qrcd -Qip -Qxi -Qprec_div
6. -O3 -mpentiumpro -march=pentium -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -mwide-multiply
7. -O3 -mpentium -march=pentium -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -mwide-multiply
8. /G6 /ML /O2 /Fo"Release/" /Fd"Release/" /FD -Qip -QxiMK -Qunroll16 -Qprec_div -Qrcd -Qprof_use /c
9. -O3 -qipa -qarch=ppc -qtune=604
10. -O3 -qipa -qarch=ppc -qtune=pwr3
11. -O3 -qipa -qarch=ppc -qtune=rs64b
12. -O3 -qfdpr -qipa -qarch=ppc -qtune=604
13. -O3 -qfdpr -qipa -qarch=ppc -qtune=rs64b
14. Type and Address pointer alias analysis, Optimize for speed, unroll loops, unswitch conditionals, Repeated Copy Propagation, schedule for PPC 603.
15. -feedback -spike -fast -arch ev67
16. -O3 -mno-epilogue -malign-functions=4 -funroll-loops -fexpensive-optimizations -fschedule-insns2
17. -O3 -msupersparc -funroll-loops -fexpensive-optimizations -fschedule-insns2 -mno-epilogue -malign-functions=4
18. -O3 -msupersparc -funroll-loops -fexpensive-optimizations -fschedule-insns2 -mno-epilogue -malign-functions=4
19. -O3 -mpentiumpro -march=pentiumpro -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -mwide-multiply
20. /G6 /Ot /Og /Oi /Oy /Ob2 /Gf -Qprof_use -Qipo -Qunroll
21. -O4, Generate CMOV
22. COMPAQ ccc on FreeBSD-43+Linux emulation, -tune ev56 -O4 -fast -ifo
23. -O2 -Qipo -QxiM -G6 -Qunroll -Qprof_gen -Qprof_dir c:\opt, then -O2 -Qipo -QxiM -G6 -Qunroll -Qprof_use -Qprof_dir c:\opt
24. (Profile directed) icl *.c -O2 -Qipo -QxiM -G6 -Qunroll -Qprof_use -Qprof_dir c:\profiles
25. -O2 -Qipo -QxiK -G6 -Qunroll -Qprof_gen -Qprof_dir c:\opt, then -O2 -Qipo -QxiM -G6 -Qunroll -Qprof_use -Qprof_dir c:\opt
26. -O3 -funroll-loops -mcpu=750 -mtune=750
27. -O3 -mpentiumpro -march=pentiumpro -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2
28. -mn -o+time -WA -f -5 -a8 -Nc
29. -march=k6 -mcpu=k6 -O3 -funroll-loops
30. -O3 -march=athlon-xp -mcpu=athlon-xp -funroll-loops
31. ccc -tune ev67 -O4 -fast -ifo -o tscp *.c -lcompat