2009-10-21 12 views
5

W another SO question zapytałem, dlaczego moje programy java działają szybciej na AMD niż na komputerach Intela. Ale wydaje się, że jestem jedynym, który to zaobserwował.Wydajność java na innym sprzęcie?

Teraz chciałbym zaprosić was do podzielenia się liczbami waszego lokalnego występu w java ze społecznością SO. Podczas oglądania uruchamiania JBoss na innym sprzęcie zauważyłem dużą różnicę wydajności, więc ustawiłem ten program jako bazę dla tego porównania.

Za udział należy pobrać i uruchomić JBoss 5.1.0.GA:

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

ten rozpoczyna standardową konfigurację JBoss bez żadnych dodatkowych aplikacji. Następnie poszukaj ostatniej linii procedury startowej, która wygląda następująco:

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

należy powtórzyć tę procedurę do czasu drukowany jest dość stabilny i post granicę razem z kilkoma uwagami na temat sprzętu (użyłem cpu-z dostać informacje) i system operacyjny podobny do tego:

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) 

Użyj swoich głosów, aby doprowadzić najszybszą konfigurację na górę.

Jestem bardzo ciekawy wyników.

EDIT:

Do tej pory tylko kilka członkowie mają wspólne ich wyniki. Naprawdę byłbym zainteresowany wynikami uzyskanymi w innych architekturach. Jeśli ktoś pracuje z komputerem MAC (komputer stacjonarny) lub pracuje pod Intel i7 z mniej niż 3 GHz, , proszę po uruchomieniu JBoss i udostępnieniu swoich wyników. Zajmie to tylko kilka minut.

+3

-1. Ten test mierzy tylko czas uruchamiania konfiguracji "out-of-the-box" określonej wersji JBoss, w różnych wersjach java.Będziesz mieć trudności ze znalezieniem czegoś pożytecznego z tych informacji, może z wyjątkiem tego, że gdybyś miał inny komputer, JBoss miałby szybszy czas rozpoczęcia (mogę ci to powiedzieć bez uruchamiania czegokolwiek). To nie jest związane z programowaniem; Twierdzę, że prawdopodobnie powinien przejść na SF lub SU. –

+0

Dla moich przypadków użycia znalazłem silną korelację między czasem uruchamiania JBoss a całkowitym czasem moich ciągłych testów integracyjnych. Rzeczywiście planuję przejść na inną platformę sprzętową, aby przyspieszyć czas testu. Mam nadzieję, że pomiar czasu startowego JBoss jest tak prosty, że mogę przekonać niektórych członków SO, by dali mi swoje "wyniki" liczbowe. Nie znam żadnego bardziej wyrafinowanego testu, który również jest łatwy do wykonania. – tangens

+1

Sprawdzasz, ile czasu zajmuje środowisko Java, aby załadować niektóre klasy w pamięci i rozwinąć różne komponenty na dysku, więc w zasadzie sprawdzasz, jak szybki jest twój dysk i niewiele więcej. – massimogentilini

Odpowiedz

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 

Z nudnego Old Sun-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 

Cieszę mogę zrobić mój dzień na dzień pracy na pomoście, który rozpoczyna się o 4 sekundy.

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) 

minutę ... Cieszę się, że nie muszę się rozwijać przy użyciu tego kawałka [sygnału dźwiękowego].

9

Porównanie wydajności programów Java jest bardzo trudne. Napisałem intensywny program obliczeniowy (ray tracer) w Javie i ku mojemu zdziwieniu przebiegał on o 30% szybciej na MacBooku Pro niż na moim komputerze stacjonarnym, podczas gdy oba mają bardzo podobne procesory Core 2 Duo. Potem zmieniłem parametry i nagle stało się odwrotnie. A czasami na tej samej maszynie program z tym samym wejściem nagle potrzebuje 5% -10% więcej czasu na uruchomienie ...

Wystarczy popatrzeć na tych doskonałych artykułów współbieżności guru Brian Goetz, aby zorientować się, jak trudne wydajność Java pomiarowy może być:

(więcej artykułów na ta sama strona internetowa).

Wydajność programu Java zależy w dużej mierze od tego, czy korzystasz z serwera lub maszyny wirtualnej klienta, z której wersji systemu operacyjnego i wersji Java korzystasz. Twoje pytanie dotyczy przede wszystkim czasu uruchomienia. Czas uruchamiania będzie na ogół dłuższy podczas używania maszyny wirtualnej serwera, ale program Java będzie działał szybciej na maszynie wirtualnej serwera. Czas rozruchu nie jest dobrym miernikiem ogólnej wydajności.

+0

+1 za wskazanie pułapek/ograniczeń takiego testu. Ale spójrz na moje "testy", w których testowałem z serwerem i bez, bez znaczących różnic w czasach uruchamiania, co jest dość zaskakujące. – fvu

+3

Czas uruchomienia czegoś tak złożonego jak Jboss nie jest tym samym, co czas uruchamiania dla jvm! Istnieje wiele kodu java wykonanego, aby uzyskać jboss up i runnig, wątki są tworzone, fabryki są inicjalizowane, połączenia są wychowywane, klasy są ładowane itp. Itp. Jest to całkiem sprawiedliwy test. –

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) 

ja również powtórzył przetestować kilka razy z -server trybie wyłączonym, ale różnica w czasie jest prawdopodobnie tylko szum (< 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) 

Nie można przetestować z -client, Java zmuszony tryb -server być może ze względu na 8 GB pamięci RAM. Uważam to ciekawe, że szybkość dysku wydaje się nie mieć większego wpływu (dysk SSD powinny być dość szybko zwł. W swobodnym dostępie)

+1 dla 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) 

Pierwszy bieg:

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

i po 5:

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

Na iMac z końca 2007 roku (oprócz 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) 

Na starym Linux PC, CPU od 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 (kompilacja: SVNTag =Data JBoss_5_1_0_GA = 200905221053)] Uruchomienie w 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: 13844 INFORMACJE [ServerImpl] JBossa (Microcontainer) [5.1.0.GA (budowy: SVNTag = JBoss_5_1_0_GA Data = 200905221053)] Rozpoczęcie w 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