Надо, или не надо? - вот в чем вопрос!
Так вот мой вопрос заключается в том, ст0ит или не ст0ит включать ассемблерные вставки и подпрограммы в код, или компилятор сам все лучше за меня придумает?
Всё зависит от задачи, которую решаешь.
Например, если моделируешь многоразрядную арифметику (типа int256bit) - то тут наверняК нужно кодить на ассемблее для получения лучших скоростных характеристик.
Вот мой приятель реализовывал алгоритм шифрования DES в делфях целиком на ассемблерных вставках.
Насчёт же компилера - то он тот ещё профан. генерирует далеко не самый лучший код. Тут можно довольно хорошо улучшить генерируемый код используя только синтаксис паскаля: типа того, что избгать множественных вычислений одинаковых значений, по возможности обращаться к массиву в цикле не по индексу, а "перемещать" указатель inc- и dec-ами, избегать частых тригонометрических вычислений и округлений Round, передавать стринги как const параметры, по реже использовать конкатенации (особенно в циклах), по-возможности отказаться от динамических массивов и ещё куча тонкостей связанных с классами и VCL в частности.
Всё зависит от задачи, которую решаешь.
Например, если моделируешь многоразрядную арифметику (типа int256bit) - то тут наверняК нужно кодить на ассемблее для получения лучших скоростных характеристик.
Вот мой приятель реализовывал алгоритм шифрования DES в делфях целиком на ассемблерных вставках.
В таких случаях и стоит использовать asm - т.е при вычислениях, критичных для по времени и требующих вычислительных мощьностей процессора.
Насчёт же компилера - то он тот ещё профан. генерирует далеко не самый лучший код.
ИМХО, вопрос спорный...
Тут можно довольно хорошо улучшить генерируемый код используя только синтаксис паскаля: типа того, что избгать множественных вычислений одинаковых значений, по возможности обращаться к массиву в цикле не по индексу, а "перемещать" указатель inc- и dec-ами, избегать частых тригонометрических вычислений и округлений Round, передавать стринги как const параметры, по реже использовать конкатенации (особенно в циклах), по-возможности отказаться от динамических массивов и ещё куча тонкостей связанных с классами и VCL в частности.
Дык а при чем сдесь компилятор? ;) Это типичная наша криворукость.
А вообще, думаю, не стоит слишком заигрывать с asm, к тому же не всегда это приведет к тем результатам, которые ожидались и чревато трудно выявляемыми ошибками. В конце концов для этого и придумали ЯВУ.