2009-10-21 15 views
5

In another SO question Ho chiesto perché i miei programmi java girano più velocemente su AMD che su macchine Intel. Ma sembra che io sia l'unico a osservarlo.Prestazioni di java su hardware diverso?

Ora desidero invitarvi a condividere i numeri delle prestazioni java locali con la comunità SO. Ho osservato una grande differenza di prestazioni osservando l'avvio di JBoss su hardware diverso, quindi ho impostato questo programma come base per questo confronto.

Per la partecipazione si prega di scaricare ed eseguire JBoss 5.1.0.GA:

jboss-5.1.0.GA/bin/run.sh (or run.bat) 

Questo avvia una configurazione standard di JBoss, senza applicazioni extra. Quindi cercare l'ultima riga della procedura di partenza che assomiglia a questo:

[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
     SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 25s:264ms 

Si prega di ripetere questa procedura fino a quando il tempo stampato è in qualche modo stabile e post questa linea insieme ad alcuni commenti sul tuo hardware (io ho usato cpu-z per ottenere le informazioni) e il sistema operativo come questo:

java version: 1.6.0_13 
OS:   Windows XP 
Board:  ASUS M4A78T-E 
Processor: AMD Phenom II X3 720, 2.8 GHz 
RAM:   2*2 GB DDR3 (labeled 1333 MHz) 
GPU:   NVIDIA GeForce 9400 GT 
disc:   Seagate 1.5 TB (ST31500341AS) 

Usa il tuo voto a portare la configurazione più veloce verso l'alto.

Sono molto curioso dei risultati.

EDIT:

Fino ad oggi solo alcuni membri hanno condiviso i loro risultati. Sarei davvero interessato ai risultati ottenuti con alcune altre architetture. Se qualcuno lavora con un MAC (desktop) o esegue un Intel i7 con meno di 3 GHz, per favore una volta avviato JBoss e condividi i risultati. Ci vorranno solo pochi minuti.

+3

-1. Questo test misura solo il tempo di avvio della configurazione "out-of-the-box" di una versione specifica di JBoss, attraverso una varietà di versioni java.Avrai difficoltà a concludere qualcosa di utile da queste informazioni, tranne forse che se avessi un computer diverso, JBoss avrebbe un tempo di avvio più veloce (posso dirti che senza lanciare nulla). Questo non è legato alla programmazione; Direi che probabilmente dovrebbe andare su SF o SU. –

+0

Per i miei casi di utilizzo ho trovato una forte correlazione tra il tempo di avvio di JBoss e il tempo totale dei miei test di integrazione continua. In effetti ho intenzione di passare a una piattaforma hardware diversa per accelerare il tempo di test. La mia speranza è che la misurazione del tempo di avvio di JBoss sia così semplice da convincere alcuni membri della SO a darmi i loro numeri di "rendimento". Non conosco nessun test più sofisticato che sia anche facile da fare. – tangens

+1

Stai esaminando quanto tempo ci vuole per il tuo ambiente Java per caricare alcune classi in memoria e per espandere i vari componenti su disco, quindi stai fondamentalmente esaminando quanto è veloce il tuo disco e poco altro. – massimogentilini

risposta

4
22:29:38,959 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA 
(build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 17s:210ms 

java version: 1.7.0-ea 
OS:   Ubuntu 9.10, 64bit 
Board:  ASUS P6T 
Processor: Intel i7 920 @ 3.4Ghz 
RAM:   12GB DDR3 
GPU:   Dunno 

Con noioso vecchio sole-java 1.6.0_15-b03:

22:32:12,360 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA 
(build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 18s:532m 

Sono contento di poter fare il mio lavoro giorno per giorno in molo, che inizia in circa 4 secondi.

1
 
[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
     SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 22s:848ms 

java version: 1.6.0_13 
OS:   Windows XP (32 Bit) 
Board:  ASUS M4A78T-E 
Processor: AMD Phenom II X3 720, 2.8 GHz 
RAM:   2*2 GB DDR3 (labeled 1333 MHz) 
GPU:   NVIDIA GeForce 9400 GT 
disc:   Seagate 1.5 TB (ST31500341AS) 
1
21:51:00,281 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
     SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 46s:456ms 

java version: 1.6.0_15,Apple Inc. 
OS:   Mac OSX 10.6.1 
Board:  MacBookPro3,1 
Processor: Intel Core 2 Duo 2.4Ghz 4mb L2 
RAM:   4GB DDR2 
GPU:   GeForce 8600M GT 256mb 
disc:   FUJITSU 160GB (MHW2160BHPL) 

poco meno di un minuto ... Sono contento di non dover sviluppare utilizzando quel pezzo di [bip].

9

Confrontare le prestazioni dei programmi Java è molto difficile. Ho scritto un programma intensivo di calcolo (un ray tracer) in Java e con mia sorpresa ha funzionato il 30% più velocemente sul mio MacBook Pro che sul mio computer desktop, mentre entrambi hanno processori Core 2 Duo molto simili. Poi ho cambiato alcuni parametri e all'improvviso è stato il contrario. E a volte sulla stessa macchina il programma con lo stesso input improvvisamente impiega il 5% -10% di tempo in più per eseguire ...

Avere uno sguardo a questi eccellenti articoli di concorrenza guru Brian Goetz per avere un'idea di come ingannevole prestazioni Java di misura può essere:

(Altri articoli su lo stesso sito web).

Le prestazioni di un programma Java dipendono in gran parte da se si sta utilizzando il server o la VM del client, quale versione di quale sistema operativo e quale versione di Java si sta utilizzando. La tua domanda riguarda essenzialmente il tempo di avvio. Il tempo di avvio sarà generalmente più lungo quando si utilizza una VM server, ma il programma Java verrà eseguito più velocemente sulla VM del server. Il tempo di avvio non è una buona misura per le prestazioni generali.

+0

+1 per evidenziare le insidie ​​/ limitazioni di tale test. Ma date un'occhiata ai miei "test" dove ho provato con -server e senza, senza differenze significative nei tempi di avvio, il che è abbastanza sorprendente. – fvu

+3

Tempo di avvio per qualcosa di complesso come Jboss non è la stessa del tempo di avvio di un jvm! C'è un sacco di codice java eseguito per ottenere jboss up e runnig, i thread sono creati, le factory vengono inizializzate, le connessioni vengono portate in su, le classi vengono caricate ecc. Ecc. È un test piuttosto equo. –

1
23:12:07,437 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag= 
JBoss_5_1_0_GA date=200905221634)] Started in 29s:1ms 

Java version: 1.6.0_16 
OS:   Windows XP SP3 
Board:  ASUS P35KR 
Processor: Intel C2Q Q8300 2.5Ghz 
RAM:   2*2 GB PC2-6400 
GPU:   NVIDIA GeForce 8600GTS 
disc:   Seagate 300GB (ST3320620AS) 

ho anche ripetuto il test un paio di volte con -server modalità disattivata, ma la differenza di tempo è probabilmente solo rumore (< 1s).

0
 
[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
     SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 59s:578ms 

java version: 1.6.0_01 
OS:   Windows XP (32 Bit) 
Board:  Toshiba Notebook Sattelite A210-19Z 
Processor: AMD Athlon 64 X2 TK-57, 1.9 GHz 
RAM:   2 * 1GB DDR2 630 MHz 
GPU:   ATI Radeon X1200 
disc:   Hitachi HTS542520K9SA00 
0
 
[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA 
       date=200905221634)] Started in 27s:47ms 

java version: 1.6.0_16 
OS:   Windows XP 
Board:  M2N32-SLI DELUXE 
Processor: AMD Phenom II X4 940, 3 GHz 
RAM:   2 * 2 GB DDR2 (800 MHz) 
GPU:   Matrox Millennium G550 PCIe 
disc:   WDC WD1500ADFD-00NLR1 
1
[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
      SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 25s:573ms 

java version: 1.6.0_16 64-Bit 
OS:   Windows Vista Ultimate 64-Bit SP1 
Board:  (Lenovo Thinkstation, don't know what motherboard) 
Processor: Intel(R) Core(TM)2 Quad CPU Q9450 @ 2.66GHz 
RAM:   8GB 2*2 GB DDR3 
GPU:   NVIDIA GeForce 285 
disc:   Intel SSD X25-E 32GB (used for the tests) 

java version "1.6.0_16" 
Java(TM) SE Runtime Environment (build 1.6.0_16-b01) 
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode) 

non potuto testare con -client, Java costretto la modalità -server forse a causa della 8GB di RAM. Trovo interessante il fatto che la velocità del disco non sembra avere molta influenza (un disco SSD dovrebbe essere abbastanza veloce esp. Nell'accesso casuale)

+1 per Jetty :)

1
 
[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 26s:412ms 
 
java version: 1.6.0_15 - 64-Bit Server VM (mixed mode) 
OS:   Mac OSX 10.6.1 
Board:  MacPro1,1 
Processor: 2x Dual-Core Intel Xeon 2.66 GHz (Total of 4 Cores) 
RAM:   4 GB 
GPU:   NVIDIA GeForce 7300 GT 
disc:   Seagates 500GB ST3500410AS 
0
[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
      SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 24s:945ms 

java version: 1.6.0_17 
OS:   Windows 7 Home Premium (32 Bit) 
Board:  ASUS M4A78T-E 
Processor: AMD Phenom II X3 720, 2.8 GHz 
RAM:   2*2 GB DDR3 (labeled 1333 MHz) 
GPU:   NVIDIA GeForce 9400 GT 
disc:   Intel Solid State Disk (SSDSA2SH032G1GC 2,5") 
1
Java Version: 1.6.0_17 
OS:   Mac OSX 10.6.1 
Board:  iMac 11,1 
Processor: Intel Core i7 2.8Ghz 
RAM:   4GB DDR3 
GPU:   ATI Radeon HD 4850 
disc:   Seagate 1TB (ST31000528ASQ) 

Prima esecuzione:

[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA 
date=200905221053)] Started in 20s:236ms 

E dopo 5:

[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA 
date=200905221053)] Started in 18s:934ms 
1

Su iMac da fine 2007 (oltre al SSD):

23:49:21,095 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA 
(build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 27s:136ms 

Java Version: 1.6.0_22,Apple Inc. (32-bit client VM) 
OS:   Mac OSX 10.6.5 
Board:  iMac 7,1 
Processor: Intel Core 2 Duo, 2.4 GHz 
RAM:   3 GB DDR2 
GPU:   ATI Radeon HD 2600 
disc:   SSD (OCZ Vertex 2 240GB) 

Il vecchio PC Linux, CPU 2003-2004:

00:11:56,405 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA 
(build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 2m:5s:150ms 

Java Version: 1.6.0_22 (32-bit, server VM) 
OS:   Ubuntu 10.04 "Lucid Lynx" (Linux 2.6.32) 
Board:  MSI MS-6590 
Processor: Athlon XP 2600+ (1.92 GHz single core) 
RAM:   1280 MB DDR 
GPU:   nVidia GeForce FX 5200 
disc:   2x (RAID1) 500GB SAMSUNG HD501LJ 
0
21:57:04,585 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA 
     (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in **27s:890ms** 

Java Version: 1.6.0_18 (64-bit) 
OS:   Ubuntu 10.10 (Linux 2.6.32.29) 
Processor: **Intel(R) Core(TM)2 Duo CPU  E6750 @ 2.66GHz** 
RAM:   4096 MB DDR2 
disc:   500GB SAMSUNG HD501LJ 
1
11:14:20,433 INFO [ServerInfo] Java version: 1.6.0_29,Apple Inc. 
11:14:20,433 INFO [ServerInfo] Java Runtime: Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527) 
11:14:20,433 INFO [ServerInfo] Java VM: Java HotSpot(TM) 64-Bit Server VM 
    20.4-b02-402,Apple Inc. 
11:14:20,433 INFO [ServerInfo] OS-System: Mac OS X 10.6.8,x86_64 

11:14:34,657 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
    SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 15s:605ms 

Model Name: MacBook Pro 
Model Identifier: MacBookPro8,3 
Processor Name: Intel Core i7 Processor 
Speed: 2.3 GHz 
Number Of Processors: 1 
Total Number Of Cores: 4 
L2 Cache (per core): 256 KB 
L3 Cache: 8 MB 
Memory: 8 GB 

SATA drive 
Capacity: 256.06 GB (256,060,514,304 bytes) 
Model: M4-CT256M4SSD2       
Revision: 0009 
1

14: 18: 59,559 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (compilazione: SVNTag = data JBoss_5_1_0_GA = 200.905.221.053)] Iniziato nel 19s: 166ms

java version: 1.6.0_31 x64 
OS:   Windows 7 x64 
Board:  lenovo 4524R78 
Processor: iNTEL CORE I5 2400 
RAM:   4*4 GB DDR3 (labeled 1333 MHz) 
GPU:   NVIDIA GeForce GTX 560TI 
disc:   Seagate 500G (ST95005620AS) 
1

19: 16: 13.844 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag = JBoss_5_1_0_GA date = 200.905.221.053)] introduttiva in 47s: 758ms

 
java version: 1.5.0_22 
OS:   Windows 7 64bit 
Board:  ??? 
Processor: Inter Core 2 Duo P8600 2.4 GHz 
RAM:   2*4 GB DDR2 
GPU:   ??? 
disc:   Kingston SSD