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&gru .
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 ior: 2MB - Default Test Directory blosc: blosclz cassandra: Reads rocksdb: Rand Fill rocksdb: Rand Read rocksdb: Seq Fill rocksdb: Rand Fill Sync rocksdb: Read While Writing keydb: mysqlslap: 16 redis: GET redis: SET hbase: Rand Write - 16 pgbench: 100 - 50 - Read Only pgbench: 100 - 50 - Read Write hbase: Rand Write - 16 leveldb: Hot Read leveldb: Rand Read leveldb: Seek Rand renaissance: Scala Dotty renaissance: Savina Reactors.IO renaissance: In-Memory Database Shootout pgbench: 100 - 50 - Read Only - Average Latency pgbench: 100 - 50 - Read Write - Average Latency dacapobench: Tradesoap dacapobench: Tradebeans go-benchmark: http go-benchmark: build sqlite: 1 build-linux-kernel: Time To Compile sqlite-speedtest: Timed Time - Size 1,000 TSX On TSX Off tsx=off 241.33 8811.4 20153 649287 20871491 854723 708 825294 399743.39 271 2331034.25 1738939.88 156563 99831 3621 149 3.951 3.927 5.037 1823.636 18883.649 3934.079 0.501 13.820 7039 3958 8486 20899671685 81.496 216.077 72.656 239.35 3.905 3.931 5.080 8513 73.971 245.90 8820.1 18942 615046 20895320 811689 694 805720 402334.06 273 2136959.8 1719333.83 99910 3597 3.874 3.938 5.059 1782.055 18766.717 3879.251 0.501 13.919 7136 3952 8412 20994242668 74.557 215.840 73.019 OpenBenchmarking.org
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
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 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
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
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
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
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
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
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 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
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
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
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
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 - 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
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
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
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
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
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
Phoronix Test Suite v10.8.5