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