[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Net::HTTP.check_response very slow??

Tim Ferrell

3/7/2008 4:39:00 PM

I am working on something that uses Net::HTTP to obtain the final url
from a redirected url and, well, it seems really slow. I'm using ruby
1.8.6-p111 and have verified this behavior on OS X, Ubuntu Linux, and
Windows XP.

A sample app is attached and here were my results, comparing the pure
ruby approach to one shelling out to curl...

Tim@thinktank: tmp => time ./url_check.rb
http://ia340903.us.archive.org/0/items/gd90-02-26.sbd.shakedown.451.sbeok.shnf/gd90-02-26d3t...

real 0m32.659s
user 0m4.423s
sys 0m3.168s

Tim@thinktank: tmp => time ./url_check.rb --use-curl
http://ia340903.us.archive.org/0/items/gd90-02-26.sbd.shakedown.451.sbeok.shnf/gd90-02-26d3t...

real 0m0.754s
user 0m0.030s
sys 0m0.022s

I expected the pure ruby approach to be slower but these results seem
out of line just for a series of http response checks... Any ideas?

Cheers,
Tim

Attachments:
http://www.ruby-...attachment/1529/ur...

--
Posted via http://www.ruby-....

2 Answers

Jeremy Hinegardner

3/7/2008 4:49:00 PM

0

On Sat, Mar 08, 2008 at 01:39:13AM +0900, Tim Ferrell wrote:
> I am working on something that uses Net::HTTP to obtain the final url
> from a redirected url and, well, it seems really slow. I'm using ruby
> 1.8.6-p111 and have verified this behavior on OS X, Ubuntu Linux, and
> Windows XP.
>
> A sample app is attached and here were my results, comparing the pure
> ruby approach to one shelling out to curl...
>
> Tim@thinktank: tmp => time ./url_check.rb
> http://ia340903.us.archive.org/0/items/gd90-02-26.sbd.shakedown.451.sbeok.shnf/gd90-02-26d3t...
>
> real 0m32.659s
> user 0m4.423s
> sys 0m3.168s

You are doing a full HTTP GET in this request and it is downloading the mp3.
Try:

response = Net::HTTP.start('ia340903.us.archive.org') do |http|
http.head('/0/items/gd90-02-26.sbd.shakedown.451.sbeok.shnf/gd90-02-26d3t05_vbr.mp3')
end

> Tim@thinktank: tmp => time ./url_check.rb --use-curl
> http://ia340903.us.archive.org/0/items/gd90-02-26.sbd.shakedown.451.sbeok.shnf/gd90-02-26d3t...
>
> real 0m0.754s
> user 0m0.030s
> sys 0m0.022s

You are using curl's -I option here which odes an HTTP HEAD and only gets the
headers of the response, and does retrieve the

> I expected the pure ruby approach to be slower but these results seem
> out of line just for a series of http response checks... Any ideas?
>
> Cheers,
> Tim

enjoy,

-jeremy

--
========================================================================
Jeremy Hinegardner jeremy@hinegardner.org


Tim Ferrell

3/7/2008 6:08:00 PM

0

Jeremy Hinegardner wrote:
>
> You are doing a full HTTP GET in this request and it is downloading the
> mp3.

Ah! That explains it... :-)

Thanks much!
Tim
--
Posted via http://www.ruby-....