From: Sean Warburton on
I have a script that opens a TCP socket and then sends an XML request
using SSL over the socket, it then receives an answer back from the
server. The whole send and receive is taking between 160 and 175
milliseconds total (not including opening the socket) but I know others
using PHP and Perl have this down to around 130 milliseconds and I
wonder if Ruby has any tricks up its sleeve that would speed thing up a
little.
--
Posted via http://www.ruby-forum.com/.

From: Chuck Remes on
On Mar 21, 2010, at 1:19 PM, Sean Warburton wrote:

> I have a script that opens a TCP socket and then sends an XML request
> using SSL over the socket, it then receives an answer back from the
> server. The whole send and receive is taking between 160 and 175
> milliseconds total (not including opening the socket) but I know others
> using PHP and Perl have this down to around 130 milliseconds and I
> wonder if Ruby has any tricks up its sleeve that would speed thing up a
> little.

Show us your code. It's impossible to say that the performance issue is with network and not with other processing you are performing on the data from what little you've said.

Barring that, take a look at the Eventmachine library (available as a gem). It allows you to build clients and servers using non-blocking I/O.

cr


From: brabuhr on
On Sun, Mar 21, 2010 at 2:43 PM, Chuck Remes <cremes.devlist(a)mac.com> wrote:
> On Mar 21, 2010, at 1:19 PM, Sean Warburton wrote:
>> I have a script that opens a TCP socket and then sends an XML request
>> using SSL over the socket, it then receives an answer back from the
>> server. The whole send and receive is taking between 160 and 175
>> milliseconds total (not including opening the socket) but I know others
>> using PHP and Perl have this down to around 130 milliseconds and I
>> wonder if Ruby has any tricks up its sleeve that would speed thing up a
>> little.

130ms from the same client to the same server over the same network?

> Show us your code. It's impossible to say that the performance issue is with network and not with other processing you are performing on the data from what little you've said.

+1 :-)

From: Brian Candler on
Sean Warburton wrote:
> I have a script that opens a TCP socket and then sends an XML request
> using SSL over the socket, it then receives an answer back from the
> server. The whole send and receive is taking between 160 and 175
> milliseconds total (not including opening the socket) but I know others
> using PHP and Perl have this down to around 130 milliseconds and I
> wonder if Ruby has any tricks up its sleeve that would speed thing up a
> little.

Show your code as others have said. Using tcpdump or wireshark, measure
exactly how much of this delay is for the far-end server processing and
responding.

If the far-end server is taking less than 100ms to respond, you could
try the TCP_NODELAY or TCP_CORK socket options on the ruby client side.
--
Posted via http://www.ruby-forum.com/.

From: Roger Pack on
Sean Warburton wrote:
> I have a script that opens a TCP socket and then sends an XML request
> using SSL over the socket, it then receives an answer back from the
> server. The whole send and receive is taking between 160 and 175
> milliseconds total (not including opening the socket) but I know others
> using PHP and Perl have this down to around 130 milliseconds and I
> wonder if Ruby has any tricks up its sleeve that would speed thing up a
> little.

using eventmachine might help.
-rp
--
Posted via http://www.ruby-forum.com/.