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.