Управление параметрами компилятора в Eclipse - PullRequest
1 голос
/ 07 октября 2009

Есть ли способ управления уровнем оптимизации компилятора java, который Eclipse использует при создании проекта? Или этот вопрос больше не актуален, вся оптимизация отложена до vm?

Причина, по которой я спрашиваю, состоит в том, что я недавно написал быстрый тест, выполняющий это:

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

Результаты этого теста подразумевают, что test_f () не является встроенным, даже если это действительно является главным кандидатом на это. Также должно быть возможно сделать это встраивание во время компиляции.

Среда / цель vm - это Android / Dalvik.

UPDATE: Я исследовал это дальше, и оказалось, что Дальвик не делает встраивание в эту дату.

1 Ответ

2 голосов
/ 07 октября 2009

Да, в настоящее время JIT в основном оптимизируется для настольной Java, поэтому компиляторы не делают таких вещей, как встраивание. -O даже не указан в качестве опции javac в эти дни (хотя это не нарушает компиляцию; я подозреваю, что это не имеет значения).

Не забывайте, что Dalvik не имеет JIT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...