TSX 2021 Tests for a future article. Intel Xeon E3-1280 v5 testing with a MSI Z170A SLI PLUS (MS-7998) v1.0 (2.A0 BIOS) and ASUS AMD Radeon HD 7850 / R7 265 R9 270 1024SP on Ubuntu 20.04 via the Phoronix Test Suite.
HTML result view exported from: https://openbenchmarking.org/result/2106286-IB-TSX20218835&grw .
TSX 2021 Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Compiler File-System Screen Resolution TSX On TSX Off tsx=off Intel Xeon E3-1280 v5 @ 4.00GHz (4 Cores / 8 Threads) MSI Z170A SLI PLUS (MS-7998) v1.0 (2.A0 BIOS) Intel Xeon E3-1200 v5/E3-1500 32GB 256GB TOSHIBA RD400 ASUS AMD Radeon HD 7850 / R7 265 R9 270 1024SP Realtek ALC1150 VA2431 Intel I219-V Ubuntu 20.04 5.13.0-051300-generic (x86_64) GNOME Shell 3.36.9 X Server 1.20.9 GCC 9.3.0 ext4 1920x1080 OpenBenchmarking.org Kernel Details - Transparent Huge Pages: madvise Compiler Details - --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++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --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=auto --with-tune=generic --without-cuda-driver -v Disk Details - NONE / errors=remount-ro,relatime,rw / Block Size: 4096 Processor Details - Scaling Governor: intel_pstate powersave - CPU Microcode: 0xe2 - Thermald 1.9.1 Java Details - OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) Security Details - itlb_multihit: KVM: Mitigation of VMX disabled + l1tf: Mitigation of PTE Inversion; VMX: conditional cache flushes SMT vulnerable + mds: Mitigation of Clear buffers; SMT vulnerable + meltdown: Mitigation of PTI + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + srbds: Mitigation of Microcode + tsx_async_abort: Mitigation of Clear buffers; SMT vulnerable
TSX 2021 go-benchmark: http go-benchmark: build dacapobench: Tradesoap dacapobench: Tradebeans ior: 2MB - Default Test Directory renaissance: Scala Dotty renaissance: Savina Reactors.IO renaissance: In-Memory Database Shootout build-linux-kernel: Time To Compile blosc: blosclz hbase: Rand Write - 16 hbase: Rand Write - 16 keydb: redis: GET redis: SET sqlite: 1 rocksdb: Rand Fill rocksdb: Rand Read rocksdb: Seq Fill rocksdb: Rand Fill Sync rocksdb: Read While Writing leveldb: Hot Read leveldb: Rand Read leveldb: Seek Rand sqlite-speedtest: Timed Time - Size 1,000 cassandra: Reads pgbench: 100 - 50 - Read Only pgbench: 100 - 50 - Read Only - Average Latency pgbench: 100 - 50 - Read Write pgbench: 100 - 50 - Read Write - Average Latency mysqlslap: 16 TSX On TSX Off tsx=off 8486 20899671685 7039 3958 241.33 1823.636 18883.649 3934.079 216.077 8811.4 156563 149 399743.39 2331034.25 1738939.88 81.496 649287 20871491 854723 708 825294 3.951 3.927 5.037 72.656 20153 99831 0.501 3621 13.820 271 8513 239.35 73.971 3.905 3.931 5.080 8412 20994242668 7136 3952 245.90 1782.055 18766.717 3879.251 215.840 8820.1 402334.06 2136959.8 1719333.83 74.557 615046 20895320 811689 694 805720 3.874 3.938 5.059 73.019 18942 99910 0.501 3597 13.919 273 OpenBenchmarking.org
Go Benchmarks Test: http OpenBenchmarking.org Nanoseconds/Operation, Fewer Is Better Go Benchmarks Test: http TSX On TSX Off tsx=off 2K 4K 6K 8K 10K SE +/- 7.51, N = 3 SE +/- 8.57, N = 3 SE +/- 2.19, N = 3 8486 8513 8412
Go Benchmarks Test: build OpenBenchmarking.org Nanoseconds/Operation, Fewer Is Better Go Benchmarks Test: build TSX On tsx=off 4000M 8000M 12000M 16000M 20000M SE +/- 251916468.85, N = 3 SE +/- 317657728.33, N = 3 20899671685 20994242668
DaCapo Benchmark Java Test: Tradesoap OpenBenchmarking.org msec, Fewer Is Better DaCapo Benchmark 9.12-MR1 Java Test: Tradesoap TSX On tsx=off 1500 3000 4500 6000 7500 SE +/- 90.59, N = 4 SE +/- 76.17, N = 7 7039 7136
DaCapo Benchmark Java Test: Tradebeans OpenBenchmarking.org msec, Fewer Is Better DaCapo Benchmark 9.12-MR1 Java Test: Tradebeans TSX On tsx=off 800 1600 2400 3200 4000 SE +/- 45.89, N = 20 SE +/- 33.66, N = 20 3958 3952
IOR Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better IOR 3.3.0 Block Size: 2MB - Disk Target: Default Test Directory TSX On TSX Off tsx=off 50 100 150 200 250 SE +/- 3.88, N = 15 SE +/- 4.35, N = 15 SE +/- 4.35, N = 15 241.33 239.35 245.90 MIN: 32.26 / MAX: 538.91 MIN: 11.12 / MAX: 542.6 MIN: 11.65 / MAX: 527.02 1. (CC) gcc options: -O2 -lm -pthread -lmpi
Renaissance Test: Scala Dotty OpenBenchmarking.org ms, Fewer Is Better Renaissance 0.10.0 Test: Scala Dotty TSX On tsx=off 400 800 1200 1600 2000 SE +/- 11.95, N = 5 SE +/- 13.65, N = 5 1823.64 1782.06
Renaissance Test: Savina Reactors.IO OpenBenchmarking.org ms, Fewer Is Better Renaissance 0.10.0 Test: Savina Reactors.IO TSX On tsx=off 4K 8K 12K 16K 20K SE +/- 80.93, N = 5 SE +/- 194.28, N = 5 18883.65 18766.72
Renaissance Test: In-Memory Database Shootout OpenBenchmarking.org ms, Fewer Is Better Renaissance 0.10.0 Test: In-Memory Database Shootout TSX On tsx=off 800 1600 2400 3200 4000 SE +/- 16.94, N = 5 SE +/- 24.74, N = 25 3934.08 3879.25
Timed Linux Kernel Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed Linux Kernel Compilation 5.10.20 Time To Compile TSX On tsx=off 50 100 150 200 250 SE +/- 0.96, N = 3 SE +/- 0.88, N = 3 216.08 215.84
C-Blosc Compressor: blosclz OpenBenchmarking.org MB/s, More Is Better C-Blosc 2.0 Compressor: blosclz TSX On tsx=off 2K 4K 6K 8K 10K SE +/- 12.04, N = 3 SE +/- 26.86, N = 3 8811.4 8820.1 1. (CC) gcc options: -std=gnu99 -O3 -pthread -lrt -lm
Apache HBase Test: Random Write - Clients: 16 OpenBenchmarking.org Rows Per Second, More Is Better Apache HBase 2.2.3 Test: Random Write - Clients: 16 TSX On 30K 60K 90K 120K 150K SE +/- 24865.11, N = 9 156563
Apache HBase Test: Random Write - Clients: 16 OpenBenchmarking.org Microseconds - Average Latency, Fewer Is Better Apache HBase 2.2.3 Test: Random Write - Clients: 16 TSX On 30 60 90 120 150 SE +/- 40.44, N = 9 149
KeyDB OpenBenchmarking.org Ops/sec, More Is Better KeyDB 6.0.16 TSX On tsx=off 90K 180K 270K 360K 450K SE +/- 797.45, N = 3 SE +/- 925.79, N = 3 399743.39 402334.06 1. (CXX) g++ options: -O2 -levent_openssl -levent -lcrypto -lssl -lpthread -lz -lpcre
Redis Test: GET OpenBenchmarking.org Requests Per Second, More Is Better Redis 6.0.9 Test: GET TSX On tsx=off 500K 1000K 1500K 2000K 2500K SE +/- 25150.71, N = 3 SE +/- 7372.12, N = 3 2331034.25 2136959.80 1. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3
Redis Test: SET OpenBenchmarking.org Requests Per Second, More Is Better Redis 6.0.9 Test: SET TSX On tsx=off 400K 800K 1200K 1600K 2000K SE +/- 1242.47, N = 3 SE +/- 3198.42, N = 3 1738939.88 1719333.83 1. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3
SQLite Threads / Copies: 1 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.30.1 Threads / Copies: 1 TSX On TSX Off tsx=off 20 40 60 80 100 SE +/- 0.24, N = 3 SE +/- 0.42, N = 3 SE +/- 0.04, N = 3 81.50 73.97 74.56 1. (CC) gcc options: -O2 -lz -lm -ldl -lpthread
Facebook RocksDB Test: Random Fill OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Fill TSX On tsx=off 140K 280K 420K 560K 700K SE +/- 5601.73, N = 3 SE +/- 10109.71, N = 3 649287 615046 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Random Read OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Read TSX On tsx=off 4M 8M 12M 16M 20M SE +/- 41394.62, N = 3 SE +/- 69534.86, N = 3 20871491 20895320 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Sequential Fill OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Sequential Fill TSX On tsx=off 200K 400K 600K 800K 1000K SE +/- 10004.14, N = 6 SE +/- 11000.86, N = 3 854723 811689 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Random Fill Sync OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Fill Sync TSX On tsx=off 150 300 450 600 750 SE +/- 1.53, N = 3 SE +/- 9.91, N = 3 708 694 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Read While Writing OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Read While Writing TSX On tsx=off 200K 400K 600K 800K 1000K SE +/- 3042.96, N = 3 SE +/- 1099.10, N = 3 825294 805720 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
LevelDB Benchmark: Hot Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Hot Read TSX On TSX Off tsx=off 0.889 1.778 2.667 3.556 4.445 SE +/- 0.021, N = 3 SE +/- 0.023, N = 3 SE +/- 0.037, N = 13 3.951 3.905 3.874 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Random Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Random Read TSX On TSX Off tsx=off 0.8861 1.7722 2.6583 3.5444 4.4305 SE +/- 0.004, N = 3 SE +/- 0.011, N = 3 SE +/- 0.029, N = 3 3.927 3.931 3.938 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Seek Random OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Seek Random TSX On TSX Off tsx=off 1.143 2.286 3.429 4.572 5.715 SE +/- 0.014, N = 3 SE +/- 0.022, N = 3 SE +/- 0.033, N = 3 5.037 5.080 5.059 1. (CXX) g++ options: -O3 -lsnappy -lpthread
SQLite Speedtest Timed Time - Size 1,000 OpenBenchmarking.org Seconds, Fewer Is Better SQLite Speedtest 3.30 Timed Time - Size 1,000 TSX On tsx=off 16 32 48 64 80 SE +/- 0.12, N = 3 SE +/- 0.05, N = 3 72.66 73.02 1. (CC) gcc options: -O2 -ldl -lz -lpthread
Apache Cassandra Test: Reads OpenBenchmarking.org Op/s, More Is Better Apache Cassandra 3.11.4 Test: Reads TSX On tsx=off 4K 8K 12K 16K 20K SE +/- 525.15, N = 6 SE +/- 247.27, N = 5 20153 18942
PostgreSQL pgbench Scaling Factor: 100 - Clients: 50 - Mode: Read Only OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 13.0 Scaling Factor: 100 - Clients: 50 - Mode: Read Only TSX On tsx=off 20K 40K 60K 80K 100K SE +/- 42.99, N = 3 SE +/- 143.59, N = 3 99831 99910 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -ldl -lm
PostgreSQL pgbench Scaling Factor: 100 - Clients: 50 - Mode: Read Only - Average Latency OpenBenchmarking.org ms, Fewer Is Better PostgreSQL pgbench 13.0 Scaling Factor: 100 - Clients: 50 - Mode: Read Only - Average Latency TSX On tsx=off 0.1127 0.2254 0.3381 0.4508 0.5635 SE +/- 0.000, N = 3 SE +/- 0.001, N = 3 0.501 0.501 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -ldl -lm
PostgreSQL pgbench Scaling Factor: 100 - Clients: 50 - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 13.0 Scaling Factor: 100 - Clients: 50 - Mode: Read Write TSX On tsx=off 800 1600 2400 3200 4000 SE +/- 53.90, N = 4 SE +/- 33.89, N = 15 3621 3597 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -ldl -lm
PostgreSQL pgbench Scaling Factor: 100 - Clients: 50 - Mode: Read Write - Average Latency OpenBenchmarking.org ms, Fewer Is Better PostgreSQL pgbench 13.0 Scaling Factor: 100 - Clients: 50 - Mode: Read Write - Average Latency TSX On tsx=off 4 8 12 16 20 SE +/- 0.21, N = 4 SE +/- 0.14, N = 15 13.82 13.92 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -ldl -lm
MariaDB Clients: 16 OpenBenchmarking.org Queries Per Second, More Is Better MariaDB 10.5.2 Clients: 16 TSX On tsx=off 60 120 180 240 300 SE +/- 0.21, N = 3 SE +/- 0.46, N = 3 271 273 1. (CXX) g++ options: -pie -fPIC -fstack-protector -O2 -lpthread -llzma -lbz2 -lsnappy -laio -lnuma -lpcre2-8 -lcrypt -lz -lm -lssl -lcrypto -ldl
Phoronix Test Suite v10.8.5