Skip navigation

emNet Performance

The performance of any network depends on several considerations, including the length of the cabling, the size of packets, amount of traffic and performance of the Ethernet controller itself.

 Contents

 
[show]
[hide]

TCP throughput

The TCP throughput performance is measured using the IP_SpeedClient_TCP.c sample application on a target and the speed test server counterpart on a PC. It shows the MBytes/s throughput performance for a contiguous TCP stream.

ARM7 System

DetailDescription
CPUARM7 with integrated MAC running with 48MHz
Tool chainIAR Embedded Workbench for ARM V6.30.6
ModelARM7, Thumb instructions, no interwork
Compiler optionsHighest speed optimization

Memory Configuration

#define ALLOC_SIZE 0xD000
IP_AddBuffers(12, 256);
IP_AddBuffers(18, mtu + 16);
IP_ConfTCPSpace(8 * (mtu-40), 8 * (mtu-40));

Driver Configuration

#define NUM_RX_BUFFERS (2 * 12 + 1) 

Measurements

The following table shows the send and receive speed of emNet:

DescriptionSpeed [MBytes per second]
TCP - socket interface
 Send speedApproximately 9.0
 Receive speedApproximately 7.5
TCP - zero-copy interface
Send speedApproximately 9.0
Receive speedApproximately 11.7

Cortex-M3 System

DetailDescription
CPUCortex-M3 with integrated MAC running with 96MHz
Tool chainIAR Embedded Workbench for ARM V6.30.6
ModelCortex-M3
Compiler optionsHighest speed optimization

Memory Configuration

#define ALLOC_SIZE 0x10000
IP_AddBuffers(12, 256);
IP_AddBuffers(12, mtu + 16);
IP_ConfTCPSpace(9 * (mtu-40), 9 * (mtu-40));

Driver Configuration

#define NUM_RX_BUFFERS     (36)
#define BUFFER_SIZE        (256)

Measurements

The following table shows the send and receive speed of emNet:

DescriptionSpeed [MBytes per second]
TCP - socket interface
Send speedApproximately 9.4
Receive speedApproximately 11.7
TCP - zero-copy interface
Send speedApproximately 9.4
Receive speedApproximately 11.8

Response time

The application response time is the processing time it takes to receive and respond to a message from the network. Together with the hardware latency of the PHY and Ethernet controller this results in the Round-Trip-Time (RTT). Additional switches and other network equipment increase the RTT and are not subject of the following results.

The values below have been measured with an emPower (K66) eval board running @168MHz using Fast-Ethernet (100Mbit) and an emPower-Zynq eval board running @666MHz using Gigabit Ethernet in an isolated network.

For further information about how these values have been measured, please refer to our SEGGER Wiki article "Network performance measurement".

Hardware latency

The following table shows the hardware delays specific to the medium and hardware (especially the Ethernet controller) used. These times have to be added on top of the plain application response time of emNet.

PlatformRx latencyTx latency
emPower (K66), Fast-Ethernet (100Mbit)Approximately 3.641usApproximately 1.456us
emPower-Zynq, Gigabit EthernetApproximately 1.699usApproximately 1.083us

PING response time

The following table shows the application response time it takes to evaluate a 64 byte PING-request and send back a proper PING-reply. Please note that while the values roughly scale linear with the processing power, there are architectural differences like use of cache, memory latency and other platform specifics that have to be taken into account.

PlatformPING (ICMP) response time
emPower (K66) @168MHzApproximately 26.449us
emPower-Zynq @666MHzApproximately 7.819us

TCP response time

The following table shows the application response time it takes to evaluate a TCP packet with the minimal payload of 1 byte and send back an echo. Please note that while the values roughly scale linear with the processing power, there are architectural differences like use of cache, memory latency and other platform specifics that have to be taken into account.

PlatformTCP response time
TCP - socket interface
emPower (K66) @168MHzApproximately 83.770us
emPower-Zynq @666MHzApproximately 21.100us
TCP - zero-copy interface
emPower (K66) @168MHzApproximately 50.120us
emPower-Zynq @666MHzApproximately 14.949us