Java sur iMac Intel

Hazap

Membre confirmé
25 Janvier 2006
22
1
Bonjour,
est-ce que certains d'entre vous ont déjà quelques retours d'experience de développent en Java sur les iMac Intel? (performances, stabilité, etc...)
 
Déjà un lien qui pourrait t'intéresser.
Si l'on en croit Apple, la JVM tourne sans Rosetta, donc en natif x86, ce qui est plutôt une bonne nouvelle !
D'ici ce week-end, je devrais pouvoir avoir accès à un Mac-Intel, j'essaierai de faire quelques tests sur le support Java dès que je le pourrais. :)
 
merci molgow :) , j'avais déjà vu les explications sur la JVM et aussi le pblm des bibilothèques natives. Pour l'instant je cherche surtout des infos au niveau des perfs. En ce moment j'écume les boutiques de Paris à la recherche d'un model d'expo pour tester, mais y'a rien :( ... LOL
 
Un lien supplémentaire que j'ai découvert récemment.

A lire en particulier l'article de James Gosling (le papa de Java).

Pour les flémards, Java est porté en natif sur macIntel (universal binaries) et les perfs ont l'air d'être au rendez-vous.... mais toujours rien de bien tangible.


P.S. les retours d'expériences sont les bien venus
 
Ce qui serait cool, c'est qu'on fasse/trouve quelques petits programme de tests, et que l'on teste l'exécution sur iMac Intel et iMac normal. Si vous me donnez des programmes de tests, je les exécute ce soir pour voir ! (j'ai reçu l'iMac!)
 
Un programme de test ? Mais voici: CCAM+ (OK,je me répète dans ma signature, et je fais du lobbisme :rateau:).

Cependant, il serait interessant de chronométrer le lancement de l'appli.

Pour information technique, cette dernière est entièrement réalisée en Swing. Le démarrage lance un thread supplémentaire pour l'indexation lucene d'une bibliothèque de code (barre en bas). Il y a 8000 libellés qui sont scannées.

Sur mon powerbook les temps sont de:
  • 7 secondes de lancement (avant d'avoir la fenêtre principale)
  • 30 secondes d'indexation

L'appli est compilée et exécutée en Java 4.
 
En fait, j'y pense. Le logiciel Java que je développe en ce moment est aussi très gourmand en resource, je pourrais essayer de comparer ses perfs entre un iMac Intel, un P4 3Ghz 1Go RAM et un 4x3Ghz 64bits 4Go RAM :D
 
GrandGibus a dit:
Sur mon powerbook les temps sont de:
  • 7 secondes de lancement (avant d'avoir la fenêtre principale)
  • 30 secondes d'indexation
Indexation :
4x3Ghz Intel-64 bits (4 Go RAM) : 5 secondes ( :D )
3 Ghz Intel (1 Go RAM) : 8 secondes
iMac Intel 17" (512 Mo RAM) : 8 secondes
 
Wahou... je vais arrêter de dire que mon portable il dépote :rose: !

Cependant, la JVM Sun sous Windows est beaucoup plus performante que sous Mac...

Tiens, si t'es sous Windows et que tu fais des benchs, essaies la JVM BEA JRockit... tu risques d'avoir bien des surprises !
 
merci de vos réponses :)
GrandGibus je vais tester ton appli sur mon PC et sur mon Mac mini, ce n'est pas comparable au niveau perf, mais ça donnera des exemples.

Molgow, j'avais fait une petite appli de m#$*e en java-swing-java2D qui fait des millions de boucles de calculs, et des creations de rectangles pour tester le graphisme. C'est pas génial et je ne pense pas que ce soit très rigoureux mais je vais la rechercher et la poster (si c possible).
Sinon tu peux toujours tester Java2Demo livrée dans le JDK (je me rappelle jamais ou ça se trouve dans l'arborescence de MacOSX) pour avoir une idée des perfs de java2D, et SwingSet2 pour swing. et les autre démos aussi

J'avais aussi trouvé ça dans la mailing-list et sur ce lien (en allemand et anglais) http://www.apfeltalk.de/forum/java-vm-performance-t28932.html ou ils font un test avec http://triring.net/projectx/awt/Xengine4a.jar : c'est une petite appli qui test awt en comptant les fps d'une animation
 
Sinon, moi aussi j'ai une petite appli Java sur mon site. C'est un jeu de réflexion, il y a un peu d'IA avec des arbres de recherche.
Il faudrait tester la différence d'éxécution sur les différentes plateforme.
D'autre part, il y a une utilisation de Java 3D, ça pourrait être aussi un test pour cette techno bien pratique.
 
molgow a dit:
Indexation :
4x3Ghz Intel-64 bits (4 Go RAM) : 5 secondes ( :D )
3 Ghz Intel (1 Go RAM) : 8 secondes
iMac Intel 17" (512 Mo RAM) : ??? secondes (le résultat sera disponible ce soir!)
2.8Ghz Intel 1Mo:
lancement: 3s
indexation: 10s
 
pour ceux que ça interesse:
à titre de comparaison, voila les résultat du lancement de http://triring.net/projectx/awt/Xengine4a.jar sur différentes machines, sans utiliser les option d'optimisation de la JVM:

PC: 2.8Ghz 1Go NVidia Quadro4 Java 1.5
ave=115
max=118
min=113
nb iterations=30
:)


PowerMac 2x2Ghz 4Go carte? java 1.4.2
ave=65
max=67
min=63
nb iterations=30
:(

MacMini 1.42Ghz 512Mo java 1.5
ave=28
max=30
min=27
nb iterations=30
:sleep: :D
 
molgow a dit:
Indexation :
4x3Ghz Intel-64 bits (4 Go RAM) : 5 secondes ( :D )
3 Ghz Intel (1 Go RAM) : 8 secondes
iMac Intel 17" (512 Mo RAM) : 8 secondes

Voilà, j'ai toute la soirée pour faire mumuse avec l'iMac Intel 1.83 Ghz !! :)
GrandGibus, ton programme est aussi rapide sur l'iMac que sur mon P4 3Ghz !

C'est déjà plutôt encourageant! :)
 
Hazap a dit:
PC: 2.8Ghz 1Go NVidia Quadro4 Java 1.5
ave=115
max=118
min=113
nb iterations=30
:)


PowerMac 2x2Ghz 4Go carte? java 1.4.2
ave=65
max=67
min=63
nb iterations=30
:(

MacMini 1.42Ghz 512Mo java 1.5
ave=28
max=30
min=27
nb iterations=30
:sleep: :D

iMac Intel Core Duo 1.83 Ghz, 512 Mo RAM,
Ave:151.863 rpm
Max:156.86 rpm
Min:147.60 rpm
TotalRevolutions: 30 times
 
Pour info, par défaut on a :
Bloc de code:
 $ java -version
java version "1.4.2_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-239)
Java HotSpot(TM) Client VM (build 1.4.2-66, mixed mode)
 
Mauvaise nouvelle, je n'arrive pas à faire fonctionner Eclipse !

En fait, c'est logique puisque d'après Apple les applis Java utilisant JNI ne peuvent fonctionner sur Mac. Du coup, il faudra attendre un peu...

Bloc de code:
$ more .log 
!SESSION 2006-01-26 21:37:38.357 -----------------------------------------------
eclipse.buildId=M20060118-1600
java.version=1.4.2_09
java.vendor=Apple Computer, Inc.
BootLoader constants: OS=macosx, ARCH=ppc, WS=carbon, NL=fr_FR
Framework arguments:  -keyring /Users/xxx/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws carbon -arch ppc -keyring /Users/grangier/.eclipse_keyring -consoleLog -sh
owlocation

!ENTRY org.eclipse.osgi 2006-01-26 21:37:39.588
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: /Users/xxx/Desktop/eclipse/configuration/org.eclipse.osgi/bundles/63/1/.cp/li
bswt-pi-carbon-3139.jnilib: 
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1495)
        at java.lang.Runtime.loadLibrary0(Runtime.java:788)
        at java.lang.System.loadLibrary(System.java:834)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)
        at org.eclipse.swt.internal.carbon.OS.<clinit>(OS.java:20)
        at org.eclipse.swt.widgets.Display.createDisplay(Display.java:856)
        at org.eclipse.swt.widgets.Display.create(Display.java:836)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:118)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:676)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:667)
        at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:394)
        at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:155)
        at org.eclipse.ui.internal.ide.IDEApplication.createDisplay(IDEApplication.java:128)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:79)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
        at org.eclipse.core.launcher.Main.run(Main.java:973)
        at org.eclipse.core.launcher.Main.main(Main.java:948)
 
Java 1.5 est installé par défaut. Mais malheureusement, Apple ne donne toujours aucun moyen simple de passer la JVM de 1.4 à 1.5 pour les applications normales (seulement pour les Web Start et les Applets, mais pourquoi donc ils ne rajoutent pas un menu pour TOUT Java !?).

Bloc de code:
% java-1.5 -version
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-84)
Java HotSpot(TM) Client VM (build 1.5.0_05-51, mixed mode, sharing)


Pour Eclipse, c'est effectivement, quelque chose à recompiler... mais il faut qu'ils le fassent ! Donc pour l'instant, si l'utilisation d'Eclipse est indispensable pour vous, attendez un peu avant de sauter sur les iMac Intel Core Duo.