Оптимизация Intel Assembler - PullRequest
3 голосов
/ 01 мая 2010

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

Я опробовал Intel VTune, чтобы увидеть узкие места: http://www.imada.sdu.dk/~sorenh07/misc/vtune-assembly-optimization.png

Я нахожу очень впечатляющим, что "subl" -инструкция отвечает за более 38% тактов в программе, работающей в течение 30-90 секунд! Кто-нибудь может дать объяснение, почему?

Функция "отчет об оптимизации" в VTune, по-видимому, не существует для программ, не скомпилированных с icc. Существует ли программа, которая предлагает оптимизацию для ассемблерного кода? (то есть не код, исходящий от языка высокого уровня).

1 Ответ

2 голосов
/ 01 мая 2010

Я предполагаю, что это инструкция idivl, которая на самом деле занимает 38% ... деление дольше имеет смысл, чем вычитание, нет?

...