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

в общем решением моей проблемы стал такой код

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" <[email protected]>:
> Ну вот, уже лучше.
>
> Теперь я Вам обещаю, что Вы получите ливелап если САМИ поймете, почему 
> написанное вами не подходит для задачи "у меня есть несколько функций и я 
> хочу сравнить их производительность".
> Ну и прирожок, когда пофиксите, это будет черезвычайно просто.
>
> Митяй.
>
> 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" <[email protected]>:
>>>  Nikolay Mishin <mi@...> writes:
>>>>   Митяй,
>>>>
>>>>   наверное, мне нужно поменять/упростить
>>>>   архитектуру скрипта
>>>  Гуглить dispatch tables до просветления.
>>>  Примеры есть в (теперь уже бесплатной) книге Higher Order Perl от MJD.
>>>
>>>  --
>>>  Moscow.pm mailing list
>>>  [email protected] | http://moscow.pm.org
>>  --
>>  Nikolay Mishin
>>  --
>>  Moscow.pm mailing list
>>  [email protected] | http://moscow.pm.org
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org

--
Nikolay Mishin
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить