TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Classic View

Use Proportional Font
Show HTML Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Laurent Pautet <[log in to unmask]>
Fri, 14 Feb 2003 19:09:58 +0100
text/plain (48 lines)
Sorry if you receive this mail twice, but Mike told me that the list
server has some problems today.

On 13/02, james hopper wrote:
| Both os x and linux.  what i was doing was passing real time radar
| images from our sim code on the server to the display app on another
| computer.  the difference was quite dramatic.  i could get 60 hz with
| AdaSockets, but only about 10hz with gnat sockets.   i was in a bit of
| a rush and never really went into what was causing the difference.

I made the following tests.

Send and Recv 10000 times a message of 2**15 bytes
Send and Recv 10000 times a message of 2**18 bytes
using AdaSockets (AS) and GNAT.Sockets (GS)

Linux/Debian/GNAT 3.16w

I got the following results.

10000 2**15
as_recv  14.836 total
gs_recv  6.463 total

10000 2**18
as_recv  1:07.14 total
gs_recv  34.968 total

I got quite different results from J. Hopper. GNAT.Sockets is twice
faster than AdaSockets. Probably because I used a binary version of
GNAT and a dynamic library for AdaSockets.

Anyway, I don't think the differences observed are due to the sockets
library, but most probably to differences in the implementation of the
tested application.

It seems to me reading the code of the two implementations that there
is no significant difference of efficiency on the basic
routines. However, both libraries have their own specific features.

BTW, the buffered mode is only used in string-oriented routines like
Get_Line, Get_Char and Get (to avoid reading characters one by
one). It seems to me that the difference observed on images exchange
cannot come from this.

-- Laurent