[#407882] Ruby extremely slow compared to PHP — Mick Jagger <lists@...>

Hello there, how are you? Hope you are fine. I am a PHP programmer

17 messages 2013/06/02

[#407908] TCPServer/Socket and Marshal problem — Panagiotis Atmatzidis <atma@...>

Hello,

18 messages 2013/06/03

[#407946] Is rubyquiz.com dead? — Alphonse 23 <lists@...>

Thread title says everything.

18 messages 2013/06/04

[#408012] Need help understanding recursion. — pedro oliva <lists@...>

Ive been reading Chris Pine's book 'Learn to Program' and its been going

11 messages 2013/06/06

[#408129] Getting Started With Development — Chamila Wijayarathna <cdwijayarathna@...>

I'm new to Ruby Development. I downloaded source from Github, but couldn't

24 messages 2013/06/11
[#408131] Re: Getting Started With Development — Per-erik Martin <lists@...> 2013/06/11

Ruby is often installed on linux, or can be easily installed with the

[#408146] Re: Getting Started With Development — "Chamila W." <lists@...> 2013/06/11

Per-erik Martin wrote in post #1112021:

[#408149] Re: Getting Started With Development — "Carlo E. Prelz" <fluido@...> 2013/06/11

Subject: Re: Getting Started With Development

[#408198] NokoGiri XML Parser — "Devender P." <lists@...>

Hi,

11 messages 2013/06/13

[#408201] trying to load a .rb file in irb — "Eric D." <lists@...>

I am trying to load a ruby program into irb and it will not load.

12 messages 2013/06/13

[#408205] Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...>

Hell Team,

18 messages 2013/06/13
[#408219] Re: Can I use Sinatra to render dynamic pages? — Nicholas Van Weerdenburg <vanweerd@...> 2013/06/14

You should be able to do this without JavaScript by using streaming.

[#408228] Re: Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...> 2013/06/14

Well, I got some good suggestions from everyone here. I thank you all for

[#408275] Compare and sort one array according to another. — masta Blasta <lists@...>

I have two arrays of objects that look something like this:

14 messages 2013/06/17

[#408276] Comparing objects — "Thom T." <lists@...>

How do I compare two objects in Ruby, considering only attributes

15 messages 2013/06/17

[#408307] getting the most out of Ruby — robin wood <lists@...>

I write a lot of scripts in Ruby, most are small simple things but some

13 messages 2013/06/18

[#408309] Creating ruby script exe — Rochit Sen <lists@...>

Hi All,

17 messages 2013/06/18

[#408357] Beginners problem with database and datamapper — cristian cristian <lists@...>

Hi all!

28 messages 2013/06/20

[#408437] How do I input a variable floating point number into Ruby Programs — "Michael P F." <lists@...>

I want to evaluate the following interactively:

10 messages 2013/06/23

[#408518] #!/usr/bin/env: No such file or directory — Todd Sterben <lists@...>

I am new to both linux and ruby. I am using Ubuntu and Ruby 1.9

17 messages 2013/06/27

[#408528] Designing a Cabinet class — Mike Vezzani <lists@...>

Hello all,

12 messages 2013/06/27

[#408561] Find elment in array of hashes — Rodrigo Lueneberg <lists@...>

array = {:id=>1, :price =>0.25} # index[0]

23 messages 2013/06/28

Re: Ruby extremely slow compared to PHP

From: Tamara Temple <tamouse.lists@...>
Date: 2013-06-05 00:53:22 UTC
List: ruby-talk #407972
Mick Jagger <lists@ruby-forum.com> wrote:
> Tamara Temple wrote in post #1111074:
> > So, basically, curl is getting a lot less data than Net::HTTP is
> > getting. I haven't delved into why this is so, but these are interesting
> > stats:
> >
> >
> > This is for the ruby version:
> >
> > Total fetch time:  28 seconds.
> > Total fetch size:  1954452 bytes.
> >
> > real  0m28.175s
> > user  0m0.224s
> > sys  0m0.020s
> >
> >
> >
> > And this is for the PHP version:
> >
> > Total fetch time:  18 seconds.
> > Total fetch bytes: 224888
> >
> > real  0m18.077s
> > user  0m0.048s
> > sys  0m0.028s
> >
> > Look at the difference in the amount of data transferred. Net::HTTP is
> > pulling in *eight times* as much data as curl is. Why is this the case?
> > That might be worth more investigation...
> >
> > But also look at the differences shown; the algorithms themselves take
> > nearly no time, which is to be expected.
> >
> > At any rate (haha, p.i.), you definitely can not make the case that ruby
> > is slower than php from this, as all the time is spent in transfer, not
> > execution.
> >
> > P.S. "Mick": I had to clean up your PHP script a bit as it was tossing
> > warnings and notices all over. Your ruby script, OTOH, was flawless. I
> > did change a couple things in order to get the totals, but not the
> > fundamental algorithms.
> 
> Thanks for your answer!
> 
> I think the PHP warnings are because I have disabled them, but think it 
> would be a good practice to turn them on again haha.
> 
> As you could have seen, in my PHP script, the cURL handle is not closed, 
> what improves a lot the request speed as I have tested. May be because 
> of this the Ruby script is slower.

The curl handle *is* closed -- it is a local variable (no globals
given). Plus, you are in fact reinitializing it every time at the top of
the two function calls.

//This functions returns body of $url
	function getBody($url){
		$ch = curl_init();

//This functions returns response size
	function getResponseSize($url){
		$ch = curl_init();

(These are from your pastbin entries.)

I'd be curious to see what you had when you thought you weren't actually
re-initializing, but that's way off topic for this group.

> So the "slowness" of the script is because of how connections are 
> handled I guess.

I'm still going with compression vs. non-compressed.

In This Thread

Prev Next