Bonjour à tous,
Je viens de chercher sur le net le fonctionnement des JIT Java et il me reste cependant, en suspens, les questions suivantes et je voulais svp avoir votre avis la-dessus:
1- Existe-t-il un JIT préfourni avec JDK? (je suis à 5.0 sous windows)
2- En attendant une réponse claire à la question 1, j'ai trouvé moi-même un soi-disant JIT, celui de symantec dont le nom est "symcjit.dll". J'ai essayé de l'utiliser et d'après mes recherches, pour utiliser un JIT, il faut le mettre dans le répertoire jre\bin et faire "java -Djava.compiler=symcjit MyApp".
Le hic, c'est que je ne sais pas s'il a bien trouvé mon symcjit.dll et qu'il l'a bien utilisé. Car si je remplace le "symcjit" de la ligne de commande par "toto", le résultat est le même: aucun message d'avertissement.
J'ai pourtant lu qqpart sur le net que quand les JIT ne sont pas trouvés par java, des messages du style:
"#Warning: JIT compiler "[myJIT]" not found. Will use interpreter".
apparaissent. J'attendais de le voir pour toto mais rien n'y fut.
Comment puis-je donc m'assurer qu'il utilise réellement mon symcjit?
Merci pour votre aide.
Faly
Tu demandes la version de la JVM, ça doit te dire quel JIT est utilisé:
Là tu vois que le JIT c'est Hot Spot.
Le JIT de Symantec, ça ne date pas un peu ça ? Pas sûr qu'il soit meilleur. Mais bon faut essayer pour le savoir :)
D'accord, merci. Donc, si j'ai bien compris, le JIT "par défaut" de java, c'est HotSpot et que ce HotSpot est automatiquement activé sauf si on met qqch du style "-Djava.compiler=NONE". C'est bien cela?
Ceci répond donc à ma question 1)
Oui, mais justement, si je souhaite l'utiliser (lui ou un autre JIT d'ailleurs), comment l'activer alors, et s'assurer que c'est bien lui qui fonctionne?...
Merci
Faly
et bien comme je viens de te le dire
java -Djava.compiler=symcjit MyApp -version
et tu regardes ce que ça dit.
pardon je voulais dire:
java -Djava.compiler=symcjit -version
Sans le MyApp donc
Ok, j'ai essayé; et que ce soit toto ou symcjit, ça me donne toujours globalement
Il ne trouve donc pas mon jit mais c'est pas grave. J'aurai au moins compris le mécanisme.
merci en tout cas
Faly
Soit il ne le trouve pas parce que tu ne l'a pas déposé où il faut, soit il le trouve et ça ne lui convient pas. Et dans les deux cas il revient (je suppose) au JIT par défaut, c'est à dire Hot Spot. Le JIT Symantec c'et déjà de l'histoire (très) ancienne. Je ne suis pas sûr que ça soit interessant de l'utiliser en admenttant que ça soit encore possible.
Tu as quelque chose contre Hot Spot ?