Nikolay Mishin <[email protected]> писал(а) в своём письме 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" <[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

Ответить