benchmarks/clients.rb in em-http-request-1.0.2 vs benchmarks/clients.rb in em-http-request-1.0.3

- old
+ new

@@ -7,11 +7,11 @@ require 'open-uri' require 'rest_client' require 'tach' require 'typhoeus' -url = 'http://127.0.0.1/10k.html' +url = 'http://127.0.0.1:9292/data/10000' with_server do Tach.meter(100) do tach('curb (persistent)') do |n| @@ -117,40 +117,54 @@ streamly = StreamlyFFI::Connection.new tach('StreamlyFFI (persistent)') do streamly.get(url) end - tach('Typhoeus') do - Typhoeus::Request.get(url).body + tach('Typhoeus') do |n| + hydra = Typhoeus::Hydra.new( max_concurrency: 8 ) + hydra.disable_memoization + count = 0 + error = 0 + n.times { + req = Typhoeus::Request.new( url ) + req.on_complete do |res| + count += 1 + error += 1 if !res.success? + p [count, error] if count == n + + end + hydra.queue( req ) + } + hydra.run end end end -# +------------------------------+----------+ -# | tach | total | -# +------------------------------+----------+ -# | em-http-request (persistent) | 0.016779 | -# +------------------------------+----------+ -# | Excon (persistent) | 0.019606 | -# +------------------------------+----------+ -# | curb (persistent) | 0.022034 | -# +------------------------------+----------+ -# | Typhoeus | 0.027276 | -# +------------------------------+----------+ -# | Excon | 0.034482 | -# +------------------------------+----------+ -# | StreamlyFFI (persistent) | 0.036474 | -# +------------------------------+----------+ -# | em-http-request | 0.041866 | -# +------------------------------+----------+ -# | Net::HTTP (persistent) | 0.098379 | -# +------------------------------+----------+ -# | Net::HTTP | 0.103786 | -# +------------------------------+----------+ -# | RestClient | 0.111841 | -# +------------------------------+----------+ -# | HTTParty | 0.118632 | -# +------------------------------+----------+ -# | open-uri | 0.170172 | -# +------------------------------+----------+ +#+------------------------------+-----------+ +#| tach | total | +#+------------------------------+-----------+ +#| em-http-request (persistent) | 0.145512 | +#+------------------------------+-----------+ +#| Excon | 0.181564 | +#+------------------------------+-----------+ +#| RestClient | 0.253127 | +#+------------------------------+-----------+ +#| Net::HTTP | 0.294412 | +#+------------------------------+-----------+ +#| HTTParty | 0.305397 | +#+------------------------------+-----------+ +#| open-uri | 0.307007 | +#+------------------------------+-----------+ +#| Net::HTTP (persistent) | 0.313716 | +#+------------------------------+-----------+ +#| Typhoeus | 0.514725 | +#+------------------------------+-----------+ +#| curb (persistent) | 3.981700 | +#+------------------------------+-----------+ +#| StreamlyFFI (persistent) | 3.989063 | +#+------------------------------+-----------+ +#| Excon (persistent) | 4.018761 | +#+------------------------------+-----------+ +#| em-http-request | 15.025291 | +#+------------------------------+-----------+