[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