[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