[Moscow.pm] Скорость работы структур.
Alexander Alekseev
alex на alemate.ru
Чт Фев 14 07:27:26 PST 2008
Hello!
On Thu, 14 Feb 2008, Denis Evdokimov wrote:
> >> Больше всего смущает разница между LLL($B); и $B->[0];
>
> А что вас удивляет?
>
> LLL($B);
> делает целую кучу движений, а именно:
> Вызов функции с передачей параметра
> shift
> разыменование массива
> Возврат из функции с передачей параметра
>
>
> $B->[0];
> делает только разыменование массива
Поскольку скорость работы объектных функций не отличается от
скорости работы локальных, придётся сделать вывод, что perl при вызове
любой функции считает её полиморфной. И оптимизировать это не умеет.
А вот сложность вызова функции, как мне кажется из того что я
видел, пока писал свои .xs, там совсем небольшая. Там как раз всё
грамотно сделано. shift там вообще бесплатный. Возврат из функции тоже.
Остаётся полиморфизм.
В общем, вопрос остался в силе: кто как с этим борется?
Транслирутет код в perl из макропроцессора, или прекращает использовать
перл совсем?
Bye. Alex.
Подробная информация о списке рассылки Moscow-pm