On Nov 9, 5:20 am, Mag Gam <magaw...@gmail.com> wrote:
> Hello,
>
> When measuring round trip time for the UDP echo client/server the C
> version is much faster. I was wondering if there is anything I can do
> to speed up.
>
> My current code for client looks like this....
>
> sock=socket(AF_INET,SOCK_DGRAM)
> for x in range (1000):
>   sock.sendto("foo",(server,port))
>   a=sock.recv(256)
>
> sock.close()
>
> The server code looks like this:
> UDPsock=socket(AF_INET,SOCK_DGRAM)
> UDPSock.bind(addr)
> while 1:
>   m,c=UDPsock,recvfrom(1024)
>   UDPsock.sendto('bar',c)
>
> UDPsock.close()
>
> I am measuring the round trip time using tcpdump. The C version is
> giving me around 80 microseconds (average) and the python is giving me
> close to 300 microseconds (average).

Try replacing the hostname in your send calls with an IP address.  If
you're not passing an IP address here, then the Python version has to
do a name lookup for each send, I bet your C version is not.

Jean-Paul
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to