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&grr&sor .
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 mysqlslap: 16 renaissance: In-Memory Database Shootout renaissance: Savina Reactors.IO cassandra: Reads build-linux-kernel: Time To Compile renaissance: Scala Dotty pgbench: 100 - 50 - Read Write - Average Latency pgbench: 100 - 50 - Read Write hbase: Rand Write - 16 hbase: Rand Write - 16 sqlite: 1 sqlite-speedtest: Timed Time - Size 1,000 keydb: rocksdb: Rand Fill Sync dacapobench: Tradebeans rocksdb: Rand Fill rocksdb: Read While Writing rocksdb: Rand Read pgbench: 100 - 50 - Read Only - Average Latency pgbench: 100 - 50 - Read Only dacapobench: Tradesoap ior: 2MB - Default Test Directory go-benchmark: build redis: SET blosc: blosclz rocksdb: Seq Fill redis: GET go-benchmark: http leveldb: Hot Read leveldb: Seek Rand leveldb: Rand Read TSX On TSX Off tsx=off 271 3934.079 18883.649 20153 216.077 1823.636 13.820 3621 149 156563 81.496 72.656 399743.39 708 3958 649287 825294 20871491 0.501 99831 7039 241.33 20899671685 1738939.88 8811.4 854723 2331034.25 8486 3.951 5.037 3.927 73.971 239.35 8513 3.905 5.080 3.931 273 3879.251 18766.717 18942 215.840 1782.055 13.919 3597 74.557 73.019 402334.06 694 3952 615046 805720 20895320 0.501 99910 7136 245.90 20994242668 1719333.83 8820.1 811689 2136959.8 8412 3.874 5.059 3.938 OpenBenchmarking.org
MariaDB Clients: 16 OpenBenchmarking.org Queries Per Second, More Is Better MariaDB 10.5.2 Clients: 16 tsx=off TSX On 60 120 180 240 300 SE +/- 0.46, N = 3 SE +/- 0.21, N = 3 273 271 1. (CXX) g++ options: -pie -fPIC -fstack-protector -O2 -lpthread -llzma -lbz2 -lsnappy -laio -lnuma -lpcre2-8 -lcrypt -lz -lm -lssl -lcrypto -ldl
Renaissance Test: In-Memory Database Shootout OpenBenchmarking.org ms, Fewer Is Better Renaissance 0.10.0 Test: In-Memory Database Shootout tsx=off TSX On 800 1600 2400 3200 4000 SE +/- 24.74, N = 25 SE +/- 16.94, N = 5 3879.25 3934.08
Renaissance Test: Savina Reactors.IO OpenBenchmarking.org ms, Fewer Is Better Renaissance 0.10.0 Test: Savina Reactors.IO tsx=off TSX On 4K 8K 12K 16K 20K SE +/- 194.28, N = 5 SE +/- 80.93, N = 5 18766.72 18883.65
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
Timed Linux Kernel Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed Linux Kernel Compilation 5.10.20 Time To Compile tsx=off TSX On 50 100 150 200 250 SE +/- 0.88, N = 3 SE +/- 0.96, N = 3 215.84 216.08
Renaissance Test: Scala Dotty OpenBenchmarking.org ms, Fewer Is Better Renaissance 0.10.0 Test: Scala Dotty tsx=off TSX On 400 800 1200 1600 2000 SE +/- 13.65, N = 5 SE +/- 11.95, N = 5 1782.06 1823.64
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
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
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
SQLite Threads / Copies: 1 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.30.1 Threads / Copies: 1 TSX Off tsx=off TSX On 20 40 60 80 100 SE +/- 0.42, N = 3 SE +/- 0.04, N = 3 SE +/- 0.24, N = 3 73.97 74.56 81.50 1. (CC) gcc options: -O2 -lz -lm -ldl -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
KeyDB OpenBenchmarking.org Ops/sec, More Is Better KeyDB 6.0.16 tsx=off TSX On 90K 180K 270K 360K 450K SE +/- 925.79, N = 3 SE +/- 797.45, N = 3 402334.06 399743.39 1. (CXX) g++ options: -O2 -levent_openssl -levent -lcrypto -lssl -lpthread -lz -lpcre
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
DaCapo Benchmark Java Test: Tradebeans OpenBenchmarking.org msec, Fewer Is Better DaCapo Benchmark 9.12-MR1 Java Test: Tradebeans tsx=off TSX On 800 1600 2400 3200 4000 SE +/- 33.66, N = 20 SE +/- 45.89, N = 20 3952 3958
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: 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
Facebook RocksDB Test: Random Read OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Read tsx=off TSX On 4M 8M 12M 16M 20M SE +/- 69534.86, N = 3 SE +/- 41394.62, N = 3 20895320 20871491 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
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 Only OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 13.0 Scaling Factor: 100 - Clients: 50 - Mode: Read Only tsx=off TSX On 20K 40K 60K 80K 100K SE +/- 143.59, N = 3 SE +/- 42.99, N = 3 99910 99831 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
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=off TSX On TSX Off 50 100 150 200 250 SE +/- 4.35, N = 15 SE +/- 3.88, N = 15 SE +/- 4.35, N = 15 245.90 241.33 239.35 MIN: 11.65 / MAX: 527.02 MIN: 32.26 / MAX: 538.91 MIN: 11.12 / MAX: 542.6 1. (CC) gcc options: -O2 -lm -pthread -lmpi
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
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
C-Blosc Compressor: blosclz OpenBenchmarking.org MB/s, More Is Better C-Blosc 2.0 Compressor: blosclz tsx=off TSX On 2K 4K 6K 8K 10K SE +/- 26.86, N = 3 SE +/- 12.04, N = 3 8820.1 8811.4 1. (CC) gcc options: -std=gnu99 -O3 -pthread -lrt -lm
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
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
Go Benchmarks Test: http OpenBenchmarking.org Nanoseconds/Operation, Fewer Is Better Go Benchmarks Test: http tsx=off TSX On TSX Off 2K 4K 6K 8K 10K SE +/- 2.19, N = 3 SE +/- 7.51, N = 3 SE +/- 8.57, N = 3 8412 8486 8513
LevelDB Benchmark: Hot Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Hot Read tsx=off TSX Off TSX On 0.889 1.778 2.667 3.556 4.445 SE +/- 0.037, N = 13 SE +/- 0.023, N = 3 SE +/- 0.021, N = 3 3.874 3.905 3.951 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.033, N = 3 SE +/- 0.022, N = 3 5.037 5.059 5.080 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
Phoronix Test Suite v10.8.5