CPU Perf Tester by Darek Mihocka. Built Sep 19 2008 x86 native version Measuring using a clock speed of 2530 MHz Hardware performance frequency = 3 MHz On-chip cycles clock frequency = 2526 MHz GetTickCount elapsed time (ms) = 0999 ms Simple tests of integer and memory operations. Ideally, MIPS should equal the clock speed of your CPU. test 1 integer : 19 ms, 197 ps/instr, 5052 MIPS, 0.5 clk test 1 address : 19 ms, 197 ps/instr, 5052 MIPS, 0.5 clk test 1 memory mx : 38 ms, 395 ps/instr, 2526 MIPS, 1.0 clk test 1 memory sr : 76 ms, 791 ps/instr, 1263 MIPS, 2.0 clk Tests executing pairs of mutually exclusive instructions. You should ideally get double the MIPS. test 2 integer : 15 ms, 156 ps/instr, 6400 MIPS, 0.3 clk test 2 addr smpl : 14 ms, 145 ps/instr, 6857 MIPS, 0.3 clk test 2 addr cplx : 98 ms, 1020 ps/instr, 979 MIPS, 2.5 clk test 2 addr/int : 100 ms, 1041 ps/instr, 960 MIPS, 2.6 clk test 2 memory : 38 ms, 395 ps/instr, 2526 MIPS, 1.0 clk Triples of mutually exclusive instructions should ideally give triple the MIPS. test 3 integer : 15 ms, 156 ps/instr, 6400 MIPS, 0.3 clk test 3 addr smpl : 14 ms, 145 ps/instr, 6857 MIPS, 0.3 clk test 3 addr cplx : 68 ms, 708 ps/instr, 1411 MIPS, 1.7 clk test 3 memory : 38 ms, 395 ps/instr, 2526 MIPS, 1.0 clk test 4 integer : 14 ms, 145 ps/instr, 6857 MIPS, 0.3 clk These are tests of simple integer operations. test 5 zero mem : 66 ms, 687 ps/instr, 1454 MIPS, 1.7 clk test 5 -1 to mem : 64 ms, 666 ps/instr, 1500 MIPS, 1.6 clk test 5 load 1 : 14 ms, 145 ps/instr, 6857 MIPS, 0.3 clk test 6 and0 mem : 83 ms, 864 ps/instr, 1156 MIPS, 2.1 clk test 6 or-1 mem : 84 ms, 875 ps/instr, 1142 MIPS, 2.2 clk test 6 pushpop 1 : 70 ms, 729 ps/instr, 1371 MIPS, 1.8 clk test 7 divide : 1978 ms, 20604 ps/instr, 48 MIPS, 52.1 clk test 8 multiply : 548 ms, 5708 ps/instr, 175 MIPS, 14.4 clk test 9 FP mult : 138 ms, 1437 ps/instr, 695 MIPS, 3.6 clk test 10 FP sqrt : 1460 ms, 15208 ps/instr, 65 MIPS, 38.4 clk test 11 FP ld/st : 1127 ms, 11739 ps/instr, 85 MIPS, 29.7 clk test 12 FP inc 1 : 1562 ms, 16270 ps/instr, 61 MIPS, 41.1 clk test imul r1r1 : 585 ms, 6093 ps/instr, 164 MIPS, 15.4 clk test imul r1r2 : 547 ms, 5697 ps/instr, 175 MIPS, 14.4 clk test imul r12k : 537 ms, 5593 ps/instr, 178 MIPS, 14.1 clk These tests perform various kernel calls test 1 os crit 2 : 755 ms, 251666 ps/instr, 3 MIPS, 636.7 clk test 2 os try ok : 21 ms, 7000 ps/instr, 142 MIPS, 17.7 clk test 3 os pg flt : 238 ms, 7933333 ps/instr, 0.126 MIPS, 20079.3 clk test 4 os virtqr : 23 ms, 766666 ps/instr, 1 MIPS, 1940.1 clk test 5 os virtpr : 25 ms, 833333 ps/instr, 1 MIPS, 2108.3 clk test 6 os isbadr : 177 ms, 5900000 ps/instr, 0.169 MIPS, 14970.4 clk test 7 os isgood : 80 ms, 26666 ps/instr, 37 MIPS, 67.4 clk test 8 os vxpflt : 175 ms, 5833333 ps/instr, 0.171 MIPS, 14795.3 clk test 9 CmpExch 2 : 929 ms, 309666 ps/instr, 3 MIPS, 783.5 clk test 10 GetInpSt : 22 ms, 7333 ps/instr, 136 MIPS, 18.5 clk test 11 GetQStat : 2072 ms, 690666 ps/instr, 1 MIPS, 1748.4 clk test 12 PeekMsg : 2634 ms, 878000 ps/instr, 1 MIPS, 2223.1 clk test 13 MemMap 2 : 256 ms, 8533333 ps/instr, 0.117 MIPS, 21623.9 clk test 14 QueryPrf : 3416 ms, 1138666 ps/instr, 0.878 MIPS, 2881.5 clk These tests perform various integer operations test 1 movsx ax : 20 ms, 208 ps/instr, 4800 MIPS, 0.5 clk test 2 cwde : 19 ms, 197 ps/instr, 5052 MIPS, 0.5 clk test 3 xchg/mvsx : 229 ms, 2385 ps/instr, 419 MIPS, 6.0 clk test 4 bswap/msx : 267 ms, 2781 ps/instr, 359 MIPS, 7.0 clk test 5 rol/movsx : 231 ms, 2406 ps/instr, 415 MIPS, 6.0 clk test 6 bswap/sar : 466 ms, 4854 ps/instr, 206 MIPS, 12.2 clk test 7 rol/movsx : 235 ms, 2447 ps/instr, 408 MIPS, 6.1 clk test 8 rol/cwde : 233 ms, 2427 ps/instr, 412 MIPS, 6.1 clk test 9 movw/sbb : 284 ms, 2958 ps/instr, 338 MIPS, 7.4 clk test 10 movl/sbb : 232 ms, 2416 ps/instr, 413 MIPS, 6.1 clk test 11 shl : 229 ms, 2385 ps/instr, 419 MIPS, 6.0 clk test 12 lahf : 301 ms, 3135 ps/instr, 318 MIPS, 7.9 clk test 13 pshf/pop : 306 ms, 3187 ps/instr, 313 MIPS, 8.0 clk test 13 pshfpopw : 310 ms, 3229 ps/instr, 309 MIPS, 8.1 clk test 13 pshfpopl : 812 ms, 8458 ps/instr, 118 MIPS, 21.3 clk test 14 inc/lahf : 349 ms, 3635 ps/instr, 275 MIPS, 9.1 clk test 14 tst/lahf : 192 ms, 2000 ps/instr, 500 MIPS, 5.0 clk test 14 or /lahf : 191 ms, 1989 ps/instr, 502 MIPS, 5.0 clk test 15 sbb r,r : 231 ms, 2406 ps/instr, 415 MIPS, 6.0 clk test 16 salc : 76 ms, 791 ps/instr, 1263 MIPS, 2.0 clk test 16 setc al : 76 ms, 791 ps/instr, 1263 MIPS, 2.0 clk test 17 read rtc : 3086 ms, 32145 ps/instr, 31 MIPS, 81.3 clk test 18 func v : 622 ms, 6479 ps/instr, 154 MIPS, 16.3 clk test 19 func i : 784 ms, 8166 ps/instr, 122 MIPS, 20.6 clk test 20 func inl : 158 ms, 1645 ps/instr, 607 MIPS, 4.1 clk test 21 mvz mvz : 38 ms, 395 ps/instr, 2526 MIPS, 1.0 clk test 22 mov shld : 610 ms, 6354 ps/instr, 157 MIPS, 16.0 clk test 23 shld imm : 536 ms, 5583 ps/instr, 179 MIPS, 14.1 clk test 24 shld cl : 549 ms, 5718 ps/instr, 174 MIPS, 14.4 clk test 25 decd shd : 548 ms, 5708 ps/instr, 175 MIPS, 14.4 clk test 26 decd sh : 155 ms, 1614 ps/instr, 619 MIPS, 4.0 clk test 27 call jmp : 304 ms, 3166 ps/instr, 315 MIPS, 8.0 clk test 28 call ind : 384 ms, 4000 ps/instr, 250 MIPS, 10.1 clk test 29 call eax : 384 ms, 4000 ps/instr, 250 MIPS, 10.1 clk test 29 call mis : 2050 ms, 21354 ps/instr, 46 MIPS, 54.0 clk test 30 mov ereg : 17 ms, 177 ps/instr, 5647 MIPS, 0.4 clk test 31 mov reg8 : 22 ms, 229 ps/instr, 4363 MIPS, 0.5 clk test 32 mov axbx : 23 ms, 239 ps/instr, 4173 MIPS, 0.6 clk test 33 mov albl : 22 ms, 229 ps/instr, 4363 MIPS, 0.5 clk test 34 mov alah : 181 ms, 1885 ps/instr, 530 MIPS, 4.7 clk test 35 mov ahal : 184 ms, 1916 ps/instr, 521 MIPS, 4.8 clk test 36 shl eax : 184 ms, 1916 ps/instr, 521 MIPS, 4.8 clk test 37 shl al : 187 ms, 1947 ps/instr, 513 MIPS, 4.9 clk test 38 bt eax,k : 186 ms, 1937 ps/instr, 516 MIPS, 4.9 clk test 39 btc eax : 275 ms, 2864 ps/instr, 349 MIPS, 7.2 clk test 40 mov 8/32 : 45 ms, 468 ps/instr, 2133 MIPS, 1.1 clk test 41 w32 r32 : 83 ms, 864 ps/instr, 1156 MIPS, 2.1 clk unlg 41 w32 r32 : 83 ms, 864 ps/instr, 1156 MIPS, 2.1 clk test 42 w32 r8r8 : 1753 ms, 18260 ps/instr, 54 MIPS, 46.1 clk test 42 w32 r8 : 1750 ms, 18229 ps/instr, 54 MIPS, 46.1 clk test 42 w32 bt32 : 184 ms, 1916 ps/instr, 521 MIPS, 4.8 clk test 43 w8w8 r32 : 1592 ms, 16583 ps/instr, 60 MIPS, 41.9 clk test 43 w8 r32 : 1522 ms, 15854 ps/instr, 63 MIPS, 40.1 clk test 43 w8 bt32 : 1843 ms, 19197 ps/instr, 52 MIPS, 48.5 clk test 44 w32 r8r8 : 139 ms, 1447 ps/instr, 690 MIPS, 3.6 clk test 44 w32 r8 : 79 ms, 822 ps/instr, 1215 MIPS, 2.0 clk test 45 w8w8 r32 : 242 ms, 2520 ps/instr, 396 MIPS, 6.3 clk test 45 w8 r32 : 101 ms, 1052 ps/instr, 950 MIPS, 2.6 clk test 46 cmov 4x : 71 ms, 739 ps/instr, 1352 MIPS, 1.8 clk test 47 cmovsame : 271 ms, 2822 ps/instr, 354 MIPS, 7.1 clk test 48 cmov mem : 91 ms, 947 ps/instr, 1054 MIPS, 2.3 clk test 49 cmov mem : 233 ms, 2427 ps/instr, 412 MIPS, 6.1 clk test 50 *10=*2*5 : 70 ms, 729 ps/instr, 1371 MIPS, 1.8 clk test 51 *2 + *8 : 57 ms, 593 ps/instr, 1684 MIPS, 1.5 clk test 52 + + + *8 : 131 ms, 1364 ps/instr, 732 MIPS, 3.4 clk test 53 *2 + *8 : 207 ms, 2156 ps/instr, 463 MIPS, 5.4 clk test 54 <<1 *5 : 248 ms, 2583 ps/instr, 387 MIPS, 6.5 clk test 55 *10=*2*5 : 128 ms, 1333 ps/instr, 750 MIPS, 3.3 clk test 56 MOV cons : 14 ms, 145 ps/instr, 6857 MIPS, 0.3 clk test 57 QC 4.2 : 315 ms, 3281 ps/instr, 304 MIPS, 8.3 clk test 58 QC 6.0 : 344 ms, 3583 ps/instr, 279 MIPS, 9.0 clk test 59 QC 7.0 : 163 ms, 1697 ps/instr, 588 MIPS, 4.2 clk test 60 QC GNU 1 : 146 ms, 1520 ps/instr, 657 MIPS, 3.8 clk test 61 QC GNU 2 : 208 ms, 2166 ps/instr, 461 MIPS, 5.4 clk test 62 QC GNU 3 : 128 ms, 1333 ps/instr, 750 MIPS, 3.3 clk test 63 push/pop : 41 ms, 427 ps/instr, 2341 MIPS, 1.0 clk test 64 mov2stck : 44 ms, 458 ps/instr, 2181 MIPS, 1.1 clk test 65 hint tak : 103 ms, 1072 ps/instr, 932 MIPS, 2.7 clk test 66 hint not : 40 ms, 416 ps/instr, 2400 MIPS, 1.0 clk test 67 hint alt : 56 ms, 583 ps/instr, 1714 MIPS, 1.4 clk test 68 hint nop : 273 ms, 2843 ps/instr, 351 MIPS, 7.1 clk test 69 hint non : 900 ms, 9375 ps/instr, 106 MIPS, 23.7 clk test 70 loop c70 : 112 ms, 1166 ps/instr, 857 MIPS, 2.9 clk test 71 loop add : 102 ms, 1062 ps/instr, 941 MIPS, 2.6 clk test 72 loop lea : 116 ms, 1208 ps/instr, 827 MIPS, 3.0 clk test 73 loop alt : 99 ms, 1031 ps/instr, 969 MIPS, 2.6 clk test 74 add m2r : 38 ms, 395 ps/instr, 2526 MIPS, 1.0 clk test 75 add r2m : 346 ms, 3604 ps/instr, 277 MIPS, 9.1 clk test 76 add k2m : 348 ms, 3625 ps/instr, 275 MIPS, 9.1 clk test 77 add slow : 360 ms, 3750 ps/instr, 266 MIPS, 9.4 clk test 78 inc by 1 : 26 ms, 270 ps/instr, 3692 MIPS, 0.6 clk test 79 add by 1 : 14 ms, 145 ps/instr, 6857 MIPS, 0.3 clk test 80 prefetch: FAILED!! test 81 prefetc0 : 230 ms, 2395 ps/instr, 417 MIPS, 6.0 clk test 82 xchg mem : 5549 ms, 57802 ps/instr, 17 MIPS, 146.2 clk test 83 lockxchg : 5700 ms, 59375 ps/instr, 16 MIPS, 150.2 clk test 84 xor xchg : 824 ms, 8583 ps/instr, 116 MIPS, 21.7 clk test 99 pusha : 712 ms, 7416 ps/instr, 134 MIPS, 18.7 clk test 99 pushpopa : 1122 ms, 11687 ps/instr, 85 MIPS, 29.5 clk Miscellaneous assembly language tests. test A11 LEA r16 : 48 ms, 500 ps/instr, 2000 MIPS, 1.2 clk test A12 LEA k16 : 49 ms, 510 ps/instr, 1959 MIPS, 1.2 clk test A13 JECXZ n : 91 ms, 947 ps/instr, 1054 MIPS, 2.3 clk test A14 JECXZ t : 998 ms, 10395 ps/instr, 96 MIPS, 26.3 clk test A14 JECXZ r : 98 ms, 1020 ps/instr, 979 MIPS, 2.5 clk test A15 aligned : 45 ms, 468 ps/instr, 2133 MIPS, 1.1 clk test A15 span 16 : 45 ms, 468 ps/instr, 2133 MIPS, 1.1 clk test A15 span 32 : 47 ms, 489 ps/instr, 2042 MIPS, 1.2 clk test A15 span 64 : 930 ms, 9687 ps/instr, 103 MIPS, 24.5 clk test A15 span128 : 906 ms, 9437 ps/instr, 105 MIPS, 23.8 clk test A15 span 4K : 3333 ms, 34718 ps/instr, 28 MIPS, 87.8 clk test A16 savemem : 80 ms, 833 ps/instr, 1200 MIPS, 2.1 clk test A16 saveptr : 83 ms, 864 ps/instr, 1156 MIPS, 2.1 clk test PUSHF/POPF : 3034 ms, 31604 ps/instr, 31 MIPS, 79.9 clk test LAHF/SAHF : 447 ms, 4656 ps/instr, 214 MIPS, 11.7 clk test A18 CLFLUSH : 7730 ms, 80520 ps/instr, 12 MIPS, 203.7 clk test A19a FSTENV : 14458 ms, 150604 ps/instr, 6 MIPS, 381.0 clk test A19b FNSAVE : 22306 ms, 232354 ps/instr, 4 MIPS, 587.9 clk test A19c FXSAVE : 6202 ms, 64604 ps/instr, 15 MIPS, 163.4 clk test A19d STMXCS : 3117 ms, 32468 ps/instr, 30 MIPS, 82.1 clk test MMX paddq : 190 ms, 1979 ps/instr, 505 MIPS, 5.0 clk test MMX paddw : 194 ms, 2020 ps/instr, 494 MIPS, 5.1 clk test MMX pxor : 68 ms, 708 ps/instr, 1411 MIPS, 1.7 clk test MMX pmul : 427 ms, 4447 ps/instr, 224 MIPS, 11.2 clk SSE4 POPCNT reg32 : FAILED!! SSE4 CRC32 reg32 : FAILED!! SSSE3 PSHUFB mmx : FAILED!! SSSE3 PSHUFB xmm : FAILED!! SSE2 MOVD : 299 ms, 3114 ps/instr, 321 MIPS, 7.8 clk Atom MOVBE : FAILED!! Dispatch tests. dispatch 1 nop : 2194 ms, 22854 ps/instr, 43 MIPS, 57.8 clk dispatch 2 nops : 2150 ms, 22395 ps/instr, 44 MIPS, 56.6 clk dispatch 3 nops : 2147 ms, 22364 ps/instr, 44 MIPS, 56.5 clk dispatch 4 nops : 2125 ms, 22135 ps/instr, 45 MIPS, 56.0 clk dispatch 5 nops : 2094 ms, 21812 ps/instr, 45 MIPS, 55.1 clk dispatch 6 nops : 2172 ms, 22625 ps/instr, 44 MIPS, 57.2 clk dispatch 7 nops : 2313 ms, 24093 ps/instr, 41 MIPS, 60.9 clk dispatch 8 nops : 2419 ms, 25197 ps/instr, 39 MIPS, 63.7 clk dispatch 9 nops : 2440 ms, 25416 ps/instr, 39 MIPS, 64.3 clk dispatch 10 nops : 2537 ms, 26427 ps/instr, 37 MIPS, 66.8 clk dispatch 11 nops : 2560 ms, 26666 ps/instr, 37 MIPS, 67.4 clk dispatch 12 nops : 2731 ms, 28447 ps/instr, 35 MIPS, 71.9 clk Random memory access for increasing sizes of memory. mem random 2K: 101 ms, 1052 ps/instr, 950 MIPS, 2.6 clk mem random 4K: 84 ms, 875 ps/instr, 1142 MIPS, 2.2 clk mem random 8K: 88 ms, 916 ps/instr, 1090 MIPS, 2.3 clk mem random 16K: 209 ms, 2177 ps/instr, 459 MIPS, 5.5 clk mem random 32K: 162 ms, 1687 ps/instr, 592 MIPS, 4.2 clk mem random 64K: 160 ms, 1666 ps/instr, 600 MIPS, 4.2 clk mem random 128K: 159 ms, 1656 ps/instr, 603 MIPS, 4.1 clk mem random 256K: 238 ms, 2479 ps/instr, 403 MIPS, 6.2 clk mem random 512K: 513 ms, 5343 ps/instr, 187 MIPS, 13.5 clk mem random 1024K: 8043 ms, 83781 ps/instr, 11 MIPS, 211.9 clk mem random 2048K: 7043 ms, 73364 ps/instr, 13 MIPS, 185.6 clk mem random 4096K: 6990 ms, 72812 ps/instr, 13 MIPS, 184.2 clk Sequential memory access for increasing sizes of memory. mem linear 2K: 62 ms, 645 ps/instr, 1548 MIPS, 1.6 clk mem linear 4K: 63 ms, 656 ps/instr, 1523 MIPS, 1.6 clk mem linear 8K: 62 ms, 645 ps/instr, 1548 MIPS, 1.6 clk mem linear 16K: 69 ms, 718 ps/instr, 1391 MIPS, 1.8 clk mem linear 32K: 71 ms, 739 ps/instr, 1352 MIPS, 1.8 clk mem linear 64K: 70 ms, 729 ps/instr, 1371 MIPS, 1.8 clk mem linear 128K: 81 ms, 843 ps/instr, 1185 MIPS, 2.1 clk mem linear 256K: 73 ms, 760 ps/instr, 1315 MIPS, 1.9 clk mem linear 512K: 59 ms, 614 ps/instr, 1627 MIPS, 1.5 clk mem linear 1024K: 77 ms, 802 ps/instr, 1246 MIPS, 2.0 clk mem linear 2048K: 83 ms, 864 ps/instr, 1156 MIPS, 2.1 clk mem linear 4096K: 72 ms, 750 ps/instr, 1333 MIPS, 1.8 clk Reverse memory access for increasing sizes of memory. mem linear 2K: 59 ms, 614 ps/instr, 1627 MIPS, 1.5 clk mem linear 4K: 59 ms, 614 ps/instr, 1627 MIPS, 1.5 clk mem linear 8K: 59 ms, 614 ps/instr, 1627 MIPS, 1.5 clk mem linear 16K: 60 ms, 625 ps/instr, 1600 MIPS, 1.5 clk mem linear 32K: 62 ms, 645 ps/instr, 1548 MIPS, 1.6 clk mem linear 64K: 69 ms, 718 ps/instr, 1391 MIPS, 1.8 clk mem linear 128K: 66 ms, 687 ps/instr, 1454 MIPS, 1.7 clk mem linear 256K: 61 ms, 635 ps/instr, 1573 MIPS, 1.6 clk mem linear 512K: 62 ms, 645 ps/instr, 1548 MIPS, 1.6 clk mem linear 1024K: 70 ms, 729 ps/instr, 1371 MIPS, 1.8 clk mem linear 2048K: 68 ms, 708 ps/instr, 1411 MIPS, 1.7 clk mem linear 4096K: 72 ms, 750 ps/instr, 1333 MIPS, 1.8 clk