2009-10-07 12 views
1

Existe-t-il un moyen de contrôler le niveau d'optimisation du compilateur Java utilisé par Eclipse lors de la création d'un projet? Ou est-ce que cette question n'est plus pertinente, est-ce que toute optimisation est différée à la vm?Contrôle des options du compilateur dans Eclipse

La raison pour laquelle je demande est que je l'ai écrit récemment un test rapide faisant:

private static int test_f(int i) { return i * 42; } 

... 

int z = 41; 
for(int i = 0; i < 10000; ++i) { z = z*42; }   // this loop runs in X seconds 
for(int i = 0; i < 10000; ++i) { z = test_f(z); } // this loop runs in 10*X seconds 

Les résultats de cette imples teste test_f() n'est pas inline, même si elle vraiment est un premier candidat pour cela. Il devrait également être possible de faire cela en ligne au moment de la compilation.

L'environnement/cible vm est Android/Dalvik. Je l'ai étudié plus en détail, et il s'avère que Dalvik ne fait pas d'inlining à ce jour.

Répondre

2

Oui, l'optimisation est essentiellement effectuée par le JIT ces jours-ci pour le bureau Java, de sorte que les compilateurs ne font pas des choses comme l'inline. -O n'est même pas répertorié comme une option par javac ces jours-ci (bien qu'il ne casse pas la compilation, je suppose que cela ne fait aucune différence). N'oubliez pas que Dalvik n'a pas un JIT.

Questions connexes