Linux 4.19 I/O Scheduler Performance

Linux I/O scheduler benchmarks for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1811264-SK-LINUX419I79&gru&sro.

Linux 4.19 I/O Scheduler PerformanceProcessorMotherboardChipsetMemoryDiskGraphicsMonitorNetworkOSKernelCompilerFile-SystemScreen ResolutionCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads)Dell 02MJ3T (1.2.5 BIOS)AMD Family 17h16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860Matrox G200eW3VE228Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMAUbuntu 18.104.19.0-041900-generic (x86_64)GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0ext41600x120020 x 500GB Samsung SSD 860 + 120GB SSDSCKJB120G7R120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860OpenBenchmarking.orgCompiler 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++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --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 --with-tune=generic --without-cuda-driver -v Disk Details- CFQ: CFQ / relatime,rw- Deadline: DEADLINE / relatime,rw- Noop: NOOP / relatime,rw- MQ None: NONE / relatime,rw- BFQ low_latency: BFQ / relatime,rw- BFQ: BFQ / relatime,rw- Kyber: KYBER / relatime,rw- MQ Deadline: MQ-DEADLINE / relatime,rwPython Details- Python 2.7.15+ + Python 3.6.7Security Details- __user pointer sanitization + Full AMD retpoline IBPB + SSB disabled via prctl and seccomp

Linux 4.19 I/O Scheduler Performancefs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizefs-mark: 1000 Files, 1MB Size, No Sync/FSyncblogbench: Readblogbench: Writefio: Rand Read - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 4KB - Default Test Directorycompilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treepgbench: Buffer Test - Normal Load - Read Onlypgbench: Buffer Test - Normal Load - Read Writesqlite: Timed SQLite Insertionsbuild-gcc: Time To Compilebuild-linux-kernel: Time To CompileCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline17418186.701890748396235472532843912373823224053131554370881519438365633.1780626.3817317384.471896736143228175423134032373823244103151576388938552470507434.2080326.3791.3017881.801897705847214855422713102382532533183091568391968533709255477.1080726.4864.4314057.201920795075273205432702802272522523113091571396972533463208968.2980026.5061.3313166.931918785541225125432722232122522533123101591394960519792340675.0580426.49168.2318183.831896805148241635422703792363813293863131575387969545719483757.3280026.4391.6818389.171909780536274925432753112362532533123081577390949497899230369.1180426.4259.2312367.381893783446263425432722432262522523133071577389955506397245377.5279626.44OpenBenchmarking.org

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop4080120160200SE +/- 0.44, N = 3SE +/- 2.31, N = 12SE +/- 0.09, N = 3SE +/- 0.23, N = 3SE +/- 2.15, N = 12SE +/- 2.40, N = 12SE +/- 2.14, N = 12SE +/- 6.28, N = 12168.2361.33174.00173.0091.6859.2364.4391.301. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop4080120160200SE +/- 5.19, N = 12SE +/- 9.48, N = 6SE +/- 5.69, N = 12SE +/- 0.13, N = 3SE +/- 0.35, N = 3SE +/- 12.68, N = 6SE +/- 8.57, N = 8SE +/- 0.61, N = 31811311811731831231401781. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop20406080100SE +/- 0.07, N = 3SE +/- 1.76, N = 12SE +/- 0.06, N = 3SE +/- 0.12, N = 3SE +/- 0.07, N = 3SE +/- 1.79, N = 12SE +/- 1.01, N = 3SE +/- 1.50, N = 383.8366.9386.7084.4789.1767.3857.2081.801. (CC) gcc options: -static

FS-Mark

Test: 1000 Files, 1MB Size, No Sync/FSync

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB Size, No Sync/FSyncBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop400800120016002000SE +/- 9.03, N = 3SE +/- 13.64, N = 3SE +/- 4.42, N = 3SE +/- 4.07, N = 3SE +/- 8.63, N = 3SE +/- 5.34, N = 3SE +/- 10.18, N = 3SE +/- 5.04, N = 3189619181890189619091893192018971. (CC) gcc options: -static

BlogBench

Test: Read

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: ReadBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop200K400K600K800K1000KSE +/- 6417.79, N = 3SE +/- 7744.57, N = 3SE +/- 12021.04, N = 3SE +/- 12667.35, N = 4SE +/- 3436.67, N = 3SE +/- 15271.38, N = 3SE +/- 5674.85, N = 3SE +/- 14644.01, N = 98051487855417483967361437805367834467950757058471. (CC) gcc options: -O2 -pthread

BlogBench

Test: Write

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop6K12K18K24K30KSE +/- 2384.58, N = 3SE +/- 2941.93, N = 3SE +/- 1591.21, N = 3SE +/- 1730.49, N = 3SE +/- 265.64, N = 3SE +/- 1133.74, N = 3SE +/- 386.03, N = 3SE +/- 1540.70, N = 324163225122354722817274922634227320214851. (CC) gcc options: -O2 -pthread

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop20K40K60K80K100KSE +/- 384.42, N = 3SE +/- 33.33, N = 3SE +/- 33.33, N = 3SE +/- 100.00, N = 3SE +/- 33.33, N = 368767695007266780200704676970069133695001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop13K26K39K52K65KSE +/- 272.85, N = 3SE +/- 632.60, N = 10SE +/- 284.80, N = 3SE +/- 88.19, N = 3SE +/- 771.00, N = 6SE +/- 260.34, N = 3SE +/- 328.30, N = 360333542806076760600605335773358067606331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop20K40K60K80K100KSE +/- 650.64, N = 3SE +/- 33.33, N = 3SE +/- 120.19, N = 3SE +/- 233.33, N = 384300646338256782833647006460064600648001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop20K40K60K80K100KSE +/- 635.96, N = 3SE +/- 208.17, N = 3SE +/- 584.05, N = 3SE +/- 437.16, N = 3SE +/- 296.27, N = 3SE +/- 366.67, N = 3SE +/- 133.33, N = 380233793008016780567785677876779167791001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop120240360480600SE +/- 0.33, N = 3SE +/- 0.33, N = 35425432535425435435435421. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop70140210280350SE +/- 0.33, N = 3SE +/- 0.33, N = 32702722843132752722702711. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop90180270360450SE +/- 3.71, N = 3SE +/- 12.98, N = 12SE +/- 4.04, N = 3SE +/- 7.51, N = 3SE +/- 12.51, N = 12SE +/- 7.26, N = 12SE +/- 1.53, N = 33792233914033112432803101. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop50100150200250SE +/- 0.88, N = 3SE +/- 2.41, N = 10SE +/- 1.20, N = 3SE +/- 3.07, N = 6SE +/- 1.15, N = 32362122372372362262272381. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop801602403204003812523823822532522522531. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop70140210280350SE +/- 2.33, N = 3SE +/- 0.88, N = 33292533223242532522522531. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop90180270360450SE +/- 4.74, N = 7SE +/- 0.67, N = 3SE +/- 3.84, N = 3SE +/- 0.67, N = 3SE +/- 0.88, N = 3SE +/- 1.86, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 33863124054103123133113181. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop70140210280350SE +/- 2.52, N = 3SE +/- 2.19, N = 3SE +/- 1.86, N = 3SE +/- 0.67, N = 3SE +/- 1.33, N = 3SE +/- 0.67, N = 33133103133153083073093091. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Compile Bench

Test: Compile

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop30060090012001500SE +/- 27.17, N = 3SE +/- 23.01, N = 3SE +/- 25.94, N = 12SE +/- 18.06, N = 3SE +/- 9.90, N = 3SE +/- 8.82, N = 3SE +/- 10.25, N = 3SE +/- 3.60, N = 315751591155415761577157715711568

Compile Bench

Test: Initial Create

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop90180270360450SE +/- 4.71, N = 3SE +/- 2.88, N = 3SE +/- 14.05, N = 3SE +/- 5.24, N = 3SE +/- 3.28, N = 3SE +/- 4.48, N = 3SE +/- 2.34, N = 3SE +/- 0.40, N = 3387394370388390389396391

Compile Bench

Test: Read Compiled Tree

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop2004006008001000SE +/- 13.50, N = 3SE +/- 10.55, N = 3SE +/- 88.38, N = 3SE +/- 16.27, N = 3SE +/- 33.71, N = 3SE +/- 9.75, N = 3SE +/- 0.68, N = 3SE +/- 0.51, N = 3969960881938949955972968

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Only

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop120K240K360K480K600KSE +/- 9965.65, N = 3SE +/- 8044.90, N = 9SE +/- 14237.99, N = 9SE +/- 5594.65, N = 3SE +/- 16915.21, N = 9SE +/- 17086.01, N = 9SE +/- 1266.65, N = 3SE +/- 5081.43, N = 35457195197925194385524704978995063975334635337091. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop11002200330044005500SE +/- 30.68, N = 3SE +/- 274.44, N = 6SE +/- 482.90, N = 6SE +/- 43.49, N = 3SE +/- 328.42, N = 9SE +/- 116.16, N = 6SE +/- 79.41, N = 9SE +/- 178.04, N = 9483734063656507423032453208925541. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

SQLite

Timed SQLite Insertions

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop20406080100SE +/- 0.64, N = 3SE +/- 8.89, N = 9SE +/- 0.04, N = 3SE +/- 0.02, N = 3SE +/- 9.71, N = 9SE +/- 10.09, N = 9SE +/- 9.94, N = 9SE +/- 10.02, N = 957.3275.0533.1734.2069.1177.5268.2977.101. (CC) gcc options: -O2 -lz -ldl -lpthread

Timed GCC Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 8.2Time To CompileBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop2004006008001000800804806803804796800807

Timed Linux Kernel Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.18Time To CompileBFQBFQ low_latencyCFQDeadlineKyberMQ DeadlineMQ NoneNoop612182430SE +/- 0.27, N = 12SE +/- 0.30, N = 12SE +/- 0.30, N = 9SE +/- 0.32, N = 12SE +/- 0.26, N = 12SE +/- 0.29, N = 12SE +/- 0.28, N = 12SE +/- 0.30, N = 1226.4326.4926.3826.3726.4226.4426.5026.48


Phoronix Test Suite v10.8.5