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

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

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

This article has 1 comments

  1. Тимур Гафаров Reply

    Кому интересно, 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-константы.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *