Title

BusSpd2K Benchmark Results On PCs

This page was set up as 770 pixels wide and accommodates preformatted text <PRE> results tables. Some browsers
produce monospaced font of an unexpected size but this might be adjustable via browser Preferences.

See    Bus Speed     and     Results Index     below

Description

BusSpd2K benchmark is intended to demonstrate maximum data transfer rates from caches and RAM using 32 bit integer words and 64 bit MMX words. MOV and AND assembly code instructions are used, with 64 instructions in the inner loops for integers and 512 instructions for MMX. The program measures speeds with data size 4, 8, 16, 32 etc. KBytes up to a maximum of 50% RAM size. Results are given in MBytes/second (MB/s), where M = 1,000,000. An approximation of processor execution speed in Millions of Instructions Per Second (MIPS)can be obtained by dividing MB/s for integer tests by 4 and those for MMX tests by 8.

Ten different tests load data to one CPU register or 2 registers alternately (MMX 1 or 8). Tests 5 and 6 use MOV instructions to 1 and 2 integer registers, with tests 7 and 8 the same except using AND. These identify differences between CPU models. Tests 9 and 10 use MMX MOV to 1 and 8 registers, normally demonstrating maximum data transfer speeds. Tests 1 to 4 load a 32 bit word (4 bytes) with address increments of 64, 32, 16, 8 bytes respectively. These are intended to demonstrate bus operation and speed where data is transferred in bursts.

BusSpd2K also has burn-in and reliability testing options, used via the opening window or from BAT file commands. The latter method can also be used to test multiple processors - See DualCore.htm and BurnIn32.htm. This has six write/read tests and six read only tests using different data patterns. There is also a 64 bit version of the Reliability Tests compiled to use the larger registers - IntBurn64 in More64Bit.zip . See also BurnIn64.htm. The latest addition is a paging test, using one of the write/read tests - See Paging.htm. Example log files for reliability and paging tests are given Below.

A pre-compiled version of the benchmark can be found in BusSpd2K.zip which also contains the source code, providing further explanatory comments. BusMP (and BusMP64), a different version, to test two CPUs is also available - See DualCore.htm, Win64.htm and Below. Then there is My Main Page for other PC benchmarks and results.

Following is an example output for a Pentium MMX CPU. Variations in performance identify L1 and L2 cache sizes, but it should be noted that speed can be slower than normal when data size equals cache size.


          MovI  MovI  MovI  MovI  MovI  MovI  AndI  AndI  MovM  MovM
          Reg2  Reg2  Reg2  Reg2  Reg1  Reg2  Reg1  Reg2  Reg1  Reg8
     RAM Inc64 Inc32 Inc16  Inc8  Inc4  Inc4  Inc4  Inc4  Inc8  Inc8
      KB  MB/S  MB/S  MB/S  MB/S  MB/S  MB/S  MB/S  MB/S  MB/S  MB/S

L1     4   699   735  1428  1444   776  1470   393   764  1568  1567
       8   678   740  1427  1460   775  1473   392   760  1579  1579
      16   405   436   700   977   677  1149   371   664  1223  1157
L2    32    52    53    75   131   235   235   192   231   264   263
      64    53    53    75   131   235   235   192   232   264   264
     128    53    53    75   131   235   236   193   232   265   265
     256    52    52    75   130   234   234   192   231   262   263
     512    51    52    74   130   233   233   191   230   262   261
RAM 1024    28    29    47    70   140   140   124   139   140   140
    2048    28    29    47    70   140   140   123   139   140   140
    4096    28    29    47    70   140   140   124   139   140   140
    8192    28    29    47    70   140   140   123   139   140   140

To Start

Bus Speed

On loading registers with varying address increments, the size of a burst of data over a bus can be recognised as the point when data transfer speed becomes constant. In the case of the Pentium MMX above, and up to Pentium III, burst size is 32 bytes. Then, the maximum bus transfer speed can be assumed to be eight times the measured speed or 232 MB/sec from RAM (8 x 29). The bus on this PC operates at 66.7 MHz and, at 8 bytes wide, provides an actual bus transfer speed of 533 MB/sec. The latter is for 4 bus clocks. So, the actual transfer takes 9.2 bus clocks, or 2 clocks per transfer and an average of 1.2 clocks overhead. This might be expressed at 3.2:2:2:2 for the burst.

With the arrival of Pentium IIIE, and its cache running at CPU MHz speed, burst speeds had reduced to the equivalent of 1.2:1:1:1 (efficiency 95%). Note that much of the overhead, such as indicated by CAS latency, disappears with continuous data transfer.

At least the later AMD CPUs use 64 byte bursts, that is via 8 bus clocks. Come the Athlon Thunderbird with a 133 MHz bus, efficiency could be 98% at an average of 1.2:1:1:1:1:1:1:1 bus clocks. Then along came DDR RAM which could, at least initially, have an efficiency of 92% at bus speeds up to 200 MHz, but much faster transfer rate via 16 bytes per bus clock. This might be designated as 1.3:1:1:1. Later, there is Dual Channel DDR, starting at around 80% efficiency (on these tests), but producing effective burst transfer speeds of 5000 MB/sec on two 200 MHz buses.

I was told that Intel P4 based PCs used 64 byte bursts. However, my latest benchmarks with BusSpeed varieties using 128 byte address increments, indicate that bursts are at least 128 bytes (See DualCore.htm). The measured speed at 128 bytes is around half that at 64 bytes. So the latter can be used to calculate maximum bursts speeds. Early P4s had RDRAM, working on a dual pumped 400 MHz bus, 2 bytes wide, and with dual buses. This gave a potential throughput of 3200 MB/Sec. Although efficiency was less than 80%, the achieved speed was the best at the time. Later P4s have PC133, DDR or Dual Channel DDR RAM with similar measured burst speeds as AMD.

On loading all data via the later CPUs, the fastest speeds are demonstrated via MMX instructions. In some cases, this is much slower than indicated by burst speeds. Information on maximum speeds when more processing is involved can be obtained from SSE3DNow results.htm and RandMem results.htm .


To Start


Results

Separate tables of speeds obtained via L1 cache, L2 cache and RAM are given below. Except when connected via the memory bus, performance via caches tends to be proportional to CPU MHz for a given type of processor. So, only a sample of results are provided. Details of cache sizes, speed and range of CPU MHz can be found in CPUSpeed.htm. The latter also provides a range of performance comparisons based on %MIPS/MHz, which include BusSpd2K results.

L1 Cache Results - Speed on Intel CPUs from Pentium II onwards are fairly constant on all tests on calculating approximate CPU instruction execution speeds (divide results by 4 for integer tests and 8 for MMX). Here, MIPS are mainly between 95% and 98% of CPU MHz. Earlier Intel CPUs and later AMD processors execute some of the tests at greater than 180% of CPU MHz. Note that these percentages should be multiplied by two on considering MMX instructions processing two 32 bit words.

L2 Cache Results - These are sorted in the same order as L1 cache results which immediately indicates differences between Intel and AMD CPUs. The recorded speeds on the latter, particularly slow with address increments of 64 bytes, indicate that AMD use burst reading on L2 cached data.

RAM and Bus Speed Results - RAM performance is sorted by maximum bursts speeds. For example, that is the measured speed at 32 byte address increments multiplied by eight, where bursts are 32 bytes. Maximum bus speeds are also shown. See Bus Speed for further comments. Some examples of exceptionally poor performance (marked #) are included, presumably caused by a faulty mainboard, chipset or BIOS.

Dual Core Results - 32 bit and 64 bit - See below.

Reliability Test Results - See below.

Dual Core Reliability Test Performance Results - 32 bit and 64 bit - See below.

Paging Test - 32 bit and 64 bit - See below.


To Start



L1 Cache Results in MBytes/Second - sorted by Inc64


                     MovI  MovI  MovI  MovI  MovI  MovI  AndI  AndI  MovM  MovM
                     Reg2  Reg2  Reg2  Reg2  Reg1  Reg2  Reg1  Reg2  Reg1  Reg8
               MHz  Inc64 Inc32 Inc16  Inc8  Inc4  Inc4  Inc4  Inc4  Inc8  Inc8

80486 DX2       66    112   117   119   124   136   122   120   123     0     0
Pentium        100    316   355   637   679   385   713   195   380     0     0
Pentium Pro    200    679   748   769   764   775   779   758   756     0     0
Pentium MMX    200    699   735  1428  1444   776  1470   393   764  1568  1567
Celeron A      450   1617  1690  1729  1677  1724  1737  1703  1700  3517  3507
Pentium II     450   1515  1649  1745  1728  1763  1765  1710  1717  3520  3527
Pentium III    450   1624  1700  1738  1735  1759  1740  1742  1744  3513  3491
AMD K62        500   1633  1742  1685  1706  1783  1780  1725  1755  3593  3509
Celeron 2      566   2042  2136  2198  2184  2213  2210  2191  2194  4446  4445
Duron          700   2530  4807  5011  4985  4941  5034  2677  4935 10169 10151
Pentium IIIE   733   2652  2778  2852  2833  2849  2869  2844  2847  5768  5765
Athlon         800   2917  5508  5754  5735  5791  5909  3135  5777 11951 11888
Athlon Tbird  1000   3635  6738  6331  7084  7245  7391  3830  7224 14871 14808
PIII Tualatin 1266   4588  4802  4914  4862  4949  4967  4806  4804  9898  9897
Athlon 4      1533   5594 10379 11155 11496 11161 11173  6016 11122 22870 22845
Pentium 4     1700   6139  6343  6559  6639  6589  6540  6405  6428 13188 13276
Ath4 Barton   1800   6525 12165 12999 13367 13020 12917  7013 11689 26630 26632
Pentium M     1862   6744  6875  7117  7320  7371  7381  7255  7374 14424 14658
Turion 64     1900   6872 13397 14159 14798 14190 14094  7294 14098 29407 29390
Opteron       2000   7237 14069 14802 15473 14822 15008  7783 14726 30715 30698
Athlon XP     2080   7585 14104 15097 15617 15011 14995  7982 15009 31009 30959
P4 Xeon       2200   7947  8301  8495  8593  8559  8561  8336  8414 17176 17184
Athlon 64     2210   8070 15711 16498 17247 16538 16763  8670 16454 34291 34254
Core 2 Duo    2400   8640  8820  9339  9451  9530  9530  9477  9523 18930 18909
Pentium 4E HT 3000   9686 11043 11233 11525 11562 11227 11054 11099 22804 22657
Pentium 4     3000  10915 11458 11710 11853 11784 11790 11426 11238 23589 23500
Pentium 4     3678  13412 13879 14306 14358 14252 14422 13007 13473 28713 28818

To Start         To Index

L2 Cache Results in MBytes/Second - same order as L1 speeds


                     MovI  MovI  MovI  MovI  MovI  MovI  AndI  AndI  MovM  MovM
                     Reg2  Reg2  Reg2  Reg2  Reg1  Reg2  Reg1  Reg2  Reg1  Reg8
               MHz  Inc64 Inc32 Inc16  Inc8  Inc4  Inc4  Inc4  Inc4  Inc8  Inc8

80486 DX2       66     11    11    11    17    32    31    30    30     0     0
Pentium        100     26    26    40    75   124   139    96   117     0     0
Pentium Pro    200    133   132   234   317   488   487   454   453     0     0
Pentium MMX    200     53    53    75   131   235   235   192   232   264   264
Celeron A      450    306   305   548   793   975   975   974   976  1582  1619
Pentium II     450    179   179   359   709   829   824   831   832  1428  1433
Pentium III    450    180   180   359   531   846   846   843   846  1430  1437
AMD K62        500     29    59   117   218   436   436   429   429   436   436
Celeron 2      566    532   533  1125  1205  1392  1392  1389  1392  2410  2409
Duron          700    134   270   535  1029  1932  1955  1577  1533  2050  2008
Pentium IIIE   733    697   697  1466  1568  1805  1808  1809  1809  3135  3131
Athlon         800    106   211   424   846  1697  1698  1599  1588  1693  1698
Athlon Tbird  1000    198   360   788  1584  3144  3169  2572  2469  3104  3146
PIII Tualatin 1266   1701  1575  2513  2520  2882  2864  2879  2881  5038  5034
Pentium 4     1700   2617  3077  3544  3570  4658  4656  4598  4628  7143  7117
Ath4 Barton   1800    355   713  1421  2799  4863  4851  4009  4462  5682  5622
Pentium M     1862   1214  2117  3289  4031  4731  4668  4732  4749  8077  8109
Turion 64     1900    429   831  1688  2976  5490  5383  5467  5457  5939  6086
Opteron       2000    670  1296  2588  4700  7167  7163  5870  6201  9480  9542
Athlon XP     2080    413   828  1645  3270  5637  5601  4597  5163  6564  6567
P4 Xeon       2200   4190  4021  4577  4630  6038  6038  6010  6020  9255  9258
Athlon 64     2210    651  1285  2411  4418  7786  7776  6448  6688  8936  8718
Core 2 Duo    2400   2131  3257  4597  6772  8187  8196  8168  8201 10549 10559
Pentium 4E HT 3000   2945  5640  6105  6624  7526  7536  7425  7470 13097 13303
Pentium 4     3000   5912  5521  6335  6385  8338  8337  8298  8322 12762 12779
Pentium 4     3678   7258  6719  7722  7808 10161 10201 10169 10064 15423 15560

To Start         To Index

RAM and Bus Speed Results in MBytes/Second - sorted by Max Burst Speed


                            Max    Max   MovI   MovI   AndI   AndI    MMX
System               MHz    bus  Burst   Reg1   Reg2   Reg1   Reg2    Max

80486 DX2       B     66    133     32     25     24     23     24      0
Pentium         B    100    400     96     73     79     64     73      0
Celeron 2       #    900    800    168    166    166    166    165    166
Pentium MMX     B    200    533    232    140    140    123    139    140
Pentium Pro          200    533    256    225    225    240    240      0
AMD K6          B    550    800    272    238    238    237    238    238
Pentium IIIEB   #   1000   1067    289    289    289    289    289    289
Celeron A            300    533    456    267    267    282    280    450
Celeron A            450    800    496    407    406    426    427    494
Pentium II      H    400    800    488    314    314    322    322    484
Pentium II      H    450    800    504    317    316    324    325    500
Celeron 2            600    533    504    324    326    343    343    511
Pentium III     H    450    800    528    303    304    339    334    527
Ath4 Barton     #   1800   2133    592    589    590    433    492    594
Athlon Tbird    #   1200   1067    672    528    527    351    328    670
Athlon          H    800    800    672    575    575    414    366    673
Pentium IIIE         800    800    752    463    462    477    476    764
Celeron 2            850    800    784    474    474    486    486    765
Athlon          H    900   1067    912    648    648    461    416    879
PIII Tualatin       1266   1067    912    580    579    580    575    749
Duron                700   1067    994    682    685    512    516    977
Pentium IIIEB   R   1000   1600   1024    411    412    420    420    794
Pentium 4           2400   1067   1027    987    989    982    990   1010
Pentium IIIEB       1000   1067   1035    509    516    537    537    908
Athlon Tbird         800   1067   1040    677    677    516    510    942
Athlon Tbird         950   1067   1040    680    680    463    417    950
Duron               1000   1067   1043    680    680    463    414    951
Pentium 4           1900   1067   1043    981    980    979    967   1007
Athlon Tbird    D   1466   2133   1744    755    756    666    666   1217
Pentium 4       D   1800   2133   1952   1455   1455   1401   1415   1641
Athlon Tbird    D   1333   2133   1968    756    756    659    657   1219
Pentium 4       D   3066   2133   2021   1826   1819   1812   1818   1913
Athlon 4        D   1725   2400   2032    888    878    668    745   1172
Athlon XP       D   2080   2667   2336   1171   1167    903    986   1549
Pentium 4       R   1700   3200   2336   1478   1471   1402   1429   1660
P4 Xeon         R   2200   3200   2448   1537   1538   1511   1515   1822
Athlon 64       D   2000   3200   2932   2778   2736   2669   2663   2963
Opteron         D   2000   3200   3136   2123   2129   2070   2110   2476
Pentium 4       R   2533   4267   3216   2078   2100   2075   2084   2358
Pentium M      DC   1862   4267   3328   2379   2375   2258   2294   2545
Core 2 Duo A  DC2   2400   8533   3456   4312   4314   4194   4342   4860
Pentium 4      DC   2533   4267   3529   2576   2578   2451   2448   2742
Turion 64     DC2   1900  10240   4112   2513   2555   2430   2484   2689
Pentium 4E     DC   3000   6400   4976   3613   3623   3432   3564   3895
Athlon 64      DC   2210   6400   4992   2793   2791   2704   2803   2941
Pentium 4      DC   3678   6272   5021   3375   3381   3249   3273   3723
Core 2 Duo B  DC2   2400   8533   5376   4435   4402   4413   4342   5161
Core 2 Duo C  DC2   2400  12800   6272   5051   5061   4961   4893   5720


    Key       B   L2 cache on memory bus      #   Example of poor results
              H   L2 at half CPU MHz or less  R   RDRAM                  
              D   DDR RAM                     DC  Dual Channel DDR RAM   
              DC2 DDR 2                                                  

       Core 2 Duo A nForce 570 chipset, Core 2 Duo B-C Intel 965 chipset    


To Start         To Index

Dual Core Results

Programs BusMP64 and BusMP in DualCore.zip are compiled to run via Win64 and Win32, manipulating 64 bit and 32 bit integers. The tests are run firstly as a single thread and secondly using two threads at the same priority level, demanding twice the shown memory space. SSE2 integer instructions are used instead of MMX for compatibility with 64 bit Windows. Another difference to BusSpd2K is that the first burst test has 32 word address increments, or 128 bytes at 32 bits and 256 bytes at 64 bits, compared with 64 bytes above. This appears to demonstrate that Pentium 4 bursts from RAM are 128 bytes compared with 64 bytes with AMD CPUs. Data transfer burst speeds are faster at 64 bits as twice as much data is being used. The following is an example of log file results. Results below also include 64 bit scores on a Core 2 Duo via 64 bit Windows Vista.


Athlon 64 X2 Dual Core 4200+ 2.21 GHz, DCDDR RAM, WinXP Pro X64

                  Part 1 - Single Thread MBytes/Second                  

   Kbytes Inc32wds Inc16wds  Inc8wds  Inc4wds  Inc2wds  ReadAll 128bSSE2

        6    14563    15920    16078    17827    17772    17443    17358
       24    15001    16194    16241    17760    17706    17782    17492
       96     1943     1947     1344     2406     4536     9654     8766
      384      645      707      588      992     1502     2927     2957
      768      641      713      587      986     1505     2909     2948
     1536      642      717      586      988     1499     2897     2940
    16380      642      704      591      986     1475     2870     2920
   131070      639      698      592      983     1476     2860     2919

               Part 2 - Two Threads Total MBytes/Second                 

   Kbytes Inc32wds Inc16wds  Inc8wds  Inc4wds  Inc2wds  ReadAll 128bSSE2

        6    11780    12876    13348    18538    19771    21414    34617
       24    11575    17226    17979    22147    22859    23625    34547
       96     3121     3045     2569     4674     8281    12510    17488
      384      552      630      645     1270     2244     4130     4746
      768      556      629      643     1272     2254     4080     4713
     1536      557      630      642     1270     2226     4076     4704
    16380      563      634      644     1264     2218     4045     4688
   131070      558      632      642     1263     2213     4063     4684

  For 64 bit MIPS divide MB/Second by 8. SSE2 divide by 16 for 128 bit MIPS

  For 32 bit MIPS divide MB/Second by 4. SSE2 divide by 16 for 128 bit MIPS

Below are available single and dual processor results for data in L1 Cache   L2 Cache and RAM. The original version of the benchmark obtained slower results on the first L1 cache tests due to reading more data than it should. This has been corrected in Version 1.2. Note that increases in throughput using two threads is not as good as expected, particularly with the 64 bit version.

The single thread tests are calibrated to run for approximately 0.5 seconds and the same number of passes are used for each of the two thread tests. These sometimes both take much longer than half a second, on the early tests, and are often quite different on all the integer tests (run with command BusMP Debug or BusMP64 Debug to log thread milliseconds). This imbalance accounts for some of the lack of throughput using two CPUs, the remainder seemingly being due to Windows interference in data flow. Further details can be found in DualCore.htm.

To Start         To Index


L1 Cache Results in MBytes/Second - 6 KB


              CPUs   MHz  Inc32wds Inc16wds Inc8wds Inc4wds Inc2wds ReadAll 128bSSE2

Celeron          1   450      1183     1021    1641    1631    1498    1706        0
     2 Threads                1130     1225    1574    1564    1647    1701        0

Pentium III      1   731      1862     1793    2539    2417    2583    2460        0
     2 Threads                1737     1315    2227    1765    2538    2429        0

Pentium 4        1  1900      3462     3218    6114    6435    6424    6501    13596
     2 Threads                4508     4116    6381    6748    5994    6717    13195

Athlon XP        1  2088      5597     5676    8166    8340    8223    8368        0
     2 Threads                5578     5664    8163    8490    8381    8557        0

Pentium 4E HT    1  3000      7586     7957   10609   10933   11140   10852    23035
     2 Threads                5195     5325    9739    9895    9987    9895    23236

Core 2 Duo C 64b 1  2400  #  14079    16065   16562   16952  17210    17268    36814
     2 Threads               14155    16167   16460   17104  17211    17217    36797

Opteron          2  1992      5620     5749    8983    9101    8941    9010    15772
     2 Threads                7267     7198   11410   13250   14778   16010    31434

Athlon MP        2  2000      5459     5456    7854    8073    7915    8068        0
     2 Threads                5144     5639    7280    8856   10511   12518        0

Turion 64 Mob    2  1900  #   6645     6945    8766    8570    8306    8525    14507
 V32  2 Threads               7965     8954   12494   13385   14431   14835    24929

Athlon 64 32b    2  2210      6209     6371    9953   10084    9887    9962    17458
 X64 2 Threads                8292     8403   14317   16184   17352   18528    34743

Athlon 64 32b    2  2210  #   8131     8462   10388   10057    9882    9958    17391
 X64 2 Threads                9234    10367   14787   16078   17366   18515    34466

Athlon 64 64b    2  2210  #  14563    15920   16078   17827   17772    17443   17358
 X64 2 Threads               11780    12876   13348   18538   19771    21414   34617

Xeon P4          2  3065      7388     7715    8431   11206   11290   11467    23841
     2 Threads                7285     7895   12031   11800   15783   18583    45757

Pentium 4D       2  3000      7759     8102   10658   11170   11249   11083    23160
     2 Threads                6057     5219    7311    7962    9540   10156    44482

Core 2 Duo       2  2400      6654     6840    9122    9253    9207    9264    37031
     2 Threads                5036     6453    9976   12462   14560   16123    74470

Core 2 Duo C 32b 2  2400      6751     6808    9050    9198    9270    9258    37375
 V64 2 Threads                7897     9372   13674   15367   16514   17224    71915

Core 2 Duo C 32b 2  2400  #   7366     8999    8984    9201    9258    9263    37310
 V64 2 Threads                7271    11341   13427   15096   16511   17116    66635

Core 2 Duo C 64b 2  2400  #  14261    16380   16736   17330   17414   17449    37143
 V64 2 Threads                8106    12608   15512   17690   19165   20354    71247

        V32/64 32 and 64 Bit Vista, X64 64 Bit XP      # Version 1.2

To Start         To Dual Core Index



L2 Cache Results in MBytes/Second - 96 KB


              CPUs   MHz  Inc32wds Inc16wds Inc8wds Inc4wds Inc2wds ReadAll 128bSSE2

Celeron          1   450       304      304     274     537     792     852        0
     2 Threads                 220      219     225     415     618     805        0

Pentium III      1   731       541      548     550     829     981    1275        0
     2 Threads                 534      537     546     845    1180    1620        0

Pentium 4        1  1900      1776     1976    1823    2511    3392    4725    10612
     2 Threads                1906     2007    1971    2503    3368    4865    12725

Athlon XP        1  2088       408      406     817    1612    3252    4614        0
     2 Threads                 407      406     812    1609    3250    4606        0

Pentium 4E HT    1  3000      2209     2179    3466    3785    6348    7197    18538
     2 Threads                3022     3091    4087    4606    6211    7496    18369

Core 2 Duo C 64b 1  2400      4038     4152    3986    6370    9479   13521    18935
     2 Threads                3999     4097    3939    6363    9395   13441    18823

Opteron          2  1992       756      595    1139    2119    4396    5799     8078
     2 Threads                1689     1192    2256    4241    8727   11552    16099

Athlon MP        2  2000       391      390     780    1541    3101    4417        0
     2 Threads                 756      762    1489    2973    5985    8591        0

Turion 64 Mob    2  1900       611      443     832    1612    2750    5055     5873
     2 Threads                1012      730    1400    2805    4894    8856     9564

Athlon 64 32b    2  2210       842      660    1259    2353    4865    6416     8959
     2 Threads                1789     1317    2489    4693    9679   12783    17819

Athlon 64 64b    2  2210      1943     1947    1344    2406    4536    9654     8766
     2 Threads                3121     3045    2569    4674    8281   12510    17488

Xeon P4          2  3065      4225     4258    3226    4603    5900    8086    18722
     2 Threads                7484     7941    6271    8962   11620   16051    46299

Pentium 4D       2  3000      2235     2222    3502    3868    6331    7370    17523
     2 Threads                3175     3192    4597    4823    6548    7295    34610

Core 2 Duo       2  2400      2091     2049    3312    4539    6633    7971    18984
     2 Threads                3225     3109    5502    7924   12257   15538    32128

Core 2 Duo C 32b 2  2400      2094     2028    3328    4529    6670    7949    19089
     2 Threads                3157     3005    5369    7756   12129   14592    31545

Core 2 Duo C 64b 2  2400      4215     4225    4072    6452    9539   13629    19077
     2 Threads                6007     6089    5723    9960   13424   17715    31282

To Start         To Dual Core Index


RAM Results in MBytes/Second - 128 MB


              CPUs   MHz  Inc32wds Inc16wds Inc8wds Inc4wds Inc2wds ReadAll 128bSSE2

Celeron          1   450        55       61      61     123     215     391        0
     2 Threads                  61       57      70     157     288     375        0

Pentium III      1   731        80       80      80     161     314     513        0
     2 Threads                  80       80      75     151     319     544        0

Pentium 4        1  1900        26       52     108     204     417     820      862
     2 Threads                  26       53     109     215     419     821      869

Athlon XP        1  2088       144      142     250     412     615    1025        0
     2 Threads                 143      142     250     412     625    1046        0

Pentium 4E HT    1  3000       142      279     563     999    1823    3545     4360
     2 Threads                 136      277     556    1039    1924    3643     4375

Core 2 Duo C 64b 1  2400       588      629     746    1536    2820    5091     5587
     2 Threads                 565      625     743    1555    2825    5062     5614

Opteron          2  1992       172      170     328     557     929    1813     1851
     2 Threads                 178      229     365     922    1569    3300     2746

Athlon MP        2  2000        96       85     151     246     371     622        0
     2 Threads                 104      103     203     395     674    1110        0

Athlon 64 32b    2  2210       350      318     563     877    1414    2749     2915
     2 Threads                 322      336     671    1303    2358    4786     4710

Turion 64 Mob    2  1900       246      232     440     732    1246    2407     2600
     2 Threads                 226      231     471     875    1714    3289     3552

Athlon 64 64b    2  2210       639      698     592     983    1476    2860     2919
     2 Threads                 558      632     642    1263    2213    4063     4684

Xeon P4          2  3065        96      190     424     752    1235    2367     3309
     2 Threads                  86      192     404     821    1663    3268     3253

Pentium 4D       2  3000       161      302     564    1066    2147    4010     4697
     2 Threads                 119      245     450     863    1687    3273     3975

Core 2 Duo A     2  2400       238      253     632    1150    2377    4019     4894
     2 Threads                 169      202     522     847    1833    3768     3620

Core 2 Duo B     2  2400       241      335     695    1271    2400    4545     5122
     2 Threads                 228      342     707    1460    2674    5090     5849
      
Core 2 Duo C 32b 2  2400       318      385     792    1436    2620    4902     5747
     2 Threads                 316      431     890    1787    3084    5765     7161

Core 2 Duo C 64b 2  2400       600      636     774    1585    2897    5127     5748
     2 Threads                 611      629     840    1690    3217    5260     7172

 Core 2 Duo A nForce 570 chipset 533 MHz, C2D Intel 965 chipset B 533 MHz, C 800 MHz


To Start         To Dual Core Index


Reliability Test

BusSpd2K Reliability Test and IntBurn64 log file output has the following format. The write and read test uses a single pass of the data, resulting in numerous passes for the smaller sizes. This leads to loop and data checking overheads being significant and, in some cases, L2 cache speeds appearing to be faster than L1. After the example log file are results on 4 CPUs, including an estimate of overheads in microseconds, where the impact is highest on the Core 2 Duo. Further results are given in Dual Core Reliability Test Performance Results. For burn-in example results an associated CPU temperature increases see BurnIn32.htm and BurnIn64.htm.



                        Reliability Test L1 Cache

 Test      16 KB, 5 seconds per test, Mon Sep 24 13:06:10 2007

  Write/Read
  1   8044 MB/sec  Pattern 0000000000000000 	 Result OK    245491 passes
  2   8056 MB/sec  Pattern 0000000000000000 	 Result OK    245864 passes
  3   8081 MB/sec  Pattern A5A5A5A5A5A5A5A5 	 Result OK    246611 passes
  4   8087 MB/sec  Pattern 5555555555555555 	 Result OK    246811 passes
  5   8072 MB/sec  Pattern CCCCCCCCCCCCCCCC 	 Result OK    246324 passes
  6   8079 MB/sec  Pattern 0F0F0F0F0F0F0F0F 	 Result OK    246562 passes
 Read
  1  16623 MB/sec  Pattern 0000000000000000 	 Result OK   1014600 passes
  2  16619 MB/sec  Pattern FFFFFFFFFFFFFFFF 	 Result OK   1014400 passes
  3  16633 MB/sec  Pattern A5A5A5A5A5A5A5A5 	 Result OK   1015300 passes
  4  16605 MB/sec  Pattern 5555555555555555 	 Result OK   1013500 passes
  5  16624 MB/sec  Pattern 3333333333333333 	 Result OK   1014700 passes
  6  16633 MB/sec  Pattern F0F0F0F0F0F0F0F0 	 Result OK   1015200 passes


           Reliability Write/Read Test MB/Sec 32 Bit BusSpd2K

           KB   Core 2 Duo   Athlon 64    Pentium 4     Athlon 4
                 2400 MHz     2210 MHz     1900 MHz     2088 MHz
               64-Bit Vista  XP Pro x64     Win XP      Win 2000

            4      3933        8299         1861         2588
            8      5991       11229         2891         4410
           16      8087       13577        *3676         6865
           32      8766       15151        *4407         9435

     O/H usecs      0.7         0.2          1.5          1.3
                 
                                   * L2 Cache

To Start        To Index


Dual Core Reliability Test Performance Results (64 Bit Windows)

The following show data transfer speed in MB/second for increasing memory demands for BusSpd2K Reliability Test and IntBurn64 via 64 Bit Windows. The former uses MMX instructions for maximum speeds with 32 bit working and the latter has normal integer instructions using 64 bit registers. So the results are not directly comparable. Results are for one copy then two copies at the same time to measure dual core performance. The percentage speed gain is also shown.

As with the BusSpd2K Performance Test, The Athlon 64 L1 cache speeds, on reading using MMX instructions, are faster than the Core 2 Duo. It seems that the code used also favours the Athlon 64 using 64 bit integer instructions. The position is reversed for all other results, where most are comparing Core 2 Duo L2 cache speeds with those from Athlon 64 RAM. The shared Core 2 Duo L2 cache is surprisingly fast when being used by two CPUs, except where both could use most of it. Only the 16,000 KB measurements represent memory speeds on both systems. Here, the slower Athlon 64 RAM throughput improvement is better, when using two CPUs.

To Start        To Index

Example BAT file commands Start BusSpd2k Reliability, KB 4, Seconds 1, Log Log1.txt Start BusSpd2k Reliability, KB 4, Seconds 1, Log Log2.txt Start IntBurn64 Auto, KB 4, Secs 1, P1, Log testCPU1.txt Start IntBurn64 Auto, KB 4, Secs 1, P2, Log testCPU2.txt
Core 2 Duo 2400 MHz Vista Athlon 64 2210 MHz XP Pro 32KB L1 4MB L2 800 MHz RAM 64KB L1 512KB L2 400 MHz RAM 32 Bit 64 Bit 32 Bit 64 Bit KB CPUs Wrt/Rd Read Wrt/Rd Read Wrt/Rd Read Wrt/Rd Read 4 1 3870 15794 4322 16206 8514 20913 12437 22257 2 7287 31401 7737 32248 16926 41503 24684 44389 % 188 199 179 199 199 198 198 199 16 1 8051 16603 8499 16711 13670 22815 18559 23177 2 15761 33014 16483 33114 27304 45290 36821 45996 % 196 199 194 198 200 199 198 198 64 1 8844 13035 9033 12995 15442 23002 18699 23028 2 15945 24899 16185 24884 30833 45677 37533 45234 % 180 191 179 191 200 199 201 196 500 1 9715 13084 9911 13048 8545 9112 8104 10102 2 17222 25111 17243 25033 17031 18023 16168 19957 % 177 192 174 192 199 198 200 198 1000 1 9756 13098 9737 13007 2125 2897 2072 3050 2 17183 24670 17245 25035 2476 4736 2459 4917 % 176 188 177 192 116 163 119 161 2000 1 9567 12980 9664 12919 2101 2898 2074 3014 2 15611 23144 15672 23399 2480 4629 2445 4904 % 163 178 162 181 118 160 118 163 4000 1 8350 11902 8955 12159 2098 2879 2045 3011 2 4095 6720 4185 6657 2477 4693 2485 4873 % 49 56 47 55 118 163 121 162 16000 1 3466 5433 3370 5408 2086 2872 2055 3009 2 3687 6066 3598 6019 2454 4706 2478 4838 % 106 112 107 111 118 164 121 161

To Start        To Index

Paging Tests

BusSpd2K and IntBurn64 standard Reliability Tests can be used to demonstrate memory speeds with paging but, with 12 tests, this can take a long time. So an additional Paging option has been included that uses just one of the write/read tests and is controlled by a BAT file command. Example command, output and results are below. More details, with results via 32 bit and 64 bit Windows, are in Paging.htm. This shows that data transfer speed can be much slower than using normal disk writes/reads and the varying maximum amount of data that can be used - from 1.2 GB using Windows XP to slightly less than 8 GB using 64-Bit Vista. It also shows that Vista paging can be more efficient than other versions of Windows.


Command and Output (BusSpd2K)
BAT command - start busspd2k Reliability, Paging, KB 2000000, Secs 1 Test 2000000 KB, 1 seconds per test, Fri Sep 21 20:44:46 2007 Write/Read 1.9 Seconds 2048.0 MB x 1 passes x 2 (M = 1,000,000) 2139 MB/sec Pattern 5555555555555555 Result OK 1 passes
Example Results IntBurn64, 4 GB RAM, 64-Bit Vista KB Passes Seconds MB/sec 2000000 4 5.4 3056 3000000 3 6.4 2878 3500000 1 6.7 1075 4000000 1 145.3 56 5000000 1 1040.3 10 7900000 1 771.0 21 8000000 Cannot allocate memory

To Start        To Index


Roy Longbottom Movember 2007

At the time of writing, Virgin FreeSpace Internet Home for my PC Benchmarks is via the link
Roy Longbottom's PC Benchmark Collection