[Moscow.pm] function ref

oleg alexeenkov proler на gmail.com
Чт Янв 5 11:55:48 PST 2012


Nikolay Mishin <mi на ya.ru> писал(а) в своём письме Wed, 04 Jan 2012  
12:38:54 +0400:

> Еще раз всех с новым годом,
>

почему бы не

  my $r = timethese(
      -3,
      {
          test  => sub { my $ko = invoke( $testfile,  \&_generate_index, 0  
) },
          test2 => sub { my $ko = invoke( $testfile2, \&_generate_index2, 0  
) }
      }
  );
  cmpthese $r;

?


> в общем решением моей проблемы стал такой код
>
> my $index1=sub{return _generate_index( $_[0], $_[1] );};
> my $index2=sub{return _generate_index2($_[0], $_[1] );};
>
> my $r = timethese(
>     -3,
>     {
>         test  => sub { my $ko = invoke( $testfile,  $index1, 0 ) },
>         test2 => sub { my $ko = invoke( $testfile2, $index2, 0 ) }
>     }
> );
> cmpthese $r;
>
> рабочий скрипт по ссылке
>
> https://gist.github.com/1539975
>
>
>
> 30.12.2011, 20:10, "Dmitry Karpich" <meettya на gmail.com>:
>> Ну вот, уже лучше.
>>
>> Теперь я Вам обещаю, что Вы получите ливелап если САМИ поймете, почему  
>> написанное вами не подходит для задачи "у меня есть несколько функций и  
>> я хочу сравнить их производительность".
>> Ну и прирожок, когда пофиксите, это будет черезвычайно просто.
>>
>> Митяй.
>>
>> PS. Вы были удивительно близко от правильного решения, но что заставило  
>> Вас свернуть - ума не приложу.
>>
>> On Dec 30, 2011, at 5:00 PM, Nikolay Mishin wrote:
>>
>>>  Спасибо огромное за  Higher Order Perl ,
>>>  я тоже думал о $dispatch_table , но мне почему-то казалось, что она  
>>> мне не подойдет,
>>>  в итоге отказался и от нее, вот готовый тест, который получился  
>>> (можно запускать с листа):
>>>
>>>  https://gist.github.com/1539975
>>>
>>>  29.12.2011, 19:08, "Alexey Surikov" <ksurent на gmail.com>:
>>>>  Nikolay Mishin <mi на ...> writes:
>>>>>   Митяй,
>>>>>
>>>>>   наверное, мне нужно поменять/упростить
>>>>>   архитектуру скрипта
>>>>  Гуглить dispatch tables до просветления.
>>>>  Примеры есть в (теперь уже бесплатной) книге Higher Order Perl от  
>>>> MJD.
>>>>
>>>>  --
>>>>  Moscow.pm mailing list
>>>>  moscow-pm на pm.org | http://moscow.pm.org
>>>  --
>>>  Nikolay Mishin
>>>  --
>>>  Moscow.pm mailing list
>>>  moscow-pm на pm.org | http://moscow.pm.org
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Nikolay Mishin


Подробная информация о списке рассылки Moscow-pm