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 |
+#+------------------------------+-----------+