Из-за проблем с производительностью я хотел бы попытаться преобразовать функцию Freepascal (SHA1Update, из модуля SHA1) в сборку. Я использую Freepascal 2.6.4 и Lazxarus 1.2.4.
Причина в том, что у меня есть структура цикла (повторять ... до тех пор, пока), которая считывает блоки необработанных данных размером 64 КБ с диска в буфер, а затем хеширует их. Без хеширования я могу читать диск со скоростью 4 Гб / мин. При хешировании скорость замедляется до чуть более 1 ГБ в минуту. Итак, кто-то предложил преобразовать процедуру хеширования в сборку.
Я программист ниже среднего при использовании языков высокого уровня, не говоря уже о ассемблере, но возможность улучшения производительности побуждает меня хотя бы узнать.
Итак, мой вопрос: есть ли программа или сценарий, который может взять процедуру или функцию и волшебным образом преобразовать ее в сборку, которую я затем могу скомпилировать с помощью компилятора Freepascal? Я знаю, что это можно сделать для C \ C ++, используя даже веб-систему, такую как эту