Skip to content

Instantly share code, notes, and snippets.

@phiggins
Created December 8, 2010 19:23
Show Gist options
  • Save phiggins/733760 to your computer and use it in GitHub Desktop.
Save phiggins/733760 to your computer and use it in GitHub Desktop.
# running the benchmark as-is
$ ruby benchmarks/excon_vs.rb
[curb (persistent), em-http-request, Excon/home/phiggins/projects/excon/lib/excon/response.rb:12:in `readline': end of file reached (Excon::Errors::SocketError)
from /home/phiggins/projects/excon/lib/excon/response.rb:12:in `parse'
from /home/phiggins/projects/excon/lib/excon/connection.rb:98:in `request'
from (eval):2:in `get'
from benchmarks/excon_vs.rb:94:in `block (3 levels) in <main>'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:63:in `call'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:63:in `block in run_tach'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:63:in `times'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:63:in `run_tach'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:37:in `block in initialize'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:36:in `each'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:36:in `initialize'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:11:in `new'
from /home/phiggins/.rvm/gems/ruby-1.9.2-p0/gems/tach-0.0.7/lib/tach.rb:11:in `meter'
from benchmarks/excon_vs.rb:59:in `block in <main>'
from benchmarks/excon_vs.rb:42:in `with_server'
from benchmarks/excon_vs.rb:57:in `<main>'
### With curb removed
$ ruby benchmarks/excon_vs.rb
[em-http-request, Excon, Excon (persistent), HTTParty, Net::HTTP, Net::HTTP (persistent), open-uri, RestClient, StreamlyFFI (persistent), Typhoeus]
+--------------------------+-----------+
| tach | total |
+--------------------------+-----------+
| Net::HTTP (persistent) | 2.118156 |
+--------------------------+-----------+
| Net::HTTP | 2.173303 |
+--------------------------+-----------+
| open-uri | 2.346923 |
+--------------------------+-----------+
| HTTParty | 2.353703 |
+--------------------------+-----------+
| RestClient | 2.357862 |
+--------------------------+-----------+
| em-http-request | 20.342394 |
+--------------------------+-----------+
| Typhoeus | 40.480771 |
+--------------------------+-----------+
| Excon | 40.618864 |
+--------------------------+-----------+
| Excon (persistent) | 40.748701 |
+--------------------------+-----------+
| StreamlyFFI (persistent) | 40.922385 |
+--------------------------+-----------+
@geemus
Copy link

geemus commented Dec 8, 2010

I dunno, seems to work for me. I had wondered if maybe it was a 1.9.2 thing (as I usually test/work in 1.8.7 still). But I tried that and it still worked on my machine. What OS? Didn't you have it occasionally failing prior to adding curb as well? (maybe by rearranging to run excon later in the list) Basically I'd like to fix it but I haven't been able to reproduce it yet...

@phiggins
Copy link
Author

phiggins commented Dec 8, 2010

Yes, if I move excon to the bottom of the list it fails everytime.

The machine I'm currently using is 64-bit Kubuntu 10.10, but I've also seen this on my other machine which is 64-bit gentoo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment