стань автором. присоединяйся к сообществу!
Лого Сделано у нас
42
shigorin 10 декабря 2015, 20:28 20

СуН на «Эльбрусе» :)

@sdelanounas_ru

читать полностью

Источник: sdelanounas.ru

Поделись позитивом в своих соцсетях

  • 2
    Нет аватара guest
    17.12.1516:00:57

    Там, как я понял, используются «толстые» бинарники и многопроходный оптимизирующий транслятор, который работает прозрачно для ОС. При первом запуске — выполняется голая JIT-компиляция практически без оптимизаций (код при этом складывается в дополнительную ветку бинарника), и одновременно производится автоматическое профилирование исполнения, на базе данных которого при следующей загрузке уже сгенерированный код прогоняется через оптимизации, и так до трёх раз, со всё более глубоким набором оптимизаций, пока в итоге не получится код, практически аналогичный по производительности изначально скомпилированному под Эльбрус. Да, несколько первых запусков программы будут сильно проигрывать в производительности, но зато падает общее время реакции, не надо ждать пока оно всё будет полчаса перекомпилироваться при первом запуске.

    • 2
      Нет аватара guest
      17.12.1517:36:10

      Понятно, в принципе вес верно. Но, все-таки еще такой вариант — при установке программы (которая вообще происходит только 1 раз) — почему тогда не сделать эту оптимизацию? В конце-концов можно даже спросить у пользователя- хочет он подождать 15-20 минут перекомпиляции программы. с тем чтобы потом при запуске она открывалась быстрее и работала быстро? Тогда же вообще не будет задержек — уже будет готовый оптимизированный код для запуска, просто дополнительное место на жестком диске потребуется.

      • 1
        Нет аватара guest
        11.01.1605:01:28

        Потому что это изначально фича для программ, вообще не подозревающих об Эльбрусе. Если уж делать особый инсталлятор, то тогда есть смысл вообще программу просто изначально под Эльбрус откомпилировать штатным компилятором, и не сношать никому моск.

      • 0
        RadiantConfessor RadiantConfessor
        04.02.1603:47:07

        Чтобы набрать правильную статистику условных переходов необходимо непосредственно исполнить код, а не просто ретранслировать.

    • 0
      shigorin shigorin
      19.09.1721:38:20

      Не, там не толстые, а многослойное оптимизирование/кэширование результатов JIT имеющихся обычных x86-бинарников. Теперь уже знаю больше    

Написать комментарий
Отмена
Для комментирования вам необходимо зарегистрироваться и войти на сайт,