W5100 Performance Analysis

I have been sick for the past two days, and busy in the early part of the week, so I have not had a chance to do a lot of W5100 testing. I felt well enough to do a little performance testing.

The W5100 works nicely, but it is not a speed demon.

I ran two different tests on a Domino and a Cobra. I was curious to see the difference in performance.

The first test was an echo test. A program on the PC connected to the target machine, and started to send 1024 blocks of the data. The target machine, upon receiving data, send it back to the sender. This was basically a echo server.

The PC program then monitored the data it received back and kept statistics.

The Domino software was copied to the Cobra project, so only difference was the absence of initialization code in the Cobra .

On the Domino, for the send-receive-send-receive throughput was about 6,800 bytes per second. On the Cobra, the rate was 68,500 bytes per second.

For the next test, the PC program was modified to not send any data, and the target machine’s program was modified to start sending 1024 data blocks as soon as a connection was made.

The rate with the Domino sending was 14,500 bytes per second and the Cobra rate was 130,000 bytes per second.

The doubling of the rates between the echo test and the continuous send test was to be expected.

The W5100 is slow, but not unexpected. I believe an SPI to serial interface is used with the W5100 on an ethernet shield.

I had never done any performance testing on the Cobra, and was impressed with the throughput found.

Considering the very small system (when compared to PC), I like to think of Domino as FAST and Cobra is VERY VERY FAST. The processor is running the whole NETMF services and can still do few KBytes/sec is very alright I think.

(this is a personal opinion)

No to forget that EMX (FEZ Cobra) module Ethernet is internal in CPU so data handling should be supper fast comparing to serial data transfers over SPI.

We will try to speed up the SPI clock if possible.

I hope my analysis did come off as complaining about the speed of the W5100. It is doing a great job for what it is.

But if you want blazing speed the Cobra is the way to go. For smaller simpler appications the Panda, Rhino or Domino with a W5100 chip is the way to go.

But I would say that the Domino is the least cost effective solution. A Cobra only costs $25 more that a Domino and Ethernet shield.

All are amazing implementations of Ethernet on small embedded systems.

No, not at all. I never tested performance myself and not sure if anyone at GHI have and I was only saying that the number I am seeing are more than what I had expected.

Thank you very much for the performance report. This info is helpful for everyone including the engineers working on this feature at GHI.

Yeah Mike, thanks so much for posting that. I think you’re dead right that SPI is the more significant constraint on the throughput, but for what it is it’s awesome. And you’re even more spot-on with the Cobra being a great value for money device ! Everyone should have a couple ! :wink: