As far as I know, it defaults to 64 bit rather. Cut from configure:
checking size of char *... 8 checking for int... yes checking size of int... 4 checking for short... yes checking size of short... 2 checking for float... yes checking size of float... 4 checking for double... yes checking size of double... 8 checking for long double... yes checking size of long double... 16 checking for long... yes checking size of long... 8 checking for long long... yes checking size of long long... 8
As for benchmarks:
test total user mem (runs) Pike start overhead........ 0.023s 0.000s 3560kb (25) Ackermann.................. 0.605s 0.584s 3932kb (9) Append array............... 0.457s 0.431s 3548kb (11) (1160338/s) Append mapping............. 2.409s 2.380s 3644kb (3) (4202/s) Append multiset............ 0.431s 0.406s 3576kb (12) (24641/s) Array & String Juggling.... 0.476s 0.448s 4164kb (11) Read binary INT16.......... 0.272s 0.249s 4092kb (19) (4008439/s) Read binary INT32.......... 1.350s 1.320s 4204kb (4) (378788/s) Read binary INT128......... 0.501s 0.476s 4652kb (10) (21008/s) Clone null-object.......... 0.186s 0.163s 3492kb (25) (1842752/s) Clone object............... 0.401s 0.378s 3488kb (13) (792683/s) Compile.................... 0.913s 0.892s 6776kb (6) (27073 lines/s) Compile & Exec............. 0.726s 0.706s 11404kb (7) (852186 lines/s) GC......................... 0.453s 0.429s 3720kb (12) Insert in mapping.......... 0.422s 0.399s 3560kb (12) (1252610/s) Insert in multiset......... 0.688s 0.665s 3560kb (8) (751880/s) Matrix multiplication...... 0.368s 0.347s 5396kb (14) Loops Nested (local)....... 0.419s 0.383s 3556kb (12) (43862003 iters/s) Loops Nested (global)...... 0.691s 0.670s 3560kb (8) (25040621 iters/s) Loops Recursed............. 0.446s 0.425s 3560kb (12) (2467238 iters/s)
By the way, I haven't explored possible additional flags for x86-64 or even athlon specific optimizations (such as march= and -ftune and such things). Also for completeness, here's the same benchmark on a dual Athlon-MP 2000+ (which runs just over 1.6 GHz). It's missing the 'read binary' tests, I assume that's because it doesn't have crypto:
test total user mem (runs) Pike start overhead........ 0.084s 0.002s 3380kb (25) Ackermann.................. 1.214s 1.132s 3588kb (5) Append array............... 0.586s 0.494s 3336kb (9) (1011236/s) Append mapping............. 2.949s 2.870s 3436kb (2) (3484/s) Append multiset............ 0.501s 0.417s 3400kb (11) (23965/s) Array & String Juggling.... 0.668s 0.579s 3712kb (8) Clone null-object.......... 0.257s 0.173s 3392kb (20) (1739130/s) Clone object............... 0.534s 0.452s 3392kb (10) (663717/s) Compile.................... 1.313s 1.227s 5136kb (4) (19666 lines/s) Compile & Exec............. 1.271s 1.186s 3592kb (5) (507083 lines/s) GC......................... 0.749s 0.666s 3352kb (7) Insert in mapping.......... 0.486s 0.403s 3380kb (11) (1241535/s) Insert in multiset......... 0.935s 0.852s 3384kb (6) (587084/s) Matrix multiplication...... 0.490s 0.405s 5196kb (11) Loops Nested (local)....... 0.344s 0.261s 3380kb (15) (64362724 iters/s) Loops Nested (global)...... 0.685s 0.600s 3380kb (8) (27962026 iters/s) Loops Recursed............. 1.621s 1.535s 3380kb (4) (683111 iters/s)
/ David Hedbor
Previous text:
2003-04-07 12:50: Subject: First Opteron?
How does it compare in the benchmarks?
I see it has no special compilation flags, I assume it compiles for 32 bit compat mode then? (Can gcc make Opteron 64-bit code?)
/ Mirar