JIT compiler pour java

JIT compiler pour java - Java - Programmation

Marsh Posté le 03-08-2003 à 20:13:33    

Bonjour,
 
Savez vous ou je pourrais me procurer un JIT compiler pour java (même payant) ?
Je ne vois pas quel editeur en propose (pas Sun en tout cas) ...
 
Merci.


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 03-08-2003 à 20:13:33   

Reply

Marsh Posté le 04-08-2003 à 04:46:03    

maria2 a écrit :

Bonjour,
Savez vous ou je pourrais me procurer un JIT compiler pour java (même payant) ?


http://www.ibm.com
entre autres.

Reply

Marsh Posté le 04-08-2003 à 11:48:26    

Merci je vais voir avec WebSphere Studio


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 04-08-2003 à 12:25:31    

maria2 a écrit :

Merci je vais voir avec WebSphere Studio

euh je ne suis pas sur que websphere studio ait quoi que ce soit à avec ça, je suppose que nraynaud voulait plutot t'envoyer vers la jvm et le compilo d'ibm :??:


---------------
...
Reply

Marsh Posté le 04-08-2003 à 12:38:57    

Ah OK, et je ne vois pas sur le site d'ibm ou je peux trouver un compilo IBM pour java ...


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 04-08-2003 à 14:10:31    

maria2 a écrit :

Bonjour,
 
Savez vous ou je pourrais me procurer un JIT compiler pour java (même payant) ?
Je ne vois pas quel editeur en propose (pas Sun en tout cas) ...
 
Merci.


A ma connaissance, un compilateur JIT est un composant d'une machine virtuelle, qui compile le bytecode au lieu de laisser la machine virtuelle l'interpréter.
 
Si c'est bien de cela que tu veux parler, Sun en propose un : il s'agit de la machine virtuelle HotSpot. Tu en as plusieurs versions (la version standard, HotSpot Client, et une version plus "agressive", HotSpot Server).
 
Si les perfs d'HotSpot ne te suffisent pas, il y a effectivement la machine virtuelle Java d'IBM, qui est réputée encore plus rapide.

Reply

Marsh Posté le 04-08-2003 à 17:32:31    

Wu gui a écrit :

euh je ne suis pas sur que websphere studio ait quoi que ce soit à avec ça, je suppose que nraynaud voulait plutot t'envoyer vers la jvm et le compilo d'ibm :??:

Même pas le compilo, en java ils sont quasiment tous les même. Juste la JVM.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 04-08-2003 à 18:43:38    

Merci pour ces renseignements, je vais essayer de voir avec HotSpot.
Cependant, j'ai regadé un peu chez IBM, ils semblent proposer une compilation JIT avec Websphere Application Server ...


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 04-08-2003 à 19:30:16    

Bon, j'ai regardé hotspot, mais je ne sais pas comment l'activer avec la JVM ...
Quels parametres dois - je mettre pour activer hotspot ?
Je ne vois rien sur la doc de Sun.
Si quelqu'un pouvait m'aider ....
Ils disent dans la doc, que HotSpot est installé en même temps que le SDK 1.4.1 ou 1.4.2 de Sun, mais comment vérifier que HotSpot est bien installé chez moi ?


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 04-08-2003 à 19:30:16   

Reply

Marsh Posté le 04-08-2003 à 19:51:41    

tu ne serais pas en train de confondre compilation just-in-time (une JVM qui traduit à la volée le bytecode) et compilation native (qui te sort le code équivalent à toute ta classe dans un fichier) par hasard ? Tes posts me laissent une impression de vague.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 04-08-2003 à 23:26:35    

Ah oui, bonne remarque,
 
En fait je partais plutot sur l'option JIT (traduction de bytecode), mais comme il s'agit d'optimiser grandement mes applis java, je serais interesse par disons une methode relativement simple qui puisse accelerer mon code.
Donc soit compil native (je ne savais pas que ça existait), soit JIT.


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 04-08-2003 à 23:29:11    

maria2 a écrit :

Ah oui, bonne remarque,
 
En fait je partais plutot sur l'option JIT (traduction de bytecode), mais comme il s'agit d'optimiser grandement mes applis java, je serais interesse par disons une methode relativement simple qui puisse accelerer mon code.
Donc soit compil native (je ne savais pas que ça existait), soit JIT.

La compil native c'est rare (je connais que GCJ qui le fasse) et peu efficace. Reste en JIT, mais le meilleur pour accélérer une application a toujours été de tailler dans la complexité, pas de s'acharner sur les compilos et autres JVM.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 04-08-2003 à 23:45:59    

Oui bien sur, j'ai deja essayé d'ameliorer grandement mon appli (il s'agit d'un visualisateur de courbes acoustiques en 3D) , j'utilise pas mal les JNI sur certaines methodes et comme je charge des fichiers parfois tres gros (jusqu'à 50 Mo) j'aurais besoin d'ameliorer encore les perfs sur les I/O et j'ai lu que certains compilos JIT peuvent faire ça.
Par exemple, HotSpot le fait, mais je n'arrive pas à trouver de doc pour apprendre à m'en servir .....


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 05-08-2003 à 01:10:48    

Bon, en fait le JIT compiler est integre d'office dans la JVM de sun (c'est bien HotSpot).
Par defaut c'est la version -client qui est executee.
Mais on peut aussi utiliser la version -serveur, qui execute une premiere fois les methodes assez lentement, mais des les fois suivantes, le code est execute jusqu'à 30% plus vite.
Donc c'est tout benef pur moi.
Je vous remercie de votre aide.


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Marsh Posté le 05-08-2003 à 02:53:19    

tu devrais regarder le livre de oreilly : java performance tuning
 
http://www.oreilly.com/catalog/javapt/
 
il y a pas mal de bonne astuce
 
de plus essaye d'avoir le dernier jdk... ça aide toujours


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 05-08-2003 à 04:28:32    

la JVM de Sun fait JIT-compiler depuis au moins la version 1.2 (j'ai jamais utilisé celles d'avant donc je sais pas...).
 
Les dernières versions du JRE et du JDK de Sun intègre leur JVM Hotspot, c'est juste le nom, ce n'est pas une option à modifier.
(pour vérifier, taper "java -version" dans une fenêtre DOS)
La version server est plus optimisé mais demande plus de temps l'optimisation, elle est donc adaptée à du code qui s'exécute bcp de fois de suite.
 
A noter que ces machines Hotspot sont bcp plus évoluées qu'un simple JIT qui s'amuse à tout compiler en code natif et après tout exécuter. La machine ne prend le temps d'optimiser que les zones où le CPU passe bcp de temps (les fameux "points-chauds", d'où le nom...). Il y a de la doc sur le site de Sun, c'est assez intéressant de voir comment ça marche.

Reply

Marsh Posté le 05-08-2003 à 10:10:44    

maria2 a écrit :

Bon, j'ai regardé hotspot, mais je ne sais pas comment l'activer avec la JVM ...
Quels parametres dois - je mettre pour activer hotspot ?
Je ne vois rien sur la doc de Sun.
Si quelqu'un pouvait m'aider ....
Ils disent dans la doc, que HotSpot est installé en même temps que le SDK 1.4.1 ou 1.4.2 de Sun, mais comment vérifier que HotSpot est bien installé chez moi ?


Tu n'as pas vraiment à vérifier. Par défaut "java MyClass" lance HotSpot Client. Pour lancer HotSpot Server, il faut lancer "java -server MyClass". Quant à l'interpréteur de bytecode classique, il fut un temps où on pouvait le lancer par un "java -classic MyClass", mais je crois que depuis le JDK 1.4, l'interpréteur de bytecode standard n'est plus fourni par Sun.

Reply

Marsh Posté le 20-08-2003 à 01:47:26    

Merci beaucoup des conseils je vais voir un peu ce java performance tuning de chez O'Reilly


---------------
Le Sudoku ou la programmation 3D vous tentent ? Venez faire un petit tour par là : http://www.sudoku3d.fr ou bien : http://deven3d.free.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed