Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #!perl
  2. use 5.024;
  3. use strictures;
  4. use Time::HiRes qw(sleep);
  5.  
  6. sub mock_connect {
  7. my $how_long_it_takes = 3 + rand;
  8. sleep $how_long_it_takes;
  9. return $how_long_it_takes;
  10. }
  11. sub main {
  12. state $db_handle = mock_connect($dsn);
  13. return sub { [200, [], ["connect took $db_handle secondsn"]] };
  14. }
  15. my $dsn = 'dbi:blahblah'; # from config file
  16. my $app = main($dsn);
  17.  
  18. › perl -MBenchmark=timeit,timestr,:hireswallclock -E"say timestr timeit 10, sub { system q(curl http://localhost:5000) }"
  19. connect took 3.0299610154043 seconds
  20. connect took 3.0299610154043 seconds
  21. connect took 3.0299610154043 seconds
  22. connect took 3.0299610154043 seconds
  23. connect took 3.0299610154043 seconds
  24. connect took 3.0299610154043 seconds
  25. connect took 3.0299610154043 seconds
  26. connect took 3.0299610154043 seconds
  27. connect took 3.0299610154043 seconds
  28. connect took 3.0299610154043 seconds
  29. 2.93921 wallclock secs ( 0.03 usr + 0.06 sys = 0.09 CPU) @ 107.53/s (n=10)
  30.  
  31. › perl -MBenchmark=timeit,timestr,:hireswallclock -E"say timestr timeit 10, sub { system q(curl http://localhost:5000) }"
  32. connect took 3.77111188120125 seconds
  33. connect took 3.15455510265111 seconds
  34. connect took 3.77111188120125 seconds
  35. connect took 3.15455510265111 seconds
  36. connect took 3.77111188120125 seconds
  37. connect took 3.64333342488772 seconds
  38. connect took 3.15455510265111 seconds
  39. connect took 3.77111188120125 seconds
  40. connect took 3.85268922343767 seconds
  41. connect took 3.64333342488772 seconds
  42. 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