Уменьшает ли добавление локальных переменных к методам их скорость?

На этот вопрос в общей сложности было дано несколько абзацев ответа. Вот единственное предложение, которое на самом деле говорит мне, что я искал:

Ваши примеры не будут иметь большого значения, поскольку промежуточные вычисления необходимо временно хранить в стеке, чтобы их можно было использовать в дальнейшем.

Фактически, он полностью и полностью отвечает на мой вопрос =)

В отличие от всего этого мусора говоря мне "нет, не задавай этот вопрос". > _ <


Например, если у вас есть метод, и вы меняете его, увеличивая количество локальных переменных, но не делая других изменений, делает ли это метод медленнее? Вот пример:

void makeWindow() {
    Display
        .getContext()
        .windowBuilder()
        .setSize(800, 600)
        .setBalloonAnimal(BalloonAnimal.ELDER_GOD.withColor(PUCE))
        .build();
}

или

void makeWindow() {
    DisplayContext dc = Display.getContext();
    WindowBuilder wb = db.windowBuilder();
    BalloonAnimal god = BalloonAnimal.ELDER_GOD;
    BalloonAnimal puceGod = god.withColor(PUCE);
    wb.setSize(800, 600).setBalloonAnimal(puceGod).build();
}

Другой пример:

int beAnExample(int quiche) {
    return areGlobalsEvil?
        quiche * TAU/5:
        highway(quiche, Globals.frenchFrenchRevolution);
}

или

int beAnExample(int quiche) {
    if (areGlobalsEvil) {
        int to5 = TAU/5;
        int result = quiche * to5;
        return result;
    } else {
        Game french = Globals.frenchFrenchRevolution;
        int result = highway(quiche, french);
        return result;
    }
}

На самом деле, я спрашиваю: актуален ли номер такой локальной переменной к моменту компиляции метода в байт-код? Если да, то что насчет того, когда Hotspot начнет работать над этим?

Этот вопрос относится к генератору кода, над которым я работаю.

5
задан amara 23 April 2011 в 07:12
поделиться