A small program is written to rest the multiplication, add, division performance.
The lower time the better.
Many C data type is tested. time32 is 32 bit time. time64 is 64bit time.
O3 means compiling optimization.
type | time32 | time64 | O3 time32 | O3time64 |
float | 1.527s | 1.682s | 0.571s | 0.517s |
double | 1.524s | 1.667s | 0.571s | 0.571s |
long double | 1.831s | 1.830s | 0.573s | 0.567s |
short | 1.232s | 1.229s | 0.419s | 0.449s |
int | 1.106s | 1.098s | 0.274s | 0.273s |
long | 1.094s | 1.089s | 0.287s | 0.268s |
long long | 1.500s | 1.105s | 0.829s | 0.274s |
The result shows the performance of 64 bit is quite close to 32 bit. Only the in long long data type, the 64 bit is much faster.
nbench:
64bit:
BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 942.36 : 24.17 : 7.94
STRING SORT : 210.4 : 94.01 : 14.55
BITFIELD : 3.7781e+08 : 64.81 : 13.54
FP EMULATION : 205.92 : 98.81 : 22.80
FOURIER : 21102 : 24.00 : 13.48
ASSIGNMENT : 28.195 : 107.29 : 27.83
IDEA : 5729.1 : 87.63 : 26.02
HUFFMAN : 1908.4 : 52.92 : 16.90
NEURAL NET : 38.778 : 62.29 : 26.20
LU DECOMPOSITION : 1325.3 : 68.66 : 49.58
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 68.721
FLOATING-POINT INDEX: 46.819
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : Dual GenuineIntel Intel(R) Core(TM)2 Duo CPU L9400 @ 1.86GHz 1867MHz
L2 Cache : 6144 KB
OS : Linux 2.6.29.1-30.fc10.x86_64
C compiler : gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC)
libc : libc-2.9.so
MEMORY INDEX : 17.632
INTEGER INDEX : 16.795
FLOATING-POINT INDEX: 25.968
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.
BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 836.4 : 21.45 : 7.04
STRING SORT : 123.13 : 55.02 : 8.52
BITFIELD : 3.6815e+08 : 63.15 : 13.19
FP EMULATION : 123.64 : 59.33 : 13.69
FOURIER : 24071 : 27.38 : 15.38
ASSIGNMENT : 28.406 : 108.09 : 28.04
IDEA : 5425.8 : 82.99 : 24.64
HUFFMAN : 1803.7 : 50.02 : 15.97
NEURAL NET : 35.409 : 56.88 : 23.93
LU DECOMPOSITION : 1325.1 : 68.65 : 49.57
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 57.119
FLOATING-POINT INDEX: 47.458
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : Dual GenuineIntel Intel(R) Core(TM)2 Duo CPU L9400 @ 1.86GHz 800MHz
L2 Cache : 6144 KB
OS : Linux 2.6.29.1-30.fc10.x86_64
C compiler : gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC)
libc : libc-2.9.so
MEMORY INDEX : 14.658
INTEGER INDEX : 13.958
FLOATING-POINT INDEX: 26.322
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.
32bit: