[Moscow.pm] function ref
Nikolay Mishin
mi на ya.ru
Ср Янв 4 00:38:54 PST 2012
Еще раз всех с новым годом,
в общем решением моей проблемы стал такой код
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