Skip to Content

Performance

The following measurements were done on an 8-core Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz, Arch Linux, and ingraind @ 43281a7 .

The following command will produce the raw output:

cargo build --release && \
sudo AWS_ACCESS_KEY_ID=x \
     AWS_SECRET_ACCESS_KEY=x \
     AWS_BUCKET=x \
     AWS_INTERVAL=30 \
     DNS_IF=wlp61s0 \
     RUST_BACKTRACE=1 ./target/release/ingraind & sleep 5 \
&& (top -b -d 2 |grep ingraind) >top_log & \
iperf3 -t 10 -b 10M -c localhost > iperf_log \
&& sleep 1 && iperf3 -t 10 -b 100M -c localhost >>iperf_log \
&& sleep 1 && iperf3 -t 10 -b 1000M -c localhost >>iperf_log \
&& sleep 1 && iperf3 -t 10 -b 10000M -c localhost >>iperf_log \
&& pkill top \
&& @ pkill ingraind

Looking through the logs, we can see that CPU use follows bandwidth:

BandwidthCPU %
10M1%
100M4%
1000M32%
10000M98%

This is test only measures the TCPv4 throughput of the one process, but gives a good idea about scaling.

Back to top