How Fast is TCP/IP on SmartFusion2 under uClinux? Print


As a very rough estimate for the TCP performance of SmartFusion2 running uClinux, here is the output of the ftpget and the ftpput commands transferring a file between SmartFusion2 and a host in a local network:

~ # busybox time ftpget test.dat pub/test.dat
real 0m 1.82s
user 0m 0.01s
sys  0m 1.72s
~ # busybox time ftpput pub/test1.dat test.dat
real 0m 2.84s
user 0m 0.01s
sys  0m 2.82s
~ # ls -l test.dat
-rw-r--r--    1 root     root       9605408 Jan  1 00:00 test.dat
~ #

Processing the above results, we get the following TCP performance figures: 9605408/1.82 = 5154 KB/sec for ftpget and 9605408/2.84 = 3303 KB/sec for ftpput.

As an estimate of the UDP performance, here is the output of the cp command transferring the same file from an NFS-host to the SmartFusion2:

~ # mount -o nolock /mnt
~ # busybox time cp /mnt/test.dat /
real 0m 2.03s
user 0m 0.00s
sys  0m 1.85s
~ #

Processing the above results, we get the following UDP performance figure: 9605408/2.03 = 4732 KB/sec.

Finally, here are the performance results using the popular netperf benchmark:

  • Outgoing UDP throughput:

Socket      Message      Elapsed      Messages
Size        Size         Time         Okay      Errors      Throughput
bytes       bytes        secs         #         #           10^6bits/sec

106496      32000        10.01        2581      0           66.02
114688      10.01        2581         66.02

  • Outgoing TCP throughput:

Recv         Send          Send
Socket       Socket        Message        Elapsed
Size         Size          Size           Time       Throughput
bytes        bytes         bytes          secs.      10^6bits/sec

87380        16384        16384           10.01      29.03

The test was run on Emcraft Systems' SmartFusion2 system-on-module (SOM) connected to a 100Mb Ethernet hub. The SOM provides an Ethernet 10/100Mb interface using an on-module Ethernet PHY.