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