🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: borland.public.cppbuilder.internet.socket
1 messages
1 total messages Started by Jim Deas jim deas jadsystems. Thu, 28 Dec 2006 04:34
Slow UDP loop time
#1545
Author: Jim Deas jim deas jadsystems.
Date: Thu, 28 Dec 2006 04:34
32 lines
2218 bytes
Hi all,

I am using the basic TIdUDPClient and TIdUDPServer (reader on same thread as
listner) to communicate with 100+ slow embedded devices. I have been
monitoring the cpu usage and loop times for the messages to move between the
embedded devices and the cpu and found a problem I can't explain.

Using Packetyzer to monitor my message streams I was receiving good loop
response between the cpu and network devices. At my maximum speed the CPU
was under 4% load and I had no delays in sending messages. After completing
this work I removed Packetyzer and got a shock! Now my cpu useage is over
30% and I am noticing a large decrease in message response!

*Using Ethereal*

Each message is a single packet and a simple 64 byte ack is return from the
embedded device. In all cases this has a loop time of 6ms If Packetyzer is
running I can send the another message every 8ms. If I unload Packetyzer I
can only send every 40ms!



Does anyone know why the 5x speed penalty and high cpu usage? It is
repeatable across several systems. Ethereal does not seem to make a
difference when running even though uses the same ties as Packetyzer on its
lower levels. Packetyzer does not even have to be attached to the same
ethernet port to make a hugh difference in loop response. Is there a basic
socket or blocking issue in win2000 that could cause this?

Thanks,

J Deas
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads