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
|