CPU Perf Tester by Darek Mihocka. Built Sep 19 2008 x86 native version Measuring using a clock speed of 2260 MHz Hardware performance frequency = 14 MHz On-chip cycles clock frequency = 2260 MHz GetTickCount elapsed time (ms) = 1000 ms Simple tests of integer and memory operations. Ideally, MIPS should equal the clock speed of your CPU. test 1 integer : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 1 address : 43 ms, 447 ps/instr, 2232 MIPS, 1.0 IPC test 1 memory mx : 60 ms, 625 ps/instr, 1600 MIPS, 1.4 clk test 1 memory sr : 168 ms, 1750 ps/instr, 571 MIPS, 3.9 clk Tests executing pairs of mutually exclusive instructions. You should ideally get double the MIPS. test 2 integer : 28 ms, 291 ps/instr, 3428 MIPS, 1.5 IPC test 2 addr smpl : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC test 2 addr cplx : 60 ms, 625 ps/instr, 1600 MIPS, 1.4 clk test 2 addr/int : 31 ms, 322 ps/instr, 3096 MIPS, 1.3 IPC test 2 memory : 40 ms, 416 ps/instr, 2400 MIPS, 1.0 IPC Triples of mutually exclusive instructions should ideally give triple the MIPS. test 3 integer : 20 ms, 208 ps/instr, 4800 MIPS, 2.1 IPC test 3 addr smpl : 64 ms, 666 ps/instr, 1500 MIPS, 1.5 clk test 3 addr cplx : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 3 memory : 40 ms, 416 ps/instr, 2400 MIPS, 1.0 IPC test 4 integer : 17 ms, 177 ps/instr, 5647 MIPS, 2.4 IPC These are tests of simple integer operations. test 5 zero mem : 147 ms, 1531 ps/instr, 653 MIPS, 3.4 clk test 5 -1 to mem : 76 ms, 791 ps/instr, 1263 MIPS, 1.7 clk test 5 load 1 : 15 ms, 156 ps/instr, 6400 MIPS, 2.8 IPC test 6 and0 mem : 48 ms, 500 ps/instr, 2000 MIPS, 1.1 clk test 6 or-1 mem : 47 ms, 489 ps/instr, 2042 MIPS, 1.0 IPC test 6 pushpop 1 : 112 ms, 1166 ps/instr, 857 MIPS, 2.6 clk test 7 divide : 873 ms, 9093 ps/instr, 109 MIPS, 20.5 clk test 8 multiply : 196 ms, 2041 ps/instr, 489 MIPS, 4.6 clk test 9 FP mult : 82 ms, 854 ps/instr, 1170 MIPS, 1.9 clk test 10 FP sqrt : 778 ms, 8104 ps/instr, 123 MIPS, 18.3 clk test 11 FP ld/st : 503 ms, 5239 ps/instr, 190 MIPS, 11.8 clk test 12 FP inc 1 : 619 ms, 6447 ps/instr, 155 MIPS, 14.5 clk test imul r1r1 : 123 ms, 1281 ps/instr, 780 MIPS, 2.8 clk test imul r1r2 : 128 ms, 1333 ps/instr, 750 MIPS, 3.0 clk test imul r12k : 121 ms, 1260 ps/instr, 793 MIPS, 2.8 clk These tests perform various kernel calls test 1 os crit 2 : 227 ms, 75666 ps/instr, 13 MIPS, 171.0 clk test 2 os try ok : 10 ms, 3333 ps/instr, 300 MIPS, 7.5 clk test 3 os pg flt : 359 ms, 11966666 ps/instr, 0.083 MIPS, 27228.9 clk test 4 os virtqr : 16 ms, 533333 ps/instr, 1 MIPS, 1205.3 clk test 5 os virtpr : 17 ms, 566666 ps/instr, 1 MIPS, 1281.1 clk test 6 os isbadr : 338 ms, 11266666 ps/instr, 0.088 MIPS, 25681.8 clk test 7 os isgood : 51 ms, 17000 ps/instr, 58 MIPS, 38.4 clk test 8 os vxpflt : 403 ms, 13433333 ps/instr, 0.074 MIPS, 30540.5 clk test 9 CmpExch 2 : 175 ms, 58333 ps/instr, 17 MIPS, 131.8 clk test 10 GetInpSt : 9 ms, 3000 ps/instr, 333 MIPS, 6.7 clk test 11 GetQStat : 1132 ms, 377333 ps/instr, 2 MIPS, 852.8 clk test 12 PeekMsg : 1331 ms, 443666 ps/instr, 2 MIPS, 1003.1 clk test 13 MemMap 2 : 113 ms, 3766666 ps/instr, 0.265 MIPS, 8528.3 clk test 14 QueryPrf : 2198 ms, 732666 ps/instr, 1 MIPS, 1656.8 clk These tests perform various integer operations test 1 movsx ax : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 2 cwde : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC test 3 xchg/mvsx : 294 ms, 3062 ps/instr, 326 MIPS, 6.9 clk test 4 bswap/msx : 208 ms, 2166 ps/instr, 461 MIPS, 4.8 clk test 5 rol/movsx : 81 ms, 843 ps/instr, 1185 MIPS, 1.9 clk test 6 bswap/sar : 213 ms, 2218 ps/instr, 450 MIPS, 5.0 clk test 7 rol/movsx : 83 ms, 864 ps/instr, 1156 MIPS, 1.9 clk test 8 rol/cwde : 121 ms, 1260 ps/instr, 793 MIPS, 2.8 clk test 9 movw/sbb : 230 ms, 2395 ps/instr, 417 MIPS, 5.4 clk test 10 movl/sbb : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 11 shl : 66 ms, 687 ps/instr, 1454 MIPS, 1.5 clk test 12 lahf : 111 ms, 1156 ps/instr, 864 MIPS, 2.6 clk test 13 pshf/pop : 837 ms, 8718 ps/instr, 114 MIPS, 19.7 clk test 13 pshfpopw : 828 ms, 8625 ps/instr, 115 MIPS, 19.4 clk test 13 pshfpopl : 514 ms, 5354 ps/instr, 186 MIPS, 12.1 clk test 14 inc/lahf : 393 ms, 4093 ps/instr, 244 MIPS, 9.2 clk test 14 tst/lahf : 51 ms, 531 ps/instr, 1882 MIPS, 1.2 clk test 14 or /lahf : 98 ms, 1020 ps/instr, 979 MIPS, 2.3 clk test 15 sbb r,r : 88 ms, 916 ps/instr, 1090 MIPS, 2.0 clk test 16 salc : 60 ms, 625 ps/instr, 1600 MIPS, 1.4 clk test 16 setc al : 118 ms, 1229 ps/instr, 813 MIPS, 2.7 clk test 17 read rtc : 1304 ms, 13583 ps/instr, 73 MIPS, 30.6 clk test 18 func v : 384 ms, 4000 ps/instr, 250 MIPS, 9.0 clk test 19 func i : 355 ms, 3697 ps/instr, 270 MIPS, 8.3 clk test 20 func inl : 135 ms, 1406 ps/instr, 711 MIPS, 3.1 clk test 21 mvz mvz : 43 ms, 447 ps/instr, 2232 MIPS, 1.0 IPC test 22 mov shld : 125 ms, 1302 ps/instr, 768 MIPS, 2.9 clk test 23 shld imm : 60 ms, 625 ps/instr, 1600 MIPS, 1.4 clk test 24 shld cl : 60 ms, 625 ps/instr, 1600 MIPS, 1.4 clk test 25 decd shd : 100 ms, 1041 ps/instr, 960 MIPS, 2.3 clk test 26 decd sh : 97 ms, 1010 ps/instr, 989 MIPS, 2.2 clk test 27 call jmp : 225 ms, 2343 ps/instr, 426 MIPS, 5.2 clk test 28 call ind : 175 ms, 1822 ps/instr, 548 MIPS, 4.1 clk test 29 call eax : 163 ms, 1697 ps/instr, 588 MIPS, 3.8 clk test 29 call mis : 638 ms, 6645 ps/instr, 150 MIPS, 15.0 clk test 30 mov ereg : 15 ms, 156 ps/instr, 6400 MIPS, 2.8 IPC test 31 mov reg8 : 15 ms, 156 ps/instr, 6400 MIPS, 2.8 IPC test 32 mov axbx : 61 ms, 635 ps/instr, 1573 MIPS, 1.4 clk test 33 mov albl : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 34 mov alah : 14 ms, 145 ps/instr, 6857 MIPS, 3.0 IPC test 35 mov ahal : 54 ms, 562 ps/instr, 1777 MIPS, 1.2 clk test 36 shl eax : 93 ms, 968 ps/instr, 1032 MIPS, 2.1 clk test 37 shl al : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 38 bt eax,k : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC test 39 btc eax : 43 ms, 447 ps/instr, 2232 MIPS, 1.0 IPC test 40 mov 8/32 : 183 ms, 1906 ps/instr, 524 MIPS, 4.3 clk test 41 w32 r32 : 96 ms, 1000 ps/instr, 1000 MIPS, 2.2 clk unlg 41 w32 r32 : 103 ms, 1072 ps/instr, 932 MIPS, 2.4 clk test 42 w32 r8r8 : 538 ms, 5604 ps/instr, 178 MIPS, 12.6 clk test 42 w32 r8 : 452 ms, 4708 ps/instr, 212 MIPS, 10.6 clk test 42 w32 bt32 : 120 ms, 1250 ps/instr, 800 MIPS, 2.8 clk test 43 w8w8 r32 : 528 ms, 5500 ps/instr, 181 MIPS, 12.4 clk test 43 w8 r32 : 490 ms, 5104 ps/instr, 195 MIPS, 11.5 clk test 43 w8 bt32 : 503 ms, 5239 ps/instr, 190 MIPS, 11.8 clk test 44 w32 r8r8 : 122 ms, 1270 ps/instr, 786 MIPS, 2.8 clk test 44 w32 r8 : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 45 w8w8 r32 : 320 ms, 3333 ps/instr, 300 MIPS, 7.5 clk test 45 w8 r32 : 129 ms, 1343 ps/instr, 744 MIPS, 3.0 clk test 46 cmov 4x : 40 ms, 416 ps/instr, 2400 MIPS, 1.0 IPC test 47 cmovsame : 43 ms, 447 ps/instr, 2232 MIPS, 1.0 IPC test 48 cmov mem : 66 ms, 687 ps/instr, 1454 MIPS, 1.5 clk test 49 cmov mem : 188 ms, 1958 ps/instr, 510 MIPS, 4.4 clk test 50 *10=*2*5 : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC test 51 *2 + *8 : 61 ms, 635 ps/instr, 1573 MIPS, 1.4 clk test 52 + + + *8 : 43 ms, 447 ps/instr, 2232 MIPS, 1.0 IPC test 53 *2 + *8 : 84 ms, 875 ps/instr, 1142 MIPS, 1.9 clk test 54 <<1 *5 : 65 ms, 677 ps/instr, 1476 MIPS, 1.5 clk test 55 *10=*2*5 : 120 ms, 1250 ps/instr, 800 MIPS, 2.8 clk test 56 MOV cons : 21 ms, 218 ps/instr, 4571 MIPS, 2.0 IPC test 57 QC 4.2 : 226 ms, 2354 ps/instr, 424 MIPS, 5.3 clk test 58 QC 6.0 : 214 ms, 2229 ps/instr, 448 MIPS, 5.0 clk test 59 QC 7.0 : 81 ms, 843 ps/instr, 1185 MIPS, 1.9 clk test 60 QC GNU 1 : 117 ms, 1218 ps/instr, 820 MIPS, 2.7 clk test 61 QC GNU 2 : 149 ms, 1552 ps/instr, 644 MIPS, 3.5 clk test 62 QC GNU 3 : 76 ms, 791 ps/instr, 1263 MIPS, 1.7 clk test 63 push/pop : 47 ms, 489 ps/instr, 2042 MIPS, 1.0 IPC test 64 mov2stck : 57 ms, 593 ps/instr, 1684 MIPS, 1.3 clk test 65 hint tak : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC test 66 hint not : 43 ms, 447 ps/instr, 2232 MIPS, 1.0 IPC test 67 hint alt : 62 ms, 645 ps/instr, 1548 MIPS, 1.4 clk test 68 hint nop : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC test 69 hint non : 44 ms, 458 ps/instr, 2181 MIPS, 1.0 IPC test 70 loop c70 : 140 ms, 1458 ps/instr, 685 MIPS, 3.2 clk test 71 loop add : 147 ms, 1531 ps/instr, 653 MIPS, 3.4 clk test 72 loop lea : 120 ms, 1250 ps/instr, 800 MIPS, 2.8 clk test 73 loop alt : 127 ms, 1322 ps/instr, 755 MIPS, 2.9 clk test 74 add m2r : 61 ms, 635 ps/instr, 1573 MIPS, 1.4 clk test 75 add r2m : 295 ms, 3072 ps/instr, 325 MIPS, 6.9 clk test 76 add k2m : 279 ms, 2906 ps/instr, 344 MIPS, 6.5 clk test 77 add slow : 248 ms, 2583 ps/instr, 387 MIPS, 5.8 clk test 78 inc by 1 : 27 ms, 281 ps/instr, 3555 MIPS, 1.5 IPC test 79 add by 1 : 29 ms, 302 ps/instr, 3310 MIPS, 1.4 IPC test 80 prefetch : 208 ms, 2166 ps/instr, 461 MIPS, 4.8 clk test 81 prefetc0 : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test 82 xchg mem : 784 ms, 8166 ps/instr, 122 MIPS, 18.4 clk test 83 lockxchg : 744 ms, 7750 ps/instr, 129 MIPS, 17.5 clk test 84 xor xchg : 532 ms, 5541 ps/instr, 180 MIPS, 12.5 clk test 99 pusha : 380 ms, 3958 ps/instr, 252 MIPS, 8.9 clk test 99 pushpopa : 586 ms, 6104 ps/instr, 163 MIPS, 13.7 clk Miscellaneous assembly language tests. test A11 LEA r16 : 63 ms, 656 ps/instr, 1523 MIPS, 1.4 clk test A12 LEA k16 : 94 ms, 979 ps/instr, 1021 MIPS, 2.2 clk test A13 JECXZ n : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC test A14 JECXZ t : 261 ms, 2718 ps/instr, 367 MIPS, 6.1 clk test A14 JECXZ r : 357 ms, 3718 ps/instr, 268 MIPS, 8.4 clk test A15 aligned : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 IPC test A15 span 16 : 47 ms, 489 ps/instr, 2042 MIPS, 1.0 IPC test A15 span 32 : 61 ms, 635 ps/instr, 1573 MIPS, 1.4 clk test A15 span 64 : 532 ms, 5541 ps/instr, 180 MIPS, 12.5 clk test A15 span128 : 539 ms, 5614 ps/instr, 178 MIPS, 12.6 clk test A15 span 4K : 7301 ms, 76052 ps/instr, 13 MIPS, 171.8 clk test A16 savemem : 40 ms, 416 ps/instr, 2400 MIPS, 1.0 IPC test A16 saveptr : 43 ms, 447 ps/instr, 2232 MIPS, 1.0 IPC test PUSHF/POPF : 1408 ms, 14666 ps/instr, 68 MIPS, 33.1 clk test LAHF/SAHF : 507 ms, 5281 ps/instr, 189 MIPS, 11.9 clk test A18 CLFLUSH : 5096 ms, 53083 ps/instr, 18 MIPS, 119.9 clk test A19a FSTENV : 4795 ms, 49947 ps/instr, 20 MIPS, 112.8 clk test A19b FNSAVE : 7140 ms, 74375 ps/instr, 13 MIPS, 168.0 clk test A19c FXSAVE : 5542 ms, 57729 ps/instr, 17 MIPS, 130.4 clk test A19d STMXCS : 1254 ms, 13062 ps/instr, 76 MIPS, 29.5 clk test MMX paddq : 97 ms, 1010 ps/instr, 989 MIPS, 2.2 clk test MMX paddw : 58 ms, 604 ps/instr, 1655 MIPS, 1.3 clk test MMX pxor : 36 ms, 375 ps/instr, 2666 MIPS, 1.1 IPC test MMX pmul : 189 ms, 1968 ps/instr, 507 MIPS, 4.4 clk SSE4 POPCNT reg32 : FAILED!! SSE4 CRC32 reg32 : FAILED!! SSSE3 PSHUFB mmx : 62 ms, 645 ps/instr, 1548 MIPS, 1.4 clk SSSE3 PSHUFB xmm : 42 ms, 437 ps/instr, 2285 MIPS, 1.0 IPC SSE2 MOVD : 85 ms, 885 ps/instr, 1129 MIPS, 2.0 clk Atom MOVBE : FAILED!! Dispatch tests. dispatch 1 nop : 1192 ms, 12416 ps/instr, 80 MIPS, 28.0 clk dispatch 2 nops : 1153 ms, 12010 ps/instr, 83 MIPS, 27.1 clk dispatch 3 nops : 1201 ms, 12510 ps/instr, 79 MIPS, 28.2 clk dispatch 4 nops : 1192 ms, 12416 ps/instr, 80 MIPS, 28.0 clk dispatch 5 nops : 1182 ms, 12312 ps/instr, 81 MIPS, 27.8 clk dispatch 6 nops : 1200 ms, 12500 ps/instr, 80 MIPS, 28.2 clk dispatch 7 nops : 1282 ms, 13354 ps/instr, 74 MIPS, 30.1 clk dispatch 8 nops : 1337 ms, 13927 ps/instr, 71 MIPS, 31.4 clk dispatch 9 nops : 1403 ms, 14614 ps/instr, 68 MIPS, 33.0 clk dispatch 10 nops : 1561 ms, 16260 ps/instr, 61 MIPS, 36.7 clk dispatch 11 nops : 1661 ms, 17302 ps/instr, 57 MIPS, 39.1 clk dispatch 12 nops : 1697 ms, 17677 ps/instr, 56 MIPS, 39.9 clk Random memory access for increasing sizes of memory. mem random 2K: 90 ms, 937 ps/instr, 1066 MIPS, 2.1 clk mem random 4K: 95 ms, 989 ps/instr, 1010 MIPS, 2.2 clk mem random 8K: 89 ms, 927 ps/instr, 1078 MIPS, 2.0 clk mem random 16K: 95 ms, 989 ps/instr, 1010 MIPS, 2.2 clk mem random 32K: 91 ms, 947 ps/instr, 1054 MIPS, 2.1 clk mem random 64K: 197 ms, 2052 ps/instr, 487 MIPS, 4.6 clk mem random 128K: 200 ms, 2083 ps/instr, 480 MIPS, 4.7 clk mem random 256K: 199 ms, 2072 ps/instr, 482 MIPS, 4.6 clk mem random 512K: 197 ms, 2052 ps/instr, 487 MIPS, 4.6 clk mem random 1024K: 234 ms, 2437 ps/instr, 410 MIPS, 5.5 clk mem random 2048K: 237 ms, 2468 ps/instr, 405 MIPS, 5.5 clk mem random 4096K: 1035 ms, 10781 ps/instr, 92 MIPS, 24.3 clk Sequential memory access for increasing sizes of memory. mem linear 2K: 45 ms, 468 ps/instr, 2133 MIPS, 1.0 clk mem linear 4K: 56 ms, 583 ps/instr, 1714 MIPS, 1.3 clk mem linear 8K: 68 ms, 708 ps/instr, 1411 MIPS, 1.6 clk mem linear 16K: 68 ms, 708 ps/instr, 1411 MIPS, 1.6 clk mem linear 32K: 69 ms, 718 ps/instr, 1391 MIPS, 1.6 clk mem linear 64K: 124 ms, 1291 ps/instr, 774 MIPS, 2.9 clk mem linear 128K: 47 ms, 489 ps/instr, 2042 MIPS, 1.1 clk mem linear 256K: 70 ms, 729 ps/instr, 1371 MIPS, 1.6 clk mem linear 512K: 120 ms, 1250 ps/instr, 800 MIPS, 2.8 clk mem linear 1024K: 47 ms, 489 ps/instr, 2042 MIPS, 1.1 clk mem linear 2048K: 49 ms, 510 ps/instr, 1959 MIPS, 1.1 clk mem linear 4096K: 73 ms, 760 ps/instr, 1315 MIPS, 1.7 clk Reverse memory access for increasing sizes of memory. mem linear 2K: 46 ms, 479 ps/instr, 2086 MIPS, 1.0 clk mem linear 4K: 48 ms, 500 ps/instr, 2000 MIPS, 1.1 clk mem linear 8K: 68 ms, 708 ps/instr, 1411 MIPS, 1.6 clk mem linear 16K: 46 ms, 479 ps/instr, 2086 MIPS, 1.0 clk mem linear 32K: 48 ms, 500 ps/instr, 2000 MIPS, 1.1 clk mem linear 64K: 70 ms, 729 ps/instr, 1371 MIPS, 1.6 clk mem linear 128K: 69 ms, 718 ps/instr, 1391 MIPS, 1.6 clk mem linear 256K: 47 ms, 489 ps/instr, 2042 MIPS, 1.1 clk mem linear 512K: 50 ms, 520 ps/instr, 1920 MIPS, 1.1 clk mem linear 1024K: 70 ms, 729 ps/instr, 1371 MIPS, 1.6 clk mem linear 2048K: 119 ms, 1239 ps/instr, 806 MIPS, 2.8 clk mem linear 4096K: 49 ms, 510 ps/instr, 1959 MIPS, 1.1 clk