Ответы пользователя по тегу Трансляторы
  • Как вычислительная система выбирает какой набор инструкций использовать для исполнения кода?

    vaut
    @vaut
    Обязательно ли в самом коде программы задавать, что необходимо произвести работу с помощью определенных инструкций?

    Нет, в коде это указывать не обязательно, компилятор производит оптимизации сам.

    Может ли, например, для быстрой обработки массива данных с плавающей запятой компилятор сам задать использование векторной обработки?

    Все так и происходит.

    Далее немного о том как устроен наш суровый мир.
    1) При исполнении код не изменяется, какие инструкции компилятор указал делать те и исполняются.
    2) При компиляции указывается совместимость с какими архитектурами требуется, исходя из этого используется разный набор инструкций.
    3) Ну и как следствие для совместимости бинарники распространяются собранные с целевой древней архитектурой и новые инструкции не используются. Ну почти так. Иногда в местах с высоким требованием к скорости работы разработчики заморачиваются и делают так что исполняется код для вашей архитектуры со всеми оптимизациями.
    Ответ написан
    1 комментарий