Re: HELP

From
Viktor Karev (2:5080/1003)
To
Ianos Gnatiuc
Date
2002-10-03T12:10:12Z
Area
RU.ALGORITHMS
From: Viktor Karev <termar@narod.ru>
Reply-To: termar@narod.ru

Приветствия!

Ianos Gnatiuc wrote:

> тем не менее, компилятор никогда не сможет сделать критическую зону лучше чем
> человек. как правило, там где скорость криточно, пишут на асме, а не всю
> програму.

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

Сомневаюсь, что человеку удастся за приемлимое время написать на
asm функцию дифференцирования символьного выражения, причем в
нескольких вариантах: для 486, для пентиума, с оптимизацией по
памяти и с оптимизацией по времени.

> для примера, посмотри как деляется простая функция как memmove(...)

А что memmove? Конечно, логичнее написать библиотечную функцию на
asm, чем писать оптимизатор, который будет делать такой же код.
Это забота авторов транслятора, что вставить в оптимизатор, а что
- в библиотечную функцию.

А я уже работаю с результатом. В частности, использую тот же
memmove, но на ЯВУ.

Виктор.
--- ifmail v.2.15dev5
 * Origin: Urals State University for Railway Transport (2:5080/1003@fidonet)