Bonjour,
Je travaille actuellement sur l'optimisation de code java.
Mes connaissances sur des langages "classiques" C/C++, FORTRAN, m'ont permis d'arriver à des résultats très satisfaisants.
J'observe maintenant un comportement supprenant du code sur lequel je travaille (celui-ci s'exécute en environ 100 ms).
-- 1
Sur une même machine, j'observe un temps d'exécution nettement différent selon que le code est exécuté depuis Eclipse ou directement en ligne de commande de type "java maClass"
Je ne comprend pas comment l'exécution peut etre plus rapide lorsque le code est exécuté depuis Eclipse !!!!! A la rigueur, le contraire m'étonnerait moins !
--2
L'algorithme sur lequel je travaille est appelé une fois. Il s'exécute en environ 100 ms.
si je boucle sur l'appel de cet algorithme, sont temps d'exécution décroit rapidement pour arriver à 50 ms dès la 2 ou 3 ieme execution.
Toutes les opérations effectuées par le code (instanciations,...) le sont à chaque itérations, les résultats sont strictement identiques.
Bref j'ai du mal à comprendre ce qui se passe :
* le GC n'intervient pas durant la boucle
* aucune classe n'est chargée
* ...
Donc si quelqu'un a une idée sur ce qui peut engendrer se phénomène, j'aimerai bien la connaitre.
Merci beaucoup
--
Partager