Java vs gcc vs gcj vs gij

 ( ds | 2006. június 17., szombat - 12:39 )

Egy csütörtöki hír kapcsán készítettem néhány teljesítmény-tesztet. :) Pontosabban a hozzászólásokban Árpi említette, hogy kiváncsi lenne gcj eredményekre, illetve szferit a numerikus számítási teljesítmény érdekeli. (akkor persze miért nem pl fortran hacsak nem SOR a feladat).

Teszteléshez a scimark-ot használtam (numerikus számításokat végez ahogy a táblázatból látszik), valamint
AMD Athlon 64 1800Mhz

gcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)

java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_06-b05, mixed mode)

64 illetve 32 bites jvm verziót is futtattam (-server és -client kapcsolókkal) gcc -O2 és -O4 paraméterekkel (k8-ra fordított kód). A táblázatban csak a legjobb Composit eredményt elért fordító/futtató szerepel, amelyek pedig a gcc -O2, valamint a Java 64 bites verziója (-server). (pontosabban ezek egymáshoz képest)

Composite Score

FFT (1048576)

SOR (1000x1000)

Monte Carlo

Sparse matmult (N=100000, nz=1000000)

LU (1000x1000)

Java / C

95,23%

80,85%

130,20%

50,46%

98,33%

80,02%

gij /Java

5,54%

16,80%

4,28%

2,04%

5,68%

8,25%

gcj / java

77,63%

110,53%

70,43%

25,28%

80,48%

110,93%

gcj / gcc

73,93%

89,36%

91,71%

12,75%

79,14%

88,77%

szerk:
update

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

érdekes eredmények. Azthittem, hogy a gcj/gij gyorsabb a jdk-nál. Hát, tévedtem.

Mivel éppen nálam volt ez gondoltam ezen is lefuttatom a scimark-ot... :)
eredmények:

tini023fc2 /> java scimark.tini
SciMark 2.0a
Composite Score: 9.24796307479413E-4
FFT (1024): ERROR, INVALID NUMERICAL RESULT!
SOR (100x100): 0.002252068015692895
Monte Carlo : 6.376089875790746E-4
Sparse matmult (N=1000, nz=5000): 0.001734304534125095
LU (100x100): ERROR, INVALID NUMERICAL RESULT!

(fft nem megy nincs Math.sin() a lu-hoz meg elég memória nincs...)
(csak hogy legyen mihez mérni:
AMD Athlon 64 1800
[darkside@darkside 64bit]$ java jnt.scimark2.commandline

SciMark 2.0a

Composite Score: 442.59626633780573
FFT (1024): 346.6297263130061
SOR (100x100): 594.372284633418
Monte Carlo : 86.64798311912016
Sparse matmult (N=1000, nz=5000): 363.5839093107316
LU (100x100): 821.7474283127531

java.vendor: Sun Microsystems Inc.
java.version: 1.5.0_06
os.arch: amd64
os.name: Linux
os.version: 2.6.16-1.2133_FC5
)