Skip to content

Instantly share code, notes, and snippets.

@maurycy
Last active May 3, 2026 18:48
Show Gist options
  • Select an option

  • Save maurycy/bf69d317f4aabf62222752d343ae22b7 to your computer and use it in GitHub Desktop.

Select an option

Save maurycy/bf69d317f4aabf62222752d343ae22b7 to your computer and use it in GitHub Desktop.
netperf M4 Docker
2026-05-03T18:35:24.309337865+0000 maurycy@weiss /home/maurycy % mupdate
_,met$$$$$gg. maurycy@weiss
,g$$$$$$$$$$$$$$$P. -------------
,g$$P"" """Y$$.". OS: Debian GNU/Linux 13 (trixie) aarch64
,$$P' `$$$. Host: Apple Virtualization Generic Platform (1)
',$$P ,ggs. `$$b: Kernel: Linux 6.17.7-300.fc43.aarch64
`d$$' ,$P"' . $$$ Uptime: 4 days, 7 hours, 44 mins
$$P d$' , $$P Packages: 405 (dpkg)
$$: $$. - ,d$$' Shell: zsh 5.9
$$; Y$b._ _,d$P' Terminal: xterm
Y$$. `.`"Y$$$$P"' Terminal Font: fixed (8.0pt)
`$$b "-.__ CPU: Virtualized Apple Silicon (5)
`Y$$b Memory: 646.45 MiB / 7.72 GiB (8%)
`Y$$. Swap: Disabled
`$$b. Disk (/): 33.72 GiB / 99.44 GiB (34%) - overlay
`Y$$b. Local IP (eth0): 10.88.0.2/16
`"Y$b._ Locale: C.UTF-8
`""""
Already up to date.
info: Checking for updates...
success: You're already on version v0.11.8 of uv (the latest version).
Hit:1 http://deb.debian.org/debian stable InRelease
Hit:2 http://deb.debian.org/debian stable-updates InRelease
Hit:3 http://deb.debian.org/debian-security stable-security InRelease
All packages are up to date.
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
info: syncing channel updates for stable-aarch64-unknown-linux-gnu
stable-aarch64-unknown-linux-gnu unchanged - rustc 1.95.0 (59807616e 2026-04-14)
info: checking for self-update (current version: 1.29.0)
info: cleaning up downloads & tmp directories
2026-05-03T18:35:51.174335156+0000 maurycy@weiss /home/maurycy % cd /tmp
2026-05-03T18:35:51.545114617+0000 maurycy@weiss /tmp % git clone --depth 1 https://github.com/HewlettPackard/netperf.git netperf-src
Cloning into 'netperf-src'...
remote: Enumerating objects: 157, done.
remote: Counting objects: 100% (157/157), done.
remote: Compressing objects: 100% (143/143), done.
remote: Total 157 (delta 42), reused 45 (delta 7), pack-reused 0 (from 0)
Receiving objects: 100% (157/157), 1.76 MiB | 1.94 MiB/s, done.
Resolving deltas: 100% (42/42), done.
2026-05-03T18:35:55.365561002+0000 maurycy@weiss /tmp % cd netperf-src
2026-05-03T18:35:56.244064721+0000 maurycy@weiss /tmp/netperf-src (master afc51ff) % ./autogen.sh
configure.ac:28: installing './compile'
configure.ac:19: warning: 'AM_CONFIG_HEADER': this macro is obsolete.
configure.ac:19: You should use the 'AC_CONFIG_HEADERS' macro instead.
aclocal.m4:707: AM_CONFIG_HEADER is expanded from...
configure.ac:19: the top level
configure.ac:34: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:34: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:34: the top level
configure.ac:37: warning: The macro 'AC_HEADER_STDC' is obsolete.
configure.ac:37: You should run autoupdate.
./lib/autoconf/headers.m4:663: AC_HEADER_STDC is expanded from...
configure.ac:37: the top level
configure.ac:44: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:44: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:44: the top level
configure.ac:46: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:46: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:46: the top level
configure.ac:47: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:47: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:47: the top level
configure.ac:52: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:52: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:52: the top level
configure.ac:60: warning: The macro 'AC_TRY_COMPILE' is obsolete.
configure.ac:60: You should run autoupdate.
./lib/autoconf/general.m4:2845: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:690: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
acinclude.m4:45: OLD_TYPE_SOCKLEN_T is expanded from...
configure.ac:60: the top level
configure.ac:65: warning: The macro 'AC_HEADER_TIME' is obsolete.
configure.ac:65: You should run autoupdate.
./lib/autoconf/headers.m4:702: AC_HEADER_TIME is expanded from...
configure.ac:65: the top level
configure.ac:67: warning: The macro 'AC_TRY_COMPILE' is obsolete.
configure.ac:67: You should run autoupdate.
./lib/autoconf/general.m4:2845: AC_TRY_COMPILE is expanded from...
src/missing/m4/salen.m4:19: AC_CHECK_SA_LEN is expanded from...
configure.ac:67: the top level
configure.ac:76: warning: The macro 'AC_TYPE_SIGNAL' is obsolete.
configure.ac:76: You should run autoupdate.
./lib/autoconf/types.m4:805: AC_TYPE_SIGNAL is expanded from...
configure.ac:76: the top level
configure.ac:479: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:479: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:479: the top level
configure.ac:638: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:638: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:638: the top level
configure.ac:652: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:652: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:652: the top level
configure.ac:657: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:657: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:657: the top level
configure.ac:689: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:689: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:689: the top level
configure.ac:696: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:696: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:696: the top level
configure.ac:703: warning: The macro 'AC_HAVE_LIBRARY' is obsolete.
configure.ac:703: You should run autoupdate.
./lib/autoconf/libs.m4:138: AC_HAVE_LIBRARY is expanded from...
configure.ac:703: the top level
2026-05-03T18:35:59.050501385+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % ./configure \
--enable-unixdomain \
--enable-burst \
--enable-omni \
--prefix=/tmp/netperf-install \
CFLAGS="-O2 -D_GNU_SOURCE -Wno-error -Wno-implicit-function-declaration -Wno-implicit-int -fcommon"
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
/tmp/netperf-src/missing: Unknown `--is-lightweight' option
Try `/tmp/netperf-src/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for an ANSI C-conforming const... yes
checking for main in -lm... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for sys/time.h... yes
checking for vfork.h... no
checking for sys/param.h... yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for arpa/inet.h... yes
checking for endian.h... yes
checking for errno.h... yes
checking for fcntl.h... yes
checking for ifaddrs.h... yes
checking for limits.h... yes
checking for linux/tcp.h... yes
checking for linux/socket.h... yes
checking for malloc.h... yes
checking for netdb.h... yes
checking for netinet/in.h... yes
checking for netinet/sctp.h... no
checking for sched.h... yes
checking for signal.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for syscall.h... yes
checking for sys/ioctl.h... yes
checking for sys/mman.h... yes
checking for sys/param.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for sys/wait.h... (cached) yes
checking for sys/ipc.h... yes
checking for sys/sockio.h... no
checking for sys/sysinfo.h... yes
checking for sys/wait.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for netinet/in_systm.h... yes
checking for netinet/ip.h... yes
checking for sys/sendfile.h... yes
checking for main in -lsocket... no
checking for main in -lmach... no
checking for an ANSI C-conforming const... (cached) yes
checking for off_t... yes
checking for size_t... yes
checking for socklen_t equivalent... unsigned
checking for h_errno declaration in netdb.h... yes
checking for struct sockaddr_storage... yes
checking for _Bool... yes
checking for stdbool.h that conforms to C99 or later... yes
checking if sockaddr struct has sa_len member... no
checking for pid_t... yes
checking for fork... yes
checking for vfork... yes
checking for getpagesize... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for working mmap... yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking whether setpgrp requires zero arguments... yes
checking return type of signal handlers... void
checking for alarm... yes
checking for bzero... yes
checking for daemon... yes
checking for gethostbyname... yes
checking for gethrtime... no
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for memset... yes
checking for memcpy... yes
checking for munmap... yes
checking for select... yes
checking for setsid... yes
checking for socket... yes
checking for sqrt... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strstr... yes
checking for strtoul... yes
checking for uname... yes
checking for toupper... yes
checking for getnameinfo... yes
checking for getaddrinfo... yes
checking for inet_ntop... yes
checking for getifaddrs... yes
checking for library containing aio_read... none required
checking for sendfile... yes
checking for uname... (cached) yes
checking for mpctl... no
checking for processor_bind... no
checking for sched_setaffinity... yes
checking for bind_to_cpu_id... no
checking for bindprocessor... no
checking whether to include histogram support... no
checking whether to include dirty support... no
checking whether to include demo support... no
checking whether to include Unix-domain socket tests... yes
checking whether to include DLPI tests... no
checking whether to include DCCP tests... no
checking whether to include OMNI tests... yes
checking whether to include XTI tests... no
checking whether to include SDP tests... no
checking whether to include ICSC-EXS tests... no
checking whether to include SCTP tests... no
checking whether to include paced send (intervals) support... no
checking whether paced sends should spin... no
checking whether to include initial burst support in _RR tests... yes
checking which CPU utilization measurement type to use... "procstat - auto"
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/netperf_version.h
config.status: creating src/Makefile
config.status: creating src/missing/Makefile
config.status: creating src/missing/m4/Makefile
config.status: creating doc/Makefile
config.status: creating doc/examples/Makefile
config.status: creating netperf.spec
config.status: creating config.h
config.status: executing depfiles commands
2026-05-03T18:36:12.912617783+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % make -j$(nproc) 2>&1 | tail -10
fi; \
rm -rf $backupdir; exit $rc
/bin/bash: line 10: makeinfo: command not found
make[3]: *** [Makefile:405: netperf.info] Error 127
make[3]: Leaving directory '/tmp/netperf-src/doc'
make[2]: *** [Makefile:591: all-recursive] Error 1
make[2]: Leaving directory '/tmp/netperf-src/doc'
make[1]: *** [Makefile:403: all-recursive] Error 1
make[1]: Leaving directory '/tmp/netperf-src'
make: *** [Makefile:342: all] Error 2
2026-05-03T18:36:16.294886749+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % ls -la /tmp/netperf-src/src/netperf /tmp/netperf-src/src/netserver
-rwxr-xr-x. 1 maurycy maurycy 249744 May 3 18:36 /tmp/netperf-src/src/netperf
-rwxr-xr-x. 1 maurycy maurycy 317032 May 3 18:36 /tmp/netperf-src/src/netserver
2026-05-03T18:36:21.811683297+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % /tmp/netperf-src/src/netserver -D -p 19999 &
[1] 10731
Starting netserver with host 'IN(6)ADDR_ANY' port '19999' and family AF_UNSPEC
2026-05-03T18:36:52.522261564+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % /tmp/netperf-src/src/netperf -p 19999 -t STREAM_STREAM -H 127.0.0.1 -l 30 -- -m 1048576 -s 1048576 -S 1048576
STREAM STREAM TEST
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
425984 425984 1048576 30.00 159886.87
2026-05-03T18:37:37.529792457+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % /tmp/netperf-src/src/netperf -p 19999 -t DG_STREAM -H 127.0.0.1 -l 30 -- -m 32768
DG UNIDIRECTIONAL SEND TEST
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec
212992 32768 30.00 8751515 0 -264.84
2304 30.00 8751515 -264.84
2026-05-03T18:38:16.011597468+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % /tmp/netperf-src/src/netperf -p 19999 -t STREAM_RR -H 127.0.0.1 -l 30 -- -r 1024,1024
STREAM REQUEST/RESPONSE TEST
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec
212992 212992 1024 1024 30.00 35477.86
4608 2304
2026-05-03T18:39:10.370470184+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % /tmp/netperf-src/src/netperf -p 19999 -t TCP_STREAM -H 127.0.0.1 -l 30 -- -m 1048576 -s 1048576 -S 1048576
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 127.0.0.1 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
425984 425984 1048576 30.00 81696.95
2026-05-03T18:39:49.172872339+0000 maurycy@weiss /tmp/netperf-src (master afc51ff*?) % echo "msg_size throughput_Mbit/s"
for msg in 4096 16384 65536 262144 1048576 4194304; do
res=$(/tmp/netperf-src/src/netperf -p 19999 -t STREAM_STREAM -H 127.0.0.1 \
-l 10 -P 0 -- -m $msg -s 1048576 -S 1048576 2>&1 | tail -1 | awk '{print $5}')
printf "%-10d %s\n" $msg "$res"
done
msg_size throughput_Mbit/s
4096 44115.99
16384 92800.20
65536 134589.39
262144 150732.23
1048576 158313.23
4194304 151003.10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment