--- cvsroot/Coro/eg/bench 2006/11/24 15:34:33 1.12 +++ cvsroot/Coro/eg/bench 2011/05/30 02:21:54 1.21 @@ -22,6 +22,7 @@ # do a little unrolling... while() { cede; cede; cede; cede; cede; + cede; cede; cede; cede; cede; } }; @@ -34,20 +35,20 @@ sub doit0 { while() { # some unrolling here as well.. - transfer($c0, $main, 0); transfer($c0, $main, 0); - transfer($c0, $main, 0); transfer($c0, $main, 0); - transfer($c0, $main, 0); transfer($c0, $main, 0); - transfer($c0, $main, 0); transfer($c0, $main, 0); + transfer($c0, $main); transfer($c0, $main); + transfer($c0, $main); transfer($c0, $main); + transfer($c0, $main); transfer($c0, $main); + transfer($c0, $main); transfer($c0, $main); } } sub doit1 { while() { # some unrolling here as well.. - transfer($c1, $main, -1); transfer($c1, $main, -1); - transfer($c1, $main, -1); transfer($c1, $main, -1); - transfer($c1, $main, -1); transfer($c1, $main, -1); - transfer($c1, $main, -1); transfer($c1, $main, -1); + transfer($c1, $main); transfer($c1, $main); + transfer($c1, $main); transfer($c1, $main); + transfer($c1, $main); transfer($c1, $main); + transfer($c1, $main); transfer($c1, $main); } } @@ -59,14 +60,23 @@ doit1(1,2,3,4,5,6,7,8,9); }; -transfer($main, $c0, 0); -transfer($main, $c1, -1); +#$c0->save (0); +#$c1->save (-1); + +transfer($main, $c0); +transfer($main, $c1); -timethese 1000000, { +#Coro::State::enable_times 1; +#use Coro::Debug; Coro::Debug::command "ps";#d# +#(async { +timethese 5000000, { function => 'a(5); a(6)', method => '$a->b(5); $a->b(6)', cede => 'cede', - transfer0 => 'transfer($main, $c0, 0)', - transfer1 => 'transfer($main, $c1, -1)', + transfer0 => 'transfer($main, $c0)', + transfer1 => 'transfer($main, $c1)', }; +#})->join; +#use Coro::Debug; Coro::Debug::command "ps";#d# +