пятница, 14 декабря 2012 г.

Atrium собирается последней версией LDC

Совсем недавно вышла бета-версия готовящегося к релизу LDC 0.10.0 - компилятора D, использующего LLVM для генерации машинного кода.

Решив проверить LDC на практике, я только что собрал им Atrium. Результат очень обрадовал, при компиляции в релизном режиме и с уровнем оптимизаций -O3, LDC выдал весьма шустрый код: ~100 FPS против ~80 у DMD 2.060! При этом я всего один раз столкнулся с необходимостью поправить исходники - при использовании ассоциативного массива указателей.

Как вывод: LDC вполне созрел для использовании в качестве основного компилятора D под Linux - во всяком случае, для работы с OpenGL и графикой реального времени. К сожалению, я не в курсе, как у него обстоят дела c поддержкой Windows - надеюсь, со временем этот вопрос устаканится. 

1 комментарий:

  1. Кому интересно, LDC падает на следующей конструкции:

    MD5Animation*[uint] animations =
    [
    ST_IDLE: &anim_idle,
    ST_WALK: &anim_walk,
    ST_JUMP: &anim_jump,
    ST_FALL: &anim_fall
    ];

    Ее пришлось заменить на

    MD5Animation*[uint] animations;
    animations[ST_IDLE] = &anim_idle;
    animations[ST_WALK] = &anim_walk;
    animations[ST_JUMP] = &anim_jump;
    animations[ST_FALL] = &anim_fall;

    MD5Animation - это структура, ST_IDLE и пр. - enum-константы.

    ОтветитьУдалить