Kíváncsi lettem a c++ / java sebesség viszonyra windows-on.
A scimark2.0a tesztet használtam, aminek van c és java változata is. A c verziót agresszív optimalizációval, 2005-ös visual c++-al forgattam le, persze release módban. A java-hoz a legújabb Server VM-et használtam. Az eredmény számomra egy kicsit meglepő lett.
Hardware: Pentium4 3GHz Prescott HyperThreading on 1MB L2 cache
test java result [MIPS] c result [MIPS]
------------------------ ------------------ ----------------
1.scimark2 in-cache 324 [100%] 554 [171%]
2.scimark2 out-of-cache 306 [100%] 296 [ 97%]
Tehát ha olyan problémánk van, ami befér a cache-be, akkor a c-s megoldás még mindig durván jobb (70%-kal). Ha viszont out-of cache problémánk van, akkor a Java gyorsabb is lehet.
Példa java kimenet:
java -server jnt.scimark2.commandline -large
SciMark 2.0a
Composite Score: 306.32828805024263
FFT (1048576): 41.23158044036079
SOR (1000x1000): 624.9202988545162
Monte Carlo : 129.17972951336836
Sparse matmult (N=100000, nz=1000000): 362.0933434006447
LU (1000x1000): 374.2164880423233
java.vendor: Sun Microsystems Inc.
java.version: 1.6.0_11
os.arch: x86
os.name: Windows XP
os.version: 5.1