Windows vs. Linux Networking Performance

Network testing for a future article on Phoronix.

HTML result view exported from: https://openbenchmarking.org/result/1803140-FO-NETWORKS460.

Windows vs. Linux Networking PerformanceProcessorMotherboardMemoryDiskGraphicsNetworkChipsetAudioMonitorOSKernelDisplay DriverVulkanCompilerFile-SystemScreen ResolutionDesktopOpenGLDisplay ServerWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.6AMD EPYC 7551 32-Core @ 2.00GHz (32 Cores / 64 Threads)GIGABYTE MZ31-AR0-008 x 4096 MB 2666MHz 9ASF51272PZ-2G6E1466GB Samsung SSD 960 EVO 500GBNVIDIA GeForce GTX 1070 Ti 8192MB (1911/4004MHz)Realtek PCIe GBE Family + Microsoft ISATAPMicrosoft Windows Server 2016 Essentials Build 1439310.0 (x86_64)391.01 (23.21.13.9101)1.0.65GCC 7.1.0NTFS2560x1440GIGABYTE MZ31-AR0-00 v01010101 (F03 BIOS)AMD Family 17h28672MBSamsung SSD 960 EVO 500GBllvmpipe 28032MBNVIDIA GP104 HD AudioASUS PB278Realtek RTL8111/8168/8411Ubuntu 18.044.15.0-10-generic (x86_64)GNOME Shell 3.27.92modesetting 1.19.63.3 Mesa 18.0.0-rc4 (LLVM 5.0 128 bits)GCC 7.3.0ext41024x7688 x 4096 MB DDR4-2666MT/s 9ASF51272PZ-2G6E1ASPEED ASPEED Family 8192MBClear Linux OS 212604.15.7-536.native (x86_64)1.0.39GCC 7.3.0 + Clang 5.0.1 + LLVM 5.0.11920x1080AMD Device 145028672MBNVIDIA Device 10f0ASUS PB278Ubuntu 16.044.13.0-36-generic (x86_64)Unity 7.4.5modesetting 1.19.5GCC 5.4.0 20160609AMD Family 17hllvmpipe 28032MBNVIDIA GP104 HD AudioFedora 274.15.7-300.fc27.x86_64 (x86_64)GNOME Shell 3.26.22.1 Mesa 17.3.6 (LLVM 5.0 128 bits)GCC 7.3.1 201803038 x 4096 MB DDR4-2666MT/s 9ASF51272PZ-2G6E1Debian testing4.14.0-3-amd64 (x86_64)X Server 1.19.63.3 Mesa 17.3.6 (LLVM 5.0 128 bits)GCC 7.3.028672MBopenSUSE Tumbleweed 201803124.15.7-1-default (x86_64)KDE Plasma 5.12.3modesetting 1.19.63.3 Mesa 18.0.0-rc4 (LLVM 5.0 128 bits)GCC 7.3.1 20180307 [gcc-7-branch revision 258314]xfsManjaroLinux 17.1.64.14.25-1-MANJARO (x86_64)Xfce 4.123.3 Mesa 17.3.6 (LLVM 5.0 128 bits)GCC 7.3.0ext4OpenBenchmarking.orgCompiler Details- Ubuntu 18.04 LTS: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v - Clear Linux 21260: --build=x86_64-generic-linux --disable-libmpx --disable-libunwind-exceptions --disable-multiarch --disable-vtable-verify --enable-__cxa_atexit --enable-bootstrap --enable-clocale=gnu --enable-gnu-indirect-function --enable-languages=c,c++,fortran,go --enable-ld=default --enable-libstdcxx-pch --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --exec-prefix=/usr --includedir=/usr/include --target=x86_64-generic-linux --with-arch=westmere --with-glibc-version=2.19 --with-gnu-ld --with-isl --with-ppl=yes --with-tune=haswell - Ubuntu 16.04 LTS: --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v - Fedora Workstation 27: --build=x86_64-redhat-linux --disable-libunwind-exceptions --enable-__cxa_atexit --enable-bootstrap --enable-checking=release --enable-gnu-indirect-function --enable-gnu-unique-object --enable-initfini-array --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --enable-libmpx --enable-multilib --enable-offload-targets=nvptx-none --enable-plugin --enable-shared --enable-threads=posix --mandir=/usr/share/man --with-arch_32=i686 --with-gcc-major-version-only --with-isl --with-linker-hash-style=gnu --with-tune=generic --without-cuda-driver - Debian Testing: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v - openSUSE Tumbleweed: --build=x86_64-suse-linux --disable-libcc1 --disable-libssp --disable-libstdcxx-pch --disable-libvtv --disable-werror --enable-__cxa_atexit --enable-checking=release --enable-gnu-indirect-function --enable-languages=c,c++,objc,fortran,obj-c++,ada,go --enable-libstdcxx-allocator=new --enable-linux-futex --enable-multilib --enable-offload-targets=hsa,nvptx-none=/usr/nvptx-none, --enable-plugin --enable-ssp --enable-version-specific-runtime-libs --host=x86_64-suse-linux --mandir=/usr/share/man --with-arch-32=x86-64 --with-gcc-major-version-only --with-slibdir=/lib64 --with-tune=generic --without-cuda-driver --without-system-libunwind - Manjaro 17.1.6: --disable-libssp --disable-libstdcxx-pch --disable-libunwind-exceptions --disable-werror --enable-__cxa_atexit --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-install-libiberty --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-libmpx --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --mandir=/usr/share/man --with-isl --with-linker-hash-style=gnu Processor Details- Ubuntu 18.04 LTS: Scaling Governor: acpi-cpufreq ondemand- Clear Linux 21260: Scaling Governor: acpi-cpufreq performance- Ubuntu 16.04 LTS: Scaling Governor: acpi-cpufreq ondemand- Fedora Workstation 27: Scaling Governor: acpi-cpufreq ondemand- Debian Testing: Scaling Governor: acpi-cpufreq ondemand- openSUSE Tumbleweed: Scaling Governor: acpi-cpufreq ondemand- Manjaro 17.1.6: Scaling Governor: acpi-cpufreq schedutilSecurity Details- Ubuntu 18.04 LTS: __user pointer sanitization + Full AMD retpoline Protection- Clear Linux 21260: __user pointer sanitization + Full AMD retpoline Protection- Ubuntu 16.04 LTS: OSB (observable speculation barrier Intel v6) + Full AMD retpoline Protection- Fedora Workstation 27: SELinux + __user pointer sanitization + Full AMD retpoline IBPB Protection- Debian Testing: Full AMD retpoline Protection- openSUSE Tumbleweed: __user pointer sanitization + Full AMD retpoline IBPB Protection- Manjaro 17.1.6: __user pointer sanitization + Full AMD retpoline ProtectionEnvironment Details- Clear Linux 21260: CFFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-malign-data=abi-fno-semantic-interposition-ftree-vectorize-ftree-loop-vectorize-Wl-sort-common CFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wformat-Wformat-security-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-fno-semantic-interposition-ffat-lto-objects-fno-signed-zeros-fno-trapping-math-fassociative-math-Wl-sort-common CXXFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wformat-Wformat-security-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-fno-semantic-interposition-ffat-lto-objects-fno-signed-zeros-fno-trapping-math-fassociative-math-Wl-sort-common-fvisibility-inlines-hidden FFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-malign-data=abi-fno-semantic-interposition-ftree-vectorize-ftree-loop-vectorize THEANO_FLAGS=floatX=float32 openmp=true gcc.cxxflags="-ftree-vectorize-mavx" - Ubuntu 16.04 LTS: LIBGL_ALWAYS_SOFTWARE=1

Windows vs. Linux Networking Performancenetperf: 192.168.1.40 - TCP Request Response - 10 Secondsnetperf: 192.168.1.40 - TCP Request Response - 60 Secondsnetperf: 192.168.1.40 - UDP Request Response - 10 Secondsnetperf: 192.168.1.40 - UDP Request Response - 60 Secondsnetperf: 192.168.1.40 - TCP Request Response - 360 Secondsnetperf: 192.168.1.40 - UDP Request Response - 360 Secondsnetperf: 192.168.1.40 - TCP Stream - Server To Client - 60 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.6771.55747.11715.88728.79754.78730.7894.92873.44877.17865.22878.48864.31856.5194.15925.73920.35913.48918.92908.26904.3993.50850.84854.92861.09851.80848.15849.6594.15820.67830.55809.06835.17809.30817.3394.15873.55872.57851.02880.75876.64858.4894.15825.15851.73866.82861.33839.64458.6994.15732.64742.65739.79737.62730.75730.7417.12OpenBenchmarking.org

Netperf

Server: 192.168.1.40 - Test: TCP Request Response - Duration: 10 Seconds

OpenBenchmarking.orgTransaction Rate Per Second, More Is BetterNetperf 2.7.0Server: 192.168.1.40 - Test: TCP Request Response - Duration: 10 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.62004006008001000SE +/- 23.02, N = 6SE +/- 15.93, N = 3SE +/- 14.40, N = 6SE +/- 4.84, N = 3SE +/- 8.25, N = 3SE +/- 16.43, N = 3SE +/- 2.94, N = 3SE +/- 8.13, N = 3771.55873.44925.73850.84820.67873.55825.15732.64-pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math1. (CC) gcc options: -O3 -march=native -lm

Netperf

Server: 192.168.1.40 - Test: TCP Request Response - Duration: 60 Seconds

OpenBenchmarking.orgTransaction Rate Per Second, More Is BetterNetperf 2.7.0Server: 192.168.1.40 - Test: TCP Request Response - Duration: 60 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.62004006008001000SE +/- 10.35, N = 3SE +/- 8.23, N = 3SE +/- 11.24, N = 3SE +/- 5.38, N = 3SE +/- 7.21, N = 3SE +/- 12.02, N = 3SE +/- 6.45, N = 3SE +/- 2.30, N = 3747.11877.17920.35854.92830.55872.57851.73742.65-pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math1. (CC) gcc options: -O3 -march=native -lm

Netperf

Server: 192.168.1.40 - Test: UDP Request Response - Duration: 10 Seconds

OpenBenchmarking.orgTransaction Rate Per Second, More Is BetterNetperf 2.7.0Server: 192.168.1.40 - Test: UDP Request Response - Duration: 10 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.62004006008001000SE +/- 0.91, N = 3SE +/- 17.04, N = 3SE +/- 14.63, N = 4SE +/- 14.02, N = 3SE +/- 3.63, N = 3SE +/- 2.26, N = 3SE +/- 16.89, N = 3SE +/- 2.86, N = 3715.88865.22913.48861.09809.06851.02866.82739.79-pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math1. (CC) gcc options: -O3 -march=native -lm

Netperf

Server: 192.168.1.40 - Test: UDP Request Response - Duration: 60 Seconds

OpenBenchmarking.orgTransaction Rate Per Second, More Is BetterNetperf 2.7.0Server: 192.168.1.40 - Test: UDP Request Response - Duration: 60 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.62004006008001000SE +/- 8.89, N = 3SE +/- 8.35, N = 3SE +/- 14.53, N = 4SE +/- 2.81, N = 3SE +/- 10.43, N = 3SE +/- 11.46, N = 3SE +/- 15.74, N = 3SE +/- 5.34, N = 3728.79878.48918.92851.80835.17880.75861.33737.62-pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math1. (CC) gcc options: -O3 -march=native -lm

Netperf

Server: 192.168.1.40 - Test: TCP Request Response - Duration: 360 Seconds

OpenBenchmarking.orgTransaction Rate Per Second, More Is BetterNetperf 2.7.0Server: 192.168.1.40 - Test: TCP Request Response - Duration: 360 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.62004006008001000SE +/- 12.03, N = 3SE +/- 4.20, N = 3SE +/- 7.89, N = 3SE +/- 0.75, N = 3SE +/- 1.78, N = 3SE +/- 4.73, N = 3SE +/- 2.77, N = 3SE +/- 5.73, N = 3754.78864.31908.26848.15809.30876.64839.64730.75-pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math1. (CC) gcc options: -O3 -march=native -lm

Netperf

Server: 192.168.1.40 - Test: UDP Request Response - Duration: 360 Seconds

OpenBenchmarking.orgTransaction Rate Per Second, More Is BetterNetperf 2.7.0Server: 192.168.1.40 - Test: UDP Request Response - Duration: 360 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.62004006008001000SE +/- 4.39, N = 3SE +/- 8.26, N = 3SE +/- 2.72, N = 3SE +/- 4.35, N = 3SE +/- 3.14, N = 3SE +/- 4.35, N = 3SE +/- 124.88, N = 6SE +/- 1.12, N = 3730.78856.51904.39849.65817.33858.48458.69730.74-pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math1. (CC) gcc options: -O3 -march=native -lm

Netperf

Server: 192.168.1.40 - Test: TCP Stream - Server To Client - Duration: 60 Seconds

OpenBenchmarking.orgMegabits/sec Throughput, More Is BetterNetperf 2.7.0Server: 192.168.1.40 - Test: TCP Stream - Server To Client - Duration: 60 SecondsWindows Server 2016Ubuntu 18.04 LTSClear Linux 21260Ubuntu 16.04 LTSFedora Workstation 27Debian TestingopenSUSE TumbleweedManjaro 17.1.620406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.15, N = 394.9294.1593.5094.1594.1594.1594.1517.12-pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math1. (CC) gcc options: -O3 -march=native -lm


Phoronix Test Suite v10.8.4