lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Max throughput and LWIP


From: Caglar Akyuz
Subject: Re: [lwip-users] Max throughput and LWIP
Date: Mon, 04 Feb 2008 15:46:14 +0200
User-agent: Thunderbird 1.5.0.8 (X11/20060911)

Josh Rothstein wrote:
> I know this is a common topic on the mailing list, but I wanted to hear
> about people’s results trying to maximize throughput with lwIP.
> 
>  
> 
> I am current running lwIP 1.2 on an Atmel AVR32 UC3 at 66MHz.  Using the
> sequential API with the best lwiopt.h tweaks I can come up with, I am
> geting about 350kbps (2.8Mbps). I am not sure how the processor would
> fair running NO_SYS using the raw api, but at the moment that is not
> really an option.  Would that be considered good throughput or is there
> any simple tweaks to reach anything closer to wire-speed (10Mbps or even
> better 100Mbps)?
> 

No response, so let me share my little knowledge on this.

When you say 350kbps, you mean 350 kilobytes not bits, am I right? I
hope I did not misunderstand. Otherwise, 2.8 Mbps must be a wrong figure.

I'm using Atmel arm7 based Sam7x processor. It's highly probable that
avr and sam families use the same pepipherals so both MACs may be same.
I'm easly reaching 100 kBps. From some rough measurements using my
scope, I can say that 300 kBps is the upper limit for my case. According
to me there are two factors affecting my performance:

1) I have only 64 KB of RAM.
2) TCP(or IP) checksum calculation is taking most of the processor time. (*)

So, even the 1st factor can be overcome by using external memory
interface, which I don't have but some UC3s have, second factor is not
possible to beat. When I read that you are reaching 350 kBps, I
concluded that your system is optimized good.

Regards,
Caglar


(*) I maybe wrong on this issue, because it was 1 year ago. On the other
hand, I remember reading some performance issues about checksum
calculation on the mailing list.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]