Skip to content

Instantly share code, notes, and snippets.

/minion_bench.pl Secret

Created November 18, 2014 01:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/d98d2cdef86b650c5ae1 to your computer and use it in GitHub Desktop.
Save anonymous/d98d2cdef86b650c5ae1 to your computer and use it in GitHub Desktop.
use Mojo::Base -strict;
use Minion;
use Time::HiRes 'time';
my $minion = Minion->new(Pg => 'postgresql://tester:testing@/test');
$minion->add_task(foo => sub { say "FOO!\n" }, bar => sub {"BAR!\n"});
$minion->reset;
say "ENQUEUE 100000";
my $before = time;
$minion->enqueue($_ % 2 ? 'foo' : 'baz') for 1 .. 100000;
my $elapsed = time - $before;
say "$elapsed seconds";
say sprintf('%.3f', 100000 / $elapsed), '/s';
my $worker = $minion->worker->register;
say "FINISH 5000";
$before = time;
$worker->dequeue(0.5)->finish for 1 .. 5000;
$elapsed = time - $before;
say "$elapsed seconds";
say sprintf('%.3f', 5000 / $elapsed), '/s';
say "DEQUEUE 1000";
$before = time;
$worker->dequeue(0.5) for 1 .. 1000;
$elapsed = time - $before;
say "$elapsed seconds";
say sprintf('%.3f', 1000 / $elapsed), '/s';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment