Skip to content
This is the development version of the documentation. It may change before the next release. See 0.6.x for the latest release.

Link

Link is an abstraction of the physical communication path with AUTD3 devices.

A Link is constructed by passing a Link Option to Client::open. The Option specifies the connection target, synchronization parameters, and so on.

The send/receive interface seen from the Client is common across Link implementations. Therefore, swapping the link does not require changing the higher-level code.

The rough performance trends per Link and OS combination are shown below. The values depend heavily on the NIC, kernel settings, OS tuning, and so on, so treat them only as a rough guide.

Metric TwinCAT (Windows) echocat (mac/Linux) echocat (Windows) EtherCrab (mac/Linux) EtherCrab (Windows) SOEM (mac/Linux) SOEM (Windows)
Throughput ⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐
Latency ⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐
Stability ⭐⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐

For reference, the measured values for each environment are listed below.

TwinCAT (Windows)

Conditions

  • OS: Windows 11 Pro 25H2
  • NIC: Intel I219-LM
  • Devices: 2

throughput (100000 sends, streaming)

cmd / sec : 815.15
byte / sec : 510286.19

latency (10000 sends, stop-and-wait)

mean : 9.261 ms
p50 : 9.009 ms
p95 : 11.459 ms
p99 : 12.045 ms
min : 7.129 ms
max : 17.021 ms
EtherCrab (Linux)

Conditions

  • OS: CachyOS 7.1.3-2
  • NIC: Intel 82574L
  • Devices: 2

throughput (100000 sends, streaming)

cmd / sec : 996.46
byte / sec : 623784.98

latency (10000 sends, stop-and-wait)

mean : 5.000 ms
p50 : 4.999 ms
p95 : 5.006 ms
p99 : 5.021 ms
min : 3.993 ms
max : 6.032 ms
EtherCrab (macOS)

Conditions

  • OS: macOS Tahoe 26.5.2
  • NIC: Realtek RTL8153 (USB to Ethernet)
  • Devices: 2

throughput (100000 sends, streaming)

cmd / sec : 993.96
byte / sec : 622218.07

latency (10000 sends, stop-and-wait)

mean : 4.999 ms
p50 : 4.999 ms
p95 : 5.124 ms
p99 : 5.160 ms
min : 3.897 ms
max : 6.020 ms
SOEM (Linux)

Conditions

  • OS: CachyOS 7.1.3-2
  • NIC: Intel 82574L
  • Devices: 2

throughput (100000 sends, streaming)

cmd / sec : 999.56
byte / sec : 625723.62

latency (10000 sends, stop-and-wait)

mean : 5.002 ms
p50 : 4.999 ms
p95 : 5.005 ms
p99 : 5.017 ms
min : 3.855 ms
max : 6.142 ms
SOEM (macOS)

Conditions

  • OS: macOS Tahoe 26.5.2
  • NIC: Realtek RTL8153 (USB to Ethernet)
  • Devices: 2

throughput (100000 sends, streaming)

cmd / sec : 998.05
byte / sec : 624777.32

latency (10000 sends, stop-and-wait)

mean : 4.999 ms
p50 : 4.999 ms
p95 : 5.037 ms
p99 : 5.093 ms
min : 3.996 ms
max : 5.726 ms