|
From: | Bill Auerbach |
Subject: | Re: [lwip-users] LWIP/WIN32 UDP performance (throughtput) |
Date: | Tue, 7 Feb 2012 08:46:24 -0500 |
I totally agree with Simon, at least with RAW API – I can’t
speak for NETCONN performance. My “embedded” system is like
yours (667Mhz CPU and 256MB 667Mhz DDR2) and is zero-copy with optimized
checksum (aligned accesses and in assembly). I can reach 500-600+MbS with
TCP. In my testing of UDP the PC in some instances was not able to keep
pace receiving. I do not run lwIP on the PC – we use Win32 sockets
so far without issues. It would be nice to see a standard Win32/Linux program to
communicate with a simple lwIP test program (RAW, NETCONN, sockets) to create a
list of lwIP platforms and the results of the tests. From:
address@hidden
[mailto:address@hidden On Behalf
Of Simon Goldschmidt Zayaz Volk <address@hidden> wrote:
In my opinion, the win32 port is mainly limited by the netif
driver: winpcap doesn't seem to give the best performance, since we have to
copy packets twice on RX (and I don't remember if it's once or twice on TX).
Also, lwIP doesn't really benefit from multiple CPU cores. Instead, you're
right that it is targeted on low resources rather that throughput. Still, i think lwIP should be able to achieve the
performance you want if: A) your netif driver correctly supports zero copy and B) you handle the stack "correctly" so that zero
copy is possible (I.e. data passed to a TX function must be left unchanged in
memory until the netif driver has actually sent it out). Simon |
[Prev in Thread] | Current Thread | [Next in Thread] |