Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!perl
- use 5.024;
- use strictures;
- use Time::HiRes qw(sleep);
- sub mock_connect {
- my $how_long_it_takes = 3 + rand;
- sleep $how_long_it_takes;
- return $how_long_it_takes;
- }
- sub main {
- state $db_handle = mock_connect($dsn);
- return sub { [200, [], ["connect took $db_handle secondsn"]] };
- }
- my $dsn = 'dbi:blahblah'; # from config file
- my $app = main($dsn);
- › perl -MBenchmark=timeit,timestr,:hireswallclock -E"say timestr timeit 10, sub { system q(curl http://localhost:5000) }"
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- connect took 3.0299610154043 seconds
- 2.93921 wallclock secs ( 0.03 usr + 0.06 sys = 0.09 CPU) @ 107.53/s (n=10)
- › perl -MBenchmark=timeit,timestr,:hireswallclock -E"say timestr timeit 10, sub { system q(curl http://localhost:5000) }"
- connect took 3.77111188120125 seconds
- connect took 3.15455510265111 seconds
- connect took 3.77111188120125 seconds
- connect took 3.15455510265111 seconds
- connect took 3.77111188120125 seconds
- connect took 3.64333342488772 seconds
- connect took 3.15455510265111 seconds
- connect took 3.77111188120125 seconds
- connect took 3.85268922343767 seconds
- connect took 3.64333342488772 seconds
- 17.4764 wallclock secs ( 0.02 usr + 0.09 sys = 0.11 CPU) @ 90.91/s (n=10)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement