Changes in / [4520b77e:12df6fe]
- Files:
-
- 83 added
- 55 deleted
- 151 edited
-
Jenkins/FullBuild (modified) (1 diff)
-
Jenkinsfile (modified) (6 diffs)
-
benchmark/basic/tls_fetch_add.c (modified) (1 diff)
-
benchmark/io/http/main.cfa (modified) (4 diffs)
-
benchmark/io/http/printer.cfa (modified) (4 diffs)
-
benchmark/io/http/printer.hfa (modified) (1 diff)
-
benchmark/io/http/protocol.cfa (modified) (6 diffs)
-
benchmark/io/http/protocol.hfa (modified) (1 diff)
-
benchmark/io/http/socket.cfa (modified) (2 diffs)
-
benchmark/io/http/worker.cfa (modified) (17 diffs)
-
benchmark/io/http/worker.hfa (modified) (1 diff)
-
benchmark/plot.py (modified) (9 diffs)
-
benchmark/process-mutilate.py (modified) (1 diff)
-
benchmark/process-trun.py (deleted)
-
benchmark/readyQ/churn.go (modified) (1 diff)
-
benchmark/readyQ/locality.cfa (modified) (2 diffs)
-
benchmark/readyQ/locality.cpp (modified) (1 diff)
-
benchmark/readyQ/locality.go (modified) (1 diff)
-
benchmark/readyQ/locality.rs (modified) (1 diff)
-
benchmark/readyQ/rq_bench.hfa (modified) (1 diff)
-
benchmark/readyQ/transfer.cfa (modified) (1 diff)
-
benchmark/readyQ/transfer.go (modified) (1 diff)
-
benchmark/rmit.py (modified) (4 diffs)
-
configure.ac (modified) (2 diffs)
-
doc/LaTeXmacros/lstlang.sty (modified) (1 diff)
-
doc/bibliography/pl.bib (modified) (3 diffs)
-
doc/proposals/iterators.md (deleted)
-
doc/theses/thierry_delisle_PhD/.gitignore (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/Makefile (modified) (6 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/data/churn.jax (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/churn.low.jax (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/churn.low.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/churn.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/cycle.jax (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/cycle.low.jax (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/cycle.low.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/cycle.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.noshare.jax (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.noshare.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.share.jax (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.share.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/memcd.rate (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/memcd.updt (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/swbsrv.25gb.cfa (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/swbsrv.25gb.cfa.bak (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/swbsrv.25gb.nginx (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/yield.jax (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/yield.low.jax (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/yield.low.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/data/yield.nasus (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/glossary.tex (modified) (13 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/local.bib (modified) (8 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/test.svg (added)
-
doc/theses/thierry_delisle_PhD/thesis/text/conclusion.tex (deleted)
-
doc/theses/thierry_delisle_PhD/thesis/text/core.tex (modified) (15 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/eval_macro.tex (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/text/eval_micro.tex (modified) (21 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/existing.tex (modified) (7 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/front.tex (modified) (9 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/intro.tex (modified) (3 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/io.tex (modified) (22 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/practice.tex (modified) (11 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/runtime.tex (modified) (6 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/thesis.tex (modified) (4 diffs)
-
doc/user/user.tex (modified) (8 diffs)
-
driver/Makefile.am (modified) (1 diff)
-
driver/cfa.cc (modified) (1 diff)
-
libcfa/prelude/Makefile.am (modified) (2 diffs)
-
libcfa/prelude/defines.hfa.in (modified) (1 diff)
-
libcfa/src/Makefile.am (modified) (1 diff)
-
libcfa/src/bits/defs.hfa (modified) (2 diffs)
-
libcfa/src/bits/locks.hfa (modified) (1 diff)
-
libcfa/src/concurrency/io.cfa (modified) (20 diffs)
-
libcfa/src/concurrency/io/call.cfa.in (modified) (4 diffs)
-
libcfa/src/concurrency/io/setup.cfa (modified) (12 diffs)
-
libcfa/src/concurrency/io/types.hfa (modified) (5 diffs)
-
libcfa/src/concurrency/iofwd.hfa (modified) (2 diffs)
-
libcfa/src/concurrency/kernel.cfa (modified) (5 diffs)
-
libcfa/src/concurrency/kernel.hfa (modified) (7 diffs)
-
libcfa/src/concurrency/kernel/cluster.cfa (modified) (13 diffs)
-
libcfa/src/concurrency/kernel/cluster.hfa (modified) (3 diffs)
-
libcfa/src/concurrency/kernel/fwd.hfa (modified) (1 diff)
-
libcfa/src/concurrency/kernel/private.hfa (modified) (9 diffs)
-
libcfa/src/concurrency/kernel/startup.cfa (modified) (6 diffs)
-
libcfa/src/concurrency/preemption.cfa (modified) (8 diffs)
-
libcfa/src/concurrency/ready_queue.cfa (modified) (7 diffs)
-
libcfa/src/concurrency/ready_subqueue.hfa (modified) (6 diffs)
-
libcfa/src/concurrency/stats.cfa (modified) (3 diffs)
-
libcfa/src/concurrency/stats.hfa (modified) (2 diffs)
-
libcfa/src/iostream.cfa (modified) (2 diffs)
-
libcfa/src/rational.cfa (modified) (3 diffs)
-
libcfa/src/startup.cfa (modified) (1 diff)
-
libcfa/src/stdlib.cfa (modified) (4 diffs)
-
libcfa/src/stdlib.hfa (modified) (2 diffs)
-
src/AST/Decl.hpp (modified) (4 diffs)
-
src/AST/DeclReplacer.cpp (modified) (1 diff)
-
src/AST/Pass.hpp (modified) (1 diff)
-
src/AST/Pass.impl.hpp (modified) (3 diffs)
-
src/AST/Pass.proto.hpp (modified) (1 diff)
-
src/AST/Print.cpp (modified) (4 diffs)
-
src/AST/StorageClasses.hpp (modified) (3 diffs)
-
src/AST/Type.cpp (modified) (3 diffs)
-
src/AST/Type.hpp (modified) (3 diffs)
-
src/Common/Eval.cc (modified) (2 diffs)
-
src/Common/ScopedMap.h (modified) (24 diffs)
-
src/Common/utility.h (modified) (1 diff)
-
src/CompilationState.cc (modified) (1 diff)
-
src/Concurrency/Keywords.cc (modified) (9 diffs)
-
src/Concurrency/KeywordsNew.cpp (modified) (12 diffs)
-
src/Concurrency/WaitforNew.cpp (modified) (1 diff)
-
src/ControlStruct/ExceptDeclNew.cpp (modified) (8 diffs)
-
src/ControlStruct/ExceptTranslateNew.cpp (modified) (4 diffs)
-
src/ControlStruct/LabelFixer.cc (modified) (1 diff)
-
src/ControlStruct/LabelFixer.h (modified) (1 diff)
-
src/ControlStruct/MLEMutator.cc (modified) (1 diff)
-
src/ControlStruct/MLEMutator.h (modified) (1 diff)
-
src/GenPoly/GenPoly.cc (modified) (7 diffs)
-
src/GenPoly/GenPoly.h (modified) (4 diffs)
-
src/GenPoly/InstantiateGeneric.h (modified) (1 diff)
-
src/GenPoly/InstantiateGenericNew.cpp (deleted)
-
src/GenPoly/ScrubTyVars.cc (modified) (2 diffs)
-
src/GenPoly/ScrubTyVars.h (modified) (3 diffs)
-
src/GenPoly/Specialize.h (modified) (2 diffs)
-
src/GenPoly/SpecializeNew.cpp (modified) (12 diffs)
-
src/GenPoly/module.mk (modified) (1 diff)
-
src/InitTweak/FixInitNew.cpp (modified) (4 diffs)
-
src/InitTweak/InitTweak.cc (modified) (12 diffs)
-
src/Makefile.am (modified) (1 diff)
-
src/Parser/DeclarationNode.cc (modified) (8 diffs)
-
src/Parser/TypeData.cc (modified) (4 diffs)
-
src/Parser/TypeData.h (modified) (2 diffs)
-
src/Parser/TypedefTable.cc (modified) (5 diffs)
-
src/Parser/lex.ll (modified) (2 diffs)
-
src/Parser/parser.yy (modified) (10 diffs)
-
src/ResolvExpr/CandidateFinder.cpp (modified) (27 diffs)
-
src/ResolvExpr/Resolver.cc (modified) (2 diffs)
-
src/SymTab/Autogen.cc (modified) (1 diff)
-
src/SynTree/Statement.cc (modified) (4 diffs)
-
src/SynTree/Statement.h (modified) (2 diffs)
-
src/SynTree/Type.cc (modified) (1 diff)
-
src/SynTree/Type.h (modified) (3 diffs)
-
src/Tuples/TupleExpansionNew.cpp (modified) (2 diffs)
-
src/Tuples/Tuples.h (modified) (2 diffs)
-
src/Validate/Autogen.cpp (modified) (2 diffs)
-
src/Virtual/ExpandCasts.cc (modified) (6 diffs)
-
src/Virtual/ExpandCasts.h (modified) (2 diffs)
-
src/config.h.in (modified) (1 diff)
-
src/main.cc (modified) (11 diffs)
-
tests/.expect/KRfunctions.arm64.txt (deleted)
-
tests/.expect/KRfunctions.nast.arm64.txt (added)
-
tests/.expect/KRfunctions.nast.x64.txt (added)
-
tests/.expect/KRfunctions.nast.x86.txt (added)
-
tests/.expect/KRfunctions.oast.arm64.txt (added)
-
tests/.expect/KRfunctions.oast.x64.txt (added)
-
tests/.expect/KRfunctions.oast.x86.txt (added)
-
tests/.expect/KRfunctions.x64.txt (deleted)
-
tests/.expect/KRfunctions.x86.txt (deleted)
-
tests/.expect/alloc-ERROR.nast.txt (added)
-
tests/.expect/alloc-ERROR.oast.txt (added)
-
tests/.expect/alloc-ERROR.txt (deleted)
-
tests/.expect/attributes.arm64.txt (deleted)
-
tests/.expect/attributes.nast.arm64.txt (added)
-
tests/.expect/attributes.nast.x64.txt (added)
-
tests/.expect/attributes.nast.x86.txt (added)
-
tests/.expect/attributes.oast.arm64.txt (added)
-
tests/.expect/attributes.oast.x64.txt (added)
-
tests/.expect/attributes.oast.x86.txt (added)
-
tests/.expect/attributes.x64.txt (deleted)
-
tests/.expect/attributes.x86.txt (deleted)
-
tests/.expect/bitmanip2.nast.x86.txt (added)
-
tests/.expect/bitmanip2.x86.txt (deleted)
-
tests/.expect/castError.nast.txt (added)
-
tests/.expect/castError.oast.txt (added)
-
tests/.expect/castError.txt (deleted)
-
tests/.expect/declarationSpecifier.arm64.txt (modified) (1 diff)
-
tests/.expect/declarationSpecifier.x64.txt (modified) (1 diff)
-
tests/.expect/declarationSpecifier.x86.txt (modified) (1 diff)
-
tests/.expect/functions.arm64.txt (deleted)
-
tests/.expect/functions.nast.arm64.txt (added)
-
tests/.expect/functions.nast.x64.txt (added)
-
tests/.expect/functions.nast.x86.txt (added)
-
tests/.expect/functions.oast.arm64.txt (added)
-
tests/.expect/functions.oast.x64.txt (added)
-
tests/.expect/functions.oast.x86.txt (added)
-
tests/.expect/functions.x64.txt (deleted)
-
tests/.expect/functions.x86.txt (deleted)
-
tests/.expect/init1-ERROR.nast.txt (added)
-
tests/.expect/init1-ERROR.oast.txt (added)
-
tests/.expect/init1-ERROR.txt (deleted)
-
tests/.expect/loop_else.txt (modified) (2 diffs)
-
tests/.expect/loopctrl.txt (modified) (2 diffs)
-
tests/.expect/math.arm64.txt (deleted)
-
tests/.expect/math.nast.arm64.txt (added)
-
tests/.expect/math.nast.x64.txt (added)
-
tests/.expect/math.nast.x86.txt (added)
-
tests/.expect/math.x64.txt (deleted)
-
tests/.expect/math.x86.txt (deleted)
-
tests/.expect/math1.oast.arm64.txt (added)
-
tests/.expect/math1.oast.x64.txt (added)
-
tests/.expect/math1.oast.x86.txt (added)
-
tests/.expect/math2.oast.arm64.txt (added)
-
tests/.expect/math2.oast.x64.txt (added)
-
tests/.expect/math2.oast.x86.txt (added)
-
tests/.expect/math3.oast.arm64.txt (added)
-
tests/.expect/math3.oast.x64.txt (added)
-
tests/.expect/math3.oast.x86.txt (added)
-
tests/.expect/math4.oast.arm64.txt (added)
-
tests/.expect/math4.oast.x64.txt (added)
-
tests/.expect/math4.oast.x86.txt (added)
-
tests/.expect/mathX.arm64.txt (deleted)
-
tests/.expect/mathX.nast.arm64.txt (added)
-
tests/.expect/mathX.nast.x64.txt (added)
-
tests/.expect/mathX.nast.x86.txt (added)
-
tests/.expect/mathX.x64.txt (deleted)
-
tests/.expect/mathX.x86.txt (deleted)
-
tests/.expect/nested-types-ERR2.nast.txt (added)
-
tests/.expect/nested-types-ERR2.oast.txt (added)
-
tests/.expect/nested-types-ERR2.txt (deleted)
-
tests/Makefile.am (modified) (2 diffs)
-
tests/array-container/.expect/language-dim-mismatch.nast.txt (added)
-
tests/array-container/.expect/language-dim-mismatch.oast.txt (added)
-
tests/array-container/.expect/language-dim-mismatch.txt (deleted)
-
tests/concurrent/.expect/keywordErrors.nast.txt (added)
-
tests/concurrent/.expect/keywordErrors.oast.txt (added)
-
tests/concurrent/.expect/keywordErrors.txt (deleted)
-
tests/concurrent/.expect/mainError.nast.txt (added)
-
tests/concurrent/.expect/mainError.oast.txt (added)
-
tests/concurrent/.expect/mainError.txt (deleted)
-
tests/concurrent/clib.c (modified) (1 diff)
-
tests/concurrent/clib_tls.c (modified) (1 diff)
-
tests/concurrent/park/contention.cfa (modified) (1 diff)
-
tests/config.py.in (modified) (1 diff)
-
tests/declarationSpecifier.cfa (modified) (3 diffs)
-
tests/errors/.expect/completeType.arm64.txt (deleted)
-
tests/errors/.expect/completeType.nast.arm64.txt (added)
-
tests/errors/.expect/completeType.nast.x64.txt (added)
-
tests/errors/.expect/completeType.nast.x86.txt (added)
-
tests/errors/.expect/completeType.oast.arm64.txt (added)
-
tests/errors/.expect/completeType.oast.x64.txt (added)
-
tests/errors/.expect/completeType.oast.x86.txt (added)
-
tests/errors/.expect/completeType.x64.txt (deleted)
-
tests/errors/.expect/completeType.x86.txt (deleted)
-
tests/errors/.expect/scope.nast.txt (added)
-
tests/errors/.expect/scope.oast.txt (added)
-
tests/errors/.expect/scope.txt (deleted)
-
tests/heap.cfa (modified) (14 diffs)
-
tests/include/.expect/includes.nast.txt (added)
-
tests/include/.expect/includes.txt (deleted)
-
tests/io/.expect/comp_basic.txt (deleted)
-
tests/io/.expect/io.nast.txt (added)
-
tests/io/.expect/io.txt (deleted)
-
tests/io/.expect/io1.oast.txt (added)
-
tests/io/.expect/io2.oast.txt (added)
-
tests/io/away_fair.cfa (modified) (1 diff)
-
tests/io/comp_basic.cfa (deleted)
-
tests/io/comp_fair.cfa (modified) (5 diffs)
-
tests/io/io1.cfa (added)
-
tests/io/io2.cfa (added)
-
tests/loop_else.cfa (modified) (5 diffs)
-
tests/loopctrl.cfa (modified) (7 diffs)
-
tests/math1.cfa (added)
-
tests/math2.cfa (added)
-
tests/math3.cfa (added)
-
tests/math4.cfa (added)
-
tests/meta/.expect/arch.arm64.txt (deleted)
-
tests/meta/.expect/arch.x64.txt (deleted)
-
tests/meta/.expect/arch.x86.txt (deleted)
-
tests/meta/.expect/archVast.nast.arm64.txt (added)
-
tests/meta/.expect/archVast.nast.x64.txt (added)
-
tests/meta/.expect/archVast.nast.x86.txt (added)
-
tests/meta/.expect/archVast.oast.arm64.txt (added)
-
tests/meta/.expect/archVast.oast.x64.txt (added)
-
tests/meta/.expect/archVast.oast.x86.txt (added)
-
tests/meta/arch.cfa (deleted)
-
tests/meta/archVast.cfa (added)
-
tests/pybin/settings.py (modified) (3 diffs)
-
tests/pybin/test_run.py (modified) (3 diffs)
-
tests/pybin/tools.py (modified) (1 diff)
-
tests/quotedKeyword.cfa (modified) (1 diff)
-
tests/raii/.expect/ctor-autogen-ERR1.nast.txt (added)
-
tests/raii/.expect/ctor-autogen-ERR1.oast.txt (added)
-
tests/raii/.expect/ctor-autogen-ERR1.txt (deleted)
-
tests/raii/.expect/memberCtors-ERR1.nast.txt (added)
-
tests/raii/.expect/memberCtors-ERR1.oast.txt (added)
-
tests/raii/.expect/memberCtors-ERR1.txt (deleted)
-
tests/test.py (modified) (8 diffs)
-
tests/warnings/.expect/self-assignment.nast.txt (added)
-
tests/warnings/.expect/self-assignment.oast.txt (added)
-
tests/warnings/.expect/self-assignment.txt (deleted)
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/FullBuild
r4520b77e r12df6fe 18 18 19 19 parallel ( 20 gcc_08_x86_new: { trigger_build( 'gcc-10', 'x86' ) }, 21 gcc_07_x86_new: { trigger_build( 'gcc-9', 'x86' ) }, 20 gcc_08_x86_new: { trigger_build( 'gcc-8', 'x86' ) }, 21 gcc_07_x86_new: { trigger_build( 'gcc-7', 'x86' ) }, 22 gcc_06_x86_new: { trigger_build( 'gcc-6', 'x86' ) }, 22 23 gcc_10_x64_new: { trigger_build( 'gcc-10', 'x64' ) }, 23 24 gcc_09_x64_new: { trigger_build( 'gcc-9', 'x64' ) }, -
Jenkinsfile
r4520b77e r12df6fe 103 103 } 104 104 105 sh "${SrcDir}/configure CXX=${Settings.Compiler.CXX} CC=${Settings.Compiler.CC} ${Settings.Architecture.flags} AR=gcc-ar RANLIB=gcc-ranlib ${targets} --quiet --prefix=${BuildDir}" 105 ast = Settings.NewAST ? "--enable-new-ast" : "--disable-new-ast" 106 107 sh "${SrcDir}/configure CXX=${Settings.Compiler.CXX} CC=${Settings.Compiler.CC} ${Settings.Architecture.flags} AR=gcc-ar RANLIB=gcc-ranlib ${targets} ${ast} --quiet --prefix=${BuildDir}" 106 108 107 109 // Configure libcfa … … 150 152 sh 'ulimit -a' 151 153 152 jopt = '-j $(nproc)' 153 154 Tools.BuildStage('Test: Debug', true) { 154 Tools.BuildStage('Test: short', !Settings.RunAllTests) { 155 155 dir (BuildDir) { 156 156 //Run the tests from the tests directory 157 sh " ""make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=yes archiveerrors=${BuildDir}/tests/crashes/full-debug"""157 sh "make --no-print-directory -C tests archiveerrors=${BuildDir}/tests/crashes/short" 158 158 } 159 159 } 160 160 161 Tools.BuildStage('Test: Release', Settings.RunAllTests) {161 Tools.BuildStage('Test: full', Settings.RunAllTests) { 162 162 dir (BuildDir) { 163 //Run the tests from the tests directory 164 sh """make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=no archiveerrors=${BuildDir}/tests/crashes/full-nodebug""" 163 jopt = '-j $(nproc)' 164 if( Settings.Architecture.node == 'x86' ) { 165 jopt = '-j2' 166 } 167 //Run the tests from the tests directory 168 sh """make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=yes archiveerrors=${BuildDir}/tests/crashes/full-debug""" 169 sh """make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=no archiveerrors=${BuildDir}/tests/crashes/full-nodebug""" 165 170 } 166 171 } … … 276 281 public final CC_Desc Compiler 277 282 public final Arch_Desc Architecture 283 public final Boolean NewAST 278 284 public final Boolean RunAllTests 279 285 public final Boolean RunBenchmark … … 333 339 334 340 this.IsSandbox = (branch == "jenkins-sandbox") 341 this.NewAST = param.NewAST 335 342 this.RunAllTests = param.RunAllTests 336 343 this.RunBenchmark = param.RunBenchmark … … 342 349 this.DescShort = "${ this.Compiler.name }:${ this.Architecture.name }${full}" 343 350 351 final ast = this.NewAST ? "New AST" : "Old AST" 344 352 this.DescLong = """Compiler : ${ this.Compiler.name } (${ this.Compiler.CXX }/${ this.Compiler.CC }) 353 AST Version : ${ ast.toString() } 345 354 Architecture : ${ this.Architecture.name } 346 355 Arc Flags : ${ this.Architecture.flags } … … 381 390 ], \ 382 391 [$class: 'BooleanParameterDefinition', \ 383 description: 'If false, the test suite is only ran in debug', \ 392 description: 'If true, build compiler using new AST', \ 393 name: 'NewAST', \ 394 defaultValue: true, \ 395 ], \ 396 [$class: 'BooleanParameterDefinition', \ 397 description: 'If false, only the quick test suite is ran', \ 384 398 name: 'RunAllTests', \ 385 399 defaultValue: false, \ -
benchmark/basic/tls_fetch_add.c
r4520b77e r12df6fe 7 7 // thread_local Boolean. This means the entire protocol is just to "mov" instructions making it extremely cheap. 8 8 9 __thread volatile bool value; 9 #define thread_local _Thread_local 10 11 thread_local volatile bool value; 10 12 11 13 void __attribute__((noinline)) do_call() { -
benchmark/io/http/main.cfa
r4520b77e r12df6fe 163 163 { 164 164 int pipe_cnt = options.clopts.nworkers * 2; 165 // int pipe_cnt = 0;166 165 int pipe_off; 167 166 int * fds; … … 303 302 sout | "done"; 304 303 305 //===================306 // Close Files307 if( options.file_cache.path ) {308 sout | "Closing open files..." | nonl; flush( sout );309 close_cache();310 sout | "done";311 }312 313 304 sout | "Stopping accept threads..." | nonl; flush( sout ); 314 305 for(i; nacceptors) { … … 355 346 } 356 347 sout | "done"; 357 358 //===================359 // Close Files360 if( options.file_cache.path ) {361 sout | "Closing open files..." | nonl; flush( sout );362 close_cache();363 sout | "done";364 }365 348 366 349 sout | "Stopping connection threads..." | nonl; flush( sout ); … … 403 386 } 404 387 sout | "done"; 388 389 //=================== 390 // Close Files 391 if( options.file_cache.path ) { 392 sout | "Closing open files..." | nonl; flush( sout ); 393 close_cache(); 394 sout | "done"; 395 } 405 396 } 406 397 -
benchmark/io/http/printer.cfa
r4520b77e r12df6fe 2 2 #include "options.hfa" 3 3 4 #include <clock.hfa>5 4 #include <fstream.hfa> 6 5 #include <stats.hfa> … … 23 22 to.maxfd = max( to.maxfd, from.maxfd); 24 23 to.close += from.close; from.close = 0; 25 to.error += from.error; from.error = 0;26 24 to.calls += from.calls; from.calls = 0; 27 to.eagain += from.eagain; from.eagain = 0;28 25 to.tries += from.tries; from.tries = 0; 29 26 to.header += from.header; from.header = 0; … … 83 80 uint64_t accp_open = this.stats.accpt.accepts; 84 81 uint64_t accp_clse = this.stats.send.close; 85 uint64_t accp_errs = this.stats.send.error;86 82 uint64_t accp_live = accp_open - accp_clse; 87 83 88 sout | "-----" | time() | "-----";89 84 sout | "----- Acceptor Stats -----"; 90 sout | "accepts : " | eng3(accp_open) |"opened," | eng3(accp_clse) |"closed," | eng3(accp_live) |"live ," | eng3(accp_errs) |"errors";85 sout | "accepts : " | eng3(accp_open) |"opened," | eng3(accp_clse) |"closed," | eng3(accp_live) |"live"; 91 86 sout | "accept : " | eng3(this.stats.accpt.accepts) | "calls," | eng3(this.stats.accpt.eagains) | "eagains," | eng3(this.stats.accpt.creates) | " thrds"; 92 87 sout | nl; … … 94 89 sout | "----- Connection Stats -----"; 95 90 sout | "max fd : " | this.stats.send.maxfd; 96 sout | "sendfile : " | eng3(calls) | "calls," | eng3(tries) | "tries (" | ratio | " try/call) ," | eng3(this.stats.send.eagain) | "eagains";91 sout | "sendfile : " | eng3(calls) | "calls," | eng3(tries) | "tries (" | ratio | " try/call)"; 97 92 sout | " " | eng3(header) | "header," | eng3(splcin) | "splice in," | eng3(splcot) | "splice out"; 98 //sout | " - zipf sizes:";99 //for(i; zipf_cnts) {100 //double written = avgrd[i].calls > 0 ? ((double)avgrd[i].bytes) / avgrd[i].calls : 0;101 //sout | " " | zipf_sizes[i] | "bytes," | avgrd[i].calls | "shorts," | written | "written";102 //}93 sout | " - zipf sizes:"; 94 for(i; zipf_cnts) { 95 double written = avgrd[i].calls > 0 ? ((double)avgrd[i].bytes) / avgrd[i].calls : 0; 96 sout | " " | zipf_sizes[i] | "bytes," | avgrd[i].calls | "shorts," | written | "written"; 97 } 103 98 } 104 99 -
benchmark/io/http/printer.hfa
r4520b77e r12df6fe 12 12 volatile uint64_t maxfd; 13 13 volatile uint64_t close; 14 volatile uint64_t error;15 14 volatile uint64_t calls; 16 volatile uint64_t eagain;17 15 volatile uint64_t tries; 18 16 volatile uint64_t header; -
benchmark/io/http/protocol.cfa
r4520b77e r12df6fe 18 18 extern "C" { 19 19 int snprintf ( char * s, size_t n, const char * format, ... ); 20 ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);21 20 // #include <linux/io_uring.h> 22 21 } … … 30 29 #define PLAINTEXT_MEMCPY 31 30 #define PLAINTEXT_NOCOPY 32 // #define LINKED_IO 33 #define TRUE_SENDFILE 31 #define LINKED_IO 34 32 35 33 static inline __s32 wait_res( io_future_t & this ) { … … 73 71 int ret = cfa_send(fd, it, len, 0, CFA_IO_LAZY); 74 72 if( ret < 0 ) { 75 if( errno == ECONNRESET || errno == EPIPE || errno == EBADF ) { 76 ret = close(fd); 77 if( ret != 0 ) abort( "close in 'answer' error: (%d) %s\n", (int)errno, strerror(errno) ); 78 return -ECONNRESET; 79 } 73 if( errno == ECONNRESET || errno == EPIPE ) { close(fd); return -ECONNRESET; } 74 if( errno == EAGAIN || errno == EWOULDBLOCK) return -EAGAIN; 80 75 81 76 abort( "'answer error' error: (%d) %s\n", (int)errno, strerror(errno) ); … … 89 84 } 90 85 91 //int answer_error( int fd, HttpCode code ) {92 ///* paranoid */ assert( code < KNOWN_CODES && code != OK200 );93 //int idx = (int)code;94 //return answer( fd, http_msgs[idx]->msg, http_msgs[idx]->len );95 //}86 int answer_error( int fd, HttpCode code ) { 87 /* paranoid */ assert( code < KNOWN_CODES && code != OK200 ); 88 int idx = (int)code; 89 return answer( fd, http_msgs[idx]->msg, http_msgs[idx]->len ); 90 } 96 91 97 92 static int fill_header(char * it, size_t size) { … … 109 104 } 110 105 111 // #if defined(PLAINTEXT_NOCOPY) 112 // int answer_plaintext( int fd ) { 113 // return answer(fd, http_msgs[OK200_PlainText]->msg, http_msgs[OK200_PlainText]->len); // +1 cause snprintf doesn't count nullterminator 114 // } 115 // #elif defined(PLAINTEXT_MEMCPY) 116 // #define TEXTSIZE 15 117 // int answer_plaintext( int fd ) { 118 // char text[] = "Hello, World!\n\n"; 119 // char ts[] = xstr(TEXTSIZE) " \n\n"; 120 // _Static_assert(sizeof(text) - 1 == TEXTSIZE); 121 // char buffer[512 + TEXTSIZE]; 122 // char * it = buffer; 123 // memcpy(it, http_msgs[OK200]->msg, http_msgs[OK200]->len); 124 // it += http_msgs[OK200]->len; 125 // int len = http_msgs[OK200]->len; 126 // memcpy(it, ts, sizeof(ts) - 1); 127 // it += sizeof(ts) - 1; 128 // len += sizeof(ts) - 1; 129 // memcpy(it, text, TEXTSIZE); 130 // return answer(fd, buffer, len + TEXTSIZE); 131 // } 132 // #elif defined(PLAINTEXT_1WRITE) 133 // int answer_plaintext( int fd ) { 134 // char text[] = "Hello, World!\n\n"; 135 // char buffer[512 + sizeof(text)]; 136 // char * it = buffer; 137 // memcpy(it, http_msgs[OK200]->msg, http_msgs[OK200]->len); 138 // it += http_msgs[OK200]->len; 139 // int len = http_msgs[OK200]->len; 140 // int r = snprintf(it, 512 - len, "%d \n\n", sizeof(text)); 141 // it += r; 142 // len += r; 143 // memcpy(it, text, sizeof(text)); 144 // return answer(fd, buffer, len + sizeof(text)); 145 // } 146 // #else 147 // int answer_plaintext( int fd ) { 148 // char text[] = "Hello, World!\n\n"; 149 // int ret = answer_header(fd, sizeof(text)); 150 // if( ret < 0 ) return ret; 151 // return answer(fd, text, sizeof(text)); 152 // } 153 // #endif 154 155 // int answer_empty( int fd ) { 156 // return answer_header(fd, 0); 157 // } 158 159 static int sendfile( int pipe[2], int fd, int ans_fd, size_t count, sendfile_stats_t & stats ) { 160 int zipf_idx = -1; 106 #if defined(PLAINTEXT_NOCOPY) 107 int answer_plaintext( int fd ) { 108 return answer(fd, http_msgs[OK200_PlainText]->msg, http_msgs[OK200_PlainText]->len); // +1 cause snprintf doesn't count nullterminator 109 } 110 #elif defined(PLAINTEXT_MEMCPY) 111 #define TEXTSIZE 15 112 int answer_plaintext( int fd ) { 113 char text[] = "Hello, World!\n\n"; 114 char ts[] = xstr(TEXTSIZE) " \n\n"; 115 _Static_assert(sizeof(text) - 1 == TEXTSIZE); 116 char buffer[512 + TEXTSIZE]; 117 char * it = buffer; 118 memcpy(it, http_msgs[OK200]->msg, http_msgs[OK200]->len); 119 it += http_msgs[OK200]->len; 120 int len = http_msgs[OK200]->len; 121 memcpy(it, ts, sizeof(ts) - 1); 122 it += sizeof(ts) - 1; 123 len += sizeof(ts) - 1; 124 memcpy(it, text, TEXTSIZE); 125 return answer(fd, buffer, len + TEXTSIZE); 126 } 127 #elif defined(PLAINTEXT_1WRITE) 128 int answer_plaintext( int fd ) { 129 char text[] = "Hello, World!\n\n"; 130 char buffer[512 + sizeof(text)]; 131 char * it = buffer; 132 memcpy(it, http_msgs[OK200]->msg, http_msgs[OK200]->len); 133 it += http_msgs[OK200]->len; 134 int len = http_msgs[OK200]->len; 135 int r = snprintf(it, 512 - len, "%d \n\n", sizeof(text)); 136 it += r; 137 len += r; 138 memcpy(it, text, sizeof(text)); 139 return answer(fd, buffer, len + sizeof(text)); 140 } 141 #else 142 int answer_plaintext( int fd ) { 143 char text[] = "Hello, World!\n\n"; 144 int ret = answer_header(fd, sizeof(text)); 145 if( ret < 0 ) return ret; 146 return answer(fd, text, sizeof(text)); 147 } 148 #endif 149 150 int answer_empty( int fd ) { 151 return answer_header(fd, 0); 152 } 153 154 static int sendfile( int pipe[2], int fd, int ans_fd, size_t count ) { 155 unsigned sflags = SPLICE_F_MOVE; // | SPLICE_F_MORE; 156 off_t offset = 0; 157 ssize_t ret; 158 SPLICE1: while(count > 0) { 159 ret = cfa_splice(ans_fd, &offset, pipe[1], 0p, count, sflags, CFA_IO_LAZY); 160 if( ret < 0 ) { 161 if( errno != EAGAIN && errno != EWOULDBLOCK) continue SPLICE1; 162 if( errno == ECONNRESET ) return -ECONNRESET; 163 if( errno == EPIPE ) return -EPIPE; 164 abort( "splice [0] error: (%d) %s\n", (int)errno, strerror(errno) ); 165 } 166 167 count -= ret; 168 size_t in_pipe = ret; 169 SPLICE2: while(in_pipe > 0) { 170 ret = cfa_splice(pipe[0], 0p, fd, 0p, in_pipe, sflags, CFA_IO_LAZY); 171 if( ret < 0 ) { 172 if( errno != EAGAIN && errno != EWOULDBLOCK) continue SPLICE2; 173 if( errno == ECONNRESET ) return -ECONNRESET; 174 if( errno == EPIPE ) return -EPIPE; 175 abort( "splice [1] error: (%d) %s\n", (int)errno, strerror(errno) ); 176 } 177 in_pipe -= ret; 178 } 179 180 } 181 return count; 182 } 183 184 enum FSM_STATE { 185 Initial, 186 Retry, 187 Error, 188 Done, 189 }; 190 191 struct FSM_Result { 192 FSM_STATE state; 193 int error; 194 }; 195 196 static inline void ?{}(FSM_Result & this) { this.state = Initial; this.error = 0; } 197 static inline bool is_error(FSM_Result & this) { return Error == this.state; } 198 static inline bool is_done(FSM_Result & this) { return Done == this.state; } 199 200 static inline int error(FSM_Result & this, int error) { 201 this.error = error; 202 this.state = Error; 203 return error; 204 } 205 206 static inline int done(FSM_Result & this) { 207 this.state = Done; 208 return 0; 209 } 210 211 static inline int retry(FSM_Result & this) { 212 this.state = Retry; 213 return 0; 214 } 215 216 static inline int need(FSM_Result & this) { 217 switch(this.state) { 218 case Initial: 219 case Retry: 220 return 1; 221 case Error: 222 if(this.error == 0) mutex(serr) serr | "State marked error but code is 0"; 223 case Done: 224 return 0; 225 } 226 } 227 228 // Generator that handles sending the header 229 generator header_g { 230 io_future_t f; 231 const char * next; 232 int fd; size_t len; 233 FSM_Result res; 234 }; 235 236 static inline void ?{}(header_g & this, int fd, const char * it, size_t len ) { 237 this.next = it; 238 this.fd = fd; 239 this.len = len; 240 } 241 242 static inline void fill(header_g & this, struct io_uring_sqe * sqe) { 243 zero_sqe(sqe); 244 sqe->opcode = IORING_OP_SEND; 245 sqe->user_data = (uintptr_t)&this.f; 246 sqe->flags = IOSQE_IO_LINK; 247 sqe->fd = this.fd; 248 sqe->addr = (uintptr_t)this.next; 249 sqe->len = this.len; 250 } 251 252 static inline int error(header_g & this, int error) { 253 int ret = close(this.fd); 254 if( ret != 0 ) { 255 mutex(serr) serr | "Failed to close fd" | errno; 256 } 257 return error(this.res, error); 258 } 259 260 static inline int wait_and_process(header_g & this, sendfile_stats_t & stats) { 261 wait(this.f); 262 263 // Did something crazy happen? 264 if(this.f.result > this.len) { 265 mutex(serr) serr | "HEADER sent too much!"; 266 return error(this, -ERANGE); 267 } 268 269 // Something failed? 270 if(this.f.result < 0) { 271 int error = -this.f.result; 272 if( error == ECONNRESET ) return error(this, -ECONNRESET); 273 if( error == EPIPE ) return error(this, -EPIPE); 274 if( error == ECANCELED ) { 275 mutex(serr) serr | "HEADER was cancelled, WTF!"; 276 return error(this, -ECONNRESET); 277 } 278 if( error == EAGAIN || error == EWOULDBLOCK) { 279 mutex(serr) serr | "HEADER got eagain, WTF!"; 280 return error(this, -ECONNRESET); 281 } 282 } 283 284 // Done? 285 if(this.f.result == this.len) { 286 return done(this.res); 287 } 288 289 stats.header++; 290 291 // It must be a Short read 292 this.len -= this.f.result; 293 this.next += this.f.result; 294 reset(this.f); 295 return retry(this.res); 296 } 297 298 // Generator that handles splicing in a file 299 struct splice_in_t { 300 io_future_t f; 301 int fd; int pipe; size_t len; off_t off; 302 short zipf_idx; 303 FSM_Result res; 304 }; 305 306 static inline void ?{}(splice_in_t & this, int fd, int pipe, size_t len) { 307 this.fd = fd; 308 this.pipe = pipe; 309 this.len = len; 310 this.off = 0; 311 this.zipf_idx = -1; 161 312 STATS: for(i; zipf_cnts) { 162 if( count<= zipf_sizes[i]) {163 zipf_idx = i;313 if(len <= zipf_sizes[i]) { 314 this.zipf_idx = i; 164 315 break STATS; 165 316 } 166 317 } 167 if(zipf_idx < 0) mutex(serr) serr | "SENDFILE" | count | " greated than biggest zipf file"; 168 169 #if defined(TRUE_SENDFILE) 170 off_t offset = 0; 171 ssize_t ret; 172 int flags = fcntl(fd, F_GETFL); 173 if(flags < 0) abort("getfl in 'true sendfile' error: (%d) %s\n", (int)errno, strerror(errno) ); 174 ret = fcntl(fd, F_SETFL, flags | O_NONBLOCK); 175 if(ret < 0) abort("setfl in 'true sendfile' error: (%d) %s\n", (int)errno, strerror(errno) ); 176 177 while(count) { 178 ret = sendfile(fd, ans_fd, &offset, count); 179 if( ret <= 0 ) { 180 if( errno == EAGAIN || errno == EWOULDBLOCK ) { 181 stats.eagain++; 182 yield(); 183 continue; 184 } 185 if( errno == ECONNRESET || errno == EPIPE ) { 186 ret = close(fd); 187 if( ret != 0 ) abort( "close in 'true sendfile' error: (%d) %s\n", (int)errno, strerror(errno) ); 188 return -ECONNRESET; 189 } 190 abort( "sendfile error: %d (%d) %s\n", ret, (int)errno, strerror(errno) ); 191 } 192 count -= ret; 193 stats.splcin++; 194 if(count > 0) stats.avgrd[zipf_idx].calls++; 195 stats.avgrd[zipf_idx].bytes += ret; 196 } 197 198 ret = fcntl(fd, F_SETFL, flags & ~O_NONBLOCK); 199 if(ret < 0) abort("resetfl in 'true sendfile' error: (%d) %s\n", (int)errno, strerror(errno) ); 200 #else 201 #error not implemented 202 // unsigned sflags = SPLICE_F_MOVE; // | SPLICE_F_MORE; 203 // off_t offset = 0; 204 // ssize_t ret; 205 // SPLICE1: while(count > 0) { 206 // stats.tries++; 207 // // ret = cfa_splice(ans_fd, &offset, pipe[1], 0p, count, sflags, CFA_IO_LAZY); 208 // ret = splice(ans_fd, &offset, pipe[1], 0p, count, sflags); 209 // if( ret <= 0 ) { 210 // if( errno == ECONNRESET || errno == EPIPE ) { 211 // ret = close(fd); 212 // if( ret != 0 ) abort( "close in 'sendfile splice in' error: (%d) %s\n", (int)errno, strerror(errno) ); 213 // return -ECONNRESET; 214 // } 215 // abort( "splice [0] error: %d (%d) %s\n", ret, (int)errno, strerror(errno) ); 216 // } 217 // count -= ret; 218 // stats.splcin++; 219 // if(count > 0) stats.avgrd[zipf_idx].calls++; 220 // stats.avgrd[zipf_idx].bytes += ret; 221 222 // size_t in_pipe = ret; 223 // SPLICE2: while(in_pipe > 0) { 224 // ret = cfa_splice(pipe[0], 0p, fd, 0p, in_pipe, sflags, CFA_IO_LAZY); 225 // // ret = splice(pipe[0], 0p, fd, 0p, in_pipe, sflags); 226 // if( ret <= 0 ) { 227 // if( errno == ECONNRESET || errno == EPIPE ) { 228 // ret = close(fd); 229 // if( ret != 0 ) abort( "close in 'sendfile splice out' error: (%d) %s\n", (int)errno, strerror(errno) ); 230 // return -ECONNRESET; 231 // } 232 // abort( "splice [1] error: %d (%d) %s\n", ret, (int)errno, strerror(errno) ); 233 // } 234 // stats.splcot++; 235 // in_pipe -= ret; 236 // } 237 238 // } 239 #endif 240 241 return count; 242 } 243 244 // enum FSM_STATE { 245 // Initial, 246 // Retry, 247 // Error, 248 // Done, 249 // }; 250 251 // struct FSM_Result { 252 // FSM_STATE state; 253 // int error; 254 // }; 255 256 // static inline void ?{}(FSM_Result & this) { this.state = Initial; this.error = 0; } 257 // static inline bool is_error(FSM_Result & this) { return Error == this.state; } 258 // static inline bool is_done(FSM_Result & this) { return Done == this.state; } 259 260 // static inline int error(FSM_Result & this, int error) { 261 // this.error = error; 262 // this.state = Error; 263 // return error; 264 // } 265 266 // static inline int done(FSM_Result & this) { 267 // this.state = Done; 268 // return 0; 269 // } 270 271 // static inline int retry(FSM_Result & this) { 272 // this.state = Retry; 273 // return 0; 274 // } 275 276 // static inline int need(FSM_Result & this) { 277 // switch(this.state) { 278 // case Initial: 279 // case Retry: 280 // return 1; 281 // case Error: 282 // if(this.error == 0) mutex(serr) serr | "State marked error but code is 0"; 283 // case Done: 284 // return 0; 285 // } 286 // } 287 288 // // Generator that handles sending the header 289 // generator header_g { 290 // io_future_t f; 291 // const char * next; 292 // int fd; size_t len; 293 // FSM_Result res; 294 // }; 295 296 // static inline void ?{}(header_g & this, int fd, const char * it, size_t len ) { 297 // this.next = it; 298 // this.fd = fd; 299 // this.len = len; 300 // } 301 302 // static inline void fill(header_g & this, struct io_uring_sqe * sqe) { 303 // zero_sqe(sqe); 304 // sqe->opcode = IORING_OP_SEND; 305 // sqe->user_data = (uintptr_t)&this.f; 306 // sqe->flags = IOSQE_IO_LINK; 307 // sqe->fd = this.fd; 308 // sqe->addr = (uintptr_t)this.next; 309 // sqe->len = this.len; 310 // } 311 312 // static inline int error(header_g & this, int error) { 313 // int ret = close(this.fd); 314 // if( ret != 0 ) { 315 // mutex(serr) serr | "Failed to close fd" | errno; 316 // } 317 // return error(this.res, error); 318 // } 319 320 // static inline int wait_and_process(header_g & this, sendfile_stats_t & stats) { 321 // wait(this.f); 322 323 // // Did something crazy happen? 324 // if(this.f.result > this.len) { 325 // mutex(serr) serr | "HEADER sent too much!"; 326 // return error(this, -ERANGE); 327 // } 328 329 // // Something failed? 330 // if(this.f.result < 0) { 331 // int error = -this.f.result; 332 // if( error == ECONNRESET ) return error(this, -ECONNRESET); 333 // if( error == EPIPE ) return error(this, -EPIPE); 334 // if( error == ECANCELED ) { 335 // mutex(serr) serr | "HEADER was cancelled, WTF!"; 336 // return error(this, -ECONNRESET); 337 // } 338 // if( error == EAGAIN || error == EWOULDBLOCK) { 339 // mutex(serr) serr | "HEADER got eagain, WTF!"; 340 // return error(this, -ECONNRESET); 341 // } 342 // } 343 344 // // Done? 345 // if(this.f.result == this.len) { 346 // return done(this.res); 347 // } 348 349 // stats.header++; 350 351 // // It must be a Short read 352 // this.len -= this.f.result; 353 // this.next += this.f.result; 354 // reset(this.f); 355 // return retry(this.res); 356 // } 357 358 // // Generator that handles splicing in a file 359 // struct splice_in_t { 360 // io_future_t f; 361 // int fd; int pipe; size_t len; off_t off; 362 // short zipf_idx; 363 // FSM_Result res; 364 // }; 365 366 // static inline void ?{}(splice_in_t & this, int fd, int pipe, size_t len) { 367 // this.fd = fd; 368 // this.pipe = pipe; 369 // this.len = len; 370 // this.off = 0; 371 // this.zipf_idx = -1; 372 // STATS: for(i; zipf_cnts) { 373 // if(len <= zipf_sizes[i]) { 374 // this.zipf_idx = i; 375 // break STATS; 376 // } 377 // } 378 // if(this.zipf_idx < 0) mutex(serr) serr | "SPLICE IN" | len | " greated than biggest zipf file"; 379 // } 380 381 // static inline void fill(splice_in_t & this, struct io_uring_sqe * sqe) { 382 // zero_sqe(sqe); 383 // sqe->opcode = IORING_OP_SPLICE; 384 // sqe->user_data = (uintptr_t)&this.f; 385 // sqe->flags = 0; 386 // sqe->splice_fd_in = this.fd; 387 // sqe->splice_off_in = this.off; 388 // sqe->fd = this.pipe; 389 // sqe->off = (__u64)-1; 390 // sqe->len = this.len; 391 // sqe->splice_flags = SPLICE_F_MOVE; 392 // } 393 394 // static inline int wait_and_process(splice_in_t & this, sendfile_stats_t & stats ) { 395 // wait(this.f); 396 397 // // Something failed? 398 // if(this.f.result < 0) { 399 // int error = -this.f.result; 400 // if( error == ECONNRESET ) return error(this.res, -ECONNRESET); 401 // if( error == EPIPE ) return error(this.res, -EPIPE); 402 // if( error == ECANCELED ) { 403 // mutex(serr) serr | "SPLICE IN was cancelled, WTF!"; 404 // return error(this.res, -ECONNRESET); 405 // } 406 // if( error == EAGAIN || error == EWOULDBLOCK) { 407 // mutex(serr) serr | "SPLICE IN got eagain, WTF!"; 408 // return error(this.res, -ECONNRESET); 409 // } 410 // mutex(serr) serr | "SPLICE IN got" | error | ", WTF!"; 411 // return error(this.res, -ECONNRESET); 412 // } 413 414 // // Did something crazy happen? 415 // if(this.f.result > this.len) { 416 // mutex(serr) serr | "SPLICE IN spliced too much!"; 417 // return error(this.res, -ERANGE); 418 // } 419 420 // // Done? 421 // if(this.f.result == this.len) { 422 // return done(this.res); 423 // } 424 425 // stats.splcin++; 426 // stats.avgrd[this.zipf_idx].calls++; 427 // stats.avgrd[this.zipf_idx].bytes += this.f.result; 428 429 // // It must be a Short read 430 // this.len -= this.f.result; 431 // this.off += this.f.result; 432 // reset(this.f); 433 // return retry(this.res); 434 // } 435 436 // generator splice_out_g { 437 // io_future_t f; 438 // int pipe; int fd; size_t len; 439 // FSM_Result res; 440 // }; 441 442 // static inline void ?{}(splice_out_g & this, int pipe, int fd, size_t len) { 443 // this.pipe = pipe; 444 // this.fd = fd; 445 // this.len = len; 446 // } 447 448 // static inline void fill(splice_out_g & this, struct io_uring_sqe * sqe) { 449 // zero_sqe(sqe); 450 // sqe->opcode = IORING_OP_SPLICE; 451 // sqe->user_data = (uintptr_t)&this.f; 452 // sqe->flags = 0; 453 // sqe->splice_fd_in = this.pipe; 454 // sqe->splice_off_in = (__u64)-1; 455 // sqe->fd = this.fd; 456 // sqe->off = (__u64)-1; 457 // sqe->len = this.len; 458 // sqe->splice_flags = SPLICE_F_MOVE; 459 // } 460 461 // static inline int error(splice_out_g & this, int error) { 462 // int ret = close(this.fd); 463 // if( ret != 0 ) { 464 // mutex(serr) serr | "Failed to close fd" | errno; 465 // } 466 // return error(this.res, error); 467 // } 468 469 // static inline void wait_and_process(splice_out_g & this, sendfile_stats_t & stats ) { 470 // wait(this.f); 471 472 // // Something failed? 473 // if(this.f.result < 0) { 474 // int error = -this.f.result; 475 // if( error == ECONNRESET ) return error(this, -ECONNRESET); 476 // if( error == EPIPE ) return error(this, -EPIPE); 477 // if( error == ECANCELED ) { 478 // this.f.result = 0; 479 // goto SHORT_WRITE; 480 // } 481 // if( error == EAGAIN || error == EWOULDBLOCK) { 482 // mutex(serr) serr | "SPLICE OUT got eagain, WTF!"; 483 // return error(this, -ECONNRESET); 484 // } 485 // mutex(serr) serr | "SPLICE OUT got" | error | ", WTF!"; 486 // return error(this, -ECONNRESET); 487 // } 488 489 // // Did something crazy happen? 490 // if(this.f.result > this.len) { 491 // mutex(serr) serr | "SPLICE OUT spliced too much!" | this.f.result | ">" | this.len; 492 // return error(this.res, -ERANGE); 493 // } 494 495 // // Done? 496 // if(this.f.result == this.len) { 497 // return done(this.res); 498 // } 499 500 // SHORT_WRITE: 501 // stats.splcot++; 502 503 // // It must be a Short Write 504 // this.len -= this.f.result; 505 // reset(this.f); 506 // return retry(this.res); 507 // } 318 if(this.zipf_idx < 0) mutex(serr) serr | "SPLICE IN" | len | " greated than biggest zipf file"; 319 } 320 321 static inline void fill(splice_in_t & this, struct io_uring_sqe * sqe) { 322 zero_sqe(sqe); 323 sqe->opcode = IORING_OP_SPLICE; 324 sqe->user_data = (uintptr_t)&this.f; 325 sqe->flags = 0; 326 sqe->splice_fd_in = this.fd; 327 sqe->splice_off_in = this.off; 328 sqe->fd = this.pipe; 329 sqe->off = (__u64)-1; 330 sqe->len = this.len; 331 sqe->splice_flags = SPLICE_F_MOVE; 332 } 333 334 static inline int wait_and_process(splice_in_t & this, sendfile_stats_t & stats ) { 335 wait(this.f); 336 337 // Something failed? 338 if(this.f.result < 0) { 339 int error = -this.f.result; 340 if( error == ECONNRESET ) return error(this.res, -ECONNRESET); 341 if( error == EPIPE ) return error(this.res, -EPIPE); 342 if( error == ECANCELED ) { 343 mutex(serr) serr | "SPLICE IN was cancelled, WTF!"; 344 return error(this.res, -ECONNRESET); 345 } 346 if( error == EAGAIN || error == EWOULDBLOCK) { 347 mutex(serr) serr | "SPLICE IN got eagain, WTF!"; 348 return error(this.res, -ECONNRESET); 349 } 350 mutex(serr) serr | "SPLICE IN got" | error | ", WTF!"; 351 return error(this.res, -ECONNRESET); 352 } 353 354 // Did something crazy happen? 355 if(this.f.result > this.len) { 356 mutex(serr) serr | "SPLICE IN spliced too much!"; 357 return error(this.res, -ERANGE); 358 } 359 360 // Done? 361 if(this.f.result == this.len) { 362 return done(this.res); 363 } 364 365 stats.splcin++; 366 stats.avgrd[this.zipf_idx].calls++; 367 stats.avgrd[this.zipf_idx].bytes += this.f.result; 368 369 // It must be a Short read 370 this.len -= this.f.result; 371 this.off += this.f.result; 372 reset(this.f); 373 return retry(this.res); 374 } 375 376 generator splice_out_g { 377 io_future_t f; 378 int pipe; int fd; size_t len; 379 FSM_Result res; 380 }; 381 382 static inline void ?{}(splice_out_g & this, int pipe, int fd, size_t len) { 383 this.pipe = pipe; 384 this.fd = fd; 385 this.len = len; 386 } 387 388 static inline void fill(splice_out_g & this, struct io_uring_sqe * sqe) { 389 zero_sqe(sqe); 390 sqe->opcode = IORING_OP_SPLICE; 391 sqe->user_data = (uintptr_t)&this.f; 392 sqe->flags = 0; 393 sqe->splice_fd_in = this.pipe; 394 sqe->splice_off_in = (__u64)-1; 395 sqe->fd = this.fd; 396 sqe->off = (__u64)-1; 397 sqe->len = this.len; 398 sqe->splice_flags = SPLICE_F_MOVE; 399 } 400 401 static inline int error(splice_out_g & this, int error) { 402 int ret = close(this.fd); 403 if( ret != 0 ) { 404 mutex(serr) serr | "Failed to close fd" | errno; 405 } 406 return error(this.res, error); 407 } 408 409 static inline void wait_and_process(splice_out_g & this, sendfile_stats_t & stats ) { 410 wait(this.f); 411 412 // Something failed? 413 if(this.f.result < 0) { 414 int error = -this.f.result; 415 if( error == ECONNRESET ) return error(this, -ECONNRESET); 416 if( error == EPIPE ) return error(this, -EPIPE); 417 if( error == ECANCELED ) { 418 this.f.result = 0; 419 goto SHORT_WRITE; 420 } 421 if( error == EAGAIN || error == EWOULDBLOCK) { 422 mutex(serr) serr | "SPLICE OUT got eagain, WTF!"; 423 return error(this, -ECONNRESET); 424 } 425 mutex(serr) serr | "SPLICE OUT got" | error | ", WTF!"; 426 return error(this, -ECONNRESET); 427 } 428 429 // Did something crazy happen? 430 if(this.f.result > this.len) { 431 mutex(serr) serr | "SPLICE OUT spliced too much!" | this.f.result | ">" | this.len; 432 return error(this.res, -ERANGE); 433 } 434 435 // Done? 436 if(this.f.result == this.len) { 437 return done(this.res); 438 } 439 440 SHORT_WRITE: 441 stats.splcot++; 442 443 // It must be a Short Write 444 this.len -= this.f.result; 445 reset(this.f); 446 return retry(this.res); 447 } 508 448 509 449 int answer_sendfile( int pipe[2], int fd, int ans_fd, size_t fsize, sendfile_stats_t & stats ) { 510 450 stats.calls++; 511 451 #if defined(LINKED_IO) 512 // char buffer[512]; 513 // int len = fill_header(buffer, fsize); 514 // header_g header = { fd, buffer, len }; 515 // splice_in_t splice_in = { ans_fd, pipe[1], fsize }; 516 // splice_out_g splice_out = { pipe[0], fd, fsize }; 517 518 // RETRY_LOOP: for() { 519 // stats.tries++; 520 // int have = need(header.res) + need(splice_in.res) + 1; 521 // int idx = 0; 522 // struct io_uring_sqe * sqes[3]; 523 // __u32 idxs[3]; 524 // struct io_context$ * ctx = cfa_io_allocate(sqes, idxs, have); 525 526 // if(need(splice_in.res)) { fill(splice_in, sqes[idx++]); } 527 // if(need( header.res)) { fill(header , sqes[idx++]); } 528 // fill(splice_out, sqes[idx]); 529 530 // // Submit everything 531 // asm volatile("": : :"memory"); 532 // cfa_io_submit( ctx, idxs, have, false ); 533 534 // // wait for the results 535 // // Always wait for splice-in to complete as 536 // // we may need to kill the connection if it fails 537 // // If it already completed, this is a no-op 538 // wait_and_process(splice_in, stats); 539 540 // if(is_error(splice_in.res)) { 541 // if(splice_in.res.error == -EPIPE) return -ECONNRESET; 542 // mutex(serr) serr | "SPLICE IN failed with" | splice_in.res.error; 543 // int ret = close(fd); 544 // if( ret != 0 ) abort( "close in 'answer sendfile' error: (%d) %s\n", (int)errno, strerror(errno) ); 545 // } 546 547 // // Process the other 2 548 // wait_and_process(header, stats); 549 // wait_and_process(splice_out, stats); 550 551 // if(is_done(splice_out.res)) { 552 // break RETRY_LOOP; 553 // } 554 555 // // We need to wait for the completion if 556 // // - both completed 557 // // - the header failed 558 // // - 559 560 // if( is_error(header.res) 561 // || is_error(splice_in.res) 562 // || is_error(splice_out.res)) { 563 // return -ECONNRESET; 564 // } 565 // } 566 567 // return len + fsize; 452 char buffer[512]; 453 int len = fill_header(buffer, fsize); 454 header_g header = { fd, buffer, len }; 455 splice_in_t splice_in = { ans_fd, pipe[1], fsize }; 456 splice_out_g splice_out = { pipe[0], fd, fsize }; 457 458 RETRY_LOOP: for() { 459 stats.tries++; 460 int have = need(header.res) + need(splice_in.res) + 1; 461 int idx = 0; 462 struct io_uring_sqe * sqes[3]; 463 __u32 idxs[3]; 464 struct $io_context * ctx = cfa_io_allocate(sqes, idxs, have); 465 466 if(need(splice_in.res)) { fill(splice_in, sqes[idx++]); } 467 if(need( header.res)) { fill(header , sqes[idx++]); } 468 fill(splice_out, sqes[idx]); 469 470 // Submit everything 471 asm volatile("": : :"memory"); 472 cfa_io_submit( ctx, idxs, have, false ); 473 474 // wait for the results 475 // Always wait for splice-in to complete as 476 // we may need to kill the connection if it fails 477 // If it already completed, this is a no-op 478 wait_and_process(splice_in, stats); 479 480 if(is_error(splice_in.res)) { 481 if(splice_in.res.error == -EPIPE) return -ECONNRESET; 482 mutex(serr) serr | "SPLICE IN failed with" | splice_in.res.error; 483 close(fd); 484 } 485 486 // Process the other 2 487 wait_and_process(header, stats); 488 wait_and_process(splice_out, stats); 489 490 if(is_done(splice_out.res)) { 491 break RETRY_LOOP; 492 } 493 494 // We need to wait for the completion if 495 // - both completed 496 // - the header failed 497 // - 498 499 if( is_error(header.res) 500 || is_error(splice_in.res) 501 || is_error(splice_out.res)) { 502 return -ECONNRESET; 503 } 504 } 505 506 return len + fsize; 568 507 #else 508 stats.tries++; 569 509 int ret = answer_header(fd, fsize); 570 if( ret < 0 ) { return ret; }571 return sendfile(pipe, fd, ans_fd, fsize , stats);510 if( ret < 0 ) { close(fd); return ret; } 511 return sendfile(pipe, fd, ans_fd, fsize); 572 512 #endif 573 513 } … … 588 528 } 589 529 // int ret = read(fd, (void*)it, count); 590 if(ret == 0 ) { 591 ret = close(fd); 592 if( ret != 0 ) abort( "close in 'http read good' error: (%d) %s\n", (int)errno, strerror(errno) ); 593 return [OK200, true, 0, 0]; 594 } 530 if(ret == 0 ) return [OK200, true, 0, 0]; 595 531 if(ret < 0 ) { 596 if( errno == ECONNRESET || errno == EPIPE ) { 597 ret = close(fd); 598 if( ret != 0 ) abort( "close in 'http read bad' error: (%d) %s\n", (int)errno, strerror(errno) ); 599 return [E408, true, 0, 0]; 600 } 532 if( errno == EAGAIN || errno == EWOULDBLOCK) continue READ; 533 if( errno == ECONNRESET ) { close(fd); return [E408, true, 0, 0]; } 534 if( errno == EPIPE ) { close(fd); return [E408, true, 0, 0]; } 601 535 abort( "read error: (%d) %s\n", (int)errno, strerror(errno) ); 602 536 } -
benchmark/io/http/protocol.hfa
r4520b77e r12df6fe 18 18 int code_val(HttpCode code); 19 19 20 //int answer_error( int fd, HttpCode code );21 //int answer_plaintext( int fd );22 //int answer_empty( int fd );20 int answer_error( int fd, HttpCode code ); 21 int answer_plaintext( int fd ); 22 int answer_empty( int fd ); 23 23 int answer_sendfile( int pipe[2], int fd, int ans_fd, size_t count, struct sendfile_stats_t & ); 24 24 -
benchmark/io/http/socket.cfa
r4520b77e r12df6fe 8 8 #include <sys/socket.h> 9 9 #include <netinet/in.h> 10 #include <netinet/tcp.h>11 10 } 12 11 … … 34 33 } 35 34 36 int on = 1;37 const struct linger l = { 1, 0 };38 if (setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &l, sizeof(l)) < 0)39 abort( "setsockopt SO_LINGER error: (%d) %s\n", (int)errno, strerror(errno) );40 41 if (setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (const void*)&on, sizeof(on)) < 0)42 abort( "setsockopt SO_LINGER error: (%d) %s\n", (int)errno, strerror(errno) );43 44 35 if(options.socket.reuseport) { 36 int value = 1; 45 37 // if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const void*)&on, sizeof(on))) 46 38 // abort( "setsockopt SO_REUSEADDR error: (%d) %s\n", (int)errno, strerror(errno) ); 47 if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, & on, sizeof(on)) < 0)39 if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, &value, sizeof(int)) < 0) 48 40 abort( "setsockopt SO_REUSEPORT error: (%d) %s\n", (int)errno, strerror(errno) ); 49 41 } -
benchmark/io/http/worker.cfa
r4520b77e r12df6fe 14 14 #include "filecache.hfa" 15 15 16 static const unsigned long long period = 5_000_000;17 18 16 //============================================================================================= 19 17 // Generic connection handling … … 33 31 34 32 // if we are done, break out of the loop 35 if( closed ) { 36 if( code != OK200 ) this.stats.sendfile.error++; 37 break REQUEST; 38 } 33 if( closed ) break REQUEST; 39 34 40 35 // If this wasn't a request retrun 400 41 36 if( code != OK200 ) { 42 abort | "=== Invalid Request :" | code_val(code) | "===";43 //answer_error(fd, code);44 //continue REQUEST;45 } 46 47 //if(0 == strncmp(file, "plaintext", min(name_size, sizeof("plaintext") ))) {48 //if( options.log ) mutex(sout) sout | "=== Request for /plaintext ===";49 50 //int ret = answer_plaintext(fd);51 // if( ret == -ECONNRESET ) { this.stats.sendfile.error++; break REQUEST; }52 53 //if( options.log ) mutex(sout) sout | "=== Answer sent ===";54 //continue REQUEST;55 //}56 57 //if(0 == strncmp(file, "ping", min(name_size, sizeof("ping") ))) {58 //if( options.log ) mutex(sout) sout | "=== Request for /ping ===";59 60 //// Send the header61 //int ret = answer_empty(fd);62 // if( ret == -ECONNRESET ) { this.stats.sendfile.error++; break REQUEST; }63 64 //if( options.log ) mutex(sout) sout | "=== Answer sent ===";65 //continue REQUEST;66 //}37 sout | "=== Invalid Request :" | code_val(code) | "==="; 38 answer_error(fd, code); 39 continue REQUEST; 40 } 41 42 if(0 == strncmp(file, "plaintext", min(name_size, sizeof("plaintext") ))) { 43 if( options.log ) mutex(sout) sout | "=== Request for /plaintext ==="; 44 45 int ret = answer_plaintext(fd); 46 if( ret == -ECONNRESET ) break REQUEST; 47 48 if( options.log ) mutex(sout) sout | "=== Answer sent ==="; 49 continue REQUEST; 50 } 51 52 if(0 == strncmp(file, "ping", min(name_size, sizeof("ping") ))) { 53 if( options.log ) mutex(sout) sout | "=== Request for /ping ==="; 54 55 // Send the header 56 int ret = answer_empty(fd); 57 if( ret == -ECONNRESET ) break REQUEST; 58 59 if( options.log ) mutex(sout) sout | "=== Answer sent ==="; 60 continue REQUEST; 61 } 67 62 68 63 if( options.log ) { … … 73 68 74 69 if( !options.file_cache.path ) { 75 // if( options.log ) { 76 serr | "=== File Not Found (" | nonl; 77 write(serr, file, name_size); 78 serr | ") ==="; 79 abort(); 80 // } 81 // answer_error(fd, E405); 82 // continue REQUEST; 70 if( options.log ) { 71 sout | "=== File Not Found (" | nonl; 72 write(sout, file, name_size); 73 sout | ") ==="; 74 } 75 answer_error(fd, E405); 76 continue REQUEST; 83 77 } 84 78 … … 90 84 // If we can't find the file, return 404 91 85 if( ans_fd < 0 ) { 92 // if( options.log ) { 93 serr | "=== File Not Found 2 (" | nonl; 94 write(serr, file, name_size); 95 serr | ") ==="; 96 abort(); 97 // } 98 // answer_error(fd, E404); 99 // continue REQUEST; 86 if( options.log ) { 87 sout | "=== File Not Found (" | nonl; 88 write(sout, file, name_size); 89 sout | ") ==="; 90 } 91 answer_error(fd, E404); 92 continue REQUEST; 100 93 } 101 94 102 95 // Send the desired file 103 96 int ret = answer_sendfile( this.pipe, fd, ans_fd, count, this.stats.sendfile ); 104 if(ret < 0) { 105 if( ret == -ECONNABORTED ) { this.stats.sendfile.error++; break REQUEST; } 106 if( ret == -ECONNRESET ) { this.stats.sendfile.error++; break REQUEST; } 107 if( ret == -EPIPE ) { this.stats.sendfile.error++; break REQUEST; } 108 if( ret == -EBADF ) { this.stats.sendfile.error++; break REQUEST; } 109 abort( "answer sendfile error: %d (%d) %s\n", ret, (int)errno, strerror(errno) ); 110 } 97 if( ret == -ECONNRESET ) break REQUEST; 111 98 112 99 if( options.log ) mutex(sout) sout | "=== Answer sent ==="; 113 100 } 114 101 115 this.stats.sendfile.close++;116 117 102 if (stats_thrd) { 118 //unsigned long long next = rdtscl();119 // if(next > (last + period)) {103 unsigned long long next = rdtscl(); 104 if(next > (last + 500000000)) { 120 105 if(try_lock(stats_thrd->stats.lock __cfaabi_dbg_ctx2)) { 121 106 push(this.stats.sendfile, stats_thrd->stats.send); 122 107 unlock(stats_thrd->stats.lock); 123 //last = next;124 } 125 //}108 last = next; 109 } 110 } 126 111 } 127 112 } … … 145 130 if( options.log ) mutex(sout) sout | "=== Accepting connection ==="; 146 131 int fd = cfa_accept4( this.sockfd, this.[addr, addrlen, flags], CFA_IO_LAZY ); 147 if(fd < =0) {132 if(fd < 0) { 148 133 if( errno == ECONNABORTED ) break; 149 134 if( this.done && (errno == EINVAL || errno == EBADF) ) break; 150 abort( "accept error %d: (%d) %s\n", fd, (int)errno, strerror(errno) );135 abort( "accept error: (%d) %s\n", (int)errno, strerror(errno) ); 151 136 } 152 137 if(this.done) break; 153 154 this.stats.accepts++;155 if (stats_thrd && try_lock(stats_thrd->stats.lock)) {156 push(this.stats, stats_thrd->stats.accpt);157 unlock(stats_thrd->stats.lock);158 }159 138 160 139 if( options.log ) mutex(sout) sout | "=== New connection" | fd | "" | ", waiting for requests ==="; … … 162 141 char buffer[len]; 163 142 handle_connection( this.conn, fd, buffer, len, 0p, last ); 164 this.conn.stats.sendfile.maxfd = max(this.conn.stats.sendfile.maxfd, fd);165 143 166 144 if( options.log ) mutex(sout) sout | "=== Connection closed ==="; … … 184 162 /* paranoid */ assert( this.conn.pipe[0] != -1 ); 185 163 /* paranoid */ assert( this.conn.pipe[1] != -1 ); 186 this.conn.stats.sendfile.maxfd = max(this.conn.pipe[0], this.conn.pipe[1]);187 // this.conn.stats.sendfile.maxfd = 0;188 164 for() { 189 165 size_t len = options.socket.buflen; … … 197 173 if( options.log ) mutex(sout) sout | "=== Waiting new connection ==="; 198 174 handle_connection( this.conn, p.out.fd, buffer, len, &p.f, last ); 175 176 if( options.log ) mutex(sout) sout | "=== Connection closed ==="; 199 177 if(this.done) break; 200 this.conn.stats.sendfile.maxfd = max(this.conn.stats.sendfile.maxfd, p.out.fd); 201 this.conn.stats.sendfile.close++; 202 203 if( options.log ) mutex(sout) sout | "=== Connection closed ==="; 204 } 205 206 lock(stats_thrd->stats.lock __cfaabi_dbg_ctx2); 207 push(this.conn.stats.sendfile, stats_thrd->stats.send); 208 unlock(stats_thrd->stats.lock); 178 } 209 179 } 210 180 … … 228 198 229 199 static inline void push_connection( Acceptor & this, int fd ) { 230 this.stats.accepts++;231 200 PendingRead * p = 0p; 232 201 for() { … … 234 203 p = pop(*this.queue); 235 204 if(p) break; 236 // abort( "Too few threads" );237 205 yield(); 238 206 this.stats.creates++; … … 244 212 245 213 // #define ACCEPT_SPIN 246 #define ACCEPT_ONE 247 // #define ACCEPT_MANY 214 #define ACCEPT_MANY 248 215 249 216 void main( Acceptor & this ) { … … 265 232 abort( "accept error: (%d) %s\n", (int)errno, strerror(errno) ); 266 233 } 234 this.stats.accepts++; 267 235 268 236 if(this.done) return; … … 274 242 if (stats_thrd) { 275 243 unsigned long long next = rdtscl(); 276 if(next > (last + period)) {244 if(next > (last + 500000000)) { 277 245 if(try_lock(stats_thrd->stats.lock)) { 278 246 push(this.stats, stats_thrd->stats.accpt); … … 281 249 } 282 250 } 283 }284 285 if( options.log ) sout | "=== Accepting connection ===";286 }287 288 #elif defined(ACCEPT_ONE)289 if( options.log ) sout | "=== Accepting connection ===";290 for() {291 int fd = cfa_accept4(this.sockfd, this.[addr, addrlen, flags], 0);292 if(fd < 0) {293 if( errno == ECONNABORTED ) break;294 if( this.done && (errno == EINVAL || errno == EBADF) ) break;295 abort( "accept error: (%d) %s\n", (int)errno, strerror(errno) );296 }297 298 if(this.done) return;299 300 if( options.log ) sout | "=== New connection" | fd | "" | ", waiting for requests ===";301 302 if(fd) push_connection(this, fd);303 304 if (stats_thrd) {305 // unsigned long long next = rdtscl();306 // if(next > (last + period)) {307 if(try_lock(stats_thrd->stats.lock)) {308 push(this.stats, stats_thrd->stats.accpt);309 unlock(stats_thrd->stats.lock);310 // last = next;311 }312 // }313 251 } 314 252 … … 331 269 if (stats_thrd) { 332 270 unsigned long long next = rdtscl(); 333 if(next > (last + period)) {271 if(next > (last + 500000000)) { 334 272 if(try_lock(stats_thrd->stats.lock __cfaabi_dbg_ctx2)) { 335 273 push(this.stats, stats_thrd->stats.accpt); … … 346 284 int fd = get_res(res); 347 285 reset(res); 286 this.stats.accepts++; 348 287 if(fd < 0) { 349 288 if( errno == ECONNABORTED ) continue; … … 380 319 #error no accept algorithm specified 381 320 #endif 382 lock(stats_thrd->stats.lock); 383 push(this.stats, stats_thrd->stats.accpt); 384 unlock(stats_thrd->stats.lock); 385 } 321 } -
benchmark/io/http/worker.hfa
r4520b77e r12df6fe 34 34 int flags; 35 35 volatile bool done; 36 acceptor_stats_t stats;37 36 }; 38 37 void ?{}( AcceptWorker & this); -
benchmark/plot.py
r4520b77e r12df6fe 14 14 import math 15 15 import numpy 16 import os17 16 import re 18 17 import statistics 19 18 import sys 20 import time21 19 22 import matplotlib23 20 import matplotlib.pyplot as plt 24 from matplotlib.ticker import EngFormatter, ScalarFormatter 25 26 def fmtDur( duration ): 27 if duration : 28 hours, rem = divmod(duration, 3600) 29 minutes, rem = divmod(rem, 60) 30 seconds, millis = divmod(rem, 1) 31 return "%2d:%02d.%03d" % (minutes, seconds, millis * 1000) 32 return " n/a" 21 from matplotlib.ticker import EngFormatter 33 22 34 23 class Field: 35 def __init__(self, unit, _min, _log, _name=None , _factor=1.0):24 def __init__(self, unit, _min, _log, _name=None): 36 25 self.unit = unit 37 26 self.min = _min 38 27 self.log = _log 39 28 self.name = _name 40 self.factor = _factor41 29 42 30 field_names = { 43 31 "ns per ops" : Field('ns' , 0, False), 44 "Number of processors" : Field('' , 1, "exact"),32 "Number of processors" : Field('' , 1, False), 45 33 "Ops per procs" : Field('Ops' , 0, False), 46 34 "Ops per threads" : Field('Ops' , 0, False), 47 "ns per ops/procs" : Field('' , 0, False, _name = "ns $\\times$ (Processor $/$ Total Ops)" ),35 "ns per ops/procs" : Field('' , 0, False, _name = "Latency (ns $/$ (Processor $\\times$ Operation))" ), 48 36 "Number of threads" : Field('' , 1, False), 49 37 "Total Operations(ops)" : Field('Ops' , 0, False), 50 38 "Ops/sec/procs" : Field('Ops' , 0, False), 51 39 "Total blocks" : Field('Blocks', 0, False), 52 "Ops per second" : Field('' , 0, False),40 "Ops per second" : Field('' , 0, False), 53 41 "Cycle size (# thrds)" : Field('thrd' , 1, False), 54 42 "Duration (ms)" : Field('ms' , 0, False), 55 43 "Target QPS" : Field('' , 0, False), 56 44 "Actual QPS" : Field('' , 0, False), 57 "Average Read Latency" : Field('s' , 0, False, _factor = 0.000001), 58 "Median Read Latency" : Field('s' , 0, True, _factor = 0.000001), 59 "Tail Read Latency" : Field('s' , 0, True, _factor = 0.000001), 60 "Average Update Latency": Field('s' , 0, True, _factor = 0.000001), 61 "Median Update Latency" : Field('s' , 0, True, _factor = 0.000001), 62 "Tail Update Latency" : Field('s' , 0, True, _factor = 0.000001), 63 "Update Ratio" : Field('%' , 0, False), 64 "Request Rate" : Field('req/s' , 0, False), 65 "Data Rate" : Field('b/s' , 0, False, _factor = 1000 * 1000, _name = "Response Throughput"), 66 "Errors" : Field('%' , 0, False), 45 "Average Read Latency" : Field('us' , 0, True), 46 "Median Read Latency" : Field('us' , 0, True), 47 "Tail Read Latency" : Field('us' , 0, True), 48 "Average Update Latency": Field('us' , 0, True), 49 "Median Update Latency" : Field('us' , 0, True), 50 "Tail Update Latency" : Field('us' , 0, True), 51 "Update Ratio" : Field('\%' , 0, False), 67 52 } 68 53 69 def plot(in_data, x, y, options , prefix):54 def plot(in_data, x, y, options): 70 55 fig, ax = plt.subplots() 71 colors = itertools.cycle(['#006cb4','#0aa000','#ff6600','#8510a1','#0095e3','#fd8f00','#e30002','#8f00d6','#4b009a','#ffff00','#69df00','#fb0300','#b13f00']) 72 markers = itertools.cycle(['x', '+', '1', '2', '3', '4']) 73 series = {} # scatter data for each individual data point 74 groups = {} # data points for x value 56 colors = itertools.cycle(['#0095e3','#006cb4','#69df00','#0aa000','#fb0300','#e30002','#fd8f00','#ff7f00','#8f00d6','#4b009a','#ffff00','#b13f00']) 57 series = {} # scatter data for each individual data point 58 groups = {} # data points for x value 75 59 76 60 print("Preparing Data") … … 78 62 for entry in in_data: 79 63 name = entry[0] 80 if options.filter and not name.startswith(options.filter):81 continue82 83 64 if not name in series: 84 65 series[name] = {'x':[], 'y':[]} … … 89 70 if x in entry[2] and y in entry[2]: 90 71 xval = entry[2][x] 91 yval = entry[2][y] * field_names[y].factor72 yval = entry[2][y] 92 73 series[name]['x'].append(xval) 93 74 series[name]['y'].append(yval) … … 117 98 for name, data in sorted(series.items()): 118 99 _col = next(colors) 119 _mrk = next(markers) 120 plt.scatter(data['x'], data['y'], color=_col, label=name[len(prefix):], marker=_mrk) 121 plt.plot(lines[name]['x'], lines[name]['min'], ':', color=_col) 100 plt.scatter(data['x'], data['y'], color=_col, label=name, marker='x') 101 plt.plot(lines[name]['x'], lines[name]['min'], '--', color=_col) 122 102 plt.plot(lines[name]['x'], lines[name]['max'], '--', color=_col) 123 103 plt.plot(lines[name]['x'], lines[name]['med'], '-', color=_col) … … 139 119 elif field_names[x].log: 140 120 ax.set_xscale('log') 141 if field_names[x].log == "exact":142 xvals = set()143 for s in series.values():144 xvals |= set(s['x'])145 ax.set_xticks(sorted(xvals))146 ax.get_xaxis().set_major_formatter(ScalarFormatter())147 plt.xticks(rotation = 45)148 121 else: 149 122 plt.xlim(field_names[x].min, mx + 0.25) 150 123 124 ax.yaxis.set_major_formatter( EngFormatter(unit=field_names[y].unit) ) 151 125 if options.logy: 152 126 ax.set_yscale('log') … … 156 130 plt.ylim(field_names[y].min, options.MaxY if options.MaxY else my*1.2) 157 131 158 ax.yaxis.set_major_formatter( EngFormatter(unit=field_names[y].unit) )159 160 132 plt.legend(loc='upper left') 161 133 162 134 print("Results Ready") 163 start = time.time()164 135 if options.out: 165 136 plt.savefig(options.out, bbox_inches='tight') 166 137 else: 167 138 plt.show() 168 end = time.time()169 print("Took {}".format(fmtDur(end - start)))170 139 171 140 … … 181 150 parser.add_argument('--logy', action='store_true', help="if set, makes the y-axis logscale") 182 151 parser.add_argument('--MaxY', nargs='?', type=int, help="maximum value of the y-axis") 183 parser.add_argument('--filter', nargs='?', type=str, default="", help="if not empty, only print series that start with specified filter")184 152 185 153 options = parser.parse_args() 186 187 # if not options.out:188 # matplotlib.use('SVG')189 154 190 155 # ================================================================================ … … 208 173 fields.add(label) 209 174 210 # filter out the series if needed211 if options.filter:212 series = set(filter(lambda elem: elem.startswith(options.filter), series))213 214 # find the common prefix on series for removal (only if no filter)215 prefix = os.path.commonprefix(list(series))216 217 175 if not options.out : 218 176 print(series) … … 235 193 236 194 237 plot(data, wantx, wanty, options , prefix)195 plot(data, wantx, wanty, options) -
benchmark/process-mutilate.py
r4520b77e r12df6fe 109 109 # checking if it is a file 110 110 if os.path.isfile(f): 111 match = re.search("({})\.([0-9]+)\.([0-9]+)\.([0-9]+)".format(names_re), filename) 112 print(filename, match) 111 match = re.search("({})\.([0-9]+)\.([0-9]+)".format(names_re), filename) 113 112 try: 114 series = "{}-{}%".format(match[1], match[3])113 series = match[1] 115 114 rate = match[2] 116 rep = match[ 4]115 rep = match[3] 117 116 except: 118 117 continue -
benchmark/readyQ/churn.go
r4520b77e r12df6fe 72 72 for i := range spots { 73 73 select { 74 case <- spots[i]:75 default:76 }77 select {78 74 case spots[i] <- (struct {}{}): 79 75 default: -
benchmark/readyQ/locality.cfa
r4520b77e r12df6fe 273 273 } 274 274 275 setlocale( LC_NUMERIC, getenv( "LANG" ) );276 275 printf("Duration (ms) : %'lf\n", (end - start)`dms); 277 276 printf("Number of processors : %'d\n", nprocs); … … 279 278 printf("Total Operations(ops) : %'15llu\n", global_count); 280 279 printf("Work size (64bit words): %'15u\n", wsize); 281 printf("Data sharing : %s\n", share ? "On" : "Off");282 280 printf("Total Operations(ops) : %'15llu\n", global_count); 283 281 printf("Total G Migrations : %'15llu\n", global_gmigs); -
benchmark/readyQ/locality.cpp
r4520b77e r12df6fe 283 283 printf("Number of spots : %'d\n", nspots); 284 284 printf("Work size (64bit words): %'15u\n", wsize); 285 printf("Data sharing : %s\n", share ? "On" : "Off");286 285 printf("Total Operations(ops) : %'15llu\n", global_count); 287 286 printf("Total G Migrations : %'15llu\n", global_gmigs); -
benchmark/readyQ/locality.go
r4520b77e r12df6fe 286 286 // Print with nice 's, i.e. 1'000'000 instead of 1000000 287 287 p := message.NewPrinter(language.English) 288 p.Printf("Duration (ms) : % d\n", delta.Milliseconds());288 p.Printf("Duration (ms) : %f\n", delta.Milliseconds()); 289 289 p.Printf("Number of processors : %d\n", nprocs); 290 290 p.Printf("Number of threads : %d\n", nthreads); 291 291 p.Printf("Work size (64bit words): %d\n", size); 292 if share {293 p.Printf("Data sharing : On\n");294 } else {295 p.Printf("Data sharing : Off\n");296 }297 292 p.Printf("Total Operations(ops) : %15d\n", results.count) 298 293 p.Printf("Total G Migrations : %15d\n", results.gmigs) -
benchmark/readyQ/locality.rs
r4520b77e r12df6fe 346 346 println!("Number of threads : {}", (nthreads).to_formatted_string(&Locale::en)); 347 347 println!("Work size (64bit words): {}", (wsize).to_formatted_string(&Locale::en)); 348 println!("Data sharing : {}", if share { "On" } else { "Off" });349 348 println!("Total Operations(ops) : {:>15}", (results.count).to_formatted_string(&Locale::en)); 350 349 println!("Total G Migrations : {:>15}", (results.gmigs).to_formatted_string(&Locale::en)); -
benchmark/readyQ/rq_bench.hfa
r4520b77e r12df6fe 1 1 #include <clock.hfa> 2 2 #include <kernel.hfa> 3 #include <locale.h>4 3 #include <parseargs.hfa> 5 4 #include <stdio.h> -
benchmark/readyQ/transfer.cfa
r4520b77e r12df6fe 179 179 sout | "Threads parking on wait : " | (exhaust ? "yes" : "no"); 180 180 sout | "Rechecking : " | rechecks; 181 sout | " us per transfer : " | (end - start)`dus / lead_idx;181 sout | "ns per transfer : " | (end - start)`dms / lead_idx; 182 182 183 183 -
benchmark/readyQ/transfer.go
r4520b77e r12df6fe 244 244 p.Printf("Threads parking on wait : %s\n", ws) 245 245 p.Printf("Rechecking : %d\n", rechecks ) 246 p.Printf(" ms per transfer : %f\n", float64(delta.Milliseconds()) / float64(leader.idx) )247 } 246 p.Printf("ns per transfer : %f\n", float64(delta.Nanoseconds()) / float64(leader.idx) ) 247 } -
benchmark/rmit.py
r4520b77e r12df6fe 22 22 23 23 def parse_range(x): 24 result = []25 for part in x.split(','):26 if '-' in part:27 a, b = part.split('-')28 a, b = int(a), int(b)29 result.extend(range(a, b + 1))30 else:31 a = int(part)32 result.append(a)33 return result24 result = [] 25 for part in x.split(','): 26 if '-' in part: 27 a, b = part.split('-') 28 a, b = int(a), int(b) 29 result.extend(range(a, b + 1)) 30 else: 31 a = int(part) 32 result.append(a) 33 return result 34 34 35 35 class DependentOpt: … … 184 184 range(145, 193) : "0-95,96-191", 185 185 }, 186 "nasus": {187 range( 1, 65) : "64-127",188 range( 65, 129) : "64-127,192-255",189 range(129, 193) : "64-255",190 range(193, 257) : "0-255",191 },192 "ocean": {193 range( 1, 33) : "0-31",194 },195 186 } 196 187 197 host = socket.gethostname() 198 if host in known_hosts: 188 if (host := socket.gethostname()) in known_hosts: 199 189 taskset_maps = known_hosts[host] 200 190 return True … … 233 223 parser.add_argument('--trials', help='Number of trials to run per combinaison', type=int, default=3) 234 224 parser.add_argument('--notaskset', help='If specified, the trial will not use taskset to match the -p option', action='store_true') 235 parser.add_argument('--extra', help='Extra arguments to be added unconditionally', action='append', type=str)236 225 parser.add_argument('command', metavar='command', type=str, nargs=1, help='the command prefix to run') 237 226 parser.add_argument('candidates', metavar='candidates', type=str, nargs='*', help='the candidate suffix to run') … … 288 277 # ================================================================================ 289 278 # Fixup the different commands 290 291 # add extras292 if options.extra:293 for act in actions:294 for e in options.extra:295 act.append(e)296 279 297 280 # Add tasksets -
configure.ac
r4520b77e r12df6fe 24 24 #Trasforming cc1 will break compilation 25 25 M4CFA_PROGRAM_NAME 26 27 #============================================================================== 28 # New AST toggling support 29 AH_TEMPLATE([CFA_USE_NEW_AST],[Sets whether or not to use the new-ast, this is adefault value and can be overrided by --old-ast and --new-ast]) 30 DEFAULT_NEW_AST="True" 31 AC_ARG_ENABLE(new-ast, 32 [ --enable-new-ast whether or not to use new ast as the default AST algorithm], 33 [case "${enableval}" in 34 yes) newast=true ; DEFAULT_NEW_AST="True" ;; 35 no) newast=false; DEFAULT_NEW_AST="False" ;; 36 *) AC_MSG_ERROR([bad value ${enableval} for --enable-new-ast]) ;; 37 esac],[newast=true]) 38 AC_DEFINE_UNQUOTED([CFA_USE_NEW_AST], $newast) 39 AC_SUBST(DEFAULT_NEW_AST) 26 40 27 41 #============================================================================== … … 125 139 \'--enable-gprofiler=*) ;; 126 140 \'--disable-gprofiler) ;; 141 142 # skip the target hosts 143 \'--enable-new-ast=*) ;; 144 \'--disable-new-ast) ;; 127 145 128 146 # skip this, it only causes problems -
doc/LaTeXmacros/lstlang.sty
r4520b77e r12df6fe 118 118 inline, __inline, __inline__, __int128, int128, __label__, monitor, mutex, _Noreturn, one_t, or, 119 119 otype, restrict, __restrict, __restrict__, recover, report, __signed, __signed__, _Static_assert, suspend, 120 thread, _ _thread, _Thread_local, throw, throwResume, timeout, trait, try, ttype, typeof, __typeof, __typeof__,120 thread, _Thread_local, throw, throwResume, timeout, trait, try, ttype, typeof, __typeof, __typeof__, 121 121 virtual, __volatile, __volatile__, waitfor, when, with, zero_t, 122 122 }, -
doc/bibliography/pl.bib
r4520b77e r12df6fe 3757 3757 series = {Innovative Technology}, 3758 3758 year = 1991, 3759 }3760 3761 @mastersthesis{Zulfiqar22,3762 keywords = {Cforall, memory allocation, threading},3763 contributer = {pabuhr@plg},3764 author = {Mubeen Zulfiqar},3765 title = {High-Performance Concurrent Memory Allocation},3766 school = {School of Computer Science, University of Waterloo},3767 year = 2022,3768 address = {Waterloo, Ontario, Canada, N2L 3G1},3769 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/18329}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/18329}},3770 3759 } 3771 3760 … … 7848 7837 } 7849 7838 7850 @misc{Tokio,7851 contributer = {pabuhr@plg},7852 key = {Tokio},7853 title = {{T}okio Asynchronous Runtime for {R}ust},7854 author = {Tokio},7855 howpublished= {\href{https://tokio.rs}{https://\-tokio.rs}},7856 }7857 7858 7839 @misc{Bumbulis90, 7859 7840 keywords = {parameter inference, ForceN}, … … 8171 8152 doi = {10.1145/3379483}, 8172 8153 journal = {Proc. ACM Meas. Anal. Comput. Syst.}, 8173 month = jun,8154 month = mar, 8174 8155 numpages = {30}, 8175 8156 } -
doc/theses/thierry_delisle_PhD/.gitignore
r4520b77e r12df6fe 20 20 thesis/fig/*.fig.bak 21 21 thesis/thesis.pdf 22 thesis/thesis.tty23 22 thesis/thesis.ps 24 23 -
doc/theses/thierry_delisle_PhD/thesis/Makefile
r4520b77e r12df6fe 11 11 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build} 12 12 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex 13 DeTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && detex -r14 13 15 14 MAKEFLAGS = --no-print-directory # --silent … … 27 26 eval_micro \ 28 27 eval_macro \ 29 conclusion \30 28 }} 31 29 32 FIGURES = base \ 30 FIGURES = ${addsuffix .tex, \ 31 } 32 33 PICTURES = ${addsuffix .pstex, \ 34 base \ 33 35 base_avg \ 34 36 base_ts2 \ … … 52 54 cycle \ 53 55 result.cycle.jax.ops \ 54 result.cycle.nasus.ops \55 56 result.yield.jax.ops \ 56 result.yield.nasus.ops \57 57 result.churn.jax.ops \ 58 result.churn.nasus.ops \59 result.locality.share.jax.ops \60 result.locality.share.nasus.ops \61 result.locality.noshare.jax.ops \62 result.locality.noshare.nasus.ops \63 58 result.cycle.jax.ns \ 64 result.cycle.nasus.ns \65 59 result.yield.jax.ns \ 66 result.yield.nasus.ns \67 60 result.churn.jax.ns \ 68 result.churn.nasus.ns \69 result.locality.share.jax.ns \70 result.locality.share.nasus.ns \71 result.locality.noshare.jax.ns \72 result.locality.noshare.nasus.ns \73 61 result.cycle.low.jax.ops \ 74 result.cycle.low.nasus.ops \75 62 result.yield.low.jax.ops \ 76 result.yield.low.nasus.ops \77 63 result.churn.low.jax.ops \ 78 result.churn.low.nasus.ops \79 64 result.cycle.low.jax.ns \ 80 result.cycle.low.nasus.ns \81 65 result.yield.low.jax.ns \ 82 result.yield.low.nasus.ns \83 66 result.churn.low.jax.ns \ 84 result.churn.low.nasus.ns \ 67 result.memcd.updt.qps \ 68 result.memcd.updt.lat \ 85 69 result.memcd.rate.qps \ 86 70 result.memcd.rate.99th \ 87 result.memcd.forall.qps \ 88 result.memcd.forall.lat \ 89 result.memcd.fibre.qps \ 90 result.memcd.fibre.lat \ 91 result.memcd.vanilla.qps \ 92 result.memcd.vanilla.lat \ 93 result.swbsrv.25gb \ 94 result.swbsrv.25gb.err \ 95 SQMS 96 97 PICTURES = ${addsuffix .pstex, ${FIGURES} } 71 SQMS \ 72 } 98 73 99 74 PROGRAMS = ${addsuffix .tex, \ … … 105 80 ## Define the documents that need to be made. 106 81 all: thesis.pdf 107 build/thesis.dvi: ${TEXTS} ${PICTURES} thesis.tex glossary.tex local.bib ${LaTMac}/common.tex ${LaTMac}/common.sty ${BibRep}/pl.bib82 thesis.pdf: ${TEXTS} ${FIGURES} ${PICTURES} thesis.tex glossary.tex local.bib ${LaTMac}/common.tex ${LaTMac}/common.sty ${BibRep}/pl.bib 108 83 109 84 DOCUMENT = thesis.pdf … … 145 120 ${LaTeX} $< 146 121 147 %.tty: build/%.dvi148 dvi2tty -w132 $< > $@149 150 122 ## Define the default recipes. 151 123 … … 172 144 python3 $< $@ 173 145 174 cycle_jax_ops_FLAGS = --MaxY= 500000000175 cycle_low_jax_ops_FLAGS = --MaxY= 500000000176 cycle_jax_ns_FLAGS = --MaxY= 4000177 cycle_low_jax_ns_FLAGS = --MaxY= 4000146 cycle_jax_ops_FLAGS = --MaxY=120000000 147 cycle_low_jax_ops_FLAGS = --MaxY=120000000 148 cycle_jax_ns_FLAGS = --MaxY=2000 149 cycle_low_jax_ns_FLAGS = --MaxY=2000 178 150 179 cycle_nasus_ops_FLAGS = --MaxY=1250000000180 cycle_low_nasus_ops_FLAGS = --MaxY=1250000000181 cycle_nasus_ns_FLAGS = --MaxY=1500182 cycle_low_nasus_ns_FLAGS = --MaxY=1500151 yield_jax_ops_FLAGS = --MaxY=150000000 152 yield_low_jax_ops_FLAGS = --MaxY=150000000 153 yield_jax_ns_FLAGS = --MaxY=1500 154 yield_low_jax_ns_FLAGS = --MaxY=1500 183 155 184 yield_jax_ops_FLAGS = --MaxY=1000000000 185 yield_low_jax_ops_FLAGS = --MaxY=1000000000 186 yield_jax_ns_FLAGS = --MaxY=4000 187 yield_low_jax_ns_FLAGS = --MaxY=4000 188 189 yield_nasus_ops_FLAGS = --MaxY=1500000000 190 yield_low_nasus_ops_FLAGS = --MaxY=1500000000 191 yield_nasus_ns_FLAGS = --MaxY=1500 192 yield_low_nasus_ns_FLAGS = --MaxY=1500 193 194 churn_jax_ops_FLAGS = --MaxY=50000000 195 churn_low_jax_ops_FLAGS = --MaxY=50000000 196 churn_jax_ns_FLAGS = --MaxY=10000 197 churn_low_jax_ns_FLAGS = --MaxY=10000 198 199 churn_nasus_ops_FLAGS = --MaxY=75000000 200 churn_low_nasus_ops_FLAGS = --MaxY=75000000 201 churn_nasus_ns_FLAGS = --MaxY=5000 202 churn_low_nasus_ns_FLAGS = --MaxY=5000 203 204 locality_share_jax_ops_FLAGS = --MaxY=40000000 205 locality_noshare_jax_ops_FLAGS = --MaxY=40000000 206 locality_share_jax_ns_FLAGS = --MaxY=10000 207 locality_noshare_jax_ns_FLAGS = --MaxY=10000 208 209 locality_share_nasus_ops_FLAGS = --MaxY=60000000 210 locality_noshare_nasus_ops_FLAGS = --MaxY=60000000 211 locality_share_nasus_ns_FLAGS = --MaxY=10000 212 locality_noshare_nasus_ns_FLAGS = --MaxY=10000 213 214 build/result.%.ns.svg : data/% Makefile ../../../../benchmark/plot.py | ${Build} 156 build/result.%.ns.svg : data/% Makefile | ${Build} 215 157 ../../../../benchmark/plot.py -f $< -o $@ -y "ns per ops/procs" $($(subst .,_,$*)_ns_FLAGS) 216 158 217 build/result.%.ops.svg : data/% Makefile ../../../../benchmark/plot.py| ${Build}159 build/result.%.ops.svg : data/% Makefile | ${Build} 218 160 ../../../../benchmark/plot.py -f $< -o $@ -y "Ops per second" $($(subst .,_,$*)_ops_FLAGS) 219 161 220 build/result.memcd. rate.qps.svg : data/memcd.rate Makefile ../../../../benchmark/plot.py| ${Build}221 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x " Target QPS" --MaxY=750000162 build/result.memcd.updt.qps.svg : data/memcd.updt Makefile | ${Build} 163 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Update Ratio" 222 164 223 build/result.memcd.rate.99th.svg : data/memcd.rate Makefile ../../../../benchmark/plot.py | ${Build} 165 build/result.memcd.updt.lat.svg : data/memcd.updt Makefile | ${Build} 166 ../../../../benchmark/plot.py -f $< -o $@ -y "Average Read Latency" -x "Update Ratio" 167 168 build/result.memcd.rate.qps.svg : data/memcd.rate Makefile | ${Build} 169 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" 170 171 build/result.memcd.rate.99th.svg : data/memcd.rate Makefile | ${Build} 224 172 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" 225 226 build/result.memcd.forall.qps.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}227 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" --filter forall --MaxY=700000228 229 build/result.memcd.forall.lat.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}230 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" --filter forall --MaxY=1231 232 build/result.memcd.vanilla.qps.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}233 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" --filter vanilla --MaxY=700000234 235 build/result.memcd.vanilla.lat.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}236 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" --filter vanilla --MaxY=1237 238 build/result.memcd.fibre.qps.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}239 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" --filter fibre --MaxY=700000240 241 build/result.memcd.fibre.lat.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}242 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" --filter fibre --MaxY=1243 244 build/swbsrv.% : data/swbsrv.%.nginx data/swbsrv.%.cfa Makefile ../../../../benchmark/process-trun.py | ${Build}245 ../../../../benchmark/process-trun.py --out $@ $^246 247 build/result.swbsrv.%.svg : build/swbsrv.% Makefile ../../../../benchmark/plot.py | ${Build}248 ../../../../benchmark/plot.py -f $< -o $@ -y "Data Rate" -x "Request Rate"249 250 build/result.swbsrv.%.err.svg : build/swbsrv.% Makefile ../../../../benchmark/plot.py | ${Build}251 ../../../../benchmark/plot.py -f $< -o $@ -y "Errors" -x "Request Rate"252 173 253 174 ## pstex with inverted colors -
doc/theses/thierry_delisle_PhD/thesis/data/churn.jax
r4520b77e r12df6fe 1 [["rdq-churn-cfa", "./rdq-churn-cfa -p 1 6 -d 30 -s 16 -t 1600", {"Duration (ms)": 30075.868301, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 289469263.0, "Total blocks": 99682524.0, "Ops per second": 9624635.28, "ns per ops": 103.9, "Ops per threads": 180918.0, "Ops per procs": 18091828.0, "Ops/sec/procs": 601539.7, "ns per ops/procs": 1662.4}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30046.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 403404059.0, "Total blocks": 211351282.0, "Ops per second": 13425814.66, "ns per ops": 74.48, "Ops per threads": 56028.0, "Ops per procs": 5602834.0, "Ops/sec/procs": 186469.65, "ns per ops/procs": 5362.8}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.411121, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1107942830.0, "Total blocks": 2274803.0, "Ops per second": 36870700.25, "ns per ops": 27.12, "Ops per threads": 11079428.0, "Ops per procs": 1107942830.0, "Ops/sec/procs": 36870700.25, "ns per ops/procs": 27.12}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30034.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 135875512.0, "Ops per second": 4523993.62, "ns per ops": 221.04, "Ops per threads": 169844.0, "Ops per procs": 16984439.0, "Ops/sec/procs": 565499.2, "ns per ops/procs": 1768.35}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30018.838212, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 554451137.0, "Total blocks": 217588854.0, "Ops per second": 18470106.44, "ns per ops": 54.14, "Ops per threads": 38503.0, "Ops per procs": 3850355.0, "Ops/sec/procs": 128264.63, "ns per ops/procs": 7796.38}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30050.100322, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 446584650.0, "Total blocks": 3589341.0, "Ops per second": 14861336.41, "ns per ops": 67.29, "Ops per threads": 2232923.0, "Ops per procs": 223292325.0, "Ops/sec/procs": 7430668.2, "ns per ops/procs": 134.58}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30065.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 165334540.0, "Ops per second": 5511151.0, "ns per ops": 181.0, "Ops per threads": 413336.0, "Ops per procs": 41333635.0, "Ops/sec/procs": 1377787.0, "ns per ops/procs": 727.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 85108311.0, "Total blocks": 42555241.0, "Ops per second": 2830560.64, "ns per ops": 353.29, "Ops per threads": 425541.0, "Ops per procs": 42554155.0, "Ops/sec/procs": 1415280.32, "ns per ops/procs": 706.57}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135695877.0, "Ops per second": 4522969.22, "ns per ops": 221.09, "Ops per threads": 1356958.0, "Ops per procs": 135695877.0, "Ops/sec/procs": 4522969.22, "ns per ops/procs": 221.09}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.007864, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 460189920.0, "Total blocks": 6818419.0, "Ops per second": 15313626.82, "ns per ops": 65.3, "Ops per threads": 2300949.0, "Ops per procs": 230094960.0, "Ops/sec/procs": 7656813.41, "ns per ops/procs": 130.6}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30037.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 352510510.0, "Total blocks": 188865198.0, "Ops per second": 11735491.3, "ns per ops": 85.21, "Ops per threads": 146879.0, "Ops per procs": 14687937.0, "Ops/sec/procs": 488978.8, "ns per ops/procs": 2045.08}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.404585, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 420642103.0, "Total blocks": 4555781.0, "Ops per second": 13997419.05, "ns per ops": 71.44, "Ops per threads": 2103210.0, "Ops per procs": 210321051.0, "Ops/sec/procs": 6998709.52, "ns per ops/procs": 142.88}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135981132.0, "Ops per second": 4532471.29, "ns per ops": 220.63, "Ops per threads": 1359811.0, "Ops per procs": 135981132.0, "Ops/sec/procs": 4532471.29, "ns per ops/procs": 220.63}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.010105, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1119014154.0, "Total blocks": 532914.0, "Ops per second": 37238395.26, "ns per ops": 26.85, "Ops per threads": 11190141.0, "Ops per procs": 1119014154.0, "Ops/sec/procs": 37238395.26, "ns per ops/procs": 26.85}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30022.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 117451105.0, "Ops per second": 3912118.28, "ns per ops": 255.62, "Ops per threads": 587255.0, "Ops per procs": 58725552.0, "Ops/sec/procs": 1956059.14, "ns per ops/procs": 511.23}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30037.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 276197417.0, "Total blocks": 140339441.0, "Ops per second": 9195171.06, "ns per ops": 108.75, "Ops per threads": 172623.0, "Ops per procs": 17262338.0, "Ops/sec/procs": 574698.19, "ns per ops/procs": 1740.04}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30090.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 477422266.0, "Total blocks": 253638280.0, "Ops per second": 15866309.74, "ns per ops": 63.03, "Ops per threads": 49731.0, "Ops per procs": 4973148.0, "Ops/sec/procs": 165274.06, "ns per ops/procs": 6050.56}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30007.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 192918672.0, "Ops per second": 6430622.0, "ns per ops": 155.0, "Ops per threads": 964593.0, "Ops per procs": 96459336.0, "Ops/sec/procs": 3215311.0, "ns per ops/procs": 311.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30037.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 466582279.0, "Ops per second": 15533280.4, "ns per ops": 64.38, "Ops per threads": 32401.0, "Ops per procs": 3240154.0, "Ops/sec/procs": 107870.0, "ns per ops/procs": 9270.42}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30047.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 435177105.0, "Ops per second": 14483172.02, "ns per ops": 69.05, "Ops per threads": 22665.0, "Ops per procs": 2266547.0, "Ops/sec/procs": 75433.19, "ns per ops/procs": 13256.76}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30057.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 169269650.0, "Ops per second": 5642321.0, "ns per ops": 177.0, "Ops per threads": 423174.0, "Ops per procs": 42317412.0, "Ops/sec/procs": 1410580.0, "ns per ops/procs": 710.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30042.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 263067114.0, "Total blocks": 135012656.0, "Ops per second": 8756384.01, "ns per ops": 114.2, "Ops per threads": 164416.0, "Ops per procs": 16441694.0, "Ops/sec/procs": 547274.0, "ns per ops/procs": 1827.24}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.800437, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 331747340.0, "Total blocks": 113949944.0, "Ops per second": 11050214.68, "ns per ops": 90.5, "Ops per threads": 138228.0, "Ops per procs": 13822805.0, "Ops/sec/procs": 460425.61, "ns per ops/procs": 2171.9}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 120106879.0, "Ops per second": 4000468.15, "ns per ops": 249.97, "Ops per threads": 600534.0, "Ops per procs": 60053439.0, "Ops/sec/procs": 2000234.08, "ns per ops/procs": 499.94}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30063.295621, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 493310516.0, "Total blocks": 182106727.0, "Ops per second": 16409063.14, "ns per ops": 60.94, "Ops per threads": 68515.0, "Ops per procs": 6851534.0, "Ops/sec/procs": 227903.65, "ns per ops/procs": 4387.82}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.86694, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 168373659.0, "Total blocks": 81452589.0, "Ops per second": 5602209.43, "ns per ops": 178.5, "Ops per threads": 420934.0, "Ops per procs": 42093414.0, "Ops/sec/procs": 1400552.36, "ns per ops/procs": 714.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30002.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 531062302.0, "Total blocks": 293639829.0, "Ops per second": 17700640.51, "ns per ops": 56.5, "Ops per threads": 110637.0, "Ops per procs": 11063797.0, "Ops/sec/procs": 368763.34, "ns per ops/procs": 2711.77}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30074.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 643735760.0, "Total blocks": 358621007.0, "Ops per second": 21404624.0, "ns per ops": 46.72, "Ops per threads": 44703.0, "Ops per procs": 4470387.0, "Ops/sec/procs": 148643.22, "ns per ops/procs": 6727.52}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30059.292145, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 223458642.0, "Total blocks": 89002774.0, "Ops per second": 7433928.95, "ns per ops": 134.52, "Ops per threads": 279323.0, "Ops per procs": 27932330.0, "Ops/sec/procs": 929241.12, "ns per ops/procs": 1076.15}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30072.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 405846975.0, "Total blocks": 213386180.0, "Ops per second": 13495463.54, "ns per ops": 74.1, "Ops per threads": 56367.0, "Ops per procs": 5636763.0, "Ops/sec/procs": 187436.99, "ns per ops/procs": 5335.13}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30001.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 809976443.0, "Ops per second": 26999214.0, "ns per ops": 37.0, "Ops per threads": 56248.0, "Ops per procs": 5624836.0, "Ops/sec/procs": 187494.0, "ns per ops/procs": 5333.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30081.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 389914473.0, "Total blocks": 206265278.0, "Ops per second": 12961862.65, "ns per ops": 77.15, "Ops per threads": 54154.0, "Ops per procs": 5415478.0, "Ops/sec/procs": 180025.87, "ns per ops/procs": 5554.76}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30024.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 492383427.0, "Ops per second": 16412780.0, "ns per ops": 60.0, "Ops per threads": 68386.0, "Ops per procs": 6838658.0, "Ops/sec/procs": 227955.0, "ns per ops/procs": 4390.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.931164, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 345016533.0, "Total blocks": 130363754.0, "Ops per second": 11492149.89, "ns per ops": 87.02, "Ops per threads": 143756.0, "Ops per procs": 14375688.0, "Ops/sec/procs": 478839.58, "ns per ops/procs": 2088.38}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30066.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86178096.0, "Total blocks": 43090129.0, "Ops per second": 2866252.66, "ns per ops": 348.89, "Ops per threads": 430890.0, "Ops per procs": 43089048.0, "Ops/sec/procs": 1433126.33, "ns per ops/procs": 697.78}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30029.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 501676119.0, "Ops per second": 16722537.0, "ns per ops": 59.0, "Ops per threads": 69677.0, "Ops per procs": 6967723.0, "Ops/sec/procs": 232257.0, "ns per ops/procs": 4309.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30032.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 547129292.0, "Total blocks": 304012301.0, "Ops per second": 18217830.81, "ns per ops": 54.89, "Ops per threads": 113985.0, "Ops per procs": 11398526.0, "Ops/sec/procs": 379538.14, "ns per ops/procs": 2634.78}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 119733043.0, "Ops per second": 3987801.18, "ns per ops": 250.76, "Ops per threads": 598665.0, "Ops per procs": 59866521.0, "Ops/sec/procs": 1993900.59, "ns per ops/procs": 501.53}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30007.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 742058814.0, "Ops per second": 24735293.0, "ns per ops": 40.0, "Ops per threads": 154595.0, "Ops per procs": 15459558.0, "Ops/sec/procs": 515318.0, "ns per ops/procs": 1941.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30030.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 237302272.0, "Ops per second": 7902160.43, "ns per ops": 126.55, "Ops per threads": 148313.0, "Ops per procs": 14831392.0, "Ops/sec/procs": 493885.03, "ns per ops/procs": 2024.76}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30031.192223, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 559305025.0, "Total blocks": 216177017.0, "Ops per second": 18624136.56, "ns per ops": 53.69, "Ops per threads": 58260.0, "Ops per procs": 5826094.0, "Ops/sec/procs": 194001.42, "ns per ops/procs": 5154.6}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30050.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 373205153.0, "Ops per second": 12419293.9, "ns per ops": 80.52, "Ops per threads": 77751.0, "Ops per procs": 7775107.0, "Ops/sec/procs": 258735.29, "ns per ops/procs": 3864.95}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30040.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 262484921.0, "Ops per second": 8737744.14, "ns per ops": 114.45, "Ops per threads": 109368.0, "Ops per procs": 10936871.0, "Ops/sec/procs": 364072.67, "ns per ops/procs": 2746.7}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30095.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 391969440.0, "Total blocks": 207086302.0, "Ops per second": 13024362.64, "ns per ops": 76.78, "Ops per threads": 54440.0, "Ops per procs": 5444020.0, "Ops/sec/procs": 180893.93, "ns per ops/procs": 5528.1}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 547581273.0, "Total blocks": 304069398.0, "Ops per second": 18192857.66, "ns per ops": 54.97, "Ops per threads": 114079.0, "Ops per procs": 11407943.0, "Ops/sec/procs": 379017.87, "ns per ops/procs": 2638.4}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30030.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 377205011.0, "Total blocks": 205651915.0, "Ops per second": 12560654.76, "ns per ops": 79.61, "Ops per threads": 157168.0, "Ops per procs": 15716875.0, "Ops/sec/procs": 523360.61, "ns per ops/procs": 1910.73}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30030.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 419980931.0, "Ops per second": 13985201.06, "ns per ops": 71.5, "Ops per threads": 58330.0, "Ops per procs": 5833068.0, "Ops/sec/procs": 194238.9, "ns per ops/procs": 5148.3}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30037.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 157657898.0, "Ops per second": 5248725.07, "ns per ops": 190.52, "Ops per threads": 394144.0, "Ops per procs": 39414474.0, "Ops/sec/procs": 1312181.27, "ns per ops/procs": 762.09}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.564641, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 213642091.0, "Total blocks": 88395570.0, "Ops per second": 7107055.16, "ns per ops": 140.71, "Ops per threads": 267052.0, "Ops per procs": 26705261.0, "Ops/sec/procs": 888381.89, "ns per ops/procs": 1125.64}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30016.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 514011356.0, "Ops per second": 17133711.0, "ns per ops": 58.0, "Ops per threads": 214171.0, "Ops per procs": 21417139.0, "Ops/sec/procs": 713904.0, "ns per ops/procs": 1401.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 85940501.0, "Total blocks": 42971495.0, "Ops per second": 2858299.17, "ns per ops": 349.86, "Ops per threads": 429702.0, "Ops per procs": 42970250.0, "Ops/sec/procs": 1429149.58, "ns per ops/procs": 699.72}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30068.16394, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 461302988.0, "Total blocks": 170136777.0, "Ops per second": 15341907.44, "ns per ops": 65.18, "Ops per threads": 48052.0, "Ops per procs": 4805239.0, "Ops/sec/procs": 159811.54, "ns per ops/procs": 6257.37}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30034.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 157574300.0, "Ops per second": 5246454.88, "ns per ops": 190.6, "Ops per threads": 196967.0, "Ops per procs": 19696787.0, "Ops/sec/procs": 655806.86, "ns per ops/procs": 1524.84}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30046.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 483114499.0, "Ops per second": 16103816.0, "ns per ops": 62.0, "Ops per threads": 67099.0, "Ops per procs": 6709923.0, "Ops/sec/procs": 223664.0, "ns per ops/procs": 4477.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 779981371.0, "Total blocks": 408333976.0, "Ops per second": 25987538.56, "ns per ops": 38.48, "Ops per threads": 40624.0, "Ops per procs": 4062402.0, "Ops/sec/procs": 135351.76, "ns per ops/procs": 7388.16}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.675957, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 222215768.0, "Total blocks": 78217309.0, "Ops per second": 7392241.22, "ns per ops": 135.28, "Ops per threads": 277769.0, "Ops per procs": 27776971.0, "Ops/sec/procs": 924030.15, "ns per ops/procs": 1082.22}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 118927722.0, "Ops per second": 3961209.34, "ns per ops": 252.45, "Ops per threads": 594638.0, "Ops per procs": 59463861.0, "Ops/sec/procs": 1980604.67, "ns per ops/procs": 504.9}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30045.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 262011274.0, "Total blocks": 134446637.0, "Ops per second": 8720515.65, "ns per ops": 114.67, "Ops per threads": 163757.0, "Ops per procs": 16375704.0, "Ops/sec/procs": 545032.23, "ns per ops/procs": 1834.75}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30067.25622, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 562247067.0, "Total blocks": 210693052.0, "Ops per second": 18699646.65, "ns per ops": 53.48, "Ops per threads": 39044.0, "Ops per procs": 3904493.0, "Ops/sec/procs": 129858.66, "ns per ops/procs": 7700.68}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30026.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 463496302.0, "Ops per second": 15436388.94, "ns per ops": 64.78, "Ops per threads": 64374.0, "Ops per procs": 6437448.0, "Ops/sec/procs": 214394.29, "ns per ops/procs": 4664.3}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30100.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 477250158.0, "Total blocks": 253418567.0, "Ops per second": 15855387.09, "ns per ops": 63.07, "Ops per threads": 49713.0, "Ops per procs": 4971355.0, "Ops/sec/procs": 165160.28, "ns per ops/procs": 6054.73}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30038.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 158522221.0, "Ops per second": 5277258.49, "ns per ops": 189.49, "Ops per threads": 396305.0, "Ops per procs": 39630555.0, "Ops/sec/procs": 1319314.62, "ns per ops/procs": 757.97}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30016.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 967720382.0, "Ops per second": 32257346.0, "ns per ops": 31.0, "Ops per threads": 50402.0, "Ops per procs": 5040210.0, "Ops/sec/procs": 168007.0, "ns per ops/procs": 5955.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30002.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 821802839.0, "Ops per second": 27393427.0, "ns per ops": 36.0, "Ops per threads": 57069.0, "Ops per procs": 5706964.0, "Ops/sec/procs": 190232.0, "ns per ops/procs": 5257.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30091.886662, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 552173051.0, "Total blocks": 209027334.0, "Ops per second": 18349565.69, "ns per ops": 54.5, "Ops per threads": 38345.0, "Ops per procs": 3834535.0, "Ops/sec/procs": 127427.54, "ns per ops/procs": 7847.6}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30045.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 340551126.0, "Total blocks": 184661834.0, "Ops per second": 11334508.2, "ns per ops": 88.23, "Ops per threads": 141896.0, "Ops per procs": 14189630.0, "Ops/sec/procs": 472271.17, "ns per ops/procs": 2117.43}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30038.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 275334214.0, "Total blocks": 139677779.0, "Ops per second": 9165966.63, "ns per ops": 109.1, "Ops per threads": 172083.0, "Ops per procs": 17208388.0, "Ops/sec/procs": 572872.91, "ns per ops/procs": 1745.59}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30012.567786, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 638825140.0, "Total blocks": 246576238.0, "Ops per second": 21285254.38, "ns per ops": 46.98, "Ops per threads": 33272.0, "Ops per procs": 3327214.0, "Ops/sec/procs": 110860.7, "ns per ops/procs": 9020.33}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30014.099262, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 572321642.0, "Total blocks": 225997194.0, "Ops per second": 19068426.38, "ns per ops": 52.44, "Ops per threads": 59616.0, "Ops per procs": 5961683.0, "Ops/sec/procs": 198629.44, "ns per ops/procs": 5034.5}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30015.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 179041576.0, "Total blocks": 96279802.0, "Ops per second": 5965006.37, "ns per ops": 167.64, "Ops per threads": 223801.0, "Ops per procs": 22380197.0, "Ops/sec/procs": 745625.8, "ns per ops/procs": 1341.16}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30069.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86037414.0, "Total blocks": 43019155.0, "Ops per second": 2861325.64, "ns per ops": 349.49, "Ops per threads": 430187.0, "Ops per procs": 43018707.0, "Ops/sec/procs": 1430662.82, "ns per ops/procs": 698.98}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192391162.0, "Total blocks": 0.0, "Ops per second": 6407286.05, "ns per ops": 156.07, "Ops per threads": 1923911.0, "Ops per procs": 192391162.0, "Ops/sec/procs": 6407286.05, "ns per ops/procs": 156.07}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30089.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 144193440.0, "Total blocks": 87209382.0, "Ops per second": 4792135.09, "ns per ops": 208.68, "Ops per threads": 360483.0, "Ops per procs": 36048360.0, "Ops/sec/procs": 1198033.77, "ns per ops/procs": 834.7}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30048.879489, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 292998484.0, "Total blocks": 115768461.0, "Ops per second": 9750729.11, "ns per ops": 102.56, "Ops per threads": 183124.0, "Ops per procs": 18312405.0, "Ops/sec/procs": 609420.57, "ns per ops/procs": 1640.9}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30054.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 303561759.0, "Total blocks": 159405536.0, "Ops per second": 10100263.0, "ns per ops": 99.01, "Ops per threads": 126484.0, "Ops per procs": 12648406.0, "Ops/sec/procs": 420844.29, "ns per ops/procs": 2376.18}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30008.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 190117539.0, "Ops per second": 6337251.0, "ns per ops": 157.0, "Ops per threads": 950587.0, "Ops per procs": 95058769.0, "Ops/sec/procs": 3168625.0, "ns per ops/procs": 315.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 742543456.0, "Ops per second": 24751448.0, "ns per ops": 40.0, "Ops per threads": 154696.0, "Ops per procs": 15469655.0, "Ops/sec/procs": 515655.0, "ns per ops/procs": 1939.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30018.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 184769861.0, "Ops per second": 6158995.0, "ns per ops": 162.0, "Ops per threads": 923849.0, "Ops per procs": 92384930.0, "Ops/sec/procs": 3079497.0, "ns per ops/procs": 324.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30028.672325, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 614702777.0, "Total blocks": 257279822.0, "Ops per second": 20470527.98, "ns per ops": 48.85, "Ops per threads": 32015.0, "Ops per procs": 3201576.0, "Ops/sec/procs": 106617.33, "ns per ops/procs": 9379.34}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 652534542.0, "Total blocks": 362925017.0, "Ops per second": 21680059.97, "ns per ops": 46.13, "Ops per threads": 45314.0, "Ops per procs": 4531489.0, "Ops/sec/procs": 150555.97, "ns per ops/procs": 6642.05}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30038.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 151569814.0, "Ops per second": 5045788.08, "ns per ops": 198.19, "Ops per threads": 189462.0, "Ops per procs": 18946226.0, "Ops/sec/procs": 630723.51, "ns per ops/procs": 1585.48}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30034.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 177032677.0, "Ops per second": 5901089.0, "ns per ops": 169.0, "Ops per threads": 885163.0, "Ops per procs": 88516338.0, "Ops/sec/procs": 2950544.0, "ns per ops/procs": 339.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30041.061808, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 547418122.0, "Total blocks": 213173108.0, "Ops per second": 18222329.34, "ns per ops": 54.88, "Ops per threads": 57022.0, "Ops per procs": 5702272.0, "Ops/sec/procs": 189815.93, "ns per ops/procs": 5268.26}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30017.932819, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 608493054.0, "Total blocks": 233286904.0, "Ops per second": 20270984.6, "ns per ops": 49.33, "Ops per threads": 31692.0, "Ops per procs": 3169234.0, "Ops/sec/procs": 105578.04, "ns per ops/procs": 9471.67}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30033.041615, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 569143989.0, "Total blocks": 212892830.0, "Ops per second": 18950594.36, "ns per ops": 52.77, "Ops per threads": 39523.0, "Ops per procs": 3952388.0, "Ops/sec/procs": 131601.35, "ns per ops/procs": 7598.71}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.236224, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 171437082.0, "Total blocks": 83008395.0, "Ops per second": 5704067.03, "ns per ops": 175.31, "Ops per threads": 428592.0, "Ops per procs": 42859270.0, "Ops/sec/procs": 1426016.76, "ns per ops/procs": 701.25}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30096.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 791936415.0, "Total blocks": 413079985.0, "Ops per second": 26313013.98, "ns per ops": 38.0, "Ops per threads": 41246.0, "Ops per procs": 4124668.0, "Ops/sec/procs": 137046.95, "ns per ops/procs": 7296.77}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30013.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 473926634.0, "Total blocks": 252360761.0, "Ops per second": 15790546.99, "ns per ops": 63.33, "Ops per threads": 49367.0, "Ops per procs": 4936735.0, "Ops/sec/procs": 164484.86, "ns per ops/procs": 6079.59}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30008.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 831437046.0, "Ops per second": 27714568.0, "ns per ops": 36.0, "Ops per threads": 57738.0, "Ops per procs": 5773868.0, "Ops/sec/procs": 192462.0, "ns per ops/procs": 5197.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30007.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 731867186.0, "Ops per second": 24395572.0, "ns per ops": 41.0, "Ops per threads": 152472.0, "Ops per procs": 15247233.0, "Ops/sec/procs": 508241.0, "ns per ops/procs": 1968.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30047.044654, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 506855883.0, "Total blocks": 199342292.0, "Ops per second": 16868743.29, "ns per ops": 59.28, "Ops per threads": 70396.0, "Ops per procs": 7039665.0, "Ops/sec/procs": 234288.1, "ns per ops/procs": 4268.25}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30089.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 546139586.0, "Total blocks": 303624999.0, "Ops per second": 18150711.36, "ns per ops": 55.09, "Ops per threads": 113779.0, "Ops per procs": 11377908.0, "Ops/sec/procs": 378139.82, "ns per ops/procs": 2644.52}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30052.757614, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 508109467.0, "Total blocks": 187018883.0, "Ops per second": 16907249.36, "ns per ops": 59.15, "Ops per threads": 35285.0, "Ops per procs": 3528537.0, "Ops/sec/procs": 117411.45, "ns per ops/procs": 8517.06}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30076.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 481753266.0, "Total blocks": 257794669.0, "Ops per second": 16017610.73, "ns per ops": 62.43, "Ops per threads": 50182.0, "Ops per procs": 5018263.0, "Ops/sec/procs": 166850.11, "ns per ops/procs": 5993.4}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192330844.0, "Total blocks": 0.0, "Ops per second": 6405264.01, "ns per ops": 156.12, "Ops per threads": 1923308.0, "Ops per procs": 192330844.0, "Ops/sec/procs": 6405264.01, "ns per ops/procs": 156.12}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30041.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 158173566.0, "Ops per second": 5265141.09, "ns per ops": 189.93, "Ops per threads": 395433.0, "Ops per procs": 39543391.0, "Ops/sec/procs": 1316285.27, "ns per ops/procs": 759.71}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 451340969.0, "Ops per second": 15044698.0, "ns per ops": 66.0, "Ops per threads": 4513409.0, "Ops per procs": 451340969.0, "Ops/sec/procs": 15044698.0, "ns per ops/procs": 66.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 740711879.0, "Ops per second": 24690395.0, "ns per ops": 40.0, "Ops per threads": 154314.0, "Ops per procs": 15431497.0, "Ops/sec/procs": 514383.0, "ns per ops/procs": 1944.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30034.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 257839981.0, "Ops per second": 8584782.57, "ns per ops": 116.49, "Ops per threads": 107433.0, "Ops per procs": 10743332.0, "Ops/sec/procs": 357699.27, "ns per ops/procs": 2795.64}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30080.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 167090878.0, "Ops per second": 5569695.0, "ns per ops": 180.0, "Ops per threads": 417727.0, "Ops per procs": 41772719.0, "Ops/sec/procs": 1392423.0, "ns per ops/procs": 720.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30027.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 235680912.0, "Ops per second": 7856030.0, "ns per ops": 127.0, "Ops per threads": 294601.0, "Ops per procs": 29460114.0, "Ops/sec/procs": 982003.0, "ns per ops/procs": 1019.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30048.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 346745926.0, "Ops per second": 11558197.0, "ns per ops": 86.0, "Ops per threads": 216716.0, "Ops per procs": 21671620.0, "Ops/sec/procs": 722387.0, "ns per ops/procs": 1386.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.787815, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 169134122.0, "Total blocks": 81717062.0, "Ops per second": 5627526.74, "ns per ops": 177.7, "Ops per threads": 422835.0, "Ops per procs": 42283530.0, "Ops/sec/procs": 1406881.68, "ns per ops/procs": 710.79}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 119444141.0, "Total blocks": 70913358.0, "Ops per second": 3981305.77, "ns per ops": 251.17, "Ops per threads": 298610.0, "Ops per procs": 29861035.0, "Ops/sec/procs": 995326.44, "ns per ops/procs": 1004.7}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30052.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 451097128.0, "Ops per second": 15010426.68, "ns per ops": 66.62, "Ops per threads": 23494.0, "Ops per procs": 2349464.0, "Ops/sec/procs": 78179.31, "ns per ops/procs": 12791.11}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.009121, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 155630767.0, "Total blocks": 74902749.0, "Ops per second": 5178197.3, "ns per ops": 193.12, "Ops per threads": 389076.0, "Ops per procs": 38907691.0, "Ops/sec/procs": 1294549.32, "ns per ops/procs": 772.47}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30014.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 179898963.0, "Total blocks": 97083310.0, "Ops per second": 5993667.18, "ns per ops": 166.84, "Ops per threads": 224873.0, "Ops per procs": 22487370.0, "Ops/sec/procs": 749208.4, "ns per ops/procs": 1334.74}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30042.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 462964646.0, "Ops per second": 15410093.65, "ns per ops": 64.89, "Ops per threads": 32150.0, "Ops per procs": 3215032.0, "Ops/sec/procs": 107014.54, "ns per ops/procs": 9344.52}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 136017441.0, "Ops per second": 4533693.75, "ns per ops": 220.57, "Ops per threads": 1360174.0, "Ops per procs": 136017441.0, "Ops/sec/procs": 4533693.75, "ns per ops/procs": 220.57}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30000.801374, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 602241809.0, "Total blocks": 231393908.0, "Ops per second": 20074190.74, "ns per ops": 49.82, "Ops per threads": 41822.0, "Ops per procs": 4182234.0, "Ops/sec/procs": 139404.1, "ns per ops/procs": 7173.39}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.170056, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 302491482.0, "Total blocks": 100342339.0, "Ops per second": 10057178.96, "ns per ops": 99.43, "Ops per threads": 189057.0, "Ops per procs": 18905717.0, "Ops/sec/procs": 628573.69, "ns per ops/procs": 1590.9}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30025.802496, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 651299967.0, "Total blocks": 252819757.0, "Ops per second": 21691342.54, "ns per ops": 46.1, "Ops per threads": 33921.0, "Ops per procs": 3392187.0, "Ops/sec/procs": 112975.74, "ns per ops/procs": 8851.46}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 480546377.0, "Total blocks": 256351561.0, "Ops per second": 15966347.57, "ns per ops": 62.63, "Ops per threads": 50056.0, "Ops per procs": 5005691.0, "Ops/sec/procs": 166316.12, "ns per ops/procs": 6012.65}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30059.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 455093120.0, "Ops per second": 15139780.69, "ns per ops": 66.05, "Ops per threads": 23702.0, "Ops per procs": 2370276.0, "Ops/sec/procs": 78853.02, "ns per ops/procs": 12681.82}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30088.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 548506764.0, "Total blocks": 305087653.0, "Ops per second": 18229893.33, "ns per ops": 54.85, "Ops per threads": 114272.0, "Ops per procs": 11427224.0, "Ops/sec/procs": 379789.44, "ns per ops/procs": 2633.04}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30091.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 217390397.0, "Ops per second": 7224355.57, "ns per ops": 138.42, "Ops per threads": 22644.0, "Ops per procs": 2264483.0, "Ops/sec/procs": 75253.7, "ns per ops/procs": 13288.38}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30080.820994, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 482545116.0, "Total blocks": 160774927.0, "Ops per second": 16041620.54, "ns per ops": 62.34, "Ops per threads": 67020.0, "Ops per procs": 6702015.0, "Ops/sec/procs": 222800.29, "ns per ops/procs": 4488.32}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30040.425328, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 526816921.0, "Total blocks": 188030181.0, "Ops per second": 17536932.82, "ns per ops": 57.02, "Ops per threads": 73169.0, "Ops per procs": 7316901.0, "Ops/sec/procs": 243568.51, "ns per ops/procs": 4105.62}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86714804.0, "Total blocks": 43358228.0, "Ops per second": 2884008.01, "ns per ops": 346.74, "Ops per threads": 433574.0, "Ops per procs": 43357402.0, "Ops/sec/procs": 1442004.0, "ns per ops/procs": 693.48}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30052.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 342908792.0, "Ops per second": 11430293.0, "ns per ops": 87.0, "Ops per threads": 214317.0, "Ops per procs": 21431799.0, "Ops/sec/procs": 714393.0, "ns per ops/procs": 1402.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30022.478066, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 561022497.0, "Total blocks": 206691314.0, "Ops per second": 18686748.5, "ns per ops": 53.51, "Ops per threads": 58439.0, "Ops per procs": 5843984.0, "Ops/sec/procs": 194653.63, "ns per ops/procs": 5137.33}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192456278.0, "Total blocks": 0.0, "Ops per second": 6409439.04, "ns per ops": 156.02, "Ops per threads": 1924562.0, "Ops per procs": 192456278.0, "Ops/sec/procs": 6409439.04, "ns per ops/procs": 156.02}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.976466, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1120746778.0, "Total blocks": 0.0, "Ops per second": 37296095.03, "ns per ops": 26.81, "Ops per threads": 11207467.0, "Ops per procs": 1120746778.0, "Ops/sec/procs": 37296095.03, "ns per ops/procs": 26.81}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135618943.0, "Ops per second": 4520400.35, "ns per ops": 221.22, "Ops per threads": 1356189.0, "Ops per procs": 135618943.0, "Ops/sec/procs": 4520400.35, "ns per ops/procs": 221.22}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30028.25305, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 582684618.0, "Total blocks": 226574014.0, "Ops per second": 19404546.01, "ns per ops": 51.53, "Ops per threads": 30348.0, "Ops per procs": 3034815.0, "Ops/sec/procs": 101065.34, "ns per ops/procs": 9894.59}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30047.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 501359108.0, "Ops per second": 16685407.89, "ns per ops": 59.93, "Ops per threads": 34816.0, "Ops per procs": 3481660.0, "Ops/sec/procs": 115870.89, "ns per ops/procs": 8630.3}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30036.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 263614039.0, "Ops per second": 8776537.16, "ns per ops": 113.94, "Ops per threads": 109839.0, "Ops per procs": 10983918.0, "Ops/sec/procs": 365689.05, "ns per ops/procs": 2734.56}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30042.074332, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 532703651.0, "Total blocks": 216174915.0, "Ops per second": 17731919.74, "ns per ops": 56.4, "Ops per threads": 55489.0, "Ops per procs": 5548996.0, "Ops/sec/procs": 184707.5, "ns per ops/procs": 5413.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30053.672303, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 464451139.0, "Total blocks": 173115687.0, "Ops per second": 15454056.14, "ns per ops": 64.71, "Ops per threads": 64507.0, "Ops per procs": 6450710.0, "Ops/sec/procs": 214639.67, "ns per ops/procs": 4658.97}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30021.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 168086601.0, "Total blocks": 91648059.0, "Ops per second": 5598887.94, "ns per ops": 178.61, "Ops per threads": 210108.0, "Ops per procs": 21010825.0, "Ops/sec/procs": 699860.99, "ns per ops/procs": 1428.86}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30009.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 942916985.0, "Ops per second": 31430566.0, "ns per ops": 31.0, "Ops per threads": 49110.0, "Ops per procs": 4911025.0, "Ops/sec/procs": 163700.0, "ns per ops/procs": 6110.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30041.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 359950147.0, "Ops per second": 11981714.25, "ns per ops": 83.46, "Ops per threads": 74989.0, "Ops per procs": 7498961.0, "Ops/sec/procs": 249619.05, "ns per ops/procs": 4006.1}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192314020.0, "Total blocks": 0.0, "Ops per second": 6404688.8, "ns per ops": 156.14, "Ops per threads": 1923140.0, "Ops per procs": 192314020.0, "Ops/sec/procs": 6404688.8, "ns per ops/procs": 156.14}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452208584.0, "Ops per second": 15073619.0, "ns per ops": 66.0, "Ops per threads": 4522085.0, "Ops per procs": 452208584.0, "Ops/sec/procs": 15073619.0, "ns per ops/procs": 66.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 295585195.0, "Total blocks": 152177620.0, "Ops per second": 9842077.13, "ns per ops": 101.6, "Ops per threads": 184740.0, "Ops per procs": 18474074.0, "Ops/sec/procs": 615129.82, "ns per ops/procs": 1625.67}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30040.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 273945737.0, "Ops per second": 9119222.31, "ns per ops": 109.66, "Ops per threads": 114144.0, "Ops per procs": 11414405.0, "Ops/sec/procs": 379967.6, "ns per ops/procs": 2631.8}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 191993667.0, "Total blocks": 0.0, "Ops per second": 6394056.86, "ns per ops": 156.4, "Ops per threads": 1919936.0, "Ops per procs": 191993667.0, "Ops/sec/procs": 6394056.86, "ns per ops/procs": 156.4}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30008.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 518210242.0, "Total blocks": 286885761.0, "Ops per second": 17268828.94, "ns per ops": 57.91, "Ops per threads": 107960.0, "Ops per procs": 10796046.0, "Ops/sec/procs": 359767.27, "ns per ops/procs": 2779.57}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30013.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 639553962.0, "Ops per second": 21318465.0, "ns per ops": 46.0, "Ops per threads": 66620.0, "Ops per procs": 6662020.0, "Ops/sec/procs": 222067.0, "ns per ops/procs": 4505.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30028.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 489719637.0, "Ops per second": 16323987.0, "ns per ops": 61.0, "Ops per threads": 68016.0, "Ops per procs": 6801661.0, "Ops/sec/procs": 226722.0, "ns per ops/procs": 4414.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 191671927.0, "Total blocks": 0.0, "Ops per second": 6383289.63, "ns per ops": 156.66, "Ops per threads": 1916719.0, "Ops per procs": 191671927.0, "Ops/sec/procs": 6383289.63, "ns per ops/procs": 156.66}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192504355.0, "Total blocks": 0.0, "Ops per second": 6410970.93, "ns per ops": 155.98, "Ops per threads": 1925043.0, "Ops per procs": 192504355.0, "Ops/sec/procs": 6410970.93, "ns per ops/procs": 155.98}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 231851694.0, "Ops per second": 7728389.0, "ns per ops": 129.0, "Ops per threads": 289814.0, "Ops per procs": 28981461.0, "Ops/sec/procs": 966048.0, "ns per ops/procs": 1035.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30005.775649, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 609240005.0, "Total blocks": 240164763.0, "Ops per second": 20304091.19, "ns per ops": 49.25, "Ops per threads": 31731.0, "Ops per procs": 3173125.0, "Ops/sec/procs": 105750.47, "ns per ops/procs": 9456.22}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30072.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 168268969.0, "Ops per second": 5608965.0, "ns per ops": 178.0, "Ops per threads": 420672.0, "Ops per procs": 42067242.0, "Ops/sec/procs": 1402241.0, "ns per ops/procs": 714.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.876864, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 272143508.0, "Total blocks": 118417551.0, "Ops per second": 9047962.7, "ns per ops": 110.52, "Ops per threads": 170089.0, "Ops per procs": 17008969.0, "Ops/sec/procs": 565497.67, "ns per ops/procs": 1768.35}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30045.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 259502647.0, "Total blocks": 132377158.0, "Ops per second": 8636925.37, "ns per ops": 115.78, "Ops per threads": 162189.0, "Ops per procs": 16218915.0, "Ops/sec/procs": 539807.84, "ns per ops/procs": 1852.51}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30047.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 347070857.0, "Ops per second": 11569028.0, "ns per ops": 86.0, "Ops per threads": 216919.0, "Ops per procs": 21691928.0, "Ops/sec/procs": 723064.0, "ns per ops/procs": 1385.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30057.503941, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 769423491.0, "Total blocks": 268248863.0, "Ops per second": 25598382.77, "ns per ops": 39.06, "Ops per threads": 160296.0, "Ops per procs": 16029656.0, "Ops/sec/procs": 533299.64, "ns per ops/procs": 1875.12}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135704117.0, "Ops per second": 4523252.62, "ns per ops": 221.08, "Ops per threads": 1357041.0, "Ops per procs": 135704117.0, "Ops/sec/procs": 4523252.62, "ns per ops/procs": 221.08}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30037.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 463027674.0, "Total blocks": 245950265.0, "Ops per second": 15414773.7, "ns per ops": 64.87, "Ops per threads": 48232.0, "Ops per procs": 4823204.0, "Ops/sec/procs": 160570.56, "ns per ops/procs": 6227.79}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192346573.0, "Total blocks": 0.0, "Ops per second": 6405831.54, "ns per ops": 156.11, "Ops per threads": 1923465.0, "Ops per procs": 192346573.0, "Ops/sec/procs": 6405831.54, "ns per ops/procs": 156.11}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30038.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 234525063.0, "Ops per second": 7817502.0, "ns per ops": 128.0, "Ops per threads": 293156.0, "Ops per procs": 29315632.0, "Ops/sec/procs": 977187.0, "ns per ops/procs": 1024.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30069.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 423733962.0, "Ops per second": 14091795.16, "ns per ops": 70.96, "Ops per threads": 22069.0, "Ops per procs": 2206947.0, "Ops/sec/procs": 73394.77, "ns per ops/procs": 13624.95}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30006.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 943871839.0, "Ops per second": 31462394.0, "ns per ops": 31.0, "Ops per threads": 49159.0, "Ops per procs": 4915999.0, "Ops/sec/procs": 163866.0, "ns per ops/procs": 6103.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30065.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 401282671.0, "Total blocks": 209757113.0, "Ops per second": 13347064.62, "ns per ops": 74.92, "Ops per threads": 55733.0, "Ops per procs": 5573370.0, "Ops/sec/procs": 185375.9, "ns per ops/procs": 5394.44}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30089.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 194062478.0, "Ops per second": 6449422.12, "ns per ops": 155.05, "Ops per threads": 20214.0, "Ops per procs": 2021484.0, "Ops/sec/procs": 67181.48, "ns per ops/procs": 14885.05}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30031.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 376673382.0, "Total blocks": 204648694.0, "Ops per second": 12542730.54, "ns per ops": 79.73, "Ops per threads": 156947.0, "Ops per procs": 15694724.0, "Ops/sec/procs": 522613.77, "ns per ops/procs": 1913.46}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30023.791539, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 577357851.0, "Total blocks": 220916223.0, "Ops per second": 19230011.31, "ns per ops": 52.0, "Ops per threads": 60141.0, "Ops per procs": 6014144.0, "Ops/sec/procs": 200312.62, "ns per ops/procs": 4992.2}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30025.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 498413708.0, "Ops per second": 16599659.51, "ns per ops": 60.24, "Ops per threads": 69224.0, "Ops per procs": 6922412.0, "Ops/sec/procs": 230550.83, "ns per ops/procs": 4337.44}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 477267436.0, "Ops per second": 15908914.0, "ns per ops": 62.0, "Ops per threads": 66287.0, "Ops per procs": 6628714.0, "Ops/sec/procs": 220957.0, "ns per ops/procs": 4530.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30015.095932, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 542409402.0, "Total blocks": 200376037.0, "Ops per second": 18071220.0, "ns per ops": 55.34, "Ops per threads": 37667.0, "Ops per procs": 3766731.0, "Ops/sec/procs": 125494.58, "ns per ops/procs": 7968.47}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30066.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 88691323.0, "Total blocks": 44346838.0, "Ops per second": 2949859.19, "ns per ops": 339.0, "Ops per threads": 443456.0, "Ops per procs": 44345661.0, "Ops/sec/procs": 1474929.59, "ns per ops/procs": 678.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30021.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 235271381.0, "Ops per second": 7842379.0, "ns per ops": 127.0, "Ops per threads": 294089.0, "Ops per procs": 29408922.0, "Ops/sec/procs": 980297.0, "ns per ops/procs": 1020.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86589775.0, "Total blocks": 43295704.0, "Ops per second": 2879878.92, "ns per ops": 347.24, "Ops per threads": 432948.0, "Ops per procs": 43294887.0, "Ops/sec/procs": 1439939.46, "ns per ops/procs": 694.47}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30039.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 157275810.0, "Ops per second": 5235593.23, "ns per ops": 191.0, "Ops per threads": 393189.0, "Ops per procs": 39318952.0, "Ops/sec/procs": 1308898.31, "ns per ops/procs": 764.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30018.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 537187304.0, "Ops per second": 17906243.0, "ns per ops": 55.0, "Ops per threads": 74609.0, "Ops per procs": 7460934.0, "Ops/sec/procs": 248697.0, "ns per ops/procs": 4023.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30049.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 410198859.0, "Ops per second": 13673295.0, "ns per ops": 73.0, "Ops per threads": 56972.0, "Ops per procs": 5697206.0, "Ops/sec/procs": 189906.0, "ns per ops/procs": 5274.0}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30018.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135609758.0, "Ops per second": 4517490.14, "ns per ops": 221.36, "Ops per threads": 1356097.0, "Ops per procs": 135609758.0, "Ops/sec/procs": 4517490.14, "ns per ops/procs": 221.36}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30030.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 135912705.0, "Ops per second": 4525845.86, "ns per ops": 220.95, "Ops per threads": 169890.0, "Ops per procs": 16989088.0, "Ops/sec/procs": 565730.73, "ns per ops/procs": 1767.63}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30059.186838, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 591341502.0, "Total blocks": 240808280.0, "Ops per second": 19672571.49, "ns per ops": 50.83, "Ops per threads": 30799.0, "Ops per procs": 3079903.0, "Ops/sec/procs": 102461.31, "ns per ops/procs": 9759.78}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30011.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 513935382.0, "Ops per second": 17131179.0, "ns per ops": 58.0, "Ops per threads": 214139.0, "Ops per procs": 21413974.0, "Ops/sec/procs": 713799.0, "ns per ops/procs": 1401.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30069.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 169664583.0, "Ops per second": 5655486.0, "ns per ops": 177.0, "Ops per threads": 424161.0, "Ops per procs": 42416145.0, "Ops/sec/procs": 1413871.0, "ns per ops/procs": 708.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30008.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 735226414.0, "Ops per second": 24507547.0, "ns per ops": 40.0, "Ops per threads": 153172.0, "Ops per procs": 15317216.0, "Ops/sec/procs": 510573.0, "ns per ops/procs": 1959.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30043.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 367589762.0, "Ops per second": 12235265.47, "ns per ops": 81.73, "Ops per threads": 76581.0, "Ops per procs": 7658120.0, "Ops/sec/procs": 254901.36, "ns per ops/procs": 3923.09}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30062.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 292524002.0, "Ops per second": 9730662.56, "ns per ops": 102.77, "Ops per threads": 30471.0, "Ops per procs": 3047125.0, "Ops/sec/procs": 101361.07, "ns per ops/procs": 9865.72}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.854582, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1117356623.0, "Total blocks": 541295.0, "Ops per second": 37183428.62, "ns per ops": 26.89, "Ops per threads": 11173566.0, "Ops per procs": 1117356623.0, "Ops/sec/procs": 37183428.62, "ns per ops/procs": 26.89}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.463425, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 174532517.0, "Total blocks": 77420246.0, "Ops per second": 5807014.67, "ns per ops": 172.21, "Ops per threads": 436331.0, "Ops per procs": 43633129.0, "Ops/sec/procs": 1451753.67, "ns per ops/procs": 688.82}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30007.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 804721400.0, "Ops per second": 26824046.0, "ns per ops": 37.0, "Ops per threads": 55883.0, "Ops per procs": 5588343.0, "Ops/sec/procs": 186278.0, "ns per ops/procs": 5369.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30039.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 352379233.0, "Total blocks": 188899480.0, "Ops per second": 11730709.37, "ns per ops": 85.25, "Ops per threads": 146824.0, "Ops per procs": 14682468.0, "Ops/sec/procs": 488779.56, "ns per ops/procs": 2045.91}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30031.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 745298310.0, "Ops per second": 24817103.8, "ns per ops": 40.29, "Ops per threads": 103513.0, "Ops per procs": 10351365.0, "Ops/sec/procs": 344682.0, "ns per ops/procs": 2901.22}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30057.587818, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 753153248.0, "Total blocks": 277437625.0, "Ops per second": 25057008.98, "ns per ops": 39.91, "Ops per threads": 156906.0, "Ops per procs": 15690692.0, "Ops/sec/procs": 522021.02, "ns per ops/procs": 1915.63}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.049798, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 279930883.0, "Total blocks": 118833631.0, "Ops per second": 9307125.69, "ns per ops": 107.44, "Ops per threads": 174956.0, "Ops per procs": 17495680.0, "Ops/sec/procs": 581695.36, "ns per ops/procs": 1719.11}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30006.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 492554279.0, "Total blocks": 271177508.0, "Ops per second": 16415134.88, "ns per ops": 60.92, "Ops per threads": 102615.0, "Ops per procs": 10261547.0, "Ops/sec/procs": 341981.98, "ns per ops/procs": 2924.13}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30042.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 270186784.0, "Ops per second": 8993519.71, "ns per ops": 111.19, "Ops per threads": 112577.0, "Ops per procs": 11257782.0, "Ops/sec/procs": 374729.99, "ns per ops/procs": 2668.59}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30049.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 476922708.0, "Total blocks": 254648631.0, "Ops per second": 15871400.38, "ns per ops": 63.01, "Ops per threads": 49679.0, "Ops per procs": 4967944.0, "Ops/sec/procs": 165327.09, "ns per ops/procs": 6048.62}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30016.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 175092827.0, "Total blocks": 94658239.0, "Ops per second": 5833198.71, "ns per ops": 171.43, "Ops per threads": 218866.0, "Ops per procs": 21886603.0, "Ops/sec/procs": 729149.84, "ns per ops/procs": 1371.46}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30099.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 121055033.0, "Total blocks": 71922876.0, "Ops per second": 4021787.04, "ns per ops": 248.65, "Ops per threads": 302637.0, "Ops per procs": 30263758.0, "Ops/sec/procs": 1005446.76, "ns per ops/procs": 994.58}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30061.767095, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 203423577.0, "Total blocks": 50138869.0, "Ops per second": 6766853.6, "ns per ops": 147.78, "Ops per threads": 254279.0, "Ops per procs": 25427947.0, "Ops/sec/procs": 845856.7, "ns per ops/procs": 1182.23}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30062.830094, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 769541797.0, "Total blocks": 240397440.0, "Ops per second": 25597782.86, "ns per ops": 39.07, "Ops per threads": 160321.0, "Ops per procs": 16032120.0, "Ops/sec/procs": 533287.14, "ns per ops/procs": 1875.16}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30027.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 239328763.0, "Ops per second": 7970194.84, "ns per ops": 125.47, "Ops per threads": 149580.0, "Ops per procs": 14958047.0, "Ops/sec/procs": 498137.18, "ns per ops/procs": 2007.48}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30053.292416, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 793906644.0, "Total blocks": 268063612.0, "Ops per second": 26416627.94, "ns per ops": 37.85, "Ops per threads": 165397.0, "Ops per procs": 16539721.0, "Ops/sec/procs": 550346.42, "ns per ops/procs": 1817.04}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 231626811.0, "Ops per second": 7714165.31, "ns per ops": 129.63, "Ops per threads": 144766.0, "Ops per procs": 14476675.0, "Ops/sec/procs": 482135.33, "ns per ops/procs": 2074.11}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.180731, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1110747707.0, "Total blocks": 1045067.0, "Ops per second": 36963095.73, "ns per ops": 27.05, "Ops per threads": 11107477.0, "Ops per procs": 1110747707.0, "Ops/sec/procs": 36963095.73, "ns per ops/procs": 27.05}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30037.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 479200609.0, "Ops per second": 15953480.65, "ns per ops": 62.68, "Ops per threads": 33277.0, "Ops per procs": 3327782.0, "Ops/sec/procs": 110788.06, "ns per ops/procs": 9026.24}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30078.047096, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 276181192.0, "Total blocks": 94937996.0, "Ops per second": 9182151.72, "ns per ops": 108.91, "Ops per threads": 172613.0, "Ops per procs": 17261324.0, "Ops/sec/procs": 573884.48, "ns per ops/procs": 1742.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30089.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 648332502.0, "Total blocks": 358320925.0, "Ops per second": 21546649.37, "ns per ops": 46.41, "Ops per threads": 45023.0, "Ops per procs": 4502309.0, "Ops/sec/procs": 149629.51, "ns per ops/procs": 6683.17}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30042.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 343918250.0, "Ops per second": 11463941.0, "ns per ops": 87.0, "Ops per threads": 214948.0, "Ops per procs": 21494890.0, "Ops/sec/procs": 716496.0, "ns per ops/procs": 1397.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30049.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 404418699.0, "Total blocks": 211869329.0, "Ops per second": 13458462.85, "ns per ops": 74.3, "Ops per threads": 56169.0, "Ops per procs": 5616926.0, "Ops/sec/procs": 186923.1, "ns per ops/procs": 5349.79}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.378865, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 426265933.0, "Total blocks": 4818223.0, "Ops per second": 14184571.53, "ns per ops": 70.5, "Ops per threads": 2131329.0, "Ops per procs": 213132966.0, "Ops/sec/procs": 7092285.76, "ns per ops/procs": 141.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 219693826.0, "Ops per second": 7315099.84, "ns per ops": 136.7, "Ops per threads": 137308.0, "Ops per procs": 13730864.0, "Ops/sec/procs": 457193.74, "ns per ops/procs": 2187.26}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30025.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 390490340.0, "Total blocks": 206369718.0, "Ops per second": 13005257.06, "ns per ops": 76.89, "Ops per threads": 54234.0, "Ops per procs": 5423476.0, "Ops/sec/procs": 180628.57, "ns per ops/procs": 5536.22}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30009.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 954160546.0, "Ops per second": 31805351.0, "ns per ops": 31.0, "Ops per threads": 49695.0, "Ops per procs": 4969586.0, "Ops/sec/procs": 165652.0, "ns per ops/procs": 6038.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.270372, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 171748150.0, "Total blocks": 76558879.0, "Ops per second": 5714410.41, "ns per ops": 175.0, "Ops per threads": 429370.0, "Ops per procs": 42937037.0, "Ops/sec/procs": 1428602.6, "ns per ops/procs": 699.98}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30036.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 256782541.0, "Ops per second": 8548923.51, "ns per ops": 116.97, "Ops per threads": 106992.0, "Ops per procs": 10699272.0, "Ops/sec/procs": 356205.15, "ns per ops/procs": 2807.37}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30076.621815, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 289636935.0, "Total blocks": 107925471.0, "Ops per second": 9629968.98, "ns per ops": 103.84, "Ops per threads": 181023.0, "Ops per procs": 18102308.0, "Ops/sec/procs": 601873.06, "ns per ops/procs": 1661.48}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30001.902455, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 671199924.0, "Total blocks": 198013052.0, "Ops per second": 22371912.08, "ns per ops": 44.7, "Ops per threads": 34958.0, "Ops per procs": 3495832.0, "Ops/sec/procs": 116520.38, "ns per ops/procs": 8582.19}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 738386333.0, "Ops per second": 24612877.0, "ns per ops": 40.0, "Ops per threads": 153830.0, "Ops per procs": 15383048.0, "Ops/sec/procs": 512768.0, "ns per ops/procs": 1950.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30024.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 499447604.0, "Total blocks": 274791411.0, "Ops per second": 16634693.36, "ns per ops": 60.12, "Ops per threads": 104051.0, "Ops per procs": 10405158.0, "Ops/sec/procs": 346556.11, "ns per ops/procs": 2885.54}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30011.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 466384275.0, "Total blocks": 248194693.0, "Ops per second": 15539952.32, "ns per ops": 64.35, "Ops per threads": 48581.0, "Ops per procs": 4858169.0, "Ops/sec/procs": 161874.5, "ns per ops/procs": 6177.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30096.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 393966189.0, "Total blocks": 208999071.0, "Ops per second": 13090312.59, "ns per ops": 76.39, "Ops per threads": 54717.0, "Ops per procs": 5471752.0, "Ops/sec/procs": 181809.9, "ns per ops/procs": 5500.25}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30018.470879, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 354622936.0, "Total blocks": 151202355.0, "Ops per second": 11813491.01, "ns per ops": 84.65, "Ops per threads": 147759.0, "Ops per procs": 14775955.0, "Ops/sec/procs": 492228.79, "ns per ops/procs": 2031.58}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30012.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 231714064.0, "Ops per second": 7723802.0, "ns per ops": 129.0, "Ops per threads": 289642.0, "Ops per procs": 28964258.0, "Ops/sec/procs": 965475.0, "ns per ops/procs": 1036.0}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 136125425.0, "Ops per second": 4537275.69, "ns per ops": 220.4, "Ops per threads": 1361254.0, "Ops per procs": 136125425.0, "Ops/sec/procs": 4537275.69, "ns per ops/procs": 220.4}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30069.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 87320189.0, "Total blocks": 43661832.0, "Ops per second": 2903903.05, "ns per ops": 344.36, "Ops per threads": 436600.0, "Ops per procs": 43660094.0, "Ops/sec/procs": 1451951.53, "ns per ops/procs": 688.73}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30032.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 141513531.0, "Ops per second": 4712036.54, "ns per ops": 212.22, "Ops per threads": 176891.0, "Ops per procs": 17689191.0, "Ops/sec/procs": 589004.57, "ns per ops/procs": 1697.78}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30093.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 136075473.0, "Total blocks": 82168602.0, "Ops per second": 4521756.28, "ns per ops": 221.15, "Ops per threads": 340188.0, "Ops per procs": 34018868.0, "Ops/sec/procs": 1130439.07, "ns per ops/procs": 884.61}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30020.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 617023066.0, "Ops per second": 20567435.0, "ns per ops": 48.0, "Ops per threads": 64273.0, "Ops per procs": 6427323.0, "Ops/sec/procs": 214244.0, "ns per ops/procs": 4670.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30015.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 594793614.0, "Ops per second": 19826453.0, "ns per ops": 50.0, "Ops per threads": 61957.0, "Ops per procs": 6195766.0, "Ops/sec/procs": 206525.0, "ns per ops/procs": 4844.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.795549, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 163341327.0, "Total blocks": 78951482.0, "Ops per second": 5434784.17, "ns per ops": 184.0, "Ops per threads": 408353.0, "Ops per procs": 40835331.0, "Ops/sec/procs": 1358696.04, "ns per ops/procs": 736.0}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30025.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 383677546.0, "Ops per second": 12778178.71, "ns per ops": 78.26, "Ops per threads": 53288.0, "Ops per procs": 5328854.0, "Ops/sec/procs": 177474.7, "ns per ops/procs": 5634.61}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30031.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 233318477.0, "Ops per second": 7769119.42, "ns per ops": 128.71, "Ops per threads": 145824.0, "Ops per procs": 14582404.0, "Ops/sec/procs": 485569.96, "ns per ops/procs": 2059.44}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30039.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 473085242.0, "Ops per second": 15748529.01, "ns per ops": 63.5, "Ops per threads": 32853.0, "Ops per procs": 3285314.0, "Ops/sec/procs": 109364.78, "ns per ops/procs": 9143.71}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30044.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 453054210.0, "Ops per second": 15079335.92, "ns per ops": 66.32, "Ops per threads": 31462.0, "Ops per procs": 3146209.0, "Ops/sec/procs": 104717.61, "ns per ops/procs": 9549.49}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30038.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 352775365.0, "Total blocks": 189008078.0, "Ops per second": 11744133.88, "ns per ops": 85.15, "Ops per threads": 146989.0, "Ops per procs": 14698973.0, "Ops/sec/procs": 489338.91, "ns per ops/procs": 2043.57}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30008.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 656225469.0, "Ops per second": 21874182.0, "ns per ops": 45.0, "Ops per threads": 68356.0, "Ops per procs": 6835681.0, "Ops/sec/procs": 227856.0, "ns per ops/procs": 4389.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30054.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 358041998.0, "Ops per second": 11912995.95, "ns per ops": 83.94, "Ops per threads": 74592.0, "Ops per procs": 7459208.0, "Ops/sec/procs": 248187.42, "ns per ops/procs": 4029.21}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30059.956024, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 193365852.0, "Total blocks": 89908380.0, "Ops per second": 6432672.48, "ns per ops": 155.46, "Ops per threads": 241707.0, "Ops per procs": 24170731.0, "Ops/sec/procs": 804084.06, "ns per ops/procs": 1243.65}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30066.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 346977362.0, "Ops per second": 11565912.0, "ns per ops": 86.0, "Ops per threads": 216860.0, "Ops per procs": 21686085.0, "Ops/sec/procs": 722869.0, "ns per ops/procs": 1386.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30032.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 376359195.0, "Total blocks": 204475334.0, "Ops per second": 12531863.41, "ns per ops": 79.8, "Ops per threads": 156816.0, "Ops per procs": 15681633.0, "Ops/sec/procs": 522160.98, "ns per ops/procs": 1915.12}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 828177850.0, "Ops per second": 27605928.0, "ns per ops": 36.0, "Ops per threads": 57512.0, "Ops per procs": 5751235.0, "Ops/sec/procs": 191707.0, "ns per ops/procs": 5217.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30074.157595, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 619584068.0, "Total blocks": 252404582.0, "Ops per second": 20601876.08, "ns per ops": 48.54, "Ops per threads": 32270.0, "Ops per procs": 3227000.0, "Ops/sec/procs": 107301.44, "ns per ops/procs": 9319.54}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30047.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 366337673.0, "Ops per second": 12192076.72, "ns per ops": 82.02, "Ops per threads": 76320.0, "Ops per procs": 7632034.0, "Ops/sec/procs": 254001.6, "ns per ops/procs": 3936.98}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30036.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 249713944.0, "Ops per second": 8313579.02, "ns per ops": 120.29, "Ops per threads": 104047.0, "Ops per procs": 10404747.0, "Ops/sec/procs": 346399.13, "ns per ops/procs": 2886.84}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30001.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 742514150.0, "Ops per second": 24750471.0, "ns per ops": 40.0, "Ops per threads": 154690.0, "Ops per procs": 15469044.0, "Ops/sec/procs": 515634.0, "ns per ops/procs": 1939.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30014.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 180155283.0, "Total blocks": 97171310.0, "Ops per second": 6002371.84, "ns per ops": 166.6, "Ops per threads": 225194.0, "Ops per procs": 22519410.0, "Ops/sec/procs": 750296.48, "ns per ops/procs": 1332.81}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30058.739471, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 687087586.0, "Total blocks": 253121511.0, "Ops per second": 22858163.65, "ns per ops": 43.75, "Ops per threads": 143143.0, "Ops per procs": 14314324.0, "Ops/sec/procs": 476211.74, "ns per ops/procs": 2099.91}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30016.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 500310026.0, "Ops per second": 16677000.0, "ns per ops": 59.0, "Ops per threads": 69487.0, "Ops per procs": 6948750.0, "Ops/sec/procs": 231625.0, "ns per ops/procs": 4319.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.053453, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 265505726.0, "Total blocks": 104141233.0, "Ops per second": 8827517.84, "ns per ops": 113.28, "Ops per threads": 165941.0, "Ops per procs": 16594107.0, "Ops/sec/procs": 551719.87, "ns per ops/procs": 1812.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30027.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 165879077.0, "Total blocks": 92004563.0, "Ops per second": 5524272.95, "ns per ops": 181.02, "Ops per threads": 207348.0, "Ops per procs": 20734884.0, "Ops/sec/procs": 690534.12, "ns per ops/procs": 1448.15}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 170553870.0, "Ops per second": 5685129.0, "ns per ops": 176.0, "Ops per threads": 852769.0, "Ops per procs": 85276935.0, "Ops/sec/procs": 2842564.0, "ns per ops/procs": 352.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30055.486464, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 742444148.0, "Total blocks": 286437952.0, "Ops per second": 24702449.88, "ns per ops": 40.48, "Ops per threads": 154675.0, "Ops per procs": 15467586.0, "Ops/sec/procs": 514634.37, "ns per ops/procs": 1943.13}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 230627504.0, "Ops per second": 7678597.24, "ns per ops": 130.23, "Ops per threads": 144142.0, "Ops per procs": 14414219.0, "Ops/sec/procs": 479912.33, "ns per ops/procs": 2083.71}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30042.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 247652629.0, "Ops per second": 8243310.41, "ns per ops": 121.31, "Ops per threads": 103188.0, "Ops per procs": 10318859.0, "Ops/sec/procs": 343471.27, "ns per ops/procs": 2911.45}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30075.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 345247541.0, "Ops per second": 11508251.0, "ns per ops": 87.0, "Ops per threads": 215779.0, "Ops per procs": 21577971.0, "Ops/sec/procs": 719265.0, "ns per ops/procs": 1393.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30042.402195, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 522252296.0, "Total blocks": 188986436.0, "Ops per second": 17383839.44, "ns per ops": 57.52, "Ops per threads": 54401.0, "Ops per procs": 5440128.0, "Ops/sec/procs": 181081.66, "ns per ops/procs": 5522.37}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30096.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 522357988.0, "Total blocks": 289308861.0, "Ops per second": 17356373.14, "ns per ops": 57.62, "Ops per threads": 108824.0, "Ops per procs": 10882458.0, "Ops/sec/procs": 361591.11, "ns per ops/procs": 2765.55}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30026.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 384484013.0, "Total blocks": 204994787.0, "Ops per second": 12804669.83, "ns per ops": 78.1, "Ops per threads": 160201.0, "Ops per procs": 16020167.0, "Ops/sec/procs": 533527.91, "ns per ops/procs": 1874.32}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.57081, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1113465592.0, "Total blocks": 1212188.0, "Ops per second": 37053059.63, "ns per ops": 26.99, "Ops per threads": 11134655.0, "Ops per procs": 1113465592.0, "Ops/sec/procs": 37053059.63, "ns per ops/procs": 26.99}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30024.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 517511941.0, "Ops per second": 17250398.0, "ns per ops": 58.0, "Ops per threads": 215629.0, "Ops per procs": 21562997.0, "Ops/sec/procs": 718766.0, "ns per ops/procs": 1392.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30045.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 501141157.0, "Ops per second": 16679310.82, "ns per ops": 59.95, "Ops per threads": 34801.0, "Ops per procs": 3480146.0, "Ops/sec/procs": 115828.55, "ns per ops/procs": 8633.45}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30036.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 141078685.0, "Ops per second": 4696913.58, "ns per ops": 212.91, "Ops per threads": 176348.0, "Ops per procs": 17634835.0, "Ops/sec/procs": 587114.2, "ns per ops/procs": 1703.25}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 119364820.0, "Ops per second": 3975596.5, "ns per ops": 251.53, "Ops per threads": 596824.0, "Ops per procs": 59682410.0, "Ops/sec/procs": 1987798.25, "ns per ops/procs": 503.07}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30006.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 951888821.0, "Ops per second": 31729627.0, "ns per ops": 31.0, "Ops per threads": 49577.0, "Ops per procs": 4957754.0, "Ops/sec/procs": 165258.0, "ns per ops/procs": 6052.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30049.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 358426982.0, "Ops per second": 11927753.93, "ns per ops": 83.84, "Ops per threads": 74672.0, "Ops per procs": 7467228.0, "Ops/sec/procs": 248494.87, "ns per ops/procs": 4024.23}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30019.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 238123079.0, "Ops per second": 7937435.0, "ns per ops": 126.0, "Ops per threads": 297653.0, "Ops per procs": 29765384.0, "Ops/sec/procs": 992179.0, "ns per ops/procs": 1008.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30035.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 377428648.0, "Total blocks": 205166543.0, "Ops per second": 12565965.66, "ns per ops": 79.58, "Ops per threads": 157261.0, "Ops per procs": 15726193.0, "Ops/sec/procs": 523581.9, "ns per ops/procs": 1909.92}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452430119.0, "Ops per second": 15081003.0, "ns per ops": 66.0, "Ops per threads": 4524301.0, "Ops per procs": 452430119.0, "Ops/sec/procs": 15081003.0, "ns per ops/procs": 66.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30044.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 367058537.0, "Ops per second": 12216999.34, "ns per ops": 81.85, "Ops per threads": 76470.0, "Ops per procs": 7647052.0, "Ops/sec/procs": 254520.82, "ns per ops/procs": 3928.95}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30007.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 164365200.0, "Ops per second": 5478840.0, "ns per ops": 182.0, "Ops per threads": 821826.0, "Ops per procs": 82182600.0, "Ops/sec/procs": 2739420.0, "ns per ops/procs": 365.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 162935628.0, "Total blocks": 88209952.0, "Ops per second": 5425811.93, "ns per ops": 184.3, "Ops per threads": 203669.0, "Ops per procs": 20366953.0, "Ops/sec/procs": 678226.49, "ns per ops/procs": 1474.43}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30068.742026, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 460005926.0, "Total blocks": 170092753.0, "Ops per second": 15298475.93, "ns per ops": 65.37, "Ops per threads": 63889.0, "Ops per procs": 6388971.0, "Ops/sec/procs": 212478.83, "ns per ops/procs": 4706.35}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 85459203.0, "Total blocks": 42730388.0, "Ops per second": 2842272.02, "ns per ops": 351.83, "Ops per threads": 427296.0, "Ops per procs": 42729601.0, "Ops/sec/procs": 1421136.01, "ns per ops/procs": 703.66}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30033.576943, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 531179122.0, "Total blocks": 200084700.0, "Ops per second": 17686175.81, "ns per ops": 56.54, "Ops per threads": 55331.0, "Ops per procs": 5533115.0, "Ops/sec/procs": 184231.0, "ns per ops/procs": 5427.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.494061, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 219109131.0, "Total blocks": 86857554.0, "Ops per second": 7288939.78, "ns per ops": 137.19, "Ops per threads": 273886.0, "Ops per procs": 27388641.0, "Ops/sec/procs": 911117.47, "ns per ops/procs": 1097.55}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30059.343755, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 619506152.0, "Total blocks": 263340247.0, "Ops per second": 20609437.02, "ns per ops": 48.52, "Ops per threads": 32265.0, "Ops per procs": 3226594.0, "Ops/sec/procs": 107340.82, "ns per ops/procs": 9316.12}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30023.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 378573124.0, "Ops per second": 12609192.96, "ns per ops": 79.31, "Ops per threads": 52579.0, "Ops per procs": 5257960.0, "Ops/sec/procs": 175127.68, "ns per ops/procs": 5710.12}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.864769, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 223391313.0, "Total blocks": 74260522.0, "Ops per second": 7431300.29, "ns per ops": 134.57, "Ops per threads": 279239.0, "Ops per procs": 27923914.0, "Ops/sec/procs": 928912.54, "ns per ops/procs": 1076.53}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30068.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 85508644.0, "Total blocks": 42754807.0, "Ops per second": 2843752.92, "ns per ops": 351.65, "Ops per threads": 427543.0, "Ops per procs": 42754322.0, "Ops/sec/procs": 1421876.46, "ns per ops/procs": 703.3}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30057.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 781399165.0, "Total blocks": 409292388.0, "Ops per second": 25997237.34, "ns per ops": 38.47, "Ops per threads": 40697.0, "Ops per procs": 4069787.0, "Ops/sec/procs": 135402.28, "ns per ops/procs": 7385.4}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30033.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 466809940.0, "Total blocks": 251740744.0, "Ops per second": 15542735.76, "ns per ops": 64.34, "Ops per threads": 48626.0, "Ops per procs": 4862603.0, "Ops/sec/procs": 161903.5, "ns per ops/procs": 6176.52}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30038.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 266349874.0, "Ops per second": 8866835.76, "ns per ops": 112.78, "Ops per threads": 110979.0, "Ops per procs": 11097911.0, "Ops/sec/procs": 369451.49, "ns per ops/procs": 2706.72}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30033.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 476585549.0, "Ops per second": 15868300.2, "ns per ops": 63.02, "Ops per threads": 33096.0, "Ops per procs": 3309621.0, "Ops/sec/procs": 110196.53, "ns per ops/procs": 9074.7}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.520313, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 287610076.0, "Total blocks": 111335741.0, "Ops per second": 9562293.47, "ns per ops": 104.58, "Ops per threads": 179756.0, "Ops per procs": 17975629.0, "Ops/sec/procs": 597643.34, "ns per ops/procs": 1673.24}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30054.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 450240816.0, "Ops per second": 14980985.07, "ns per ops": 66.75, "Ops per threads": 23450.0, "Ops per procs": 2345004.0, "Ops/sec/procs": 78025.96, "ns per ops/procs": 12816.25}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30000.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 808637754.0, "Ops per second": 26954591.0, "ns per ops": 37.0, "Ops per threads": 56155.0, "Ops per procs": 5615539.0, "Ops/sec/procs": 187184.0, "ns per ops/procs": 5342.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30019.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 478985519.0, "Ops per second": 15966183.0, "ns per ops": 62.0, "Ops per threads": 66525.0, "Ops per procs": 6652576.0, "Ops/sec/procs": 221752.0, "ns per ops/procs": 4512.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30094.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 134669709.0, "Total blocks": 81548061.0, "Ops per second": 4474937.36, "ns per ops": 223.47, "Ops per threads": 336674.0, "Ops per procs": 33667427.0, "Ops/sec/procs": 1118734.34, "ns per ops/procs": 893.87}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30043.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 457643042.0, "Ops per second": 15254768.0, "ns per ops": 65.0, "Ops per threads": 63561.0, "Ops per procs": 6356153.0, "Ops/sec/procs": 211871.0, "ns per ops/procs": 4726.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30065.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 390891857.0, "Total blocks": 204639137.0, "Ops per second": 13001144.84, "ns per ops": 76.92, "Ops per threads": 54290.0, "Ops per procs": 5429053.0, "Ops/sec/procs": 180571.46, "ns per ops/procs": 5537.97}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30070.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 230166366.0, "Ops per second": 7654116.87, "ns per ops": 130.65, "Ops per threads": 23975.0, "Ops per procs": 2397566.0, "Ops/sec/procs": 79730.38, "ns per ops/procs": 12542.27}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30089.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 549967367.0, "Total blocks": 305764209.0, "Ops per second": 18278017.38, "ns per ops": 54.71, "Ops per threads": 114576.0, "Ops per procs": 11457653.0, "Ops/sec/procs": 380792.03, "ns per ops/procs": 2626.11}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.842073, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 463825195.0, "Total blocks": 1633655.0, "Ops per second": 15434168.52, "ns per ops": 64.79, "Ops per threads": 2319125.0, "Ops per procs": 231912597.0, "Ops/sec/procs": 7717084.26, "ns per ops/procs": 129.58}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135740700.0, "Ops per second": 4524465.56, "ns per ops": 221.02, "Ops per threads": 1357407.0, "Ops per procs": 135740700.0, "Ops/sec/procs": 4524465.56, "ns per ops/procs": 221.02}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30016.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 513351055.0, "Ops per second": 17111701.0, "ns per ops": 58.0, "Ops per threads": 213896.0, "Ops per procs": 21389627.0, "Ops/sec/procs": 712987.0, "ns per ops/procs": 1403.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30029.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 468134438.0, "Ops per second": 15604481.0, "ns per ops": 64.0, "Ops per threads": 65018.0, "Ops per procs": 6501867.0, "Ops/sec/procs": 216728.0, "ns per ops/procs": 4618.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30019.744764, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 454810209.0, "Total blocks": 162129964.0, "Ops per second": 15150368.95, "ns per ops": 66.0, "Ops per threads": 63168.0, "Ops per procs": 6316808.0, "Ops/sec/procs": 210421.79, "ns per ops/procs": 4752.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.231485, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 222990655.0, "Total blocks": 79159547.0, "Ops per second": 7418128.34, "ns per ops": 134.8, "Ops per threads": 278738.0, "Ops per procs": 27873831.0, "Ops/sec/procs": 927266.04, "ns per ops/procs": 1078.44}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30082.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 170892636.0, "Ops per second": 5696421.0, "ns per ops": 176.0, "Ops per threads": 427231.0, "Ops per procs": 42723159.0, "Ops/sec/procs": 1424105.0, "ns per ops/procs": 704.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30066.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 411215360.0, "Total blocks": 217108217.0, "Ops per second": 13676744.98, "ns per ops": 73.12, "Ops per threads": 57113.0, "Ops per procs": 5711324.0, "Ops/sec/procs": 189954.79, "ns per ops/procs": 5264.41}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30056.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 642662612.0, "Total blocks": 357623141.0, "Ops per second": 21381510.19, "ns per ops": 46.77, "Ops per threads": 44629.0, "Ops per procs": 4462934.0, "Ops/sec/procs": 148482.71, "ns per ops/procs": 6734.79}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30003.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 869612823.0, "Ops per second": 28987094.0, "ns per ops": 34.0, "Ops per threads": 60389.0, "Ops per procs": 6038977.0, "Ops/sec/procs": 201299.0, "ns per ops/procs": 4968.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30043.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 477149279.0, "Ops per second": 15881995.13, "ns per ops": 62.96, "Ops per threads": 33135.0, "Ops per procs": 3313536.0, "Ops/sec/procs": 110291.63, "ns per ops/procs": 9066.87}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30091.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 169323833.0, "Ops per second": 5644127.0, "ns per ops": 177.0, "Ops per threads": 423309.0, "Ops per procs": 42330958.0, "Ops/sec/procs": 1411031.0, "ns per ops/procs": 710.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30020.889497, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 344088416.0, "Total blocks": 139568979.0, "Ops per second": 11461632.94, "ns per ops": 87.25, "Ops per threads": 143370.0, "Ops per procs": 14337017.0, "Ops/sec/procs": 477568.04, "ns per ops/procs": 2093.94}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30039.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 164782537.0, "Ops per second": 5492751.0, "ns per ops": 182.0, "Ops per threads": 823912.0, "Ops per procs": 82391268.0, "Ops/sec/procs": 2746375.0, "ns per ops/procs": 364.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30064.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 258846597.0, "Ops per second": 8609687.7, "ns per ops": 116.15, "Ops per threads": 26963.0, "Ops per procs": 2696318.0, "Ops/sec/procs": 89684.25, "ns per ops/procs": 11150.23}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30041.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 480145745.0, "Ops per second": 15982742.27, "ns per ops": 62.57, "Ops per threads": 33343.0, "Ops per procs": 3334345.0, "Ops/sec/procs": 110991.27, "ns per ops/procs": 9009.72}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 160980841.0, "Ops per second": 5360812.39, "ns per ops": 186.54, "Ops per threads": 201226.0, "Ops per procs": 20122605.0, "Ops/sec/procs": 670101.55, "ns per ops/procs": 1492.31}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30076.849866, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 316343276.0, "Total blocks": 100926465.0, "Ops per second": 10517832.73, "ns per ops": 95.08, "Ops per threads": 197714.0, "Ops per procs": 19771454.0, "Ops/sec/procs": 657364.55, "ns per ops/procs": 1521.23}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30018.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 589982108.0, "Ops per second": 19666070.0, "ns per ops": 50.0, "Ops per threads": 61456.0, "Ops per procs": 6145646.0, "Ops/sec/procs": 204854.0, "ns per ops/procs": 4884.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.838344, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1110677565.0, "Total blocks": 317674.0, "Ops per second": 36961182.7, "ns per ops": 27.06, "Ops per threads": 11106775.0, "Ops per procs": 1110677565.0, "Ops/sec/procs": 36961182.7, "ns per ops/procs": 27.06}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30057.484533, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 766502659.0, "Total blocks": 307607398.0, "Ops per second": 25501224.43, "ns per ops": 39.21, "Ops per threads": 159688.0, "Ops per procs": 15968805.0, "Ops/sec/procs": 531275.51, "ns per ops/procs": 1882.26}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30050.143632, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 401946525.0, "Total blocks": 11172385.0, "Ops per second": 13375860.36, "ns per ops": 74.76, "Ops per threads": 2009732.0, "Ops per procs": 200973262.0, "Ops/sec/procs": 6687930.18, "ns per ops/procs": 149.52}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30083.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 477181457.0, "Total blocks": 254139914.0, "Ops per second": 15862090.91, "ns per ops": 63.04, "Ops per threads": 49706.0, "Ops per procs": 4970640.0, "Ops/sec/procs": 165230.11, "ns per ops/procs": 6052.17}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.178084, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 179842184.0, "Total blocks": 80077451.0, "Ops per second": 5983733.77, "ns per ops": 167.12, "Ops per threads": 449605.0, "Ops per procs": 44960546.0, "Ops/sec/procs": 1495933.44, "ns per ops/procs": 668.48}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.572035, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 487583502.0, "Total blocks": 2941067.0, "Ops per second": 16224891.71, "ns per ops": 61.63, "Ops per threads": 2437917.0, "Ops per procs": 243791751.0, "Ops/sec/procs": 8112445.86, "ns per ops/procs": 123.27}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30013.466197, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 567640934.0, "Total blocks": 226738693.0, "Ops per second": 18912874.98, "ns per ops": 52.87, "Ops per threads": 39419.0, "Ops per procs": 3941950.0, "Ops/sec/procs": 131339.41, "ns per ops/procs": 7613.86}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30032.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 155858703.0, "Ops per second": 5189680.49, "ns per ops": 192.69, "Ops per threads": 194823.0, "Ops per procs": 19482337.0, "Ops/sec/procs": 648710.06, "ns per ops/procs": 1541.52}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30001.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 812147459.0, "Ops per second": 27071581.0, "ns per ops": 36.0, "Ops per threads": 56399.0, "Ops per procs": 5639912.0, "Ops/sec/procs": 187997.0, "ns per ops/procs": 5319.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30090.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 142650007.0, "Total blocks": 86186903.0, "Ops per second": 4740742.44, "ns per ops": 210.94, "Ops per threads": 356625.0, "Ops per procs": 35662501.0, "Ops/sec/procs": 1185185.61, "ns per ops/procs": 843.75}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.011506, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 207566751.0, "Total blocks": 91707738.0, "Ops per second": 6905078.89, "ns per ops": 144.82, "Ops per threads": 259458.0, "Ops per procs": 25945843.0, "Ops/sec/procs": 863134.86, "ns per ops/procs": 1158.57}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.671976, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1116289004.0, "Total blocks": 702656.0, "Ops per second": 37148126.11, "ns per ops": 26.92, "Ops per threads": 11162890.0, "Ops per procs": 1116289004.0, "Ops/sec/procs": 37148126.11, "ns per ops/procs": 26.92}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30084.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 167926652.0, "Ops per second": 5597555.0, "ns per ops": 179.0, "Ops per threads": 419816.0, "Ops per procs": 41981663.0, "Ops/sec/procs": 1399388.0, "ns per ops/procs": 716.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30023.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 490960501.0, "Ops per second": 16365350.0, "ns per ops": 61.0, "Ops per threads": 68188.0, "Ops per procs": 6818895.0, "Ops/sec/procs": 227296.0, "ns per ops/procs": 4403.0}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30034.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 145357155.0, "Ops per second": 4839649.52, "ns per ops": 206.63, "Ops per threads": 181696.0, "Ops per procs": 18169644.0, "Ops/sec/procs": 604956.19, "ns per ops/procs": 1653.01}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30054.311007, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 835586639.0, "Total blocks": 324277673.0, "Ops per second": 27802555.14, "ns per ops": 35.97, "Ops per threads": 174080.0, "Ops per procs": 17408054.0, "Ops/sec/procs": 579219.9, "ns per ops/procs": 1726.46}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30070.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 263499687.0, "Ops per second": 8762625.31, "ns per ops": 114.12, "Ops per threads": 27447.0, "Ops per procs": 2744788.0, "Ops/sec/procs": 91277.35, "ns per ops/procs": 10955.62}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 740597009.0, "Ops per second": 24686566.0, "ns per ops": 40.0, "Ops per threads": 154291.0, "Ops per procs": 15429104.0, "Ops/sec/procs": 514303.0, "ns per ops/procs": 1944.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30008.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 805841343.0, "Ops per second": 26861378.0, "ns per ops": 37.0, "Ops per threads": 55961.0, "Ops per procs": 5596120.0, "Ops/sec/procs": 186537.0, "ns per ops/procs": 5362.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30053.065594, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 591336177.0, "Total blocks": 220889235.0, "Ops per second": 19676401.24, "ns per ops": 50.82, "Ops per threads": 41065.0, "Ops per procs": 4106501.0, "Ops/sec/procs": 136641.68, "ns per ops/procs": 7318.41}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.377858, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1120425624.0, "Total blocks": 0.0, "Ops per second": 37286150.46, "ns per ops": 26.82, "Ops per threads": 11204256.0, "Ops per procs": 1120425624.0, "Ops/sec/procs": 37286150.46, "ns per ops/procs": 26.82}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30016.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 625526728.0, "Ops per second": 20850890.0, "ns per ops": 47.0, "Ops per threads": 65159.0, "Ops per procs": 6515903.0, "Ops/sec/procs": 217196.0, "ns per ops/procs": 4606.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30012.931045, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 331443924.0, "Total blocks": 145793501.0, "Ops per second": 11043370.72, "ns per ops": 90.55, "Ops per threads": 138101.0, "Ops per procs": 13810163.0, "Ops/sec/procs": 460140.45, "ns per ops/procs": 2173.25}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30100.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 521155976.0, "Total blocks": 288944128.0, "Ops per second": 17314003.57, "ns per ops": 57.76, "Ops per threads": 108574.0, "Ops per procs": 10857416.0, "Ops/sec/procs": 360708.41, "ns per ops/procs": 2772.32}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452724846.0, "Ops per second": 15090828.0, "ns per ops": 66.0, "Ops per threads": 4527248.0, "Ops per procs": 452724846.0, "Ops/sec/procs": 15090828.0, "ns per ops/procs": 66.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30008.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 951310808.0, "Ops per second": 31710360.0, "ns per ops": 31.0, "Ops per threads": 49547.0, "Ops per procs": 4954743.0, "Ops/sec/procs": 165158.0, "ns per ops/procs": 6056.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30037.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 249924594.0, "Ops per second": 8320505.39, "ns per ops": 120.19, "Ops per threads": 104135.0, "Ops per procs": 10413524.0, "Ops/sec/procs": 346687.72, "ns per ops/procs": 2884.44}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30049.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 448206023.0, "Ops per second": 14915520.07, "ns per ops": 67.04, "Ops per threads": 23344.0, "Ops per procs": 2334406.0, "Ops/sec/procs": 77685.0, "ns per ops/procs": 12872.5}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30053.084024, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 491621059.0, "Total blocks": 179273006.0, "Ops per second": 16358422.94, "ns per ops": 61.13, "Ops per threads": 68280.0, "Ops per procs": 6828070.0, "Ops/sec/procs": 227200.32, "ns per ops/procs": 4401.4}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 474761664.0, "Ops per second": 15825388.0, "ns per ops": 63.0, "Ops per threads": 65939.0, "Ops per procs": 6593912.0, "Ops/sec/procs": 219797.0, "ns per ops/procs": 4554.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 735077833.0, "Ops per second": 24502594.0, "ns per ops": 40.0, "Ops per threads": 153141.0, "Ops per procs": 15314121.0, "Ops/sec/procs": 510470.0, "ns per ops/procs": 1959.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30036.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 159902036.0, "Ops per second": 5323675.74, "ns per ops": 187.84, "Ops per threads": 399755.0, "Ops per procs": 39975509.0, "Ops/sec/procs": 1330918.93, "ns per ops/procs": 751.36}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30041.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 478925356.0, "Total blocks": 254349774.0, "Ops per second": 15942197.34, "ns per ops": 62.73, "Ops per threads": 49888.0, "Ops per procs": 4988805.0, "Ops/sec/procs": 166064.56, "ns per ops/procs": 6021.76}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30033.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 239348939.0, "Ops per second": 7969351.87, "ns per ops": 125.48, "Ops per threads": 149593.0, "Ops per procs": 14959308.0, "Ops/sec/procs": 498084.49, "ns per ops/procs": 2007.69}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30018.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 513943973.0, "Ops per second": 17131465.0, "ns per ops": 58.0, "Ops per threads": 214143.0, "Ops per procs": 21414332.0, "Ops/sec/procs": 713811.0, "ns per ops/procs": 1401.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30099.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 478614404.0, "Total blocks": 255187330.0, "Ops per second": 15900860.85, "ns per ops": 62.89, "Ops per threads": 49855.0, "Ops per procs": 4985566.0, "Ops/sec/procs": 165633.97, "ns per ops/procs": 6037.41}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30065.031744, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 732699431.0, "Total blocks": 319546814.0, "Ops per second": 24370485.86, "ns per ops": 41.03, "Ops per threads": 152645.0, "Ops per procs": 15264571.0, "Ops/sec/procs": 507718.46, "ns per ops/procs": 1969.6}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30089.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 185536523.0, "Ops per second": 6166248.23, "ns per ops": 162.17, "Ops per threads": 19326.0, "Ops per procs": 1932672.0, "Ops/sec/procs": 64231.75, "ns per ops/procs": 15568.62}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30095.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 134579689.0, "Total blocks": 81410262.0, "Ops per second": 4471816.3, "ns per ops": 223.62, "Ops per threads": 336449.0, "Ops per procs": 33644922.0, "Ops/sec/procs": 1117954.08, "ns per ops/procs": 894.49}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 451373537.0, "Ops per second": 15045784.0, "ns per ops": 66.0, "Ops per threads": 4513735.0, "Ops per procs": 451373537.0, "Ops/sec/procs": 15045784.0, "ns per ops/procs": 66.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30090.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 166908692.0, "Ops per second": 5563623.0, "ns per ops": 180.0, "Ops per threads": 417271.0, "Ops per procs": 41727173.0, "Ops/sec/procs": 1390905.0, "ns per ops/procs": 721.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30058.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 305987617.0, "Total blocks": 161039141.0, "Ops per second": 10179882.02, "ns per ops": 98.23, "Ops per threads": 127494.0, "Ops per procs": 12749484.0, "Ops/sec/procs": 424161.75, "ns per ops/procs": 2357.59}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30070.675157, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 503314692.0, "Total blocks": 187854856.0, "Ops per second": 16737725.02, "ns per ops": 59.75, "Ops per threads": 69904.0, "Ops per procs": 6990481.0, "Ops/sec/procs": 232468.4, "ns per ops/procs": 4301.66}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30016.423058, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 355165171.0, "Total blocks": 127878616.0, "Ops per second": 11832361.58, "ns per ops": 84.51, "Ops per threads": 147985.0, "Ops per procs": 14798548.0, "Ops/sec/procs": 493015.07, "ns per ops/procs": 2028.34}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30034.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 296946101.0, "Total blocks": 152856332.0, "Ops per second": 9886708.71, "ns per ops": 101.15, "Ops per threads": 185591.0, "Ops per procs": 18559131.0, "Ops/sec/procs": 617919.29, "ns per ops/procs": 1618.33}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 119630943.0, "Total blocks": 71028216.0, "Ops per second": 3987496.44, "ns per ops": 250.78, "Ops per threads": 299077.0, "Ops per procs": 29907735.0, "Ops/sec/procs": 996874.11, "ns per ops/procs": 1003.14}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30006.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 755226118.0, "Total blocks": 393756066.0, "Ops per second": 25168817.08, "ns per ops": 39.73, "Ops per threads": 39334.0, "Ops per procs": 3933469.0, "Ops/sec/procs": 131087.59, "ns per ops/procs": 7628.49}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452356781.0, "Ops per second": 15078559.0, "ns per ops": 66.0, "Ops per threads": 4523567.0, "Ops per procs": 452356781.0, "Ops/sec/procs": 15078559.0, "ns per ops/procs": 66.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30048.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 363583907.0, "Ops per second": 12099775.33, "ns per ops": 82.65, "Ops per threads": 75746.0, "Ops per procs": 7574664.0, "Ops/sec/procs": 252078.65, "ns per ops/procs": 3967.02}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30045.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 431315733.0, "Ops per second": 14355496.99, "ns per ops": 69.66, "Ops per threads": 22464.0, "Ops per procs": 2246436.0, "Ops/sec/procs": 74768.21, "ns per ops/procs": 13374.67}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30015.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 175768988.0, "Total blocks": 95091004.0, "Ops per second": 5855937.68, "ns per ops": 170.77, "Ops per threads": 219711.0, "Ops per procs": 21971123.0, "Ops/sec/procs": 731992.21, "ns per ops/procs": 1366.13}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452511273.0, "Ops per second": 15083709.0, "ns per ops": 66.0, "Ops per threads": 4525112.0, "Ops per procs": 452511273.0, "Ops/sec/procs": 15083709.0, "ns per ops/procs": 66.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30024.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 790703852.0, "Total blocks": 414441834.0, "Ops per second": 26335340.35, "ns per ops": 37.97, "Ops per threads": 41182.0, "Ops per procs": 4118249.0, "Ops/sec/procs": 137163.23, "ns per ops/procs": 7290.58}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 238838970.0, "Ops per second": 7954222.99, "ns per ops": 125.72, "Ops per threads": 149274.0, "Ops per procs": 14927435.0, "Ops/sec/procs": 497138.94, "ns per ops/procs": 2011.51}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452782784.0, "Ops per second": 15092759.0, "ns per ops": 66.0, "Ops per threads": 4527827.0, "Ops per procs": 452782784.0, "Ops/sec/procs": 15092759.0, "ns per ops/procs": 66.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30010.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 468608627.0, "Total blocks": 250290887.0, "Ops per second": 15614893.18, "ns per ops": 64.04, "Ops per threads": 48813.0, "Ops per procs": 4881339.0, "Ops/sec/procs": 162655.14, "ns per ops/procs": 6147.98}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30006.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 832938221.0, "Ops per second": 27764607.0, "ns per ops": 36.0, "Ops per threads": 57842.0, "Ops per procs": 5784293.0, "Ops/sec/procs": 192809.0, "ns per ops/procs": 5187.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30080.078891, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 480835061.0, "Total blocks": 171792926.0, "Ops per second": 15985166.22, "ns per ops": 62.56, "Ops per threads": 66782.0, "Ops per procs": 6678264.0, "Ops/sec/procs": 222016.2, "ns per ops/procs": 4504.18}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30006.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 802748698.0, "Ops per second": 26758289.0, "ns per ops": 37.0, "Ops per threads": 55746.0, "Ops per procs": 5574643.0, "Ops/sec/procs": 185821.0, "ns per ops/procs": 5382.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30075.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 214400594.0, "Ops per second": 7128768.62, "ns per ops": 140.28, "Ops per threads": 22333.0, "Ops per procs": 2233339.0, "Ops/sec/procs": 74258.01, "ns per ops/procs": 13466.56}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.344657, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 285088935.0, "Total blocks": 115785001.0, "Ops per second": 9478527.39, "ns per ops": 105.5, "Ops per threads": 178180.0, "Ops per procs": 17818058.0, "Ops/sec/procs": 592407.96, "ns per ops/procs": 1688.03}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30029.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 360209102.0, "Ops per second": 11995064.06, "ns per ops": 83.37, "Ops per threads": 50029.0, "Ops per procs": 5002904.0, "Ops/sec/procs": 166598.11, "ns per ops/procs": 6002.47}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30012.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 657821563.0, "Total blocks": 363593509.0, "Ops per second": 21918218.1, "ns per ops": 45.62, "Ops per threads": 45682.0, "Ops per procs": 4568205.0, "Ops/sec/procs": 152209.85, "ns per ops/procs": 6569.88}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30049.402969, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 484868012.0, "Total blocks": 187188844.0, "Ops per second": 16135695.36, "ns per ops": 61.97, "Ops per threads": 67342.0, "Ops per procs": 6734277.0, "Ops/sec/procs": 224106.88, "ns per ops/procs": 4462.16}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30008.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 657112261.0, "Total blocks": 367893813.0, "Ops per second": 21897380.46, "ns per ops": 45.67, "Ops per threads": 45632.0, "Ops per procs": 4563279.0, "Ops/sec/procs": 152065.14, "ns per ops/procs": 6576.13}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 297434874.0, "Total blocks": 152913106.0, "Ops per second": 9902936.14, "ns per ops": 100.98, "Ops per threads": 185896.0, "Ops per procs": 18589679.0, "Ops/sec/procs": 618933.51, "ns per ops/procs": 1615.68}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30049.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 371478488.0, "Ops per second": 12362097.21, "ns per ops": 80.89, "Ops per threads": 77391.0, "Ops per procs": 7739135.0, "Ops/sec/procs": 257543.69, "ns per ops/procs": 3882.84}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30074.867334, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 303702180.0, "Total blocks": 117366068.0, "Ops per second": 10098205.14, "ns per ops": 99.03, "Ops per threads": 189813.0, "Ops per procs": 18981386.0, "Ops/sec/procs": 631137.82, "ns per ops/procs": 1584.44}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30050.765525, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 495133409.0, "Total blocks": 2444537.0, "Ops per second": 16476565.58, "ns per ops": 60.69, "Ops per threads": 2475667.0, "Ops per procs": 247566704.0, "Ops/sec/procs": 8238282.79, "ns per ops/procs": 121.38}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30020.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 172000623.0, "Total blocks": 94983587.0, "Ops per second": 5729440.51, "ns per ops": 174.54, "Ops per threads": 215000.0, "Ops per procs": 21500077.0, "Ops/sec/procs": 716180.06, "ns per ops/procs": 1396.3}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30048.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 366642131.0, "Ops per second": 12201877.79, "ns per ops": 81.95, "Ops per threads": 76383.0, "Ops per procs": 7638377.0, "Ops/sec/procs": 254205.79, "ns per ops/procs": 3933.82}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30077.574266, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 570575370.0, "Total blocks": 221897889.0, "Ops per second": 18970125.88, "ns per ops": 52.71, "Ops per threads": 39623.0, "Ops per procs": 3962328.0, "Ops/sec/procs": 131736.99, "ns per ops/procs": 7590.88}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30071.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 306335124.0, "Ops per second": 10186851.85, "ns per ops": 98.17, "Ops per threads": 31909.0, "Ops per procs": 3190990.0, "Ops/sec/procs": 106113.04, "ns per ops/procs": 9423.91}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30054.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 343561467.0, "Ops per second": 11452048.0, "ns per ops": 87.0, "Ops per threads": 214725.0, "Ops per procs": 21472591.0, "Ops/sec/procs": 715753.0, "ns per ops/procs": 1399.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452430132.0, "Ops per second": 15081004.0, "ns per ops": 66.0, "Ops per threads": 4524301.0, "Ops per procs": 452430132.0, "Ops/sec/procs": 15081004.0, "ns per ops/procs": 66.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452372430.0, "Ops per second": 15079081.0, "ns per ops": 66.0, "Ops per threads": 4523724.0, "Ops per procs": 452372430.0, "Ops/sec/procs": 15079081.0, "ns per ops/procs": 66.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30029.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 214527315.0, "Ops per second": 7143932.22, "ns per ops": 139.98, "Ops per threads": 134079.0, "Ops per procs": 13407957.0, "Ops/sec/procs": 446495.76, "ns per ops/procs": 2239.66}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30066.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 391550239.0, "Total blocks": 206452565.0, "Ops per second": 13022893.06, "ns per ops": 76.79, "Ops per threads": 54381.0, "Ops per procs": 5438197.0, "Ops/sec/procs": 180873.51, "ns per ops/procs": 5528.73}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30029.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 564434169.0, "Ops per second": 18795708.24, "ns per ops": 53.2, "Ops per threads": 78393.0, "Ops per procs": 7839363.0, "Ops/sec/procs": 261051.5, "ns per ops/procs": 3830.66}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30012.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 507119225.0, "Ops per second": 16903974.0, "ns per ops": 59.0, "Ops per threads": 211299.0, "Ops per procs": 21129967.0, "Ops/sec/procs": 704332.0, "ns per ops/procs": 1420.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30011.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 649827554.0, "Ops per second": 21660918.0, "ns per ops": 46.0, "Ops per threads": 67690.0, "Ops per procs": 6769037.0, "Ops/sec/procs": 225634.0, "ns per ops/procs": 4433.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30058.874776, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 284073580.0, "Total blocks": 81955526.0, "Ops per second": 9450572.66, "ns per ops": 105.81, "Ops per threads": 177545.0, "Ops per procs": 17754598.0, "Ops/sec/procs": 590660.79, "ns per ops/procs": 1693.02}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30096.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 134932099.0, "Total blocks": 81668875.0, "Ops per second": 4483251.23, "ns per ops": 223.05, "Ops per threads": 337330.0, "Ops per procs": 33733024.0, "Ops/sec/procs": 1120812.81, "ns per ops/procs": 892.21}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 650179281.0, "Ops per second": 21672642.0, "ns per ops": 46.0, "Ops per threads": 67727.0, "Ops per procs": 6772700.0, "Ops/sec/procs": 225756.0, "ns per ops/procs": 4430.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30020.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 508029399.0, "Ops per second": 16934313.0, "ns per ops": 59.0, "Ops per threads": 211678.0, "Ops per procs": 21167891.0, "Ops/sec/procs": 705596.0, "ns per ops/procs": 1418.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30055.772759, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 784153747.0, "Total blocks": 326956548.0, "Ops per second": 26089954.61, "ns per ops": 38.33, "Ops per threads": 163365.0, "Ops per procs": 16336536.0, "Ops/sec/procs": 543540.72, "ns per ops/procs": 1839.79}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.820718, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 176906031.0, "Total blocks": 78353618.0, "Ops per second": 5885915.83, "ns per ops": 169.9, "Ops per threads": 442265.0, "Ops per procs": 44226507.0, "Ops/sec/procs": 1471478.96, "ns per ops/procs": 679.59}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30068.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 455192979.0, "Ops per second": 15138488.46, "ns per ops": 66.06, "Ops per threads": 23707.0, "Ops per procs": 2370796.0, "Ops/sec/procs": 78846.29, "ns per ops/procs": 12682.9}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 136537625.0, "Ops per second": 4551004.69, "ns per ops": 219.73, "Ops per threads": 1365376.0, "Ops per procs": 136537625.0, "Ops/sec/procs": 4551004.69, "ns per ops/procs": 219.73}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30007.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 622395356.0, "Ops per second": 20746511.0, "ns per ops": 48.0, "Ops per threads": 64832.0, "Ops per procs": 6483284.0, "Ops/sec/procs": 216109.0, "ns per ops/procs": 4628.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 149390621.0, "Ops per second": 4973885.77, "ns per ops": 201.05, "Ops per threads": 373476.0, "Ops per procs": 37347655.0, "Ops/sec/procs": 1243471.44, "ns per ops/procs": 804.2}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30022.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 512612954.0, "Ops per second": 17087098.0, "ns per ops": 58.0, "Ops per threads": 213588.0, "Ops per procs": 21358873.0, "Ops/sec/procs": 711962.0, "ns per ops/procs": 1405.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30027.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 652534102.0, "Total blocks": 362801914.0, "Ops per second": 21731442.83, "ns per ops": 46.02, "Ops per threads": 45314.0, "Ops per procs": 4531486.0, "Ops/sec/procs": 150912.8, "ns per ops/procs": 6626.34}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30072.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 393826396.0, "Total blocks": 208226830.0, "Ops per second": 13095979.9, "ns per ops": 76.36, "Ops per threads": 54698.0, "Ops per procs": 5469811.0, "Ops/sec/procs": 181888.61, "ns per ops/procs": 5497.87}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30063.774902, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 645099807.0, "Total blocks": 253168450.0, "Ops per second": 21457711.45, "ns per ops": 46.6, "Ops per threads": 33598.0, "Ops per procs": 3359894.0, "Ops/sec/procs": 111758.91, "ns per ops/procs": 8947.83}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.50978, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1120336443.0, "Total blocks": 0.0, "Ops per second": 37283018.96, "ns per ops": 26.82, "Ops per threads": 11203364.0, "Ops per procs": 1120336443.0, "Ops/sec/procs": 37283018.96, "ns per ops/procs": 26.82}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30061.110937, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 205495127.0, "Total blocks": 85125806.0, "Ops per second": 6835912.6, "ns per ops": 146.29, "Ops per threads": 256868.0, "Ops per procs": 25686890.0, "Ops/sec/procs": 854489.07, "ns per ops/procs": 1170.29}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.486964, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 285040559.0, "Total blocks": 110580079.0, "Ops per second": 9476874.16, "ns per ops": 105.52, "Ops per threads": 178150.0, "Ops per procs": 17815034.0, "Ops/sec/procs": 592304.63, "ns per ops/procs": 1688.32}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30017.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 173751775.0, "Total blocks": 93937021.0, "Ops per second": 5788322.53, "ns per ops": 172.76, "Ops per threads": 217189.0, "Ops per procs": 21718971.0, "Ops/sec/procs": 723540.32, "ns per ops/procs": 1382.09}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.633948, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1117951720.0, "Total blocks": 720451.0, "Ops per second": 37203505.44, "ns per ops": 26.88, "Ops per threads": 11179517.0, "Ops per procs": 1117951720.0, "Ops/sec/procs": 37203505.44, "ns per ops/procs": 26.88}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30052.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 464702027.0, "Ops per second": 15463081.11, "ns per ops": 64.67, "Ops per threads": 24203.0, "Ops per procs": 2420323.0, "Ops/sec/procs": 80536.88, "ns per ops/procs": 12416.67}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30087.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 210674621.0, "Ops per second": 7002029.83, "ns per ops": 142.82, "Ops per threads": 21945.0, "Ops per procs": 2194527.0, "Ops/sec/procs": 72937.81, "ns per ops/procs": 13710.31}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86031081.0, "Total blocks": 43016291.0, "Ops per second": 2861308.6, "ns per ops": 349.49, "Ops per threads": 430155.0, "Ops per procs": 43015540.0, "Ops/sec/procs": 1430654.3, "ns per ops/procs": 698.98}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30031.917858, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 626411360.0, "Total blocks": 250783670.0, "Ops per second": 20858187.04, "ns per ops": 47.94, "Ops per threads": 32625.0, "Ops per procs": 3262559.0, "Ops/sec/procs": 108636.39, "ns per ops/procs": 9205.02}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30036.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 237167983.0, "Ops per second": 7905599.0, "ns per ops": 126.0, "Ops per threads": 296459.0, "Ops per procs": 29645997.0, "Ops/sec/procs": 988199.0, "ns per ops/procs": 1013.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30005.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 237453345.0, "Ops per second": 7915111.0, "ns per ops": 126.0, "Ops per threads": 296816.0, "Ops per procs": 29681668.0, "Ops/sec/procs": 989388.0, "ns per ops/procs": 1010.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30052.111716, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 434220164.0, "Total blocks": 1513985.0, "Ops per second": 14448906.89, "ns per ops": 69.21, "Ops per threads": 2171100.0, "Ops per procs": 217110082.0, "Ops/sec/procs": 7224453.44, "ns per ops/procs": 138.42}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30063.986202, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 765645683.0, "Total blocks": 265375583.0, "Ops per second": 25467204.44, "ns per ops": 39.27, "Ops per threads": 159509.0, "Ops per procs": 15950951.0, "Ops/sec/procs": 530566.76, "ns per ops/procs": 1884.78}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30098.633525, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 605018080.0, "Total blocks": 183793705.0, "Ops per second": 20101180.99, "ns per ops": 49.75, "Ops per threads": 42015.0, "Ops per procs": 4201514.0, "Ops/sec/procs": 139591.53, "ns per ops/procs": 7163.76}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30027.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 168515144.0, "Ops per second": 5612021.97, "ns per ops": 178.19, "Ops per threads": 210643.0, "Ops per procs": 21064393.0, "Ops/sec/procs": 701502.75, "ns per ops/procs": 1425.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30073.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 801123536.0, "Total blocks": 420555085.0, "Ops per second": 26638903.44, "ns per ops": 37.54, "Ops per threads": 41725.0, "Ops per procs": 4172518.0, "Ops/sec/procs": 138744.29, "ns per ops/procs": 7207.5}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30046.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 365855121.0, "Ops per second": 12176176.66, "ns per ops": 82.13, "Ops per threads": 76219.0, "Ops per procs": 7621981.0, "Ops/sec/procs": 253670.35, "ns per ops/procs": 3942.12}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 120702552.0, "Total blocks": 72431015.0, "Ops per second": 4023118.45, "ns per ops": 248.56, "Ops per threads": 301756.0, "Ops per procs": 30175638.0, "Ops/sec/procs": 1005779.61, "ns per ops/procs": 994.25}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30087.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 633597480.0, "Total blocks": 352075419.0, "Ops per second": 21058564.32, "ns per ops": 47.49, "Ops per threads": 43999.0, "Ops per procs": 4399982.0, "Ops/sec/procs": 146240.03, "ns per ops/procs": 6838.07}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 119367181.0, "Ops per second": 3975807.64, "ns per ops": 251.52, "Ops per threads": 596835.0, "Ops per procs": 59683590.0, "Ops/sec/procs": 1987903.82, "ns per ops/procs": 503.04}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30053.303684, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 161631564.0, "Total blocks": 78138735.0, "Ops per second": 5378162.94, "ns per ops": 185.94, "Ops per threads": 404078.0, "Ops per procs": 40407891.0, "Ops/sec/procs": 1344540.73, "ns per ops/procs": 743.75}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30033.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 462165593.0, "Ops per second": 15405519.0, "ns per ops": 64.0, "Ops per threads": 64189.0, "Ops per procs": 6418966.0, "Ops/sec/procs": 213965.0, "ns per ops/procs": 4678.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30045.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 359970193.0, "Ops per second": 11980775.68, "ns per ops": 83.47, "Ops per threads": 74993.0, "Ops per procs": 7499379.0, "Ops/sec/procs": 249599.49, "ns per ops/procs": 4006.42}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30061.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 172098736.0, "Ops per second": 5736624.0, "ns per ops": 174.0, "Ops per threads": 860493.0, "Ops per procs": 86049368.0, "Ops/sec/procs": 2868312.0, "ns per ops/procs": 349.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30048.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 461641412.0, "Ops per second": 15363033.39, "ns per ops": 65.09, "Ops per threads": 24043.0, "Ops per procs": 2404382.0, "Ops/sec/procs": 80015.8, "ns per ops/procs": 12497.53}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30091.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 169352572.0, "Ops per second": 5645085.0, "ns per ops": 177.0, "Ops per threads": 423381.0, "Ops per procs": 42338143.0, "Ops/sec/procs": 1411271.0, "ns per ops/procs": 710.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.801801, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 343745748.0, "Total blocks": 110778421.0, "Ops per second": 11449870.67, "ns per ops": 87.34, "Ops per threads": 143227.0, "Ops per procs": 14322739.0, "Ops/sec/procs": 477077.94, "ns per ops/procs": 2096.09}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30038.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 255137108.0, "Ops per second": 8493579.35, "ns per ops": 117.74, "Ops per threads": 106307.0, "Ops per procs": 10630712.0, "Ops/sec/procs": 353899.14, "ns per ops/procs": 2825.66}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30013.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 179724159.0, "Total blocks": 96901335.0, "Ops per second": 5988209.27, "ns per ops": 166.99, "Ops per threads": 224655.0, "Ops per procs": 22465519.0, "Ops/sec/procs": 748526.16, "ns per ops/procs": 1335.96}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30002.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 733554652.0, "Ops per second": 24451821.0, "ns per ops": 40.0, "Ops per threads": 152823.0, "Ops per procs": 15282388.0, "Ops/sec/procs": 509412.0, "ns per ops/procs": 1963.0}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30035.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 137606748.0, "Ops per second": 4581513.05, "ns per ops": 218.27, "Ops per threads": 172008.0, "Ops per procs": 17200843.0, "Ops/sec/procs": 572689.13, "ns per ops/procs": 1746.15}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30037.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 469389541.0, "Ops per second": 15626630.1, "ns per ops": 63.99, "Ops per threads": 32596.0, "Ops per procs": 3259649.0, "Ops/sec/procs": 108518.26, "ns per ops/procs": 9215.04}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30027.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 240536745.0, "Ops per second": 8010440.07, "ns per ops": 124.84, "Ops per threads": 150335.0, "Ops per procs": 15033546.0, "Ops/sec/procs": 500652.5, "ns per ops/procs": 1997.39}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30096.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 167663480.0, "Ops per second": 5588782.0, "ns per ops": 179.0, "Ops per threads": 419158.0, "Ops per procs": 41915870.0, "Ops/sec/procs": 1397195.0, "ns per ops/procs": 718.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30035.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 178235273.0, "Ops per second": 5941175.0, "ns per ops": 168.0, "Ops per threads": 891176.0, "Ops per procs": 89117636.0, "Ops/sec/procs": 2970587.0, "ns per ops/procs": 337.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30050.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 170033768.0, "Ops per second": 5667792.0, "ns per ops": 176.0, "Ops per threads": 425084.0, "Ops per procs": 42508442.0, "Ops/sec/procs": 1416948.0, "ns per ops/procs": 706.0}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30016.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 137649416.0, "Ops per second": 4585825.65, "ns per ops": 218.06, "Ops per threads": 1376494.0, "Ops per procs": 137649416.0, "Ops/sec/procs": 4585825.65, "ns per ops/procs": 218.06}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30022.116103, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 356190239.0, "Total blocks": 132527663.0, "Ops per second": 11864261.59, "ns per ops": 84.29, "Ops per threads": 148412.0, "Ops per procs": 14841259.0, "Ops/sec/procs": 494344.23, "ns per ops/procs": 2022.88}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30046.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 136881187.0, "Ops per second": 4555601.17, "ns per ops": 219.51, "Ops per threads": 1368811.0, "Ops per procs": 136881187.0, "Ops/sec/procs": 4555601.17, "ns per ops/procs": 219.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30086.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 656961846.0, "Total blocks": 366295621.0, "Ops per second": 21835958.29, "ns per ops": 45.8, "Ops per threads": 45622.0, "Ops per procs": 4562235.0, "Ops/sec/procs": 151638.6, "ns per ops/procs": 6594.63}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135792295.0, "Ops per second": 4526179.95, "ns per ops": 220.94, "Ops per threads": 1357922.0, "Ops per procs": 135792295.0, "Ops/sec/procs": 4526179.95, "ns per ops/procs": 220.94}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30031.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 736769640.0, "Ops per second": 24533626.13, "ns per ops": 40.76, "Ops per threads": 102329.0, "Ops per procs": 10232911.0, "Ops/sec/procs": 340744.81, "ns per ops/procs": 2934.75}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30017.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 511819250.0, "Ops per second": 17060641.0, "ns per ops": 58.0, "Ops per threads": 213258.0, "Ops per procs": 21325802.0, "Ops/sec/procs": 710860.0, "ns per ops/procs": 1407.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30008.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 955728133.0, "Ops per second": 31857604.0, "ns per ops": 31.0, "Ops per threads": 49777.0, "Ops per procs": 4977750.0, "Ops/sec/procs": 165925.0, "ns per ops/procs": 6028.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30006.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 974543694.0, "Ops per second": 32484789.0, "ns per ops": 30.0, "Ops per threads": 50757.0, "Ops per procs": 5075748.0, "Ops/sec/procs": 169191.0, "ns per ops/procs": 5911.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30056.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 307116656.0, "Total blocks": 161436712.0, "Ops per second": 10217837.17, "ns per ops": 97.87, "Ops per threads": 127965.0, "Ops per procs": 12796527.0, "Ops/sec/procs": 425743.22, "ns per ops/procs": 2348.83}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30038.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 161436554.0, "Ops per second": 5374361.62, "ns per ops": 186.07, "Ops per threads": 403591.0, "Ops per procs": 40359138.0, "Ops/sec/procs": 1343590.4, "ns per ops/procs": 744.27}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30045.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 356327764.0, "Total blocks": 188651041.0, "Ops per second": 11859516.31, "ns per ops": 84.32, "Ops per threads": 148469.0, "Ops per procs": 14846990.0, "Ops/sec/procs": 494146.51, "ns per ops/procs": 2023.69}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30094.912645, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 532276715.0, "Total blocks": 208683163.0, "Ops per second": 17686601.1, "ns per ops": 56.54, "Ops per threads": 36963.0, "Ops per procs": 3696366.0, "Ops/sec/procs": 122823.62, "ns per ops/procs": 8141.76}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30050.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 370993004.0, "Ops per second": 12345632.42, "ns per ops": 81.0, "Ops per threads": 38645.0, "Ops per procs": 3864510.0, "Ops/sec/procs": 128600.34, "ns per ops/procs": 7776.03}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30083.575516, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 490128938.0, "Total blocks": 181074611.0, "Ops per second": 16292243.51, "ns per ops": 61.38, "Ops per threads": 68073.0, "Ops per procs": 6807346.0, "Ops/sec/procs": 226281.16, "ns per ops/procs": 4419.28}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30050.679337, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 416326850.0, "Total blocks": 8761134.0, "Ops per second": 13854157.68, "ns per ops": 72.18, "Ops per threads": 2081634.0, "Ops per procs": 208163425.0, "Ops/sec/procs": 6927078.84, "ns per ops/procs": 144.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.892739, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 225836807.0, "Total blocks": 56119540.0, "Ops per second": 7512644.72, "ns per ops": 133.11, "Ops per threads": 282296.0, "Ops per procs": 28229600.0, "Ops/sec/procs": 939080.59, "ns per ops/procs": 1064.87}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192522908.0, "Total blocks": 0.0, "Ops per second": 6411692.34, "ns per ops": 155.97, "Ops per threads": 1925229.0, "Ops per procs": 192522908.0, "Ops/sec/procs": 6411692.34, "ns per ops/procs": 155.97}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 636783071.0, "Total blocks": 355088910.0, "Ops per second": 21156817.58, "ns per ops": 47.27, "Ops per threads": 44221.0, "Ops per procs": 4422104.0, "Ops/sec/procs": 146922.34, "ns per ops/procs": 6806.32}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 168350134.0, "Total blocks": 91816218.0, "Ops per second": 5607492.03, "ns per ops": 178.33, "Ops per threads": 210437.0, "Ops per procs": 21043766.0, "Ops/sec/procs": 700936.5, "ns per ops/procs": 1426.66}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30087.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 192376565.0, "Ops per second": 6393857.42, "ns per ops": 156.4, "Ops per threads": 20039.0, "Ops per procs": 2003922.0, "Ops/sec/procs": 66602.68, "ns per ops/procs": 15014.41}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30033.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 212043987.0, "Ops per second": 7060346.63, "ns per ops": 141.64, "Ops per threads": 132527.0, "Ops per procs": 13252749.0, "Ops/sec/procs": 441271.66, "ns per ops/procs": 2266.18}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30045.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 483616726.0, "Ops per second": 16095966.07, "ns per ops": 62.13, "Ops per threads": 33584.0, "Ops per procs": 3358449.0, "Ops/sec/procs": 111777.54, "ns per ops/procs": 8946.34}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30055.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 345484092.0, "Ops per second": 11516136.0, "ns per ops": 86.0, "Ops per threads": 215927.0, "Ops per procs": 21592755.0, "Ops/sec/procs": 719758.0, "ns per ops/procs": 1391.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.97428, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 459641650.0, "Total blocks": 8602266.0, "Ops per second": 15294890.3, "ns per ops": 65.38, "Ops per threads": 2298208.0, "Ops per procs": 229820825.0, "Ops/sec/procs": 7647445.15, "ns per ops/procs": 130.76}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30046.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 489208923.0, "Ops per second": 16281941.96, "ns per ops": 61.42, "Ops per threads": 33972.0, "Ops per procs": 3397284.0, "Ops/sec/procs": 113069.04, "ns per ops/procs": 8844.15}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 156098140.0, "Ops per second": 5198109.26, "ns per ops": 192.38, "Ops per threads": 195122.0, "Ops per procs": 19512267.0, "Ops/sec/procs": 649763.66, "ns per ops/procs": 1539.02}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30049.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 250210439.0, "Total blocks": 127812747.0, "Ops per second": 8326659.57, "ns per ops": 120.1, "Ops per threads": 156381.0, "Ops per procs": 15638152.0, "Ops/sec/procs": 520416.22, "ns per ops/procs": 1921.54}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 191267483.0, "Ops per second": 6354615.15, "ns per ops": 157.37, "Ops per threads": 19923.0, "Ops per procs": 1992369.0, "Ops/sec/procs": 66193.91, "ns per ops/procs": 15107.13}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30048.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 405128175.0, "Total blocks": 212150874.0, "Ops per second": 13482295.02, "ns per ops": 74.17, "Ops per threads": 56267.0, "Ops per procs": 5626780.0, "Ops/sec/procs": 187254.1, "ns per ops/procs": 5340.34}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30028.212803, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 531021362.0, "Total blocks": 202286909.0, "Ops per second": 17684081.48, "ns per ops": 56.55, "Ops per threads": 55314.0, "Ops per procs": 5531472.0, "Ops/sec/procs": 184209.18, "ns per ops/procs": 5428.61}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 971737850.0, "Ops per second": 32391261.0, "ns per ops": 30.0, "Ops per threads": 50611.0, "Ops per procs": 5061134.0, "Ops/sec/procs": 168704.0, "ns per ops/procs": 5928.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30041.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 349955352.0, "Total blocks": 187554488.0, "Ops per second": 11649257.26, "ns per ops": 85.84, "Ops per threads": 145814.0, "Ops per procs": 14581473.0, "Ops/sec/procs": 485385.72, "ns per ops/procs": 2060.22}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30002.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 826261138.0, "Ops per second": 27542037.0, "ns per ops": 36.0, "Ops per threads": 57379.0, "Ops per procs": 5737924.0, "Ops/sec/procs": 191264.0, "ns per ops/procs": 5228.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30065.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 343355816.0, "Ops per second": 11445193.0, "ns per ops": 87.0, "Ops per threads": 214597.0, "Ops per procs": 21459738.0, "Ops/sec/procs": 715324.0, "ns per ops/procs": 1400.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.937598, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 171565227.0, "Total blocks": 75883485.0, "Ops per second": 5708197.47, "ns per ops": 175.19, "Ops per threads": 428913.0, "Ops per procs": 42891306.0, "Ops/sec/procs": 1427049.37, "ns per ops/procs": 700.75}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30015.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 513746235.0, "Ops per second": 17124874.0, "ns per ops": 58.0, "Ops per threads": 214060.0, "Ops per procs": 21406093.0, "Ops/sec/procs": 713536.0, "ns per ops/procs": 1402.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30068.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 785005185.0, "Total blocks": 411442585.0, "Ops per second": 26107484.95, "ns per ops": 38.3, "Ops per threads": 40885.0, "Ops per procs": 4088568.0, "Ops/sec/procs": 135976.48, "ns per ops/procs": 7354.21}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30058.567572, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 203968825.0, "Total blocks": 88742559.0, "Ops per second": 6785713.41, "ns per ops": 147.37, "Ops per threads": 254961.0, "Ops per procs": 25496103.0, "Ops/sec/procs": 848214.18, "ns per ops/procs": 1178.95}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 389924078.0, "Ops per second": 12983304.98, "ns per ops": 77.02, "Ops per threads": 54156.0, "Ops per procs": 5415612.0, "Ops/sec/procs": 180323.68, "ns per ops/procs": 5545.58}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30035.963074, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 572893968.0, "Total blocks": 234408896.0, "Ops per second": 19073600.76, "ns per ops": 52.43, "Ops per threads": 29838.0, "Ops per procs": 2983822.0, "Ops/sec/procs": 99341.67, "ns per ops/procs": 10066.27}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30030.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 179700422.0, "Ops per second": 5990014.0, "ns per ops": 167.0, "Ops per threads": 898502.0, "Ops per procs": 89850211.0, "Ops/sec/procs": 2995007.0, "ns per ops/procs": 334.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30020.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 512642615.0, "Ops per second": 17088087.0, "ns per ops": 58.0, "Ops per threads": 213601.0, "Ops per procs": 21360108.0, "Ops/sec/procs": 712003.0, "ns per ops/procs": 1405.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30022.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 771401796.0, "Total blocks": 404823619.0, "Ops per second": 25693853.24, "ns per ops": 38.92, "Ops per threads": 40177.0, "Ops per procs": 4017717.0, "Ops/sec/procs": 133822.15, "ns per ops/procs": 7472.61}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30061.184537, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 207395030.0, "Total blocks": 72728272.0, "Ops per second": 6899097.06, "ns per ops": 144.95, "Ops per threads": 259243.0, "Ops per procs": 25924378.0, "Ops/sec/procs": 862387.13, "ns per ops/procs": 1159.57}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30041.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 794657846.0, "Total blocks": 418198460.0, "Ops per second": 26452326.61, "ns per ops": 37.8, "Ops per threads": 41388.0, "Ops per procs": 4138842.0, "Ops/sec/procs": 137772.53, "ns per ops/procs": 7258.34}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192231095.0, "Total blocks": 0.0, "Ops per second": 6401915.57, "ns per ops": 156.2, "Ops per threads": 1922310.0, "Ops per procs": 192231095.0, "Ops/sec/procs": 6401915.57, "ns per ops/procs": 156.2}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30039.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 254701865.0, "Ops per second": 8478964.28, "ns per ops": 117.94, "Ops per threads": 106125.0, "Ops per procs": 10612577.0, "Ops/sec/procs": 353290.18, "ns per ops/procs": 2830.53}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30037.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 480215402.0, "Total blocks": 256972886.0, "Ops per second": 15987028.39, "ns per ops": 62.55, "Ops per threads": 50022.0, "Ops per procs": 5002243.0, "Ops/sec/procs": 166531.55, "ns per ops/procs": 6004.87}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30006.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 739950307.0, "Ops per second": 24665010.0, "ns per ops": 40.0, "Ops per threads": 154156.0, "Ops per procs": 15415631.0, "Ops/sec/procs": 513854.0, "ns per ops/procs": 1946.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.474963, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1120716566.0, "Total blocks": 115421.0, "Ops per second": 37295712.07, "ns per ops": 26.81, "Ops per threads": 11207165.0, "Ops per procs": 1120716566.0, "Ops/sec/procs": 37295712.07, "ns per ops/procs": 26.81}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 871876782.0, "Ops per second": 29062559.0, "ns per ops": 34.0, "Ops per threads": 60546.0, "Ops per procs": 6054699.0, "Ops/sec/procs": 201823.0, "ns per ops/procs": 4955.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30008.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 956532274.0, "Ops per second": 31884409.0, "ns per ops": 31.0, "Ops per threads": 49819.0, "Ops per procs": 4981938.0, "Ops/sec/procs": 166064.0, "ns per ops/procs": 6023.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30006.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 886060358.0, "Ops per second": 29535345.0, "ns per ops": 33.0, "Ops per threads": 61531.0, "Ops per procs": 6153196.0, "Ops/sec/procs": 205106.0, "ns per ops/procs": 4876.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30002.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 234699702.0, "Ops per second": 7823323.0, "ns per ops": 127.0, "Ops per threads": 293374.0, "Ops per procs": 29337462.0, "Ops/sec/procs": 977915.0, "ns per ops/procs": 1022.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30063.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 656149421.0, "Total blocks": 365153372.0, "Ops per second": 21825105.6, "ns per ops": 45.82, "Ops per threads": 45565.0, "Ops per procs": 4556593.0, "Ops/sec/procs": 151563.23, "ns per ops/procs": 6597.91}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.590616, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 177082160.0, "Total blocks": 78498505.0, "Ops per second": 5891821.0, "ns per ops": 169.73, "Ops per threads": 442705.0, "Ops per procs": 44270540.0, "Ops/sec/procs": 1472955.25, "ns per ops/procs": 678.91}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30032.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 145894469.0, "Ops per second": 4857860.16, "ns per ops": 205.85, "Ops per threads": 364736.0, "Ops per procs": 36473617.0, "Ops/sec/procs": 1214465.04, "ns per ops/procs": 823.41}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30031.724967, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 802530897.0, "Total blocks": 275581130.0, "Ops per second": 26722770.6, "ns per ops": 37.42, "Ops per threads": 167193.0, "Ops per procs": 16719393.0, "Ops/sec/procs": 556724.39, "ns per ops/procs": 1796.22}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30066.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86442838.0, "Total blocks": 43222700.0, "Ops per second": 2875084.82, "ns per ops": 347.82, "Ops per threads": 432214.0, "Ops per procs": 43221419.0, "Ops/sec/procs": 1437542.41, "ns per ops/procs": 695.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30021.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 171212219.0, "Total blocks": 94581997.0, "Ops per second": 5702940.68, "ns per ops": 175.35, "Ops per threads": 214015.0, "Ops per procs": 21401527.0, "Ops/sec/procs": 712867.59, "ns per ops/procs": 1402.79}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.948068, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 441411390.0, "Total blocks": 419365.0, "Ops per second": 14688278.74, "ns per ops": 68.08, "Ops per threads": 2207056.0, "Ops per procs": 220705695.0, "Ops/sec/procs": 7344139.37, "ns per ops/procs": 136.16}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30025.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 763854440.0, "Total blocks": 401265880.0, "Ops per second": 25440578.08, "ns per ops": 39.31, "Ops per threads": 39784.0, "Ops per procs": 3978408.0, "Ops/sec/procs": 132503.01, "ns per ops/procs": 7547.0}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30026.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 527730164.0, "Ops per second": 17575521.8, "ns per ops": 56.9, "Ops per threads": 73295.0, "Ops per procs": 7329585.0, "Ops/sec/procs": 244104.47, "ns per ops/procs": 4096.61}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30033.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 146323851.0, "Ops per second": 4872075.55, "ns per ops": 205.25, "Ops per threads": 182904.0, "Ops per procs": 18290481.0, "Ops/sec/procs": 609009.44, "ns per ops/procs": 1642.01}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30015.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 649830829.0, "Ops per second": 21661027.0, "ns per ops": 46.0, "Ops per threads": 67690.0, "Ops per procs": 6769071.0, "Ops/sec/procs": 225635.0, "ns per ops/procs": 4434.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30051.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 340815091.0, "Ops per second": 11360503.0, "ns per ops": 88.0, "Ops per threads": 213009.0, "Ops per procs": 21300943.0, "Ops/sec/procs": 710031.0, "ns per ops/procs": 1410.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30012.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 644087155.0, "Ops per second": 21469571.0, "ns per ops": 46.0, "Ops per threads": 67092.0, "Ops per procs": 6709241.0, "Ops/sec/procs": 223641.0, "ns per ops/procs": 4473.0}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 117711342.0, "Ops per second": 3920647.35, "ns per ops": 255.06, "Ops per threads": 588556.0, "Ops per procs": 58855671.0, "Ops/sec/procs": 1960323.68, "ns per ops/procs": 510.12}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30020.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 118418832.0, "Ops per second": 3944548.08, "ns per ops": 253.51, "Ops per threads": 592094.0, "Ops per procs": 59209416.0, "Ops/sec/procs": 1972274.04, "ns per ops/procs": 507.03}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30086.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 549298926.0, "Total blocks": 305224211.0, "Ops per second": 18257292.36, "ns per ops": 54.77, "Ops per threads": 114437.0, "Ops per procs": 11443727.0, "Ops/sec/procs": 380360.26, "ns per ops/procs": 2629.09}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30092.227393, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 544459819.0, "Total blocks": 205333826.0, "Ops per second": 18093038.18, "ns per ops": 55.27, "Ops per threads": 37809.0, "Ops per procs": 3780970.0, "Ops/sec/procs": 125646.1, "ns per ops/procs": 7958.86}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30090.628713, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 438135783.0, "Total blocks": 181248607.0, "Ops per second": 14560539.34, "ns per ops": 68.68, "Ops per threads": 60852.0, "Ops per procs": 6085219.0, "Ops/sec/procs": 202229.71, "ns per ops/procs": 4944.87}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30021.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 119467613.0, "Ops per second": 3979418.89, "ns per ops": 251.29, "Ops per threads": 597338.0, "Ops per procs": 59733806.0, "Ops/sec/procs": 1989709.44, "ns per ops/procs": 502.59}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30092.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 142263661.0, "Total blocks": 85937211.0, "Ops per second": 4727622.71, "ns per ops": 211.52, "Ops per threads": 355659.0, "Ops per procs": 35565915.0, "Ops/sec/procs": 1181905.68, "ns per ops/procs": 846.09}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30030.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 149482316.0, "Ops per second": 4977621.24, "ns per ops": 200.9, "Ops per threads": 186852.0, "Ops per procs": 18685289.0, "Ops/sec/procs": 622202.65, "ns per ops/procs": 1607.19}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30020.937487, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 335712075.0, "Total blocks": 110110283.0, "Ops per second": 11182597.98, "ns per ops": 89.42, "Ops per threads": 139880.0, "Ops per procs": 13988003.0, "Ops/sec/procs": 465941.58, "ns per ops/procs": 2146.19}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30006.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 510643531.0, "Ops per second": 17021451.0, "ns per ops": 58.0, "Ops per threads": 212768.0, "Ops per procs": 21276813.0, "Ops/sec/procs": 709227.0, "ns per ops/procs": 1410.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30031.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 296756552.0, "Total blocks": 152729520.0, "Ops per second": 9881630.35, "ns per ops": 101.2, "Ops per threads": 185472.0, "Ops per procs": 18547284.0, "Ops/sec/procs": 617601.9, "ns per ops/procs": 1619.17}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30044.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 453113204.0, "Ops per second": 15081549.68, "ns per ops": 66.31, "Ops per threads": 23599.0, "Ops per procs": 2359964.0, "Ops/sec/procs": 78549.74, "ns per ops/procs": 12730.79}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30025.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 724585936.0, "Ops per second": 24132426.27, "ns per ops": 41.44, "Ops per threads": 100636.0, "Ops per procs": 10063693.0, "Ops/sec/procs": 335172.59, "ns per ops/procs": 2983.54}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30027.653982, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 492633870.0, "Total blocks": 185730042.0, "Ops per second": 16406005.95, "ns per ops": 60.95, "Ops per threads": 68421.0, "Ops per procs": 6842137.0, "Ops/sec/procs": 227861.19, "ns per ops/procs": 4388.64}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30066.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86292143.0, "Total blocks": 43147332.0, "Ops per second": 2869997.08, "ns per ops": 348.43, "Ops per threads": 431460.0, "Ops per procs": 43146071.0, "Ops/sec/procs": 1434998.54, "ns per ops/procs": 696.86}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30057.846015, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 456780268.0, "Total blocks": 171439416.0, "Ops per second": 15196706.64, "ns per ops": 65.8, "Ops per threads": 63441.0, "Ops per procs": 6344170.0, "Ops/sec/procs": 211065.37, "ns per ops/procs": 4737.87}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.448486, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1120457215.0, "Total blocks": 20014.0, "Ops per second": 37287114.12, "ns per ops": 26.82, "Ops per threads": 11204572.0, "Ops per procs": 1120457215.0, "Ops/sec/procs": 37287114.12, "ns per ops/procs": 26.82}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30094.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 134984635.0, "Total blocks": 81785899.0, "Ops per second": 4485287.89, "ns per ops": 222.95, "Ops per threads": 337461.0, "Ops per procs": 33746158.0, "Ops/sec/procs": 1121321.97, "ns per ops/procs": 891.8}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30044.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 347287896.0, "Total blocks": 185920031.0, "Ops per second": 11559136.56, "ns per ops": 86.51, "Ops per threads": 144703.0, "Ops per procs": 14470329.0, "Ops/sec/procs": 481630.69, "ns per ops/procs": 2076.28}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30066.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86465273.0, "Total blocks": 43234079.0, "Ops per second": 2875812.48, "ns per ops": 347.73, "Ops per threads": 432326.0, "Ops per procs": 43232636.0, "Ops/sec/procs": 1437906.24, "ns per ops/procs": 695.46}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30008.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 469456662.0, "Total blocks": 249859470.0, "Ops per second": 15644009.6, "ns per ops": 63.92, "Ops per threads": 48901.0, "Ops per procs": 4890173.0, "Ops/sec/procs": 162958.43, "ns per ops/procs": 6136.53}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30030.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 795100421.0, "Total blocks": 418436584.0, "Ops per second": 26476802.25, "ns per ops": 37.77, "Ops per threads": 41411.0, "Ops per procs": 4141148.0, "Ops/sec/procs": 137900.01, "ns per ops/procs": 7251.63}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30046.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 345070359.0, "Ops per second": 11502345.0, "ns per ops": 87.0, "Ops per threads": 215668.0, "Ops per procs": 21566897.0, "Ops/sec/procs": 718896.0, "ns per ops/procs": 1393.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30000.975519, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 608277551.0, "Total blocks": 178475301.0, "Ops per second": 20275259.07, "ns per ops": 49.32, "Ops per threads": 31681.0, "Ops per procs": 3168112.0, "Ops/sec/procs": 105600.31, "ns per ops/procs": 9469.67}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30008.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 650019380.0, "Ops per second": 21667312.0, "ns per ops": 46.0, "Ops per threads": 67710.0, "Ops per procs": 6771035.0, "Ops/sec/procs": 225701.0, "ns per ops/procs": 4431.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30017.905127, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 577332306.0, "Total blocks": 203440686.0, "Ops per second": 19232931.26, "ns per ops": 51.99, "Ops per threads": 60138.0, "Ops per procs": 6013878.0, "Ops/sec/procs": 200343.03, "ns per ops/procs": 4991.44}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452765607.0, "Ops per second": 15092186.0, "ns per ops": 66.0, "Ops per threads": 4527656.0, "Ops per procs": 452765607.0, "Ops/sec/procs": 15092186.0, "ns per ops/procs": 66.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30033.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 168153294.0, "Total blocks": 91698460.0, "Ops per second": 5598897.55, "ns per ops": 178.61, "Ops per threads": 210191.0, "Ops per procs": 21019161.0, "Ops/sec/procs": 699862.19, "ns per ops/procs": 1428.85}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.146697, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 163876646.0, "Total blocks": 79156586.0, "Ops per second": 5452531.9, "ns per ops": 183.4, "Ops per threads": 409691.0, "Ops per procs": 40969161.0, "Ops/sec/procs": 1363132.97, "ns per ops/procs": 733.6}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30038.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 249728591.0, "Ops per second": 8313602.09, "ns per ops": 120.28, "Ops per threads": 104053.0, "Ops per procs": 10405357.0, "Ops/sec/procs": 346400.09, "ns per ops/procs": 2886.84}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30047.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 360756914.0, "Ops per second": 12006305.39, "ns per ops": 83.29, "Ops per threads": 75157.0, "Ops per procs": 7515769.0, "Ops/sec/procs": 250131.36, "ns per ops/procs": 3997.9}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30080.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 790206537.0, "Total blocks": 414340220.0, "Ops per second": 26269981.02, "ns per ops": 38.07, "Ops per threads": 41156.0, "Ops per procs": 4115659.0, "Ops/sec/procs": 136822.82, "ns per ops/procs": 7308.72}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30083.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 165112377.0, "Ops per second": 5503745.0, "ns per ops": 182.0, "Ops per threads": 412780.0, "Ops per procs": 41278094.0, "Ops/sec/procs": 1375936.0, "ns per ops/procs": 728.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.19443, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 203517134.0, "Total blocks": 86791618.0, "Ops per second": 6770319.95, "ns per ops": 147.7, "Ops per threads": 254396.0, "Ops per procs": 25439641.0, "Ops/sec/procs": 846289.99, "ns per ops/procs": 1181.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192272018.0, "Total blocks": 0.0, "Ops per second": 6403297.78, "ns per ops": 156.17, "Ops per threads": 1922720.0, "Ops per procs": 192272018.0, "Ops/sec/procs": 6403297.78, "ns per ops/procs": 156.17}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30078.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 167549786.0, "Ops per second": 5584992.0, "ns per ops": 179.0, "Ops per threads": 418874.0, "Ops per procs": 41887446.0, "Ops/sec/procs": 1396248.0, "ns per ops/procs": 718.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192351883.0, "Total blocks": 0.0, "Ops per second": 6405974.57, "ns per ops": 156.1, "Ops per threads": 1923518.0, "Ops per procs": 192351883.0, "Ops/sec/procs": 6405974.57, "ns per ops/procs": 156.1}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30042.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 455643717.0, "Ops per second": 15166607.73, "ns per ops": 65.93, "Ops per threads": 31641.0, "Ops per procs": 3164192.0, "Ops/sec/procs": 105323.66, "ns per ops/procs": 9494.54}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30089.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 143735420.0, "Total blocks": 86927326.0, "Ops per second": 4776918.31, "ns per ops": 209.34, "Ops per threads": 359338.0, "Ops per procs": 35933855.0, "Ops/sec/procs": 1194229.58, "ns per ops/procs": 837.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30075.817488, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 532406820.0, "Total blocks": 189021704.0, "Ops per second": 17702156.23, "ns per ops": 56.49, "Ops per threads": 55459.0, "Ops per procs": 5545904.0, "Ops/sec/procs": 184397.46, "ns per ops/procs": 5423.07}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135674077.0, "Ops per second": 4522243.58, "ns per ops": 221.13, "Ops per threads": 1356740.0, "Ops per procs": 135674077.0, "Ops/sec/procs": 4522243.58, "ns per ops/procs": 221.13}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30043.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 439906914.0, "Ops per second": 14642382.11, "ns per ops": 68.29, "Ops per threads": 22911.0, "Ops per procs": 2291181.0, "Ops/sec/procs": 76262.41, "ns per ops/procs": 13112.62}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30065.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 657902987.0, "Total blocks": 366384435.0, "Ops per second": 21882092.43, "ns per ops": 45.7, "Ops per threads": 45687.0, "Ops per procs": 4568770.0, "Ops/sec/procs": 151958.98, "ns per ops/procs": 6580.72}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30005.089617, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 539166834.0, "Total blocks": 196440124.0, "Ops per second": 17969179.26, "ns per ops": 55.65, "Ops per threads": 37442.0, "Ops per procs": 3744214.0, "Ops/sec/procs": 124785.97, "ns per ops/procs": 8013.72}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30092.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 167590348.0, "Ops per second": 5586344.0, "ns per ops": 179.0, "Ops per threads": 837951.0, "Ops per procs": 83795174.0, "Ops/sec/procs": 2793172.0, "ns per ops/procs": 359.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.996225, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 492463154.0, "Total blocks": 1502761.0, "Ops per second": 16387036.33, "ns per ops": 61.02, "Ops per threads": 2462315.0, "Ops per procs": 246231577.0, "Ops/sec/procs": 8193518.17, "ns per ops/procs": 122.05}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30061.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 341546252.0, "Ops per second": 11384875.0, "ns per ops": 88.0, "Ops per threads": 213466.0, "Ops per procs": 21346640.0, "Ops/sec/procs": 711554.0, "ns per ops/procs": 1408.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 159861811.0, "Ops per second": 5322617.74, "ns per ops": 187.88, "Ops per threads": 399654.0, "Ops per procs": 39965452.0, "Ops/sec/procs": 1330654.44, "ns per ops/procs": 751.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30070.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 647377625.0, "Total blocks": 358133729.0, "Ops per second": 21529008.78, "ns per ops": 46.45, "Ops per threads": 44956.0, "Ops per procs": 4495677.0, "Ops/sec/procs": 149507.01, "ns per ops/procs": 6688.65}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30027.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 238037586.0, "Ops per second": 7927229.01, "ns per ops": 126.15, "Ops per threads": 148773.0, "Ops per procs": 14877349.0, "Ops/sec/procs": 495451.81, "ns per ops/procs": 2018.36}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30015.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 190281542.0, "Ops per second": 6342718.0, "ns per ops": 157.0, "Ops per threads": 951407.0, "Ops per procs": 95140771.0, "Ops/sec/procs": 3171359.0, "ns per ops/procs": 315.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30086.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 790873617.0, "Total blocks": 414896267.0, "Ops per second": 26286448.76, "ns per ops": 38.04, "Ops per threads": 41191.0, "Ops per procs": 4119133.0, "Ops/sec/procs": 136908.59, "ns per ops/procs": 7304.14}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30038.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 275097017.0, "Total blocks": 139621738.0, "Ops per second": 9158293.2, "ns per ops": 109.19, "Ops per threads": 171935.0, "Ops per procs": 17193563.0, "Ops/sec/procs": 572393.32, "ns per ops/procs": 1747.05}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30030.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 717166455.0, "Ops per second": 23881520.39, "ns per ops": 41.87, "Ops per threads": 99606.0, "Ops per procs": 9960645.0, "Ops/sec/procs": 331687.78, "ns per ops/procs": 3014.88}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 742562709.0, "Ops per second": 24752090.0, "ns per ops": 40.0, "Ops per threads": 154700.0, "Ops per procs": 15470056.0, "Ops/sec/procs": 515668.0, "ns per ops/procs": 1939.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30025.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 485996227.0, "Ops per second": 16199874.0, "ns per ops": 61.0, "Ops per threads": 67499.0, "Ops per procs": 6749947.0, "Ops/sec/procs": 224998.0, "ns per ops/procs": 4448.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30061.127863, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 748041545.0, "Total blocks": 257845748.0, "Ops per second": 24884014.61, "ns per ops": 40.19, "Ops per threads": 155841.0, "Ops per procs": 15584198.0, "Ops/sec/procs": 518416.97, "ns per ops/procs": 1928.95}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452863920.0, "Ops per second": 15095464.0, "ns per ops": 66.0, "Ops per threads": 4528639.0, "Ops per procs": 452863920.0, "Ops/sec/procs": 15095464.0, "ns per ops/procs": 66.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30035.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 153408239.0, "Ops per second": 5107627.0, "ns per ops": 195.79, "Ops per threads": 383520.0, "Ops per procs": 38352059.0, "Ops/sec/procs": 1276906.75, "ns per ops/procs": 783.14}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30035.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 260557227.0, "Ops per second": 8675026.21, "ns per ops": 115.27, "Ops per threads": 108565.0, "Ops per procs": 10856551.0, "Ops/sec/procs": 361459.43, "ns per ops/procs": 2766.56}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192033788.0, "Total blocks": 0.0, "Ops per second": 6395407.12, "ns per ops": 156.36, "Ops per threads": 1920337.0, "Ops per procs": 192033788.0, "Ops/sec/procs": 6395407.12, "ns per ops/procs": 156.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30079.074941, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 298030410.0, "Total blocks": 109392057.0, "Ops per second": 9908230.58, "ns per ops": 100.93, "Ops per threads": 186269.0, "Ops per procs": 18626900.0, "Ops/sec/procs": 619264.41, "ns per ops/procs": 1614.82}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30099.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 237100042.0, "Ops per second": 7903334.0, "ns per ops": 126.0, "Ops per threads": 296375.0, "Ops per procs": 29637505.0, "Ops/sec/procs": 987916.0, "ns per ops/procs": 1015.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30042.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 441233108.0, "Ops per second": 14686769.37, "ns per ops": 68.09, "Ops per threads": 22980.0, "Ops per procs": 2298089.0, "Ops/sec/procs": 76493.59, "ns per ops/procs": 13072.99}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.043754, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1109890087.0, "Total blocks": 2094528.0, "Ops per second": 36934724.49, "ns per ops": 27.07, "Ops per threads": 11098900.0, "Ops per procs": 1109890087.0, "Ops/sec/procs": 36934724.49, "ns per ops/procs": 27.07}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30040.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 143539857.0, "Ops per second": 4778190.54, "ns per ops": 209.28, "Ops per threads": 179424.0, "Ops per procs": 17942482.0, "Ops/sec/procs": 597273.82, "ns per ops/procs": 1674.27}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192539464.0, "Total blocks": 0.0, "Ops per second": 6412239.06, "ns per ops": 155.95, "Ops per threads": 1925394.0, "Ops per procs": 192539464.0, "Ops/sec/procs": 6412239.06, "ns per ops/procs": 155.95}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30059.428625, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 214406101.0, "Total blocks": 89085317.0, "Ops per second": 7132740.4, "ns per ops": 140.2, "Ops per threads": 268007.0, "Ops per procs": 26800762.0, "Ops/sec/procs": 891592.55, "ns per ops/procs": 1121.59}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 451938612.0, "Ops per second": 15064620.0, "ns per ops": 66.0, "Ops per threads": 4519386.0, "Ops per procs": 451938612.0, "Ops/sec/procs": 15064620.0, "ns per ops/procs": 66.0}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30020.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 117888097.0, "Ops per second": 3926880.58, "ns per ops": 254.66, "Ops per threads": 589440.0, "Ops per procs": 58944048.0, "Ops/sec/procs": 1963440.29, "ns per ops/procs": 509.31}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 118665695.0, "Ops per second": 3952370.01, "ns per ops": 253.01, "Ops per threads": 593328.0, "Ops per procs": 59332847.0, "Ops/sec/procs": 1976185.0, "ns per ops/procs": 506.03}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30006.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 956030550.0, "Ops per second": 31867685.0, "ns per ops": 31.0, "Ops per threads": 49793.0, "Ops per procs": 4979325.0, "Ops/sec/procs": 165977.0, "ns per ops/procs": 6026.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.088657, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 347613627.0, "Total blocks": 125656313.0, "Ops per second": 11578981.39, "ns per ops": 86.36, "Ops per threads": 144839.0, "Ops per procs": 14483901.0, "Ops/sec/procs": 482457.56, "ns per ops/procs": 2072.72}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30008.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 740912835.0, "Ops per second": 24697094.0, "ns per ops": 40.0, "Ops per threads": 154356.0, "Ops per procs": 15435684.0, "Ops/sec/procs": 514522.0, "ns per ops/procs": 1944.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.750654, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 339674261.0, "Total blocks": 136497088.0, "Ops per second": 11314272.27, "ns per ops": 88.38, "Ops per threads": 141530.0, "Ops per procs": 14153094.0, "Ops/sec/procs": 471428.01, "ns per ops/procs": 2121.21}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30064.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 389938014.0, "Total blocks": 206165485.0, "Ops per second": 12969867.58, "ns per ops": 77.1, "Ops per threads": 54158.0, "Ops per procs": 5415805.0, "Ops/sec/procs": 180137.05, "ns per ops/procs": 5551.33}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30015.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 179671481.0, "Total blocks": 96818873.0, "Ops per second": 5985873.44, "ns per ops": 167.06, "Ops per threads": 224589.0, "Ops per procs": 22458935.0, "Ops/sec/procs": 748234.18, "ns per ops/procs": 1336.48}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30054.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 347470587.0, "Ops per second": 11582352.0, "ns per ops": 86.0, "Ops per threads": 217169.0, "Ops per procs": 21716911.0, "Ops/sec/procs": 723897.0, "ns per ops/procs": 1383.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30033.689328, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 529360635.0, "Total blocks": 202033463.0, "Ops per second": 17625561.39, "ns per ops": 56.74, "Ops per threads": 55141.0, "Ops per procs": 5514173.0, "Ops/sec/procs": 183599.6, "ns per ops/procs": 5446.64}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30002.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 498328668.0, "Total blocks": 274501513.0, "Ops per second": 16609802.26, "ns per ops": 60.21, "Ops per threads": 103818.0, "Ops per procs": 10381847.0, "Ops/sec/procs": 346037.55, "ns per ops/procs": 2889.86}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30069.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 307154812.0, "Ops per second": 10214932.89, "ns per ops": 97.9, "Ops per threads": 31995.0, "Ops per procs": 3199529.0, "Ops/sec/procs": 106405.55, "ns per ops/procs": 9398.01}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30009.065154, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 563513509.0, "Total blocks": 217716702.0, "Ops per second": 18778109.42, "ns per ops": 53.25, "Ops per threads": 39132.0, "Ops per procs": 3913288.0, "Ops/sec/procs": 130403.54, "ns per ops/procs": 7668.5}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30037.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 524334283.0, "Ops per second": 17455928.0, "ns per ops": 57.29, "Ops per threads": 36412.0, "Ops per procs": 3641210.0, "Ops/sec/procs": 121221.72, "ns per ops/procs": 8249.35}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30013.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 600470119.0, "Ops per second": 20015670.0, "ns per ops": 49.0, "Ops per threads": 62548.0, "Ops per procs": 6254897.0, "Ops/sec/procs": 208496.0, "ns per ops/procs": 4798.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30026.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 500463511.0, "Ops per second": 16682117.0, "ns per ops": 59.0, "Ops per threads": 208526.0, "Ops per procs": 20852646.0, "Ops/sec/procs": 695088.0, "ns per ops/procs": 1439.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30019.403619, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 322475350.0, "Total blocks": 107518214.0, "Ops per second": 10742230.4, "ns per ops": 93.09, "Ops per threads": 134364.0, "Ops per procs": 13436472.0, "Ops/sec/procs": 447592.93, "ns per ops/procs": 2234.17}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30039.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 275766682.0, "Total blocks": 139786129.0, "Ops per second": 9180135.42, "ns per ops": 108.93, "Ops per threads": 172354.0, "Ops per procs": 17235417.0, "Ops/sec/procs": 573758.46, "ns per ops/procs": 1742.89}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30055.143359, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 786185730.0, "Total blocks": 314757140.0, "Ops per second": 26158109.47, "ns per ops": 38.23, "Ops per threads": 163788.0, "Ops per procs": 16378869.0, "Ops/sec/procs": 544960.61, "ns per ops/procs": 1835.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30041.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 440773630.0, "Ops per second": 14671917.03, "ns per ops": 68.16, "Ops per threads": 22956.0, "Ops per procs": 2295695.0, "Ops/sec/procs": 76416.23, "ns per ops/procs": 13086.22}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452790603.0, "Ops per second": 15093020.0, "ns per ops": 66.0, "Ops per threads": 4527906.0, "Ops per procs": 452790603.0, "Ops/sec/procs": 15093020.0, "ns per ops/procs": 66.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30014.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 637525953.0, "Ops per second": 21250865.0, "ns per ops": 47.0, "Ops per threads": 66408.0, "Ops per procs": 6640895.0, "Ops/sec/procs": 221363.0, "ns per ops/procs": 4519.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30066.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 86351017.0, "Total blocks": 43177052.0, "Ops per second": 2872018.91, "ns per ops": 348.19, "Ops per threads": 431755.0, "Ops per procs": 43175508.0, "Ops/sec/procs": 1436009.45, "ns per ops/procs": 696.37}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 741633305.0, "Ops per second": 24721110.0, "ns per ops": 40.0, "Ops per threads": 154506.0, "Ops per procs": 15450693.0, "Ops/sec/procs": 515023.0, "ns per ops/procs": 1942.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 942640306.0, "Ops per second": 31421343.0, "ns per ops": 31.0, "Ops per threads": 49095.0, "Ops per procs": 4909584.0, "Ops/sec/procs": 163652.0, "ns per ops/procs": 6111.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30035.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 152187568.0, "Ops per second": 5066853.22, "ns per ops": 197.36, "Ops per threads": 380468.0, "Ops per procs": 38046892.0, "Ops/sec/procs": 1266713.31, "ns per ops/procs": 789.44}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30045.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 167711831.0, "Ops per second": 5590394.0, "ns per ops": 179.0, "Ops per threads": 838559.0, "Ops per procs": 83855915.0, "Ops/sec/procs": 2795197.0, "ns per ops/procs": 358.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 192545031.0, "Total blocks": 0.0, "Ops per second": 6412369.34, "ns per ops": 155.95, "Ops per threads": 1925450.0, "Ops per procs": 192545031.0, "Ops/sec/procs": 6412369.34, "ns per ops/procs": 155.95}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.12344, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 438344047.0, "Total blocks": 4308460.0, "Ops per second": 14586610.98, "ns per ops": 68.56, "Ops per threads": 2191720.0, "Ops per procs": 219172023.0, "Ops/sec/procs": 7293305.49, "ns per ops/procs": 137.11}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 135332439.0, "Ops per second": 4510861.24, "ns per ops": 221.69, "Ops per threads": 1353324.0, "Ops per procs": 135332439.0, "Ops/sec/procs": 4510861.24, "ns per ops/procs": 221.69}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30030.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 220209465.0, "Ops per second": 7332887.29, "ns per ops": 136.37, "Ops per threads": 137630.0, "Ops per procs": 13763091.0, "Ops/sec/procs": 458305.46, "ns per ops/procs": 2181.95}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30009.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 1084601129.0, "Ops per second": 36153370.0, "ns per ops": 27.0, "Ops per threads": 56489.0, "Ops per procs": 5648964.0, "Ops/sec/procs": 188298.0, "ns per ops/procs": 5312.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.132826, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1121160592.0, "Total blocks": 0.0, "Ops per second": 37309671.76, "ns per ops": 26.8, "Ops per threads": 11211605.0, "Ops per procs": 1121160592.0, "Ops/sec/procs": 37309671.76, "ns per ops/procs": 26.8}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30038.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 505085238.0, "Total blocks": 278265653.0, "Ops per second": 16814728.14, "ns per ops": 59.47, "Ops per threads": 105226.0, "Ops per procs": 10522609.0, "Ops/sec/procs": 350306.84, "ns per ops/procs": 2854.64}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30095.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 135292457.0, "Total blocks": 81914713.0, "Ops per second": 4495473.6, "ns per ops": 222.45, "Ops per threads": 338231.0, "Ops per procs": 33823114.0, "Ops/sec/procs": 1123868.4, "ns per ops/procs": 889.78}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30011.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 1087939622.0, "Ops per second": 36264654.0, "ns per ops": 27.0, "Ops per threads": 56663.0, "Ops per procs": 5666352.0, "Ops/sec/procs": 188878.0, "ns per ops/procs": 5296.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30012.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 513402261.0, "Ops per second": 17113408.0, "ns per ops": 58.0, "Ops per threads": 213917.0, "Ops per procs": 21391760.0, "Ops/sec/procs": 713058.0, "ns per ops/procs": 1402.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30036.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 155123771.0, "Ops per second": 5164469.83, "ns per ops": 193.63, "Ops per threads": 387809.0, "Ops per procs": 38780942.0, "Ops/sec/procs": 1291117.46, "ns per ops/procs": 774.52}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.231882, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 337105017.0, "Total blocks": 114998883.0, "Ops per second": 11228886.89, "ns per ops": 89.06, "Ops per threads": 140460.0, "Ops per procs": 14046042.0, "Ops/sec/procs": 467870.29, "ns per ops/procs": 2137.34}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30030.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 228646278.0, "Ops per second": 7613810.95, "ns per ops": 131.34, "Ops per threads": 142903.0, "Ops per procs": 14290392.0, "Ops/sec/procs": 475863.18, "ns per ops/procs": 2101.44}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30071.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 172918746.0, "Ops per second": 5763958.0, "ns per ops": 173.0, "Ops per threads": 864593.0, "Ops per procs": 86459373.0, "Ops/sec/procs": 2881979.0, "ns per ops/procs": 347.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30041.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 153668090.0, "Ops per second": 5115196.07, "ns per ops": 195.5, "Ops per threads": 384170.0, "Ops per procs": 38417022.0, "Ops/sec/procs": 1278799.02, "ns per ops/procs": 781.98}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.878173, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 164604482.0, "Total blocks": 79443826.0, "Ops per second": 5476797.51, "ns per ops": 182.59, "Ops per threads": 411511.0, "Ops per procs": 41151120.0, "Ops/sec/procs": 1369199.38, "ns per ops/procs": 730.35}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30027.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 470586298.0, "Ops per second": 15671733.99, "ns per ops": 63.81, "Ops per threads": 65359.0, "Ops per procs": 6535920.0, "Ops/sec/procs": 217662.97, "ns per ops/procs": 4594.26}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30045.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 372477233.0, "Ops per second": 12397099.79, "ns per ops": 80.66, "Ops per threads": 77599.0, "Ops per procs": 7759942.0, "Ops/sec/procs": 258272.91, "ns per ops/procs": 3871.87}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30010.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 237680089.0, "Ops per second": 7922669.0, "ns per ops": 126.0, "Ops per threads": 297100.0, "Ops per procs": 29710011.0, "Ops/sec/procs": 990333.0, "ns per ops/procs": 1010.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30003.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 963215996.0, "Ops per second": 32107199.0, "ns per ops": 31.0, "Ops per threads": 50167.0, "Ops per procs": 5016749.0, "Ops/sec/procs": 167224.0, "ns per ops/procs": 5980.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.507462, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 451515393.0, "Total blocks": 6698282.0, "Ops per second": 15024716.93, "ns per ops": 66.56, "Ops per threads": 2257576.0, "Ops per procs": 225757696.0, "Ops/sec/procs": 7512358.47, "ns per ops/procs": 133.11}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30030.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 292201059.0, "Total blocks": 150489137.0, "Ops per second": 9729988.97, "ns per ops": 102.78, "Ops per threads": 182625.0, "Ops per procs": 18262566.0, "Ops/sec/procs": 608124.31, "ns per ops/procs": 1644.4}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30024.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 762610209.0, "Total blocks": 399088663.0, "Ops per second": 25399210.3, "ns per ops": 39.37, "Ops per threads": 39719.0, "Ops per procs": 3971928.0, "Ops/sec/procs": 132287.55, "ns per ops/procs": 7559.29}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30036.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 235254117.0, "Ops per second": 7841803.0, "ns per ops": 127.0, "Ops per threads": 294067.0, "Ops per procs": 29406764.0, "Ops/sec/procs": 980225.0, "ns per ops/procs": 1021.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30010.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 656633684.0, "Ops per second": 21887789.0, "ns per ops": 45.0, "Ops per threads": 68399.0, "Ops per procs": 6839934.0, "Ops/sec/procs": 227997.0, "ns per ops/procs": 4387.0}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30022.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 118935913.0, "Ops per second": 3961569.79, "ns per ops": 252.43, "Ops per threads": 594679.0, "Ops per procs": 59467956.0, "Ops/sec/procs": 1980784.89, "ns per ops/procs": 504.85}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 234113536.0, "Ops per second": 7803784.0, "ns per ops": 128.0, "Ops per threads": 292641.0, "Ops per procs": 29264192.0, "Ops/sec/procs": 975473.0, "ns per ops/procs": 1025.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.667402, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 166485794.0, "Total blocks": 80463933.0, "Ops per second": 5539432.25, "ns per ops": 180.52, "Ops per threads": 416214.0, "Ops per procs": 41621448.0, "Ops/sec/procs": 1384858.06, "ns per ops/procs": 722.1}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30055.72223, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 815269283.0, "Total blocks": 310331856.0, "Ops per second": 27125260.1, "ns per ops": 36.87, "Ops per threads": 169847.0, "Ops per procs": 16984776.0, "Ops/sec/procs": 565109.59, "ns per ops/procs": 1769.57}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30017.694041, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 337962677.0, "Total blocks": 124909724.0, "Ops per second": 11258782.12, "ns per ops": 88.82, "Ops per threads": 140817.0, "Ops per procs": 14081778.0, "Ops/sec/procs": 469115.92, "ns per ops/procs": 2131.67}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30016.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 240122876.0, "Ops per second": 8004095.0, "ns per ops": 125.0, "Ops per threads": 300153.0, "Ops per procs": 30015359.0, "Ops/sec/procs": 1000511.0, "ns per ops/procs": 1000.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30000.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 765321036.0, "Total blocks": 402627093.0, "Ops per second": 25510313.55, "ns per ops": 39.2, "Ops per threads": 39860.0, "Ops per procs": 3986047.0, "Ops/sec/procs": 132866.22, "ns per ops/procs": 7526.37}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 136755569.0, "Ops per second": 4558289.56, "ns per ops": 219.38, "Ops per threads": 1367555.0, "Ops per procs": 136755569.0, "Ops/sec/procs": 4558289.56, "ns per ops/procs": 219.38}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30028.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 760584036.0, "Ops per second": 25328927.09, "ns per ops": 39.48, "Ops per threads": 105636.0, "Ops per procs": 10563667.0, "Ops/sec/procs": 351790.65, "ns per ops/procs": 2842.6}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30092.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 547271903.0, "Total blocks": 304156427.0, "Ops per second": 18186585.54, "ns per ops": 54.99, "Ops per threads": 114014.0, "Ops per procs": 11401497.0, "Ops/sec/procs": 378887.2, "ns per ops/procs": 2639.31}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30051.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 447833494.0, "Ops per second": 14902037.92, "ns per ops": 67.1, "Ops per threads": 23324.0, "Ops per procs": 2332466.0, "Ops/sec/procs": 77614.78, "ns per ops/procs": 12884.14}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30017.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 235761245.0, "Ops per second": 7858708.0, "ns per ops": 127.0, "Ops per threads": 294701.0, "Ops per procs": 29470155.0, "Ops/sec/procs": 982338.0, "ns per ops/procs": 1018.0}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 117247139.0, "Ops per second": 3905052.07, "ns per ops": 256.08, "Ops per threads": 586235.0, "Ops per procs": 58623569.0, "Ops/sec/procs": 1952526.03, "ns per ops/procs": 512.16}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 828247674.0, "Ops per second": 27608255.0, "ns per ops": 36.0, "Ops per threads": 57517.0, "Ops per procs": 5751719.0, "Ops/sec/procs": 191723.0, "ns per ops/procs": 5216.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30020.810748, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 348706385.0, "Total blocks": 129223242.0, "Ops per second": 11615488.6, "ns per ops": 86.09, "Ops per threads": 145294.0, "Ops per procs": 14529432.0, "Ops/sec/procs": 483978.69, "ns per ops/procs": 2066.21}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30081.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 246314013.0, "Ops per second": 8188305.5, "ns per ops": 122.13, "Ops per threads": 25657.0, "Ops per procs": 2565770.0, "Ops/sec/procs": 85294.85, "ns per ops/procs": 11724.04}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30046.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 345709305.0, "Ops per second": 11523643.0, "ns per ops": 86.0, "Ops per threads": 216068.0, "Ops per procs": 21606831.0, "Ops/sec/procs": 720227.0, "ns per ops/procs": 1390.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30053.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 401583131.0, "Total blocks": 210542335.0, "Ops per second": 13362215.51, "ns per ops": 74.84, "Ops per threads": 55775.0, "Ops per procs": 5577543.0, "Ops/sec/procs": 185586.33, "ns per ops/procs": 5388.33}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30006.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 734536092.0, "Ops per second": 24484536.0, "ns per ops": 40.0, "Ops per threads": 153028.0, "Ops per procs": 15302835.0, "Ops/sec/procs": 510094.0, "ns per ops/procs": 1960.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30051.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 364314023.0, "Ops per second": 12122996.23, "ns per ops": 82.49, "Ops per threads": 75898.0, "Ops per procs": 7589875.0, "Ops/sec/procs": 252562.42, "ns per ops/procs": 3959.42}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30040.076314, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 541851634.0, "Total blocks": 188048786.0, "Ops per second": 18037625.08, "ns per ops": 55.44, "Ops per threads": 56442.0, "Ops per procs": 5644287.0, "Ops/sec/procs": 187891.93, "ns per ops/procs": 5322.21}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 286283569.0, "Total blocks": 146888084.0, "Ops per second": 9531579.87, "ns per ops": 104.91, "Ops per threads": 178927.0, "Ops per procs": 17892723.0, "Ops/sec/procs": 595723.74, "ns per ops/procs": 1678.63}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30036.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 162396549.0, "Ops per second": 5406592.34, "ns per ops": 184.96, "Ops per threads": 405991.0, "Ops per procs": 40599137.0, "Ops/sec/procs": 1351648.08, "ns per ops/procs": 739.84}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 118487186.0, "Ops per second": 3945704.89, "ns per ops": 253.44, "Ops per threads": 592435.0, "Ops per procs": 59243593.0, "Ops/sec/procs": 1972852.44, "ns per ops/procs": 506.88}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30090.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 143274887.0, "Total blocks": 86548676.0, "Ops per second": 4761432.25, "ns per ops": 210.02, "Ops per threads": 358187.0, "Ops per procs": 35818721.0, "Ops/sec/procs": 1190358.06, "ns per ops/procs": 840.08}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 514934279.0, "Ops per second": 17164475.0, "ns per ops": 58.0, "Ops per threads": 214555.0, "Ops per procs": 21455594.0, "Ops/sec/procs": 715186.0, "ns per ops/procs": 1399.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30031.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 224330067.0, "Ops per second": 7469706.59, "ns per ops": 133.87, "Ops per threads": 140206.0, "Ops per procs": 14020629.0, "Ops/sec/procs": 466856.66, "ns per ops/procs": 2141.99}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30049.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 271788841.0, "Total blocks": 139390216.0, "Ops per second": 9044572.27, "ns per ops": 110.56, "Ops per threads": 169868.0, "Ops per procs": 16986802.0, "Ops/sec/procs": 565285.77, "ns per ops/procs": 1769.02}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30032.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 156001709.0, "Ops per second": 5194343.46, "ns per ops": 192.52, "Ops per threads": 390004.0, "Ops per procs": 39000427.0, "Ops/sec/procs": 1298585.87, "ns per ops/procs": 770.07}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30023.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 634543833.0, "Total blocks": 353102065.0, "Ops per second": 21135244.28, "ns per ops": 47.31, "Ops per threads": 44065.0, "Ops per procs": 4406554.0, "Ops/sec/procs": 146772.53, "ns per ops/procs": 6813.26}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30026.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 120153089.0, "Ops per second": 4001626.69, "ns per ops": 249.9, "Ops per threads": 600765.0, "Ops per procs": 60076544.0, "Ops/sec/procs": 2000813.34, "ns per ops/procs": 499.8}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30061.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 343295621.0, "Ops per second": 11443187.0, "ns per ops": 87.0, "Ops per threads": 214559.0, "Ops per procs": 21455976.0, "Ops/sec/procs": 715199.0, "ns per ops/procs": 1401.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30072.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 167798538.0, "Ops per second": 5593284.0, "ns per ops": 179.0, "Ops per threads": 419496.0, "Ops per procs": 41949634.0, "Ops/sec/procs": 1398321.0, "ns per ops/procs": 716.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30024.752245, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 533781014.0, "Total blocks": 203375821.0, "Ops per second": 17778032.26, "ns per ops": 56.25, "Ops per threads": 55602.0, "Ops per procs": 5560218.0, "Ops/sec/procs": 185187.84, "ns per ops/procs": 5399.92}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30038.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 268100562.0, "Ops per second": 8925355.68, "ns per ops": 112.04, "Ops per threads": 111708.0, "Ops per procs": 11170856.0, "Ops/sec/procs": 371889.82, "ns per ops/procs": 2688.97}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30087.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 646041577.0, "Total blocks": 358882545.0, "Ops per second": 21472152.63, "ns per ops": 46.57, "Ops per threads": 44863.0, "Ops per procs": 4486399.0, "Ops/sec/procs": 149112.17, "ns per ops/procs": 6706.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30048.978623, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 614380827.0, "Total blocks": 254504342.0, "Ops per second": 20445980.37, "ns per ops": 48.91, "Ops per threads": 31999.0, "Ops per procs": 3199900.0, "Ops/sec/procs": 106489.48, "ns per ops/procs": 9390.6}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30085.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 185405382.0, "Ops per second": 6180179.0, "ns per ops": 162.0, "Ops per threads": 927026.0, "Ops per procs": 92702691.0, "Ops/sec/procs": 3090089.0, "ns per ops/procs": 324.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 452412979.0, "Ops per second": 15080432.0, "ns per ops": 66.0, "Ops per threads": 4524129.0, "Ops per procs": 452412979.0, "Ops/sec/procs": 15080432.0, "ns per ops/procs": 66.0}]]1 [["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10016.628354, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 103371393.0, "Total blocks": 42643001.0, "Ops per second": 10319978.87, "ns per ops": 96.9, "Ops per threads": 1033713.0, "Ops per procs": 103371393.0, "Ops/sec/procs": 10319978.87, "ns per ops/procs": 96.9}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10100.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 256473373.0, "Ops per second": 25647337.0, "ns per ops": 39.0, "Ops per threads": 320591.0, "Ops per procs": 32059171.0, "Ops/sec/procs": 3205917.0, "ns per ops/procs": 315.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10017.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 76683227.0, "Total blocks": 27590624.0, "Ops per second": 7655096.57, "ns per ops": 130.63, "Ops per threads": 47927.0, "Ops per procs": 4792701.0, "Ops/sec/procs": 478443.54, "ns per ops/procs": 2090.11}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 190480943.0, "Ops per second": 19045032.48, "ns per ops": 52.51, "Ops per threads": 79367.0, "Ops per procs": 7936705.0, "Ops/sec/procs": 793543.02, "ns per ops/procs": 1260.17}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10016.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 76380433.0, "Total blocks": 27484490.0, "Ops per second": 7625307.92, "ns per ops": 131.14, "Ops per threads": 47737.0, "Ops per procs": 4773777.0, "Ops/sec/procs": 476581.75, "ns per ops/procs": 2098.28}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 73903563.0, "Ops per second": 7390356.0, "ns per ops": 136.0, "Ops per threads": 739035.0, "Ops per procs": 73903563.0, "Ops/sec/procs": 7390356.0, "ns per ops/procs": 136.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 469714305.0, "Ops per second": 46971430.0, "ns per ops": 21.0, "Ops per threads": 293571.0, "Ops per procs": 29357144.0, "Ops/sec/procs": 2935714.0, "ns per ops/procs": 340.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 653514397.0, "Ops per second": 65351439.0, "ns per ops": 15.0, "Ops per threads": 272297.0, "Ops per procs": 27229766.0, "Ops/sec/procs": 2722976.0, "ns per ops/procs": 367.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 213476978.0, "Ops per second": 21344951.67, "ns per ops": 46.85, "Ops per threads": 133423.0, "Ops per procs": 13342311.0, "Ops/sec/procs": 1334059.48, "ns per ops/procs": 749.59}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 214624132.0, "Ops per second": 21458252.32, "ns per ops": 46.6, "Ops per threads": 134140.0, "Ops per procs": 13414008.0, "Ops/sec/procs": 1341140.77, "ns per ops/procs": 745.63}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10025.783632, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 550743553.0, "Total blocks": 240452132.0, "Ops per second": 54932718.8, "ns per ops": 18.2, "Ops per threads": 344214.0, "Ops per procs": 34421472.0, "Ops/sec/procs": 3433294.92, "ns per ops/procs": 291.27}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10026.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 75322787.0, "Total blocks": 28388443.0, "Ops per second": 7512321.69, "ns per ops": 133.11, "Ops per threads": 31384.0, "Ops per procs": 3138449.0, "Ops/sec/procs": 313013.4, "ns per ops/procs": 3194.75}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10008.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 79715530.0, "Total blocks": 24912815.0, "Ops per second": 7964937.17, "ns per ops": 125.55, "Ops per threads": 797155.0, "Ops per procs": 79715530.0, "Ops/sec/procs": 7964937.17, "ns per ops/procs": 125.55}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 79751618.0, "Total blocks": 24924094.0, "Ops per second": 7968946.78, "ns per ops": 125.49, "Ops per threads": 797516.0, "Ops per procs": 79751618.0, "Ops/sec/procs": 7968946.78, "ns per ops/procs": 125.49}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10016.627702, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 100444522.0, "Total blocks": 42678977.0, "Ops per second": 10027778.31, "ns per ops": 99.72, "Ops per threads": 1004445.0, "Ops per procs": 100444522.0, "Ops/sec/procs": 10027778.31, "ns per ops/procs": 99.72}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10006.863438, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 761548918.0, "Total blocks": 327474630.0, "Ops per second": 76102659.21, "ns per ops": 13.14, "Ops per threads": 317312.0, "Ops per procs": 31731204.0, "Ops/sec/procs": 3170944.13, "ns per ops/procs": 315.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10024.630415, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 549456394.0, "Total blocks": 238577198.0, "Ops per second": 54810638.52, "ns per ops": 18.24, "Ops per threads": 343410.0, "Ops per procs": 34341024.0, "Ops/sec/procs": 3425664.91, "ns per ops/procs": 291.91}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10000.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 653669226.0, "Ops per second": 65366922.0, "ns per ops": 15.0, "Ops per threads": 272362.0, "Ops per procs": 27236217.0, "Ops/sec/procs": 2723621.0, "ns per ops/procs": 367.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 478747005.0, "Ops per second": 47874700.0, "ns per ops": 20.0, "Ops per threads": 299216.0, "Ops per procs": 29921687.0, "Ops/sec/procs": 2992168.0, "ns per ops/procs": 334.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10100.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 259926863.0, "Ops per second": 25992686.0, "ns per ops": 38.0, "Ops per threads": 324908.0, "Ops per procs": 32490857.0, "Ops/sec/procs": 3249085.0, "ns per ops/procs": 310.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10002.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 186159297.0, "Ops per second": 18611771.03, "ns per ops": 53.73, "Ops per threads": 77566.0, "Ops per procs": 7756637.0, "Ops/sec/procs": 775490.46, "ns per ops/procs": 1289.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 79811057.0, "Total blocks": 24942609.0, "Ops per second": 7974829.0, "ns per ops": 125.39, "Ops per threads": 798110.0, "Ops per procs": 79811057.0, "Ops/sec/procs": 7974829.0, "ns per ops/procs": 125.39}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10041.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 75138224.0, "Total blocks": 28316320.0, "Ops per second": 7483121.08, "ns per ops": 133.63, "Ops per threads": 31307.0, "Ops per procs": 3130759.0, "Ops/sec/procs": 311796.71, "ns per ops/procs": 3207.22}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10024.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 76515053.0, "Total blocks": 27532672.0, "Ops per second": 7632511.21, "ns per ops": 131.02, "Ops per threads": 47821.0, "Ops per procs": 4782190.0, "Ops/sec/procs": 477031.95, "ns per ops/procs": 2096.3}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10026.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 75360901.0, "Total blocks": 28401609.0, "Ops per second": 7515905.66, "ns per ops": 133.05, "Ops per threads": 31400.0, "Ops per procs": 3140037.0, "Ops/sec/procs": 313162.74, "ns per ops/procs": 3193.23}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 151314962.0, "Ops per second": 15129984.81, "ns per ops": 66.09, "Ops per threads": 1513149.0, "Ops per procs": 151314962.0, "Ops/sec/procs": 15129984.81, "ns per ops/procs": 66.09}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10011.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 79141078.0, "Total blocks": 29863613.0, "Ops per second": 7904875.43, "ns per ops": 126.5, "Ops per threads": 98926.0, "Ops per procs": 9892634.0, "Ops/sec/procs": 988109.43, "ns per ops/procs": 1012.03}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 188556624.0, "Ops per second": 18852533.83, "ns per ops": 53.04, "Ops per threads": 78565.0, "Ops per procs": 7856526.0, "Ops/sec/procs": 785522.24, "ns per ops/procs": 1273.04}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10001.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 228229792.0, "Ops per second": 22820542.67, "ns per ops": 43.82, "Ops per threads": 285287.0, "Ops per procs": 28528724.0, "Ops/sec/procs": 2852567.83, "ns per ops/procs": 350.56}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10020.121849, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 302307497.0, "Total blocks": 128429554.0, "Ops per second": 30170042.0, "ns per ops": 33.15, "Ops per threads": 377884.0, "Ops per procs": 37788437.0, "Ops/sec/procs": 3771255.25, "ns per ops/procs": 265.16}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10001.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 226161389.0, "Ops per second": 22613570.5, "ns per ops": 44.22, "Ops per threads": 282701.0, "Ops per procs": 28270173.0, "Ops/sec/procs": 2826696.31, "ns per ops/procs": 353.77}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10017.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 78799007.0, "Total blocks": 29733108.0, "Ops per second": 7865960.45, "ns per ops": 127.13, "Ops per threads": 98498.0, "Ops per procs": 9849875.0, "Ops/sec/procs": 983245.06, "ns per ops/procs": 1017.04}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10005.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 226114608.0, "Ops per second": 22598888.16, "ns per ops": 44.25, "Ops per threads": 282643.0, "Ops per procs": 28264326.0, "Ops/sec/procs": 2824861.02, "ns per ops/procs": 354.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10019.343306, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 291933237.0, "Total blocks": 129498687.0, "Ops per second": 29136963.18, "ns per ops": 34.32, "Ops per threads": 364916.0, "Ops per procs": 36491654.0, "Ops/sec/procs": 3642120.4, "ns per ops/procs": 274.57}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10100.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 260279998.0, "Ops per second": 26027999.0, "ns per ops": 38.0, "Ops per threads": 325349.0, "Ops per procs": 32534999.0, "Ops/sec/procs": 3253499.0, "ns per ops/procs": 310.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10007.059222, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 765662737.0, "Total blocks": 325286764.0, "Ops per second": 76512262.0, "ns per ops": 13.07, "Ops per threads": 319026.0, "Ops per procs": 31902614.0, "Ops/sec/procs": 3188010.92, "ns per ops/procs": 313.68}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10016.849943, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 96124027.0, "Total blocks": 44464161.0, "Ops per second": 9596233.1, "ns per ops": 104.21, "Ops per threads": 961240.0, "Ops per procs": 96124027.0, "Ops/sec/procs": 9596233.1, "ns per ops/procs": 104.21}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 74842673.0, "Ops per second": 7484267.0, "ns per ops": 134.0, "Ops per threads": 748426.0, "Ops per procs": 74842673.0, "Ops/sec/procs": 7484267.0, "ns per ops/procs": 134.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10016.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 80963737.0, "Total blocks": 30553569.0, "Ops per second": 8082674.95, "ns per ops": 123.72, "Ops per threads": 101204.0, "Ops per procs": 10120467.0, "Ops/sec/procs": 1010334.37, "ns per ops/procs": 989.77}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 6.0, "Total Operations(ops)": 73702204.0, "Ops per second": 7370220.0, "ns per ops": 137.0, "Ops per threads": 737022.0, "Ops per procs": 73702204.0, "Ops/sec/procs": 7370220.0, "ns per ops/procs": 137.0}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 151011982.0, "Ops per second": 15099599.79, "ns per ops": 66.23, "Ops per threads": 1510119.0, "Ops per procs": 151011982.0, "Ops/sec/procs": 15099599.79, "ns per ops/procs": 66.23}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 10 -t 100 -s 80", {"Duration (ms)": 10001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 80.0, "Total Operations(ops)": 151419332.0, "Ops per second": 15140359.92, "ns per ops": 66.05, "Ops per threads": 1514193.0, "Ops per procs": 151419332.0, "Ops/sec/procs": 15140359.92, "ns per ops/procs": 66.05}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 648186982.0, "Ops per second": 64818698.0, "ns per ops": 15.0, "Ops per threads": 270077.0, "Ops per procs": 27007790.0, "Ops/sec/procs": 2700779.0, "ns per ops/procs": 370.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 213886424.0, "Ops per second": 21385699.62, "ns per ops": 46.76, "Ops per threads": 133679.0, "Ops per procs": 13367901.0, "Ops/sec/procs": 1336606.23, "ns per ops/procs": 748.16}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10025.525505, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 1280.0, "Total Operations(ops)": 552853400.0, "Total blocks": 239647709.0, "Ops per second": 55144580.67, "ns per ops": 18.13, "Ops per threads": 345533.0, "Ops per procs": 34553337.0, "Ops/sec/procs": 3446536.29, "ns per ops/procs": 290.15}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 10 -t 800 -s 640", {"Duration (ms)": 10020.252098, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 640.0, "Total Operations(ops)": 295438407.0, "Total blocks": 128292778.0, "Ops per second": 29484129.15, "ns per ops": 33.92, "Ops per threads": 369298.0, "Ops per procs": 36929800.0, "Ops/sec/procs": 3685516.14, "ns per ops/procs": 271.33}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 10 -t 1600 -s 1280", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 476585040.0, "Ops per second": 47658504.0, "ns per ops": 20.0, "Ops per threads": 297865.0, "Ops per procs": 29786565.0, "Ops/sec/procs": 2978656.0, "ns per ops/procs": 335.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 10 -t 2400 -s 1920", {"Duration (ms)": 10007.127025, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 1920.0, "Total Operations(ops)": 777392421.0, "Total blocks": 323387255.0, "Ops per second": 77683876.61, "ns per ops": 12.87, "Ops per threads": 323913.0, "Ops per procs": 32391350.0, "Ops/sec/procs": 3236828.19, "ns per ops/procs": 308.94}]] -
doc/theses/thierry_delisle_PhD/thesis/data/churn.low.jax
r4520b77e r12df6fe 1 [["rdq-churn- go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30082.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 167676378.0, "Ops per second": 5573948.24, "ns per ops": 179.41, "Ops per threads": 5239886.0, "Ops per procs": 10479773.0, "Ops/sec/procs": 348371.76, "ns per ops/procs": 2870.5}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30098.595122, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 540344808.0, "Total blocks": 201807815.0, "Ops per second": 17952492.66, "ns per ops": 55.7, "Ops per threads": 2814295.0, "Ops per procs": 5628591.0, "Ops/sec/procs": 187005.13, "ns per ops/procs": 5347.45}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.270839, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 137966971.0, "Total blocks": 68990941.0, "Ops per second": 4591052.8, "ns per ops": 217.81, "Ops per threads": 34491742.0, "Ops per procs": 68983485.0, "Ops/sec/procs": 2295526.4, "ns per ops/procs": 435.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185509314.0, "Total blocks": 0.0, "Ops per second": 6179071.87, "ns per ops": 161.84, "Ops per threads": 92754657.0, "Ops per procs": 185509314.0, "Ops/sec/procs": 6179071.87, "ns per ops/procs": 161.84}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30055.58275, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 713156950.0, "Total blocks": 265847951.0, "Ops per second": 23727936.2, "ns per ops": 42.14, "Ops per threads": 7428718.0, "Ops per procs": 14857436.0, "Ops/sec/procs": 494332.0, "ns per ops/procs": 2022.93}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 274149117.0, "Ops per second": 9138303.0, "ns per ops": 109.0, "Ops per threads": 1903813.0, "Ops per procs": 3807626.0, "Ops/sec/procs": 126920.0, "ns per ops/procs": 7904.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30068.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 267960575.0, "Ops per second": 8911783.98, "ns per ops": 112.21, "Ops per threads": 2791255.0, "Ops per procs": 5582511.0, "Ops/sec/procs": 185662.17, "ns per ops/procs": 5386.13}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 254953061.0, "Ops per second": 8470861.06, "ns per ops": 118.05, "Ops per threads": 5311522.0, "Ops per procs": 10623044.0, "Ops/sec/procs": 352952.54, "ns per ops/procs": 2833.24}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30038.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 157943704.0, "Ops per second": 5257973.29, "ns per ops": 190.19, "Ops per threads": 19742963.0, "Ops per procs": 39485926.0, "Ops/sec/procs": 1314493.32, "ns per ops/procs": 760.75}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 352239693.0, "Total blocks": 169062410.0, "Ops per second": 11737458.09, "ns per ops": 85.2, "Ops per threads": 2446108.0, "Ops per procs": 4892217.0, "Ops/sec/procs": 163020.25, "ns per ops/procs": 6134.21}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.340707, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 243576078.0, "Total blocks": 160348462.0, "Ops per second": 8105870.95, "ns per ops": 123.37, "Ops per threads": 121788039.0, "Ops per procs": 243576078.0, "Ops/sec/procs": 8105870.95, "ns per ops/procs": 123.37}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 245790241.0, "Ops per second": 8193008.0, "ns per ops": 122.0, "Ops per threads": 1706876.0, "Ops per procs": 3413753.0, "Ops/sec/procs": 113791.0, "ns per ops/procs": 8816.0}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30046.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 191905646.0, "Ops per second": 6386946.26, "ns per ops": 156.57, "Ops per threads": 11994102.0, "Ops per procs": 23988205.0, "Ops/sec/procs": 798368.28, "ns per ops/procs": 1252.55}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.53756, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 150539963.0, "Total blocks": 75265476.0, "Ops per second": 5009393.04, "ns per ops": 199.62, "Ops per threads": 37634990.0, "Ops per procs": 75269981.0, "Ops/sec/procs": 2504696.52, "ns per ops/procs": 399.25}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30040.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 867699325.0, "Ops per second": 28884637.3, "ns per ops": 34.62, "Ops per threads": 3012844.0, "Ops per procs": 6025689.0, "Ops/sec/procs": 200587.76, "ns per ops/procs": 4985.35}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30037.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 728175924.0, "Ops per second": 24242011.46, "ns per ops": 41.25, "Ops per threads": 2528388.0, "Ops per procs": 5056777.0, "Ops/sec/procs": 168347.3, "ns per ops/procs": 5940.1}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30052.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 191436374.0, "Ops per second": 6370128.36, "ns per ops": 156.98, "Ops per threads": 11964773.0, "Ops per procs": 23929546.0, "Ops/sec/procs": 796266.05, "ns per ops/procs": 1255.86}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.492132, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 273415867.0, "Total blocks": 154332998.0, "Ops per second": 9098851.51, "ns per ops": 109.9, "Ops per threads": 136707933.0, "Ops per procs": 273415867.0, "Ops/sec/procs": 9098851.51, "ns per ops/procs": 109.9}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 105303351.0, "Ops per second": 3510111.0, "ns per ops": 285.0, "Ops per threads": 6581459.0, "Ops per procs": 13162918.0, "Ops/sec/procs": 438763.0, "ns per ops/procs": 2286.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.761805, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 147442242.0, "Total blocks": 73720383.0, "Ops per second": 4906276.14, "ns per ops": 203.82, "Ops per threads": 36860560.0, "Ops per procs": 73721121.0, "Ops/sec/procs": 2453138.07, "ns per ops/procs": 407.64}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30078.497321, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 273304038.0, "Total blocks": 78089471.0, "Ops per second": 9086359.44, "ns per ops": 110.06, "Ops per threads": 8540751.0, "Ops per procs": 17081502.0, "Ops/sec/procs": 567897.46, "ns per ops/procs": 1760.88}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 238261740.0, "Total blocks": 111227802.0, "Ops per second": 7935084.84, "ns per ops": 126.02, "Ops per threads": 7445679.0, "Ops per procs": 14891358.0, "Ops/sec/procs": 495942.8, "ns per ops/procs": 2016.36}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30053.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 100482016.0, "Ops per second": 3349400.0, "ns per ops": 299.0, "Ops per threads": 25120504.0, "Ops per procs": 50241008.0, "Ops/sec/procs": 1674700.0, "ns per ops/procs": 598.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30082.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 169419585.0, "Ops per second": 5631882.79, "ns per ops": 177.56, "Ops per threads": 5294362.0, "Ops per procs": 10588724.0, "Ops/sec/procs": 351992.67, "ns per ops/procs": 2840.97}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30017.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 68351878.0, "Ops per second": 2278395.0, "ns per ops": 439.0, "Ops per threads": 17087969.0, "Ops per procs": 34175939.0, "Ops/sec/procs": 1139197.0, "ns per ops/procs": 878.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30091.686863, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 440917138.0, "Total blocks": 171567176.0, "Ops per second": 14652456.67, "ns per ops": 68.25, "Ops per threads": 3061924.0, "Ops per procs": 6123849.0, "Ops/sec/procs": 203506.34, "ns per ops/procs": 4913.85}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30059.8104, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 728288988.0, "Total blocks": 237176503.0, "Ops per second": 24227996.73, "ns per ops": 41.27, "Ops per threads": 7586343.0, "Ops per procs": 15172687.0, "Ops/sec/procs": 504749.93, "ns per ops/procs": 1981.18}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 247162678.0, "Total blocks": 115676204.0, "Ops per second": 8231536.16, "ns per ops": 121.48, "Ops per threads": 7723833.0, "Ops per procs": 15447667.0, "Ops/sec/procs": 514471.01, "ns per ops/procs": 1943.74}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.815336, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 230882319.0, "Total blocks": 160169726.0, "Ops per second": 7683319.06, "ns per ops": 130.15, "Ops per threads": 115441159.0, "Ops per procs": 230882319.0, "Ops/sec/procs": 7683319.06, "ns per ops/procs": 130.15}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 519593023.0, "Total blocks": 266180083.0, "Ops per second": 17316507.45, "ns per ops": 57.75, "Ops per threads": 5412427.0, "Ops per procs": 10824854.0, "Ops/sec/procs": 360760.57, "ns per ops/procs": 2771.92}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30019.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 671605805.0, "Ops per second": 22372639.18, "ns per ops": 44.7, "Ops per threads": 1748973.0, "Ops per procs": 3497946.0, "Ops/sec/procs": 116524.16, "ns per ops/procs": 8581.91}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 446395876.0, "Ops per second": 14879862.0, "ns per ops": 67.0, "Ops per threads": 1549985.0, "Ops per procs": 3099971.0, "Ops/sec/procs": 103332.0, "ns per ops/procs": 9709.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158605013.0, "Ops per second": 5286833.0, "ns per ops": 189.0, "Ops per threads": 79302506.0, "Ops per procs": 158605013.0, "Ops/sec/procs": 5286833.0, "ns per ops/procs": 189.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 445709525.0, "Ops per second": 14856984.0, "ns per ops": 67.0, "Ops per threads": 1547602.0, "Ops per procs": 3095205.0, "Ops/sec/procs": 103173.0, "ns per ops/procs": 9723.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 260731401.0, "Ops per second": 8691046.0, "ns per ops": 115.0, "Ops per threads": 1810634.0, "Ops per procs": 3621269.0, "Ops/sec/procs": 120708.0, "ns per ops/procs": 8311.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30032.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 704206673.0, "Ops per second": 23448492.7, "ns per ops": 42.65, "Ops per threads": 2445162.0, "Ops per procs": 4890324.0, "Ops/sec/procs": 162836.75, "ns per ops/procs": 6141.12}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30072.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 177106202.0, "Ops per second": 5889248.52, "ns per ops": 169.8, "Ops per threads": 5534568.0, "Ops per procs": 11069137.0, "Ops/sec/procs": 368078.03, "ns per ops/procs": 2716.82}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30010.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 361952237.0, "Total blocks": 174861965.0, "Ops per second": 12061052.94, "ns per ops": 82.91, "Ops per threads": 2513557.0, "Ops per procs": 5027114.0, "Ops/sec/procs": 167514.62, "ns per ops/procs": 5969.63}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 438818157.0, "Ops per second": 14627271.0, "ns per ops": 68.0, "Ops per threads": 1523674.0, "Ops per procs": 3047348.0, "Ops/sec/procs": 101578.0, "ns per ops/procs": 9876.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.946389, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 154466339.0, "Total blocks": 77230438.0, "Ops per second": 5139977.86, "ns per ops": 194.55, "Ops per threads": 38616584.0, "Ops per procs": 77233169.0, "Ops/sec/procs": 2569988.93, "ns per ops/procs": 389.11}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 126474483.0, "Total blocks": 74374137.0, "Ops per second": 4212359.02, "ns per ops": 237.4, "Ops per threads": 15809310.0, "Ops per procs": 31618620.0, "Ops/sec/procs": 1053089.76, "ns per ops/procs": 949.59}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 253301374.0, "Ops per second": 8442888.52, "ns per ops": 118.44, "Ops per threads": 5277111.0, "Ops per procs": 10554223.0, "Ops/sec/procs": 351787.02, "ns per ops/procs": 2842.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 347395314.0, "Total blocks": 168992423.0, "Ops per second": 11576025.41, "ns per ops": 86.39, "Ops per threads": 2412467.0, "Ops per procs": 4824934.0, "Ops/sec/procs": 160778.13, "ns per ops/procs": 6219.75}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 146990739.0, "Total blocks": 76848705.0, "Ops per second": 4895680.79, "ns per ops": 204.26, "Ops per threads": 9186921.0, "Ops per procs": 18373842.0, "Ops/sec/procs": 611960.1, "ns per ops/procs": 1634.09}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158094179.0, "Ops per second": 5263733.92, "ns per ops": 189.98, "Ops per threads": 19761772.0, "Ops per procs": 39523544.0, "Ops/sec/procs": 1315933.48, "ns per ops/procs": 759.92}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30061.98324, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 192133048.0, "Total blocks": 66150644.0, "Ops per second": 6391229.96, "ns per ops": 156.46, "Ops per threads": 12008315.0, "Ops per procs": 24016631.0, "Ops/sec/procs": 798903.75, "ns per ops/procs": 1251.72}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 308840600.0, "Ops per second": 10294686.0, "ns per ops": 97.0, "Ops per threads": 1608544.0, "Ops per procs": 3217089.0, "Ops/sec/procs": 107236.0, "ns per ops/procs": 9355.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30100.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 258269118.0, "Ops per second": 8580206.59, "ns per ops": 116.55, "Ops per threads": 5380606.0, "Ops per procs": 10761213.0, "Ops/sec/procs": 357508.61, "ns per ops/procs": 2797.14}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30049.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 189511799.0, "Ops per second": 6306686.94, "ns per ops": 158.56, "Ops per threads": 11844487.0, "Ops per procs": 23688974.0, "Ops/sec/procs": 788335.87, "ns per ops/procs": 1268.49}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 371655522.0, "Ops per second": 12388517.0, "ns per ops": 80.0, "Ops per threads": 3871411.0, "Ops per procs": 7742823.0, "Ops/sec/procs": 258094.0, "ns per ops/procs": 3887.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30078.03988, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 281880990.0, "Total blocks": 107502466.0, "Ops per second": 9371654.24, "ns per ops": 106.7, "Ops per threads": 8808780.0, "Ops per procs": 17617561.0, "Ops/sec/procs": 585728.39, "ns per ops/procs": 1707.28}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185561918.0, "Total blocks": 0.0, "Ops per second": 6180815.29, "ns per ops": 161.79, "Ops per threads": 92780959.0, "Ops per procs": 185561918.0, "Ops/sec/procs": 6180815.29, "ns per ops/procs": 161.79}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 338122035.0, "Total blocks": 164816713.0, "Ops per second": 11267059.37, "ns per ops": 88.75, "Ops per threads": 2348069.0, "Ops per procs": 4696139.0, "Ops/sec/procs": 156486.94, "ns per ops/procs": 6390.31}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30033.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 693344026.0, "Ops per second": 23085580.97, "ns per ops": 43.32, "Ops per threads": 2407444.0, "Ops per procs": 4814889.0, "Ops/sec/procs": 160316.53, "ns per ops/procs": 6237.66}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30056.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 259545703.0, "Ops per second": 8635244.66, "ns per ops": 115.8, "Ops per threads": 1351800.0, "Ops per procs": 2703601.0, "Ops/sec/procs": 89950.47, "ns per ops/procs": 11117.23}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 244810539.0, "Total blocks": 114825794.0, "Ops per second": 8153156.44, "ns per ops": 122.65, "Ops per threads": 7650329.0, "Ops per procs": 15300658.0, "Ops/sec/procs": 509572.28, "ns per ops/procs": 1962.43}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30019.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 116415339.0, "Ops per second": 3878031.55, "ns per ops": 257.86, "Ops per threads": 29103834.0, "Ops per procs": 58207669.0, "Ops/sec/procs": 1939015.77, "ns per ops/procs": 515.73}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30041.4376, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 540223809.0, "Total blocks": 204007693.0, "Ops per second": 17982621.74, "ns per ops": 55.61, "Ops per threads": 1875777.0, "Ops per procs": 3751554.0, "Ops/sec/procs": 124879.32, "ns per ops/procs": 8007.73}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 563079906.0, "Ops per second": 18769330.0, "ns per ops": 53.0, "Ops per threads": 1466353.0, "Ops per procs": 2932707.0, "Ops/sec/procs": 97756.0, "ns per ops/procs": 10262.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30015.932531, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 529720257.0, "Total blocks": 193768461.0, "Ops per second": 17647969.34, "ns per ops": 56.66, "Ops per threads": 2758959.0, "Ops per procs": 5517919.0, "Ops/sec/procs": 183833.01, "ns per ops/procs": 5439.72}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185571126.0, "Total blocks": 0.0, "Ops per second": 6181120.2, "ns per ops": 161.78, "Ops per threads": 92785563.0, "Ops per procs": 185571126.0, "Ops/sec/procs": 6181120.2, "ns per ops/procs": 161.78}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30078.777626, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 269519322.0, "Total blocks": 116430610.0, "Ops per second": 8960447.97, "ns per ops": 111.6, "Ops per threads": 8422478.0, "Ops per procs": 16844957.0, "Ops/sec/procs": 560028.0, "ns per ops/procs": 1785.63}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.679131, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 132781895.0, "Total blocks": 66388407.0, "Ops per second": 4418451.78, "ns per ops": 226.32, "Ops per threads": 33195473.0, "Ops per procs": 66390947.0, "Ops/sec/procs": 2209225.89, "ns per ops/procs": 452.65}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30054.50309, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 175016995.0, "Total blocks": 43749935.0, "Ops per second": 5823320.2, "ns per ops": 171.72, "Ops per threads": 21877124.0, "Ops per procs": 43754248.0, "Ops/sec/procs": 1455830.05, "ns per ops/procs": 686.89}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 658925977.0, "Total blocks": 291397174.0, "Ops per second": 21954241.67, "ns per ops": 45.55, "Ops per threads": 1715953.0, "Ops per procs": 3431906.0, "Ops/sec/procs": 114345.01, "ns per ops/procs": 8745.46}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30055.88954, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 143538197.0, "Total blocks": 68301035.0, "Ops per second": 4775709.49, "ns per ops": 209.39, "Ops per threads": 17942274.0, "Ops per procs": 35884549.0, "Ops/sec/procs": 1193927.37, "ns per ops/procs": 837.57}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 257861722.0, "Ops per second": 8585148.62, "ns per ops": 116.48, "Ops per threads": 1790706.0, "Ops per procs": 3581412.0, "Ops/sec/procs": 119238.18, "ns per ops/procs": 8386.58}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30020.941569, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 349720185.0, "Total blocks": 133122230.0, "Ops per second": 11649207.74, "ns per ops": 85.84, "Ops per threads": 7285837.0, "Ops per procs": 14571674.0, "Ops/sec/procs": 485383.66, "ns per ops/procs": 2060.23}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30034.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 657420134.0, "Ops per second": 21889058.67, "ns per ops": 45.68, "Ops per threads": 2282708.0, "Ops per procs": 4565417.0, "Ops/sec/procs": 152007.35, "ns per ops/procs": 6578.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 147771629.0, "Total blocks": 77295843.0, "Ops per second": 4921580.23, "ns per ops": 203.19, "Ops per threads": 9235726.0, "Ops per procs": 18471453.0, "Ops/sec/procs": 615197.53, "ns per ops/procs": 1625.49}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30021.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 502066050.0, "Ops per second": 16723717.06, "ns per ops": 59.8, "Ops per threads": 1307463.0, "Ops per procs": 2614927.0, "Ops/sec/procs": 87102.69, "ns per ops/procs": 11480.7}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30065.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 253794542.0, "Ops per second": 8441317.37, "ns per ops": 118.46, "Ops per threads": 1321846.0, "Ops per procs": 2643693.0, "Ops/sec/procs": 87930.39, "ns per ops/procs": 11372.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79359758.0, "Total blocks": 39676714.0, "Ops per second": 2643229.46, "ns per ops": 378.33, "Ops per threads": 19839939.0, "Ops per procs": 39679879.0, "Ops/sec/procs": 1321614.73, "ns per ops/procs": 756.65}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30072.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 101362026.0, "Ops per second": 3378734.0, "ns per ops": 296.0, "Ops per threads": 25340506.0, "Ops per procs": 50681013.0, "Ops/sec/procs": 1689367.0, "ns per ops/procs": 593.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 157531477.0, "Ops per second": 5251049.0, "ns per ops": 191.0, "Ops per threads": 78765738.0, "Ops per procs": 157531477.0, "Ops/sec/procs": 5251049.0, "ns per ops/procs": 191.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 282192163.0, "Total blocks": 141776753.0, "Ops per second": 9405107.44, "ns per ops": 106.33, "Ops per threads": 5879003.0, "Ops per procs": 11758006.0, "Ops/sec/procs": 391879.48, "ns per ops/procs": 2551.81}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 147423663.0, "Total blocks": 75549263.0, "Ops per second": 4910215.3, "ns per ops": 203.66, "Ops per threads": 9213978.0, "Ops per procs": 18427957.0, "Ops/sec/procs": 613776.91, "ns per ops/procs": 1629.26}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30056.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 190200348.0, "Ops per second": 6328039.28, "ns per ops": 158.03, "Ops per threads": 11887521.0, "Ops per procs": 23775043.0, "Ops/sec/procs": 791004.91, "ns per ops/procs": 1264.21}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30052.05826, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 139718243.0, "Total blocks": 69867193.0, "Ops per second": 4649207.11, "ns per ops": 215.09, "Ops per threads": 34929560.0, "Ops per procs": 69859121.0, "Ops/sec/procs": 2324603.56, "ns per ops/procs": 430.18}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 312562934.0, "Ops per second": 10418764.0, "ns per ops": 96.0, "Ops per threads": 1627931.0, "Ops per procs": 3255863.0, "Ops/sec/procs": 108528.0, "ns per ops/procs": 9244.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30057.351552, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 516853333.0, "Total blocks": 198544897.0, "Ops per second": 17195571.34, "ns per ops": 58.15, "Ops per threads": 2691944.0, "Ops per procs": 5383888.0, "Ops/sec/procs": 179120.53, "ns per ops/procs": 5582.83}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79350800.0, "Total blocks": 39672918.0, "Ops per second": 2642925.22, "ns per ops": 378.37, "Ops per threads": 19837700.0, "Ops per procs": 39675400.0, "Ops/sec/procs": 1321462.61, "ns per ops/procs": 756.74}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 599216694.0, "Total blocks": 303708310.0, "Ops per second": 19966303.23, "ns per ops": 50.08, "Ops per threads": 2080613.0, "Ops per procs": 4161227.0, "Ops/sec/procs": 138654.88, "ns per ops/procs": 7212.15}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30015.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 73371418.0, "Ops per second": 2445713.0, "ns per ops": 409.0, "Ops per threads": 9171427.0, "Ops per procs": 18342854.0, "Ops/sec/procs": 611428.0, "ns per ops/procs": 1636.0}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30051.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 189354709.0, "Ops per second": 6301066.66, "ns per ops": 158.7, "Ops per threads": 11834669.0, "Ops per procs": 23669338.0, "Ops/sec/procs": 787633.33, "ns per ops/procs": 1269.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 481223885.0, "Total blocks": 247951835.0, "Ops per second": 16037759.21, "ns per ops": 62.35, "Ops per threads": 5012748.0, "Ops per procs": 10025497.0, "Ops/sec/procs": 334119.98, "ns per ops/procs": 2992.94}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30021.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 119308540.0, "Ops per second": 3974132.9, "ns per ops": 251.63, "Ops per threads": 29827135.0, "Ops per procs": 59654270.0, "Ops/sec/procs": 1987066.45, "ns per ops/procs": 503.25}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 261679688.0, "Ops per second": 8712375.85, "ns per ops": 114.78, "Ops per threads": 1817220.0, "Ops per procs": 3634440.0, "Ops/sec/procs": 121005.22, "ns per ops/procs": 8264.11}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 78698258.0, "Total blocks": 39346660.0, "Ops per second": 2621197.02, "ns per ops": 381.51, "Ops per threads": 19674564.0, "Ops per procs": 39349129.0, "Ops/sec/procs": 1310598.51, "ns per ops/procs": 763.01}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 369000859.0, "Ops per second": 12300028.0, "ns per ops": 81.0, "Ops per threads": 3843758.0, "Ops per procs": 7687517.0, "Ops/sec/procs": 256250.0, "ns per ops/procs": 3915.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30012.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 666117165.0, "Total blocks": 295282349.0, "Ops per second": 22194344.42, "ns per ops": 45.06, "Ops per threads": 1734680.0, "Ops per procs": 3469360.0, "Ops/sec/procs": 115595.54, "ns per ops/procs": 8650.85}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30050.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 191514046.0, "Ops per second": 6373144.76, "ns per ops": 156.91, "Ops per threads": 11969627.0, "Ops per procs": 23939255.0, "Ops/sec/procs": 796643.09, "ns per ops/procs": 1255.27}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30085.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 168145352.0, "Ops per second": 5588916.05, "ns per ops": 178.93, "Ops per threads": 5254542.0, "Ops per procs": 10509084.0, "Ops/sec/procs": 349307.25, "ns per ops/procs": 2862.81}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158420823.0, "Ops per second": 5280694.0, "ns per ops": 189.0, "Ops per threads": 79210411.0, "Ops per procs": 158420823.0, "Ops/sec/procs": 5280694.0, "ns per ops/procs": 189.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30036.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 157828282.0, "Ops per second": 5254630.49, "ns per ops": 190.31, "Ops per threads": 19728535.0, "Ops per procs": 39457070.0, "Ops/sec/procs": 1313657.62, "ns per ops/procs": 761.23}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30021.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 116411836.0, "Ops per second": 3877650.71, "ns per ops": 257.89, "Ops per threads": 29102959.0, "Ops per procs": 58205918.0, "Ops/sec/procs": 1938825.35, "ns per ops/procs": 515.78}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 600094277.0, "Total blocks": 300660683.0, "Ops per second": 19996083.26, "ns per ops": 50.01, "Ops per threads": 2083660.0, "Ops per procs": 4167321.0, "Ops/sec/procs": 138861.69, "ns per ops/procs": 7201.41}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30081.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 103504165.0, "Ops per second": 3450138.0, "ns per ops": 290.0, "Ops per threads": 25876041.0, "Ops per procs": 51752082.0, "Ops/sec/procs": 1725069.0, "ns per ops/procs": 581.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30075.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 247798870.0, "Ops per second": 8239356.02, "ns per ops": 121.37, "Ops per threads": 1290619.0, "Ops per procs": 2581238.0, "Ops/sec/procs": 85826.63, "ns per ops/procs": 11651.4}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.907037, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 129193837.0, "Total blocks": 64597791.0, "Ops per second": 4299022.92, "ns per ops": 232.61, "Ops per threads": 32298459.0, "Ops per procs": 64596918.0, "Ops/sec/procs": 2149511.46, "ns per ops/procs": 465.22}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 512760119.0, "Total blocks": 265133630.0, "Ops per second": 17088723.95, "ns per ops": 58.52, "Ops per threads": 5341251.0, "Ops per procs": 10682502.0, "Ops/sec/procs": 356015.08, "ns per ops/procs": 2808.87}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 361868477.0, "Total blocks": 174763186.0, "Ops per second": 12058375.49, "ns per ops": 82.93, "Ops per threads": 2512975.0, "Ops per procs": 5025951.0, "Ops/sec/procs": 167477.44, "ns per ops/procs": 5970.95}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30019.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 116717842.0, "Ops per second": 3888032.86, "ns per ops": 257.2, "Ops per threads": 29179460.0, "Ops per procs": 58358921.0, "Ops/sec/procs": 1944016.43, "ns per ops/procs": 514.4}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 278794871.0, "Ops per second": 9293162.0, "ns per ops": 107.0, "Ops per threads": 1452056.0, "Ops per procs": 2904113.0, "Ops/sec/procs": 96803.0, "ns per ops/procs": 10363.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30021.958019, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 529808349.0, "Total blocks": 200578491.0, "Ops per second": 17647361.6, "ns per ops": 56.67, "Ops per threads": 2759418.0, "Ops per procs": 5518836.0, "Ops/sec/procs": 183826.68, "ns per ops/procs": 5439.91}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30050.237872, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 249654143.0, "Total blocks": 155275097.0, "Ops per second": 8307892.41, "ns per ops": 120.37, "Ops per threads": 124827071.0, "Ops per procs": 249654143.0, "Ops/sec/procs": 8307892.41, "ns per ops/procs": 120.37}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30049.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 248511471.0, "Ops per second": 8270157.72, "ns per ops": 120.92, "Ops per threads": 1294330.0, "Ops per procs": 2588661.0, "Ops/sec/procs": 86147.48, "ns per ops/procs": 11608.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30006.802521, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 516601213.0, "Total blocks": 195474549.0, "Ops per second": 17216136.66, "ns per ops": 58.09, "Ops per threads": 1793754.0, "Ops per procs": 3587508.0, "Ops/sec/procs": 119556.5, "ns per ops/procs": 8364.25}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30021.617773, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 353052242.0, "Total blocks": 127533506.0, "Ops per second": 11759933.95, "ns per ops": 85.03, "Ops per threads": 7355255.0, "Ops per procs": 14710510.0, "Ops/sec/procs": 489997.25, "ns per ops/procs": 2040.83}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30019.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 245302441.0, "Ops per second": 8171523.27, "ns per ops": 122.38, "Ops per threads": 122651220.0, "Ops per procs": 245302441.0, "Ops/sec/procs": 8171523.27, "ns per ops/procs": 122.38}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 477078721.0, "Total blocks": 245958480.0, "Ops per second": 15899611.06, "ns per ops": 62.89, "Ops per threads": 4969570.0, "Ops per procs": 9939140.0, "Ops/sec/procs": 331241.9, "ns per ops/procs": 3018.94}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30094.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 256763448.0, "Ops per second": 8531969.58, "ns per ops": 117.21, "Ops per threads": 5349238.0, "Ops per procs": 10698477.0, "Ops/sec/procs": 355498.73, "ns per ops/procs": 2812.95}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 159305431.0, "Total blocks": 80884378.0, "Ops per second": 5305720.05, "ns per ops": 188.48, "Ops per threads": 9956589.0, "Ops per procs": 19913178.0, "Ops/sec/procs": 663215.01, "ns per ops/procs": 1507.81}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30078.740385, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 272381901.0, "Total blocks": 119722741.0, "Ops per second": 9055628.58, "ns per ops": 110.43, "Ops per threads": 8511934.0, "Ops per procs": 17023868.0, "Ops/sec/procs": 565976.79, "ns per ops/procs": 1766.86}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30075.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 169415070.0, "Ops per second": 5633054.87, "ns per ops": 177.52, "Ops per threads": 5294220.0, "Ops per procs": 10588441.0, "Ops/sec/procs": 352065.93, "ns per ops/procs": 2840.38}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30038.411671, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 527714874.0, "Total blocks": 196574990.0, "Ops per second": 17568001.92, "ns per ops": 56.92, "Ops per threads": 1832343.0, "Ops per procs": 3664686.0, "Ops/sec/procs": 122000.01, "ns per ops/procs": 8196.72}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 110704840.0, "Total blocks": 64501538.0, "Ops per second": 3687149.39, "ns per ops": 271.21, "Ops per threads": 13838105.0, "Ops per procs": 27676210.0, "Ops/sec/procs": 921787.35, "ns per ops/procs": 1084.85}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 322266970.0, "Ops per second": 10742232.0, "ns per ops": 93.0, "Ops per threads": 1678473.0, "Ops per procs": 3356947.0, "Ops/sec/procs": 111898.0, "ns per ops/procs": 8966.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 300063220.0, "Ops per second": 10002107.0, "ns per ops": 100.0, "Ops per threads": 1562829.0, "Ops per procs": 3125658.0, "Ops/sec/procs": 104188.0, "ns per ops/procs": 9629.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30012.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 607578440.0, "Total blocks": 305993649.0, "Ops per second": 20244437.34, "ns per ops": 49.4, "Ops per threads": 2109647.0, "Ops per procs": 4219294.0, "Ops/sec/procs": 140586.37, "ns per ops/procs": 7113.07}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 568821801.0, "Ops per second": 18960726.0, "ns per ops": 52.0, "Ops per threads": 1481306.0, "Ops per procs": 2962613.0, "Ops/sec/procs": 98753.0, "ns per ops/procs": 10159.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 668852974.0, "Total blocks": 297638242.0, "Ops per second": 22284909.62, "ns per ops": 44.87, "Ops per threads": 1741804.0, "Ops per procs": 3483609.0, "Ops/sec/procs": 116067.24, "ns per ops/procs": 8615.7}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 158294977.0, "Total blocks": 80191035.0, "Ops per second": 5272160.92, "ns per ops": 189.68, "Ops per threads": 9893436.0, "Ops per procs": 19786872.0, "Ops/sec/procs": 659020.12, "ns per ops/procs": 1517.4}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30075.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 101280016.0, "Ops per second": 3376000.0, "ns per ops": 296.0, "Ops per threads": 25320004.0, "Ops per procs": 50640008.0, "Ops/sec/procs": 1688000.0, "ns per ops/procs": 593.0}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30017.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 116520424.0, "Ops per second": 3881706.27, "ns per ops": 257.62, "Ops per threads": 29130106.0, "Ops per procs": 58260212.0, "Ops/sec/procs": 1940853.14, "ns per ops/procs": 515.24}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 513239120.0, "Total blocks": 264319429.0, "Ops per second": 17104656.84, "ns per ops": 58.46, "Ops per threads": 5346240.0, "Ops per procs": 10692481.0, "Ops/sec/procs": 356347.02, "ns per ops/procs": 2806.25}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 159089309.0, "Total blocks": 80713079.0, "Ops per second": 5298620.19, "ns per ops": 188.73, "Ops per threads": 9943081.0, "Ops per procs": 19886163.0, "Ops/sec/procs": 662327.52, "ns per ops/procs": 1509.83}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 376426922.0, "Ops per second": 12547564.0, "ns per ops": 79.0, "Ops per threads": 3921113.0, "Ops per procs": 7842227.0, "Ops/sec/procs": 261407.0, "ns per ops/procs": 3837.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 604943612.0, "Total blocks": 303633672.0, "Ops per second": 20157813.2, "ns per ops": 49.61, "Ops per threads": 2100498.0, "Ops per procs": 4200997.0, "Ops/sec/procs": 139984.81, "ns per ops/procs": 7143.63}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 75166955.0, "Ops per second": 2505565.0, "ns per ops": 400.0, "Ops per threads": 9395869.0, "Ops per procs": 18791738.0, "Ops/sec/procs": 626391.0, "ns per ops/procs": 1601.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30006.630002, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 522012653.0, "Total blocks": 196421865.0, "Ops per second": 17396577.12, "ns per ops": 57.48, "Ops per threads": 2718815.0, "Ops per procs": 5437631.0, "Ops/sec/procs": 181214.35, "ns per ops/procs": 5518.33}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30018.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 117781450.0, "Ops per second": 3923627.05, "ns per ops": 254.87, "Ops per threads": 29445362.0, "Ops per procs": 58890725.0, "Ops/sec/procs": 1961813.52, "ns per ops/procs": 509.73}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30011.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 665099837.0, "Total blocks": 296726289.0, "Ops per second": 22161200.62, "ns per ops": 45.12, "Ops per threads": 1732030.0, "Ops per procs": 3464061.0, "Ops/sec/procs": 115422.92, "ns per ops/procs": 8663.79}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 230418613.0, "Ops per second": 7680620.0, "ns per ops": 130.0, "Ops per threads": 4800387.0, "Ops per procs": 9600775.0, "Ops/sec/procs": 320025.0, "ns per ops/procs": 3134.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 599676910.0, "Total blocks": 304544534.0, "Ops per second": 19982002.97, "ns per ops": 50.05, "Ops per threads": 2082211.0, "Ops per procs": 4164422.0, "Ops/sec/procs": 138763.91, "ns per ops/procs": 7206.49}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 310142984.0, "Ops per second": 10338099.0, "ns per ops": 97.0, "Ops per threads": 1615328.0, "Ops per procs": 3230656.0, "Ops/sec/procs": 107688.0, "ns per ops/procs": 9316.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30055.446658, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 154196945.0, "Total blocks": 65888821.0, "Ops per second": 5130416.02, "ns per ops": 194.92, "Ops per threads": 19274618.0, "Ops per procs": 38549236.0, "Ops/sec/procs": 1282604.0, "ns per ops/procs": 779.66}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30061.735291, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 210667783.0, "Total blocks": 82690163.0, "Ops per second": 7007838.4, "ns per ops": 142.7, "Ops per threads": 13166736.0, "Ops per procs": 26333472.0, "Ops/sec/procs": 875979.8, "ns per ops/procs": 1141.58}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185564800.0, "Total blocks": 0.0, "Ops per second": 6180554.69, "ns per ops": 161.8, "Ops per threads": 92782400.0, "Ops per procs": 185564800.0, "Ops/sec/procs": 6180554.69, "ns per ops/procs": 161.8}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30019.820879, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 354123255.0, "Total blocks": 140825384.0, "Ops per second": 11796314.72, "ns per ops": 84.77, "Ops per threads": 7377567.0, "Ops per procs": 14755135.0, "Ops/sec/procs": 491513.11, "ns per ops/procs": 2034.53}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30023.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 447213861.0, "Ops per second": 14895354.82, "ns per ops": 67.14, "Ops per threads": 1164619.0, "Ops per procs": 2329238.0, "Ops/sec/procs": 77579.97, "ns per ops/procs": 12889.92}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 420829725.0, "Total blocks": 205404838.0, "Ops per second": 14023430.7, "ns per ops": 71.31, "Ops per threads": 2191821.0, "Ops per procs": 4383642.0, "Ops/sec/procs": 146077.4, "ns per ops/procs": 6845.69}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 255348491.0, "Ops per second": 8510201.47, "ns per ops": 117.51, "Ops per threads": 5319760.0, "Ops per procs": 10639520.0, "Ops/sec/procs": 354591.73, "ns per ops/procs": 2820.14}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30035.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 257983964.0, "Ops per second": 8589333.15, "ns per ops": 116.42, "Ops per threads": 128991982.0, "Ops per procs": 257983964.0, "Ops/sec/procs": 8589333.15, "ns per ops/procs": 116.42}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30013.991456, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 548923153.0, "Total blocks": 203612709.0, "Ops per second": 18288908.82, "ns per ops": 54.68, "Ops per threads": 2858974.0, "Ops per procs": 5717949.0, "Ops/sec/procs": 190509.47, "ns per ops/procs": 5249.08}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30078.163798, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 269616766.0, "Total blocks": 112353219.0, "Ops per second": 8963870.53, "ns per ops": 111.56, "Ops per threads": 8425523.0, "Ops per procs": 16851047.0, "Ops/sec/procs": 560241.91, "ns per ops/procs": 1784.94}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 415149908.0, "Total blocks": 200877787.0, "Ops per second": 13834072.95, "ns per ops": 72.29, "Ops per threads": 2162239.0, "Ops per procs": 4324478.0, "Ops/sec/procs": 144104.93, "ns per ops/procs": 6939.39}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30022.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 118599975.0, "Ops per second": 3950379.0, "ns per ops": 253.14, "Ops per threads": 29649993.0, "Ops per procs": 59299987.0, "Ops/sec/procs": 1975189.5, "ns per ops/procs": 506.28}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 291745679.0, "Total blocks": 148364546.0, "Ops per second": 9723531.85, "ns per ops": 102.84, "Ops per threads": 6078034.0, "Ops per procs": 12156069.0, "Ops/sec/procs": 405147.16, "ns per ops/procs": 2468.24}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30039.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 270978547.0, "Ops per second": 9020864.73, "ns per ops": 110.85, "Ops per threads": 135489273.0, "Ops per procs": 270978547.0, "Ops/sec/procs": 9020864.73, "ns per ops/procs": 110.85}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 120631529.0, "Total blocks": 71310879.0, "Ops per second": 4017768.07, "ns per ops": 248.89, "Ops per threads": 15078941.0, "Ops per procs": 30157882.0, "Ops/sec/procs": 1004442.02, "ns per ops/procs": 995.58}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30054.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 249821561.0, "Ops per second": 8312208.4, "ns per ops": 120.3, "Ops per threads": 1301153.0, "Ops per procs": 2602307.0, "Ops/sec/procs": 86585.5, "ns per ops/procs": 11549.28}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 102016330.0, "Ops per second": 3400544.0, "ns per ops": 294.0, "Ops per threads": 25504082.0, "Ops per procs": 51008165.0, "Ops/sec/procs": 1700272.0, "ns per ops/procs": 589.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 241862709.0, "Ops per second": 8062090.0, "ns per ops": 124.0, "Ops per threads": 5038806.0, "Ops per procs": 10077612.0, "Ops/sec/procs": 335920.0, "ns per ops/procs": 2986.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.949134, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 139720143.0, "Total blocks": 69771494.0, "Ops per second": 4649287.22, "ns per ops": 215.09, "Ops per threads": 34930035.0, "Ops per procs": 69860071.0, "Ops/sec/procs": 2324643.61, "ns per ops/procs": 430.17}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 158693693.0, "Total blocks": 80418410.0, "Ops per second": 5285455.66, "ns per ops": 189.2, "Ops per threads": 9918355.0, "Ops per procs": 19836711.0, "Ops/sec/procs": 660681.96, "ns per ops/procs": 1513.59}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 126987341.0, "Total blocks": 74762426.0, "Ops per second": 4229446.55, "ns per ops": 236.44, "Ops per threads": 15873417.0, "Ops per procs": 31746835.0, "Ops/sec/procs": 1057361.64, "ns per ops/procs": 945.75}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 341254473.0, "Total blocks": 166369390.0, "Ops per second": 11371379.0, "ns per ops": 87.94, "Ops per threads": 2369822.0, "Ops per procs": 4739645.0, "Ops/sec/procs": 157935.82, "ns per ops/procs": 6331.69}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30066.345487, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 714522294.0, "Total blocks": 286907776.0, "Ops per second": 23764853.44, "ns per ops": 42.08, "Ops per threads": 7442940.0, "Ops per procs": 14885881.0, "Ops/sec/procs": 495101.11, "ns per ops/procs": 2019.79}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30014.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 669765220.0, "Total blocks": 298034760.0, "Ops per second": 22314427.59, "ns per ops": 44.81, "Ops per threads": 1744180.0, "Ops per procs": 3488360.0, "Ops/sec/procs": 116220.98, "ns per ops/procs": 8604.3}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 345984646.0, "Ops per second": 11532821.0, "ns per ops": 86.0, "Ops per threads": 3604006.0, "Ops per procs": 7208013.0, "Ops/sec/procs": 240267.0, "ns per ops/procs": 4175.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 272967680.0, "Total blocks": 136626309.0, "Ops per second": 9097686.27, "ns per ops": 109.92, "Ops per threads": 5686826.0, "Ops per procs": 11373653.0, "Ops/sec/procs": 379070.26, "ns per ops/procs": 2638.03}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 411291983.0, "Total blocks": 199326817.0, "Ops per second": 13705353.38, "ns per ops": 72.96, "Ops per threads": 2142145.0, "Ops per procs": 4284291.0, "Ops/sec/procs": 142764.1, "ns per ops/procs": 7004.56}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158612826.0, "Ops per second": 5287094.0, "ns per ops": 189.0, "Ops per threads": 79306413.0, "Ops per procs": 158612826.0, "Ops/sec/procs": 5287094.0, "ns per ops/procs": 189.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 155450280.0, "Ops per second": 5181676.0, "ns per ops": 193.0, "Ops per threads": 4857821.0, "Ops per procs": 9715642.0, "Ops/sec/procs": 323854.0, "ns per ops/procs": 3097.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 65630540.0, "Ops per second": 2187684.0, "ns per ops": 457.0, "Ops per threads": 8203817.0, "Ops per procs": 16407635.0, "Ops/sec/procs": 546921.0, "ns per ops/procs": 1828.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.167227, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 266636280.0, "Total blocks": 157126672.0, "Ops per second": 8873333.43, "ns per ops": 112.7, "Ops per threads": 133318140.0, "Ops per procs": 266636280.0, "Ops/sec/procs": 8873333.43, "ns per ops/procs": 112.7}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30055.718459, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 142124899.0, "Total blocks": 61927167.0, "Ops per second": 4728714.08, "ns per ops": 211.47, "Ops per threads": 17765612.0, "Ops per procs": 35531224.0, "Ops/sec/procs": 1182178.52, "ns per ops/procs": 845.9}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 305599354.0, "Ops per second": 10186645.0, "ns per ops": 98.0, "Ops per threads": 1591663.0, "Ops per procs": 3183326.0, "Ops/sec/procs": 106110.0, "ns per ops/procs": 9454.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30050.308809, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 224124757.0, "Total blocks": 163762141.0, "Ops per second": 7458317.93, "ns per ops": 134.08, "Ops per threads": 112062378.0, "Ops per procs": 224124757.0, "Ops/sec/procs": 7458317.93, "ns per ops/procs": 134.08}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30026.071101, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 579551050.0, "Total blocks": 215502769.0, "Ops per second": 19301594.54, "ns per ops": 51.81, "Ops per threads": 2012330.0, "Ops per procs": 4024660.0, "Ops/sec/procs": 134038.85, "ns per ops/procs": 7460.52}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 545899340.0, "Ops per second": 18196644.0, "ns per ops": 55.0, "Ops per threads": 1421612.0, "Ops per procs": 2843225.0, "Ops/sec/procs": 94774.0, "ns per ops/procs": 10585.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30060.737587, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 186769984.0, "Total blocks": 85833927.0, "Ops per second": 6213087.2, "ns per ops": 160.95, "Ops per threads": 11673124.0, "Ops per procs": 23346248.0, "Ops/sec/procs": 776635.9, "ns per ops/procs": 1287.6}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 346410451.0, "Total blocks": 166295117.0, "Ops per second": 11543234.13, "ns per ops": 86.63, "Ops per threads": 2405628.0, "Ops per procs": 4811256.0, "Ops/sec/procs": 160322.7, "ns per ops/procs": 6237.42}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 307430585.0, "Ops per second": 10247686.0, "ns per ops": 97.0, "Ops per threads": 1601200.0, "Ops per procs": 3202401.0, "Ops/sec/procs": 106746.0, "ns per ops/procs": 9398.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30060.248663, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 200998377.0, "Total blocks": 61504160.0, "Ops per second": 6686517.44, "ns per ops": 149.55, "Ops per threads": 12562398.0, "Ops per procs": 25124797.0, "Ops/sec/procs": 835814.68, "ns per ops/procs": 1196.44}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30061.256364, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 439474343.0, "Total blocks": 143711516.0, "Ops per second": 14619293.94, "ns per ops": 68.4, "Ops per threads": 3051905.0, "Ops per procs": 6103810.0, "Ops/sec/procs": 203045.75, "ns per ops/procs": 4925.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 254619178.0, "Ops per second": 8483100.17, "ns per ops": 117.88, "Ops per threads": 5304566.0, "Ops per procs": 10609132.0, "Ops/sec/procs": 353462.51, "ns per ops/procs": 2829.15}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 111961309.0, "Total blocks": 65642269.0, "Ops per second": 3728984.45, "ns per ops": 268.17, "Ops per threads": 13995163.0, "Ops per procs": 27990327.0, "Ops/sec/procs": 932246.11, "ns per ops/procs": 1072.68}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30011.53254, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 596225133.0, "Total blocks": 217593923.0, "Ops per second": 19866534.05, "ns per ops": 50.34, "Ops per threads": 2070226.0, "Ops per procs": 4140452.0, "Ops/sec/procs": 137962.04, "ns per ops/procs": 7248.37}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 286107034.0, "Ops per second": 9536901.0, "ns per ops": 105.0, "Ops per threads": 1490140.0, "Ops per procs": 2980281.0, "Ops/sec/procs": 99342.0, "ns per ops/procs": 10099.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 660780992.0, "Total blocks": 293434838.0, "Ops per second": 22015858.11, "ns per ops": 45.42, "Ops per threads": 1720783.0, "Ops per procs": 3441567.0, "Ops/sec/procs": 114665.93, "ns per ops/procs": 8720.99}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30018.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 116424863.0, "Ops per second": 3878452.94, "ns per ops": 257.83, "Ops per threads": 29106215.0, "Ops per procs": 58212431.0, "Ops/sec/procs": 1939226.47, "ns per ops/procs": 515.67}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30071.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 98714865.0, "Ops per second": 3290495.0, "ns per ops": 304.0, "Ops per threads": 24678716.0, "Ops per procs": 49357432.0, "Ops/sec/procs": 1645247.0, "ns per ops/procs": 609.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185568007.0, "Total blocks": 0.0, "Ops per second": 6181031.15, "ns per ops": 161.79, "Ops per threads": 92784003.0, "Ops per procs": 185568007.0, "Ops/sec/procs": 6181031.15, "ns per ops/procs": 161.79}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 149946554.0, "Ops per second": 4998218.0, "ns per ops": 200.0, "Ops per threads": 4685829.0, "Ops per procs": 9371659.0, "Ops/sec/procs": 312388.0, "ns per ops/procs": 3211.0}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30018.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 117150968.0, "Ops per second": 3902664.8, "ns per ops": 256.24, "Ops per threads": 29287742.0, "Ops per procs": 58575484.0, "Ops/sec/procs": 1951332.4, "ns per ops/procs": 512.47}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30009.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 606396339.0, "Total blocks": 309724989.0, "Ops per second": 20206976.09, "ns per ops": 49.49, "Ops per threads": 2105542.0, "Ops per procs": 4211085.0, "Ops/sec/procs": 140326.22, "ns per ops/procs": 7126.25}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 157736670.0, "Ops per second": 5257889.0, "ns per ops": 190.0, "Ops per threads": 78868335.0, "Ops per procs": 157736670.0, "Ops/sec/procs": 5257889.0, "ns per ops/procs": 190.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 569617383.0, "Ops per second": 18987246.0, "ns per ops": 52.0, "Ops per threads": 1483378.0, "Ops per procs": 2966757.0, "Ops/sec/procs": 98891.0, "ns per ops/procs": 10144.0}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30019.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 118611942.0, "Ops per second": 3951138.37, "ns per ops": 253.09, "Ops per threads": 29652985.0, "Ops per procs": 59305971.0, "Ops/sec/procs": 1975569.19, "ns per ops/procs": 506.18}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 595458606.0, "Total blocks": 298999866.0, "Ops per second": 19840971.66, "ns per ops": 50.4, "Ops per threads": 2067564.0, "Ops per procs": 4135129.0, "Ops/sec/procs": 137784.53, "ns per ops/procs": 7257.71}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 315400922.0, "Ops per second": 10513364.0, "ns per ops": 95.0, "Ops per threads": 1642713.0, "Ops per procs": 3285426.0, "Ops/sec/procs": 109514.0, "ns per ops/procs": 9161.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30056.007223, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 675969619.0, "Total blocks": 255661765.0, "Ops per second": 22490333.26, "ns per ops": 44.46, "Ops per threads": 7041350.0, "Ops per procs": 14082700.0, "Ops/sec/procs": 468548.61, "ns per ops/procs": 2134.25}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 106655276.0, "Ops per second": 3555175.0, "ns per ops": 282.0, "Ops per threads": 6665954.0, "Ops per procs": 13331909.0, "Ops/sec/procs": 444396.0, "ns per ops/procs": 2257.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 284705075.0, "Ops per second": 9490169.0, "ns per ops": 105.0, "Ops per threads": 1977118.0, "Ops per procs": 3954237.0, "Ops/sec/procs": 131807.0, "ns per ops/procs": 7611.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30093.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 264308320.0, "Ops per second": 8783013.59, "ns per ops": 113.86, "Ops per threads": 1376605.0, "Ops per procs": 2753211.0, "Ops/sec/procs": 91489.72, "ns per ops/procs": 10930.19}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 431097173.0, "Ops per second": 14369905.0, "ns per ops": 69.0, "Ops per threads": 1496865.0, "Ops per procs": 2993730.0, "Ops/sec/procs": 99791.0, "ns per ops/procs": 10053.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30050.333243, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 602022569.0, "Total blocks": 220864239.0, "Ops per second": 20033806.75, "ns per ops": 49.92, "Ops per threads": 1567767.0, "Ops per procs": 3135534.0, "Ops/sec/procs": 104342.74, "ns per ops/procs": 9583.8}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30018.624165, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 354631953.0, "Total blocks": 145554714.0, "Ops per second": 11813731.07, "ns per ops": 84.65, "Ops per threads": 7388165.0, "Ops per procs": 14776331.0, "Ops/sec/procs": 492238.79, "ns per ops/procs": 2031.53}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 157744467.0, "Ops per second": 5258148.0, "ns per ops": 190.0, "Ops per threads": 78872233.0, "Ops per procs": 157744467.0, "Ops/sec/procs": 5258148.0, "ns per ops/procs": 190.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30066.598677, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 621378593.0, "Total blocks": 249007271.0, "Ops per second": 20666740.51, "ns per ops": 48.39, "Ops per threads": 6472693.0, "Ops per procs": 12945387.0, "Ops/sec/procs": 430557.09, "ns per ops/procs": 2322.57}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30018.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 365587943.0, "Ops per second": 12178843.41, "ns per ops": 82.11, "Ops per threads": 952051.0, "Ops per procs": 1904103.0, "Ops/sec/procs": 63431.48, "ns per ops/procs": 15765.04}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158482440.0, "Ops per second": 5276693.55, "ns per ops": 189.51, "Ops per threads": 19810305.0, "Ops per procs": 39620610.0, "Ops/sec/procs": 1319173.39, "ns per ops/procs": 758.05}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 156269254.0, "Ops per second": 5208975.0, "ns per ops": 192.0, "Ops per threads": 4883414.0, "Ops per procs": 9766828.0, "Ops/sec/procs": 325560.0, "ns per ops/procs": 3081.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 122004565.0, "Total blocks": 72431782.0, "Ops per second": 4063537.87, "ns per ops": 246.09, "Ops per threads": 15250570.0, "Ops per procs": 30501141.0, "Ops/sec/procs": 1015884.47, "ns per ops/procs": 984.36}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 339147386.0, "Ops per second": 11304912.0, "ns per ops": 88.0, "Ops per threads": 3532785.0, "Ops per procs": 7065570.0, "Ops/sec/procs": 235519.0, "ns per ops/procs": 4259.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30078.972851, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 273753167.0, "Total blocks": 119192950.0, "Ops per second": 9101147.45, "ns per ops": 109.88, "Ops per threads": 8554786.0, "Ops per procs": 17109572.0, "Ops/sec/procs": 568821.72, "ns per ops/procs": 1758.02}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 254103259.0, "Ops per second": 8465923.58, "ns per ops": 118.12, "Ops per threads": 5293817.0, "Ops per procs": 10587635.0, "Ops/sec/procs": 352746.82, "ns per ops/procs": 2834.89}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 562877512.0, "Ops per second": 18762583.0, "ns per ops": 53.0, "Ops per threads": 1465826.0, "Ops per procs": 2931653.0, "Ops/sec/procs": 97721.0, "ns per ops/procs": 10266.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 657648945.0, "Total blocks": 290825406.0, "Ops per second": 21911561.11, "ns per ops": 45.64, "Ops per threads": 1712627.0, "Ops per procs": 3425254.0, "Ops/sec/procs": 114122.71, "ns per ops/procs": 8762.5}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30021.007919, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 361150419.0, "Total blocks": 124173901.0, "Ops per second": 12029923.18, "ns per ops": 83.13, "Ops per threads": 7523967.0, "Ops per procs": 15047934.0, "Ops/sec/procs": 501246.8, "ns per ops/procs": 1995.03}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 103487878.0, "Ops per second": 3449595.0, "ns per ops": 290.0, "Ops per threads": 6467992.0, "Ops per procs": 12935984.0, "Ops/sec/procs": 431199.0, "ns per ops/procs": 2326.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30021.674448, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 530370080.0, "Total blocks": 190775184.0, "Ops per second": 17666239.13, "ns per ops": 56.61, "Ops per threads": 2762344.0, "Ops per procs": 5524688.0, "Ops/sec/procs": 184023.32, "ns per ops/procs": 5434.09}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30031.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 159475213.0, "Ops per second": 5310209.33, "ns per ops": 188.32, "Ops per threads": 19934401.0, "Ops per procs": 39868803.0, "Ops/sec/procs": 1327552.33, "ns per ops/procs": 753.27}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30031.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 605513924.0, "Ops per second": 20162722.75, "ns per ops": 49.6, "Ops per threads": 1576859.0, "Ops per procs": 3153718.0, "Ops/sec/procs": 105014.18, "ns per ops/procs": 9522.52}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 296899834.0, "Total blocks": 148345683.0, "Ops per second": 9895301.15, "ns per ops": 101.06, "Ops per threads": 6185413.0, "Ops per procs": 12370826.0, "Ops/sec/procs": 412304.21, "ns per ops/procs": 2425.39}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 146756791.0, "Total blocks": 76785062.0, "Ops per second": 4887945.62, "ns per ops": 204.58, "Ops per threads": 9172299.0, "Ops per procs": 18344598.0, "Ops/sec/procs": 610993.2, "ns per ops/procs": 1636.68}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30021.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 596792246.0, "Ops per second": 19878771.82, "ns per ops": 50.3, "Ops per threads": 1554146.0, "Ops per procs": 3108292.0, "Ops/sec/procs": 103535.27, "ns per ops/procs": 9658.54}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 428567906.0, "Ops per second": 14285596.0, "ns per ops": 70.0, "Ops per threads": 1488083.0, "Ops per procs": 2976166.0, "Ops/sec/procs": 99205.0, "ns per ops/procs": 10113.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30061.734537, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 209632702.0, "Total blocks": 70634694.0, "Ops per second": 6973406.73, "ns per ops": 143.4, "Ops per threads": 13102043.0, "Ops per procs": 26204087.0, "Ops/sec/procs": 871675.84, "ns per ops/procs": 1147.22}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158592472.0, "Ops per second": 5286415.0, "ns per ops": 189.0, "Ops per threads": 79296236.0, "Ops per procs": 158592472.0, "Ops/sec/procs": 5286415.0, "ns per ops/procs": 189.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 272661549.0, "Total blocks": 136409993.0, "Ops per second": 9087497.28, "ns per ops": 110.04, "Ops per threads": 5680448.0, "Ops per procs": 11360897.0, "Ops/sec/procs": 378645.72, "ns per ops/procs": 2640.99}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30019.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 683142476.0, "Ops per second": 22756585.5, "ns per ops": 43.94, "Ops per threads": 1779016.0, "Ops per procs": 3558033.0, "Ops/sec/procs": 118523.88, "ns per ops/procs": 8437.12}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30002.071441, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 576649935.0, "Total blocks": 228213702.0, "Ops per second": 19220337.37, "ns per ops": 52.03, "Ops per threads": 1501692.0, "Ops per procs": 3003385.0, "Ops/sec/procs": 100105.92, "ns per ops/procs": 9989.42}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30021.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 362688103.0, "Ops per second": 12081107.25, "ns per ops": 82.77, "Ops per threads": 944500.0, "Ops per procs": 1889000.0, "Ops/sec/procs": 62922.43, "ns per ops/procs": 15892.58}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 81036357.0, "Ops per second": 2701211.0, "ns per ops": 371.0, "Ops per threads": 10129544.0, "Ops per procs": 20259089.0, "Ops/sec/procs": 675302.0, "ns per ops/procs": 1485.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 644138633.0, "Total blocks": 283537854.0, "Ops per second": 21461647.99, "ns per ops": 46.59, "Ops per threads": 1677444.0, "Ops per procs": 3354888.0, "Ops/sec/procs": 111779.42, "ns per ops/procs": 8946.19}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30067.79999, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 445191125.0, "Total blocks": 162937638.0, "Ops per second": 14806242.06, "ns per ops": 67.54, "Ops per threads": 3091605.0, "Ops per procs": 6183210.0, "Ops/sec/procs": 205642.25, "ns per ops/procs": 4862.81}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30084.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 253886616.0, "Ops per second": 8439005.98, "ns per ops": 118.5, "Ops per threads": 1322326.0, "Ops per procs": 2644652.0, "Ops/sec/procs": 87906.31, "ns per ops/procs": 11375.75}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 240064331.0, "Ops per second": 8002144.0, "ns per ops": 125.0, "Ops per threads": 5001340.0, "Ops per procs": 10002680.0, "Ops/sec/procs": 333422.0, "ns per ops/procs": 3008.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30054.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 102463427.0, "Ops per second": 3415447.0, "ns per ops": 293.0, "Ops per threads": 25615856.0, "Ops per procs": 51231713.0, "Ops/sec/procs": 1707723.0, "ns per ops/procs": 586.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30027.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 239174128.0, "Total blocks": 111564282.0, "Ops per second": 7965037.84, "ns per ops": 125.55, "Ops per threads": 7474191.0, "Ops per procs": 14948383.0, "Ops/sec/procs": 497814.87, "ns per ops/procs": 2008.78}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 599188141.0, "Total blocks": 303721187.0, "Ops per second": 19965686.2, "ns per ops": 50.09, "Ops per threads": 2080514.0, "Ops per procs": 4161028.0, "Ops/sec/procs": 138650.6, "ns per ops/procs": 7212.38}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 346011094.0, "Total blocks": 166352538.0, "Ops per second": 11530074.7, "ns per ops": 86.73, "Ops per threads": 2402854.0, "Ops per procs": 4805709.0, "Ops/sec/procs": 160139.93, "ns per ops/procs": 6244.54}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30079.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 176650621.0, "Ops per second": 5872713.87, "ns per ops": 170.28, "Ops per threads": 5520331.0, "Ops per procs": 11040663.0, "Ops/sec/procs": 367044.62, "ns per ops/procs": 2724.46}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30011.250868, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 622870673.0, "Total blocks": 233012041.0, "Ops per second": 20754572.2, "ns per ops": 48.18, "Ops per threads": 1622059.0, "Ops per procs": 3244118.0, "Ops/sec/procs": 108096.73, "ns per ops/procs": 9250.97}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 249973603.0, "Ops per second": 8332453.0, "ns per ops": 120.0, "Ops per threads": 5207783.0, "Ops per procs": 10415566.0, "Ops/sec/procs": 347185.0, "ns per ops/procs": 2889.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79249887.0, "Total blocks": 39622088.0, "Ops per second": 2639592.18, "ns per ops": 378.85, "Ops per threads": 19812471.0, "Ops per procs": 39624943.0, "Ops/sec/procs": 1319796.09, "ns per ops/procs": 757.69}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30069.211947, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 673830433.0, "Total blocks": 235834890.0, "Ops per second": 22409314.69, "ns per ops": 44.62, "Ops per threads": 7019067.0, "Ops per procs": 14038134.0, "Ops/sec/procs": 466860.72, "ns per ops/procs": 2141.97}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 245829099.0, "Total blocks": 115374313.0, "Ops per second": 8186964.66, "ns per ops": 122.15, "Ops per threads": 7682159.0, "Ops per procs": 15364318.0, "Ops/sec/procs": 511685.29, "ns per ops/procs": 1954.33}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.577127, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 234279884.0, "Total blocks": 158539931.0, "Ops per second": 7796445.29, "ns per ops": 128.26, "Ops per threads": 117139942.0, "Ops per procs": 234279884.0, "Ops/sec/procs": 7796445.29, "ns per ops/procs": 128.26}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.665566, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 150309964.0, "Total blocks": 75163529.0, "Ops per second": 5001718.25, "ns per ops": 199.93, "Ops per threads": 37577491.0, "Ops per procs": 75154982.0, "Ops/sec/procs": 2500859.12, "ns per ops/procs": 399.86}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30054.265136, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 144352146.0, "Total blocks": 68656885.0, "Ops per second": 4803050.26, "ns per ops": 208.2, "Ops per threads": 18044018.0, "Ops per procs": 36088036.0, "Ops/sec/procs": 1200762.57, "ns per ops/procs": 832.8}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30052.023725, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 147256263.0, "Total blocks": 73618398.0, "Ops per second": 4900044.81, "ns per ops": 204.08, "Ops per threads": 36814065.0, "Ops per procs": 73628131.0, "Ops/sec/procs": 2450022.41, "ns per ops/procs": 408.16}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79657940.0, "Total blocks": 39826304.0, "Ops per second": 2653155.56, "ns per ops": 376.91, "Ops per threads": 19914485.0, "Ops per procs": 39828970.0, "Ops/sec/procs": 1326577.78, "ns per ops/procs": 753.82}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79211590.0, "Total blocks": 39602890.0, "Ops per second": 2638300.42, "ns per ops": 379.03, "Ops per threads": 19802897.0, "Ops per procs": 39605795.0, "Ops/sec/procs": 1319150.21, "ns per ops/procs": 758.06}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 355471243.0, "Ops per second": 11849041.0, "ns per ops": 84.0, "Ops per threads": 3702825.0, "Ops per procs": 7405650.0, "Ops/sec/procs": 246855.0, "ns per ops/procs": 4064.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30025.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79307464.0, "Total blocks": 39650863.0, "Ops per second": 2641363.48, "ns per ops": 378.59, "Ops per threads": 19826866.0, "Ops per procs": 39653732.0, "Ops/sec/procs": 1320681.74, "ns per ops/procs": 757.18}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 77998263.0, "Total blocks": 38996426.0, "Ops per second": 2597850.86, "ns per ops": 384.93, "Ops per threads": 19499565.0, "Ops per procs": 38999131.0, "Ops/sec/procs": 1298925.43, "ns per ops/procs": 769.87}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 253230441.0, "Ops per second": 8436994.19, "ns per ops": 118.53, "Ops per threads": 5275634.0, "Ops per procs": 10551268.0, "Ops/sec/procs": 351541.42, "ns per ops/procs": 2844.61}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 285062407.0, "Total blocks": 143293786.0, "Ops per second": 9500771.4, "ns per ops": 105.25, "Ops per threads": 5938800.0, "Ops per procs": 11877600.0, "Ops/sec/procs": 395865.47, "ns per ops/procs": 2526.11}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185457694.0, "Total blocks": 0.0, "Ops per second": 6177357.44, "ns per ops": 161.88, "Ops per threads": 92728847.0, "Ops per procs": 185457694.0, "Ops/sec/procs": 6177357.44, "ns per ops/procs": 161.88}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30050.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 259271156.0, "Ops per second": 8627875.03, "ns per ops": 115.9, "Ops per threads": 1800494.0, "Ops per procs": 3600988.0, "Ops/sec/procs": 119831.6, "ns per ops/procs": 8345.04}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 158030265.0, "Total blocks": 80127575.0, "Ops per second": 5263422.57, "ns per ops": 189.99, "Ops per threads": 9876891.0, "Ops per procs": 19753783.0, "Ops/sec/procs": 657927.82, "ns per ops/procs": 1519.92}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 247940148.0, "Total blocks": 116241822.0, "Ops per second": 8257412.96, "ns per ops": 121.1, "Ops per threads": 7748129.0, "Ops per procs": 15496259.0, "Ops/sec/procs": 516088.31, "ns per ops/procs": 1937.65}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 241012739.0, "Ops per second": 8033757.0, "ns per ops": 124.0, "Ops per threads": 5021098.0, "Ops per procs": 10042197.0, "Ops/sec/procs": 334739.0, "ns per ops/procs": 2997.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30072.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 266686885.0, "Ops per second": 8868203.68, "ns per ops": 112.76, "Ops per threads": 2777988.0, "Ops per procs": 5555976.0, "Ops/sec/procs": 184754.24, "ns per ops/procs": 5412.6}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 106570335.0, "Ops per second": 3552344.0, "ns per ops": 282.0, "Ops per threads": 6660645.0, "Ops per procs": 13321291.0, "Ops/sec/procs": 444043.0, "ns per ops/procs": 2259.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 160483204.0, "Ops per second": 5349440.0, "ns per ops": 187.0, "Ops per threads": 5015100.0, "Ops per procs": 10030200.0, "Ops/sec/procs": 334340.0, "ns per ops/procs": 3000.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30025.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 246123285.0, "Total blocks": 115260696.0, "Ops per second": 8197067.94, "ns per ops": 121.99, "Ops per threads": 7691352.0, "Ops per procs": 15382705.0, "Ops/sec/procs": 512316.75, "ns per ops/procs": 1951.92}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30024.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 964936051.0, "Ops per second": 32138115.85, "ns per ops": 31.12, "Ops per threads": 2512854.0, "Ops per procs": 5025708.0, "Ops/sec/procs": 167386.02, "ns per ops/procs": 5974.21}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30052.713112, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 573244319.0, "Total blocks": 229530111.0, "Ops per second": 19074627.87, "ns per ops": 52.43, "Ops per threads": 1492823.0, "Ops per procs": 2985647.0, "Ops/sec/procs": 99347.02, "ns per ops/procs": 10065.73}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 248185069.0, "Total blocks": 116294091.0, "Ops per second": 8265636.2, "ns per ops": 120.98, "Ops per threads": 7755783.0, "Ops per procs": 15511566.0, "Ops/sec/procs": 516602.26, "ns per ops/procs": 1935.73}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185538995.0, "Total blocks": 0.0, "Ops per second": 6180022.55, "ns per ops": 161.81, "Ops per threads": 92769497.0, "Ops per procs": 185538995.0, "Ops/sec/procs": 6180022.55, "ns per ops/procs": 161.81}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30083.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 167696728.0, "Ops per second": 5574296.13, "ns per ops": 179.39, "Ops per threads": 5240522.0, "Ops per procs": 10481045.0, "Ops/sec/procs": 348393.51, "ns per ops/procs": 2870.32}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 64712815.0, "Ops per second": 2157093.0, "ns per ops": 465.0, "Ops per threads": 8089101.0, "Ops per procs": 16178203.0, "Ops/sec/procs": 539273.0, "ns per ops/procs": 1860.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30090.393396, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 503147405.0, "Total blocks": 184686370.0, "Ops per second": 16721197.31, "ns per ops": 59.8, "Ops per threads": 1747039.0, "Ops per procs": 3494079.0, "Ops/sec/procs": 116119.43, "ns per ops/procs": 8611.82}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 442214042.0, "Ops per second": 14740468.0, "ns per ops": 68.0, "Ops per threads": 1535465.0, "Ops per procs": 3070930.0, "Ops/sec/procs": 102364.0, "ns per ops/procs": 9800.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 458467896.0, "Ops per second": 15282263.0, "ns per ops": 65.0, "Ops per threads": 1591902.0, "Ops per procs": 3183804.0, "Ops/sec/procs": 106126.0, "ns per ops/procs": 9453.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30039.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 832229190.0, "Ops per second": 27704865.59, "ns per ops": 36.09, "Ops per threads": 2889684.0, "Ops per procs": 5779369.0, "Ops/sec/procs": 192394.9, "ns per ops/procs": 5197.64}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 447921770.0, "Ops per second": 14930725.0, "ns per ops": 67.0, "Ops per threads": 1555283.0, "Ops per procs": 3110567.0, "Ops/sec/procs": 103685.0, "ns per ops/procs": 9676.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30074.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 178356324.0, "Ops per second": 5930578.08, "ns per ops": 168.62, "Ops per threads": 5573635.0, "Ops per procs": 11147270.0, "Ops/sec/procs": 370661.13, "ns per ops/procs": 2697.88}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.578845, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 145646142.0, "Total blocks": 72820582.0, "Ops per second": 4846538.77, "ns per ops": 206.33, "Ops per threads": 36411535.0, "Ops per procs": 72823071.0, "Ops/sec/procs": 2423269.39, "ns per ops/procs": 412.67}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30020.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 254377554.0, "Ops per second": 8473338.92, "ns per ops": 118.02, "Ops per threads": 127188777.0, "Ops per procs": 254377554.0, "Ops/sec/procs": 8473338.92, "ns per ops/procs": 118.02}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 239620620.0, "Ops per second": 7987354.0, "ns per ops": 125.0, "Ops per threads": 4992096.0, "Ops per procs": 9984192.0, "Ops/sec/procs": 332806.0, "ns per ops/procs": 3014.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30035.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 943653721.0, "Ops per second": 31417954.6, "ns per ops": 31.83, "Ops per threads": 3276575.0, "Ops per procs": 6553150.0, "Ops/sec/procs": 218180.24, "ns per ops/procs": 4583.37}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30028.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 249445996.0, "Ops per second": 8306968.23, "ns per ops": 120.38, "Ops per threads": 124722998.0, "Ops per procs": 249445996.0, "Ops/sec/procs": 8306968.23, "ns per ops/procs": 120.38}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30020.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 115275634.0, "Ops per second": 3839844.28, "ns per ops": 260.43, "Ops per threads": 28818908.0, "Ops per procs": 57637817.0, "Ops/sec/procs": 1919922.14, "ns per ops/procs": 520.85}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 301616959.0, "Total blocks": 152829304.0, "Ops per second": 10052537.86, "ns per ops": 99.48, "Ops per threads": 6283686.0, "Ops per procs": 12567373.0, "Ops/sec/procs": 418855.74, "ns per ops/procs": 2387.46}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30034.581506, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 459808438.0, "Total blocks": 167598487.0, "Ops per second": 15309300.64, "ns per ops": 65.32, "Ops per threads": 3193114.0, "Ops per procs": 6386228.0, "Ops/sec/procs": 212629.18, "ns per ops/procs": 4703.02}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 120903577.0, "Total blocks": 71497997.0, "Ops per second": 4026839.19, "ns per ops": 248.33, "Ops per threads": 15112947.0, "Ops per procs": 30225894.0, "Ops/sec/procs": 1006709.8, "ns per ops/procs": 993.33}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30091.771815, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 559579006.0, "Total blocks": 205944705.0, "Ops per second": 18595748.02, "ns per ops": 53.78, "Ops per threads": 1942982.0, "Ops per procs": 3885965.0, "Ops/sec/procs": 129137.14, "ns per ops/procs": 7743.71}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30077.898775, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 262448458.0, "Total blocks": 113070023.0, "Ops per second": 8725624.75, "ns per ops": 114.6, "Ops per threads": 8201514.0, "Ops per procs": 16403028.0, "Ops/sec/procs": 545351.55, "ns per ops/procs": 1833.68}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30045.822291, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 561514925.0, "Total blocks": 208573022.0, "Ops per second": 18688618.99, "ns per ops": 53.51, "Ops per threads": 1949704.0, "Ops per procs": 3899409.0, "Ops/sec/procs": 129782.08, "ns per ops/procs": 7705.22}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30099.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 79240850.0, "Ops per second": 2641361.0, "ns per ops": 379.0, "Ops per threads": 9905106.0, "Ops per procs": 19810212.0, "Ops/sec/procs": 660340.0, "ns per ops/procs": 1519.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30032.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158365060.0, "Ops per second": 5273131.3, "ns per ops": 189.64, "Ops per threads": 19795632.0, "Ops per procs": 39591265.0, "Ops/sec/procs": 1318282.82, "ns per ops/procs": 758.56}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 404081764.0, "Total blocks": 197772039.0, "Ops per second": 13465100.21, "ns per ops": 74.27, "Ops per threads": 2104592.0, "Ops per procs": 4209185.0, "Ops/sec/procs": 140261.46, "ns per ops/procs": 7129.54}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30026.495956, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 607210542.0, "Total blocks": 212641797.0, "Ops per second": 20222490.93, "ns per ops": 49.45, "Ops per threads": 2108369.0, "Ops per procs": 4216739.0, "Ops/sec/procs": 140433.96, "ns per ops/procs": 7120.79}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30012.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 242885051.0, "Ops per second": 8092749.36, "ns per ops": 123.57, "Ops per threads": 121442525.0, "Ops per procs": 242885051.0, "Ops/sec/procs": 8092749.36, "ns per ops/procs": 123.57}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 158608155.0, "Total blocks": 80286279.0, "Ops per second": 5282517.27, "ns per ops": 189.3, "Ops per threads": 9913009.0, "Ops per procs": 19826019.0, "Ops/sec/procs": 660314.66, "ns per ops/procs": 1514.43}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30045.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 189831201.0, "Ops per second": 6318057.95, "ns per ops": 158.28, "Ops per threads": 11864450.0, "Ops per procs": 23728900.0, "Ops/sec/procs": 789757.24, "ns per ops/procs": 1266.21}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 436936853.0, "Ops per second": 14564561.0, "ns per ops": 68.0, "Ops per threads": 1517141.0, "Ops per procs": 3034283.0, "Ops/sec/procs": 101142.0, "ns per ops/procs": 9919.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185553751.0, "Total blocks": 0.0, "Ops per second": 6180514.17, "ns per ops": 161.8, "Ops per threads": 92776875.0, "Ops per procs": 185553751.0, "Ops/sec/procs": 6180514.17, "ns per ops/procs": 161.8}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30050.010278, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 270828503.0, "Total blocks": 151275808.0, "Ops per second": 9012592.69, "ns per ops": 110.96, "Ops per threads": 135414251.0, "Ops per procs": 270828503.0, "Ops/sec/procs": 9012592.69, "ns per ops/procs": 110.96}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30017.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 389323244.0, "Ops per second": 12969703.85, "ns per ops": 77.1, "Ops per threads": 1013862.0, "Ops per procs": 2027725.0, "Ops/sec/procs": 67550.54, "ns per ops/procs": 14803.73}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158596446.0, "Ops per second": 5286548.0, "ns per ops": 189.0, "Ops per threads": 79298223.0, "Ops per procs": 158596446.0, "Ops/sec/procs": 5286548.0, "ns per ops/procs": 189.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30073.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 248625401.0, "Ops per second": 8267245.67, "ns per ops": 120.96, "Ops per threads": 1294923.0, "Ops per procs": 2589847.0, "Ops/sec/procs": 86117.14, "ns per ops/procs": 11612.09}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185581406.0, "Total blocks": 0.0, "Ops per second": 6181436.39, "ns per ops": 161.77, "Ops per threads": 92790703.0, "Ops per procs": 185581406.0, "Ops/sec/procs": 6181436.39, "ns per ops/procs": 161.77}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 425572862.0, "Ops per second": 14185762.0, "ns per ops": 70.0, "Ops per threads": 1477683.0, "Ops per procs": 2955367.0, "Ops/sec/procs": 98512.0, "ns per ops/procs": 10184.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30077.577807, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 277659568.0, "Total blocks": 104342532.0, "Ops per second": 9231447.09, "ns per ops": 108.33, "Ops per threads": 8676861.0, "Ops per procs": 17353723.0, "Ops/sec/procs": 576965.44, "ns per ops/procs": 1733.21}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 234573700.0, "Total blocks": 110288462.0, "Ops per second": 7812189.92, "ns per ops": 128.01, "Ops per threads": 7330428.0, "Ops per procs": 14660856.0, "Ops/sec/procs": 488261.87, "ns per ops/procs": 2048.08}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30061.144537, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 192910274.0, "Total blocks": 86507739.0, "Ops per second": 6417263.11, "ns per ops": 155.83, "Ops per threads": 12056892.0, "Ops per procs": 24113784.0, "Ops/sec/procs": 802157.89, "ns per ops/procs": 1246.64}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30016.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 67450962.0, "Ops per second": 2248365.0, "ns per ops": 445.0, "Ops per threads": 16862740.0, "Ops per procs": 33725481.0, "Ops/sec/procs": 1124182.0, "ns per ops/procs": 890.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30066.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 252031825.0, "Ops per second": 8382561.63, "ns per ops": 119.3, "Ops per threads": 2625331.0, "Ops per procs": 5250663.0, "Ops/sec/procs": 174636.7, "ns per ops/procs": 5726.17}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30025.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 111850431.0, "Total blocks": 65020982.0, "Ops per second": 3725221.55, "ns per ops": 268.44, "Ops per threads": 13981303.0, "Ops per procs": 27962607.0, "Ops/sec/procs": 931305.39, "ns per ops/procs": 1073.76}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30020.541753, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 339266184.0, "Total blocks": 131530426.0, "Ops per second": 11301134.63, "ns per ops": 88.49, "Ops per threads": 7068045.0, "Ops per procs": 14136091.0, "Ops/sec/procs": 470880.61, "ns per ops/procs": 2123.68}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 545648787.0, "Ops per second": 18188292.0, "ns per ops": 55.0, "Ops per threads": 1420960.0, "Ops per procs": 2841920.0, "Ops/sec/procs": 94730.0, "ns per ops/procs": 10590.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30063.561076, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 699159104.0, "Total blocks": 269494259.0, "Ops per second": 23256030.86, "ns per ops": 43.0, "Ops per threads": 7282907.0, "Ops per procs": 14565814.0, "Ops/sec/procs": 484500.64, "ns per ops/procs": 2063.98}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30061.625777, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 449910530.0, "Total blocks": 157211459.0, "Ops per second": 14966274.06, "ns per ops": 66.82, "Ops per threads": 3124378.0, "Ops per procs": 6248757.0, "Ops/sec/procs": 207864.92, "ns per ops/procs": 4810.82}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 342396659.0, "Ops per second": 11413221.0, "ns per ops": 87.0, "Ops per threads": 3566631.0, "Ops per procs": 7133263.0, "Ops/sec/procs": 237775.0, "ns per ops/procs": 4219.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30077.242433, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 410093700.0, "Total blocks": 144007638.0, "Ops per second": 13634684.13, "ns per ops": 73.34, "Ops per threads": 2847872.0, "Ops per procs": 5695745.0, "Ops/sec/procs": 189370.61, "ns per ops/procs": 5280.65}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 272542681.0, "Total blocks": 136129061.0, "Ops per second": 9083528.22, "ns per ops": 110.09, "Ops per threads": 5677972.0, "Ops per procs": 11355945.0, "Ops/sec/procs": 378480.34, "ns per ops/procs": 2642.15}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 248716876.0, "Ops per second": 8290562.0, "ns per ops": 121.0, "Ops per threads": 5181601.0, "Ops per procs": 10363203.0, "Ops/sec/procs": 345440.0, "ns per ops/procs": 2904.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 510254679.0, "Total blocks": 263599243.0, "Ops per second": 17005116.76, "ns per ops": 58.81, "Ops per threads": 5315152.0, "Ops per procs": 10630305.0, "Ops/sec/procs": 354273.27, "ns per ops/procs": 2822.68}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30085.571178, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 557368611.0, "Total blocks": 204213029.0, "Ops per second": 18526110.33, "ns per ops": 53.98, "Ops per threads": 1935307.0, "Ops per procs": 3870615.0, "Ops/sec/procs": 128653.54, "ns per ops/procs": 7772.81}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30018.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 255568628.0, "Ops per second": 8513684.13, "ns per ops": 117.46, "Ops per threads": 5324346.0, "Ops per procs": 10648692.0, "Ops/sec/procs": 354736.84, "ns per ops/procs": 2818.99}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30021.607243, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 346529936.0, "Total blocks": 134659921.0, "Ops per second": 11542684.35, "ns per ops": 86.63, "Ops per threads": 7219373.0, "Ops per procs": 14438747.0, "Ops/sec/procs": 480945.18, "ns per ops/procs": 2079.24}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30061.987871, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 197131311.0, "Total blocks": 81908194.0, "Ops per second": 6557494.2, "ns per ops": 152.5, "Ops per threads": 12320706.0, "Ops per procs": 24641413.0, "Ops/sec/procs": 819686.77, "ns per ops/procs": 1219.98}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30054.936278, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 674912351.0, "Total blocks": 249443867.0, "Ops per second": 22455956.81, "ns per ops": 44.53, "Ops per threads": 7030336.0, "Ops per procs": 14060673.0, "Ops/sec/procs": 467832.43, "ns per ops/procs": 2137.52}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30036.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 908596891.0, "Ops per second": 30250179.16, "ns per ops": 33.06, "Ops per threads": 3154850.0, "Ops per procs": 6309700.0, "Ops/sec/procs": 210070.69, "ns per ops/procs": 4760.3}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 274417562.0, "Ops per second": 9147252.0, "ns per ops": 109.0, "Ops per threads": 1905677.0, "Ops per procs": 3811355.0, "Ops/sec/procs": 127045.0, "ns per ops/procs": 7896.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 246466408.0, "Total blocks": 115571678.0, "Ops per second": 8208328.54, "ns per ops": 121.83, "Ops per threads": 7702075.0, "Ops per procs": 15404150.0, "Ops/sec/procs": 513020.53, "ns per ops/procs": 1949.24}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30068.242896, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 432660071.0, "Total blocks": 155567235.0, "Ops per second": 14389270.18, "ns per ops": 69.5, "Ops per threads": 3004583.0, "Ops per procs": 6009167.0, "Ops/sec/procs": 199850.97, "ns per ops/procs": 5003.73}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 154917929.0, "Ops per second": 5163930.0, "ns per ops": 194.0, "Ops per threads": 4841185.0, "Ops per procs": 9682370.0, "Ops/sec/procs": 322745.0, "ns per ops/procs": 3108.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 94546239.0, "Ops per second": 3151541.0, "ns per ops": 318.0, "Ops per threads": 5909139.0, "Ops per procs": 11818279.0, "Ops/sec/procs": 393942.0, "ns per ops/procs": 2546.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 253892526.0, "Ops per second": 8460413.86, "ns per ops": 118.2, "Ops per threads": 5289427.0, "Ops per procs": 10578855.0, "Ops/sec/procs": 352517.24, "ns per ops/procs": 2836.74}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30074.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 95740692.0, "Ops per second": 3191356.0, "ns per ops": 314.0, "Ops per threads": 23935173.0, "Ops per procs": 47870346.0, "Ops/sec/procs": 1595678.0, "ns per ops/procs": 628.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.44903, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 250849331.0, "Total blocks": 159181914.0, "Ops per second": 8347884.54, "ns per ops": 119.79, "Ops per threads": 125424665.0, "Ops per procs": 250849331.0, "Ops/sec/procs": 8347884.54, "ns per ops/procs": 119.79}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30015.366859, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 342921985.0, "Total blocks": 135968844.0, "Ops per second": 11424880.68, "ns per ops": 87.53, "Ops per threads": 7144208.0, "Ops per procs": 14288416.0, "Ops/sec/procs": 476036.7, "ns per ops/procs": 2100.68}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30020.66073, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 323817355.0, "Total blocks": 118804988.0, "Ops per second": 10786483.28, "ns per ops": 92.71, "Ops per threads": 6746194.0, "Ops per procs": 13492389.0, "Ops/sec/procs": 449436.8, "ns per ops/procs": 2225.01}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30096.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 232996956.0, "Ops per second": 7741599.9, "ns per ops": 129.17, "Ops per threads": 116498478.0, "Ops per procs": 232996956.0, "Ops/sec/procs": 7741599.9, "ns per ops/procs": 129.17}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30046.811572, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 523817633.0, "Total blocks": 197124020.0, "Ops per second": 17433384.96, "ns per ops": 57.36, "Ops per threads": 1818811.0, "Ops per procs": 3637622.0, "Ops/sec/procs": 121065.17, "ns per ops/procs": 8260.01}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30039.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 370149237.0, "Ops per second": 12322099.33, "ns per ops": 81.16, "Ops per threads": 963930.0, "Ops per procs": 1927860.0, "Ops/sec/procs": 64177.6, "ns per ops/procs": 15581.76}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 671610757.0, "Total blocks": 298296655.0, "Ops per second": 22376959.16, "ns per ops": 44.69, "Ops per threads": 1748986.0, "Ops per procs": 3497972.0, "Ops/sec/procs": 116546.66, "ns per ops/procs": 8580.26}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30025.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 239364772.0, "Total blocks": 111585568.0, "Ops per second": 7972064.94, "ns per ops": 125.44, "Ops per threads": 7480149.0, "Ops per procs": 14960298.0, "Ops/sec/procs": 498254.06, "ns per ops/procs": 2007.01}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30000.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 257773952.0, "Ops per second": 8592341.9, "ns per ops": 116.38, "Ops per threads": 1342572.0, "Ops per procs": 2685145.0, "Ops/sec/procs": 89503.56, "ns per ops/procs": 11172.74}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 245473439.0, "Ops per second": 8182447.0, "ns per ops": 122.0, "Ops per threads": 1704676.0, "Ops per procs": 3409353.0, "Ops/sec/procs": 113645.0, "ns per ops/procs": 8828.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30021.572978, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 332772792.0, "Total blocks": 122151374.0, "Ops per second": 11084455.58, "ns per ops": 90.22, "Ops per threads": 6932766.0, "Ops per procs": 13865533.0, "Ops/sec/procs": 461852.32, "ns per ops/procs": 2165.19}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30005.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 256298268.0, "Ops per second": 8541775.48, "ns per ops": 117.07, "Ops per threads": 5339547.0, "Ops per procs": 10679094.0, "Ops/sec/procs": 355907.31, "ns per ops/procs": 2809.72}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 157380053.0, "Ops per second": 5246001.0, "ns per ops": 191.0, "Ops per threads": 78690026.0, "Ops per procs": 157380053.0, "Ops/sec/procs": 5246001.0, "ns per ops/procs": 191.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30056.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 252964522.0, "Ops per second": 8416179.32, "ns per ops": 118.82, "Ops per threads": 2635047.0, "Ops per procs": 5270094.0, "Ops/sec/procs": 175337.07, "ns per ops/procs": 5703.3}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 360052154.0, "Ops per second": 12001738.0, "ns per ops": 83.0, "Ops per threads": 3750543.0, "Ops per procs": 7501086.0, "Ops/sec/procs": 250036.0, "ns per ops/procs": 4012.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 425647939.0, "Total blocks": 206971749.0, "Ops per second": 14183892.72, "ns per ops": 70.5, "Ops per threads": 2216916.0, "Ops per procs": 4433832.0, "Ops/sec/procs": 147748.88, "ns per ops/procs": 6768.24}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30029.231935, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 624072306.0, "Total blocks": 247970411.0, "Ops per second": 20782160.11, "ns per ops": 48.12, "Ops per threads": 1625188.0, "Ops per procs": 3250376.0, "Ops/sec/procs": 108240.42, "ns per ops/procs": 9238.69}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30064.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 232946602.0, "Ops per second": 7748216.9, "ns per ops": 129.06, "Ops per threads": 116473301.0, "Ops per procs": 232946602.0, "Ops/sec/procs": 7748216.9, "ns per ops/procs": 129.06}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30051.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 190629493.0, "Ops per second": 6343413.9, "ns per ops": 157.64, "Ops per threads": 11914343.0, "Ops per procs": 23828686.0, "Ops/sec/procs": 792926.74, "ns per ops/procs": 1261.15}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30075.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 248011336.0, "Ops per second": 8246248.21, "ns per ops": 121.27, "Ops per threads": 1291725.0, "Ops per procs": 2583451.0, "Ops/sec/procs": 85898.42, "ns per ops/procs": 11641.66}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30033.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158451322.0, "Ops per second": 5275875.67, "ns per ops": 189.54, "Ops per threads": 19806415.0, "Ops per procs": 39612830.0, "Ops/sec/procs": 1318968.92, "ns per ops/procs": 758.17}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30062.308293, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 192782579.0, "Total blocks": 83089888.0, "Ops per second": 6412767.01, "ns per ops": 155.94, "Ops per threads": 12048911.0, "Ops per procs": 24097822.0, "Ops/sec/procs": 801595.88, "ns per ops/procs": 1247.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185545898.0, "Total blocks": 0.0, "Ops per second": 6180292.76, "ns per ops": 161.8, "Ops per threads": 92772949.0, "Ops per procs": 185545898.0, "Ops/sec/procs": 6180292.76, "ns per ops/procs": 161.8}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 149562522.0, "Total blocks": 77055604.0, "Ops per second": 4981210.59, "ns per ops": 200.75, "Ops per threads": 9347657.0, "Ops per procs": 18695315.0, "Ops/sec/procs": 622651.32, "ns per ops/procs": 1606.04}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30018.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 75258049.0, "Ops per second": 2508601.0, "ns per ops": 398.0, "Ops per threads": 9407256.0, "Ops per procs": 18814512.0, "Ops/sec/procs": 627150.0, "ns per ops/procs": 1595.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30012.448711, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 473847000.0, "Total blocks": 179896785.0, "Ops per second": 15788348.51, "ns per ops": 63.34, "Ops per threads": 3290604.0, "Ops per procs": 6581208.0, "Ops/sec/procs": 219282.62, "ns per ops/procs": 4560.33}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30065.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 100889363.0, "Ops per second": 3362978.0, "ns per ops": 298.0, "Ops per threads": 25222340.0, "Ops per procs": 50444681.0, "Ops/sec/procs": 1681489.0, "ns per ops/procs": 596.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30029.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 934976377.0, "Ops per second": 31134987.31, "ns per ops": 32.12, "Ops per threads": 2434834.0, "Ops per procs": 4869668.0, "Ops/sec/procs": 162161.39, "ns per ops/procs": 6166.7}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30038.451527, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 644421112.0, "Total blocks": 235380873.0, "Ops per second": 21453206.78, "ns per ops": 46.61, "Ops per threads": 6712719.0, "Ops per procs": 13425439.0, "Ops/sec/procs": 446941.81, "ns per ops/procs": 2237.43}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 150712555.0, "Ops per second": 5023751.0, "ns per ops": 199.0, "Ops per threads": 4709767.0, "Ops per procs": 9419534.0, "Ops/sec/procs": 313984.0, "ns per ops/procs": 3195.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30083.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 167417631.0, "Ops per second": 5565064.19, "ns per ops": 179.69, "Ops per threads": 5231800.0, "Ops per procs": 10463601.0, "Ops/sec/procs": 347816.51, "ns per ops/procs": 2875.08}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30056.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 254461000.0, "Ops per second": 8466072.8, "ns per ops": 118.12, "Ops per threads": 1767090.0, "Ops per procs": 3534180.0, "Ops/sec/procs": 117584.34, "ns per ops/procs": 8504.53}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 146509798.0, "Total blocks": 76835365.0, "Ops per second": 4879608.66, "ns per ops": 204.93, "Ops per threads": 9156862.0, "Ops per procs": 18313724.0, "Ops/sec/procs": 609951.08, "ns per ops/procs": 1639.48}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30099.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 559913780.0, "Ops per second": 18663792.0, "ns per ops": 53.0, "Ops per threads": 1458108.0, "Ops per procs": 2916217.0, "Ops/sec/procs": 97207.0, "ns per ops/procs": 10321.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30067.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 176186235.0, "Ops per second": 5859710.46, "ns per ops": 170.66, "Ops per threads": 5505819.0, "Ops per procs": 11011639.0, "Ops/sec/procs": 366231.9, "ns per ops/procs": 2730.51}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 302224707.0, "Ops per second": 10074156.0, "ns per ops": 99.0, "Ops per threads": 1574087.0, "Ops per procs": 3148174.0, "Ops/sec/procs": 104939.0, "ns per ops/procs": 9560.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 598931903.0, "Total blocks": 304621094.0, "Ops per second": 19957558.19, "ns per ops": 50.11, "Ops per threads": 2079624.0, "Ops per procs": 4159249.0, "Ops/sec/procs": 138594.15, "ns per ops/procs": 7215.31}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 563587381.0, "Ops per second": 18786246.0, "ns per ops": 53.0, "Ops per threads": 1467675.0, "Ops per procs": 2935350.0, "Ops/sec/procs": 97845.0, "ns per ops/procs": 10253.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30059.614743, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 182699648.0, "Total blocks": 59814827.0, "Ops per second": 6077910.5, "ns per ops": 164.53, "Ops per threads": 11418728.0, "Ops per procs": 22837456.0, "Ops/sec/procs": 759738.81, "ns per ops/procs": 1316.24}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30025.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 246288685.0, "Total blocks": 115666274.0, "Ops per second": 8202716.72, "ns per ops": 121.91, "Ops per threads": 7696521.0, "Ops per procs": 15393042.0, "Ops/sec/procs": 512669.79, "ns per ops/procs": 1950.57}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 263140401.0, "Ops per second": 8771346.0, "ns per ops": 114.0, "Ops per threads": 1827363.0, "Ops per procs": 3654727.0, "Ops/sec/procs": 121824.0, "ns per ops/procs": 8235.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30067.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 270306858.0, "Ops per second": 8989976.06, "ns per ops": 111.24, "Ops per threads": 2815696.0, "Ops per procs": 5631392.0, "Ops/sec/procs": 187291.17, "ns per ops/procs": 5339.28}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30029.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 500371119.0, "Ops per second": 16662499.6, "ns per ops": 60.02, "Ops per threads": 1737399.0, "Ops per procs": 3474799.0, "Ops/sec/procs": 115711.8, "ns per ops/procs": 8642.16}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 413513116.0, "Total blocks": 200804280.0, "Ops per second": 13779404.16, "ns per ops": 72.57, "Ops per threads": 2153714.0, "Ops per procs": 4307428.0, "Ops/sec/procs": 143535.46, "ns per ops/procs": 6966.92}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 567894464.0, "Ops per second": 18929815.0, "ns per ops": 52.0, "Ops per threads": 1478891.0, "Ops per procs": 2957783.0, "Ops/sec/procs": 98592.0, "ns per ops/procs": 10175.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185443238.0, "Total blocks": 0.0, "Ops per second": 6176821.47, "ns per ops": 161.9, "Ops per threads": 92721619.0, "Ops per procs": 185443238.0, "Ops/sec/procs": 6176821.47, "ns per ops/procs": 161.9}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.816416, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 257318105.0, "Total blocks": 158286753.0, "Ops per second": 8563050.82, "ns per ops": 116.78, "Ops per threads": 128659052.0, "Ops per procs": 257318105.0, "Ops/sec/procs": 8563050.82, "ns per ops/procs": 116.78}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 158785308.0, "Total blocks": 80532857.0, "Ops per second": 5288470.26, "ns per ops": 189.09, "Ops per threads": 9924081.0, "Ops per procs": 19848163.0, "Ops/sec/procs": 661058.78, "ns per ops/procs": 1512.72}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30034.315944, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 442901303.0, "Total blocks": 152659237.0, "Ops per second": 14746508.75, "ns per ops": 67.81, "Ops per threads": 3075703.0, "Ops per procs": 6151406.0, "Ops/sec/procs": 204812.62, "ns per ops/procs": 4882.51}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30068.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 266935161.0, "Ops per second": 8877689.79, "ns per ops": 112.64, "Ops per threads": 2780574.0, "Ops per procs": 5561149.0, "Ops/sec/procs": 184951.87, "ns per ops/procs": 5406.81}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30020.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 115655872.0, "Ops per second": 3852499.04, "ns per ops": 259.57, "Ops per threads": 28913968.0, "Ops per procs": 57827936.0, "Ops/sec/procs": 1926249.52, "ns per ops/procs": 519.14}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 600132082.0, "Total blocks": 300922528.0, "Ops per second": 19997436.91, "ns per ops": 50.01, "Ops per threads": 2083791.0, "Ops per procs": 4167583.0, "Ops/sec/procs": 138871.09, "ns per ops/procs": 7200.92}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30055.931497, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 175772215.0, "Total blocks": 43938903.0, "Ops per second": 5848170.6, "ns per ops": 170.99, "Ops per threads": 21971526.0, "Ops per procs": 43943053.0, "Ops/sec/procs": 1462042.65, "ns per ops/procs": 683.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30054.436743, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 143043757.0, "Total blocks": 67976329.0, "Ops per second": 4759488.86, "ns per ops": 210.11, "Ops per threads": 17880469.0, "Ops per procs": 35760939.0, "Ops/sec/procs": 1189872.22, "ns per ops/procs": 840.43}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30090.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 248326525.0, "Ops per second": 8252524.85, "ns per ops": 121.18, "Ops per threads": 1293367.0, "Ops per procs": 2586734.0, "Ops/sec/procs": 85963.8, "ns per ops/procs": 11632.8}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 558189049.0, "Ops per second": 18606301.0, "ns per ops": 53.0, "Ops per threads": 1453617.0, "Ops per procs": 2907234.0, "Ops/sec/procs": 96907.0, "ns per ops/procs": 10352.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 513500636.0, "Total blocks": 265421415.0, "Ops per second": 17113373.62, "ns per ops": 58.43, "Ops per threads": 5348964.0, "Ops per procs": 10697929.0, "Ops/sec/procs": 356528.62, "ns per ops/procs": 2804.82}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 421171316.0, "Total blocks": 204423899.0, "Ops per second": 14034517.94, "ns per ops": 71.25, "Ops per threads": 2193600.0, "Ops per procs": 4387201.0, "Ops/sec/procs": 146192.9, "ns per ops/procs": 6840.28}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 233968251.0, "Total blocks": 109767508.0, "Ops per second": 7792115.51, "ns per ops": 128.33, "Ops per threads": 7311507.0, "Ops per procs": 14623015.0, "Ops/sec/procs": 487007.22, "ns per ops/procs": 2053.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30027.114969, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 484019275.0, "Total blocks": 173353497.0, "Ops per second": 16119406.59, "ns per ops": 62.04, "Ops per threads": 2520933.0, "Ops per procs": 5041867.0, "Ops/sec/procs": 167910.49, "ns per ops/procs": 5955.55}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 349422149.0, "Total blocks": 170043925.0, "Ops per second": 11643668.04, "ns per ops": 85.88, "Ops per threads": 2426542.0, "Ops per procs": 4853085.0, "Ops/sec/procs": 161717.61, "ns per ops/procs": 6183.62}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.689499, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 245671181.0, "Total blocks": 160310302.0, "Ops per second": 8175498.15, "ns per ops": 122.32, "Ops per threads": 122835590.0, "Ops per procs": 245671181.0, "Ops/sec/procs": 8175498.15, "ns per ops/procs": 122.32}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30028.167791, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 586982381.0, "Total blocks": 230784214.0, "Ops per second": 19547725.49, "ns per ops": 51.16, "Ops per threads": 1528599.0, "Ops per procs": 3057199.0, "Ops/sec/procs": 101811.07, "ns per ops/procs": 9822.12}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30054.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 191094983.0, "Ops per second": 6358292.46, "ns per ops": 157.27, "Ops per threads": 11943436.0, "Ops per procs": 23886872.0, "Ops/sec/procs": 794786.56, "ns per ops/procs": 1258.2}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30067.448489, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 440364380.0, "Total blocks": 167636146.0, "Ops per second": 14645884.57, "ns per ops": 68.28, "Ops per threads": 3058085.0, "Ops per procs": 6116171.0, "Ops/sec/procs": 203415.06, "ns per ops/procs": 4916.06}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30069.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 174406962.0, "Ops per second": 5800035.21, "ns per ops": 172.41, "Ops per threads": 5450217.0, "Ops per procs": 10900435.0, "Ops/sec/procs": 362502.2, "ns per ops/procs": 2758.6}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 228226698.0, "Ops per second": 7607556.0, "ns per ops": 131.0, "Ops per threads": 4754722.0, "Ops per procs": 9509445.0, "Ops/sec/procs": 316981.0, "ns per ops/procs": 3164.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 361552760.0, "Ops per second": 12051758.0, "ns per ops": 83.0, "Ops per threads": 3766174.0, "Ops per procs": 7532349.0, "Ops/sec/procs": 251078.0, "ns per ops/procs": 3995.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30034.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 767530594.0, "Ops per second": 25554983.69, "ns per ops": 39.13, "Ops per threads": 2665036.0, "Ops per procs": 5330073.0, "Ops/sec/procs": 177465.16, "ns per ops/procs": 5634.91}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158428634.0, "Ops per second": 5280954.0, "ns per ops": 189.0, "Ops per threads": 79214317.0, "Ops per procs": 158428634.0, "Ops/sec/procs": 5280954.0, "ns per ops/procs": 189.0}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 261885402.0, "Ops per second": 8719295.88, "ns per ops": 114.69, "Ops per threads": 1818648.0, "Ops per procs": 3637297.0, "Ops/sec/procs": 121101.33, "ns per ops/procs": 8257.55}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 241378158.0, "Ops per second": 8045938.0, "ns per ops": 124.0, "Ops per threads": 5028711.0, "Ops per procs": 10057423.0, "Ops/sec/procs": 335247.0, "ns per ops/procs": 2992.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 76908501.0, "Total blocks": 38451318.0, "Ops per second": 2561571.82, "ns per ops": 390.39, "Ops per threads": 19227125.0, "Ops per procs": 38454250.0, "Ops/sec/procs": 1280785.91, "ns per ops/procs": 780.77}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30053.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 255598381.0, "Ops per second": 8504838.05, "ns per ops": 117.58, "Ops per threads": 2662483.0, "Ops per procs": 5324966.0, "Ops/sec/procs": 177184.13, "ns per ops/procs": 5643.85}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 440315516.0, "Ops per second": 14677183.0, "ns per ops": 68.0, "Ops per threads": 1528873.0, "Ops per procs": 3057746.0, "Ops/sec/procs": 101924.0, "ns per ops/procs": 9843.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 344206891.0, "Ops per second": 11473563.0, "ns per ops": 87.0, "Ops per threads": 3585488.0, "Ops per procs": 7170976.0, "Ops/sec/procs": 239032.0, "ns per ops/procs": 4197.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185561679.0, "Total blocks": 0.0, "Ops per second": 6180810.58, "ns per ops": 161.79, "Ops per threads": 92780839.0, "Ops per procs": 185561679.0, "Ops/sec/procs": 6180810.58, "ns per ops/procs": 161.79}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.464885, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 233838690.0, "Total blocks": 157650195.0, "Ops per second": 7781792.15, "ns per ops": 128.51, "Ops per threads": 116919345.0, "Ops per procs": 233838690.0, "Ops/sec/procs": 7781792.15, "ns per ops/procs": 128.51}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30019.951061, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 313040827.0, "Total blocks": 117290250.0, "Ops per second": 10427759.4, "ns per ops": 95.9, "Ops per threads": 6521683.0, "Ops per procs": 13043367.0, "Ops/sec/procs": 434489.98, "ns per ops/procs": 2301.55}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 155012775.0, "Ops per second": 5167092.0, "ns per ops": 194.0, "Ops per threads": 4844149.0, "Ops per procs": 9688298.0, "Ops/sec/procs": 322943.0, "ns per ops/procs": 3106.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 254309911.0, "Ops per second": 8474553.08, "ns per ops": 118.0, "Ops per threads": 5298123.0, "Ops per procs": 10596246.0, "Ops/sec/procs": 353106.38, "ns per ops/procs": 2832.01}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30049.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 189853335.0, "Ops per second": 6317985.19, "ns per ops": 158.28, "Ops per threads": 11865833.0, "Ops per procs": 23731666.0, "Ops/sec/procs": 789748.15, "ns per ops/procs": 1266.23}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30023.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 560590120.0, "Ops per second": 18671874.95, "ns per ops": 53.56, "Ops per threads": 1459870.0, "Ops per procs": 2919740.0, "Ops/sec/procs": 97249.35, "ns per ops/procs": 10282.85}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 668945253.0, "Total blocks": 297422207.0, "Ops per second": 22288253.59, "ns per ops": 44.87, "Ops per threads": 1742044.0, "Ops per procs": 3484089.0, "Ops/sec/procs": 116084.65, "ns per ops/procs": 8614.41}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30006.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 270447364.0, "Ops per second": 9012994.32, "ns per ops": 110.95, "Ops per threads": 135223682.0, "Ops per procs": 270447364.0, "Ops/sec/procs": 9012994.32, "ns per ops/procs": 110.95}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30048.770509, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 266042767.0, "Total blocks": 156827762.0, "Ops per second": 8853698.92, "ns per ops": 112.95, "Ops per threads": 133021383.0, "Ops per procs": 266042767.0, "Ops/sec/procs": 8853698.92, "ns per ops/procs": 112.95}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 411308096.0, "Total blocks": 199156555.0, "Ops per second": 13705877.59, "ns per ops": 72.96, "Ops per threads": 2142229.0, "Ops per procs": 4284459.0, "Ops/sec/procs": 142769.56, "ns per ops/procs": 7004.29}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 247369104.0, "Total blocks": 115951430.0, "Ops per second": 8238343.31, "ns per ops": 121.38, "Ops per threads": 7730284.0, "Ops per procs": 15460569.0, "Ops/sec/procs": 514896.46, "ns per ops/procs": 1942.14}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30042.824653, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 445409598.0, "Total blocks": 155229028.0, "Ops per second": 14825822.91, "ns per ops": 67.45, "Ops per threads": 3093122.0, "Ops per procs": 6186244.0, "Ops/sec/procs": 205914.21, "ns per ops/procs": 4856.39}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 157761685.0, "Ops per second": 5258722.0, "ns per ops": 190.0, "Ops per threads": 78880842.0, "Ops per procs": 157761685.0, "Ops/sec/procs": 5258722.0, "ns per ops/procs": 190.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 355984243.0, "Ops per second": 11866141.0, "ns per ops": 84.0, "Ops per threads": 3708169.0, "Ops per procs": 7416338.0, "Ops/sec/procs": 247211.0, "ns per ops/procs": 4058.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 159118523.0, "Ops per second": 5297770.65, "ns per ops": 188.76, "Ops per threads": 19889815.0, "Ops per procs": 39779630.0, "Ops/sec/procs": 1324442.66, "ns per ops/procs": 755.03}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30091.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 238424868.0, "Ops per second": 7923240.44, "ns per ops": 126.21, "Ops per threads": 119212434.0, "Ops per procs": 238424868.0, "Ops/sec/procs": 7923240.44, "ns per ops/procs": 126.21}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158408404.0, "Ops per second": 5280280.0, "ns per ops": 190.0, "Ops per threads": 79204202.0, "Ops per procs": 158408404.0, "Ops/sec/procs": 5280280.0, "ns per ops/procs": 190.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 162894226.0, "Ops per second": 5429807.0, "ns per ops": 184.0, "Ops per threads": 5090444.0, "Ops per procs": 10180889.0, "Ops/sec/procs": 339362.0, "ns per ops/procs": 2956.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30075.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 97685112.0, "Ops per second": 3256170.0, "ns per ops": 307.0, "Ops per threads": 24421278.0, "Ops per procs": 48842556.0, "Ops/sec/procs": 1628085.0, "ns per ops/procs": 615.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.56406, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 149190501.0, "Total blocks": 74593404.0, "Ops per second": 4964483.74, "ns per ops": 201.43, "Ops per threads": 37297625.0, "Ops per procs": 74595250.0, "Ops/sec/procs": 2482241.87, "ns per ops/procs": 402.86}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 158194173.0, "Total blocks": 80166451.0, "Ops per second": 5268777.44, "ns per ops": 189.8, "Ops per threads": 9887135.0, "Ops per procs": 19774271.0, "Ops/sec/procs": 658597.18, "ns per ops/procs": 1518.38}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 246969342.0, "Total blocks": 116192333.0, "Ops per second": 8225086.22, "ns per ops": 121.58, "Ops per threads": 7717791.0, "Ops per procs": 15435583.0, "Ops/sec/procs": 514067.89, "ns per ops/procs": 1945.27}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30024.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 183656880.0, "Total blocks": 0.0, "Ops per second": 6116836.98, "ns per ops": 163.48, "Ops per threads": 91828440.0, "Ops per procs": 183656880.0, "Ops/sec/procs": 6116836.98, "ns per ops/procs": 163.48}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30069.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 255610461.0, "Ops per second": 8500769.08, "ns per ops": 117.64, "Ops per threads": 2662608.0, "Ops per procs": 5325217.0, "Ops/sec/procs": 177099.36, "ns per ops/procs": 5646.55}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30029.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 261016539.0, "Ops per second": 8691938.1, "ns per ops": 115.05, "Ops per threads": 1812614.0, "Ops per procs": 3625229.0, "Ops/sec/procs": 120721.36, "ns per ops/procs": 8283.54}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 241045757.0, "Ops per second": 8034858.0, "ns per ops": 124.0, "Ops per threads": 5021786.0, "Ops per procs": 10043573.0, "Ops/sec/procs": 334785.0, "ns per ops/procs": 2996.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30016.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 352570362.0, "Ops per second": 11745814.05, "ns per ops": 85.14, "Ops per threads": 918151.0, "Ops per procs": 1836303.0, "Ops/sec/procs": 61176.11, "ns per ops/procs": 16346.25}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158793436.0, "Ops per second": 5287004.03, "ns per ops": 189.14, "Ops per threads": 19849179.0, "Ops per procs": 39698359.0, "Ops/sec/procs": 1321751.01, "ns per ops/procs": 756.57}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30018.039916, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 529693260.0, "Total blocks": 196001967.0, "Ops per second": 17645831.02, "ns per ops": 56.67, "Ops per threads": 2758819.0, "Ops per procs": 5517638.0, "Ops/sec/procs": 183810.74, "ns per ops/procs": 5440.38}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30050.862761, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 569496141.0, "Total blocks": 221091536.0, "Ops per second": 18951074.57, "ns per ops": 52.77, "Ops per threads": 1977417.0, "Ops per procs": 3954834.0, "Ops/sec/procs": 131604.68, "ns per ops/procs": 7598.51}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30010.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 423611462.0, "Total blocks": 205033000.0, "Ops per second": 14115441.29, "ns per ops": 70.84, "Ops per threads": 2206309.0, "Ops per procs": 4412619.0, "Ops/sec/procs": 147035.85, "ns per ops/procs": 6801.06}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 435423419.0, "Ops per second": 14514113.0, "ns per ops": 69.0, "Ops per threads": 1511886.0, "Ops per procs": 3023773.0, "Ops/sec/procs": 100792.0, "ns per ops/procs": 9953.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30033.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 159135552.0, "Ops per second": 5298515.31, "ns per ops": 188.73, "Ops per threads": 19891944.0, "Ops per procs": 39783888.0, "Ops/sec/procs": 1324628.83, "ns per ops/procs": 754.93}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 145212345.0, "Ops per second": 4840411.0, "ns per ops": 207.0, "Ops per threads": 4537885.0, "Ops per procs": 9075771.0, "Ops/sec/procs": 302525.0, "ns per ops/procs": 3316.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30009.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 71683370.0, "Ops per second": 2389445.0, "ns per ops": 418.0, "Ops per threads": 17920842.0, "Ops per procs": 35841685.0, "Ops/sec/procs": 1194722.0, "ns per ops/procs": 837.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30076.515856, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 277552347.0, "Total blocks": 103912473.0, "Ops per second": 9228208.09, "ns per ops": 108.36, "Ops per threads": 8673510.0, "Ops per procs": 17347021.0, "Ops/sec/procs": 576763.01, "ns per ops/procs": 1733.81}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30068.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 258217896.0, "Ops per second": 8587756.74, "ns per ops": 116.44, "Ops per threads": 2689769.0, "Ops per procs": 5379539.0, "Ops/sec/procs": 178911.6, "ns per ops/procs": 5589.35}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30053.349595, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 146289357.0, "Total blocks": 63635638.0, "Ops per second": 4867655.65, "ns per ops": 205.44, "Ops per threads": 18286169.0, "Ops per procs": 36572339.0, "Ops/sec/procs": 1216913.91, "ns per ops/procs": 821.75}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30028.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 577061684.0, "Ops per second": 19217410.0, "ns per ops": 52.04, "Ops per threads": 2003686.0, "Ops per procs": 4007372.0, "Ops/sec/procs": 133454.24, "ns per ops/procs": 7493.21}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30020.836545, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 322610855.0, "Total blocks": 116696296.0, "Ops per second": 10746231.36, "ns per ops": 93.06, "Ops per threads": 6721059.0, "Ops per procs": 13442118.0, "Ops/sec/procs": 447759.64, "ns per ops/procs": 2233.34}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 667932158.0, "Total blocks": 297173378.0, "Ops per second": 22254181.29, "ns per ops": 44.94, "Ops per threads": 1739406.0, "Ops per procs": 3478813.0, "Ops/sec/procs": 115907.19, "ns per ops/procs": 8627.59}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30091.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 261847479.0, "Ops per second": 8701843.9, "ns per ops": 114.92, "Ops per threads": 1363788.0, "Ops per procs": 2727577.0, "Ops/sec/procs": 90644.21, "ns per ops/procs": 11032.14}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30036.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 608891605.0, "Ops per second": 20271389.69, "ns per ops": 49.33, "Ops per threads": 2114206.0, "Ops per procs": 4228413.0, "Ops/sec/procs": 140773.54, "ns per ops/procs": 7103.61}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 514509186.0, "Total blocks": 265741664.0, "Ops per second": 17146993.24, "ns per ops": 58.32, "Ops per threads": 5359470.0, "Ops per procs": 10718941.0, "Ops/sec/procs": 357229.03, "ns per ops/procs": 2799.32}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30034.302264, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 500492880.0, "Total blocks": 174978107.0, "Ops per second": 16664042.19, "ns per ops": 60.01, "Ops per threads": 2606733.0, "Ops per procs": 5213467.0, "Ops/sec/procs": 173583.77, "ns per ops/procs": 5760.91}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 418635259.0, "Total blocks": 203942234.0, "Ops per second": 13950164.43, "ns per ops": 71.68, "Ops per threads": 2180391.0, "Ops per procs": 4360783.0, "Ops/sec/procs": 145314.21, "ns per ops/procs": 6881.64}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 342818741.0, "Total blocks": 164682287.0, "Ops per second": 11423597.54, "ns per ops": 87.54, "Ops per threads": 2380685.0, "Ops per procs": 4761371.0, "Ops/sec/procs": 158661.08, "ns per ops/procs": 6302.74}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 105133541.0, "Ops per second": 3504451.0, "ns per ops": 286.0, "Ops per threads": 6570846.0, "Ops per procs": 13141692.0, "Ops/sec/procs": 438056.0, "ns per ops/procs": 2290.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30071.112348, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 412601319.0, "Total blocks": 160416101.0, "Ops per second": 13720853.23, "ns per ops": 72.88, "Ops per threads": 2865286.0, "Ops per procs": 5730573.0, "Ops/sec/procs": 190567.41, "ns per ops/procs": 5247.49}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30036.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 159776054.0, "Ops per second": 5319387.99, "ns per ops": 187.99, "Ops per threads": 19972006.0, "Ops per procs": 39944013.0, "Ops/sec/procs": 1329847.0, "ns per ops/procs": 751.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30066.647219, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 632287099.0, "Total blocks": 252888664.0, "Ops per second": 21029518.0, "ns per ops": 47.55, "Ops per threads": 1646580.0, "Ops per procs": 3293161.0, "Ops/sec/procs": 109528.74, "ns per ops/procs": 9130.03}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 476063959.0, "Total blocks": 245436861.0, "Ops per second": 15865709.02, "ns per ops": 63.03, "Ops per threads": 4958999.0, "Ops per procs": 9917999.0, "Ops/sec/procs": 330535.6, "ns per ops/procs": 3025.39}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 73502721.0, "Ops per second": 2450090.0, "ns per ops": 409.0, "Ops per threads": 9187840.0, "Ops per procs": 18375680.0, "Ops/sec/procs": 612522.0, "ns per ops/procs": 1637.0}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30051.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 190474566.0, "Ops per second": 6338351.27, "ns per ops": 157.77, "Ops per threads": 11904660.0, "Ops per procs": 23809320.0, "Ops/sec/procs": 792293.91, "ns per ops/procs": 1262.16}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.924397, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 139139087.0, "Total blocks": 69565052.0, "Ops per second": 4629955.98, "ns per ops": 215.98, "Ops per threads": 34784771.0, "Ops per procs": 69569543.0, "Ops/sec/procs": 2314977.99, "ns per ops/procs": 431.97}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30049.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 190085038.0, "Ops per second": 6325811.31, "ns per ops": 158.08, "Ops per threads": 11880314.0, "Ops per procs": 23760629.0, "Ops/sec/procs": 790726.41, "ns per ops/procs": 1264.66}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30060.941171, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 208033832.0, "Total blocks": 79813092.0, "Ops per second": 6920403.15, "ns per ops": 144.5, "Ops per threads": 13002114.0, "Ops per procs": 26004229.0, "Ops/sec/procs": 865050.39, "ns per ops/procs": 1156.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 95694959.0, "Ops per second": 3189831.0, "ns per ops": 314.0, "Ops per threads": 5980934.0, "Ops per procs": 11961869.0, "Ops/sec/procs": 398728.0, "ns per ops/procs": 2516.0}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30089.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 228200427.0, "Ops per second": 7584019.28, "ns per ops": 131.86, "Ops per threads": 114100213.0, "Ops per procs": 228200427.0, "Ops/sec/procs": 7584019.28, "ns per ops/procs": 131.86}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30087.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 248715745.0, "Ops per second": 8266308.18, "ns per ops": 120.97, "Ops per threads": 1295394.0, "Ops per procs": 2590789.0, "Ops/sec/procs": 86107.38, "ns per ops/procs": 11613.41}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 437040787.0, "Ops per second": 14568026.0, "ns per ops": 68.0, "Ops per threads": 1517502.0, "Ops per procs": 3035005.0, "Ops/sec/procs": 101166.0, "ns per ops/procs": 9916.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30059.954106, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 211332342.0, "Total blocks": 88533319.0, "Ops per second": 7030361.43, "ns per ops": 142.24, "Ops per threads": 13208271.0, "Ops per procs": 26416542.0, "Ops/sec/procs": 878795.18, "ns per ops/procs": 1137.92}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 153499568.0, "Ops per second": 5116652.0, "ns per ops": 196.0, "Ops per threads": 4796861.0, "Ops per procs": 9593723.0, "Ops/sec/procs": 319790.0, "ns per ops/procs": 3137.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158189496.0, "Ops per second": 5266861.26, "ns per ops": 189.87, "Ops per threads": 19773687.0, "Ops per procs": 39547374.0, "Ops/sec/procs": 1316715.32, "ns per ops/procs": 759.47}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 73703092.0, "Ops per second": 2456769.0, "ns per ops": 408.0, "Ops per threads": 9212886.0, "Ops per procs": 18425773.0, "Ops/sec/procs": 614192.0, "ns per ops/procs": 1633.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 416099699.0, "Total blocks": 201688458.0, "Ops per second": 13865668.71, "ns per ops": 72.12, "Ops per threads": 2167185.0, "Ops per procs": 4334371.0, "Ops/sec/procs": 144434.05, "ns per ops/procs": 6923.58}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 257146314.0, "Ops per second": 8571543.0, "ns per ops": 117.0, "Ops per threads": 1785738.0, "Ops per procs": 3571476.0, "Ops/sec/procs": 119049.0, "ns per ops/procs": 8427.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 595253173.0, "Total blocks": 299544007.0, "Ops per second": 19834630.81, "ns per ops": 50.42, "Ops per threads": 2066851.0, "Ops per procs": 4133702.0, "Ops/sec/procs": 137740.49, "ns per ops/procs": 7260.03}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30065.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 273258415.0, "Ops per second": 9088792.69, "ns per ops": 110.03, "Ops per threads": 2846441.0, "Ops per procs": 5692883.0, "Ops/sec/procs": 189349.85, "ns per ops/procs": 5281.23}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 483926761.0, "Total blocks": 249415947.0, "Ops per second": 16127817.09, "ns per ops": 62.0, "Ops per threads": 5040903.0, "Ops per procs": 10081807.0, "Ops/sec/procs": 335996.19, "ns per ops/procs": 2976.22}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30018.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 257541362.0, "Ops per second": 8579414.62, "ns per ops": 116.56, "Ops per threads": 128770681.0, "Ops per procs": 257541362.0, "Ops/sec/procs": 8579414.62, "ns per ops/procs": 116.56}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 246232011.0, "Ops per second": 8207733.0, "ns per ops": 122.0, "Ops per threads": 5129833.0, "Ops per procs": 10259667.0, "Ops/sec/procs": 341988.0, "ns per ops/procs": 2933.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 343446601.0, "Ops per second": 11448220.0, "ns per ops": 87.0, "Ops per threads": 3577568.0, "Ops per procs": 7155137.0, "Ops/sec/procs": 238504.0, "ns per ops/procs": 4206.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79391713.0, "Total blocks": 39692593.0, "Ops per second": 2644297.75, "ns per ops": 378.17, "Ops per threads": 19847928.0, "Ops per procs": 39695856.0, "Ops/sec/procs": 1322148.88, "ns per ops/procs": 756.34}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 154027638.0, "Ops per second": 5134254.0, "ns per ops": 195.0, "Ops per threads": 4813363.0, "Ops per procs": 9626727.0, "Ops/sec/procs": 320890.0, "ns per ops/procs": 3126.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30077.34665, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 275123301.0, "Total blocks": 104582725.0, "Ops per second": 9147193.21, "ns per ops": 109.32, "Ops per threads": 8597603.0, "Ops per procs": 17195206.0, "Ops/sec/procs": 571699.58, "ns per ops/procs": 1749.17}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30061.775197, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 190006250.0, "Total blocks": 62352652.0, "Ops per second": 6320526.61, "ns per ops": 158.21, "Ops per threads": 11875390.0, "Ops per procs": 23750781.0, "Ops/sec/procs": 790065.83, "ns per ops/procs": 1265.72}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 478531922.0, "Total blocks": 246778351.0, "Ops per second": 15948055.38, "ns per ops": 62.7, "Ops per threads": 4984707.0, "Ops per procs": 9969415.0, "Ops/sec/procs": 332251.15, "ns per ops/procs": 3009.77}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30018.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 248201650.0, "Ops per second": 8268193.83, "ns per ops": 120.95, "Ops per threads": 124100825.0, "Ops per procs": 248201650.0, "Ops/sec/procs": 8268193.83, "ns per ops/procs": 120.95}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30049.381108, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 228264700.0, "Total blocks": 161262781.0, "Ops per second": 7596319.51, "ns per ops": 131.64, "Ops per threads": 114132350.0, "Ops per procs": 228264700.0, "Ops/sec/procs": 7596319.51, "ns per ops/procs": 131.64}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 518146333.0, "Total blocks": 264919112.0, "Ops per second": 17268239.72, "ns per ops": 57.91, "Ops per threads": 5397357.0, "Ops per procs": 10794715.0, "Ops/sec/procs": 359754.99, "ns per ops/procs": 2779.67}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30077.186219, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 274791236.0, "Total blocks": 116352258.0, "Ops per second": 9136201.57, "ns per ops": 109.45, "Ops per threads": 8587226.0, "Ops per procs": 17174452.0, "Ops/sec/procs": 571012.6, "ns per ops/procs": 1751.27}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30054.866014, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 164093854.0, "Total blocks": 41014969.0, "Ops per second": 5459809.87, "ns per ops": 183.16, "Ops per threads": 20511731.0, "Ops per procs": 41023463.0, "Ops/sec/procs": 1364952.47, "ns per ops/procs": 732.63}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30066.474354, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 587155400.0, "Total blocks": 215118130.0, "Ops per second": 19528575.02, "ns per ops": 51.21, "Ops per threads": 1529050.0, "Ops per procs": 3058101.0, "Ops/sec/procs": 101711.33, "ns per ops/procs": 9831.75}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 599755419.0, "Total blocks": 305093232.0, "Ops per second": 19984227.41, "ns per ops": 50.04, "Ops per threads": 2082484.0, "Ops per procs": 4164968.0, "Ops/sec/procs": 138779.36, "ns per ops/procs": 7205.68}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30077.447078, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 259444338.0, "Total blocks": 101587683.0, "Ops per second": 8625876.3, "ns per ops": 115.93, "Ops per threads": 8107635.0, "Ops per procs": 16215271.0, "Ops/sec/procs": 539117.27, "ns per ops/procs": 1854.88}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 555818719.0, "Ops per second": 18527290.0, "ns per ops": 54.0, "Ops per threads": 1447444.0, "Ops per procs": 2894889.0, "Ops/sec/procs": 96496.0, "ns per ops/procs": 10397.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 242511897.0, "Ops per second": 8083729.0, "ns per ops": 124.0, "Ops per threads": 1684110.0, "Ops per procs": 3368220.0, "Ops/sec/procs": 112274.0, "ns per ops/procs": 8935.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 167764411.0, "Ops per second": 5592147.0, "ns per ops": 179.0, "Ops per threads": 5242637.0, "Ops per procs": 10485275.0, "Ops/sec/procs": 349509.0, "ns per ops/procs": 2870.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 274077182.0, "Total blocks": 137039095.0, "Ops per second": 9134681.91, "ns per ops": 109.47, "Ops per threads": 5709941.0, "Ops per procs": 11419882.0, "Ops/sec/procs": 380611.75, "ns per ops/procs": 2627.35}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30079.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 169936928.0, "Ops per second": 5649575.59, "ns per ops": 177.0, "Ops per threads": 5310529.0, "Ops per procs": 10621058.0, "Ops/sec/procs": 353098.47, "ns per ops/procs": 2832.07}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30048.614424, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 478986901.0, "Total blocks": 169421105.0, "Ops per second": 15940398.92, "ns per ops": 62.73, "Ops per threads": 3326297.0, "Ops per procs": 6652595.0, "Ops/sec/procs": 221394.43, "ns per ops/procs": 4516.83}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 347468053.0, "Total blocks": 169061627.0, "Ops per second": 11578670.94, "ns per ops": 86.37, "Ops per threads": 2412972.0, "Ops per procs": 4825945.0, "Ops/sec/procs": 160814.87, "ns per ops/procs": 6218.33}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30002.05006, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 587799962.0, "Total blocks": 243471611.0, "Ops per second": 19591993.24, "ns per ops": 51.04, "Ops per threads": 1530729.0, "Ops per procs": 3061458.0, "Ops/sec/procs": 102041.63, "ns per ops/procs": 9799.92}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30017.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 118387589.0, "Ops per second": 3943913.85, "ns per ops": 253.56, "Ops per threads": 29596897.0, "Ops per procs": 59193794.0, "Ops/sec/procs": 1971956.93, "ns per ops/procs": 507.11}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30017.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 115804197.0, "Ops per second": 3857879.59, "ns per ops": 259.21, "Ops per threads": 28951049.0, "Ops per procs": 57902098.0, "Ops/sec/procs": 1928939.79, "ns per ops/procs": 518.42}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30010.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 342843643.0, "Total blocks": 164976982.0, "Ops per second": 11424280.81, "ns per ops": 87.53, "Ops per threads": 2380858.0, "Ops per procs": 4761717.0, "Ops/sec/procs": 158670.57, "ns per ops/procs": 6302.37}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 403750353.0, "Total blocks": 195009089.0, "Ops per second": 13454288.69, "ns per ops": 74.33, "Ops per threads": 2102866.0, "Ops per procs": 4205732.0, "Ops/sec/procs": 140148.84, "ns per ops/procs": 7135.27}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 473145289.0, "Total blocks": 243921087.0, "Ops per second": 15768370.36, "ns per ops": 63.42, "Ops per threads": 4928596.0, "Ops per procs": 9857193.0, "Ops/sec/procs": 328507.72, "ns per ops/procs": 3044.07}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30001.000138, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 551596733.0, "Total blocks": 191018290.0, "Ops per second": 18385944.82, "ns per ops": 54.39, "Ops per threads": 2872899.0, "Ops per procs": 5745799.0, "Ops/sec/procs": 191520.26, "ns per ops/procs": 5221.38}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30033.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 276059748.0, "Ops per second": 9191849.23, "ns per ops": 108.79, "Ops per threads": 1917081.0, "Ops per procs": 3834163.0, "Ops/sec/procs": 127664.57, "ns per ops/procs": 7833.03}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30052.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 189713964.0, "Ops per second": 6312849.07, "ns per ops": 158.41, "Ops per threads": 11857122.0, "Ops per procs": 23714245.0, "Ops/sec/procs": 789106.13, "ns per ops/procs": 1267.26}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30034.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158239404.0, "Ops per second": 5268569.63, "ns per ops": 189.8, "Ops per threads": 19779925.0, "Ops per procs": 39559851.0, "Ops/sec/procs": 1317142.41, "ns per ops/procs": 759.22}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30033.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 936124528.0, "Ops per second": 31169808.87, "ns per ops": 32.08, "Ops per threads": 3250432.0, "Ops per procs": 6500864.0, "Ops/sec/procs": 216457.01, "ns per ops/procs": 4619.86}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 65654632.0, "Ops per second": 2188487.0, "ns per ops": 458.0, "Ops per threads": 8206829.0, "Ops per procs": 16413658.0, "Ops/sec/procs": 547121.0, "ns per ops/procs": 1833.0}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30048.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 257814382.0, "Ops per second": 8579813.16, "ns per ops": 116.55, "Ops per threads": 1790377.0, "Ops per procs": 3580755.0, "Ops/sec/procs": 119164.07, "ns per ops/procs": 8391.79}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30032.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 768715895.0, "Ops per second": 25595999.61, "ns per ops": 39.07, "Ops per threads": 2669152.0, "Ops per procs": 5338304.0, "Ops/sec/procs": 177750.0, "ns per ops/procs": 5625.88}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30046.449574, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 679676853.0, "Total blocks": 256788079.0, "Ops per second": 22620870.77, "ns per ops": 44.21, "Ops per threads": 7079967.0, "Ops per procs": 14159934.0, "Ops/sec/procs": 471268.14, "ns per ops/procs": 2121.93}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 338568719.0, "Ops per second": 11285623.0, "ns per ops": 88.0, "Ops per threads": 3526757.0, "Ops per procs": 7053514.0, "Ops/sec/procs": 235117.0, "ns per ops/procs": 4267.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30005.833734, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 550545435.0, "Total blocks": 214024547.0, "Ops per second": 18347946.6, "ns per ops": 54.5, "Ops per threads": 1911616.0, "Ops per procs": 3823232.0, "Ops/sec/procs": 127416.3, "ns per ops/procs": 7848.29}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30071.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 274299766.0, "Ops per second": 9121672.24, "ns per ops": 109.63, "Ops per threads": 2857289.0, "Ops per procs": 5714578.0, "Ops/sec/procs": 190034.84, "ns per ops/procs": 5262.19}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 251083140.0, "Ops per second": 8369438.0, "ns per ops": 119.0, "Ops per threads": 1743632.0, "Ops per procs": 3487265.0, "Ops/sec/procs": 116242.0, "ns per ops/procs": 8631.0}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30053.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 286748205.0, "Ops per second": 9541326.59, "ns per ops": 104.81, "Ops per threads": 1991306.0, "Ops per procs": 3982613.0, "Ops/sec/procs": 132518.42, "ns per ops/procs": 7546.12}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30054.613179, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 145585970.0, "Total blocks": 69102669.0, "Ops per second": 4844047.37, "ns per ops": 206.44, "Ops per threads": 18198246.0, "Ops per procs": 36396492.0, "Ops/sec/procs": 1211011.84, "ns per ops/procs": 825.76}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30049.833864, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 689933425.0, "Total blocks": 262361792.0, "Ops per second": 22959641.91, "ns per ops": 43.55, "Ops per threads": 7186806.0, "Ops per procs": 14373613.0, "Ops/sec/procs": 478325.87, "ns per ops/procs": 2090.62}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 80294623.0, "Total blocks": 40143768.0, "Ops per second": 2674375.54, "ns per ops": 373.92, "Ops per threads": 20073655.0, "Ops per procs": 40147311.0, "Ops/sec/procs": 1337187.77, "ns per ops/procs": 747.84}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 526111446.0, "Total blocks": 271453354.0, "Ops per second": 17533679.4, "ns per ops": 57.03, "Ops per threads": 5480327.0, "Ops per procs": 10960655.0, "Ops/sec/procs": 365284.99, "ns per ops/procs": 2737.59}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158621402.0, "Ops per second": 5287380.0, "ns per ops": 189.0, "Ops per threads": 79310701.0, "Ops per procs": 158621402.0, "Ops/sec/procs": 5287380.0, "ns per ops/procs": 189.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30021.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 66689404.0, "Ops per second": 2222980.0, "ns per ops": 450.0, "Ops per threads": 16672351.0, "Ops per procs": 33344702.0, "Ops/sec/procs": 1111490.0, "ns per ops/procs": 900.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 297831635.0, "Ops per second": 9927721.0, "ns per ops": 101.0, "Ops per threads": 1551206.0, "Ops per procs": 3102412.0, "Ops/sec/procs": 103413.0, "ns per ops/procs": 9701.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30060.125592, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 195182556.0, "Total blocks": 82466324.0, "Ops per second": 6493071.87, "ns per ops": 154.01, "Ops per threads": 12198909.0, "Ops per procs": 24397819.0, "Ops/sec/procs": 811633.98, "ns per ops/procs": 1232.08}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 110117326.0, "Ops per second": 3670577.0, "ns per ops": 273.0, "Ops per threads": 6882332.0, "Ops per procs": 13764665.0, "Ops/sec/procs": 458822.0, "ns per ops/procs": 2186.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79463065.0, "Total blocks": 39729042.0, "Ops per second": 2646649.15, "ns per ops": 377.84, "Ops per threads": 19865766.0, "Ops per procs": 39731532.0, "Ops/sec/procs": 1323324.58, "ns per ops/procs": 755.67}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 605835222.0, "Total blocks": 304967349.0, "Ops per second": 20187108.92, "ns per ops": 49.54, "Ops per threads": 2103594.0, "Ops per procs": 4207189.0, "Ops/sec/procs": 140188.26, "ns per ops/procs": 7133.27}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30003.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 302996605.0, "Total blocks": 152280272.0, "Ops per second": 10098574.22, "ns per ops": 99.02, "Ops per threads": 6312429.0, "Ops per procs": 12624858.0, "Ops/sec/procs": 420773.93, "ns per ops/procs": 2376.57}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30063.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 263974491.0, "Ops per second": 8780597.13, "ns per ops": 113.89, "Ops per threads": 1833156.0, "Ops per procs": 3666312.0, "Ops/sec/procs": 121952.74, "ns per ops/procs": 8199.9}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30012.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 672129079.0, "Total blocks": 298500598.0, "Ops per second": 22395211.33, "ns per ops": 44.65, "Ops per threads": 1750336.0, "Ops per procs": 3500672.0, "Ops/sec/procs": 116641.73, "ns per ops/procs": 8573.26}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30078.521489, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 295572242.0, "Total blocks": 91034450.0, "Ops per second": 9826687.86, "ns per ops": 101.76, "Ops per threads": 9236632.0, "Ops per procs": 18473265.0, "Ops/sec/procs": 614167.99, "ns per ops/procs": 1628.22}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30066.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 257883471.0, "Ops per second": 8577140.73, "ns per ops": 116.59, "Ops per threads": 2686286.0, "Ops per procs": 5372572.0, "Ops/sec/procs": 178690.43, "ns per ops/procs": 5596.27}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 114378910.0, "Ops per second": 3812630.0, "ns per ops": 263.0, "Ops per threads": 7148681.0, "Ops per procs": 14297363.0, "Ops/sec/procs": 476578.0, "ns per ops/procs": 2105.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 595866627.0, "Total blocks": 302300926.0, "Ops per second": 19855595.43, "ns per ops": 50.36, "Ops per threads": 2068981.0, "Ops per procs": 4137962.0, "Ops/sec/procs": 137886.08, "ns per ops/procs": 7252.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30083.725009, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 594539519.0, "Total blocks": 209451487.0, "Ops per second": 19762829.2, "ns per ops": 50.6, "Ops per threads": 3096559.0, "Ops per procs": 6193119.0, "Ops/sec/procs": 205862.8, "ns per ops/procs": 4857.6}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30068.32569, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 473955591.0, "Total blocks": 172797486.0, "Ops per second": 15762619.97, "ns per ops": 63.44, "Ops per threads": 3291358.0, "Ops per procs": 6582716.0, "Ops/sec/procs": 218925.28, "ns per ops/procs": 4567.77}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 121887182.0, "Total blocks": 72184844.0, "Ops per second": 4059533.5, "ns per ops": 246.33, "Ops per threads": 15235897.0, "Ops per procs": 30471795.0, "Ops/sec/procs": 1014883.37, "ns per ops/procs": 985.33}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30096.372864, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 626203631.0, "Total blocks": 242910382.0, "Ops per second": 20806614.6, "ns per ops": 48.06, "Ops per threads": 1630738.0, "Ops per procs": 3261477.0, "Ops/sec/procs": 108367.78, "ns per ops/procs": 9227.84}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30050.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 191434669.0, "Ops per second": 6370524.41, "ns per ops": 156.97, "Ops per threads": 11964666.0, "Ops per procs": 23929333.0, "Ops/sec/procs": 796315.55, "ns per ops/procs": 1255.78}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30075.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 167550533.0, "Ops per second": 5570917.08, "ns per ops": 179.5, "Ops per threads": 5235954.0, "Ops per procs": 10471908.0, "Ops/sec/procs": 348182.32, "ns per ops/procs": 2872.06}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30060.388705, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 194030823.0, "Total blocks": 86845651.0, "Ops per second": 6454701.07, "ns per ops": 154.93, "Ops per threads": 12126926.0, "Ops per procs": 24253852.0, "Ops/sec/procs": 806837.63, "ns per ops/procs": 1239.41}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30077.807346, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 272460794.0, "Total blocks": 105602793.0, "Ops per second": 9058532.45, "ns per ops": 110.39, "Ops per threads": 8514399.0, "Ops per procs": 17028799.0, "Ops/sec/procs": 566158.28, "ns per ops/procs": 1766.29}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158597202.0, "Ops per second": 5286573.0, "ns per ops": 189.0, "Ops per threads": 79298601.0, "Ops per procs": 158597202.0, "Ops/sec/procs": 5286573.0, "ns per ops/procs": 189.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30063.437763, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 197582975.0, "Total blocks": 83007255.0, "Ops per second": 6572201.64, "ns per ops": 152.16, "Ops per threads": 12348935.0, "Ops per procs": 24697871.0, "Ops/sec/procs": 821525.21, "ns per ops/procs": 1217.25}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30070.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 256667676.0, "Ops per second": 8535623.17, "ns per ops": 117.16, "Ops per threads": 2673621.0, "Ops per procs": 5347243.0, "Ops/sec/procs": 177825.48, "ns per ops/procs": 5623.49}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30052.083819, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 148801360.0, "Total blocks": 74401550.0, "Ops per second": 4951448.99, "ns per ops": 201.96, "Ops per threads": 37200340.0, "Ops per procs": 74400680.0, "Ops/sec/procs": 2475724.49, "ns per ops/procs": 403.92}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30042.596541, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 526193803.0, "Total blocks": 189657858.0, "Ops per second": 17514924.26, "ns per ops": 57.09, "Ops per threads": 2740592.0, "Ops per procs": 5481185.0, "Ops/sec/procs": 182447.13, "ns per ops/procs": 5481.04}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30054.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 293505901.0, "Ops per second": 9765855.89, "ns per ops": 102.4, "Ops per threads": 146752950.0, "Ops per procs": 293505901.0, "Ops/sec/procs": 9765855.89, "ns per ops/procs": 102.4}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30051.751868, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 150988568.0, "Total blocks": 75494776.0, "Ops per second": 5024285.06, "ns per ops": 199.03, "Ops per threads": 37747142.0, "Ops per procs": 75494284.0, "Ops/sec/procs": 2512142.53, "ns per ops/procs": 398.07}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 671127303.0, "Total blocks": 299236142.0, "Ops per second": 22360758.37, "ns per ops": 44.72, "Ops per threads": 1747727.0, "Ops per procs": 3495454.0, "Ops/sec/procs": 116462.28, "ns per ops/procs": 8586.47}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30064.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 672919098.0, "Total blocks": 299322085.0, "Ops per second": 22382812.47, "ns per ops": 44.68, "Ops per threads": 1752393.0, "Ops per procs": 3504786.0, "Ops/sec/procs": 116577.15, "ns per ops/procs": 8578.01}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79618864.0, "Total blocks": 39806676.0, "Ops per second": 2651844.46, "ns per ops": 377.1, "Ops per threads": 19904716.0, "Ops per procs": 39809432.0, "Ops/sec/procs": 1325922.23, "ns per ops/procs": 754.19}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 241590709.0, "Ops per second": 8053023.0, "ns per ops": 124.0, "Ops per threads": 1677713.0, "Ops per procs": 3355426.0, "Ops/sec/procs": 111847.0, "ns per ops/procs": 8969.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 149853746.0, "Total blocks": 77449354.0, "Ops per second": 4990948.6, "ns per ops": 200.36, "Ops per threads": 9365859.0, "Ops per procs": 18731718.0, "Ops/sec/procs": 623868.57, "ns per ops/procs": 1602.9}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 256048210.0, "Total blocks": 127929187.0, "Ops per second": 8533728.88, "ns per ops": 117.18, "Ops per threads": 5334337.0, "Ops per procs": 10668675.0, "Ops/sec/procs": 355572.04, "ns per ops/procs": 2812.37}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30052.652122, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 139391507.0, "Total blocks": 66315608.0, "Ops per second": 4638243.12, "ns per ops": 215.6, "Ops per threads": 17423938.0, "Ops per procs": 34847876.0, "Ops/sec/procs": 1159560.78, "ns per ops/procs": 862.4}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30057.872315, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 689133024.0, "Total blocks": 252210676.0, "Ops per second": 22926873.09, "ns per ops": 43.62, "Ops per threads": 7178469.0, "Ops per procs": 14356938.0, "Ops/sec/procs": 477643.19, "ns per ops/procs": 2093.61}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30074.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 238752493.0, "Ops per second": 7938751.3, "ns per ops": 125.96, "Ops per threads": 1658003.0, "Ops per procs": 3316006.0, "Ops/sec/procs": 110260.43, "ns per ops/procs": 9069.44}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 163469545.0, "Ops per second": 5448984.0, "ns per ops": 184.0, "Ops per threads": 5108423.0, "Ops per procs": 10216846.0, "Ops/sec/procs": 340561.0, "ns per ops/procs": 2945.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 361341819.0, "Ops per second": 12044727.0, "ns per ops": 83.0, "Ops per threads": 3763977.0, "Ops per procs": 7527954.0, "Ops/sec/procs": 250931.0, "ns per ops/procs": 3998.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 239667794.0, "Ops per second": 7988926.0, "ns per ops": 125.0, "Ops per threads": 4993079.0, "Ops per procs": 9986158.0, "Ops/sec/procs": 332871.0, "ns per ops/procs": 3013.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 78039867.0, "Ops per second": 2601328.0, "ns per ops": 385.0, "Ops per threads": 9754983.0, "Ops per procs": 19509966.0, "Ops/sec/procs": 650332.0, "ns per ops/procs": 1542.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30018.372023, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 341662637.0, "Total blocks": 133031434.0, "Ops per second": 11381784.35, "ns per ops": 87.86, "Ops per threads": 7117971.0, "Ops per procs": 14235943.0, "Ops/sec/procs": 474241.01, "ns per ops/procs": 2108.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 404829265.0, "Total blocks": 196264122.0, "Ops per second": 13490080.8, "ns per ops": 74.13, "Ops per threads": 2108485.0, "Ops per procs": 4216971.0, "Ops/sec/procs": 140521.67, "ns per ops/procs": 7116.34}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30032.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 941573117.0, "Ops per second": 31351654.72, "ns per ops": 31.9, "Ops per threads": 3269351.0, "Ops per procs": 6538702.0, "Ops/sec/procs": 217719.82, "ns per ops/procs": 4593.06}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 338883845.0, "Total blocks": 164417272.0, "Ops per second": 11292653.29, "ns per ops": 88.55, "Ops per threads": 2353360.0, "Ops per procs": 4706720.0, "Ops/sec/procs": 156842.41, "ns per ops/procs": 6375.83}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30032.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 159747516.0, "Ops per second": 5319197.82, "ns per ops": 188.0, "Ops per threads": 19968439.0, "Ops per procs": 39936879.0, "Ops/sec/procs": 1329799.46, "ns per ops/procs": 751.99}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30021.81603, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 351968670.0, "Total blocks": 113490020.0, "Ops per second": 11723763.47, "ns per ops": 85.3, "Ops per threads": 7332680.0, "Ops per procs": 14665361.0, "Ops/sec/procs": 488490.14, "ns per ops/procs": 2047.12}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 310993620.0, "Ops per second": 10366454.0, "ns per ops": 96.0, "Ops per threads": 1619758.0, "Ops per procs": 3239516.0, "Ops/sec/procs": 107983.0, "ns per ops/procs": 9291.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 126857126.0, "Total blocks": 74459956.0, "Ops per second": 4225116.89, "ns per ops": 236.68, "Ops per threads": 15857140.0, "Ops per procs": 31714281.0, "Ops/sec/procs": 1056279.22, "ns per ops/procs": 946.72}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 104937295.0, "Ops per second": 3497909.0, "ns per ops": 286.0, "Ops per threads": 6558580.0, "Ops per procs": 13117161.0, "Ops/sec/procs": 437238.0, "ns per ops/procs": 2294.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 246626237.0, "Ops per second": 8220874.0, "ns per ops": 122.0, "Ops per threads": 1712682.0, "Ops per procs": 3425364.0, "Ops/sec/procs": 114178.0, "ns per ops/procs": 8786.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 317396895.0, "Ops per second": 10579896.0, "ns per ops": 94.0, "Ops per threads": 1653108.0, "Ops per procs": 3306217.0, "Ops/sec/procs": 110207.0, "ns per ops/procs": 9103.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30024.409018, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 470417111.0, "Total blocks": 175676580.0, "Ops per second": 15667822.49, "ns per ops": 63.83, "Ops per threads": 3266785.0, "Ops per procs": 6533570.0, "Ops/sec/procs": 217608.65, "ns per ops/procs": 4595.41}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30012.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 643034270.0, "Total blocks": 283277071.0, "Ops per second": 21425195.98, "ns per ops": 46.67, "Ops per threads": 1674568.0, "Ops per procs": 3349136.0, "Ops/sec/procs": 111589.56, "ns per ops/procs": 8961.41}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30099.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 65816728.0, "Ops per second": 2193890.0, "ns per ops": 457.0, "Ops per threads": 8227091.0, "Ops per procs": 16454182.0, "Ops/sec/procs": 548472.0, "ns per ops/procs": 1829.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30081.905352, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 533724834.0, "Total blocks": 207513952.0, "Ops per second": 17742387.92, "ns per ops": 56.36, "Ops per threads": 1853211.0, "Ops per procs": 3706422.0, "Ops/sec/procs": 123211.03, "ns per ops/procs": 8116.16}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30006.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 255476269.0, "Ops per second": 8514064.65, "ns per ops": 117.45, "Ops per threads": 5322422.0, "Ops per procs": 10644844.0, "Ops/sec/procs": 354752.69, "ns per ops/procs": 2818.87}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 79549342.0, "Total blocks": 39772198.0, "Ops per second": 2649544.1, "ns per ops": 377.42, "Ops per threads": 19887335.0, "Ops per procs": 39774671.0, "Ops/sec/procs": 1324772.05, "ns per ops/procs": 754.85}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 264685790.0, "Ops per second": 8822859.0, "ns per ops": 113.0, "Ops per threads": 1838095.0, "Ops per procs": 3676191.0, "Ops/sec/procs": 122539.0, "ns per ops/procs": 8187.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30098.818672, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 607112623.0, "Total blocks": 228878907.0, "Ops per second": 20170646.22, "ns per ops": 49.58, "Ops per threads": 1581022.0, "Ops per procs": 3162044.0, "Ops/sec/procs": 105055.45, "ns per ops/procs": 9518.79}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 246785819.0, "Ops per second": 8226193.0, "ns per ops": 121.0, "Ops per threads": 5141371.0, "Ops per procs": 10282742.0, "Ops/sec/procs": 342758.0, "ns per ops/procs": 2927.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30044.89221, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 679548565.0, "Total blocks": 245615223.0, "Ops per second": 22617773.44, "ns per ops": 44.21, "Ops per threads": 7078630.0, "Ops per procs": 14157261.0, "Ops/sec/procs": 471203.61, "ns per ops/procs": 2122.22}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30055.51454, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 152177674.0, "Total blocks": 66597507.0, "Ops per second": 5063219.72, "ns per ops": 197.5, "Ops per threads": 19022209.0, "Ops per procs": 38044418.0, "Ops/sec/procs": 1265804.93, "ns per ops/procs": 790.01}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 97296542.0, "Ops per second": 3243218.0, "ns per ops": 309.0, "Ops per threads": 6081033.0, "Ops per procs": 12162067.0, "Ops/sec/procs": 405402.0, "ns per ops/procs": 2474.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 590020576.0, "Total blocks": 299813270.0, "Ops per second": 19660392.13, "ns per ops": 50.86, "Ops per threads": 2048682.0, "Ops per procs": 4097365.0, "Ops/sec/procs": 136530.5, "ns per ops/procs": 7324.37}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30068.178489, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 537900077.0, "Total blocks": 194915970.0, "Ops per second": 17889346.95, "ns per ops": 55.9, "Ops per threads": 2801562.0, "Ops per procs": 5603125.0, "Ops/sec/procs": 186347.36, "ns per ops/procs": 5366.32}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 157017519.0, "Ops per second": 5233917.0, "ns per ops": 191.0, "Ops per threads": 4906797.0, "Ops per procs": 9813594.0, "Ops/sec/procs": 327119.0, "ns per ops/procs": 3066.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 263588610.0, "Ops per second": 8786287.0, "ns per ops": 114.0, "Ops per threads": 1830476.0, "Ops per procs": 3660952.0, "Ops/sec/procs": 122031.0, "ns per ops/procs": 8221.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30030.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 386425745.0, "Ops per second": 12867691.17, "ns per ops": 77.71, "Ops per threads": 1006317.0, "Ops per procs": 2012634.0, "Ops/sec/procs": 67019.22, "ns per ops/procs": 14921.09}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30021.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 256531765.0, "Ops per second": 8545073.79, "ns per ops": 117.03, "Ops per threads": 5344411.0, "Ops per procs": 10688823.0, "Ops/sec/procs": 356044.74, "ns per ops/procs": 2808.64}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30077.892052, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 263751023.0, "Total blocks": 102657263.0, "Ops per second": 8768933.09, "ns per ops": 114.04, "Ops per threads": 8242219.0, "Ops per procs": 16484438.0, "Ops/sec/procs": 548058.32, "ns per ops/procs": 1824.62}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 414160455.0, "Total blocks": 201822965.0, "Ops per second": 13801001.71, "ns per ops": 72.46, "Ops per threads": 2157085.0, "Ops per procs": 4314171.0, "Ops/sec/procs": 143760.43, "ns per ops/procs": 6956.02}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30074.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 259890152.0, "Ops per second": 8641576.06, "ns per ops": 115.72, "Ops per threads": 1353594.0, "Ops per procs": 2707189.0, "Ops/sec/procs": 90016.42, "ns per ops/procs": 11109.08}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30030.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 265992205.0, "Ops per second": 8857304.01, "ns per ops": 112.9, "Ops per threads": 1847168.0, "Ops per procs": 3694336.0, "Ops/sec/procs": 123018.11, "ns per ops/procs": 8128.88}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30019.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 116506198.0, "Ops per second": 3880962.4, "ns per ops": 257.67, "Ops per threads": 29126549.0, "Ops per procs": 58253099.0, "Ops/sec/procs": 1940481.2, "ns per ops/procs": 515.34}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 572012936.0, "Ops per second": 19067097.0, "ns per ops": 52.0, "Ops per threads": 1489617.0, "Ops per procs": 2979234.0, "Ops/sec/procs": 99307.0, "ns per ops/procs": 10102.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30037.388555, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 144.0, "Total Operations(ops)": 559307800.0, "Total blocks": 216255389.0, "Ops per second": 18620387.02, "ns per ops": 53.7, "Ops per threads": 1942040.0, "Ops per procs": 3884081.0, "Ops/sec/procs": 129308.24, "ns per ops/procs": 7733.46}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 579495819.0, "Ops per second": 19316527.0, "ns per ops": 51.0, "Ops per threads": 1509103.0, "Ops per procs": 3018207.0, "Ops/sec/procs": 100606.0, "ns per ops/procs": 9972.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30064.125041, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 677214696.0, "Total blocks": 263976927.0, "Ops per second": 22525674.54, "ns per ops": 44.39, "Ops per threads": 7054319.0, "Ops per procs": 14108639.0, "Ops/sec/procs": 469284.89, "ns per ops/procs": 2130.9}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30069.292225, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 568277943.0, "Total blocks": 223678487.0, "Ops per second": 18898946.43, "ns per ops": 52.91, "Ops per threads": 1479890.0, "Ops per procs": 2959780.0, "Ops/sec/procs": 98432.01, "ns per ops/procs": 10159.3}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 122561268.0, "Total blocks": 72582809.0, "Ops per second": 4081987.94, "ns per ops": 244.98, "Ops per threads": 15320158.0, "Ops per procs": 30640317.0, "Ops/sec/procs": 1020496.99, "ns per ops/procs": 979.91}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30085.992156, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 618135923.0, "Total blocks": 237426548.0, "Ops per second": 20545638.64, "ns per ops": 48.67, "Ops per threads": 1609728.0, "Ops per procs": 3219457.0, "Ops/sec/procs": 107008.53, "ns per ops/procs": 9345.05}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30025.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 280164068.0, "Ops per second": 9331008.17, "ns per ops": 107.17, "Ops per threads": 1945583.0, "Ops per procs": 3891167.0, "Ops/sec/procs": 129597.34, "ns per ops/procs": 7716.21}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 2.0, "Total Operations(ops)": 77659393.0, "Total blocks": 38826979.0, "Ops per second": 2586544.52, "ns per ops": 386.62, "Ops per threads": 19414848.0, "Ops per procs": 38829696.0, "Ops/sec/procs": 1293272.26, "ns per ops/procs": 773.23}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 342142425.0, "Total blocks": 166866953.0, "Ops per second": 11401232.29, "ns per ops": 87.71, "Ops per threads": 2375989.0, "Ops per procs": 4751978.0, "Ops/sec/procs": 158350.45, "ns per ops/procs": 6315.11}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 561561175.0, "Ops per second": 18718705.0, "ns per ops": 53.0, "Ops per threads": 1462398.0, "Ops per procs": 2924797.0, "Ops/sec/procs": 97493.0, "ns per ops/procs": 10290.0}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30065.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 274927849.0, "Ops per second": 9144283.56, "ns per ops": 109.36, "Ops per threads": 2863831.0, "Ops per procs": 5727663.0, "Ops/sec/procs": 190505.91, "ns per ops/procs": 5249.18}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 95144884.0, "Ops per second": 3171496.0, "ns per ops": 316.0, "Ops per threads": 5946555.0, "Ops per procs": 11893110.0, "Ops/sec/procs": 396437.0, "ns per ops/procs": 2530.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 433296312.0, "Ops per second": 14443210.0, "ns per ops": 69.0, "Ops per threads": 1504501.0, "Ops per procs": 3009002.0, "Ops/sec/procs": 100300.0, "ns per ops/procs": 10002.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30021.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185470146.0, "Total blocks": 0.0, "Ops per second": 6177811.29, "ns per ops": 161.87, "Ops per threads": 92735073.0, "Ops per procs": 185470146.0, "Ops/sec/procs": 6177811.29, "ns per ops/procs": 161.87}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30008.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 347307995.0, "Total blocks": 167691727.0, "Ops per second": 11573513.84, "ns per ops": 86.4, "Ops per threads": 2411861.0, "Ops per procs": 4823722.0, "Ops/sec/procs": 160743.25, "ns per ops/procs": 6221.1}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 90388591.0, "Ops per second": 3012953.0, "ns per ops": 331.0, "Ops per threads": 11298573.0, "Ops per procs": 22597147.0, "Ops/sec/procs": 753238.0, "ns per ops/procs": 1327.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30016.126726, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 626407233.0, "Total blocks": 246809138.0, "Ops per second": 20869022.8, "ns per ops": 47.92, "Ops per threads": 1631268.0, "Ops per procs": 3262537.0, "Ops/sec/procs": 108692.83, "ns per ops/procs": 9200.24}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30048.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 192068275.0, "Ops per second": 6391903.05, "ns per ops": 156.45, "Ops per threads": 12004267.0, "Ops per procs": 24008534.0, "Ops/sec/procs": 798987.88, "ns per ops/procs": 1251.58}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 110867565.0, "Ops per second": 3695585.0, "ns per ops": 271.0, "Ops per threads": 6929222.0, "Ops per procs": 13858445.0, "Ops/sec/procs": 461948.0, "ns per ops/procs": 2171.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 158375636.0, "Ops per second": 5279187.0, "ns per ops": 190.0, "Ops per threads": 79187818.0, "Ops per procs": 158375636.0, "Ops/sec/procs": 5279187.0, "ns per ops/procs": 190.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 120506992.0, "Total blocks": 71485222.0, "Ops per second": 4013621.13, "ns per ops": 249.15, "Ops per threads": 15063374.0, "Ops per procs": 30126748.0, "Ops/sec/procs": 1003405.28, "ns per ops/procs": 996.61}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30036.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 259272763.0, "Ops per second": 8631802.64, "ns per ops": 115.85, "Ops per threads": 2700757.0, "Ops per procs": 5401515.0, "Ops/sec/procs": 179829.22, "ns per ops/procs": 5560.83}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 148769038.0, "Ops per second": 4958967.0, "ns per ops": 202.0, "Ops per threads": 4649032.0, "Ops per procs": 9298064.0, "Ops/sec/procs": 309935.0, "ns per ops/procs": 3237.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 122412328.0, "Total blocks": 72540051.0, "Ops per second": 4077092.61, "ns per ops": 245.27, "Ops per threads": 15301541.0, "Ops per procs": 30603082.0, "Ops/sec/procs": 1019273.15, "ns per ops/procs": 981.09}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30054.42209, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 155618160.0, "Total blocks": 66780078.0, "Ops per second": 5177878.97, "ns per ops": 193.13, "Ops per threads": 19452270.0, "Ops per procs": 38904540.0, "Ops/sec/procs": 1294469.74, "ns per ops/procs": 772.52}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 107016269.0, "Ops per second": 3567208.0, "ns per ops": 281.0, "Ops per threads": 6688516.0, "Ops per procs": 13377033.0, "Ops/sec/procs": 445901.0, "ns per ops/procs": 2249.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30020.84031, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 335636349.0, "Total blocks": 121290801.0, "Ops per second": 11180111.73, "ns per ops": 89.44, "Ops per threads": 6992423.0, "Ops per procs": 13984847.0, "Ops/sec/procs": 465837.99, "ns per ops/procs": 2146.67}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 66909163.0, "Ops per second": 2230305.0, "ns per ops": 449.0, "Ops per threads": 8363645.0, "Ops per procs": 16727290.0, "Ops/sec/procs": 557576.0, "ns per ops/procs": 1799.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30081.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 168078161.0, "Ops per second": 5587397.48, "ns per ops": 178.97, "Ops per threads": 5252442.0, "Ops per procs": 10504885.0, "Ops/sec/procs": 349212.34, "ns per ops/procs": 2863.59}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 419559692.0, "Total blocks": 202526436.0, "Ops per second": 13980959.21, "ns per ops": 71.53, "Ops per threads": 2185206.0, "Ops per procs": 4370413.0, "Ops/sec/procs": 145634.99, "ns per ops/procs": 6866.48}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30003.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 301263853.0, "Total blocks": 151393973.0, "Ops per second": 10040792.74, "ns per ops": 99.59, "Ops per threads": 6276330.0, "Ops per procs": 12552660.0, "Ops/sec/procs": 418366.36, "ns per ops/procs": 2390.25}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 6.0, "Total Operations(ops)": 293519361.0, "Ops per second": 9783978.0, "ns per ops": 102.0, "Ops per threads": 1528746.0, "Ops per procs": 3057493.0, "Ops/sec/procs": 101916.0, "ns per ops/procs": 9843.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 126886524.0, "Total blocks": 74568609.0, "Ops per second": 4226120.88, "ns per ops": 236.62, "Ops per threads": 15860815.0, "Ops per procs": 31721631.0, "Ops/sec/procs": 1056530.22, "ns per ops/procs": 946.49}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30038.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 269033539.0, "Ops per second": 8956396.5, "ns per ops": 111.65, "Ops per threads": 1868288.0, "Ops per procs": 3736576.0, "Ops/sec/procs": 124394.4, "ns per ops/procs": 8038.95}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 288", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 288.0, "Number of spots": 6.0, "Total Operations(ops)": 441575269.0, "Ops per second": 14719175.0, "ns per ops": 68.0, "Ops per threads": 1533247.0, "Ops per procs": 3066494.0, "Ops/sec/procs": 102216.0, "ns per ops/procs": 9815.0}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30026.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 72.0, "Total Operations(ops)": 272928349.0, "Ops per second": 9089467.99, "ns per ops": 110.02, "Ops per threads": 1895335.0, "Ops per procs": 3790671.0, "Ops/sec/procs": 126242.61, "ns per ops/procs": 7921.26}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30070.064675, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 650309182.0, "Total blocks": 265196306.0, "Ops per second": 21626464.36, "ns per ops": 46.24, "Ops per threads": 6774053.0, "Ops per procs": 13548107.0, "Ops/sec/procs": 450551.34, "ns per ops/procs": 2219.5}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30055.258465, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 138718289.0, "Total blocks": 66049444.0, "Ops per second": 4615441.56, "ns per ops": 216.66, "Ops per threads": 17339786.0, "Ops per procs": 34679572.0, "Ops/sec/procs": 1153860.39, "ns per ops/procs": 866.66}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30054.464037, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 192.0, "Total Operations(ops)": 594728221.0, "Total blocks": 227093605.0, "Ops per second": 19788348.92, "ns per ops": 50.53, "Ops per threads": 1548771.0, "Ops per procs": 3097542.0, "Ops/sec/procs": 103064.32, "ns per ops/procs": 9702.68}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 144.0, "Number of spots": 6.0, "Total Operations(ops)": 262402060.0, "Ops per second": 8746735.0, "ns per ops": 114.0, "Ops per threads": 1822236.0, "Ops per procs": 3644473.0, "Ops/sec/procs": 121482.0, "ns per ops/procs": 8258.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30058.0, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 269076036.0, "Ops per second": 8951856.66, "ns per ops": 111.71, "Ops per threads": 1401437.0, "Ops per procs": 2802875.0, "Ops/sec/procs": 93248.51, "ns per ops/procs": 10724.03}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 185546705.0, "Total blocks": 0.0, "Ops per second": 6180325.98, "ns per ops": 161.8, "Ops per threads": 92773352.0, "Ops per procs": 185546705.0, "Ops/sec/procs": 6180325.98, "ns per ops/procs": 161.8}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 289825346.0, "Total blocks": 144426328.0, "Ops per second": 9659517.84, "ns per ops": 103.52, "Ops per threads": 6038028.0, "Ops per procs": 12076056.0, "Ops/sec/procs": 402479.91, "ns per ops/procs": 2484.6}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 6.0, "Total Operations(ops)": 366063094.0, "Ops per second": 12202103.0, "ns per ops": 82.0, "Ops per threads": 3813157.0, "Ops per procs": 7626314.0, "Ops/sec/procs": 254210.0, "ns per ops/procs": 3946.0}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30048.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 210055038.0, "Ops per second": 6990578.73, "ns per ops": 143.05, "Ops per threads": 105027519.0, "Ops per procs": 210055038.0, "Ops/sec/procs": 6990578.73, "ns per ops/procs": 143.05}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 276161638.0, "Total blocks": 138322434.0, "Ops per second": 9204123.96, "ns per ops": 108.65, "Ops per threads": 5753367.0, "Ops per procs": 11506734.0, "Ops/sec/procs": 383505.16, "ns per ops/procs": 2607.53}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 233863400.0, "Ops per second": 7795446.0, "ns per ops": 128.0, "Ops per threads": 4872154.0, "Ops per procs": 9744308.0, "Ops/sec/procs": 324810.0, "ns per ops/procs": 3088.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 384", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 384.0, "Number of spots": 6.0, "Total Operations(ops)": 566106974.0, "Ops per second": 18870232.0, "ns per ops": 53.0, "Ops per threads": 1474236.0, "Ops per procs": 2948473.0, "Ops/sec/procs": 98282.0, "ns per ops/procs": 10207.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30055.521339, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 149045195.0, "Total blocks": 63884658.0, "Ops per second": 4958995.5, "ns per ops": 201.65, "Ops per threads": 18630649.0, "Ops per procs": 37261298.0, "Ops/sec/procs": 1239748.87, "ns per ops/procs": 806.61}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 4", {"Duration (ms)": 30085.0, "Number of processors": 2.0, "Number of threads": 4.0, "Number of spots": 6.0, "Total Operations(ops)": 98072071.0, "Ops per second": 3269069.0, "ns per ops": 306.0, "Ops per threads": 24518017.0, "Ops per procs": 49036035.0, "Ops/sec/procs": 1634534.0, "ns per ops/procs": 613.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 32", {"Duration (ms)": 30073.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 168906626.0, "Ops per second": 5616458.52, "ns per ops": 178.05, "Ops per threads": 5278332.0, "Ops per procs": 10556664.0, "Ops/sec/procs": 351028.66, "ns per ops/procs": 2848.77}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 295170572.0, "Total blocks": 150231962.0, "Ops per second": 9837699.12, "ns per ops": 101.65, "Ops per threads": 6149386.0, "Ops per procs": 12298773.0, "Ops/sec/procs": 409904.13, "ns per ops/procs": 2439.6}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30012.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 255262513.0, "Ops per second": 8505334.59, "ns per ops": 117.57, "Ops per threads": 5317969.0, "Ops per procs": 10635938.0, "Ops/sec/procs": 354388.94, "ns per ops/procs": 2821.76}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 236400459.0, "Ops per second": 7880015.0, "ns per ops": 127.0, "Ops per threads": 4925009.0, "Ops per procs": 9850019.0, "Ops/sec/procs": 328333.0, "ns per ops/procs": 3055.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30033.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 158598013.0, "Ops per second": 5280720.15, "ns per ops": 189.37, "Ops per threads": 19824751.0, "Ops per procs": 39649503.0, "Ops/sec/procs": 1320180.04, "ns per ops/procs": 757.47}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 2", {"Duration (ms)": 30050.153252, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 260007942.0, "Total blocks": 157847158.0, "Ops per second": 8652466.42, "ns per ops": 115.57, "Ops per threads": 130003971.0, "Ops per procs": 260007942.0, "Ops/sec/procs": 8652466.42, "ns per ops/procs": 115.57}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 6.0, "Total Operations(ops)": 69417557.0, "Ops per second": 2313918.0, "ns per ops": 433.0, "Ops per threads": 8677194.0, "Ops per procs": 17354389.0, "Ops/sec/procs": 578479.0, "ns per ops/procs": 1734.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 104995796.0, "Ops per second": 3499859.0, "ns per ops": 286.0, "Ops per threads": 6562237.0, "Ops per procs": 13124474.0, "Ops/sec/procs": 437482.0, "ns per ops/procs": 2293.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 8.0, "Number of spots": 4.0, "Total Operations(ops)": 112060200.0, "Total blocks": 65073987.0, "Ops per second": 3732281.67, "ns per ops": 267.93, "Ops per threads": 14007525.0, "Ops per procs": 28015050.0, "Ops/sec/procs": 933070.42, "ns per ops/procs": 1071.73}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 192", {"Duration (ms)": 30023.135933, "Number of processors": 96.0, "Number of threads": 192.0, "Number of spots": 96.0, "Total Operations(ops)": 515531010.0, "Total blocks": 190965998.0, "Ops per second": 17171124.67, "ns per ops": 58.24, "Ops per threads": 2685057.0, "Ops per procs": 5370114.0, "Ops/sec/procs": 178865.88, "ns per ops/procs": 5590.78}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 96.0, "Number of spots": 48.0, "Total Operations(ops)": 513472966.0, "Total blocks": 265250105.0, "Ops per second": 17112470.96, "ns per ops": 58.44, "Ops per threads": 5348676.0, "Ops per procs": 10697353.0, "Ops/sec/procs": 356509.81, "ns per ops/procs": 2804.97}]]1 [["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10007.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 45886505.0, "Total blocks": 23581519.0, "Ops per second": 4584996.42, "ns per ops": 218.1, "Ops per threads": 2867906.0, "Ops per procs": 5735813.0, "Ops/sec/procs": 573124.55, "ns per ops/procs": 1744.82}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10031.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 52948646.0, "Ops per second": 5278451.52, "ns per ops": 189.45, "Ops per threads": 1654645.0, "Ops per procs": 3309290.0, "Ops/sec/procs": 329903.22, "ns per ops/procs": 3031.19}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10008.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 45571308.0, "Total blocks": 23418912.0, "Ops per second": 4553347.51, "ns per ops": 219.62, "Ops per threads": 2848206.0, "Ops per procs": 5696413.0, "Ops/sec/procs": 569168.44, "ns per ops/procs": 1756.95}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10020.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 57549768.0, "Ops per second": 5743275.64, "ns per ops": 174.12, "Ops per threads": 3596860.0, "Ops per procs": 7193721.0, "Ops/sec/procs": 717909.45, "ns per ops/procs": 1392.93}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10025.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 52431553.0, "Ops per second": 5229696.44, "ns per ops": 191.22, "Ops per threads": 1638486.0, "Ops per procs": 3276972.0, "Ops/sec/procs": 326856.03, "ns per ops/procs": 3059.45}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10009.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 67810265.0, "Total blocks": 32862605.0, "Ops per second": 6774910.95, "ns per ops": 147.6, "Ops per threads": 2119070.0, "Ops per procs": 4238141.0, "Ops/sec/procs": 423431.93, "ns per ops/procs": 2361.65}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10013.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 57847054.0, "Ops per second": 5777194.35, "ns per ops": 173.09, "Ops per threads": 3615440.0, "Ops per procs": 7230881.0, "Ops/sec/procs": 722149.29, "ns per ops/procs": 1384.76}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10065.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 75010542.0, "Ops per second": 7452234.24, "ns per ops": 134.19, "Ops per threads": 37505271.0, "Ops per procs": 75010542.0, "Ops/sec/procs": 7452234.24, "ns per ops/procs": 134.19}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10018.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 75353303.0, "Ops per second": 7521765.77, "ns per ops": 132.95, "Ops per threads": 37676651.0, "Ops per procs": 75353303.0, "Ops/sec/procs": 7521765.77, "ns per ops/procs": 132.95}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10038.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 77580756.0, "Ops per second": 7728213.1, "ns per ops": 129.4, "Ops per threads": 1616265.0, "Ops per procs": 3232531.0, "Ops/sec/procs": 322008.88, "ns per ops/procs": 3105.5}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10100.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 55704847.0, "Ops per second": 5570484.0, "ns per ops": 181.0, "Ops per threads": 1740776.0, "Ops per procs": 3481552.0, "Ops/sec/procs": 348155.0, "ns per ops/procs": 2901.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 75768750.0, "Total blocks": 39198331.0, "Ops per second": 7575582.46, "ns per ops": 132.0, "Ops per threads": 1578515.0, "Ops per procs": 3157031.0, "Ops/sec/procs": 315649.27, "ns per ops/procs": 3168.07}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10009.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 68082972.0, "Total blocks": 32947596.0, "Ops per second": 6801956.28, "ns per ops": 147.02, "Ops per threads": 2127592.0, "Ops per procs": 4255185.0, "Ops/sec/procs": 425122.27, "ns per ops/procs": 2352.26}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 53235539.0, "Ops per second": 5323553.0, "ns per ops": 189.0, "Ops per threads": 26617769.0, "Ops per procs": 53235539.0, "Ops/sec/procs": 5323553.0, "ns per ops/procs": 189.0}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10029.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 51995117.0, "Ops per second": 5184034.28, "ns per ops": 192.9, "Ops per threads": 1624847.0, "Ops per procs": 3249694.0, "Ops/sec/procs": 324002.14, "ns per ops/procs": 3086.4}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 75855247.0, "Ops per second": 7585524.0, "ns per ops": 133.0, "Ops per threads": 1580317.0, "Ops per procs": 3160635.0, "Ops/sec/procs": 316063.0, "ns per ops/procs": 3195.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10016.677107, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 82722736.0, "Total blocks": 51097615.0, "Ops per second": 8258500.81, "ns per ops": 121.09, "Ops per threads": 41361368.0, "Ops per procs": 82722736.0, "Ops/sec/procs": 8258500.81, "ns per ops/procs": 121.09}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 82039759.0, "Ops per second": 8203975.0, "ns per ops": 123.0, "Ops per threads": 1709161.0, "Ops per procs": 3418323.0, "Ops/sec/procs": 341832.0, "ns per ops/procs": 2954.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10019.859008, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 60823669.0, "Total blocks": 20963529.0, "Ops per second": 6070311.86, "ns per ops": 164.74, "Ops per threads": 3801479.0, "Ops per procs": 7602958.0, "Ops/sec/procs": 758788.98, "ns per ops/procs": 1317.89}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10026.064514, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 84419895.0, "Total blocks": 31896077.0, "Ops per second": 8420043.07, "ns per ops": 118.76, "Ops per threads": 2638121.0, "Ops per procs": 5276243.0, "Ops/sec/procs": 526252.69, "ns per ops/procs": 1900.23}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10066.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 86259431.0, "Ops per second": 8569319.99, "ns per ops": 116.7, "Ops per threads": 43129715.0, "Ops per procs": 86259431.0, "Ops/sec/procs": 8569319.99, "ns per ops/procs": 116.7}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10020.476753, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 61723297.0, "Total blocks": 27893419.0, "Ops per second": 6159716.6, "ns per ops": 162.35, "Ops per threads": 3857706.0, "Ops per procs": 7715412.0, "Ops/sec/procs": 769964.58, "ns per ops/procs": 1298.76}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 39895438.0, "Ops per second": 3989543.0, "ns per ops": 253.0, "Ops per threads": 2493464.0, "Ops per procs": 4986929.0, "Ops/sec/procs": 498692.0, "ns per ops/procs": 2025.0}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10044.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 78307639.0, "Ops per second": 7795946.42, "ns per ops": 128.27, "Ops per threads": 1631409.0, "Ops per procs": 3262818.0, "Ops/sec/procs": 324831.1, "ns per ops/procs": 3078.52}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10008.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 45589496.0, "Total blocks": 23479172.0, "Ops per second": 4555270.66, "ns per ops": 219.53, "Ops per threads": 2849343.0, "Ops per procs": 5698687.0, "Ops/sec/procs": 569408.83, "ns per ops/procs": 1756.21}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 52936021.0, "Ops per second": 5293602.0, "ns per ops": 190.0, "Ops per threads": 26468010.0, "Ops per procs": 52936021.0, "Ops/sec/procs": 5293602.0, "ns per ops/procs": 190.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 74937686.0, "Total blocks": 38772422.0, "Ops per second": 7492506.92, "ns per ops": 133.47, "Ops per threads": 1561201.0, "Ops per procs": 3122403.0, "Ops/sec/procs": 312187.79, "ns per ops/procs": 3203.2}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10019.966204, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 66694419.0, "Total blocks": 28038485.0, "Ops per second": 6656152.09, "ns per ops": 150.24, "Ops per threads": 4168401.0, "Ops per procs": 8336802.0, "Ops/sec/procs": 832019.01, "ns per ops/procs": 1201.9}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10099.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 55692916.0, "Ops per second": 5569291.0, "ns per ops": 181.0, "Ops per threads": 1740403.0, "Ops per procs": 3480807.0, "Ops/sec/procs": 348080.0, "ns per ops/procs": 2901.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10007.064432, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 112046278.0, "Total blocks": 39631405.0, "Ops per second": 11196717.95, "ns per ops": 89.31, "Ops per threads": 2334297.0, "Ops per procs": 4668594.0, "Ops/sec/procs": 466529.91, "ns per ops/procs": 2143.49}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 34267306.0, "Ops per second": 3426730.0, "ns per ops": 294.0, "Ops per threads": 2141706.0, "Ops per procs": 4283413.0, "Ops/sec/procs": 428341.0, "ns per ops/procs": 2357.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10016.937779, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 77026352.0, "Total blocks": 52134150.0, "Ops per second": 7689610.71, "ns per ops": 130.05, "Ops per threads": 38513176.0, "Ops per procs": 77026352.0, "Ops/sec/procs": 7689610.71, "ns per ops/procs": 130.05}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 59271050.0, "Total blocks": 0.0, "Ops per second": 5922868.5, "ns per ops": 168.84, "Ops per threads": 29635525.0, "Ops per procs": 59271050.0, "Ops/sec/procs": 5922868.5, "ns per ops/procs": 168.84}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 59229442.0, "Total blocks": 0.0, "Ops per second": 5918658.48, "ns per ops": 168.96, "Ops per threads": 29614721.0, "Ops per procs": 59229442.0, "Ops/sec/procs": 5918658.48, "ns per ops/procs": 168.96}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 6.0, "Total Operations(ops)": 76525587.0, "Ops per second": 7652558.0, "ns per ops": 131.0, "Ops per threads": 1594283.0, "Ops per procs": 3188566.0, "Ops/sec/procs": 318856.0, "ns per ops/procs": 3167.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 6.0, "Total Operations(ops)": 35399271.0, "Ops per second": 3539927.0, "ns per ops": 285.0, "Ops per threads": 2212454.0, "Ops per procs": 4424908.0, "Ops/sec/procs": 442490.0, "ns per ops/procs": 2282.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 6.0, "Total Operations(ops)": 52944602.0, "Ops per second": 5294460.0, "ns per ops": 190.0, "Ops per threads": 26472301.0, "Ops per procs": 52944602.0, "Ops/sec/procs": 5294460.0, "ns per ops/procs": 190.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 59246475.0, "Total blocks": 0.0, "Ops per second": 5920233.28, "ns per ops": 168.91, "Ops per threads": 29623237.0, "Ops per procs": 59246475.0, "Ops/sec/procs": 5920233.28, "ns per ops/procs": 168.91}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 10 -t 2 -s 1", {"Duration (ms)": 10017.056033, "Number of processors": 1.0, "Number of threads": 2.0, "Number of spots": 1.0, "Total Operations(ops)": 78139970.0, "Total blocks": 50626382.0, "Ops per second": 7800692.11, "ns per ops": 128.19, "Ops per threads": 39069985.0, "Ops per procs": 78139970.0, "Ops/sec/procs": 7800692.11, "ns per ops/procs": 128.19}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10024.66772, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 91752654.0, "Total blocks": 25309024.0, "Ops per second": 9152687.81, "ns per ops": 109.26, "Ops per threads": 2867270.0, "Ops per procs": 5734540.0, "Ops/sec/procs": 572042.99, "ns per ops/procs": 1748.12}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10007.111246, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 103630541.0, "Total blocks": 37194166.0, "Ops per second": 10355689.91, "ns per ops": 96.57, "Ops per threads": 2158969.0, "Ops per procs": 4317939.0, "Ops/sec/procs": 431487.08, "ns per ops/procs": 2317.57}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 75844225.0, "Total blocks": 39206982.0, "Ops per second": 7583184.77, "ns per ops": 131.87, "Ops per threads": 1580088.0, "Ops per procs": 3160176.0, "Ops/sec/procs": 315966.03, "ns per ops/procs": 3164.9}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10039.0, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 78988905.0, "Ops per second": 7867923.65, "ns per ops": 127.1, "Ops per threads": 1645602.0, "Ops per procs": 3291204.0, "Ops/sec/procs": 327830.15, "ns per ops/procs": 3050.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 10 -t 48 -s 24", {"Duration (ms)": 10007.049884, "Number of processors": 24.0, "Number of threads": 48.0, "Number of spots": 24.0, "Total Operations(ops)": 103737120.0, "Total blocks": 40651067.0, "Ops per second": 10366403.81, "ns per ops": 96.47, "Ops per threads": 2161190.0, "Ops per procs": 4322380.0, "Ops/sec/procs": 431933.49, "ns per ops/procs": 2315.17}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10100.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 6.0, "Total Operations(ops)": 46882118.0, "Ops per second": 4688211.0, "ns per ops": 215.0, "Ops per threads": 1465066.0, "Ops per procs": 2930132.0, "Ops/sec/procs": 293013.0, "ns per ops/procs": 3446.0}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 10 -t 16 -s 8", {"Duration (ms)": 10018.0, "Number of processors": 8.0, "Number of threads": 16.0, "Number of spots": 8.0, "Total Operations(ops)": 57617091.0, "Ops per second": 5751024.83, "ns per ops": 173.88, "Ops per threads": 3601068.0, "Ops per procs": 7202136.0, "Ops/sec/procs": 718878.1, "ns per ops/procs": 1391.06}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10025.5689, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 93174864.0, "Total blocks": 36631659.0, "Ops per second": 9293723.37, "ns per ops": 107.6, "Ops per threads": 2911714.0, "Ops per procs": 5823429.0, "Ops/sec/procs": 580857.71, "ns per ops/procs": 1721.59}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 10 -t 32 -s 16", {"Duration (ms)": 10008.0, "Number of processors": 16.0, "Number of threads": 32.0, "Number of spots": 16.0, "Total Operations(ops)": 68440910.0, "Total blocks": 33142661.0, "Ops per second": 6838025.5, "ns per ops": 146.24, "Ops per threads": 2138778.0, "Ops per procs": 4277556.0, "Ops/sec/procs": 427376.59, "ns per ops/procs": 2339.86}]] -
doc/theses/thierry_delisle_PhD/thesis/data/cycle.jax
r4520b77e r12df6fe 1 [["rdq-cycle- cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30054.601589, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 535837409.0, "Total blocks": 535835409.0, "Ops per second": 17828797.61, "ns per ops": 56.09, "Ops per threads": 267918.0, "Ops per procs": 133959352.0, "Ops/sec/procs": 4457199.4, "ns per ops/procs": 224.36}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3133052990.0, "Ops per second": 104425531.66, "ns per ops": 9.58, "Ops per threads": 261087.0, "Ops per procs": 130543874.0, "Ops/sec/procs": 4351063.82, "ns per ops/procs": 229.83}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3286227696.0, "Ops per second": 109531834.45, "ns per ops": 9.13, "Ops per threads": 273852.0, "Ops per procs": 136926154.0, "Ops/sec/procs": 4563826.44, "ns per ops/procs": 219.11}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1329547026.0, "Total blocks": 1329547026.0, "Ops per second": 44275729.84, "ns per ops": 22.59, "Ops per threads": 332386.0, "Ops per procs": 166193378.0, "Ops/sec/procs": 5534466.23, "ns per ops/procs": 180.69}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 702807119.0, "Ops per second": 23425715.1, "ns per ops": 42.69, "Ops per threads": 351403.0, "Ops per procs": 175701779.0, "Ops/sec/procs": 5856428.77, "ns per ops/procs": 170.75}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30038.541847, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9709808606.0, "Total blocks": 9709808296.0, "Ops per second": 323245004.88, "ns per ops": 3.09, "Ops per threads": 134858.0, "Ops per procs": 67429226.0, "Ops/sec/procs": 2244756.98, "ns per ops/procs": 445.48}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3814183120.0, "Ops per second": 127139437.0, "ns per ops": 7.0, "Ops per threads": 158924.0, "Ops per procs": 79462148.0, "Ops/sec/procs": 2648738.0, "ns per ops/procs": 378.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30050.928766, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 290030978.0, "Total blocks": 290030060.0, "Ops per second": 9651314.95, "ns per ops": 103.61, "Ops per threads": 290030.0, "Ops per procs": 145015489.0, "Ops/sec/procs": 4825657.47, "ns per ops/procs": 207.23}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30013.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2527171711.0, "Total blocks": 2527171711.0, "Ops per second": 84200210.62, "ns per ops": 11.88, "Ops per threads": 210597.0, "Ops per procs": 105298821.0, "Ops/sec/procs": 3508342.11, "ns per ops/procs": 285.03}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30013.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3699605635.0, "Ops per second": 123264409.08, "ns per ops": 8.11, "Ops per threads": 154150.0, "Ops per procs": 77075117.0, "Ops/sec/procs": 2568008.52, "ns per ops/procs": 389.41}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167604505.0, "Ops per second": 5586574.53, "ns per ops": 179.0, "Ops per threads": 335209.0, "Ops per procs": 167604505.0, "Ops/sec/procs": 5586574.53, "ns per ops/procs": 179.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.488393, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168348907.0, "Total blocks": 168348411.0, "Ops per second": 5602388.46, "ns per ops": 178.5, "Ops per threads": 336697.0, "Ops per procs": 168348907.0, "Ops/sec/procs": 5602388.46, "ns per ops/procs": 178.5}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30060.462488, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1017833938.0, "Total blocks": 1017829988.0, "Ops per second": 33859556.83, "ns per ops": 29.53, "Ops per threads": 254458.0, "Ops per procs": 127229242.0, "Ops/sec/procs": 4232444.6, "ns per ops/procs": 236.27}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2185186510.0, "Ops per second": 72839550.0, "ns per ops": 13.0, "Ops per threads": 273148.0, "Ops per procs": 136574156.0, "Ops/sec/procs": 4552471.0, "ns per ops/procs": 220.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3833216096.0, "Ops per second": 127773869.0, "ns per ops": 7.0, "Ops per threads": 159717.0, "Ops per procs": 79858668.0, "Ops/sec/procs": 2661955.0, "ns per ops/procs": 376.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3822148650.0, "Ops per second": 127404955.0, "ns per ops": 7.0, "Ops per threads": 159256.0, "Ops per procs": 79628096.0, "Ops/sec/procs": 2654269.0, "ns per ops/procs": 377.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2591075881.0, "Ops per second": 86363018.79, "ns per ops": 11.58, "Ops per threads": 323884.0, "Ops per procs": 161942242.0, "Ops/sec/procs": 5397688.67, "ns per ops/procs": 185.26}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 166692261.0, "Ops per second": 5556165.5, "ns per ops": 179.98, "Ops per threads": 333384.0, "Ops per procs": 166692261.0, "Ops/sec/procs": 5556165.5, "ns per ops/procs": 179.98}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 600419275.0, "Ops per second": 20013975.0, "ns per ops": 50.0, "Ops per threads": 300209.0, "Ops per procs": 150104818.0, "Ops/sec/procs": 5003493.0, "ns per ops/procs": 200.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30054.816601, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 529583229.0, "Total blocks": 529581232.0, "Ops per second": 17620577.63, "ns per ops": 56.75, "Ops per threads": 264791.0, "Ops per procs": 132395807.0, "Ops/sec/procs": 4405144.41, "ns per ops/procs": 227.01}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 319849135.0, "Ops per second": 10661637.0, "ns per ops": 94.0, "Ops per threads": 319849.0, "Ops per procs": 159924567.0, "Ops/sec/procs": 5330818.0, "ns per ops/procs": 188.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30061.272637, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1012566356.0, "Total blocks": 1012562358.0, "Ops per second": 33683416.14, "ns per ops": 29.69, "Ops per threads": 253141.0, "Ops per procs": 126570794.0, "Ops/sec/procs": 4210427.02, "ns per ops/procs": 237.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 602810127.0, "Ops per second": 20093670.0, "ns per ops": 49.0, "Ops per threads": 301405.0, "Ops per procs": 150702531.0, "Ops/sec/procs": 5023417.0, "ns per ops/procs": 199.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 316379578.0, "Ops per second": 10545985.0, "ns per ops": 95.0, "Ops per threads": 316379.0, "Ops per procs": 158189789.0, "Ops/sec/procs": 5272992.0, "ns per ops/procs": 190.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30040.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6444336799.0, "Total blocks": 6444336793.0, "Ops per second": 214522302.68, "ns per ops": 4.66, "Ops per threads": 67128.0, "Ops per procs": 33564254.0, "Ops/sec/procs": 1117303.66, "ns per ops/procs": 895.01}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1162894055.0, "Ops per second": 38763135.0, "ns per ops": 25.0, "Ops per threads": 290723.0, "Ops per procs": 145361756.0, "Ops/sec/procs": 4845391.0, "ns per ops/procs": 207.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6214093700.0, "Ops per second": 206910049.25, "ns per ops": 4.83, "Ops per threads": 172613.0, "Ops per procs": 86306856.0, "Ops/sec/procs": 2873750.68, "ns per ops/procs": 347.98}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 602962318.0, "Ops per second": 20098743.0, "ns per ops": 49.0, "Ops per threads": 301481.0, "Ops per procs": 150740579.0, "Ops/sec/procs": 5024685.0, "ns per ops/procs": 199.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30028.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 353237542.0, "Total blocks": 353237542.0, "Ops per second": 11763311.91, "ns per ops": 85.01, "Ops per threads": 353237.0, "Ops per procs": 176618771.0, "Ops/sec/procs": 5881655.95, "ns per ops/procs": 170.02}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2640067667.0, "Total blocks": 2640067667.0, "Ops per second": 87959596.51, "ns per ops": 11.37, "Ops per threads": 220005.0, "Ops per procs": 110002819.0, "Ops/sec/procs": 3664983.19, "ns per ops/procs": 272.85}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30004.685456, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5581364330.0, "Total blocks": 5581364254.0, "Ops per second": 186016425.27, "ns per ops": 5.38, "Ops per threads": 155037.0, "Ops per procs": 77518949.0, "Ops/sec/procs": 2583561.46, "ns per ops/procs": 387.06}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 351581250.0, "Total blocks": 351581250.0, "Ops per second": 11707837.32, "ns per ops": 85.41, "Ops per threads": 351581.0, "Ops per procs": 175790625.0, "Ops/sec/procs": 5853918.66, "ns per ops/procs": 170.83}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30055.039024, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 523899236.0, "Total blocks": 523897235.0, "Ops per second": 17431327.76, "ns per ops": 57.37, "Ops per threads": 261949.0, "Ops per procs": 130974809.0, "Ops/sec/procs": 4357831.94, "ns per ops/procs": 229.47}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 318670202.0, "Ops per second": 10622340.0, "ns per ops": 94.0, "Ops per threads": 318670.0, "Ops per procs": 159335101.0, "Ops/sec/procs": 5311170.0, "ns per ops/procs": 188.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1315967317.0, "Total blocks": 1315967317.0, "Ops per second": 43823074.87, "ns per ops": 22.82, "Ops per threads": 328991.0, "Ops per procs": 164495914.0, "Ops/sec/procs": 5477884.36, "ns per ops/procs": 182.55}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10795812142.0, "Ops per second": 359860404.0, "ns per ops": 2.0, "Ops per threads": 149941.0, "Ops per procs": 74970917.0, "Ops/sec/procs": 2499030.0, "ns per ops/procs": 400.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162934354.0, "Ops per second": 5431145.0, "ns per ops": 184.0, "Ops per threads": 325868.0, "Ops per procs": 162934354.0, "Ops/sec/procs": 5431145.0, "ns per ops/procs": 184.0}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30058.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2942116755.0, "Ops per second": 97879962.83, "ns per ops": 10.22, "Ops per threads": 245176.0, "Ops per procs": 122588198.0, "Ops/sec/procs": 4078331.78, "ns per ops/procs": 245.2}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30046.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13621778052.0, "Ops per second": 453362362.83, "ns per ops": 2.21, "Ops per threads": 141893.0, "Ops per procs": 70946760.0, "Ops/sec/procs": 2361262.31, "ns per ops/procs": 423.5}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30004.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13218272643.0, "Ops per second": 440609088.0, "ns per ops": 2.0, "Ops per threads": 137690.0, "Ops per procs": 68845170.0, "Ops/sec/procs": 2294839.0, "ns per ops/procs": 435.0}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 704031691.0, "Ops per second": 23466535.17, "ns per ops": 42.61, "Ops per threads": 352015.0, "Ops per procs": 176007922.0, "Ops/sec/procs": 5866633.79, "ns per ops/procs": 170.46}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30055.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5751369493.0, "Total blocks": 5751369493.0, "Ops per second": 191356889.21, "ns per ops": 5.23, "Ops per threads": 79880.0, "Ops per procs": 39940065.0, "Ops/sec/procs": 1328867.29, "ns per ops/procs": 752.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30044.493497, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9770566779.0, "Total blocks": 9770566541.0, "Ops per second": 325203244.98, "ns per ops": 3.08, "Ops per threads": 135702.0, "Ops per procs": 67851158.0, "Ops/sec/procs": 2258355.87, "ns per ops/procs": 442.8}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30046.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6398365281.0, "Ops per second": 212946166.44, "ns per ops": 4.7, "Ops per threads": 177732.0, "Ops per procs": 88866184.0, "Ops/sec/procs": 2957585.64, "ns per ops/procs": 338.11}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30052.10256, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 283698502.0, "Total blocks": 283697506.0, "Ops per second": 9440221.41, "ns per ops": 105.93, "Ops per threads": 283698.0, "Ops per procs": 141849251.0, "Ops/sec/procs": 4720110.7, "ns per ops/procs": 211.86}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30040.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4951492723.0, "Total blocks": 4951492723.0, "Ops per second": 164826689.43, "ns per ops": 6.07, "Ops per threads": 137541.0, "Ops per procs": 68770732.0, "Ops/sec/procs": 2289259.58, "ns per ops/procs": 436.82}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3035215396.0, "Ops per second": 101164799.85, "ns per ops": 9.88, "Ops per threads": 252934.0, "Ops per procs": 126467308.0, "Ops/sec/procs": 4215199.99, "ns per ops/procs": 237.24}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30055.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2445385882.0, "Total blocks": 2445385882.0, "Ops per second": 81363323.25, "ns per ops": 12.29, "Ops per threads": 101891.0, "Ops per procs": 50945539.0, "Ops/sec/procs": 1695069.23, "ns per ops/procs": 589.95}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30003.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7283935667.0, "Ops per second": 242797855.0, "ns per ops": 4.0, "Ops per threads": 151748.0, "Ops per procs": 75874329.0, "Ops/sec/procs": 2529144.0, "ns per ops/procs": 395.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 602376624.0, "Ops per second": 20079220.0, "ns per ops": 49.0, "Ops per threads": 301188.0, "Ops per procs": 150594156.0, "Ops/sec/procs": 5019805.0, "ns per ops/procs": 199.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30009.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10528275629.0, "Ops per second": 350942520.0, "ns per ops": 2.0, "Ops per threads": 146226.0, "Ops per procs": 73113025.0, "Ops/sec/procs": 2437100.0, "ns per ops/procs": 410.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30054.761973, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 530882555.0, "Total blocks": 530880555.0, "Ops per second": 17663841.61, "ns per ops": 56.61, "Ops per threads": 265441.0, "Ops per procs": 132720638.0, "Ops/sec/procs": 4415960.4, "ns per ops/procs": 226.45}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 700693363.0, "Ops per second": 23355250.96, "ns per ops": 42.82, "Ops per threads": 350346.0, "Ops per procs": 175173340.0, "Ops/sec/procs": 5838812.74, "ns per ops/procs": 171.27}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2627819057.0, "Ops per second": 87587819.86, "ns per ops": 11.42, "Ops per threads": 328477.0, "Ops per procs": 164238691.0, "Ops/sec/procs": 5474238.74, "ns per ops/procs": 182.67}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30084.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7300729086.0, "Ops per second": 242672766.94, "ns per ops": 4.12, "Ops per threads": 152098.0, "Ops per procs": 76049261.0, "Ops/sec/procs": 2527841.32, "ns per ops/procs": 395.59}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30049.328008, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6501586465.0, "Total blocks": 6501586268.0, "Ops per second": 216363789.01, "ns per ops": 4.62, "Ops per threads": 135449.0, "Ops per procs": 67724859.0, "Ops/sec/procs": 2253789.47, "ns per ops/procs": 443.7}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1321454550.0, "Total blocks": 1321454550.0, "Ops per second": 44006586.35, "ns per ops": 22.72, "Ops per threads": 330363.0, "Ops per procs": 165181818.0, "Ops/sec/procs": 5500823.29, "ns per ops/procs": 181.79}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30057.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5012200197.0, "Total blocks": 5012200197.0, "Ops per second": 166754043.83, "ns per ops": 6.0, "Ops per threads": 139227.0, "Ops per procs": 69613891.0, "Ops/sec/procs": 2316028.39, "ns per ops/procs": 431.77}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2188338711.0, "Ops per second": 72944623.0, "ns per ops": 13.0, "Ops per threads": 273542.0, "Ops per procs": 136771169.0, "Ops/sec/procs": 4559038.0, "ns per ops/procs": 220.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1405401581.0, "Ops per second": 46844235.22, "ns per ops": 21.35, "Ops per threads": 351350.0, "Ops per procs": 175675197.0, "Ops/sec/procs": 5855529.4, "ns per ops/procs": 170.78}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30022.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4400904572.0, "Total blocks": 4400904572.0, "Ops per second": 146586397.82, "ns per ops": 6.82, "Ops per threads": 91685.0, "Ops per procs": 45842755.0, "Ops/sec/procs": 1526941.64, "ns per ops/procs": 654.9}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162958519.0, "Ops per second": 5431950.0, "ns per ops": 184.0, "Ops per threads": 325917.0, "Ops per procs": 162958519.0, "Ops/sec/procs": 5431950.0, "ns per ops/procs": 184.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 32083.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10899687282.0, "Ops per second": 339728321.39, "ns per ops": 2.94, "Ops per threads": 151384.0, "Ops per procs": 75692272.0, "Ops/sec/procs": 2359224.45, "ns per ops/procs": 423.87}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30056.812452, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6577750139.0, "Total blocks": 6577750008.0, "Ops per second": 218843902.68, "ns per ops": 4.57, "Ops per threads": 137036.0, "Ops per procs": 68518230.0, "Ops/sec/procs": 2279623.99, "ns per ops/procs": 438.67}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30055.611042, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 533971853.0, "Total blocks": 533969853.0, "Ops per second": 17766128.67, "ns per ops": 56.29, "Ops per threads": 266985.0, "Ops per procs": 133492963.0, "Ops/sec/procs": 4441532.17, "ns per ops/procs": 225.15}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2626147945.0, "Ops per second": 87532310.63, "ns per ops": 11.42, "Ops per threads": 328268.0, "Ops per procs": 164134246.0, "Ops/sec/procs": 5470769.41, "ns per ops/procs": 182.79}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1164365199.0, "Ops per second": 38812173.0, "ns per ops": 25.0, "Ops per threads": 291091.0, "Ops per procs": 145545649.0, "Ops/sec/procs": 4851521.0, "ns per ops/procs": 206.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30000.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7102823282.0, "Ops per second": 236760776.0, "ns per ops": 4.0, "Ops per threads": 147975.0, "Ops per procs": 73987742.0, "Ops/sec/procs": 2466258.0, "ns per ops/procs": 405.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30061.527123, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 997218811.0, "Total blocks": 997214815.0, "Ops per second": 33172593.23, "ns per ops": 30.15, "Ops per threads": 249304.0, "Ops per procs": 124652351.0, "Ops/sec/procs": 4146574.15, "ns per ops/procs": 241.16}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30083.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6548798732.0, "Ops per second": 217690867.72, "ns per ops": 4.59, "Ops per threads": 181911.0, "Ops per procs": 90955537.0, "Ops/sec/procs": 3023484.27, "ns per ops/procs": 330.74}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.378248, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 292112360.0, "Total blocks": 292111364.0, "Ops per second": 9720431.38, "ns per ops": 102.88, "Ops per threads": 292112.0, "Ops per procs": 146056180.0, "Ops/sec/procs": 4860215.69, "ns per ops/procs": 205.75}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30035.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 701364876.0, "Total blocks": 701364876.0, "Ops per second": 23350970.91, "ns per ops": 42.82, "Ops per threads": 350682.0, "Ops per procs": 175341219.0, "Ops/sec/procs": 5837742.73, "ns per ops/procs": 171.3}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30054.129142, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 514621514.0, "Total blocks": 514619516.0, "Ops per second": 17123155.08, "ns per ops": 58.4, "Ops per threads": 257310.0, "Ops per procs": 128655378.0, "Ops/sec/procs": 4280788.77, "ns per ops/procs": 233.6}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30100.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13279227523.0, "Ops per second": 442640917.0, "ns per ops": 2.0, "Ops per threads": 138325.0, "Ops per procs": 69162643.0, "Ops/sec/procs": 2305421.0, "ns per ops/procs": 435.0}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 324306.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4150567351.0, "Ops per second": 12798289.07, "ns per ops": 78.14, "Ops per threads": 4150567.0, "Ops per procs": 2075283675.0, "Ops/sec/procs": 6399144.54, "ns per ops/procs": 156.27}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30054.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4533527594.0, "Total blocks": 4533527594.0, "Ops per second": 150844172.17, "ns per ops": 6.63, "Ops per threads": 94448.0, "Ops per procs": 47224245.0, "Ops/sec/procs": 1571293.46, "ns per ops/procs": 636.42}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30018.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3711246581.0, "Ops per second": 123633209.05, "ns per ops": 8.09, "Ops per threads": 154635.0, "Ops per procs": 77317637.0, "Ops/sec/procs": 2575691.86, "ns per ops/procs": 388.25}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167479925.0, "Ops per second": 5582422.19, "ns per ops": 179.13, "Ops per threads": 334959.0, "Ops per procs": 167479925.0, "Ops/sec/procs": 5582422.19, "ns per ops/procs": 179.13}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30028.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 352635483.0, "Total blocks": 352635483.0, "Ops per second": 11743254.12, "ns per ops": 85.16, "Ops per threads": 352635.0, "Ops per procs": 176317741.0, "Ops/sec/procs": 5871627.06, "ns per ops/procs": 170.31}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2865617974.0, "Ops per second": 95520599.0, "ns per ops": 10.0, "Ops per threads": 238801.0, "Ops per procs": 119400748.0, "Ops/sec/procs": 3980024.0, "ns per ops/procs": 252.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30040.592624, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6515729134.0, "Total blocks": 6515728907.0, "Ops per second": 216897489.86, "ns per ops": 4.61, "Ops per threads": 135744.0, "Ops per procs": 67872178.0, "Ops/sec/procs": 2259348.85, "ns per ops/procs": 442.61}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30060.990401, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13016103987.0, "Total blocks": 13016103780.0, "Ops per second": 432989858.73, "ns per ops": 2.31, "Ops per threads": 135584.0, "Ops per procs": 67792208.0, "Ops/sec/procs": 2255155.51, "ns per ops/procs": 443.43}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30052.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6317790364.0, "Total blocks": 6317790364.0, "Ops per second": 210225563.95, "ns per ops": 4.76, "Ops per threads": 65810.0, "Ops per procs": 32905158.0, "Ops/sec/procs": 1094924.81, "ns per ops/procs": 913.3}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30000.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10938742925.0, "Ops per second": 364624764.0, "ns per ops": 2.0, "Ops per threads": 151926.0, "Ops per procs": 75963492.0, "Ops/sec/procs": 2532116.0, "ns per ops/procs": 394.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30060.560369, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1018873355.0, "Total blocks": 1018869353.0, "Ops per second": 33894024.01, "ns per ops": 29.5, "Ops per threads": 254718.0, "Ops per procs": 127359169.0, "Ops/sec/procs": 4236753.0, "ns per ops/procs": 236.03}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 708319683.0, "Total blocks": 708319683.0, "Ops per second": 23587620.64, "ns per ops": 42.4, "Ops per threads": 354159.0, "Ops per procs": 177079920.0, "Ops/sec/procs": 5896905.16, "ns per ops/procs": 169.58}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 316573606.0, "Ops per second": 10552453.0, "ns per ops": 95.0, "Ops per threads": 316573.0, "Ops per procs": 158286803.0, "Ops/sec/procs": 5276226.0, "ns per ops/procs": 190.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 602220084.0, "Ops per second": 20074002.0, "ns per ops": 49.0, "Ops per threads": 301110.0, "Ops per procs": 150555021.0, "Ops/sec/procs": 5018500.0, "ns per ops/procs": 199.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2460453768.0, "Total blocks": 2460453768.0, "Ops per second": 81985777.35, "ns per ops": 12.2, "Ops per threads": 102518.0, "Ops per procs": 51259453.0, "Ops/sec/procs": 1708037.03, "ns per ops/procs": 585.47}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30022.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4937532932.0, "Total blocks": 4937532932.0, "Ops per second": 164460370.44, "ns per ops": 6.08, "Ops per threads": 137153.0, "Ops per procs": 68576846.0, "Ops/sec/procs": 2284171.81, "ns per ops/procs": 437.8}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 200596890.0, "Total blocks": 200596390.0, "Ops per second": 6680606.62, "ns per ops": 149.69, "Ops per threads": 401193.0, "Ops per procs": 200596890.0, "Ops/sec/procs": 6680606.62, "ns per ops/procs": 149.69}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13859985622.0, "Ops per second": 460498918.88, "ns per ops": 2.17, "Ops per threads": 144374.0, "Ops per procs": 72187425.0, "Ops/sec/procs": 2398431.87, "ns per ops/procs": 416.94}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 81659.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1019009697.0, "Ops per second": 12478729.93, "ns per ops": 80.14, "Ops per threads": 1019009.0, "Ops per procs": 509504848.0, "Ops/sec/procs": 6239364.97, "ns per ops/procs": 160.27}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3859141148.0, "Ops per second": 128638038.0, "ns per ops": 7.0, "Ops per threads": 160797.0, "Ops per procs": 80398773.0, "Ops/sec/procs": 2679959.0, "ns per ops/procs": 374.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30056.054643, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3373562972.0, "Total blocks": 3373562895.0, "Ops per second": 112242375.52, "ns per ops": 8.91, "Ops per threads": 140565.0, "Ops per procs": 70282561.0, "Ops/sec/procs": 2338382.82, "ns per ops/procs": 427.65}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 602471809.0, "Ops per second": 20082393.0, "ns per ops": 49.0, "Ops per threads": 301235.0, "Ops per procs": 150617952.0, "Ops/sec/procs": 5020598.0, "ns per ops/procs": 199.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30015.17606, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5710330516.0, "Total blocks": 5710330511.0, "Ops per second": 190248109.98, "ns per ops": 5.26, "Ops per threads": 158620.0, "Ops per procs": 79310146.0, "Ops/sec/procs": 2642334.86, "ns per ops/procs": 378.45}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30015.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2539004964.0, "Total blocks": 2539004964.0, "Ops per second": 84591018.45, "ns per ops": 11.82, "Ops per threads": 211583.0, "Ops per procs": 105791873.0, "Ops/sec/procs": 3524625.77, "ns per ops/procs": 283.72}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30025.490404, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2354443301.0, "Total blocks": 2354443285.0, "Ops per second": 78414815.86, "ns per ops": 12.75, "Ops per threads": 196203.0, "Ops per procs": 98101804.0, "Ops/sec/procs": 3267283.99, "ns per ops/procs": 306.06}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 355087843.0, "Ops per second": 11835688.67, "ns per ops": 84.49, "Ops per threads": 355087.0, "Ops per procs": 177543921.0, "Ops/sec/procs": 5917844.33, "ns per ops/procs": 168.98}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30045.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2457229746.0, "Total blocks": 2457229746.0, "Ops per second": 81784854.13, "ns per ops": 12.23, "Ops per threads": 102384.0, "Ops per procs": 51192286.0, "Ops/sec/procs": 1703851.13, "ns per ops/procs": 586.91}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2845935993.0, "Ops per second": 94864533.0, "ns per ops": 10.0, "Ops per threads": 237161.0, "Ops per procs": 118580666.0, "Ops/sec/procs": 3952688.0, "ns per ops/procs": 253.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 696535547.0, "Total blocks": 696535547.0, "Ops per second": 23195027.08, "ns per ops": 43.11, "Ops per threads": 348267.0, "Ops per procs": 174133886.0, "Ops/sec/procs": 5798756.77, "ns per ops/procs": 172.45}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2853970548.0, "Ops per second": 95132351.0, "ns per ops": 10.0, "Ops per threads": 237830.0, "Ops per procs": 118915439.0, "Ops/sec/procs": 3963847.0, "ns per ops/procs": 253.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2607141383.0, "Ops per second": 86898508.22, "ns per ops": 11.51, "Ops per threads": 325892.0, "Ops per procs": 162946336.0, "Ops/sec/procs": 5431156.76, "ns per ops/procs": 184.12}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3331115712.0, "Ops per second": 110673121.1, "ns per ops": 9.04, "Ops per threads": 138796.0, "Ops per procs": 69398244.0, "Ops/sec/procs": 2305690.02, "ns per ops/procs": 433.71}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30076.54792, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1835537345.0, "Total blocks": 1835529347.0, "Ops per second": 61028857.1, "ns per ops": 16.39, "Ops per threads": 229442.0, "Ops per procs": 114721084.0, "Ops/sec/procs": 3814303.57, "ns per ops/procs": 262.17}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30036.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2101382479.0, "Total blocks": 2101382479.0, "Ops per second": 69961308.83, "ns per ops": 14.29, "Ops per threads": 262672.0, "Ops per procs": 131336404.0, "Ops/sec/procs": 4372581.8, "ns per ops/procs": 228.7}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30100.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10808842016.0, "Ops per second": 360294733.0, "ns per ops": 2.0, "Ops per threads": 150122.0, "Ops per procs": 75061402.0, "Ops/sec/procs": 2502046.0, "ns per ops/procs": 401.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3834011076.0, "Ops per second": 127800369.0, "ns per ops": 7.0, "Ops per threads": 159750.0, "Ops per procs": 79875230.0, "Ops/sec/procs": 2662507.0, "ns per ops/procs": 376.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 352552436.0, "Total blocks": 352552436.0, "Ops per second": 11740372.51, "ns per ops": 85.18, "Ops per threads": 352552.0, "Ops per procs": 176276218.0, "Ops/sec/procs": 5870186.25, "ns per ops/procs": 170.35}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30025.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4391389950.0, "Total blocks": 4391389950.0, "Ops per second": 146255292.71, "ns per ops": 6.84, "Ops per threads": 91487.0, "Ops per procs": 45743645.0, "Ops/sec/procs": 1523492.63, "ns per ops/procs": 656.39}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167959859.0, "Ops per second": 5598414.22, "ns per ops": 178.62, "Ops per threads": 335919.0, "Ops per procs": 167959859.0, "Ops/sec/procs": 5598414.22, "ns per ops/procs": 178.62}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2203153647.0, "Ops per second": 73438454.0, "ns per ops": 13.0, "Ops per threads": 275394.0, "Ops per procs": 137697102.0, "Ops/sec/procs": 4589903.0, "ns per ops/procs": 218.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30099.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7320614794.0, "Ops per second": 244020493.0, "ns per ops": 4.0, "Ops per threads": 152512.0, "Ops per procs": 76256404.0, "Ops/sec/procs": 2541880.0, "ns per ops/procs": 394.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30055.607851, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 530569936.0, "Total blocks": 530567940.0, "Ops per second": 17652943.13, "ns per ops": 56.65, "Ops per threads": 265284.0, "Ops per procs": 132642484.0, "Ops/sec/procs": 4413235.78, "ns per ops/procs": 226.59}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 683757823.0, "Total blocks": 683757823.0, "Ops per second": 22769367.84, "ns per ops": 43.92, "Ops per threads": 341878.0, "Ops per procs": 170939455.0, "Ops/sec/procs": 5692341.96, "ns per ops/procs": 175.67}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3292272448.0, "Ops per second": 109732994.14, "ns per ops": 9.11, "Ops per threads": 274356.0, "Ops per procs": 137178018.0, "Ops/sec/procs": 4572208.09, "ns per ops/procs": 218.71}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 31401.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6718818943.0, "Ops per second": 213966422.84, "ns per ops": 4.67, "Ops per threads": 139975.0, "Ops per procs": 69987697.0, "Ops/sec/procs": 2228816.9, "ns per ops/procs": 448.67}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30086.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6045581117.0, "Total blocks": 6045581117.0, "Ops per second": 200941139.7, "ns per ops": 4.98, "Ops per threads": 62974.0, "Ops per procs": 31487401.0, "Ops/sec/procs": 1046568.44, "ns per ops/procs": 955.5}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6375101101.0, "Ops per second": 212503370.0, "ns per ops": 4.0, "Ops per threads": 177086.0, "Ops per procs": 88543070.0, "Ops/sec/procs": 2951435.0, "ns per ops/procs": 339.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30078.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6069021647.0, "Total blocks": 6069021647.0, "Ops per second": 201774969.45, "ns per ops": 4.96, "Ops per threads": 63218.0, "Ops per procs": 31609487.0, "Ops/sec/procs": 1050911.3, "ns per ops/procs": 951.56}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7185116829.0, "Ops per second": 239503894.0, "ns per ops": 4.0, "Ops per threads": 149689.0, "Ops per procs": 74844966.0, "Ops/sec/procs": 2494832.0, "ns per ops/procs": 402.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162872662.0, "Ops per second": 5429088.0, "ns per ops": 184.0, "Ops per threads": 325745.0, "Ops per procs": 162872662.0, "Ops/sec/procs": 5429088.0, "ns per ops/procs": 184.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30030.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7216365837.0, "Ops per second": 240545527.0, "ns per ops": 4.0, "Ops per threads": 150340.0, "Ops per procs": 75170477.0, "Ops/sec/procs": 2505682.0, "ns per ops/procs": 399.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30074.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6094072585.0, "Total blocks": 6094072583.0, "Ops per second": 202635033.57, "ns per ops": 4.93, "Ops per threads": 63479.0, "Ops per procs": 31739961.0, "Ops/sec/procs": 1055390.8, "ns per ops/procs": 947.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30023.883446, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2404404871.0, "Total blocks": 2404404868.0, "Ops per second": 80083073.71, "ns per ops": 12.49, "Ops per threads": 200367.0, "Ops per procs": 100183536.0, "Ops/sec/procs": 3336794.74, "ns per ops/procs": 299.69}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3285017145.0, "Ops per second": 109491418.52, "ns per ops": 9.13, "Ops per threads": 273751.0, "Ops per procs": 136875714.0, "Ops/sec/procs": 4562142.44, "ns per ops/procs": 219.2}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30030.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3590986293.0, "Ops per second": 119579775.25, "ns per ops": 8.36, "Ops per threads": 149624.0, "Ops per procs": 74812214.0, "Ops/sec/procs": 2491245.32, "ns per ops/procs": 401.41}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30040.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6869779534.0, "Ops per second": 228687607.27, "ns per ops": 4.37, "Ops per threads": 143120.0, "Ops per procs": 71560203.0, "Ops/sec/procs": 2382162.58, "ns per ops/procs": 419.79}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30073.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5991883266.0, "Total blocks": 5991883265.0, "Ops per second": 199237992.92, "ns per ops": 5.02, "Ops per threads": 83220.0, "Ops per procs": 41610300.0, "Ops/sec/procs": 1383597.17, "ns per ops/procs": 722.75}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30041.752317, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6580396238.0, "Total blocks": 6580396054.0, "Ops per second": 219041691.33, "ns per ops": 4.57, "Ops per threads": 137091.0, "Ops per procs": 68545794.0, "Ops/sec/procs": 2281684.28, "ns per ops/procs": 438.27}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30050.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5500673819.0, "Total blocks": 5500673818.0, "Ops per second": 183046382.55, "ns per ops": 5.46, "Ops per threads": 76398.0, "Ops per procs": 38199123.0, "Ops/sec/procs": 1271155.43, "ns per ops/procs": 786.69}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30064.868972, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5724760259.0, "Total blocks": 5724760245.0, "Ops per second": 190413610.79, "ns per ops": 5.25, "Ops per threads": 159021.0, "Ops per procs": 79510559.0, "Ops/sec/procs": 2644633.48, "ns per ops/procs": 378.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30076.640051, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1759539774.0, "Total blocks": 1759531770.0, "Ops per second": 58501872.92, "ns per ops": 17.09, "Ops per threads": 219942.0, "Ops per procs": 109971235.0, "Ops/sec/procs": 3656367.06, "ns per ops/procs": 273.5}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30026.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2497408441.0, "Total blocks": 2497408441.0, "Ops per second": 83172322.77, "ns per ops": 12.02, "Ops per threads": 104058.0, "Ops per procs": 52029342.0, "Ops/sec/procs": 1732756.72, "ns per ops/procs": 577.12}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30051.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7020228636.0, "Ops per second": 233605045.39, "ns per ops": 4.28, "Ops per threads": 146254.0, "Ops per procs": 73127381.0, "Ops/sec/procs": 2433385.89, "ns per ops/procs": 410.95}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7315408574.0, "Ops per second": 243846952.0, "ns per ops": 4.0, "Ops per threads": 152404.0, "Ops per procs": 76202172.0, "Ops/sec/procs": 2540072.0, "ns per ops/procs": 394.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2082663119.0, "Total blocks": 2082663119.0, "Ops per second": 69339249.56, "ns per ops": 14.42, "Ops per threads": 260332.0, "Ops per procs": 130166444.0, "Ops/sec/procs": 4333703.1, "ns per ops/procs": 230.75}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30083.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5773367798.0, "Total blocks": 5773367798.0, "Ops per second": 191913128.63, "ns per ops": 5.21, "Ops per threads": 80185.0, "Ops per procs": 40092831.0, "Ops/sec/procs": 1332730.06, "ns per ops/procs": 750.34}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 201948978.0, "Total blocks": 201948478.0, "Ops per second": 6725681.72, "ns per ops": 148.68, "Ops per threads": 403897.0, "Ops per procs": 201948978.0, "Ops/sec/procs": 6725681.72, "ns per ops/procs": 148.68}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 684621218.0, "Total blocks": 684621218.0, "Ops per second": 22798182.76, "ns per ops": 43.86, "Ops per threads": 342310.0, "Ops per procs": 171155304.0, "Ops/sec/procs": 5699545.69, "ns per ops/procs": 175.45}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30059.133885, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1025262407.0, "Total blocks": 1025258406.0, "Ops per second": 34108181.92, "ns per ops": 29.32, "Ops per threads": 256315.0, "Ops per procs": 128157800.0, "Ops/sec/procs": 4263522.74, "ns per ops/procs": 234.55}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30055.341133, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6618887114.0, "Total blocks": 6618887005.0, "Ops per second": 220223323.53, "ns per ops": 4.54, "Ops per threads": 137893.0, "Ops per procs": 68946740.0, "Ops/sec/procs": 2293992.95, "ns per ops/procs": 435.92}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6375335905.0, "Ops per second": 212511196.0, "ns per ops": 4.0, "Ops per threads": 177092.0, "Ops per procs": 88546332.0, "Ops/sec/procs": 2951544.0, "ns per ops/procs": 339.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30012.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10963592935.0, "Ops per second": 365306382.96, "ns per ops": 2.74, "Ops per threads": 152272.0, "Ops per procs": 76136062.0, "Ops/sec/procs": 2536849.88, "ns per ops/procs": 394.19}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1163769955.0, "Ops per second": 38792331.0, "ns per ops": 25.0, "Ops per threads": 290942.0, "Ops per procs": 145471244.0, "Ops/sec/procs": 4849041.0, "ns per ops/procs": 206.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2202976274.0, "Ops per second": 73432542.0, "ns per ops": 13.0, "Ops per threads": 275372.0, "Ops per procs": 137686017.0, "Ops/sec/procs": 4589533.0, "ns per ops/procs": 218.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2891952247.0, "Ops per second": 96398408.0, "ns per ops": 10.0, "Ops per threads": 240996.0, "Ops per procs": 120498010.0, "Ops/sec/procs": 4016600.0, "ns per ops/procs": 249.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30006.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4393943848.0, "Total blocks": 4393943848.0, "Ops per second": 146434442.47, "ns per ops": 6.83, "Ops per threads": 91540.0, "Ops per procs": 45770248.0, "Ops/sec/procs": 1525358.78, "ns per ops/procs": 655.58}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30054.768744, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 533270498.0, "Total blocks": 533268502.0, "Ops per second": 17743290.68, "ns per ops": 56.36, "Ops per threads": 266635.0, "Ops per procs": 133317624.0, "Ops/sec/procs": 4435822.67, "ns per ops/procs": 225.44}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30055.035673, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 524241659.0, "Total blocks": 524239663.0, "Ops per second": 17442722.9, "ns per ops": 57.33, "Ops per threads": 262120.0, "Ops per procs": 131060414.0, "Ops/sec/procs": 4360680.73, "ns per ops/procs": 229.32}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2179747484.0, "Ops per second": 72658249.0, "ns per ops": 13.0, "Ops per threads": 272468.0, "Ops per procs": 136234217.0, "Ops/sec/procs": 4541140.0, "ns per ops/procs": 220.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.65121, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168543998.0, "Total blocks": 168543502.0, "Ops per second": 5608850.39, "ns per ops": 178.29, "Ops per threads": 337087.0, "Ops per procs": 168543998.0, "Ops/sec/procs": 5608850.39, "ns per ops/procs": 178.29}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6380968211.0, "Ops per second": 212698940.0, "ns per ops": 4.0, "Ops per threads": 177249.0, "Ops per procs": 88624558.0, "Ops/sec/procs": 2954151.0, "ns per ops/procs": 339.0}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 704033440.0, "Ops per second": 23466560.73, "ns per ops": 42.61, "Ops per threads": 352016.0, "Ops per procs": 176008360.0, "Ops/sec/procs": 5866640.18, "ns per ops/procs": 170.46}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30039.173331, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9756169595.0, "Total blocks": 9756169348.0, "Ops per second": 324781560.65, "ns per ops": 3.08, "Ops per threads": 135502.0, "Ops per procs": 67751177.0, "Ops/sec/procs": 2255427.5, "ns per ops/procs": 443.37}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7297122281.0, "Ops per second": 243237409.0, "ns per ops": 4.0, "Ops per threads": 152023.0, "Ops per procs": 76011690.0, "Ops/sec/procs": 2533723.0, "ns per ops/procs": 394.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 318579834.0, "Ops per second": 10619327.0, "ns per ops": 94.0, "Ops per threads": 318579.0, "Ops per procs": 159289917.0, "Ops/sec/procs": 5309663.0, "ns per ops/procs": 188.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30060.524651, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3380384357.0, "Total blocks": 3380384239.0, "Ops per second": 112452606.74, "ns per ops": 8.89, "Ops per threads": 140849.0, "Ops per procs": 70424674.0, "Ops/sec/procs": 2342762.64, "ns per ops/procs": 426.85}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30017.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2089082984.0, "Total blocks": 2089082984.0, "Ops per second": 69595812.35, "ns per ops": 14.37, "Ops per threads": 261135.0, "Ops per procs": 130567686.0, "Ops/sec/procs": 4349738.27, "ns per ops/procs": 229.9}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30044.549304, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3375058539.0, "Total blocks": 3375058498.0, "Ops per second": 112335136.23, "ns per ops": 8.9, "Ops per threads": 140627.0, "Ops per procs": 70313719.0, "Ops/sec/procs": 2340315.34, "ns per ops/procs": 427.29}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30063.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5971994246.0, "Total blocks": 5971994246.0, "Ops per second": 198645955.34, "ns per ops": 5.03, "Ops per threads": 82944.0, "Ops per procs": 41472182.0, "Ops/sec/procs": 1379485.8, "ns per ops/procs": 724.91}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.856024, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168142195.0, "Total blocks": 168141695.0, "Ops per second": 5595440.95, "ns per ops": 178.72, "Ops per threads": 336284.0, "Ops per procs": 168142195.0, "Ops/sec/procs": 5595440.95, "ns per ops/procs": 178.72}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5835568591.0, "Total blocks": 5835568591.0, "Ops per second": 193884861.96, "ns per ops": 5.16, "Ops per threads": 81049.0, "Ops per procs": 40524781.0, "Ops/sec/procs": 1346422.65, "ns per ops/procs": 742.71}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30072.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2121398456.0, "Total blocks": 2121398456.0, "Ops per second": 70543766.29, "ns per ops": 14.18, "Ops per threads": 265174.0, "Ops per procs": 132587403.0, "Ops/sec/procs": 4408985.39, "ns per ops/procs": 226.81}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2851087315.0, "Ops per second": 95036243.0, "ns per ops": 10.0, "Ops per threads": 237590.0, "Ops per procs": 118795304.0, "Ops/sec/procs": 3959843.0, "ns per ops/procs": 253.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30015.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2479454848.0, "Total blocks": 2479454848.0, "Ops per second": 82605600.18, "ns per ops": 12.11, "Ops per threads": 206621.0, "Ops per procs": 103310618.0, "Ops/sec/procs": 3441900.01, "ns per ops/procs": 290.54}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30096.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6241666797.0, "Total blocks": 6241666797.0, "Ops per second": 207389035.14, "ns per ops": 4.82, "Ops per threads": 65017.0, "Ops per procs": 32508681.0, "Ops/sec/procs": 1080151.22, "ns per ops/procs": 925.8}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30099.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162556374.0, "Ops per second": 5418545.0, "ns per ops": 185.0, "Ops per threads": 325112.0, "Ops per procs": 162556374.0, "Ops/sec/procs": 5418545.0, "ns per ops/procs": 185.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30034.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 358991507.0, "Total blocks": 358991507.0, "Ops per second": 11952499.07, "ns per ops": 83.66, "Ops per threads": 358991.0, "Ops per procs": 179495753.0, "Ops/sec/procs": 5976249.54, "ns per ops/procs": 167.33}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2628022520.0, "Ops per second": 87594610.04, "ns per ops": 11.42, "Ops per threads": 328502.0, "Ops per procs": 164251407.0, "Ops/sec/procs": 5474663.13, "ns per ops/procs": 182.66}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30093.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13734345415.0, "Ops per second": 456382239.92, "ns per ops": 2.19, "Ops per threads": 143066.0, "Ops per procs": 71533049.0, "Ops/sec/procs": 2376990.83, "ns per ops/procs": 420.7}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30050.219603, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6634906045.0, "Total blocks": 6634905944.0, "Ops per second": 220793928.72, "ns per ops": 4.53, "Ops per threads": 138227.0, "Ops per procs": 69113604.0, "Ops/sec/procs": 2299936.76, "ns per ops/procs": 434.79}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6314944375.0, "Ops per second": 210498145.0, "ns per ops": 4.0, "Ops per threads": 175415.0, "Ops per procs": 87707560.0, "Ops/sec/procs": 2923585.0, "ns per ops/procs": 343.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30026.782128, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5688566975.0, "Total blocks": 5688566942.0, "Ops per second": 189449770.23, "ns per ops": 5.28, "Ops per threads": 158015.0, "Ops per procs": 79007874.0, "Ops/sec/procs": 2631246.81, "ns per ops/procs": 380.05}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30099.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10980103320.0, "Ops per second": 366003444.0, "ns per ops": 2.0, "Ops per threads": 152501.0, "Ops per procs": 76250717.0, "Ops/sec/procs": 2541690.0, "ns per ops/procs": 394.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2201664152.0, "Ops per second": 73388805.0, "ns per ops": 13.0, "Ops per threads": 275208.0, "Ops per procs": 137604009.0, "Ops/sec/procs": 4586800.0, "ns per ops/procs": 218.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162863824.0, "Ops per second": 5428794.0, "ns per ops": 184.0, "Ops per threads": 325727.0, "Ops per procs": 162863824.0, "Ops/sec/procs": 5428794.0, "ns per ops/procs": 184.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30081.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6255848694.0, "Ops per second": 207966524.57, "ns per ops": 4.81, "Ops per threads": 173773.0, "Ops per procs": 86886787.0, "Ops/sec/procs": 2888423.95, "ns per ops/procs": 346.21}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 356801447.0, "Ops per second": 11892794.64, "ns per ops": 84.08, "Ops per threads": 356801.0, "Ops per procs": 178400723.0, "Ops/sec/procs": 5946397.32, "ns per ops/procs": 168.17}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 201903615.0, "Total blocks": 201903115.0, "Ops per second": 6723987.52, "ns per ops": 148.72, "Ops per threads": 403807.0, "Ops per procs": 201903615.0, "Ops/sec/procs": 6723987.52, "ns per ops/procs": 148.72}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30054.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6208915558.0, "Ops per second": 206587888.52, "ns per ops": 4.84, "Ops per threads": 172469.0, "Ops per procs": 86234938.0, "Ops/sec/procs": 2869276.23, "ns per ops/procs": 348.52}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2184516172.0, "Ops per second": 72817205.0, "ns per ops": 13.0, "Ops per threads": 273064.0, "Ops per procs": 136532260.0, "Ops/sec/procs": 4551075.0, "ns per ops/procs": 220.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30057.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10411868355.0, "Ops per second": 346400935.87, "ns per ops": 2.89, "Ops per threads": 144609.0, "Ops per procs": 72304641.0, "Ops/sec/procs": 2405562.05, "ns per ops/procs": 415.7}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30050.850096, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6573813943.0, "Total blocks": 6573813815.0, "Ops per second": 218756338.74, "ns per ops": 4.57, "Ops per threads": 136954.0, "Ops per procs": 68477228.0, "Ops/sec/procs": 2278711.86, "ns per ops/procs": 438.84}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30099.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7347056809.0, "Ops per second": 244901893.0, "ns per ops": 4.0, "Ops per threads": 153063.0, "Ops per procs": 76531841.0, "Ops/sec/procs": 2551061.0, "ns per ops/procs": 393.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30023.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11064997748.0, "Ops per second": 368543220.33, "ns per ops": 2.71, "Ops per threads": 153680.0, "Ops per procs": 76840262.0, "Ops/sec/procs": 2559327.92, "ns per ops/procs": 390.73}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30046.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6593776143.0, "Ops per second": 219450974.94, "ns per ops": 4.56, "Ops per threads": 183160.0, "Ops per procs": 91580224.0, "Ops/sec/procs": 3047930.21, "ns per ops/procs": 328.09}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 694114155.0, "Total blocks": 694114155.0, "Ops per second": 23114240.52, "ns per ops": 43.26, "Ops per threads": 347057.0, "Ops per procs": 173528538.0, "Ops/sec/procs": 5778560.13, "ns per ops/procs": 173.05}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 32779.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15723303077.0, "Ops per second": 479661682.64, "ns per ops": 2.08, "Ops per threads": 163784.0, "Ops per procs": 81892203.0, "Ops/sec/procs": 2498237.93, "ns per ops/procs": 400.28}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 32349.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2853844897.0, "Ops per second": 88218231.97, "ns per ops": 11.34, "Ops per threads": 356730.0, "Ops per procs": 178365306.0, "Ops/sec/procs": 5513639.5, "ns per ops/procs": 181.37}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1160971160.0, "Ops per second": 38699038.0, "ns per ops": 25.0, "Ops per threads": 290242.0, "Ops per procs": 145121395.0, "Ops/sec/procs": 4837379.0, "ns per ops/procs": 207.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.264947, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 285399787.0, "Total blocks": 285398791.0, "Ops per second": 9497097.29, "ns per ops": 105.3, "Ops per threads": 285399.0, "Ops per procs": 142699893.0, "Ops/sec/procs": 4748548.65, "ns per ops/procs": 210.59}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2853005520.0, "Ops per second": 95100184.0, "ns per ops": 10.0, "Ops per threads": 237750.0, "Ops per procs": 118875230.0, "Ops/sec/procs": 3962507.0, "ns per ops/procs": 253.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30024.552076, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2308019453.0, "Total blocks": 2308019446.0, "Ops per second": 76871070.29, "ns per ops": 13.01, "Ops per threads": 192334.0, "Ops per procs": 96167477.0, "Ops/sec/procs": 3202961.26, "ns per ops/procs": 312.21}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30053.723813, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3358611037.0, "Total blocks": 3358610970.0, "Ops per second": 111753573.63, "ns per ops": 8.95, "Ops per threads": 139942.0, "Ops per procs": 69971063.0, "Ops/sec/procs": 2328199.45, "ns per ops/procs": 429.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30061.64649, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3353708656.0, "Total blocks": 3353708548.0, "Ops per second": 111561043.64, "ns per ops": 8.96, "Ops per threads": 139737.0, "Ops per procs": 69868930.0, "Ops/sec/procs": 2324188.41, "ns per ops/procs": 430.26}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2104529879.0, "Total blocks": 2104529879.0, "Ops per second": 70067431.14, "ns per ops": 14.27, "Ops per threads": 263066.0, "Ops per procs": 131533117.0, "Ops/sec/procs": 4379214.45, "ns per ops/procs": 228.35}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30031.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3354382967.0, "Ops per second": 111695300.31, "ns per ops": 8.95, "Ops per threads": 279531.0, "Ops per procs": 139765956.0, "Ops/sec/procs": 4653970.85, "ns per ops/procs": 214.87}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30034.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4499701734.0, "Total blocks": 4499701734.0, "Ops per second": 149816406.73, "ns per ops": 6.67, "Ops per threads": 93743.0, "Ops per procs": 46871893.0, "Ops/sec/procs": 1560587.57, "ns per ops/procs": 640.78}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1165881936.0, "Ops per second": 38862731.0, "ns per ops": 25.0, "Ops per threads": 291470.0, "Ops per procs": 145735242.0, "Ops/sec/procs": 4857841.0, "ns per ops/procs": 206.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30051.141318, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6542053719.0, "Total blocks": 6542053577.0, "Ops per second": 217697346.33, "ns per ops": 4.59, "Ops per threads": 136292.0, "Ops per procs": 68146392.0, "Ops/sec/procs": 2267680.69, "ns per ops/procs": 440.98}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30044.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6020202795.0, "Total blocks": 6020202795.0, "Ops per second": 200376264.98, "ns per ops": 4.99, "Ops per threads": 62710.0, "Ops per procs": 31355222.0, "Ops/sec/procs": 1043626.38, "ns per ops/procs": 958.2}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30038.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6125031157.0, "Total blocks": 6125031155.0, "Ops per second": 203902810.25, "ns per ops": 4.9, "Ops per threads": 63802.0, "Ops per procs": 31901203.0, "Ops/sec/procs": 1061993.8, "ns per ops/procs": 941.63}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30024.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4802957271.0, "Total blocks": 4802957271.0, "Ops per second": 159969246.61, "ns per ops": 6.25, "Ops per threads": 133415.0, "Ops per procs": 66707739.0, "Ops/sec/procs": 2221795.09, "ns per ops/procs": 450.09}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30038.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6488823269.0, "Ops per second": 216015692.37, "ns per ops": 4.63, "Ops per threads": 180245.0, "Ops per procs": 90122545.0, "Ops/sec/procs": 3000217.95, "ns per ops/procs": 333.31}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2181278533.0, "Ops per second": 72709284.0, "ns per ops": 13.0, "Ops per threads": 272659.0, "Ops per procs": 136329908.0, "Ops/sec/procs": 4544330.0, "ns per ops/procs": 220.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30084.71753, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12988884577.0, "Total blocks": 12988884360.0, "Ops per second": 431743610.82, "ns per ops": 2.32, "Ops per threads": 135300.0, "Ops per procs": 67650440.0, "Ops/sec/procs": 2248664.64, "ns per ops/procs": 444.71}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30058.838009, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3370940040.0, "Total blocks": 3370939924.0, "Ops per second": 112144722.26, "ns per ops": 8.92, "Ops per threads": 140455.0, "Ops per procs": 70227917.0, "Ops/sec/procs": 2336348.38, "ns per ops/procs": 428.02}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30001.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10917592965.0, "Ops per second": 363919765.0, "ns per ops": 2.0, "Ops per threads": 151633.0, "Ops per procs": 75816617.0, "Ops/sec/procs": 2527220.0, "ns per ops/procs": 395.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4782891721.0, "Total blocks": 4782891721.0, "Ops per second": 159397740.45, "ns per ops": 6.27, "Ops per threads": 132858.0, "Ops per procs": 66429051.0, "Ops/sec/procs": 2213857.51, "ns per ops/procs": 451.7}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 358685467.0, "Ops per second": 11955514.93, "ns per ops": 83.64, "Ops per threads": 358685.0, "Ops per procs": 179342733.0, "Ops/sec/procs": 5977757.47, "ns per ops/procs": 167.29}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30025.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2535056981.0, "Total blocks": 2535056981.0, "Ops per second": 84430108.35, "ns per ops": 11.84, "Ops per threads": 211254.0, "Ops per procs": 105627374.0, "Ops/sec/procs": 3517921.18, "ns per ops/procs": 284.26}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30031.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 699570091.0, "Total blocks": 699570091.0, "Ops per second": 23294435.8, "ns per ops": 42.93, "Ops per threads": 349785.0, "Ops per procs": 174892522.0, "Ops/sec/procs": 5823608.95, "ns per ops/procs": 171.71}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30065.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3613301058.0, "Ops per second": 120180408.75, "ns per ops": 8.32, "Ops per threads": 150554.0, "Ops per procs": 75277105.0, "Ops/sec/procs": 2503758.52, "ns per ops/procs": 399.4}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1323110616.0, "Total blocks": 1323110616.0, "Ops per second": 44061458.72, "ns per ops": 22.7, "Ops per threads": 330777.0, "Ops per procs": 165388827.0, "Ops/sec/procs": 5507682.34, "ns per ops/procs": 181.56}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 165682392.0, "Ops per second": 5522498.32, "ns per ops": 181.08, "Ops per threads": 331364.0, "Ops per procs": 165682392.0, "Ops/sec/procs": 5522498.32, "ns per ops/procs": 181.08}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30077.897833, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1885256357.0, "Total blocks": 1885256356.0, "Ops per second": 62679126.3, "ns per ops": 15.95, "Ops per threads": 235657.0, "Ops per procs": 117828522.0, "Ops/sec/procs": 3917445.39, "ns per ops/procs": 255.27}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6339693995.0, "Ops per second": 211323133.0, "ns per ops": 4.0, "Ops per threads": 176102.0, "Ops per procs": 88051305.0, "Ops/sec/procs": 2935043.0, "ns per ops/procs": 341.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30056.543434, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1017360318.0, "Total blocks": 1017356392.0, "Ops per second": 33848214.12, "ns per ops": 29.54, "Ops per threads": 254340.0, "Ops per procs": 127170039.0, "Ops/sec/procs": 4231026.77, "ns per ops/procs": 236.35}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30073.606249, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1849357800.0, "Total blocks": 1849357797.0, "Ops per second": 61494380.98, "ns per ops": 16.26, "Ops per threads": 231169.0, "Ops per procs": 115584862.0, "Ops/sec/procs": 3843398.81, "ns per ops/procs": 260.19}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162876625.0, "Ops per second": 5429220.0, "ns per ops": 184.0, "Ops per threads": 325753.0, "Ops per procs": 162876625.0, "Ops/sec/procs": 5429220.0, "ns per ops/procs": 184.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2178186205.0, "Ops per second": 72606206.0, "ns per ops": 13.0, "Ops per threads": 272273.0, "Ops per procs": 136136637.0, "Ops/sec/procs": 4537887.0, "ns per ops/procs": 221.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2890531872.0, "Ops per second": 96351062.0, "ns per ops": 10.0, "Ops per threads": 240877.0, "Ops per procs": 120438828.0, "Ops/sec/procs": 4014627.0, "ns per ops/procs": 249.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30036.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2129904567.0, "Total blocks": 2129904567.0, "Ops per second": 70911604.24, "ns per ops": 14.1, "Ops per threads": 266238.0, "Ops per procs": 133119035.0, "Ops/sec/procs": 4431975.26, "ns per ops/procs": 225.63}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30055.689597, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 530556642.0, "Total blocks": 530554646.0, "Ops per second": 17652452.8, "ns per ops": 56.65, "Ops per threads": 265278.0, "Ops per procs": 132639160.0, "Ops/sec/procs": 4413113.2, "ns per ops/procs": 226.6}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30065.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5986156874.0, "Total blocks": 5986156874.0, "Ops per second": 199101761.1, "ns per ops": 5.02, "Ops per threads": 83141.0, "Ops per procs": 41570533.0, "Ops/sec/procs": 1382651.12, "ns per ops/procs": 723.25}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6994659367.0, "Ops per second": 233079364.21, "ns per ops": 4.29, "Ops per threads": 194296.0, "Ops per procs": 97148046.0, "Ops/sec/procs": 3237213.39, "ns per ops/procs": 308.91}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30024.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4393317756.0, "Total blocks": 4393317756.0, "Ops per second": 146325414.58, "ns per ops": 6.83, "Ops per threads": 91527.0, "Ops per procs": 45763726.0, "Ops/sec/procs": 1524223.07, "ns per ops/procs": 656.07}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30077.161363, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1851371842.0, "Total blocks": 1851363843.0, "Ops per second": 61554074.86, "ns per ops": 16.25, "Ops per threads": 231421.0, "Ops per procs": 115710740.0, "Ops/sec/procs": 3847129.68, "ns per ops/procs": 259.93}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3059151925.0, "Ops per second": 101961963.28, "ns per ops": 9.81, "Ops per threads": 254929.0, "Ops per procs": 127464663.0, "Ops/sec/procs": 4248415.14, "ns per ops/procs": 235.38}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2520282189.0, "Total blocks": 2520282189.0, "Ops per second": 83968954.98, "ns per ops": 11.91, "Ops per threads": 210023.0, "Ops per procs": 105011757.0, "Ops/sec/procs": 3498706.46, "ns per ops/procs": 285.82}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 202672478.0, "Total blocks": 202671978.0, "Ops per second": 6749755.28, "ns per ops": 148.15, "Ops per threads": 405344.0, "Ops per procs": 202672478.0, "Ops/sec/procs": 6749755.28, "ns per ops/procs": 148.15}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30000.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13211556427.0, "Ops per second": 440385214.0, "ns per ops": 2.0, "Ops per threads": 137620.0, "Ops per procs": 68810189.0, "Ops/sec/procs": 2293672.0, "ns per ops/procs": 435.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30180.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6901684888.0, "Ops per second": 228677263.4, "ns per ops": 4.37, "Ops per threads": 143785.0, "Ops per procs": 71892550.0, "Ops/sec/procs": 2382054.83, "ns per ops/procs": 419.81}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 353836256.0, "Total blocks": 353836256.0, "Ops per second": 11783106.92, "ns per ops": 84.87, "Ops per threads": 353836.0, "Ops per procs": 176918128.0, "Ops/sec/procs": 5891553.46, "ns per ops/procs": 169.73}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30000.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13141734265.0, "Ops per second": 438057808.0, "ns per ops": 2.0, "Ops per threads": 136893.0, "Ops per procs": 68446532.0, "Ops/sec/procs": 2281551.0, "ns per ops/procs": 438.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2139629428.0, "Total blocks": 2139629428.0, "Ops per second": 71236073.69, "ns per ops": 14.04, "Ops per threads": 267453.0, "Ops per procs": 133726839.0, "Ops/sec/procs": 4452254.61, "ns per ops/procs": 224.61}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 198794709.0, "Total blocks": 198794209.0, "Ops per second": 6620576.77, "ns per ops": 151.04, "Ops per threads": 397589.0, "Ops per procs": 198794709.0, "Ops/sec/procs": 6620576.77, "ns per ops/procs": 151.04}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3843647185.0, "Ops per second": 128121572.0, "ns per ops": 7.0, "Ops per threads": 160151.0, "Ops per procs": 80075983.0, "Ops/sec/procs": 2669199.0, "ns per ops/procs": 375.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30030.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6909088932.0, "Ops per second": 230072227.17, "ns per ops": 4.35, "Ops per threads": 143939.0, "Ops per procs": 71969676.0, "Ops/sec/procs": 2396585.7, "ns per ops/procs": 417.26}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30040.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3409050419.0, "Ops per second": 113480755.41, "ns per ops": 8.81, "Ops per threads": 142043.0, "Ops per procs": 71021883.0, "Ops/sec/procs": 2364182.4, "ns per ops/procs": 422.98}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.53485, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168013536.0, "Total blocks": 168013036.0, "Ops per second": 5591219.19, "ns per ops": 178.85, "Ops per threads": 336027.0, "Ops per procs": 168013536.0, "Ops/sec/procs": 5591219.19, "ns per ops/procs": 178.85}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2202671599.0, "Ops per second": 73422386.0, "ns per ops": 13.0, "Ops per threads": 275333.0, "Ops per procs": 137666974.0, "Ops/sec/procs": 4588899.0, "ns per ops/procs": 218.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30058.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10250695683.0, "Ops per second": 341028133.92, "ns per ops": 2.93, "Ops per threads": 142370.0, "Ops per procs": 71185386.0, "Ops/sec/procs": 2368250.93, "ns per ops/procs": 422.25}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 44520.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9596238837.0, "Ops per second": 215547167.45, "ns per ops": 4.64, "Ops per threads": 266562.0, "Ops per procs": 133281094.0, "Ops/sec/procs": 2993710.66, "ns per ops/procs": 334.03}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30047.545859, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6554146732.0, "Total blocks": 6554146520.0, "Ops per second": 218125858.36, "ns per ops": 4.58, "Ops per threads": 136544.0, "Ops per procs": 68272361.0, "Ops/sec/procs": 2272144.36, "ns per ops/procs": 440.11}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30052.948171, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 530002695.0, "Total blocks": 530000699.0, "Ops per second": 17635630.69, "ns per ops": 56.7, "Ops per threads": 265001.0, "Ops per procs": 132500673.0, "Ops/sec/procs": 4408907.67, "ns per ops/procs": 226.81}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30098.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317902612.0, "Ops per second": 10596753.0, "ns per ops": 94.0, "Ops per threads": 317902.0, "Ops per procs": 158951306.0, "Ops/sec/procs": 5298376.0, "ns per ops/procs": 189.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2100075180.0, "Total blocks": 2100075180.0, "Ops per second": 69918737.36, "ns per ops": 14.3, "Ops per threads": 262509.0, "Ops per procs": 131254698.0, "Ops/sec/procs": 4369921.08, "ns per ops/procs": 228.84}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30028.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 353404431.0, "Total blocks": 353404431.0, "Ops per second": 11768842.45, "ns per ops": 84.97, "Ops per threads": 353404.0, "Ops per procs": 176702215.0, "Ops/sec/procs": 5884421.22, "ns per ops/procs": 169.94}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30061.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5026140708.0, "Total blocks": 5026140708.0, "Ops per second": 167193781.43, "ns per ops": 5.98, "Ops per threads": 139615.0, "Ops per procs": 69807509.0, "Ops/sec/procs": 2322135.85, "ns per ops/procs": 430.64}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1164901668.0, "Ops per second": 38830055.0, "ns per ops": 25.0, "Ops per threads": 291225.0, "Ops per procs": 145612708.0, "Ops/sec/procs": 4853756.0, "ns per ops/procs": 206.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30049.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6001020957.0, "Total blocks": 6001020956.0, "Ops per second": 199707307.06, "ns per ops": 5.01, "Ops per threads": 83347.0, "Ops per procs": 41673756.0, "Ops/sec/procs": 1386856.3, "ns per ops/procs": 721.06}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30023.544184, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2026056283.0, "Total blocks": 2026056271.0, "Ops per second": 67482248.95, "ns per ops": 14.82, "Ops per threads": 168838.0, "Ops per procs": 84419011.0, "Ops/sec/procs": 2811760.37, "ns per ops/procs": 355.65}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30099.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11023384702.0, "Ops per second": 367446156.0, "ns per ops": 2.0, "Ops per threads": 153102.0, "Ops per procs": 76551282.0, "Ops/sec/procs": 2551709.0, "ns per ops/procs": 393.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30076.304141, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1834523857.0, "Total blocks": 1834515859.0, "Ops per second": 60995654.53, "ns per ops": 16.39, "Ops per threads": 229315.0, "Ops per procs": 114657741.0, "Ops/sec/procs": 3812228.41, "ns per ops/procs": 262.31}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30100.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7142289567.0, "Ops per second": 238076318.0, "ns per ops": 4.0, "Ops per threads": 148797.0, "Ops per procs": 74398849.0, "Ops/sec/procs": 2479961.0, "ns per ops/procs": 404.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203537018.0, "Total blocks": 203536518.0, "Ops per second": 6778520.07, "ns per ops": 147.52, "Ops per threads": 407074.0, "Ops per procs": 203537018.0, "Ops/sec/procs": 6778520.07, "ns per ops/procs": 147.52}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30038.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4558877039.0, "Total blocks": 4558877039.0, "Ops per second": 151766018.41, "ns per ops": 6.59, "Ops per threads": 94976.0, "Ops per procs": 47488302.0, "Ops/sec/procs": 1580896.03, "ns per ops/procs": 632.55}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2181332025.0, "Ops per second": 72711067.0, "ns per ops": 13.0, "Ops per threads": 272666.0, "Ops per procs": 136333251.0, "Ops/sec/procs": 4544441.0, "ns per ops/procs": 220.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2624688503.0, "Ops per second": 87482537.12, "ns per ops": 11.43, "Ops per threads": 328086.0, "Ops per procs": 164043031.0, "Ops/sec/procs": 5467658.57, "ns per ops/procs": 182.89}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30040.468734, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13006448294.0, "Total blocks": 13006448090.0, "Ops per second": 432964226.0, "ns per ops": 2.31, "Ops per threads": 135483.0, "Ops per procs": 67741918.0, "Ops/sec/procs": 2255022.01, "ns per ops/procs": 443.45}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30080.401345, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13004969493.0, "Total blocks": 13004969300.0, "Ops per second": 432340291.73, "ns per ops": 2.31, "Ops per threads": 135468.0, "Ops per procs": 67734216.0, "Ops/sec/procs": 2251772.35, "ns per ops/procs": 444.09}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167803594.0, "Ops per second": 5593203.24, "ns per ops": 178.79, "Ops per threads": 335607.0, "Ops per procs": 167803594.0, "Ops/sec/procs": 5593203.24, "ns per ops/procs": 178.79}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317824348.0, "Ops per second": 10594144.0, "ns per ops": 94.0, "Ops per threads": 317824.0, "Ops per procs": 158912174.0, "Ops/sec/procs": 5297072.0, "ns per ops/procs": 189.0}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 139901.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15857881607.0, "Ops per second": 113350320.17, "ns per ops": 8.82, "Ops per threads": 1321490.0, "Ops per procs": 660745066.0, "Ops/sec/procs": 4722930.01, "ns per ops/procs": 211.73}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30079.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2121684656.0, "Total blocks": 2121684656.0, "Ops per second": 70536788.29, "ns per ops": 14.18, "Ops per threads": 265210.0, "Ops per procs": 132605291.0, "Ops/sec/procs": 4408549.27, "ns per ops/procs": 226.83}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30047.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12951015451.0, "Ops per second": 431015922.79, "ns per ops": 2.32, "Ops per threads": 134906.0, "Ops per procs": 67453205.0, "Ops/sec/procs": 2244874.6, "ns per ops/procs": 445.46}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30015.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11133378930.0, "Ops per second": 370924308.97, "ns per ops": 2.7, "Ops per threads": 154630.0, "Ops per procs": 77315131.0, "Ops/sec/procs": 2575863.26, "ns per ops/procs": 388.22}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30044.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2488966538.0, "Total blocks": 2488966538.0, "Ops per second": 82843242.74, "ns per ops": 12.07, "Ops per threads": 103706.0, "Ops per procs": 51853469.0, "Ops/sec/procs": 1725900.89, "ns per ops/procs": 579.41}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30070.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 14527395496.0, "Ops per second": 483106904.06, "ns per ops": 2.07, "Ops per threads": 151327.0, "Ops per procs": 75663518.0, "Ops/sec/procs": 2516181.79, "ns per ops/procs": 397.43}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 701961454.0, "Ops per second": 23397496.96, "ns per ops": 42.74, "Ops per threads": 350980.0, "Ops per procs": 175490363.0, "Ops/sec/procs": 5849374.24, "ns per ops/procs": 170.96}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30054.724253, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 537861841.0, "Total blocks": 537859873.0, "Ops per second": 17896083.04, "ns per ops": 55.88, "Ops per threads": 268930.0, "Ops per procs": 134465460.0, "Ops/sec/procs": 4474020.76, "ns per ops/procs": 223.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 599686107.0, "Ops per second": 19989536.0, "ns per ops": 50.0, "Ops per threads": 299843.0, "Ops per procs": 149921526.0, "Ops/sec/procs": 4997384.0, "ns per ops/procs": 200.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30092.366445, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5581672724.0, "Total blocks": 5581672656.0, "Ops per second": 185484672.14, "ns per ops": 5.39, "Ops per threads": 155046.0, "Ops per procs": 77523232.0, "Ops/sec/procs": 2576176.0, "ns per ops/procs": 388.17}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 357111831.0, "Ops per second": 11903145.19, "ns per ops": 84.01, "Ops per threads": 357111.0, "Ops per procs": 178555915.0, "Ops/sec/procs": 5951572.59, "ns per ops/procs": 168.02}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30099.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 316969499.0, "Ops per second": 10565649.0, "ns per ops": 94.0, "Ops per threads": 316969.0, "Ops per procs": 158484749.0, "Ops/sec/procs": 5282824.0, "ns per ops/procs": 189.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30069.671674, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9724060959.0, "Total blocks": 9724060699.0, "Ops per second": 323384341.02, "ns per ops": 3.09, "Ops per threads": 135056.0, "Ops per procs": 67528201.0, "Ops/sec/procs": 2245724.59, "ns per ops/procs": 445.29}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3395137200.0, "Ops per second": 113161323.25, "ns per ops": 8.84, "Ops per threads": 282928.0, "Ops per procs": 141464050.0, "Ops/sec/procs": 4715055.14, "ns per ops/procs": 212.09}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30022.960511, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2370966534.0, "Total blocks": 2370966525.0, "Ops per second": 78971776.72, "ns per ops": 12.66, "Ops per threads": 197580.0, "Ops per procs": 98790272.0, "Ops/sec/procs": 3290490.7, "ns per ops/procs": 303.91}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 705885861.0, "Ops per second": 23528245.22, "ns per ops": 42.5, "Ops per threads": 352942.0, "Ops per procs": 176471465.0, "Ops/sec/procs": 5882061.31, "ns per ops/procs": 170.01}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.194467, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 291126347.0, "Total blocks": 291125351.0, "Ops per second": 9687679.71, "ns per ops": 103.22, "Ops per threads": 291126.0, "Ops per procs": 145563173.0, "Ops/sec/procs": 4843839.86, "ns per ops/procs": 206.45}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30019.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3468636647.0, "Ops per second": 115544465.2, "ns per ops": 8.65, "Ops per threads": 144526.0, "Ops per procs": 72263263.0, "Ops/sec/procs": 2407176.36, "ns per ops/procs": 415.42}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3853905169.0, "Ops per second": 128463505.0, "ns per ops": 7.0, "Ops per threads": 160579.0, "Ops per procs": 80289691.0, "Ops/sec/procs": 2676323.0, "ns per ops/procs": 374.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.504467, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 286978743.0, "Total blocks": 286977817.0, "Ops per second": 9549563.26, "ns per ops": 104.72, "Ops per threads": 286978.0, "Ops per procs": 143489371.0, "Ops/sec/procs": 4774781.63, "ns per ops/procs": 209.43}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30100.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10987066470.0, "Ops per second": 366235549.0, "ns per ops": 2.0, "Ops per threads": 152598.0, "Ops per procs": 76299072.0, "Ops/sec/procs": 2543302.0, "ns per ops/procs": 394.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3807152407.0, "Ops per second": 126905080.0, "ns per ops": 7.0, "Ops per threads": 158631.0, "Ops per procs": 79315675.0, "Ops/sec/procs": 2643855.0, "ns per ops/procs": 379.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 600955680.0, "Ops per second": 20031856.0, "ns per ops": 50.0, "Ops per threads": 300477.0, "Ops per procs": 150238920.0, "Ops/sec/procs": 5007964.0, "ns per ops/procs": 200.0}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 353481121.0, "Ops per second": 11782098.56, "ns per ops": 84.87, "Ops per threads": 353481.0, "Ops per procs": 176740560.0, "Ops/sec/procs": 5891049.28, "ns per ops/procs": 169.75}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6351669364.0, "Total blocks": 6351669364.0, "Ops per second": 211030388.85, "ns per ops": 4.74, "Ops per threads": 66163.0, "Ops per procs": 33081611.0, "Ops/sec/procs": 1099116.61, "ns per ops/procs": 909.82}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167728729.0, "Ops per second": 5590679.97, "ns per ops": 178.87, "Ops per threads": 335457.0, "Ops per procs": 167728729.0, "Ops/sec/procs": 5590679.97, "ns per ops/procs": 178.87}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30043.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 14058236696.0, "Ops per second": 467934793.04, "ns per ops": 2.14, "Ops per threads": 146439.0, "Ops per procs": 73219982.0, "Ops/sec/procs": 2437160.38, "ns per ops/procs": 410.31}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30100.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13204212175.0, "Ops per second": 440140405.0, "ns per ops": 2.0, "Ops per threads": 137543.0, "Ops per procs": 68771938.0, "Ops/sec/procs": 2292397.0, "ns per ops/procs": 437.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30000.700388, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12907414169.0, "Total blocks": 12907413976.0, "Ops per second": 430237094.54, "ns per ops": 2.32, "Ops per threads": 134452.0, "Ops per procs": 67226115.0, "Ops/sec/procs": 2240818.2, "ns per ops/procs": 446.27}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30023.604346, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2409664650.0, "Total blocks": 2409664647.0, "Ops per second": 80259006.29, "ns per ops": 12.46, "Ops per threads": 200805.0, "Ops per procs": 100402693.0, "Ops/sec/procs": 3344125.26, "ns per ops/procs": 299.03}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30049.956611, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 287781445.0, "Total blocks": 287780449.0, "Ops per second": 9576767.41, "ns per ops": 104.42, "Ops per threads": 287781.0, "Ops per procs": 143890722.0, "Ops/sec/procs": 4788383.7, "ns per ops/procs": 208.84}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2610877666.0, "Total blocks": 2610877666.0, "Ops per second": 86986013.58, "ns per ops": 11.5, "Ops per threads": 217573.0, "Ops per procs": 108786569.0, "Ops/sec/procs": 3624417.23, "ns per ops/procs": 275.91}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30025.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3440316573.0, "Ops per second": 114580329.91, "ns per ops": 8.73, "Ops per threads": 143346.0, "Ops per procs": 71673261.0, "Ops/sec/procs": 2387090.21, "ns per ops/procs": 418.92}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30048.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2440982468.0, "Total blocks": 2440982468.0, "Ops per second": 81233758.8, "ns per ops": 12.31, "Ops per threads": 101707.0, "Ops per procs": 50853801.0, "Ops/sec/procs": 1692369.98, "ns per ops/procs": 590.89}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30033.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3451664161.0, "Ops per second": 114925429.87, "ns per ops": 8.7, "Ops per threads": 143819.0, "Ops per procs": 71909670.0, "Ops/sec/procs": 2394279.79, "ns per ops/procs": 417.66}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 114131.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5412981349.0, "Ops per second": 47427547.71, "ns per ops": 21.08, "Ops per threads": 1353245.0, "Ops per procs": 676622668.0, "Ops/sec/procs": 5928443.46, "ns per ops/procs": 168.68}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30065.098892, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12941230059.0, "Total blocks": 12941229876.0, "Ops per second": 430440295.76, "ns per ops": 2.32, "Ops per threads": 134804.0, "Ops per procs": 67402239.0, "Ops/sec/procs": 2241876.54, "ns per ops/procs": 446.05}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167833111.0, "Ops per second": 5594192.83, "ns per ops": 178.76, "Ops per threads": 335666.0, "Ops per procs": 167833111.0, "Ops/sec/procs": 5594192.83, "ns per ops/procs": 178.76}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2202011885.0, "Ops per second": 73400396.0, "ns per ops": 13.0, "Ops per threads": 275251.0, "Ops per procs": 137625742.0, "Ops/sec/procs": 4587524.0, "ns per ops/procs": 218.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2854438644.0, "Ops per second": 95147954.0, "ns per ops": 10.0, "Ops per threads": 237869.0, "Ops per procs": 118934943.0, "Ops/sec/procs": 3964498.0, "ns per ops/procs": 253.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30055.274237, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 534060764.0, "Total blocks": 534058763.0, "Ops per second": 17769286.01, "ns per ops": 56.28, "Ops per threads": 267030.0, "Ops per procs": 133515191.0, "Ops/sec/procs": 4442321.5, "ns per ops/procs": 225.11}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30028.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 358075529.0, "Total blocks": 358075529.0, "Ops per second": 11924351.03, "ns per ops": 83.86, "Ops per threads": 358075.0, "Ops per procs": 179037764.0, "Ops/sec/procs": 5962175.51, "ns per ops/procs": 167.72}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30059.10851, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6581338755.0, "Total blocks": 6581338565.0, "Ops per second": 218946571.65, "ns per ops": 4.57, "Ops per threads": 137111.0, "Ops per procs": 68555612.0, "Ops/sec/procs": 2280693.45, "ns per ops/procs": 438.46}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30015.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3593220253.0, "Ops per second": 119711342.95, "ns per ops": 8.35, "Ops per threads": 149717.0, "Ops per procs": 74858755.0, "Ops/sec/procs": 2493986.31, "ns per ops/procs": 400.96}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30054.071166, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9733269851.0, "Total blocks": 9733269598.0, "Ops per second": 323858614.6, "ns per ops": 3.09, "Ops per threads": 135184.0, "Ops per procs": 67592151.0, "Ops/sec/procs": 2249018.16, "ns per ops/procs": 444.64}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30033.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 14500495182.0, "Ops per second": 482804012.57, "ns per ops": 2.07, "Ops per threads": 151046.0, "Ops per procs": 75523412.0, "Ops/sec/procs": 2514604.23, "ns per ops/procs": 397.68}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 688480596.0, "Total blocks": 688480596.0, "Ops per second": 22927023.65, "ns per ops": 43.62, "Ops per threads": 344240.0, "Ops per procs": 172120149.0, "Ops/sec/procs": 5731755.91, "ns per ops/procs": 174.47}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30028.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4865570274.0, "Total blocks": 4865570274.0, "Ops per second": 162030671.9, "ns per ops": 6.17, "Ops per threads": 135154.0, "Ops per procs": 67577364.0, "Ops/sec/procs": 2250426.0, "ns per ops/procs": 444.36}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30094.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1334446203.0, "Total blocks": 1334446203.0, "Ops per second": 44342343.68, "ns per ops": 22.55, "Ops per threads": 333611.0, "Ops per procs": 166805775.0, "Ops/sec/procs": 5542792.96, "ns per ops/procs": 180.41}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2895614705.0, "Ops per second": 96520490.0, "ns per ops": 10.0, "Ops per threads": 241301.0, "Ops per procs": 120650612.0, "Ops/sec/procs": 4021687.0, "ns per ops/procs": 249.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6196473702.0, "Ops per second": 206549123.0, "ns per ops": 4.0, "Ops per threads": 172124.0, "Ops per procs": 86062134.0, "Ops/sec/procs": 2868737.0, "ns per ops/procs": 349.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30078.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4978410880.0, "Total blocks": 4978410880.0, "Ops per second": 165516641.69, "ns per ops": 6.04, "Ops per threads": 138289.0, "Ops per procs": 69144595.0, "Ops/sec/procs": 2298842.25, "ns per ops/procs": 435.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30058.18945, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9716693325.0, "Total blocks": 9716693073.0, "Ops per second": 323262761.42, "ns per ops": 3.09, "Ops per threads": 134954.0, "Ops per procs": 67477036.0, "Ops/sec/procs": 2244880.29, "ns per ops/procs": 445.46}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30060.962144, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1016212543.0, "Total blocks": 1016208624.0, "Ops per second": 33805057.14, "ns per ops": 29.58, "Ops per threads": 254053.0, "Ops per procs": 127026567.0, "Ops/sec/procs": 4225632.14, "ns per ops/procs": 236.65}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 109789.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1402648216.0, "Ops per second": 12775812.73, "ns per ops": 78.27, "Ops per threads": 1402648.0, "Ops per procs": 701324108.0, "Ops/sec/procs": 6387906.36, "ns per ops/procs": 156.55}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30001.342973, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5696885013.0, "Total blocks": 5696884932.0, "Ops per second": 189887666.63, "ns per ops": 5.27, "Ops per threads": 158246.0, "Ops per procs": 79123402.0, "Ops/sec/procs": 2637328.7, "ns per ops/procs": 379.17}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30075.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3714056660.0, "Ops per second": 123489140.05, "ns per ops": 8.1, "Ops per threads": 154752.0, "Ops per procs": 77376180.0, "Ops/sec/procs": 2572690.42, "ns per ops/procs": 388.7}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1406976196.0, "Ops per second": 46896621.81, "ns per ops": 21.32, "Ops per threads": 351744.0, "Ops per procs": 175872024.0, "Ops/sec/procs": 5862077.73, "ns per ops/procs": 170.59}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 603446162.0, "Ops per second": 20114872.0, "ns per ops": 49.0, "Ops per threads": 301723.0, "Ops per procs": 150861540.0, "Ops/sec/procs": 5028718.0, "ns per ops/procs": 199.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1166153978.0, "Ops per second": 38871799.0, "ns per ops": 25.0, "Ops per threads": 291538.0, "Ops per procs": 145769247.0, "Ops/sec/procs": 4858974.0, "ns per ops/procs": 206.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30013.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10686167592.0, "Ops per second": 356205586.0, "ns per ops": 2.0, "Ops per threads": 148418.0, "Ops per procs": 74209497.0, "Ops/sec/procs": 2473649.0, "ns per ops/procs": 404.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30050.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4536828024.0, "Total blocks": 4536828024.0, "Ops per second": 150975006.25, "ns per ops": 6.62, "Ops per threads": 94517.0, "Ops per procs": 47258625.0, "Ops/sec/procs": 1572656.32, "ns per ops/procs": 635.87}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 291888.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7098915038.0, "Ops per second": 24320665.48, "ns per ops": 41.12, "Ops per threads": 3549457.0, "Ops per procs": 1774728759.0, "Ops/sec/procs": 6080166.37, "ns per ops/procs": 164.47}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 601787985.0, "Ops per second": 20059599.0, "ns per ops": 50.0, "Ops per threads": 300893.0, "Ops per procs": 150446996.0, "Ops/sec/procs": 5014899.0, "ns per ops/procs": 200.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1404522376.0, "Ops per second": 46814950.36, "ns per ops": 21.36, "Ops per threads": 351130.0, "Ops per procs": 175565297.0, "Ops/sec/procs": 5851868.8, "ns per ops/procs": 170.89}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3821493505.0, "Ops per second": 127383116.0, "ns per ops": 7.0, "Ops per threads": 159228.0, "Ops per procs": 79614448.0, "Ops/sec/procs": 2653814.0, "ns per ops/procs": 378.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30057.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6004984920.0, "Total blocks": 6004984920.0, "Ops per second": 199784207.11, "ns per ops": 5.01, "Ops per threads": 83402.0, "Ops per procs": 41701284.0, "Ops/sec/procs": 1387390.33, "ns per ops/procs": 720.78}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30001.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10502001891.0, "Ops per second": 350066729.0, "ns per ops": 2.0, "Ops per threads": 145861.0, "Ops per procs": 72930568.0, "Ops/sec/procs": 2431018.0, "ns per ops/procs": 411.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 351209268.0, "Total blocks": 351209268.0, "Ops per second": 11695655.16, "ns per ops": 85.5, "Ops per threads": 351209.0, "Ops per procs": 175604634.0, "Ops/sec/procs": 5847827.58, "ns per ops/procs": 171.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203950394.0, "Total blocks": 203949894.0, "Ops per second": 6792350.66, "ns per ops": 147.22, "Ops per threads": 407900.0, "Ops per procs": 203950394.0, "Ops/sec/procs": 6792350.66, "ns per ops/procs": 147.22}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30070.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13685291540.0, "Ops per second": 455100690.38, "ns per ops": 2.2, "Ops per threads": 142555.0, "Ops per procs": 71277560.0, "Ops/sec/procs": 2370316.1, "ns per ops/procs": 421.88}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 58622.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5161836224.0, "Ops per second": 88052345.83, "ns per ops": 11.36, "Ops per threads": 645229.0, "Ops per procs": 322614764.0, "Ops/sec/procs": 5503271.61, "ns per ops/procs": 181.71}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 32591.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11058682384.0, "Ops per second": 339310377.17, "ns per ops": 2.95, "Ops per threads": 153592.0, "Ops per procs": 76796405.0, "Ops/sec/procs": 2356322.06, "ns per ops/procs": 424.39}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30052.641823, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3384697368.0, "Total blocks": 3384697287.0, "Ops per second": 112625618.34, "ns per ops": 8.88, "Ops per threads": 141029.0, "Ops per procs": 70514528.0, "Ops/sec/procs": 2346367.05, "ns per ops/procs": 426.19}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6617007430.0, "Ops per second": 220566914.0, "ns per ops": 4.0, "Ops per threads": 183805.0, "Ops per procs": 91902880.0, "Ops/sec/procs": 3063429.0, "ns per ops/procs": 327.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6360025087.0, "Ops per second": 212000836.0, "ns per ops": 4.0, "Ops per threads": 176667.0, "Ops per procs": 88333681.0, "Ops/sec/procs": 2944456.0, "ns per ops/procs": 340.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30030.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 352290964.0, "Total blocks": 352290964.0, "Ops per second": 11731109.36, "ns per ops": 85.24, "Ops per threads": 352290.0, "Ops per procs": 176145482.0, "Ops/sec/procs": 5865554.68, "ns per ops/procs": 170.49}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30023.549747, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2393108443.0, "Total blocks": 2393108436.0, "Ops per second": 79707711.55, "ns per ops": 12.55, "Ops per threads": 199425.0, "Ops per procs": 99712851.0, "Ops/sec/procs": 3321154.65, "ns per ops/procs": 301.1}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30036.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2103121741.0, "Total blocks": 2103121741.0, "Ops per second": 70018698.79, "ns per ops": 14.28, "Ops per threads": 262890.0, "Ops per procs": 131445108.0, "Ops/sec/procs": 4376168.67, "ns per ops/procs": 228.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162948961.0, "Ops per second": 5431632.0, "ns per ops": 184.0, "Ops per threads": 325897.0, "Ops per procs": 162948961.0, "Ops/sec/procs": 5431632.0, "ns per ops/procs": 184.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30052.002839, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 290413959.0, "Total blocks": 290413113.0, "Ops per second": 9663713.95, "ns per ops": 103.48, "Ops per threads": 290413.0, "Ops per procs": 145206979.0, "Ops/sec/procs": 4831856.97, "ns per ops/procs": 206.96}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.678465, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168291645.0, "Total blocks": 168291149.0, "Ops per second": 5600447.45, "ns per ops": 178.56, "Ops per threads": 336583.0, "Ops per procs": 168291645.0, "Ops/sec/procs": 5600447.45, "ns per ops/procs": 178.56}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 600117059.0, "Ops per second": 20003901.0, "ns per ops": 50.0, "Ops per threads": 300058.0, "Ops per procs": 150029264.0, "Ops/sec/procs": 5000975.0, "ns per ops/procs": 200.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2894102152.0, "Ops per second": 96470071.0, "ns per ops": 10.0, "Ops per threads": 241175.0, "Ops per procs": 120587589.0, "Ops/sec/procs": 4019586.0, "ns per ops/procs": 249.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30060.650435, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3372781101.0, "Total blocks": 3372781029.0, "Ops per second": 112199205.68, "ns per ops": 8.91, "Ops per threads": 140532.0, "Ops per procs": 70266272.0, "Ops/sec/procs": 2337483.45, "ns per ops/procs": 427.81}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.587693, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 284093613.0, "Total blocks": 284092617.0, "Ops per second": 9453530.9, "ns per ops": 105.78, "Ops per threads": 284093.0, "Ops per procs": 142046806.0, "Ops/sec/procs": 4726765.45, "ns per ops/procs": 211.56}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2891778191.0, "Ops per second": 96392606.0, "ns per ops": 10.0, "Ops per threads": 240981.0, "Ops per procs": 120490757.0, "Ops/sec/procs": 4016358.0, "ns per ops/procs": 249.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.061514, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168210573.0, "Total blocks": 168210073.0, "Ops per second": 5597864.44, "ns per ops": 178.64, "Ops per threads": 336421.0, "Ops per procs": 168210573.0, "Ops/sec/procs": 5597864.44, "ns per ops/procs": 178.64}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 703547714.0, "Ops per second": 23450370.68, "ns per ops": 42.64, "Ops per threads": 351773.0, "Ops per procs": 175886928.0, "Ops/sec/procs": 5862592.67, "ns per ops/procs": 170.57}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30051.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3482639832.0, "Ops per second": 115888014.77, "ns per ops": 8.63, "Ops per threads": 145109.0, "Ops per procs": 72554996.0, "Ops/sec/procs": 2414333.64, "ns per ops/procs": 414.19}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30055.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2523036854.0, "Total blocks": 2523036854.0, "Ops per second": 83945117.83, "ns per ops": 11.91, "Ops per threads": 210253.0, "Ops per procs": 105126535.0, "Ops/sec/procs": 3497713.24, "ns per ops/procs": 285.9}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2606662496.0, "Ops per second": 86883039.33, "ns per ops": 11.51, "Ops per threads": 325832.0, "Ops per procs": 162916406.0, "Ops/sec/procs": 5430189.96, "ns per ops/procs": 184.16}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30000.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13028869869.0, "Ops per second": 434295662.0, "ns per ops": 2.0, "Ops per threads": 135717.0, "Ops per procs": 67858697.0, "Ops/sec/procs": 2261956.0, "ns per ops/procs": 442.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1159396486.0, "Ops per second": 38646549.0, "ns per ops": 25.0, "Ops per threads": 289849.0, "Ops per procs": 144924560.0, "Ops/sec/procs": 4830818.0, "ns per ops/procs": 207.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30024.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4383807982.0, "Total blocks": 4383807982.0, "Ops per second": 146007002.18, "ns per ops": 6.85, "Ops per threads": 91329.0, "Ops per procs": 45664666.0, "Ops/sec/procs": 1520906.27, "ns per ops/procs": 657.5}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30038.590278, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9818767893.0, "Total blocks": 9818767744.0, "Ops per second": 326871793.99, "ns per ops": 3.06, "Ops per threads": 136371.0, "Ops per procs": 68185888.0, "Ops/sec/procs": 2269943.01, "ns per ops/procs": 440.54}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30040.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4674253039.0, "Total blocks": 4674253038.0, "Ops per second": 155600007.85, "ns per ops": 6.43, "Ops per threads": 129840.0, "Ops per procs": 64920181.0, "Ops/sec/procs": 2161111.22, "ns per ops/procs": 462.72}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162921728.0, "Ops per second": 5430724.0, "ns per ops": 184.0, "Ops per threads": 325843.0, "Ops per procs": 162921728.0, "Ops/sec/procs": 5430724.0, "ns per ops/procs": 184.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1331116737.0, "Total blocks": 1331116737.0, "Ops per second": 44327959.85, "ns per ops": 22.56, "Ops per threads": 332779.0, "Ops per procs": 166389592.0, "Ops/sec/procs": 5540994.98, "ns per ops/procs": 180.47}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30037.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 698157505.0, "Total blocks": 698157505.0, "Ops per second": 23242529.99, "ns per ops": 43.02, "Ops per threads": 349078.0, "Ops per procs": 174539376.0, "Ops/sec/procs": 5810632.5, "ns per ops/procs": 172.1}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30041.732608, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9599833954.0, "Total blocks": 9599833450.0, "Ops per second": 319549943.38, "ns per ops": 3.13, "Ops per threads": 133331.0, "Ops per procs": 66665513.0, "Ops/sec/procs": 2219096.83, "ns per ops/procs": 450.63}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2463881563.0, "Total blocks": 2463881563.0, "Ops per second": 82113032.51, "ns per ops": 12.18, "Ops per threads": 102661.0, "Ops per procs": 51330865.0, "Ops/sec/procs": 1710688.18, "ns per ops/procs": 584.56}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30046.606445, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9664559493.0, "Total blocks": 9664559133.0, "Ops per second": 321652280.79, "ns per ops": 3.11, "Ops per threads": 134229.0, "Ops per procs": 67114996.0, "Ops/sec/procs": 2233696.39, "ns per ops/procs": 447.69}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30019.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5055183967.0, "Total blocks": 5055183967.0, "Ops per second": 168398733.92, "ns per ops": 5.94, "Ops per threads": 140421.0, "Ops per procs": 70210888.0, "Ops/sec/procs": 2338871.3, "ns per ops/procs": 427.56}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1162868293.0, "Ops per second": 38762276.0, "ns per ops": 25.0, "Ops per threads": 290717.0, "Ops per procs": 145358536.0, "Ops/sec/procs": 4845284.0, "ns per ops/procs": 207.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1402252818.0, "Ops per second": 46739193.14, "ns per ops": 21.4, "Ops per threads": 350563.0, "Ops per procs": 175281602.0, "Ops/sec/procs": 5842399.14, "ns per ops/procs": 171.16}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30062.470297, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9808068915.0, "Total blocks": 9808068766.0, "Ops per second": 326256253.0, "ns per ops": 3.07, "Ops per threads": 136223.0, "Ops per procs": 68111589.0, "Ops/sec/procs": 2265668.42, "ns per ops/procs": 441.37}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 48906.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 22823309815.0, "Ops per second": 466673250.03, "ns per ops": 2.14, "Ops per threads": 237742.0, "Ops per procs": 118871405.0, "Ops/sec/procs": 2430589.84, "ns per ops/procs": 411.42}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 702914613.0, "Ops per second": 23429264.3, "ns per ops": 42.68, "Ops per threads": 351457.0, "Ops per procs": 175728653.0, "Ops/sec/procs": 5857316.08, "ns per ops/procs": 170.73}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30054.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6612298233.0, "Ops per second": 220007922.46, "ns per ops": 4.55, "Ops per threads": 137756.0, "Ops per procs": 68878106.0, "Ops/sec/procs": 2291749.19, "ns per ops/procs": 436.35}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 358327123.0, "Ops per second": 11943669.51, "ns per ops": 83.73, "Ops per threads": 358327.0, "Ops per procs": 179163561.0, "Ops/sec/procs": 5971834.76, "ns per ops/procs": 167.45}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30048.022482, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9746486532.0, "Total blocks": 9746486315.0, "Ops per second": 324363659.47, "ns per ops": 3.08, "Ops per threads": 135367.0, "Ops per procs": 67683934.0, "Ops/sec/procs": 2252525.41, "ns per ops/procs": 443.95}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 204119645.0, "Total blocks": 204119145.0, "Ops per second": 6798029.06, "ns per ops": 147.1, "Ops per threads": 408239.0, "Ops per procs": 204119645.0, "Ops/sec/procs": 6798029.06, "ns per ops/procs": 147.1}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1160845414.0, "Ops per second": 38694847.0, "ns per ops": 25.0, "Ops per threads": 290211.0, "Ops per procs": 145105676.0, "Ops/sec/procs": 4836855.0, "ns per ops/procs": 207.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1319938632.0, "Total blocks": 1319938632.0, "Ops per second": 43955412.45, "ns per ops": 22.75, "Ops per threads": 329984.0, "Ops per procs": 164992329.0, "Ops/sec/procs": 5494426.56, "ns per ops/procs": 182.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30081.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6868534045.0, "Ops per second": 228327438.96, "ns per ops": 4.38, "Ops per threads": 143094.0, "Ops per procs": 71547229.0, "Ops/sec/procs": 2378410.82, "ns per ops/procs": 420.45}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30022.452179, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2396495012.0, "Total blocks": 2396495006.0, "Ops per second": 79823426.74, "ns per ops": 12.53, "Ops per threads": 199707.0, "Ops per procs": 99853958.0, "Ops/sec/procs": 3325976.11, "ns per ops/procs": 300.66}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30015.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2496713750.0, "Total blocks": 2496713750.0, "Ops per second": 83181623.0, "ns per ops": 12.02, "Ops per threads": 208059.0, "Ops per procs": 104029739.0, "Ops/sec/procs": 3465900.96, "ns per ops/procs": 288.53}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2204230032.0, "Ops per second": 73474334.0, "ns per ops": 13.0, "Ops per threads": 275528.0, "Ops per procs": 137764377.0, "Ops/sec/procs": 4592145.0, "ns per ops/procs": 218.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6408567784.0, "Ops per second": 213618926.0, "ns per ops": 4.0, "Ops per threads": 178015.0, "Ops per procs": 89007885.0, "Ops/sec/procs": 2966929.0, "ns per ops/procs": 338.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30049.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2442823442.0, "Total blocks": 2442823442.0, "Ops per second": 81292199.51, "ns per ops": 12.3, "Ops per threads": 101784.0, "Ops per procs": 50892155.0, "Ops/sec/procs": 1693587.49, "ns per ops/procs": 590.46}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30021.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12925856264.0, "Ops per second": 430861875.0, "ns per ops": 2.0, "Ops per threads": 134644.0, "Ops per procs": 67322168.0, "Ops/sec/procs": 2244072.0, "ns per ops/procs": 445.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30030.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2450451540.0, "Total blocks": 2450451540.0, "Ops per second": 81599642.34, "ns per ops": 12.25, "Ops per threads": 102102.0, "Ops per procs": 51051073.0, "Ops/sec/procs": 1699992.55, "ns per ops/procs": 588.24}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 318036362.0, "Ops per second": 10601212.0, "ns per ops": 94.0, "Ops per threads": 318036.0, "Ops per procs": 159018181.0, "Ops/sec/procs": 5300606.0, "ns per ops/procs": 189.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30032.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 688165907.0, "Total blocks": 688165907.0, "Ops per second": 22914409.58, "ns per ops": 43.64, "Ops per threads": 344082.0, "Ops per procs": 172041476.0, "Ops/sec/procs": 5728602.39, "ns per ops/procs": 174.56}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203346198.0, "Total blocks": 203345698.0, "Ops per second": 6772166.51, "ns per ops": 147.66, "Ops per threads": 406692.0, "Ops per procs": 203346198.0, "Ops/sec/procs": 6772166.51, "ns per ops/procs": 147.66}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30100.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13283218533.0, "Ops per second": 442773951.0, "ns per ops": 2.0, "Ops per threads": 138366.0, "Ops per procs": 69183429.0, "Ops/sec/procs": 2306114.0, "ns per ops/procs": 435.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.755761, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167981268.0, "Total blocks": 167980772.0, "Ops per second": 5590104.27, "ns per ops": 178.89, "Ops per threads": 335962.0, "Ops per procs": 167981268.0, "Ops/sec/procs": 5590104.27, "ns per ops/procs": 178.89}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30062.199687, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12986339364.0, "Total blocks": 12986339194.0, "Ops per second": 431982339.92, "ns per ops": 2.31, "Ops per threads": 135274.0, "Ops per procs": 67637184.0, "Ops/sec/procs": 2249908.02, "ns per ops/procs": 444.46}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30048.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2561342717.0, "Total blocks": 2561342717.0, "Ops per second": 85241566.51, "ns per ops": 11.73, "Ops per threads": 213445.0, "Ops per procs": 106722613.0, "Ops/sec/procs": 3551731.94, "ns per ops/procs": 281.55}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30003.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7125830090.0, "Ops per second": 237527669.0, "ns per ops": 4.0, "Ops per threads": 148454.0, "Ops per procs": 74227396.0, "Ops/sec/procs": 2474246.0, "ns per ops/procs": 404.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30005.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6677841425.0, "Ops per second": 222553623.82, "ns per ops": 4.49, "Ops per threads": 139121.0, "Ops per procs": 69560848.0, "Ops/sec/procs": 2318266.91, "ns per ops/procs": 431.36}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30030.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 353151232.0, "Total blocks": 353151232.0, "Ops per second": 11759911.77, "ns per ops": 85.03, "Ops per threads": 353151.0, "Ops per procs": 176575616.0, "Ops/sec/procs": 5879955.88, "ns per ops/procs": 170.07}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30023.780053, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2300075820.0, "Total blocks": 2300075814.0, "Ops per second": 76608468.88, "ns per ops": 13.05, "Ops per threads": 191672.0, "Ops per procs": 95836492.0, "Ops/sec/procs": 3192019.54, "ns per ops/procs": 313.28}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 128721.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 14301317257.0, "Ops per second": 111102506.11, "ns per ops": 9.0, "Ops per threads": 1191776.0, "Ops per procs": 595888219.0, "Ops/sec/procs": 4629271.09, "ns per ops/procs": 216.02}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30052.031829, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 289232468.0, "Total blocks": 289231472.0, "Ops per second": 9624389.78, "ns per ops": 103.9, "Ops per threads": 289232.0, "Ops per procs": 144616234.0, "Ops/sec/procs": 4812194.89, "ns per ops/procs": 207.81}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1403196271.0, "Ops per second": 46770704.1, "ns per ops": 21.38, "Ops per threads": 350799.0, "Ops per procs": 175399533.0, "Ops/sec/procs": 5846338.01, "ns per ops/procs": 171.05}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30043.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 693408357.0, "Total blocks": 693408357.0, "Ops per second": 23079927.56, "ns per ops": 43.33, "Ops per threads": 346704.0, "Ops per procs": 173352089.0, "Ops/sec/procs": 5769981.89, "ns per ops/procs": 173.31}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2542919680.0, "Total blocks": 2542919680.0, "Ops per second": 84723134.67, "ns per ops": 11.8, "Ops per threads": 211909.0, "Ops per procs": 105954986.0, "Ops/sec/procs": 3530130.61, "ns per ops/procs": 283.28}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3068453568.0, "Ops per second": 102272454.44, "ns per ops": 9.78, "Ops per threads": 255704.0, "Ops per procs": 127852232.0, "Ops/sec/procs": 4261352.27, "ns per ops/procs": 234.67}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30071.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6891770808.0, "Ops per second": 229179370.78, "ns per ops": 4.36, "Ops per threads": 143578.0, "Ops per procs": 71789279.0, "Ops/sec/procs": 2387285.11, "ns per ops/procs": 418.89}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 153926.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 17323791339.0, "Ops per second": 112546169.42, "ns per ops": 8.89, "Ops per threads": 1443649.0, "Ops per procs": 721824639.0, "Ops/sec/procs": 4689423.73, "ns per ops/procs": 213.25}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 703640857.0, "Ops per second": 23453482.8, "ns per ops": 42.64, "Ops per threads": 351820.0, "Ops per procs": 175910214.0, "Ops/sec/procs": 5863370.7, "ns per ops/procs": 170.55}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30089.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3361344245.0, "Ops per second": 111710050.79, "ns per ops": 8.95, "Ops per threads": 140056.0, "Ops per procs": 70028005.0, "Ops/sec/procs": 2327292.72, "ns per ops/procs": 429.68}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30060.735788, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12958736814.0, "Total blocks": 12958736650.0, "Ops per second": 431085150.59, "ns per ops": 2.32, "Ops per threads": 134986.0, "Ops per procs": 67493420.0, "Ops/sec/procs": 2245235.16, "ns per ops/procs": 445.39}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 600411974.0, "Ops per second": 20013732.0, "ns per ops": 50.0, "Ops per threads": 300205.0, "Ops per procs": 150102993.0, "Ops/sec/procs": 5003433.0, "ns per ops/procs": 200.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30007.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10931275780.0, "Ops per second": 364375859.0, "ns per ops": 2.0, "Ops per threads": 151823.0, "Ops per procs": 75911637.0, "Ops/sec/procs": 2530387.0, "ns per ops/procs": 395.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30018.582818, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2141693689.0, "Total blocks": 2141693685.0, "Ops per second": 71345596.23, "ns per ops": 14.02, "Ops per threads": 178474.0, "Ops per procs": 89237237.0, "Ops/sec/procs": 2972733.18, "ns per ops/procs": 336.39}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30018.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10365991760.0, "Ops per second": 345322877.08, "ns per ops": 2.9, "Ops per threads": 143972.0, "Ops per procs": 71986053.0, "Ops/sec/procs": 2398075.54, "ns per ops/procs": 417.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162946006.0, "Ops per second": 5431533.0, "ns per ops": 184.0, "Ops per threads": 325892.0, "Ops per procs": 162946006.0, "Ops/sec/procs": 5431533.0, "ns per ops/procs": 184.0}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30014.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3600741090.0, "Ops per second": 119966491.99, "ns per ops": 8.34, "Ops per threads": 150030.0, "Ops per procs": 75015439.0, "Ops/sec/procs": 2499301.92, "ns per ops/procs": 400.11}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30077.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2068688292.0, "Total blocks": 2068688292.0, "Ops per second": 68778176.34, "ns per ops": 14.54, "Ops per threads": 258586.0, "Ops per procs": 129293018.0, "Ops/sec/procs": 4298636.02, "ns per ops/procs": 232.63}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30099.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7278293766.0, "Ops per second": 242609792.0, "ns per ops": 4.0, "Ops per threads": 151631.0, "Ops per procs": 75815560.0, "Ops/sec/procs": 2527185.0, "ns per ops/procs": 397.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30074.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2510631380.0, "Total blocks": 2510631380.0, "Ops per second": 83479241.18, "ns per ops": 11.98, "Ops per threads": 104609.0, "Ops per procs": 52304820.0, "Ops/sec/procs": 1739150.86, "ns per ops/procs": 574.99}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30015.830526, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2377943794.0, "Total blocks": 2377943793.0, "Ops per second": 79222988.41, "ns per ops": 12.62, "Ops per threads": 198161.0, "Ops per procs": 99080991.0, "Ops/sec/procs": 3300957.85, "ns per ops/procs": 302.94}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 33222.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11985765475.0, "Ops per second": 360773167.65, "ns per ops": 2.77, "Ops per threads": 166468.0, "Ops per procs": 83234482.0, "Ops/sec/procs": 2505369.22, "ns per ops/procs": 399.14}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30074.816812, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1855994515.0, "Total blocks": 1855986515.0, "Ops per second": 61712579.22, "ns per ops": 16.2, "Ops per threads": 231999.0, "Ops per procs": 115999657.0, "Ops/sec/procs": 3857036.2, "ns per ops/procs": 259.27}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30061.746889, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3377929965.0, "Total blocks": 3377929869.0, "Ops per second": 112366389.67, "ns per ops": 8.9, "Ops per threads": 140747.0, "Ops per procs": 70373540.0, "Ops/sec/procs": 2340966.45, "ns per ops/procs": 427.17}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30048.077151, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 285479890.0, "Total blocks": 285478894.0, "Ops per second": 9500770.67, "ns per ops": 105.25, "Ops per threads": 285479.0, "Ops per procs": 142739945.0, "Ops/sec/procs": 4750385.33, "ns per ops/procs": 210.51}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.111455, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 290724438.0, "Total blocks": 290723442.0, "Ops per second": 9674332.29, "ns per ops": 103.37, "Ops per threads": 290724.0, "Ops per procs": 145362219.0, "Ops/sec/procs": 4837166.15, "ns per ops/procs": 206.73}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6350625535.0, "Total blocks": 6350625534.0, "Ops per second": 211648044.49, "ns per ops": 4.72, "Ops per threads": 66152.0, "Ops per procs": 33076174.0, "Ops/sec/procs": 1102333.57, "ns per ops/procs": 907.17}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30002.94067, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5673664553.0, "Total blocks": 5673664528.0, "Ops per second": 189103615.39, "ns per ops": 5.29, "Ops per threads": 157601.0, "Ops per procs": 78800896.0, "Ops/sec/procs": 2626439.1, "ns per ops/procs": 380.74}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.890561, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168309332.0, "Total blocks": 168308836.0, "Ops per second": 5600996.5, "ns per ops": 178.54, "Ops per threads": 336618.0, "Ops per procs": 168309332.0, "Ops/sec/procs": 5600996.5, "ns per ops/procs": 178.54}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6281823128.0, "Ops per second": 209394104.0, "ns per ops": 4.0, "Ops per threads": 174495.0, "Ops per procs": 87247543.0, "Ops/sec/procs": 2908251.0, "ns per ops/procs": 344.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1161334682.0, "Ops per second": 38711156.0, "ns per ops": 25.0, "Ops per threads": 290333.0, "Ops per procs": 145166835.0, "Ops/sec/procs": 4838894.0, "ns per ops/procs": 207.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 202819301.0, "Total blocks": 202818801.0, "Ops per second": 6754632.58, "ns per ops": 148.05, "Ops per threads": 405638.0, "Ops per procs": 202819301.0, "Ops/sec/procs": 6754632.58, "ns per ops/procs": 148.05}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30044.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6522724179.0, "Ops per second": 217100172.84, "ns per ops": 4.61, "Ops per threads": 181186.0, "Ops per procs": 90593391.0, "Ops/sec/procs": 3015280.18, "ns per ops/procs": 331.64}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30060.059841, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12953019994.0, "Total blocks": 12953019803.0, "Ops per second": 430904664.28, "ns per ops": 2.32, "Ops per threads": 134927.0, "Ops per procs": 67463645.0, "Ops/sec/procs": 2244295.13, "ns per ops/procs": 445.57}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 702171946.0, "Ops per second": 23404528.35, "ns per ops": 42.73, "Ops per threads": 351085.0, "Ops per procs": 175542986.0, "Ops/sec/procs": 5851132.09, "ns per ops/procs": 170.91}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 198828275.0, "Total blocks": 198827775.0, "Ops per second": 6621691.29, "ns per ops": 151.02, "Ops per threads": 397656.0, "Ops per procs": 198828275.0, "Ops/sec/procs": 6621691.29, "ns per ops/procs": 151.02}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2204062076.0, "Ops per second": 73468735.0, "ns per ops": 13.0, "Ops per threads": 275507.0, "Ops per procs": 137753879.0, "Ops/sec/procs": 4591795.0, "ns per ops/procs": 218.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30098.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317819137.0, "Ops per second": 10593971.0, "ns per ops": 94.0, "Ops per threads": 317819.0, "Ops per procs": 158909568.0, "Ops/sec/procs": 5296985.0, "ns per ops/procs": 189.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30022.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7468315737.0, "Ops per second": 248754451.02, "ns per ops": 4.02, "Ops per threads": 155589.0, "Ops per procs": 77794955.0, "Ops/sec/procs": 2591192.2, "ns per ops/procs": 385.92}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30021.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5734041095.0, "Total blocks": 5734041095.0, "Ops per second": 190997210.32, "ns per ops": 5.24, "Ops per threads": 59729.0, "Ops per procs": 29864797.0, "Ops/sec/procs": 994777.14, "ns per ops/procs": 1005.25}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6399825942.0, "Ops per second": 213327531.0, "ns per ops": 4.0, "Ops per threads": 177772.0, "Ops per procs": 88886471.0, "Ops/sec/procs": 2962882.0, "ns per ops/procs": 338.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30047.470397, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6620639219.0, "Total blocks": 6620639118.0, "Ops per second": 220339320.8, "ns per ops": 4.54, "Ops per threads": 137929.0, "Ops per procs": 68964991.0, "Ops/sec/procs": 2295201.26, "ns per ops/procs": 435.69}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30030.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1337355073.0, "Total blocks": 1337355073.0, "Ops per second": 44533506.43, "ns per ops": 22.46, "Ops per threads": 334338.0, "Ops per procs": 167169384.0, "Ops/sec/procs": 5566688.3, "ns per ops/procs": 179.64}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.778486, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168019332.0, "Total blocks": 168018832.0, "Ops per second": 5591366.74, "ns per ops": 178.85, "Ops per threads": 336038.0, "Ops per procs": 168019332.0, "Ops/sec/procs": 5591366.74, "ns per ops/procs": 178.85}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30057.730279, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3362175246.0, "Total blocks": 3362175163.0, "Ops per second": 111857256.51, "ns per ops": 8.94, "Ops per threads": 140090.0, "Ops per procs": 70045317.0, "Ops/sec/procs": 2330359.51, "ns per ops/procs": 429.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30060.926541, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12962752012.0, "Total blocks": 12962751830.0, "Ops per second": 431215983.79, "ns per ops": 2.32, "Ops per threads": 135028.0, "Ops per procs": 67514333.0, "Ops/sec/procs": 2245916.58, "ns per ops/procs": 445.25}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30056.084919, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1005763199.0, "Total blocks": 1005759202.0, "Ops per second": 33462881.2, "ns per ops": 29.88, "Ops per threads": 251440.0, "Ops per procs": 125720399.0, "Ops/sec/procs": 4182860.15, "ns per ops/procs": 239.07}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 704611394.0, "Ops per second": 23485885.25, "ns per ops": 42.58, "Ops per threads": 352305.0, "Ops per procs": 176152848.0, "Ops/sec/procs": 5871471.31, "ns per ops/procs": 170.32}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30054.694208, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12938654371.0, "Total blocks": 12938654189.0, "Ops per second": 430503610.57, "ns per ops": 2.32, "Ops per threads": 134777.0, "Ops per procs": 67388824.0, "Ops/sec/procs": 2242206.31, "ns per ops/procs": 445.99}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10754278549.0, "Ops per second": 358475951.0, "ns per ops": 2.0, "Ops per threads": 149364.0, "Ops per procs": 74682489.0, "Ops/sec/procs": 2489416.0, "ns per ops/procs": 401.0}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 247134.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6008765208.0, "Ops per second": 24313747.31, "ns per ops": 41.13, "Ops per threads": 3004382.0, "Ops per procs": 1502191302.0, "Ops/sec/procs": 6078436.83, "ns per ops/procs": 164.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30061.073027, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1005983525.0, "Total blocks": 1005983525.0, "Ops per second": 33464657.9, "ns per ops": 29.88, "Ops per threads": 251495.0, "Ops per procs": 125747940.0, "Ops/sec/procs": 4183082.24, "ns per ops/procs": 239.06}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30039.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4880845824.0, "Total blocks": 4880845824.0, "Ops per second": 162479248.82, "ns per ops": 6.15, "Ops per threads": 135579.0, "Ops per procs": 67789525.0, "Ops/sec/procs": 2256656.23, "ns per ops/procs": 443.13}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2635183195.0, "Ops per second": 87833374.99, "ns per ops": 11.39, "Ops per threads": 329397.0, "Ops per procs": 164698949.0, "Ops/sec/procs": 5489585.94, "ns per ops/procs": 182.16}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30052.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9985408229.0, "Ops per second": 332267997.73, "ns per ops": 3.01, "Ops per threads": 138686.0, "Ops per procs": 69343112.0, "Ops/sec/procs": 2307416.65, "ns per ops/procs": 433.39}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30009.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6064285162.0, "Total blocks": 6064285161.0, "Ops per second": 202075630.66, "ns per ops": 4.95, "Ops per threads": 63169.0, "Ops per procs": 31584818.0, "Ops/sec/procs": 1052477.24, "ns per ops/procs": 950.14}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30040.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6294658226.0, "Ops per second": 209537695.36, "ns per ops": 4.77, "Ops per threads": 174851.0, "Ops per procs": 87425808.0, "Ops/sec/procs": 2910245.77, "ns per ops/procs": 343.61}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7011347227.0, "Ops per second": 233635639.94, "ns per ops": 4.28, "Ops per threads": 194759.0, "Ops per procs": 97379822.0, "Ops/sec/procs": 3244939.44, "ns per ops/procs": 308.17}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 699845675.0, "Total blocks": 699845675.0, "Ops per second": 23305480.11, "ns per ops": 42.91, "Ops per threads": 349922.0, "Ops per procs": 174961418.0, "Ops/sec/procs": 5826370.03, "ns per ops/procs": 171.63}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30059.806429, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3370983201.0, "Total blocks": 3370983106.0, "Ops per second": 112142545.19, "ns per ops": 8.92, "Ops per threads": 140457.0, "Ops per procs": 70228816.0, "Ops/sec/procs": 2336303.02, "ns per ops/procs": 428.03}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2016729379.0, "Ops per second": 67219519.81, "ns per ops": 14.88, "Ops per threads": 252091.0, "Ops per procs": 126045586.0, "Ops/sec/procs": 4201219.99, "ns per ops/procs": 238.03}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30059.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7011600421.0, "Ops per second": 233257267.61, "ns per ops": 4.29, "Ops per threads": 194766.0, "Ops per procs": 97383339.0, "Ops/sec/procs": 3239684.27, "ns per ops/procs": 308.67}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30060.203423, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3365766818.0, "Total blocks": 3365766707.0, "Ops per second": 111967532.98, "ns per ops": 8.93, "Ops per threads": 140240.0, "Ops per procs": 70120142.0, "Ops/sec/procs": 2332656.94, "ns per ops/procs": 428.7}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30100.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3831085565.0, "Ops per second": 127702852.0, "ns per ops": 7.0, "Ops per threads": 159628.0, "Ops per procs": 79814282.0, "Ops/sec/procs": 2660476.0, "ns per ops/procs": 377.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30024.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2474717310.0, "Total blocks": 2474717310.0, "Ops per second": 82422195.68, "ns per ops": 12.13, "Ops per threads": 103113.0, "Ops per procs": 51556610.0, "Ops/sec/procs": 1717129.08, "ns per ops/procs": 582.37}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1165692340.0, "Ops per second": 38856411.0, "ns per ops": 25.0, "Ops per threads": 291423.0, "Ops per procs": 145711542.0, "Ops/sec/procs": 4857051.0, "ns per ops/procs": 206.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30047.774416, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6553302201.0, "Total blocks": 6553302051.0, "Ops per second": 218096092.92, "ns per ops": 4.59, "Ops per threads": 136527.0, "Ops per procs": 68263564.0, "Ops/sec/procs": 2271834.3, "ns per ops/procs": 440.17}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30080.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4681668636.0, "Total blocks": 4681668636.0, "Ops per second": 155636504.56, "ns per ops": 6.43, "Ops per threads": 130046.0, "Ops per procs": 65023175.0, "Ops/sec/procs": 2161618.12, "ns per ops/procs": 462.62}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30062.807317, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1012052411.0, "Total blocks": 1012048413.0, "Ops per second": 33664600.92, "ns per ops": 29.7, "Ops per threads": 253013.0, "Ops per procs": 126506551.0, "Ops/sec/procs": 4208075.12, "ns per ops/procs": 237.64}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30072.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6189567236.0, "Total blocks": 6189567236.0, "Ops per second": 205823031.42, "ns per ops": 4.86, "Ops per threads": 64474.0, "Ops per procs": 32237329.0, "Ops/sec/procs": 1071994.96, "ns per ops/procs": 932.84}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167785107.0, "Ops per second": 5592589.34, "ns per ops": 178.81, "Ops per threads": 335570.0, "Ops per procs": 167785107.0, "Ops/sec/procs": 5592589.34, "ns per ops/procs": 178.81}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30050.092906, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167904605.0, "Total blocks": 167904105.0, "Ops per second": 5587490.38, "ns per ops": 178.97, "Ops per threads": 335809.0, "Ops per procs": 167904605.0, "Ops/sec/procs": 5587490.38, "ns per ops/procs": 178.97}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30031.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5719167751.0, "Total blocks": 5719167750.0, "Ops per second": 190435930.09, "ns per ops": 5.25, "Ops per threads": 79432.0, "Ops per procs": 39716442.0, "Ops/sec/procs": 1322471.74, "ns per ops/procs": 756.16}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3878367407.0, "Ops per second": 129278913.0, "ns per ops": 7.0, "Ops per threads": 161598.0, "Ops per procs": 80799320.0, "Ops/sec/procs": 2693310.0, "ns per ops/procs": 372.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 318283138.0, "Ops per second": 10609437.0, "ns per ops": 94.0, "Ops per threads": 318283.0, "Ops per procs": 159141569.0, "Ops/sec/procs": 5304718.0, "ns per ops/procs": 189.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30028.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 353570748.0, "Total blocks": 353570748.0, "Ops per second": 11774353.58, "ns per ops": 84.93, "Ops per threads": 353570.0, "Ops per procs": 176785374.0, "Ops/sec/procs": 5887176.79, "ns per ops/procs": 169.86}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30031.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6199827412.0, "Total blocks": 6199827410.0, "Ops per second": 206444038.59, "ns per ops": 4.84, "Ops per threads": 64581.0, "Ops per procs": 32290767.0, "Ops/sec/procs": 1075229.37, "ns per ops/procs": 930.03}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30056.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13821031718.0, "Ops per second": 459827994.27, "ns per ops": 2.17, "Ops per threads": 143969.0, "Ops per procs": 71984540.0, "Ops/sec/procs": 2394937.47, "ns per ops/procs": 417.55}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30073.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11082119222.0, "Ops per second": 368497248.08, "ns per ops": 2.71, "Ops per threads": 153918.0, "Ops per procs": 76959161.0, "Ops/sec/procs": 2559008.67, "ns per ops/procs": 390.78}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1407449530.0, "Ops per second": 46912444.56, "ns per ops": 21.32, "Ops per threads": 351862.0, "Ops per procs": 175931191.0, "Ops/sec/procs": 5864055.57, "ns per ops/procs": 170.53}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 204386291.0, "Total blocks": 204385791.0, "Ops per second": 6806813.14, "ns per ops": 146.91, "Ops per threads": 408772.0, "Ops per procs": 204386291.0, "Ops/sec/procs": 6806813.14, "ns per ops/procs": 146.91}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30044.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1331047214.0, "Total blocks": 1331047214.0, "Ops per second": 44302644.99, "ns per ops": 22.57, "Ops per threads": 332761.0, "Ops per procs": 166380901.0, "Ops/sec/procs": 5537830.62, "ns per ops/procs": 180.58}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30036.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2103748467.0, "Total blocks": 2103748467.0, "Ops per second": 70040095.14, "ns per ops": 14.28, "Ops per threads": 262968.0, "Ops per procs": 131484279.0, "Ops/sec/procs": 4377505.95, "ns per ops/procs": 228.44}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 55075.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4839104878.0, "Ops per second": 87863086.85, "ns per ops": 11.38, "Ops per threads": 604888.0, "Ops per procs": 302444054.0, "Ops/sec/procs": 5491442.93, "ns per ops/procs": 182.1}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30060.804757, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1025930963.0, "Total blocks": 1025926967.0, "Ops per second": 34128526.21, "ns per ops": 29.3, "Ops per threads": 256482.0, "Ops per procs": 128241370.0, "Ops/sec/procs": 4266065.78, "ns per ops/procs": 234.41}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30054.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6793875943.0, "Ops per second": 226055606.41, "ns per ops": 4.42, "Ops per threads": 141539.0, "Ops per procs": 70769541.0, "Ops/sec/procs": 2354745.9, "ns per ops/procs": 424.67}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.973691, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168224528.0, "Total blocks": 168224032.0, "Ops per second": 5598158.91, "ns per ops": 178.63, "Ops per threads": 336449.0, "Ops per procs": 168224528.0, "Ops/sec/procs": 5598158.91, "ns per ops/procs": 178.63}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30077.707156, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1873980699.0, "Total blocks": 1873980699.0, "Ops per second": 62304639.42, "ns per ops": 16.05, "Ops per threads": 234247.0, "Ops per procs": 117123793.0, "Ops/sec/procs": 3894039.96, "ns per ops/procs": 256.8}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 42362.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 18575418854.0, "Ops per second": 438482518.46, "ns per ops": 2.28, "Ops per threads": 193493.0, "Ops per procs": 96746973.0, "Ops/sec/procs": 2283763.12, "ns per ops/procs": 437.87}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30050.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2460795737.0, "Total blocks": 2460795737.0, "Ops per second": 81889108.85, "ns per ops": 12.21, "Ops per threads": 102533.0, "Ops per procs": 51266577.0, "Ops/sec/procs": 1706023.1, "ns per ops/procs": 586.16}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30075.585822, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1869159872.0, "Total blocks": 1869151870.0, "Ops per second": 62148743.6, "ns per ops": 16.09, "Ops per threads": 233644.0, "Ops per procs": 116822492.0, "Ops/sec/procs": 3884296.48, "ns per ops/procs": 257.45}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30087.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7301788166.0, "Ops per second": 242687556.02, "ns per ops": 4.12, "Ops per threads": 152120.0, "Ops per procs": 76060293.0, "Ops/sec/procs": 2527995.38, "ns per ops/procs": 395.57}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 358002166.0, "Ops per second": 11932846.22, "ns per ops": 83.8, "Ops per threads": 358002.0, "Ops per procs": 179001083.0, "Ops/sec/procs": 5966423.11, "ns per ops/procs": 167.6}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162557526.0, "Ops per second": 5418584.0, "ns per ops": 185.0, "Ops per threads": 325115.0, "Ops per procs": 162557526.0, "Ops/sec/procs": 5418584.0, "ns per ops/procs": 185.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30047.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2531326922.0, "Total blocks": 2531326922.0, "Ops per second": 84245244.01, "ns per ops": 11.87, "Ops per threads": 105471.0, "Ops per procs": 52735977.0, "Ops/sec/procs": 1755109.25, "ns per ops/procs": 569.77}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30033.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5011264633.0, "Total blocks": 5011264633.0, "Ops per second": 166855182.21, "ns per ops": 5.99, "Ops per threads": 139201.0, "Ops per procs": 69600897.0, "Ops/sec/procs": 2317433.09, "ns per ops/procs": 431.51}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30048.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7475727851.0, "Ops per second": 248787300.59, "ns per ops": 4.02, "Ops per threads": 155744.0, "Ops per procs": 77872165.0, "Ops/sec/procs": 2591534.38, "ns per ops/procs": 385.87}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30060.762087, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1008178937.0, "Total blocks": 1008174937.0, "Ops per second": 33538036.53, "ns per ops": 29.82, "Ops per threads": 252044.0, "Ops per procs": 126022367.0, "Ops/sec/procs": 4192254.57, "ns per ops/procs": 238.54}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30071.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10143287891.0, "Ops per second": 337310500.43, "ns per ops": 2.96, "Ops per threads": 140878.0, "Ops per procs": 70439499.0, "Ops/sec/procs": 2342434.03, "ns per ops/procs": 426.91}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6337596766.0, "Ops per second": 211253225.0, "ns per ops": 4.0, "Ops per threads": 176044.0, "Ops per procs": 88022177.0, "Ops/sec/procs": 2934072.0, "ns per ops/procs": 341.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30023.527964, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2398954299.0, "Total blocks": 2398954284.0, "Ops per second": 79902478.55, "ns per ops": 12.52, "Ops per threads": 199912.0, "Ops per procs": 99956429.0, "Ops/sec/procs": 3329269.94, "ns per ops/procs": 300.37}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30004.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12934927607.0, "Ops per second": 431164253.0, "ns per ops": 2.0, "Ops per threads": 134738.0, "Ops per procs": 67369414.0, "Ops/sec/procs": 2245647.0, "ns per ops/procs": 445.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2524148862.0, "Total blocks": 2524148862.0, "Ops per second": 84098088.95, "ns per ops": 11.89, "Ops per threads": 210345.0, "Ops per procs": 105172869.0, "Ops/sec/procs": 3504087.04, "ns per ops/procs": 285.38}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 36264.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 16585943868.0, "Ops per second": 457359441.65, "ns per ops": 2.19, "Ops per threads": 172770.0, "Ops per procs": 86385124.0, "Ops/sec/procs": 2382080.43, "ns per ops/procs": 419.8}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30019.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10535640214.0, "Ops per second": 350959763.94, "ns per ops": 2.85, "Ops per threads": 146328.0, "Ops per procs": 73164168.0, "Ops/sec/procs": 2437220.58, "ns per ops/procs": 410.3}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30064.868908, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9740710612.0, "Total blocks": 9740710434.0, "Ops per second": 323989791.6, "ns per ops": 3.09, "Ops per threads": 135287.0, "Ops per procs": 67643823.0, "Ops/sec/procs": 2249929.11, "ns per ops/procs": 444.46}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30003.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3393251007.0, "Ops per second": 113096654.0, "ns per ops": 8.84, "Ops per threads": 282770.0, "Ops per procs": 141385458.0, "Ops/sec/procs": 4712360.58, "ns per ops/procs": 212.21}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2629771222.0, "Ops per second": 87652750.21, "ns per ops": 11.41, "Ops per threads": 328721.0, "Ops per procs": 164360701.0, "Ops/sec/procs": 5478296.89, "ns per ops/procs": 182.54}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30000.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4385096062.0, "Total blocks": 4385096062.0, "Ops per second": 146167065.98, "ns per ops": 6.84, "Ops per threads": 91356.0, "Ops per procs": 45678083.0, "Ops/sec/procs": 1522573.6, "ns per ops/procs": 656.78}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1403724866.0, "Ops per second": 46788286.71, "ns per ops": 21.37, "Ops per threads": 350931.0, "Ops per procs": 175465608.0, "Ops/sec/procs": 5848535.84, "ns per ops/procs": 170.98}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30053.811425, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 517892499.0, "Total blocks": 517890498.0, "Ops per second": 17232173.71, "ns per ops": 58.03, "Ops per threads": 258946.0, "Ops per procs": 129473124.0, "Ops/sec/procs": 4308043.43, "ns per ops/procs": 232.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30050.415794, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6623429850.0, "Total blocks": 6623429754.0, "Ops per second": 220410589.17, "ns per ops": 4.54, "Ops per threads": 137988.0, "Ops per procs": 68994060.0, "Ops/sec/procs": 2295943.64, "ns per ops/procs": 435.55}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30001.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12937646889.0, "Ops per second": 431254896.0, "ns per ops": 2.0, "Ops per threads": 134767.0, "Ops per procs": 67383577.0, "Ops/sec/procs": 2246119.0, "ns per ops/procs": 445.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30048.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5807040221.0, "Total blocks": 5807040221.0, "Ops per second": 193255128.56, "ns per ops": 5.17, "Ops per threads": 80653.0, "Ops per procs": 40326668.0, "Ops/sec/procs": 1342049.5, "ns per ops/procs": 745.13}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30052.030501, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 274901369.0, "Total blocks": 274900459.0, "Ops per second": 9147513.98, "ns per ops": 109.32, "Ops per threads": 274901.0, "Ops per procs": 137450684.0, "Ops/sec/procs": 4573756.99, "ns per ops/procs": 218.64}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.573178, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167973203.0, "Total blocks": 167972726.0, "Ops per second": 5589869.85, "ns per ops": 178.9, "Ops per threads": 335946.0, "Ops per procs": 167973203.0, "Ops/sec/procs": 5589869.85, "ns per ops/procs": 178.9}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30098.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317304611.0, "Ops per second": 10576820.0, "ns per ops": 94.0, "Ops per threads": 317304.0, "Ops per procs": 158652305.0, "Ops/sec/procs": 5288410.0, "ns per ops/procs": 189.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 601559688.0, "Ops per second": 20051989.0, "ns per ops": 50.0, "Ops per threads": 300779.0, "Ops per procs": 150389922.0, "Ops/sec/procs": 5012997.0, "ns per ops/procs": 200.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30077.535593, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1867814162.0, "Total blocks": 1867814161.0, "Ops per second": 62099973.46, "ns per ops": 16.1, "Ops per threads": 233476.0, "Ops per procs": 116738385.0, "Ops/sec/procs": 3881248.34, "ns per ops/procs": 257.65}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30078.485608, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1852542495.0, "Total blocks": 1852534496.0, "Ops per second": 61590284.8, "ns per ops": 16.24, "Ops per threads": 231567.0, "Ops per procs": 115783905.0, "Ops/sec/procs": 3849392.8, "ns per ops/procs": 259.78}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30010.645051, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5599556164.0, "Total blocks": 5599556116.0, "Ops per second": 186585665.0, "ns per ops": 5.36, "Ops per threads": 155543.0, "Ops per procs": 77771613.0, "Ops/sec/procs": 2591467.57, "ns per ops/procs": 385.88}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30055.092612, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 531547866.0, "Total blocks": 531545870.0, "Ops per second": 17685783.67, "ns per ops": 56.54, "Ops per threads": 265773.0, "Ops per procs": 132886966.0, "Ops/sec/procs": 4421445.92, "ns per ops/procs": 226.17}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3856025573.0, "Ops per second": 128534185.0, "ns per ops": 7.0, "Ops per threads": 160667.0, "Ops per procs": 80333866.0, "Ops/sec/procs": 2677795.0, "ns per ops/procs": 374.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 201931339.0, "Total blocks": 201930839.0, "Ops per second": 6725069.71, "ns per ops": 148.7, "Ops per threads": 403862.0, "Ops per procs": 201931339.0, "Ops/sec/procs": 6725069.71, "ns per ops/procs": 148.7}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30012.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13034771112.0, "Ops per second": 434492370.0, "ns per ops": 2.0, "Ops per threads": 135778.0, "Ops per procs": 67889432.0, "Ops/sec/procs": 2262981.0, "ns per ops/procs": 442.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30041.453429, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12990909555.0, "Total blocks": 12990909326.0, "Ops per second": 432432791.1, "ns per ops": 2.31, "Ops per threads": 135321.0, "Ops per procs": 67660987.0, "Ops/sec/procs": 2252254.12, "ns per ops/procs": 444.0}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 705342756.0, "Ops per second": 23510182.05, "ns per ops": 42.53, "Ops per threads": 352671.0, "Ops per procs": 176335689.0, "Ops/sec/procs": 5877545.51, "ns per ops/procs": 170.14}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30030.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1328857014.0, "Total blocks": 1328857014.0, "Ops per second": 44250538.27, "ns per ops": 22.6, "Ops per threads": 332214.0, "Ops per procs": 166107126.0, "Ops/sec/procs": 5531317.28, "ns per ops/procs": 180.79}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1317037841.0, "Total blocks": 1317037841.0, "Ops per second": 43858786.35, "ns per ops": 22.8, "Ops per threads": 329259.0, "Ops per procs": 164629730.0, "Ops/sec/procs": 5482348.29, "ns per ops/procs": 182.4}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30060.850264, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1028290912.0, "Total blocks": 1028286916.0, "Ops per second": 34206980.27, "ns per ops": 29.23, "Ops per threads": 257072.0, "Ops per procs": 128536364.0, "Ops/sec/procs": 4275872.53, "ns per ops/procs": 233.87}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30067.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2121776284.0, "Total blocks": 2121776284.0, "Ops per second": 70567606.69, "ns per ops": 14.17, "Ops per threads": 265222.0, "Ops per procs": 132611017.0, "Ops/sec/procs": 4410475.42, "ns per ops/procs": 226.73}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1403808822.0, "Ops per second": 46791151.03, "ns per ops": 21.37, "Ops per threads": 350952.0, "Ops per procs": 175476102.0, "Ops/sec/procs": 5848893.88, "ns per ops/procs": 170.97}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 205242743.0, "Total blocks": 205242243.0, "Ops per second": 6835385.4, "ns per ops": 146.3, "Ops per threads": 410485.0, "Ops per procs": 205242743.0, "Ops/sec/procs": 6835385.4, "ns per ops/procs": 146.3}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30002.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2626294276.0, "Ops per second": 87537157.49, "ns per ops": 11.42, "Ops per threads": 328286.0, "Ops per procs": 164143392.0, "Ops/sec/procs": 5471072.34, "ns per ops/procs": 182.78}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30059.519449, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3376209868.0, "Total blocks": 3376209770.0, "Ops per second": 112317493.09, "ns per ops": 8.9, "Ops per threads": 140675.0, "Ops per procs": 70337705.0, "Ops/sec/procs": 2339947.77, "ns per ops/procs": 427.36}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3836581356.0, "Ops per second": 127886045.0, "ns per ops": 7.0, "Ops per threads": 159857.0, "Ops per procs": 79928778.0, "Ops/sec/procs": 2664292.0, "ns per ops/procs": 376.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30003.601702, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5635726003.0, "Total blocks": 5635725987.0, "Ops per second": 187834982.58, "ns per ops": 5.32, "Ops per threads": 156547.0, "Ops per procs": 78273972.0, "Ops/sec/procs": 2608819.2, "ns per ops/procs": 383.32}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30004.0943, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5618640153.0, "Total blocks": 5618640080.0, "Ops per second": 187262448.15, "ns per ops": 5.34, "Ops per threads": 156073.0, "Ops per procs": 78036668.0, "Ops/sec/procs": 2600867.34, "ns per ops/procs": 384.49}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6577620399.0, "Ops per second": 219254013.0, "ns per ops": 4.0, "Ops per threads": 182711.0, "Ops per procs": 91355838.0, "Ops/sec/procs": 3045194.0, "ns per ops/procs": 329.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30004.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13022393535.0, "Ops per second": 434079784.0, "ns per ops": 2.0, "Ops per threads": 135649.0, "Ops per procs": 67824966.0, "Ops/sec/procs": 2260832.0, "ns per ops/procs": 442.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30016.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2568506615.0, "Total blocks": 2568506615.0, "Ops per second": 85570827.63, "ns per ops": 11.69, "Ops per threads": 214042.0, "Ops per procs": 107021108.0, "Ops/sec/procs": 3565451.15, "ns per ops/procs": 280.47}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30037.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4412247025.0, "Total blocks": 4412247025.0, "Ops per second": 146890919.49, "ns per ops": 6.81, "Ops per threads": 91921.0, "Ops per procs": 45960906.0, "Ops/sec/procs": 1530113.74, "ns per ops/procs": 653.55}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30058.02313, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5700272182.0, "Total blocks": 5700272163.0, "Ops per second": 189642284.77, "ns per ops": 5.27, "Ops per threads": 158340.0, "Ops per procs": 79170446.0, "Ops/sec/procs": 2633920.62, "ns per ops/procs": 379.66}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162962463.0, "Ops per second": 5432082.0, "ns per ops": 184.0, "Ops per threads": 325924.0, "Ops per procs": 162962463.0, "Ops/sec/procs": 5432082.0, "ns per ops/procs": 184.0}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 705061265.0, "Ops per second": 23500841.54, "ns per ops": 42.55, "Ops per threads": 352530.0, "Ops per procs": 176265316.0, "Ops/sec/procs": 5875210.38, "ns per ops/procs": 170.21}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30060.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10504254808.0, "Ops per second": 349433172.27, "ns per ops": 2.86, "Ops per threads": 145892.0, "Ops per procs": 72946213.0, "Ops/sec/procs": 2426619.25, "ns per ops/procs": 412.1}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30085.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12823599184.0, "Ops per second": 426238386.41, "ns per ops": 2.35, "Ops per threads": 133579.0, "Ops per procs": 66789579.0, "Ops/sec/procs": 2219991.6, "ns per ops/procs": 450.45}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1400052021.0, "Ops per second": 46665869.66, "ns per ops": 21.43, "Ops per threads": 350013.0, "Ops per procs": 175006502.0, "Ops/sec/procs": 5833233.71, "ns per ops/procs": 171.43}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30048.103314, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3370320181.0, "Total blocks": 3370320140.0, "Ops per second": 112164157.11, "ns per ops": 8.92, "Ops per threads": 140430.0, "Ops per procs": 70215003.0, "Ops/sec/procs": 2336753.27, "ns per ops/procs": 427.94}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30000.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5342176864.0, "Total blocks": 5342176857.0, "Ops per second": 178071162.76, "ns per ops": 5.62, "Ops per threads": 74196.0, "Ops per procs": 37098450.0, "Ops/sec/procs": 1236605.3, "ns per ops/procs": 808.67}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30090.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4405008822.0, "Total blocks": 4405008822.0, "Ops per second": 146392862.73, "ns per ops": 6.83, "Ops per threads": 91771.0, "Ops per procs": 45885508.0, "Ops/sec/procs": 1524925.65, "ns per ops/procs": 655.77}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30019.842831, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2418349949.0, "Total blocks": 2418349946.0, "Ops per second": 80558381.42, "ns per ops": 12.41, "Ops per threads": 201529.0, "Ops per procs": 100764581.0, "Ops/sec/procs": 3356599.23, "ns per ops/procs": 297.92}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30035.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1323526743.0, "Total blocks": 1323526743.0, "Ops per second": 44065731.17, "ns per ops": 22.69, "Ops per threads": 330881.0, "Ops per procs": 165440842.0, "Ops/sec/procs": 5508216.4, "ns per ops/procs": 181.55}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 351750059.0, "Total blocks": 351750059.0, "Ops per second": 11713649.99, "ns per ops": 85.37, "Ops per threads": 351750.0, "Ops per procs": 175875029.0, "Ops/sec/procs": 5856824.99, "ns per ops/procs": 170.74}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.801041, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168069784.0, "Total blocks": 168069288.0, "Ops per second": 5593041.49, "ns per ops": 178.79, "Ops per threads": 336139.0, "Ops per procs": 168069784.0, "Ops/sec/procs": 5593041.49, "ns per ops/procs": 178.79}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30032.609641, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5717267535.0, "Total blocks": 5717267531.0, "Ops per second": 190368656.05, "ns per ops": 5.25, "Ops per threads": 158812.0, "Ops per procs": 79406493.0, "Ops/sec/procs": 2644009.11, "ns per ops/procs": 378.21}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30044.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4381830738.0, "Total blocks": 4381830736.0, "Ops per second": 145844982.24, "ns per ops": 6.86, "Ops per threads": 91288.0, "Ops per procs": 45644070.0, "Ops/sec/procs": 1519218.57, "ns per ops/procs": 658.23}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30063.227462, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12962090288.0, "Total blocks": 12962090066.0, "Ops per second": 431160969.14, "ns per ops": 2.32, "Ops per threads": 135021.0, "Ops per procs": 67510886.0, "Ops/sec/procs": 2245630.05, "ns per ops/procs": 445.31}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30078.732547, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1833825479.0, "Total blocks": 1833817479.0, "Ops per second": 60967511.72, "ns per ops": 16.4, "Ops per threads": 229228.0, "Ops per procs": 114614092.0, "Ops/sec/procs": 3810469.48, "ns per ops/procs": 262.43}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30024.429768, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1892124589.0, "Total blocks": 1892124583.0, "Ops per second": 63019501.24, "ns per ops": 15.87, "Ops per threads": 157677.0, "Ops per procs": 78838524.0, "Ops/sec/procs": 2625812.55, "ns per ops/procs": 380.83}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30007.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7183884144.0, "Ops per second": 239462804.0, "ns per ops": 4.0, "Ops per threads": 149664.0, "Ops per procs": 74832126.0, "Ops/sec/procs": 2494404.0, "ns per ops/procs": 400.0}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167228376.0, "Ops per second": 5574040.49, "ns per ops": 179.4, "Ops per threads": 334456.0, "Ops per procs": 167228376.0, "Ops/sec/procs": 5574040.49, "ns per ops/procs": 179.4}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162674277.0, "Ops per second": 5422475.0, "ns per ops": 185.0, "Ops per threads": 325348.0, "Ops per procs": 162674277.0, "Ops/sec/procs": 5422475.0, "ns per ops/procs": 185.0}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167000603.0, "Ops per second": 5566448.93, "ns per ops": 179.65, "Ops per threads": 334001.0, "Ops per procs": 167000603.0, "Ops/sec/procs": 5566448.93, "ns per ops/procs": 179.65}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2868813512.0, "Ops per second": 95627117.0, "ns per ops": 10.0, "Ops per threads": 239067.0, "Ops per procs": 119533896.0, "Ops/sec/procs": 3984463.0, "ns per ops/procs": 251.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30012.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4409196212.0, "Total blocks": 4409196212.0, "Ops per second": 146909895.83, "ns per ops": 6.81, "Ops per threads": 91858.0, "Ops per procs": 45929127.0, "Ops/sec/procs": 1530311.41, "ns per ops/procs": 653.46}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30099.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10645132500.0, "Ops per second": 354837750.0, "ns per ops": 2.0, "Ops per threads": 147849.0, "Ops per procs": 73924531.0, "Ops/sec/procs": 2464151.0, "ns per ops/procs": 407.0}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 356033916.0, "Ops per second": 11867221.05, "ns per ops": 84.27, "Ops per threads": 356033.0, "Ops per procs": 178016958.0, "Ops/sec/procs": 5933610.53, "ns per ops/procs": 168.53}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30040.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6986638657.0, "Ops per second": 232575294.23, "ns per ops": 4.3, "Ops per threads": 194073.0, "Ops per procs": 97036648.0, "Ops/sec/procs": 3230212.42, "ns per ops/procs": 309.58}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162942160.0, "Ops per second": 5431405.0, "ns per ops": 184.0, "Ops per threads": 325884.0, "Ops per procs": 162942160.0, "Ops/sec/procs": 5431405.0, "ns per ops/procs": 184.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30028.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 353832197.0, "Total blocks": 353832197.0, "Ops per second": 11783115.26, "ns per ops": 84.87, "Ops per threads": 353832.0, "Ops per procs": 176916098.0, "Ops/sec/procs": 5891557.63, "ns per ops/procs": 169.73}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30062.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5821046424.0, "Total blocks": 5821046423.0, "Ops per second": 193634096.89, "ns per ops": 5.16, "Ops per threads": 80847.0, "Ops per procs": 40423933.0, "Ops/sec/procs": 1344681.23, "ns per ops/procs": 743.67}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162552784.0, "Ops per second": 5418426.0, "ns per ops": 185.0, "Ops per threads": 325105.0, "Ops per procs": 162552784.0, "Ops/sec/procs": 5418426.0, "ns per ops/procs": 185.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1402350785.0, "Ops per second": 46742468.86, "ns per ops": 21.39, "Ops per threads": 350587.0, "Ops per procs": 175293848.0, "Ops/sec/procs": 5842808.61, "ns per ops/procs": 171.15}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1323522158.0, "Total blocks": 1323522158.0, "Ops per second": 44074966.18, "ns per ops": 22.69, "Ops per threads": 330880.0, "Ops per procs": 165440269.0, "Ops/sec/procs": 5509370.77, "ns per ops/procs": 181.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 602384763.0, "Ops per second": 20079492.0, "ns per ops": 49.0, "Ops per threads": 301192.0, "Ops per procs": 150596190.0, "Ops/sec/procs": 5019873.0, "ns per ops/procs": 199.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.844478, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168282526.0, "Total blocks": 168282026.0, "Ops per second": 5600113.04, "ns per ops": 178.57, "Ops per threads": 336565.0, "Ops per procs": 168282526.0, "Ops/sec/procs": 5600113.04, "ns per ops/procs": 178.57}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30056.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 177331040.0, "Ops per second": 5900011.31, "ns per ops": 169.49, "Ops per threads": 354662.0, "Ops per procs": 177331040.0, "Ops/sec/procs": 5900011.31, "ns per ops/procs": 169.49}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30061.367024, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3378041546.0, "Total blocks": 3378041446.0, "Ops per second": 112371521.34, "ns per ops": 8.9, "Ops per threads": 140751.0, "Ops per procs": 70375865.0, "Ops/sec/procs": 2341073.36, "ns per ops/procs": 427.15}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30075.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5548430660.0, "Total blocks": 5548430660.0, "Ops per second": 184481901.95, "ns per ops": 5.42, "Ops per threads": 77061.0, "Ops per procs": 38530768.0, "Ops/sec/procs": 1281124.32, "ns per ops/procs": 780.56}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 354677490.0, "Total blocks": 354677490.0, "Ops per second": 11811114.32, "ns per ops": 84.67, "Ops per threads": 354677.0, "Ops per procs": 177338745.0, "Ops/sec/procs": 5905557.16, "ns per ops/procs": 169.33}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7047202390.0, "Ops per second": 234906746.0, "ns per ops": 4.0, "Ops per threads": 146816.0, "Ops per procs": 73408358.0, "Ops/sec/procs": 2446945.0, "ns per ops/procs": 408.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1402724865.0, "Ops per second": 46755017.27, "ns per ops": 21.39, "Ops per threads": 350681.0, "Ops per procs": 175340608.0, "Ops/sec/procs": 5844377.16, "ns per ops/procs": 171.1}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 31973.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6951513771.0, "Ops per second": 217415845.93, "ns per ops": 4.6, "Ops per threads": 144823.0, "Ops per procs": 72411601.0, "Ops/sec/procs": 2264748.4, "ns per ops/procs": 441.55}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 355436412.0, "Ops per second": 11847296.18, "ns per ops": 84.41, "Ops per threads": 355436.0, "Ops per procs": 177718206.0, "Ops/sec/procs": 5923648.09, "ns per ops/procs": 168.81}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30019.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6543638721.0, "Ops per second": 217982377.4, "ns per ops": 4.59, "Ops per threads": 181767.0, "Ops per procs": 90883871.0, "Ops/sec/procs": 3027533.02, "ns per ops/procs": 330.3}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30078.528168, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1831961754.0, "Total blocks": 1831961739.0, "Ops per second": 60905964.01, "ns per ops": 16.42, "Ops per threads": 228995.0, "Ops per procs": 114497609.0, "Ops/sec/procs": 3806622.75, "ns per ops/procs": 262.7}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30030.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 685764463.0, "Total blocks": 685764463.0, "Ops per second": 22835854.4, "ns per ops": 43.79, "Ops per threads": 342882.0, "Ops per procs": 171441115.0, "Ops/sec/procs": 5708963.6, "ns per ops/procs": 175.16}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30099.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7119958966.0, "Ops per second": 237331965.0, "ns per ops": 4.0, "Ops per threads": 148332.0, "Ops per procs": 74166239.0, "Ops/sec/procs": 2472207.0, "ns per ops/procs": 405.0}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 166961568.0, "Ops per second": 5565144.87, "ns per ops": 179.69, "Ops per threads": 333923.0, "Ops per procs": 166961568.0, "Ops/sec/procs": 5565144.87, "ns per ops/procs": 179.69}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30096.788531, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5725635556.0, "Total blocks": 5725635554.0, "Ops per second": 190240747.78, "ns per ops": 5.26, "Ops per threads": 159045.0, "Ops per procs": 79522716.0, "Ops/sec/procs": 2642232.61, "ns per ops/procs": 378.47}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30022.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3100607476.0, "Ops per second": 103276497.01, "ns per ops": 9.68, "Ops per threads": 258383.0, "Ops per procs": 129191978.0, "Ops/sec/procs": 4303187.38, "ns per ops/procs": 232.39}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30009.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10940703132.0, "Ops per second": 364690104.0, "ns per ops": 2.0, "Ops per threads": 151954.0, "Ops per procs": 75977105.0, "Ops/sec/procs": 2532570.0, "ns per ops/procs": 394.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1409199247.0, "Ops per second": 46970740.19, "ns per ops": 21.29, "Ops per threads": 352299.0, "Ops per procs": 176149905.0, "Ops/sec/procs": 5871342.52, "ns per ops/procs": 170.32}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30077.151458, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1857888585.0, "Total blocks": 1857880588.0, "Ops per second": 61770762.69, "ns per ops": 16.19, "Ops per threads": 232236.0, "Ops per procs": 116118036.0, "Ops/sec/procs": 3860672.67, "ns per ops/procs": 259.02}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162950614.0, "Ops per second": 5431687.0, "ns per ops": 184.0, "Ops per threads": 325901.0, "Ops per procs": 162950614.0, "Ops/sec/procs": 5431687.0, "ns per ops/procs": 184.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2610670643.0, "Total blocks": 2610670643.0, "Ops per second": 86981543.44, "ns per ops": 11.5, "Ops per threads": 217555.0, "Ops per procs": 108777943.0, "Ops/sec/procs": 3624230.98, "ns per ops/procs": 275.92}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30095.017759, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5739834747.0, "Total blocks": 5739834737.0, "Ops per second": 190723753.45, "ns per ops": 5.24, "Ops per threads": 159439.0, "Ops per procs": 79719927.0, "Ops/sec/procs": 2648941.02, "ns per ops/procs": 377.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6157074628.0, "Ops per second": 205235820.0, "ns per ops": 4.0, "Ops per threads": 171029.0, "Ops per procs": 85514925.0, "Ops/sec/procs": 2850497.0, "ns per ops/procs": 351.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30098.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 319104084.0, "Ops per second": 10636802.0, "ns per ops": 94.0, "Ops per threads": 319104.0, "Ops per procs": 159552042.0, "Ops/sec/procs": 5318401.0, "ns per ops/procs": 188.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30047.050567, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13009565490.0, "Total blocks": 13009565329.0, "Ops per second": 432973128.63, "ns per ops": 2.31, "Ops per threads": 135516.0, "Ops per procs": 67758153.0, "Ops/sec/procs": 2255068.38, "ns per ops/procs": 443.45}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30001.431795, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 5787452159.0, "Total blocks": 5787452154.0, "Ops per second": 192905865.24, "ns per ops": 5.18, "Ops per threads": 160762.0, "Ops per procs": 80381279.0, "Ops/sec/procs": 2679248.13, "ns per ops/procs": 373.24}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30017.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7213410320.0, "Ops per second": 240447010.0, "ns per ops": 4.0, "Ops per threads": 150279.0, "Ops per procs": 75139690.0, "Ops/sec/procs": 2504656.0, "ns per ops/procs": 399.0}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167754685.0, "Ops per second": 5591577.65, "ns per ops": 178.84, "Ops per threads": 335509.0, "Ops per procs": 167754685.0, "Ops/sec/procs": 5591577.65, "ns per ops/procs": 178.84}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3864670230.0, "Ops per second": 128822341.0, "ns per ops": 7.0, "Ops per threads": 161027.0, "Ops per procs": 80513963.0, "Ops/sec/procs": 2683798.0, "ns per ops/procs": 373.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30032.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 695166461.0, "Total blocks": 695166461.0, "Ops per second": 23146964.07, "ns per ops": 43.2, "Ops per threads": 347583.0, "Ops per procs": 173791615.0, "Ops/sec/procs": 5786741.02, "ns per ops/procs": 172.81}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30018.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3706857263.0, "Ops per second": 123484922.61, "ns per ops": 8.1, "Ops per threads": 154452.0, "Ops per procs": 77226192.0, "Ops/sec/procs": 2572602.55, "ns per ops/procs": 388.71}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.53345, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 287080397.0, "Total blocks": 287079577.0, "Ops per second": 9552936.71, "ns per ops": 104.68, "Ops per threads": 287080.0, "Ops per procs": 143540198.0, "Ops/sec/procs": 4776468.35, "ns per ops/procs": 209.36}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30045.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2433564524.0, "Total blocks": 2433564524.0, "Ops per second": 80996467.02, "ns per ops": 12.35, "Ops per threads": 101398.0, "Ops per procs": 50699260.0, "Ops/sec/procs": 1687426.4, "ns per ops/procs": 592.62}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30099.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6472856837.0, "Ops per second": 215761894.0, "ns per ops": 4.0, "Ops per threads": 179801.0, "Ops per procs": 89900789.0, "Ops/sec/procs": 2996692.0, "ns per ops/procs": 334.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30035.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2120121958.0, "Total blocks": 2120121958.0, "Ops per second": 70586108.43, "ns per ops": 14.17, "Ops per threads": 265015.0, "Ops per procs": 132507622.0, "Ops/sec/procs": 4411631.78, "ns per ops/procs": 226.67}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30042.245795, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6622514344.0, "Total blocks": 6622514234.0, "Ops per second": 220440055.95, "ns per ops": 4.54, "Ops per threads": 137969.0, "Ops per procs": 68984524.0, "Ops/sec/procs": 2296250.58, "ns per ops/procs": 435.49}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30055.732158, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6604753194.0, "Total blocks": 6604753086.0, "Ops per second": 219750201.37, "ns per ops": 4.55, "Ops per threads": 137599.0, "Ops per procs": 68799512.0, "Ops/sec/procs": 2289064.6, "ns per ops/procs": 436.86}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2545408494.0, "Total blocks": 2545408494.0, "Ops per second": 84806664.64, "ns per ops": 11.79, "Ops per threads": 212117.0, "Ops per procs": 106058687.0, "Ops/sec/procs": 3533611.03, "ns per ops/procs": 283.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6020528116.0, "Total blocks": 6020528115.0, "Ops per second": 200029919.25, "ns per ops": 5.0, "Ops per threads": 83618.0, "Ops per procs": 41809223.0, "Ops/sec/procs": 1389096.66, "ns per ops/procs": 719.89}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30060.083132, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9782889449.0, "Total blocks": 9782889284.0, "Ops per second": 325444524.09, "ns per ops": 3.07, "Ops per threads": 135873.0, "Ops per procs": 67936732.0, "Ops/sec/procs": 2260031.42, "ns per ops/procs": 442.47}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 356743374.0, "Ops per second": 11890870.66, "ns per ops": 84.1, "Ops per threads": 356743.0, "Ops per procs": 178371687.0, "Ops/sec/procs": 5945435.33, "ns per ops/procs": 168.2}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317852778.0, "Ops per second": 10595092.0, "ns per ops": 94.0, "Ops per threads": 317852.0, "Ops per procs": 158926389.0, "Ops/sec/procs": 5297546.0, "ns per ops/procs": 189.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2895124114.0, "Ops per second": 96504137.0, "ns per ops": 10.0, "Ops per threads": 241260.0, "Ops per procs": 120630171.0, "Ops/sec/procs": 4021005.0, "ns per ops/procs": 249.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30049.470499, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168084882.0, "Total blocks": 168084382.0, "Ops per second": 5593605.45, "ns per ops": 178.78, "Ops per threads": 336169.0, "Ops per procs": 168084882.0, "Ops/sec/procs": 5593605.45, "ns per ops/procs": 178.78}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30027.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10761241751.0, "Ops per second": 358708058.0, "ns per ops": 2.0, "Ops per threads": 149461.0, "Ops per procs": 74730845.0, "Ops/sec/procs": 2491028.0, "ns per ops/procs": 401.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1324023447.0, "Total blocks": 1324023447.0, "Ops per second": 44091827.82, "ns per ops": 22.68, "Ops per threads": 331005.0, "Ops per procs": 165502930.0, "Ops/sec/procs": 5511478.48, "ns per ops/procs": 181.44}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30027.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203455905.0, "Total blocks": 203455405.0, "Ops per second": 6775601.39, "ns per ops": 147.59, "Ops per threads": 406911.0, "Ops per procs": 203455905.0, "Ops/sec/procs": 6775601.39, "ns per ops/procs": 147.59}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2463984837.0, "Total blocks": 2463984837.0, "Ops per second": 82074427.81, "ns per ops": 12.18, "Ops per threads": 102666.0, "Ops per procs": 51333017.0, "Ops/sec/procs": 1709883.91, "ns per ops/procs": 584.84}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30075.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2106564701.0, "Total blocks": 2106564701.0, "Ops per second": 70043153.34, "ns per ops": 14.28, "Ops per threads": 263320.0, "Ops per procs": 131660293.0, "Ops/sec/procs": 4377697.08, "ns per ops/procs": 228.43}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 357506708.0, "Ops per second": 11916322.0, "ns per ops": 83.92, "Ops per threads": 357506.0, "Ops per procs": 178753354.0, "Ops/sec/procs": 5958161.0, "ns per ops/procs": 167.84}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30061.163091, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1026780598.0, "Total blocks": 1026776602.0, "Ops per second": 34156382.93, "ns per ops": 29.28, "Ops per threads": 256695.0, "Ops per procs": 128347574.0, "Ops/sec/procs": 4269547.87, "ns per ops/procs": 234.22}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30070.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6213642756.0, "Total blocks": 6213642755.0, "Ops per second": 206633220.58, "ns per ops": 4.84, "Ops per threads": 64725.0, "Ops per procs": 32362722.0, "Ops/sec/procs": 1076214.69, "ns per ops/procs": 929.18}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30076.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4908338160.0, "Total blocks": 4908338160.0, "Ops per second": 163192828.31, "ns per ops": 6.13, "Ops per threads": 136342.0, "Ops per procs": 68171363.0, "Ops/sec/procs": 2266567.06, "ns per ops/procs": 441.2}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30007.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13166096917.0, "Ops per second": 438869897.0, "ns per ops": 2.0, "Ops per threads": 137146.0, "Ops per procs": 68573421.0, "Ops/sec/procs": 2285780.0, "ns per ops/procs": 437.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30060.200019, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1017967886.0, "Total blocks": 1017963889.0, "Ops per second": 33864308.47, "ns per ops": 29.53, "Ops per threads": 254491.0, "Ops per procs": 127245985.0, "Ops/sec/procs": 4233038.56, "ns per ops/procs": 236.24}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2868129924.0, "Ops per second": 95604330.0, "ns per ops": 10.0, "Ops per threads": 239010.0, "Ops per procs": 119505413.0, "Ops/sec/procs": 3983513.0, "ns per ops/procs": 251.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30060.131407, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9796839664.0, "Total blocks": 9796839514.0, "Ops per second": 325908078.42, "ns per ops": 3.07, "Ops per threads": 136067.0, "Ops per procs": 68033608.0, "Ops/sec/procs": 2263250.54, "ns per ops/procs": 441.84}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1160787909.0, "Ops per second": 38692930.0, "ns per ops": 25.0, "Ops per threads": 290196.0, "Ops per procs": 145098488.0, "Ops/sec/procs": 4836616.0, "ns per ops/procs": 207.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 45260.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3987340170.0, "Ops per second": 88097105.54, "ns per ops": 11.35, "Ops per threads": 498417.0, "Ops per procs": 249208760.0, "Ops/sec/procs": 5506069.1, "ns per ops/procs": 181.62}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 167648846.0, "Ops per second": 5588052.79, "ns per ops": 178.95, "Ops per threads": 335297.0, "Ops per procs": 167648846.0, "Ops/sec/procs": 5588052.79, "ns per ops/procs": 178.95}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1408129070.0, "Ops per second": 46935143.22, "ns per ops": 21.31, "Ops per threads": 352032.0, "Ops per procs": 176016133.0, "Ops/sec/procs": 5866892.9, "ns per ops/procs": 170.45}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30013.0, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10992470958.0, "Ops per second": 366246427.46, "ns per ops": 2.73, "Ops per threads": 152673.0, "Ops per procs": 76336603.0, "Ops/sec/procs": 2543377.97, "ns per ops/procs": 393.18}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 9600", {"Duration (ms)": 30100.0, "Number of processors": 96.0, "Number of threads": 48000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4513527225.0, "Total blocks": 4513527225.0, "Ops per second": 149950768.1, "ns per ops": 6.67, "Ops per threads": 94031.0, "Ops per procs": 47015908.0, "Ops/sec/procs": 1561987.17, "ns per ops/procs": 640.21}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 24000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3813148384.0, "Ops per second": 127104946.0, "ns per ops": 7.0, "Ops per threads": 158881.0, "Ops per procs": 79440591.0, "Ops/sec/procs": 2648019.0, "ns per ops/procs": 378.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1162538978.0, "Ops per second": 38751299.0, "ns per ops": 25.0, "Ops per threads": 290634.0, "Ops per procs": 145317372.0, "Ops/sec/procs": 4843912.0, "ns per ops/procs": 207.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2192193064.0, "Ops per second": 73073102.0, "ns per ops": 13.0, "Ops per threads": 274024.0, "Ops per procs": 137012066.0, "Ops/sec/procs": 4567068.0, "ns per ops/procs": 219.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317401876.0, "Ops per second": 10580062.0, "ns per ops": 94.0, "Ops per threads": 317401.0, "Ops per procs": 158700938.0, "Ops/sec/procs": 5290031.0, "ns per ops/procs": 189.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30044.593524, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12980265593.0, "Total blocks": 12980265396.0, "Ops per second": 432033323.49, "ns per ops": 2.31, "Ops per threads": 135211.0, "Ops per procs": 67605549.0, "Ops/sec/procs": 2250173.56, "ns per ops/procs": 444.41}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1406578373.0, "Ops per second": 46883439.46, "ns per ops": 21.33, "Ops per threads": 351644.0, "Ops per procs": 175822296.0, "Ops/sec/procs": 5860429.93, "ns per ops/procs": 170.64}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 14400", {"Duration (ms)": 30062.219521, "Number of processors": 144.0, "Number of threads": 72000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9813403166.0, "Total blocks": 9813403027.0, "Ops per second": 326436414.95, "ns per ops": 3.06, "Ops per threads": 136297.0, "Ops per procs": 68148633.0, "Ops/sec/procs": 2266919.55, "ns per ops/procs": 441.13}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 696442241.0, "Total blocks": 696442241.0, "Ops per second": 23191813.03, "ns per ops": 43.12, "Ops per threads": 348221.0, "Ops per procs": 174110560.0, "Ops/sec/procs": 5797953.26, "ns per ops/procs": 172.47}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2892522474.0, "Ops per second": 96417415.0, "ns per ops": 10.0, "Ops per threads": 241043.0, "Ops per procs": 120521769.0, "Ops/sec/procs": 4017392.0, "ns per ops/procs": 249.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 1600", {"Duration (ms)": 30076.989415, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1848043403.0, "Total blocks": 1848035398.0, "Ops per second": 61443762.79, "ns per ops": 16.28, "Ops per threads": 231005.0, "Ops per procs": 115502712.0, "Ops/sec/procs": 3840235.17, "ns per ops/procs": 260.4}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30017.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13005784322.0, "Ops per second": 433269842.67, "ns per ops": 2.31, "Ops per threads": 135476.0, "Ops per procs": 67738460.0, "Ops/sec/procs": 2256613.76, "ns per ops/procs": 443.14}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30000.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 12989791138.0, "Ops per second": 432993037.0, "ns per ops": 2.0, "Ops per threads": 135310.0, "Ops per procs": 67655162.0, "Ops/sec/procs": 2255172.0, "ns per ops/procs": 443.0}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 356196915.0, "Ops per second": 11872645.1, "ns per ops": 84.23, "Ops per threads": 356196.0, "Ops per procs": 178098457.0, "Ops/sec/procs": 5936322.55, "ns per ops/procs": 168.45}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 200", {"Duration (ms)": 30051.049115, "Number of processors": 2.0, "Number of threads": 1000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 287543256.0, "Total blocks": 287542260.0, "Ops per second": 9568493.1, "ns per ops": 104.51, "Ops per threads": 287543.0, "Ops per procs": 143771628.0, "Ops/sec/procs": 4784246.55, "ns per ops/procs": 209.02}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1314133910.0, "Total blocks": 1314133910.0, "Ops per second": 43762378.43, "ns per ops": 22.85, "Ops per threads": 328533.0, "Ops per procs": 164266738.0, "Ops/sec/procs": 5470297.3, "ns per ops/procs": 182.81}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 2400", {"Duration (ms)": 30024.222708, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2407437835.0, "Total blocks": 2407437829.0, "Ops per second": 80183186.04, "ns per ops": 12.47, "Ops per threads": 200619.0, "Ops per procs": 100309909.0, "Ops/sec/procs": 3340966.08, "ns per ops/procs": 299.31}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 2000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 603435249.0, "Ops per second": 20114508.0, "ns per ops": 49.0, "Ops per threads": 301717.0, "Ops per procs": 150858812.0, "Ops/sec/procs": 5028627.0, "ns per ops/procs": 199.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1164638238.0, "Ops per second": 38821274.0, "ns per ops": 25.0, "Ops per threads": 291159.0, "Ops per procs": 145579779.0, "Ops/sec/procs": 4852659.0, "ns per ops/procs": 206.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 7200", {"Duration (ms)": 30028.0, "Number of processors": 72.0, "Number of threads": 36000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4923893600.0, "Total blocks": 4923893600.0, "Ops per second": 163972816.18, "ns per ops": 6.1, "Ops per threads": 136774.0, "Ops per procs": 68387411.0, "Ops/sec/procs": 2277400.22, "ns per ops/procs": 439.1}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 19200", {"Duration (ms)": 30000.0, "Number of processors": 192.0, "Number of threads": 96000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 13275252471.0, "Ops per second": 442508415.0, "ns per ops": 2.0, "Ops per threads": 138283.0, "Ops per procs": 69141939.0, "Ops/sec/procs": 2304731.0, "ns per ops/procs": 433.0}]]1 [["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1138076440.0, "Ops per second": 113792094.48, "ns per ops": 8.79, "Ops per threads": 94839.0, "Ops per procs": 47419851.0, "Ops/sec/procs": 4741337.27, "ns per ops/procs": 210.91}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 200285.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 17638575791.0, "Ops per second": 88067238.72, "ns per ops": 11.35, "Ops per threads": 2204821.0, "Ops per procs": 1102410986.0, "Ops/sec/procs": 5504202.42, "ns per ops/procs": 181.68}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 54856916.0, "Ops per second": 5485691.0, "ns per ops": 184.0, "Ops per threads": 109713.0, "Ops per procs": 54856916.0, "Ops/sec/procs": 5485691.0, "ns per ops/procs": 184.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10025.449006, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 558836360.0, "Total blocks": 558836360.0, "Ops per second": 55741778.71, "ns per ops": 17.94, "Ops per threads": 69854.0, "Ops per procs": 34927272.0, "Ops/sec/procs": 3483861.17, "ns per ops/procs": 287.04}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10038.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 58647049.0, "Total blocks": 58647049.0, "Ops per second": 5842287.68, "ns per ops": 171.17, "Ops per threads": 7330.0, "Ops per procs": 3665440.0, "Ops/sec/procs": 365142.98, "ns per ops/procs": 2738.65}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10003.489711, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 728096996.0, "Total blocks": 728096996.0, "Ops per second": 72784299.98, "ns per ops": 13.74, "Ops per threads": 60674.0, "Ops per procs": 30337374.0, "Ops/sec/procs": 3032679.17, "ns per ops/procs": 329.74}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10021.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 63157049.0, "Total blocks": 63157049.0, "Ops per second": 6302255.13, "ns per ops": 158.67, "Ops per threads": 15789.0, "Ops per procs": 7894631.0, "Ops/sec/procs": 787781.89, "ns per ops/procs": 1269.39}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10009.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 62412200.0, "Total blocks": 62411700.0, "Ops per second": 6235572.31, "ns per ops": 160.37, "Ops per threads": 124824.0, "Ops per procs": 62412200.0, "Ops/sec/procs": 6235572.31, "ns per ops/procs": 160.37}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10000.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 464608617.0, "Ops per second": 46457191.42, "ns per ops": 21.53, "Ops per threads": 116152.0, "Ops per procs": 58076077.0, "Ops/sec/procs": 5807148.93, "ns per ops/procs": 172.2}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 391521066.0, "Ops per second": 39152106.0, "ns per ops": 25.0, "Ops per threads": 97880.0, "Ops per procs": 48940133.0, "Ops/sec/procs": 4894013.0, "ns per ops/procs": 206.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 963549550.0, "Ops per second": 96354955.0, "ns per ops": 10.0, "Ops per threads": 80295.0, "Ops per procs": 40147897.0, "Ops/sec/procs": 4014789.0, "ns per ops/procs": 251.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 867718190.0, "Ops per second": 86761170.55, "ns per ops": 11.53, "Ops per threads": 108464.0, "Ops per procs": 54232386.0, "Ops/sec/procs": 5422573.16, "ns per ops/procs": 184.41}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10100.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 962016289.0, "Ops per second": 96201628.0, "ns per ops": 10.0, "Ops per threads": 80168.0, "Ops per procs": 40084012.0, "Ops/sec/procs": 4008401.0, "ns per ops/procs": 251.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10016.837824, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 54738237.0, "Total blocks": 54737741.0, "Ops per second": 5464622.46, "ns per ops": 183.0, "Ops per threads": 109476.0, "Ops per procs": 54738237.0, "Ops/sec/procs": 5464622.46, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10099.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 731309408.0, "Ops per second": 73130940.0, "ns per ops": 13.0, "Ops per threads": 91413.0, "Ops per procs": 45706838.0, "Ops/sec/procs": 4570683.0, "ns per ops/procs": 220.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10100.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 739772688.0, "Ops per second": 73977268.0, "ns per ops": 13.0, "Ops per threads": 92471.0, "Ops per procs": 46235793.0, "Ops/sec/procs": 4623579.0, "ns per ops/procs": 218.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10100.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 391449785.0, "Ops per second": 39144978.0, "ns per ops": 25.0, "Ops per threads": 97862.0, "Ops per procs": 48931223.0, "Ops/sec/procs": 4893122.0, "ns per ops/procs": 206.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10048.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 57239183.0, "Total blocks": 57239183.0, "Ops per second": 5696211.13, "ns per ops": 175.56, "Ops per threads": 4769.0, "Ops per procs": 2384965.0, "Ops/sec/procs": 237342.13, "ns per ops/procs": 4213.33}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 55248375.0, "Ops per second": 5524562.87, "ns per ops": 181.01, "Ops per threads": 110496.0, "Ops per procs": 55248375.0, "Ops/sec/procs": 5524562.87, "ns per ops/procs": 181.01}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10021.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 61553053.0, "Total blocks": 61553053.0, "Ops per second": 6142186.88, "ns per ops": 162.81, "Ops per threads": 15388.0, "Ops per procs": 7694131.0, "Ops/sec/procs": 767773.36, "ns per ops/procs": 1302.47}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10008.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 62811642.0, "Total blocks": 62811142.0, "Ops per second": 6275517.47, "ns per ops": 159.35, "Ops per threads": 125623.0, "Ops per procs": 62811642.0, "Ops/sec/procs": 6275517.47, "ns per ops/procs": 159.35}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10018.820873, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 260866706.0, "Total blocks": 260862710.0, "Ops per second": 26037665.44, "ns per ops": 38.41, "Ops per threads": 65216.0, "Ops per procs": 32608338.0, "Ops/sec/procs": 3254708.18, "ns per ops/procs": 307.25}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 874581175.0, "Ops per second": 87449851.2, "ns per ops": 11.44, "Ops per threads": 109322.0, "Ops per procs": 54661323.0, "Ops/sec/procs": 5465615.7, "ns per ops/procs": 182.96}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 55228782.0, "Ops per second": 5522878.0, "ns per ops": 182.0, "Ops per threads": 110457.0, "Ops per procs": 55228782.0, "Ops/sec/procs": 5522878.0, "ns per ops/procs": 182.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10009.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 62564955.0, "Total blocks": 62564455.0, "Ops per second": 6250797.96, "ns per ops": 159.98, "Ops per threads": 125129.0, "Ops per procs": 62564955.0, "Ops/sec/procs": 6250797.96, "ns per ops/procs": 159.98}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10100.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 738848909.0, "Ops per second": 73884890.0, "ns per ops": 13.0, "Ops per threads": 92356.0, "Ops per procs": 46178056.0, "Ops/sec/procs": 4617805.0, "ns per ops/procs": 218.0}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1131221613.0, "Ops per second": 113108175.94, "ns per ops": 8.84, "Ops per threads": 94268.0, "Ops per procs": 47134233.0, "Ops/sec/procs": 4712840.66, "ns per ops/procs": 212.19}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10008.209159, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 729328104.0, "Total blocks": 729328099.0, "Ops per second": 72872987.81, "ns per ops": 13.72, "Ops per threads": 60777.0, "Ops per procs": 30388671.0, "Ops/sec/procs": 3036374.49, "ns per ops/procs": 329.34}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 961002611.0, "Ops per second": 96100261.0, "ns per ops": 10.0, "Ops per threads": 80083.0, "Ops per procs": 40041775.0, "Ops/sec/procs": 4004177.0, "ns per ops/procs": 252.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 390098231.0, "Ops per second": 39009823.0, "ns per ops": 25.0, "Ops per threads": 97524.0, "Ops per procs": 48762278.0, "Ops/sec/procs": 4876227.0, "ns per ops/procs": 207.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 55237591.0, "Ops per second": 5523759.0, "ns per ops": 182.0, "Ops per threads": 110475.0, "Ops per procs": 55237591.0, "Ops/sec/procs": 5523759.0, "ns per ops/procs": 182.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10016.576699, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 54510321.0, "Total blocks": 54509820.0, "Ops per second": 5442011.04, "ns per ops": 183.76, "Ops per threads": 109020.0, "Ops per procs": 54510321.0, "Ops/sec/procs": 5442011.04, "ns per ops/procs": 183.76}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1135730371.0, "Ops per second": 113558509.97, "ns per ops": 8.81, "Ops per threads": 94644.0, "Ops per procs": 47322098.0, "Ops/sec/procs": 4731604.58, "ns per ops/procs": 211.34}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10039.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 61004037.0, "Total blocks": 61004037.0, "Ops per second": 6076255.04, "ns per ops": 164.58, "Ops per threads": 7625.0, "Ops per procs": 3812752.0, "Ops/sec/procs": 379765.94, "ns per ops/procs": 2633.2}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10004.891999, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 747946345.0, "Total blocks": 747934349.0, "Ops per second": 74758062.86, "ns per ops": 13.38, "Ops per threads": 62328.0, "Ops per procs": 31164431.0, "Ops/sec/procs": 3114919.29, "ns per ops/procs": 321.04}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10000.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 466424792.0, "Ops per second": 46638931.23, "ns per ops": 21.44, "Ops per threads": 116606.0, "Ops per procs": 58303099.0, "Ops/sec/procs": 5829866.4, "ns per ops/procs": 171.53}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10086.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 57343570.0, "Total blocks": 57343570.0, "Ops per second": 5685308.81, "ns per ops": 175.89, "Ops per threads": 4778.0, "Ops per procs": 2389315.0, "Ops/sec/procs": 236887.87, "ns per ops/procs": 4221.41}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10020.39533, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 263517289.0, "Total blocks": 263513293.0, "Ops per second": 26298093.07, "ns per ops": 38.03, "Ops per threads": 65879.0, "Ops per procs": 32939661.0, "Ops/sec/procs": 3287261.63, "ns per ops/procs": 304.2}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10025.357431, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 551670395.0, "Total blocks": 551662399.0, "Ops per second": 55027503.89, "ns per ops": 18.17, "Ops per threads": 68958.0, "Ops per procs": 34479399.0, "Ops/sec/procs": 3439218.99, "ns per ops/procs": 290.76}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 10 -r 5 -t 2400", {"Duration (ms)": 10050.0, "Number of processors": 24.0, "Number of threads": 12000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 56162695.0, "Total blocks": 56162695.0, "Ops per second": 5588033.65, "ns per ops": 178.95, "Ops per threads": 4680.0, "Ops per procs": 2340112.0, "Ops/sec/procs": 232834.74, "ns per ops/procs": 4294.89}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10019.690183, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 271866976.0, "Total blocks": 271862980.0, "Ops per second": 27133271.69, "ns per ops": 36.86, "Ops per threads": 67966.0, "Ops per procs": 33983372.0, "Ops/sec/procs": 3391658.96, "ns per ops/procs": 294.84}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10057.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 62105022.0, "Total blocks": 62105022.0, "Ops per second": 6175186.04, "ns per ops": 161.94, "Ops per threads": 15526.0, "Ops per procs": 7763127.0, "Ops/sec/procs": 771898.25, "ns per ops/procs": 1295.51}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10025.81217, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 537080117.0, "Total blocks": 537072121.0, "Ops per second": 53569736.59, "ns per ops": 18.67, "Ops per threads": 67135.0, "Ops per procs": 33567507.0, "Ops/sec/procs": 3348108.54, "ns per ops/procs": 298.68}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 55967030.0, "Ops per second": 5596438.25, "ns per ops": 178.69, "Ops per threads": 111934.0, "Ops per procs": 55967030.0, "Ops/sec/procs": 5596438.25, "ns per ops/procs": 178.69}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 55703320.0, "Ops per second": 5570084.72, "ns per ops": 179.53, "Ops per threads": 111406.0, "Ops per procs": 55703320.0, "Ops/sec/procs": 5570084.72, "ns per ops/procs": 179.53}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 10 -r 5 -t 800", {"Duration (ms)": 10000.0, "Number of processors": 8.0, "Number of threads": 4000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 469211793.0, "Ops per second": 46918327.16, "ns per ops": 21.31, "Ops per threads": 117302.0, "Ops per procs": 58651474.0, "Ops/sec/procs": 5864790.9, "ns per ops/procs": 170.51}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 10 -r 5 -t 100", {"Duration (ms)": 10016.545208, "Number of processors": 1.0, "Number of threads": 500.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 54925472.0, "Total blocks": 54924976.0, "Ops per second": 5483474.68, "ns per ops": 182.37, "Ops per threads": 109850.0, "Ops per procs": 54925472.0, "Ops/sec/procs": 5483474.68, "ns per ops/procs": 182.37}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 10 -r 5 -t 1600", {"Duration (ms)": 10037.0, "Number of processors": 16.0, "Number of threads": 8000.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 60770550.0, "Total blocks": 60770550.0, "Ops per second": 6054474.7, "ns per ops": 165.17, "Ops per threads": 7596.0, "Ops per procs": 3798159.0, "Ops/sec/procs": 378404.67, "ns per ops/procs": 2642.67}]] -
doc/theses/thierry_delisle_PhD/thesis/data/cycle.low.jax
r4520b77e r12df6fe 1 [["rdq-cycle- go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 895589897.0, "Ops per second": 29851209.43, "ns per ops": 33.5, "Ops per threads": 11194873.0, "Ops per procs": 55974368.0, "Ops/sec/procs": 1865700.59, "ns per ops/procs": 535.99}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2128526861.0, "Total blocks": 2128526861.0, "Ops per second": 70887716.65, "ns per ops": 14.11, "Ops per threads": 26606585.0, "Ops per procs": 133032928.0, "Ops/sec/procs": 4430482.29, "ns per ops/procs": 225.71}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 485585079.0, "Ops per second": 16185350.77, "ns per ops": 61.78, "Ops per threads": 12139626.0, "Ops per procs": 60698134.0, "Ops/sec/procs": 2023168.85, "ns per ops/procs": 494.27}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 485973159.0, "Ops per second": 16198311.67, "ns per ops": 61.73, "Ops per threads": 12149328.0, "Ops per procs": 60746644.0, "Ops/sec/procs": 2024788.96, "ns per ops/procs": 493.88}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1343106113.0, "Ops per second": 44770203.0, "ns per ops": 22.0, "Ops per threads": 2798137.0, "Ops per procs": 13990688.0, "Ops/sec/procs": 466356.0, "ns per ops/procs": 2151.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30008.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2352649084.0, "Ops per second": 78398865.23, "ns per ops": 12.76, "Ops per threads": 6535136.0, "Ops per procs": 32675681.0, "Ops/sec/procs": 1088873.13, "ns per ops/procs": 918.38}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30064.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 130312773.0, "Ops per second": 4343759.0, "ns per ops": 230.0, "Ops per threads": 13031277.0, "Ops per procs": 65156386.0, "Ops/sec/procs": 2171879.0, "ns per ops/procs": 461.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30007.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11472895574.0, "Total blocks": 11472895574.0, "Ops per second": 382337711.74, "ns per ops": 2.62, "Ops per threads": 15934577.0, "Ops per procs": 79672885.0, "Ops/sec/procs": 2655123.0, "ns per ops/procs": 376.63}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30056.072534, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 262162860.0, "Total blocks": 262162494.0, "Ops per second": 8722458.99, "ns per ops": 114.65, "Ops per threads": 13108143.0, "Ops per procs": 65540715.0, "Ops/sec/procs": 2180614.75, "ns per ops/procs": 458.59}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30007.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10143696586.0, "Total blocks": 10143696586.0, "Ops per second": 338037298.44, "ns per ops": 2.96, "Ops per threads": 21132701.0, "Ops per procs": 105663506.0, "Ops/sec/procs": 3521221.86, "ns per ops/procs": 283.99}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1479467592.0, "Ops per second": 49312537.32, "ns per ops": 20.28, "Ops per threads": 12328896.0, "Ops per procs": 61644483.0, "Ops/sec/procs": 2054689.05, "ns per ops/procs": 486.69}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30037.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1599732315.0, "Ops per second": 53324410.0, "ns per ops": 18.0, "Ops per threads": 3332775.0, "Ops per procs": 16663878.0, "Ops/sec/procs": 555462.0, "ns per ops/procs": 1802.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 649542259.0, "Ops per second": 21651408.0, "ns per ops": 46.0, "Ops per threads": 5412852.0, "Ops per procs": 27064260.0, "Ops/sec/procs": 902142.0, "ns per ops/procs": 1112.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 319254458.0, "Total blocks": 319254448.0, "Ops per second": 10633476.09, "ns per ops": 94.04, "Ops per threads": 31925445.0, "Ops per procs": 159627229.0, "Ops/sec/procs": 5316738.04, "ns per ops/procs": 188.09}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30064.138432, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1947581814.0, "Total blocks": 1947424799.0, "Ops per second": 64780895.63, "ns per ops": 15.44, "Ops per threads": 2028731.0, "Ops per procs": 10143655.0, "Ops/sec/procs": 337400.5, "ns per ops/procs": 2963.84}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 641605681.0, "Ops per second": 21386856.0, "ns per ops": 46.0, "Ops per threads": 5346714.0, "Ops per procs": 26733570.0, "Ops/sec/procs": 891119.0, "ns per ops/procs": 1125.0}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 291970907.0, "Ops per second": 9731828.27, "ns per ops": 102.76, "Ops per threads": 14598545.0, "Ops per procs": 72992726.0, "Ops/sec/procs": 2432957.07, "ns per ops/procs": 411.02}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 759106749.0, "Total blocks": 759106749.0, "Ops per second": 25283306.61, "ns per ops": 39.55, "Ops per threads": 37955337.0, "Ops per procs": 189776687.0, "Ops/sec/procs": 6320826.65, "ns per ops/procs": 158.21}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2048866101.0, "Ops per second": 68295536.0, "ns per ops": 14.0, "Ops per threads": 2134235.0, "Ops per procs": 10671177.0, "Ops/sec/procs": 355705.0, "ns per ops/procs": 2820.0}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1517931118.0, "Ops per second": 50594592.45, "ns per ops": 19.76, "Ops per threads": 12649425.0, "Ops per procs": 63247129.0, "Ops/sec/procs": 2108108.02, "ns per ops/procs": 474.36}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1493692339.0, "Ops per second": 49786339.58, "ns per ops": 20.09, "Ops per threads": 12447436.0, "Ops per procs": 62237180.0, "Ops/sec/procs": 2074430.82, "ns per ops/procs": 482.06}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 459498200.0, "Ops per second": 15316606.0, "ns per ops": 65.0, "Ops per threads": 5743727.0, "Ops per procs": 28718637.0, "Ops/sec/procs": 957287.0, "ns per ops/procs": 1044.0}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 173884782.0, "Ops per second": 5795856.45, "ns per ops": 172.54, "Ops per threads": 17388478.0, "Ops per procs": 86942391.0, "Ops/sec/procs": 2897928.22, "ns per ops/procs": 345.07}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 154405513.0, "Ops per second": 5146585.19, "ns per ops": 194.3, "Ops per threads": 15440551.0, "Ops per procs": 77202756.0, "Ops/sec/procs": 2573292.6, "ns per ops/procs": 388.61}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30060.485206, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 392631279.0, "Total blocks": 392630621.0, "Ops per second": 13061375.3, "ns per ops": 76.56, "Ops per threads": 9815781.0, "Ops per procs": 49078909.0, "Ops/sec/procs": 1632671.91, "ns per ops/procs": 612.49}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30075.233025, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 618657185.0, "Total blocks": 618655341.0, "Ops per second": 20570320.59, "ns per ops": 48.61, "Ops per threads": 7733214.0, "Ops per procs": 38666074.0, "Ops/sec/procs": 1285645.04, "ns per ops/procs": 777.82}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2073131717.0, "Ops per second": 69079522.22, "ns per ops": 14.48, "Ops per threads": 8638048.0, "Ops per procs": 43190244.0, "Ops/sec/procs": 1439156.71, "ns per ops/procs": 694.85}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30012.579682, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 714006533.0, "Total blocks": 714001826.0, "Ops per second": 23790241.98, "ns per ops": 42.03, "Ops per threads": 5950054.0, "Ops per procs": 29750272.0, "Ops/sec/procs": 991260.08, "ns per ops/procs": 1008.82}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 777414961.0, "Total blocks": 777414961.0, "Ops per second": 25892931.36, "ns per ops": 38.62, "Ops per threads": 38870748.0, "Ops per procs": 194353740.0, "Ops/sec/procs": 6473232.84, "ns per ops/procs": 154.48}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2123540409.0, "Ops per second": 70775412.41, "ns per ops": 14.13, "Ops per threads": 5898723.0, "Ops per procs": 29493616.0, "Ops/sec/procs": 982991.84, "ns per ops/procs": 1017.3}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30020.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2200029225.0, "Ops per second": 73283967.42, "ns per ops": 13.65, "Ops per threads": 4583394.0, "Ops per procs": 22916971.0, "Ops/sec/procs": 763374.66, "ns per ops/procs": 1309.97}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30022.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15302615265.0, "Total blocks": 15302615264.0, "Ops per second": 509706522.9, "ns per ops": 1.96, "Ops per threads": 15940224.0, "Ops per procs": 79701121.0, "Ops/sec/procs": 2654721.47, "ns per ops/procs": 376.69}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 169370556.0, "Ops per second": 5640745.9, "ns per ops": 177.28, "Ops per threads": 33874111.0, "Ops per procs": 169370556.0, "Ops/sec/procs": 5640745.9, "ns per ops/procs": 177.28}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30045.817081, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1136154449.0, "Total blocks": 1136142158.0, "Ops per second": 37814063.97, "ns per ops": 26.45, "Ops per threads": 4733976.0, "Ops per procs": 23669884.0, "Ops/sec/procs": 787793.0, "ns per ops/procs": 1269.37}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30025.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 521913657.0, "Total blocks": 521913657.0, "Ops per second": 17382557.63, "ns per ops": 57.53, "Ops per threads": 26095682.0, "Ops per procs": 130478414.0, "Ops/sec/procs": 4345639.41, "ns per ops/procs": 230.12}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1495946599.0, "Ops per second": 49864886.0, "ns per ops": 20.0, "Ops per threads": 2077703.0, "Ops per procs": 10388518.0, "Ops/sec/procs": 346283.0, "ns per ops/procs": 2897.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2902888354.0, "Total blocks": 2902888354.0, "Ops per second": 96676437.59, "ns per ops": 10.34, "Ops per threads": 36286104.0, "Ops per procs": 181430522.0, "Ops/sec/procs": 6042277.35, "ns per ops/procs": 165.5}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3342843975.0, "Ops per second": 111394087.34, "ns per ops": 8.98, "Ops per threads": 4642838.0, "Ops per procs": 23214194.0, "Ops/sec/procs": 773570.05, "ns per ops/procs": 1292.71}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30027.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2357681191.0, "Total blocks": 2357681191.0, "Ops per second": 78516192.18, "ns per ops": 12.74, "Ops per threads": 29471014.0, "Ops per procs": 147355074.0, "Ops/sec/procs": 4907262.01, "ns per ops/procs": 203.78}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2298798821.0, "Ops per second": 76611211.25, "ns per ops": 13.05, "Ops per threads": 6385552.0, "Ops per procs": 31927761.0, "Ops/sec/procs": 1064044.6, "ns per ops/procs": 939.81}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30068.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 117657378.0, "Ops per second": 3921912.0, "ns per ops": 255.0, "Ops per threads": 11765737.0, "Ops per procs": 58828689.0, "Ops/sec/procs": 1960956.0, "ns per ops/procs": 511.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163782377.0, "Ops per second": 5459412.0, "ns per ops": 183.0, "Ops per threads": 32756475.0, "Ops per procs": 163782377.0, "Ops/sec/procs": 5459412.0, "ns per ops/procs": 183.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30037.979663, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1688934249.0, "Total blocks": 1688823784.0, "Ops per second": 56226626.02, "ns per ops": 17.79, "Ops per threads": 2345742.0, "Ops per procs": 11728710.0, "Ops/sec/procs": 390462.68, "ns per ops/procs": 2561.06}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1516093313.0, "Ops per second": 50533314.39, "ns per ops": 19.79, "Ops per threads": 12634110.0, "Ops per procs": 63170554.0, "Ops/sec/procs": 2105554.77, "ns per ops/procs": 474.93}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4038926114.0, "Total blocks": 4038926114.0, "Ops per second": 134611470.09, "ns per ops": 7.43, "Ops per threads": 16828858.0, "Ops per procs": 84144294.0, "Ops/sec/procs": 2804405.63, "ns per ops/procs": 356.58}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 493541396.0, "Ops per second": 16450557.97, "ns per ops": 60.79, "Ops per threads": 12338534.0, "Ops per procs": 61692674.0, "Ops/sec/procs": 2056319.75, "ns per ops/procs": 486.31}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 927866641.0, "Total blocks": 927866641.0, "Ops per second": 30905378.49, "ns per ops": 32.36, "Ops per threads": 23196666.0, "Ops per procs": 115983330.0, "Ops/sec/procs": 3863172.31, "ns per ops/procs": 258.85}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30010.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4681952714.0, "Ops per second": 156011916.17, "ns per ops": 6.41, "Ops per threads": 4877034.0, "Ops per procs": 24385170.0, "Ops/sec/procs": 812562.06, "ns per ops/procs": 1230.68}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3980507302.0, "Total blocks": 3980507302.0, "Ops per second": 132664732.83, "ns per ops": 7.54, "Ops per threads": 16585447.0, "Ops per procs": 82927235.0, "Ops/sec/procs": 2763848.6, "ns per ops/procs": 361.81}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317038121.0, "Total blocks": 317038111.0, "Ops per second": 10559701.31, "ns per ops": 94.7, "Ops per threads": 31703812.0, "Ops per procs": 158519060.0, "Ops/sec/procs": 5279850.65, "ns per ops/procs": 189.4}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.02869, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203503339.0, "Total blocks": 203503336.0, "Ops per second": 6772151.24, "ns per ops": 147.66, "Ops per threads": 40700667.0, "Ops per procs": 203503339.0, "Ops/sec/procs": 6772151.24, "ns per ops/procs": 147.66}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163822953.0, "Ops per second": 5460765.0, "ns per ops": 183.0, "Ops per threads": 32764590.0, "Ops per procs": 163822953.0, "Ops/sec/procs": 5460765.0, "ns per ops/procs": 183.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30054.3089, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 263650987.0, "Total blocks": 263650591.0, "Ops per second": 8772485.43, "ns per ops": 113.99, "Ops per threads": 13182549.0, "Ops per procs": 65912746.0, "Ops/sec/procs": 2193121.36, "ns per ops/procs": 455.97}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30074.431913, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 604878338.0, "Total blocks": 604876206.0, "Ops per second": 20112710.35, "ns per ops": 49.72, "Ops per threads": 7560979.0, "Ops per procs": 37804896.0, "Ops/sec/procs": 1257044.4, "ns per ops/procs": 795.52}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30014.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2252844343.0, "Ops per second": 75058889.27, "ns per ops": 13.32, "Ops per threads": 4693425.0, "Ops per procs": 23467128.0, "Ops/sec/procs": 781863.43, "ns per ops/procs": 1279.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4111011180.0, "Total blocks": 4111011179.0, "Ops per second": 137014017.82, "ns per ops": 7.3, "Ops per threads": 17129213.0, "Ops per procs": 85646066.0, "Ops/sec/procs": 2854458.7, "ns per ops/procs": 350.33}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 164126445.0, "Ops per second": 5470881.0, "ns per ops": 183.0, "Ops per threads": 32825289.0, "Ops per procs": 164126445.0, "Ops/sec/procs": 5470881.0, "ns per ops/procs": 183.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30055.274571, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 262788886.0, "Total blocks": 262788516.0, "Ops per second": 8743519.72, "ns per ops": 114.37, "Ops per threads": 13139444.0, "Ops per procs": 65697221.0, "Ops/sec/procs": 2185879.93, "ns per ops/procs": 457.48}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 316108517.0, "Total blocks": 316108507.0, "Ops per second": 10528502.61, "ns per ops": 94.98, "Ops per threads": 31610851.0, "Ops per procs": 158054258.0, "Ops/sec/procs": 5264251.31, "ns per ops/procs": 189.96}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1148922624.0, "Ops per second": 38297420.0, "ns per ops": 26.0, "Ops per threads": 3191451.0, "Ops per procs": 15957258.0, "Ops/sec/procs": 531908.0, "ns per ops/procs": 1886.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.204155, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 198752280.0, "Total blocks": 198752279.0, "Ops per second": 6614007.64, "ns per ops": 151.19, "Ops per threads": 39750456.0, "Ops per procs": 198752280.0, "Ops/sec/procs": 6614007.64, "ns per ops/procs": 151.19}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30045.71981, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1291249612.0, "Total blocks": 1291185747.0, "Ops per second": 42976158.34, "ns per ops": 23.27, "Ops per threads": 2690103.0, "Ops per procs": 13450516.0, "Ops/sec/procs": 447668.32, "ns per ops/procs": 2233.8}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30061.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 125605232.0, "Ops per second": 4186841.0, "ns per ops": 239.0, "Ops per threads": 12560523.0, "Ops per procs": 62802616.0, "Ops/sec/procs": 2093420.0, "ns per ops/procs": 478.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30020.324441, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 715417046.0, "Total blocks": 715413563.0, "Ops per second": 23831089.75, "ns per ops": 41.96, "Ops per threads": 5961808.0, "Ops per procs": 29809043.0, "Ops/sec/procs": 992962.07, "ns per ops/procs": 1007.09}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 472225280.0, "Ops per second": 15740842.0, "ns per ops": 63.0, "Ops per threads": 5902816.0, "Ops per procs": 29514080.0, "Ops/sec/procs": 983802.0, "ns per ops/procs": 1016.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4074205540.0, "Total blocks": 4074205540.0, "Ops per second": 135786862.13, "ns per ops": 7.36, "Ops per threads": 16975856.0, "Ops per procs": 84879282.0, "Ops/sec/procs": 2828892.96, "ns per ops/procs": 353.5}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1671664998.0, "Ops per second": 55722166.0, "ns per ops": 18.0, "Ops per threads": 3482635.0, "Ops per procs": 17413177.0, "Ops/sec/procs": 580439.0, "ns per ops/procs": 1728.0}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30026.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4626760158.0, "Ops per second": 154087525.9, "ns per ops": 6.49, "Ops per threads": 4819541.0, "Ops per procs": 24097709.0, "Ops/sec/procs": 802539.2, "ns per ops/procs": 1246.05}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30049.312986, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 198605132.0, "Total blocks": 198605131.0, "Ops per second": 6609306.91, "ns per ops": 151.3, "Ops per threads": 39721026.0, "Ops per procs": 198605132.0, "Ops/sec/procs": 6609306.91, "ns per ops/procs": 151.3}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30034.092779, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1268519363.0, "Total blocks": 1268476437.0, "Ops per second": 42235980.7, "ns per ops": 23.68, "Ops per threads": 2642748.0, "Ops per procs": 13213743.0, "Ops/sec/procs": 439958.13, "ns per ops/procs": 2272.94}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170566469.0, "Ops per second": 5685312.89, "ns per ops": 175.89, "Ops per threads": 34113293.0, "Ops per procs": 170566469.0, "Ops/sec/procs": 5685312.89, "ns per ops/procs": 175.89}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30010.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2354338653.0, "Ops per second": 78449993.19, "ns per ops": 12.75, "Ops per threads": 6539829.0, "Ops per procs": 32699147.0, "Ops/sec/procs": 1089583.24, "ns per ops/procs": 917.78}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30047.619512, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 208860757.0, "Total blocks": 208860649.0, "Ops per second": 6950991.81, "ns per ops": 143.86, "Ops per threads": 20886075.0, "Ops per procs": 104430378.0, "Ops/sec/procs": 3475495.9, "ns per ops/procs": 287.73}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.658076, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1009015366.0, "Total blocks": 1008994907.0, "Ops per second": 33524713.57, "ns per ops": 29.83, "Ops per threads": 2802820.0, "Ops per procs": 14014102.0, "Ops/sec/procs": 465621.02, "ns per ops/procs": 2147.67}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 773391873.0, "Total blocks": 773391873.0, "Ops per second": 25759160.01, "ns per ops": 38.82, "Ops per threads": 38669593.0, "Ops per procs": 193347968.0, "Ops/sec/procs": 6439790.0, "ns per ops/procs": 155.28}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8971061019.0, "Total blocks": 8971061019.0, "Ops per second": 298977241.25, "ns per ops": 3.34, "Ops per threads": 12459806.0, "Ops per procs": 62299034.0, "Ops/sec/procs": 2076230.84, "ns per ops/procs": 481.64}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30051.711462, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1129991557.0, "Total blocks": 1129979632.0, "Ops per second": 37601570.83, "ns per ops": 26.59, "Ops per threads": 4708298.0, "Ops per procs": 23541490.0, "Ops/sec/procs": 783366.06, "ns per ops/procs": 1276.54}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 166552065.0, "Ops per second": 5551476.88, "ns per ops": 180.13, "Ops per threads": 16655206.0, "Ops per procs": 83276032.0, "Ops/sec/procs": 2775738.44, "ns per ops/procs": 360.26}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30019.336435, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 708424159.0, "Total blocks": 708420669.0, "Ops per second": 23598928.0, "ns per ops": 42.37, "Ops per threads": 5903534.0, "Ops per procs": 29517673.0, "Ops/sec/procs": 983288.67, "ns per ops/procs": 1017.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30072.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 150782178.0, "Ops per second": 5026072.0, "ns per ops": 199.0, "Ops per threads": 7539108.0, "Ops per procs": 37695544.0, "Ops/sec/procs": 1256518.0, "ns per ops/procs": 797.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30066.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 138372877.0, "Ops per second": 4612429.0, "ns per ops": 217.0, "Ops per threads": 6918643.0, "Ops per procs": 34593219.0, "Ops/sec/procs": 1153107.0, "ns per ops/procs": 869.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2865431664.0, "Total blocks": 2865431664.0, "Ops per second": 95505643.63, "ns per ops": 10.47, "Ops per threads": 23878597.0, "Ops per procs": 119392986.0, "Ops/sec/procs": 3979401.82, "ns per ops/procs": 251.29}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30003.194606, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1285307171.0, "Total blocks": 1285264150.0, "Ops per second": 42839010.57, "ns per ops": 23.34, "Ops per threads": 2677723.0, "Ops per procs": 13388616.0, "Ops/sec/procs": 446239.69, "ns per ops/procs": 2240.95}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219389665.0, "Total blocks": 219389660.0, "Ops per second": 7307527.31, "ns per ops": 136.85, "Ops per threads": 43877933.0, "Ops per procs": 219389665.0, "Ops/sec/procs": 7307527.31, "ns per ops/procs": 136.85}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30016.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2248894771.0, "Ops per second": 74922997.62, "ns per ops": 13.35, "Ops per threads": 4685197.0, "Ops per procs": 23425987.0, "Ops/sec/procs": 780447.89, "ns per ops/procs": 1281.32}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30049.70011, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 202572736.0, "Total blocks": 202572735.0, "Ops per second": 6741256.49, "ns per ops": 148.34, "Ops per threads": 40514547.0, "Ops per procs": 202572736.0, "Ops/sec/procs": 6741256.49, "ns per ops/procs": 148.34}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30072.901347, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 978488107.0, "Total blocks": 978460723.0, "Ops per second": 32537203.37, "ns per ops": 30.73, "Ops per threads": 2718022.0, "Ops per procs": 13590112.0, "Ops/sec/procs": 451905.6, "ns per ops/procs": 2212.85}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30099.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 445097974.0, "Ops per second": 14836599.0, "ns per ops": 67.0, "Ops per threads": 5563724.0, "Ops per procs": 27818623.0, "Ops/sec/procs": 927287.0, "ns per ops/procs": 1082.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30054.419098, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 262279413.0, "Total blocks": 262279033.0, "Ops per second": 8726816.92, "ns per ops": 114.59, "Ops per threads": 13113970.0, "Ops per procs": 65569853.0, "Ops/sec/procs": 2181704.23, "ns per ops/procs": 458.36}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30059.793102, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1293898165.0, "Total blocks": 1293848741.0, "Ops per second": 43044147.4, "ns per ops": 23.23, "Ops per threads": 2695621.0, "Ops per procs": 13478105.0, "Ops/sec/procs": 448376.54, "ns per ops/procs": 2230.27}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.146441, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 390535628.0, "Total blocks": 390535001.0, "Ops per second": 12991375.06, "ns per ops": 76.97, "Ops per threads": 9763390.0, "Ops per procs": 48816953.0, "Ops/sec/procs": 1623921.88, "ns per ops/procs": 615.79}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 443002359.0, "Ops per second": 14766745.0, "ns per ops": 67.0, "Ops per threads": 5537529.0, "Ops per procs": 27687647.0, "Ops/sec/procs": 922921.0, "ns per ops/procs": 1087.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 514609454.0, "Total blocks": 514609454.0, "Ops per second": 17140020.33, "ns per ops": 58.34, "Ops per threads": 25730472.0, "Ops per procs": 128652363.0, "Ops/sec/procs": 4285005.08, "ns per ops/procs": 233.37}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 223397913.0, "Ops per second": 7446597.0, "ns per ops": 134.0, "Ops per threads": 5584947.0, "Ops per procs": 27924739.0, "Ops/sec/procs": 930824.0, "ns per ops/procs": 1075.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30026.883413, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1142496313.0, "Total blocks": 1142482623.0, "Ops per second": 38049114.1, "ns per ops": 26.28, "Ops per threads": 4760401.0, "Ops per procs": 23802006.0, "Ops/sec/procs": 792689.88, "ns per ops/procs": 1261.53}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30028.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 169473164.0, "Ops per second": 5643672.76, "ns per ops": 177.19, "Ops per threads": 33894632.0, "Ops per procs": 169473164.0, "Ops/sec/procs": 5643672.76, "ns per ops/procs": 177.19}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30024.238778, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1939340795.0, "Total blocks": 1939118876.0, "Ops per second": 64592505.05, "ns per ops": 15.48, "Ops per threads": 2020146.0, "Ops per procs": 10100733.0, "Ops/sec/procs": 336419.3, "ns per ops/procs": 2972.48}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170282268.0, "Ops per second": 5675834.3, "ns per ops": 176.19, "Ops per threads": 34056453.0, "Ops per procs": 170282268.0, "Ops/sec/procs": 5675834.3, "ns per ops/procs": 176.19}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 495351736.0, "Ops per second": 16510906.36, "ns per ops": 60.57, "Ops per threads": 12383793.0, "Ops per procs": 61918967.0, "Ops/sec/procs": 2063863.29, "ns per ops/procs": 484.53}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30016.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3216329539.0, "Ops per second": 107153492.29, "ns per ops": 9.33, "Ops per threads": 4467124.0, "Ops per procs": 22335621.0, "Ops/sec/procs": 744121.47, "ns per ops/procs": 1343.87}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30053.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 127711160.0, "Ops per second": 4257038.0, "ns per ops": 235.0, "Ops per threads": 12771116.0, "Ops per procs": 63855580.0, "Ops/sec/procs": 2128519.0, "ns per ops/procs": 470.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219421870.0, "Total blocks": 219421865.0, "Ops per second": 7308648.43, "ns per ops": 136.82, "Ops per threads": 43884374.0, "Ops per procs": 219421870.0, "Ops/sec/procs": 7308648.43, "ns per ops/procs": 136.82}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3386509383.0, "Ops per second": 112843960.62, "ns per ops": 8.86, "Ops per threads": 4703485.0, "Ops per procs": 23517426.0, "Ops/sec/procs": 783638.62, "ns per ops/procs": 1276.1}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1910492900.0, "Ops per second": 63683096.0, "ns per ops": 15.0, "Ops per threads": 1990096.0, "Ops per procs": 9950483.0, "Ops/sec/procs": 331682.0, "ns per ops/procs": 3024.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30047.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15089769527.0, "Total blocks": 15089769526.0, "Ops per second": 502196760.88, "ns per ops": 1.99, "Ops per threads": 15718509.0, "Ops per procs": 78592549.0, "Ops/sec/procs": 2615608.13, "ns per ops/procs": 382.32}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30076.687231, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 614498867.0, "Total blocks": 614497007.0, "Ops per second": 20431068.83, "ns per ops": 48.95, "Ops per threads": 7681235.0, "Ops per procs": 38406179.0, "Ops/sec/procs": 1276941.8, "ns per ops/procs": 783.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.924279, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 199494248.0, "Total blocks": 199494247.0, "Ops per second": 6638539.51, "ns per ops": 150.64, "Ops per threads": 39898849.0, "Ops per procs": 199494248.0, "Ops/sec/procs": 6638539.51, "ns per ops/procs": 150.64}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30050.388166, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1303613592.0, "Total blocks": 1303564662.0, "Ops per second": 43380923.56, "ns per ops": 23.05, "Ops per threads": 2715861.0, "Ops per procs": 13579308.0, "Ops/sec/procs": 451884.62, "ns per ops/procs": 2212.95}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10009711300.0, "Total blocks": 10009711300.0, "Ops per second": 333605712.52, "ns per ops": 3.0, "Ops per threads": 20853565.0, "Ops per procs": 104267826.0, "Ops/sec/procs": 3475059.51, "ns per ops/procs": 287.76}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 263703873.0, "Ops per second": 8789685.27, "ns per ops": 113.77, "Ops per threads": 13185193.0, "Ops per procs": 65925968.0, "Ops/sec/procs": 2197421.32, "ns per ops/procs": 455.08}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1121226364.0, "Ops per second": 37374212.0, "ns per ops": 26.0, "Ops per threads": 3114517.0, "Ops per procs": 15572588.0, "Ops/sec/procs": 519086.0, "ns per ops/procs": 1932.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 878164429.0, "Ops per second": 29270570.42, "ns per ops": 34.16, "Ops per threads": 10977055.0, "Ops per procs": 54885276.0, "Ops/sec/procs": 1829410.65, "ns per ops/procs": 546.62}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7954751944.0, "Total blocks": 7954751944.0, "Ops per second": 265116280.72, "ns per ops": 3.77, "Ops per threads": 16572399.0, "Ops per procs": 82861999.0, "Ops/sec/procs": 2761627.92, "ns per ops/procs": 362.11}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 891287909.0, "Ops per second": 29707817.06, "ns per ops": 33.66, "Ops per threads": 11141098.0, "Ops per procs": 55705494.0, "Ops/sec/procs": 1856738.57, "ns per ops/procs": 538.58}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30067.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 123922145.0, "Ops per second": 4130738.0, "ns per ops": 242.0, "Ops per threads": 12392214.0, "Ops per procs": 61961072.0, "Ops/sec/procs": 2065369.0, "ns per ops/procs": 485.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30060.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 156122482.0, "Ops per second": 5204082.0, "ns per ops": 192.0, "Ops per threads": 7806124.0, "Ops per procs": 39030620.0, "Ops/sec/procs": 1301020.0, "ns per ops/procs": 770.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30010.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2282110146.0, "Ops per second": 76043634.85, "ns per ops": 13.15, "Ops per threads": 6339194.0, "Ops per procs": 31695974.0, "Ops/sec/procs": 1056161.6, "ns per ops/procs": 946.82}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30077.806783, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1649847522.0, "Total blocks": 1649727538.0, "Ops per second": 54852653.78, "ns per ops": 18.23, "Ops per threads": 2291454.0, "Ops per procs": 11457274.0, "Ops/sec/procs": 380921.21, "ns per ops/procs": 2625.21}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1496908561.0, "Ops per second": 49893869.68, "ns per ops": 20.04, "Ops per threads": 12474238.0, "Ops per procs": 62371190.0, "Ops/sec/procs": 2078911.24, "ns per ops/procs": 481.02}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30030.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1272770262.0, "Ops per second": 42425675.0, "ns per ops": 23.0, "Ops per threads": 1767736.0, "Ops per procs": 8838682.0, "Ops/sec/procs": 294622.0, "ns per ops/procs": 3397.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30055.790724, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 263630065.0, "Total blocks": 263629716.0, "Ops per second": 8771356.82, "ns per ops": 114.01, "Ops per threads": 13181503.0, "Ops per procs": 65907516.0, "Ops/sec/procs": 2192839.21, "ns per ops/procs": 456.03}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 169368792.0, "Ops per second": 5645392.43, "ns per ops": 177.14, "Ops per threads": 33873758.0, "Ops per procs": 169368792.0, "Ops/sec/procs": 5645392.43, "ns per ops/procs": 177.14}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30019.692606, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 709446261.0, "Total blocks": 709442679.0, "Ops per second": 23632695.72, "ns per ops": 42.31, "Ops per threads": 5912052.0, "Ops per procs": 29560260.0, "Ops/sec/procs": 984695.66, "ns per ops/procs": 1015.54}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30100.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 463153035.0, "Ops per second": 15438434.0, "ns per ops": 64.0, "Ops per threads": 5789412.0, "Ops per procs": 28947064.0, "Ops/sec/procs": 964902.0, "ns per ops/procs": 1039.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30019.092678, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 709297907.0, "Total blocks": 709294587.0, "Ops per second": 23628226.03, "ns per ops": 42.32, "Ops per threads": 5910815.0, "Ops per procs": 29554079.0, "Ops/sec/procs": 984509.42, "ns per ops/procs": 1015.73}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 169842506.0, "Ops per second": 5661180.09, "ns per ops": 176.64, "Ops per threads": 33968501.0, "Ops per procs": 169842506.0, "Ops/sec/procs": 5661180.09, "ns per ops/procs": 176.64}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 319233048.0, "Total blocks": 319233038.0, "Ops per second": 10632749.22, "ns per ops": 94.05, "Ops per threads": 31923304.0, "Ops per procs": 159616524.0, "Ops/sec/procs": 5316374.61, "ns per ops/procs": 188.1}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30009.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2378342888.0, "Ops per second": 79253265.14, "ns per ops": 12.62, "Ops per threads": 6606508.0, "Ops per procs": 33032540.0, "Ops/sec/procs": 1100739.79, "ns per ops/procs": 908.48}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 229795406.0, "Ops per second": 7659846.0, "ns per ops": 130.0, "Ops per threads": 5744885.0, "Ops per procs": 28724425.0, "Ops/sec/procs": 957480.0, "ns per ops/procs": 1045.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30094.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 14776349179.0, "Total blocks": 14776349179.0, "Ops per second": 490998354.07, "ns per ops": 2.04, "Ops per threads": 15392030.0, "Ops per procs": 76960151.0, "Ops/sec/procs": 2557283.09, "ns per ops/procs": 391.04}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30015.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2216386089.0, "Ops per second": 73840556.69, "ns per ops": 13.54, "Ops per threads": 4617471.0, "Ops per procs": 23087355.0, "Ops/sec/procs": 769172.47, "ns per ops/procs": 1300.1}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30025.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 316712812.0, "Total blocks": 316712802.0, "Ops per second": 10548171.45, "ns per ops": 94.8, "Ops per threads": 31671281.0, "Ops per procs": 158356406.0, "Ops/sec/procs": 5274085.73, "ns per ops/procs": 189.61}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30009.356273, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 997706041.0, "Total blocks": 997681383.0, "Ops per second": 33246499.26, "ns per ops": 30.08, "Ops per threads": 2771405.0, "Ops per procs": 13857028.0, "Ops/sec/procs": 461756.93, "ns per ops/procs": 2165.64}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30016.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 173966806.0, "Ops per second": 5795753.69, "ns per ops": 172.54, "Ops per threads": 17396680.0, "Ops per procs": 86983403.0, "Ops/sec/procs": 2897876.85, "ns per ops/procs": 345.08}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.543904, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 386635046.0, "Total blocks": 386634383.0, "Ops per second": 12861450.07, "ns per ops": 77.75, "Ops per threads": 9665876.0, "Ops per procs": 48329380.0, "Ops/sec/procs": 1607681.26, "ns per ops/procs": 622.01}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 275969970.0, "Ops per second": 9198535.07, "ns per ops": 108.71, "Ops per threads": 13798498.0, "Ops per procs": 68992492.0, "Ops/sec/procs": 2299633.77, "ns per ops/procs": 434.85}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30050.647638, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 211248214.0, "Total blocks": 211248115.0, "Ops per second": 7029739.14, "ns per ops": 142.25, "Ops per threads": 21124821.0, "Ops per procs": 105624107.0, "Ops/sec/procs": 3514869.57, "ns per ops/procs": 284.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 979187627.0, "Ops per second": 32639587.0, "ns per ops": 30.0, "Ops per threads": 4079948.0, "Ops per procs": 20399742.0, "Ops/sec/procs": 679991.0, "ns per ops/procs": 1475.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 887404843.0, "Ops per second": 29578466.09, "ns per ops": 33.81, "Ops per threads": 11092560.0, "Ops per procs": 55462802.0, "Ops/sec/procs": 1848654.13, "ns per ops/procs": 540.93}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 468905215.0, "Ops per second": 15629379.72, "ns per ops": 63.98, "Ops per threads": 11722630.0, "Ops per procs": 58613151.0, "Ops/sec/procs": 1953672.47, "ns per ops/procs": 511.86}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30048.031492, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1308366740.0, "Total blocks": 1308320606.0, "Ops per second": 43542510.94, "ns per ops": 22.97, "Ops per threads": 2725764.0, "Ops per procs": 13628820.0, "Ops/sec/procs": 453567.82, "ns per ops/procs": 2204.74}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1475251958.0, "Ops per second": 49172004.09, "ns per ops": 20.34, "Ops per threads": 12293766.0, "Ops per procs": 61468831.0, "Ops/sec/procs": 2048833.5, "ns per ops/procs": 488.08}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 156881195.0, "Ops per second": 5229130.05, "ns per ops": 191.24, "Ops per threads": 15688119.0, "Ops per procs": 78440597.0, "Ops/sec/procs": 2614565.02, "ns per ops/procs": 382.47}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30010.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4639195640.0, "Ops per second": 154587821.67, "ns per ops": 6.47, "Ops per threads": 4832495.0, "Ops per procs": 24162477.0, "Ops/sec/procs": 805144.9, "ns per ops/procs": 1242.01}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30009.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2763915530.0, "Ops per second": 92130517.0, "ns per ops": 10.0, "Ops per threads": 2879078.0, "Ops per procs": 14395393.0, "Ops/sec/procs": 479846.0, "ns per ops/procs": 2084.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30003.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1403858146.0, "Ops per second": 46795271.0, "ns per ops": 21.0, "Ops per threads": 1949802.0, "Ops per procs": 9749014.0, "Ops/sec/procs": 324967.0, "ns per ops/procs": 3077.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163667687.0, "Ops per second": 5455589.0, "ns per ops": 183.0, "Ops per threads": 32733537.0, "Ops per procs": 163667687.0, "Ops/sec/procs": 5455589.0, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 850932699.0, "Ops per second": 28364423.0, "ns per ops": 35.0, "Ops per threads": 2363701.0, "Ops per procs": 11818509.0, "Ops/sec/procs": 393950.0, "ns per ops/procs": 2546.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1705268737.0, "Ops per second": 56842291.0, "ns per ops": 17.0, "Ops per threads": 1776321.0, "Ops per procs": 8881608.0, "Ops/sec/procs": 296053.0, "ns per ops/procs": 3388.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30003.026841, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1972411799.0, "Total blocks": 1972168936.0, "Ops per second": 65740427.11, "ns per ops": 15.21, "Ops per threads": 2054595.0, "Ops per procs": 10272978.0, "Ops/sec/procs": 342398.06, "ns per ops/procs": 2920.58}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7896914275.0, "Total blocks": 7896914272.0, "Ops per second": 263185972.05, "ns per ops": 3.8, "Ops per threads": 16451904.0, "Ops per procs": 82259523.0, "Ops/sec/procs": 2741520.54, "ns per ops/procs": 364.76}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2335992139.0, "Ops per second": 77853804.35, "ns per ops": 12.84, "Ops per threads": 6488867.0, "Ops per procs": 32444335.0, "Ops/sec/procs": 1081302.84, "ns per ops/procs": 924.81}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7590455259.0, "Total blocks": 7590455259.0, "Ops per second": 252975635.21, "ns per ops": 3.95, "Ops per threads": 15813448.0, "Ops per procs": 79067242.0, "Ops/sec/procs": 2635162.87, "ns per ops/procs": 379.48}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30044.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 11570689012.0, "Total blocks": 11570689010.0, "Ops per second": 385112791.37, "ns per ops": 2.6, "Ops per threads": 16070401.0, "Ops per procs": 80352007.0, "Ops/sec/procs": 2674394.38, "ns per ops/procs": 373.92}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.323306, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 202229327.0, "Total blocks": 202229322.0, "Ops per second": 6729688.89, "ns per ops": 148.6, "Ops per threads": 40445865.0, "Ops per procs": 202229327.0, "Ops/sec/procs": 6729688.89, "ns per ops/procs": 148.6}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 921662913.0, "Total blocks": 921662913.0, "Ops per second": 30698808.09, "ns per ops": 32.57, "Ops per threads": 23041572.0, "Ops per procs": 115207864.0, "Ops/sec/procs": 3837351.01, "ns per ops/procs": 260.6}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2086216088.0, "Ops per second": 69515538.91, "ns per ops": 14.39, "Ops per threads": 8692567.0, "Ops per procs": 43462835.0, "Ops/sec/procs": 1448240.39, "ns per ops/procs": 690.49}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30052.122262, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 205967005.0, "Total blocks": 205966923.0, "Ops per second": 6853659.23, "ns per ops": 145.91, "Ops per threads": 20596700.0, "Ops per procs": 102983502.0, "Ops/sec/procs": 3426829.61, "ns per ops/procs": 291.81}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30078.303339, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 607653778.0, "Total blocks": 607651873.0, "Ops per second": 20202395.43, "ns per ops": 49.5, "Ops per threads": 7595672.0, "Ops per procs": 37978361.0, "Ops/sec/procs": 1262649.71, "ns per ops/procs": 791.99}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1865975207.0, "Total blocks": 1865975207.0, "Ops per second": 62143665.55, "ns per ops": 16.09, "Ops per threads": 23324690.0, "Ops per procs": 116623450.0, "Ops/sec/procs": 3883979.1, "ns per ops/procs": 257.47}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 917896719.0, "Total blocks": 917896719.0, "Ops per second": 30573406.98, "ns per ops": 32.71, "Ops per threads": 22947417.0, "Ops per procs": 114737089.0, "Ops/sec/procs": 3821675.87, "ns per ops/procs": 261.67}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30011.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2105706041.0, "Ops per second": 70163415.71, "ns per ops": 14.25, "Ops per threads": 8773775.0, "Ops per procs": 43868875.0, "Ops/sec/procs": 1461737.83, "ns per ops/procs": 684.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30045.425968, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1631662302.0, "Total blocks": 1631545370.0, "Ops per second": 54306512.54, "ns per ops": 18.41, "Ops per threads": 2266197.0, "Ops per procs": 11330988.0, "Ops/sec/procs": 377128.56, "ns per ops/procs": 2651.62}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1854686262.0, "Total blocks": 1854686262.0, "Ops per second": 61767949.53, "ns per ops": 16.19, "Ops per threads": 23183578.0, "Ops per procs": 115917891.0, "Ops/sec/procs": 3860496.85, "ns per ops/procs": 259.03}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1911938998.0, "Ops per second": 63731299.0, "ns per ops": 15.0, "Ops per threads": 1991603.0, "Ops per procs": 9958015.0, "Ops/sec/procs": 331933.0, "ns per ops/procs": 3022.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4093980555.0, "Total blocks": 4093980555.0, "Ops per second": 136445782.68, "ns per ops": 7.33, "Ops per threads": 17058252.0, "Ops per procs": 85291261.0, "Ops/sec/procs": 2842620.47, "ns per ops/procs": 351.79}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 168544047.0, "Ops per second": 5617867.54, "ns per ops": 178.0, "Ops per threads": 16854404.0, "Ops per procs": 84272023.0, "Ops/sec/procs": 2808933.77, "ns per ops/procs": 356.01}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.745836, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 208504553.0, "Total blocks": 208504433.0, "Ops per second": 6938184.36, "ns per ops": 144.13, "Ops per threads": 20850455.0, "Ops per procs": 104252276.0, "Ops/sec/procs": 3469092.18, "ns per ops/procs": 288.26}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 213837140.0, "Ops per second": 7127904.0, "ns per ops": 140.0, "Ops per threads": 5345928.0, "Ops per procs": 26729642.0, "Ops/sec/procs": 890988.0, "ns per ops/procs": 1123.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 894494404.0, "Ops per second": 29814884.31, "ns per ops": 33.54, "Ops per threads": 11181180.0, "Ops per procs": 55905900.0, "Ops/sec/procs": 1863430.27, "ns per ops/procs": 536.64}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30099.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 509834809.0, "Ops per second": 16994493.0, "ns per ops": 59.0, "Ops per threads": 6372935.0, "Ops per procs": 31864675.0, "Ops/sec/procs": 1062155.0, "ns per ops/procs": 944.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.877363, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 199694985.0, "Total blocks": 199694899.0, "Ops per second": 6645008.65, "ns per ops": 150.49, "Ops per threads": 19969498.0, "Ops per procs": 99847492.0, "Ops/sec/procs": 3322504.32, "ns per ops/procs": 300.98}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30038.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 230606467.0, "Ops per second": 7686882.0, "ns per ops": 130.0, "Ops per threads": 5765161.0, "Ops per procs": 28825808.0, "Ops/sec/procs": 960860.0, "ns per ops/procs": 1042.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30063.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 127759309.0, "Ops per second": 4258643.0, "ns per ops": 235.0, "Ops per threads": 12775930.0, "Ops per procs": 63879654.0, "Ops/sec/procs": 2129321.0, "ns per ops/procs": 470.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2732493019.0, "Total blocks": 2732493019.0, "Ops per second": 91075347.29, "ns per ops": 10.98, "Ops per threads": 22770775.0, "Ops per procs": 113853875.0, "Ops/sec/procs": 3794806.14, "ns per ops/procs": 263.52}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30028.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4623488360.0, "Ops per second": 153969207.9, "ns per ops": 6.49, "Ops per threads": 4816133.0, "Ops per procs": 24080668.0, "Ops/sec/procs": 801922.96, "ns per ops/procs": 1247.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30049.073929, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1121485363.0, "Total blocks": 1121473210.0, "Ops per second": 37321794.53, "ns per ops": 26.79, "Ops per threads": 4672855.0, "Ops per procs": 23364278.0, "Ops/sec/procs": 777537.39, "ns per ops/procs": 1286.11}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1501210099.0, "Ops per second": 50032742.67, "ns per ops": 19.99, "Ops per threads": 12510084.0, "Ops per procs": 62550420.0, "Ops/sec/procs": 2084697.61, "ns per ops/procs": 479.69}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 278276750.0, "Ops per second": 9275436.22, "ns per ops": 107.81, "Ops per threads": 13913837.0, "Ops per procs": 69569187.0, "Ops/sec/procs": 2318859.06, "ns per ops/procs": 431.25}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 795013661.0, "Ops per second": 26500455.0, "ns per ops": 37.0, "Ops per threads": 6625113.0, "Ops per procs": 33125569.0, "Ops/sec/procs": 1104185.0, "ns per ops/procs": 908.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30008.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15502062283.0, "Total blocks": 15502062283.0, "Ops per second": 516588776.76, "ns per ops": 1.94, "Ops per threads": 16147981.0, "Ops per procs": 80739907.0, "Ops/sec/procs": 2690566.55, "ns per ops/procs": 371.67}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 183053824.0, "Ops per second": 6101512.2, "ns per ops": 163.89, "Ops per threads": 18305382.0, "Ops per procs": 91526912.0, "Ops/sec/procs": 3050756.1, "ns per ops/procs": 327.79}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 514583288.0, "Total blocks": 514583288.0, "Ops per second": 17138953.08, "ns per ops": 58.35, "Ops per threads": 25729164.0, "Ops per procs": 128645822.0, "Ops/sec/procs": 4284738.27, "ns per ops/procs": 233.39}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1905634437.0, "Ops per second": 63521147.0, "ns per ops": 15.0, "Ops per threads": 2646714.0, "Ops per procs": 13233572.0, "Ops/sec/procs": 441119.0, "ns per ops/procs": 2267.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30019.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7049659028.0, "Total blocks": 7049659028.0, "Ops per second": 234836825.18, "ns per ops": 4.26, "Ops per threads": 19582386.0, "Ops per procs": 97911930.0, "Ops/sec/procs": 3261622.57, "ns per ops/procs": 306.6}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.100693, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 386636306.0, "Total blocks": 386635717.0, "Ops per second": 12861681.61, "ns per ops": 77.75, "Ops per threads": 9665907.0, "Ops per procs": 48329538.0, "Ops/sec/procs": 1607710.2, "ns per ops/procs": 622.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1158996003.0, "Ops per second": 38633200.0, "ns per ops": 25.0, "Ops per threads": 4829150.0, "Ops per procs": 24145750.0, "Ops/sec/procs": 804858.0, "ns per ops/procs": 1246.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1148771218.0, "Ops per second": 38292373.0, "ns per ops": 26.0, "Ops per threads": 4786546.0, "Ops per procs": 23932733.0, "Ops/sec/procs": 797757.0, "ns per ops/procs": 1257.0}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 169892687.0, "Ops per second": 5662857.55, "ns per ops": 176.59, "Ops per threads": 33978537.0, "Ops per procs": 169892687.0, "Ops/sec/procs": 5662857.55, "ns per ops/procs": 176.59}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 787776143.0, "Ops per second": 26259204.0, "ns per ops": 38.0, "Ops per threads": 6564801.0, "Ops per procs": 32824005.0, "Ops/sec/procs": 1094133.0, "ns per ops/procs": 916.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3903574623.0, "Total blocks": 3903574623.0, "Ops per second": 130099982.54, "ns per ops": 7.69, "Ops per threads": 16264894.0, "Ops per procs": 81324471.0, "Ops/sec/procs": 2710416.3, "ns per ops/procs": 368.95}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30021.934755, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1603747977.0, "Total blocks": 1603634634.0, "Ops per second": 53419207.99, "ns per ops": 18.72, "Ops per threads": 2227427.0, "Ops per procs": 11137138.0, "Ops/sec/procs": 370966.72, "ns per ops/procs": 2695.66}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163499884.0, "Ops per second": 5449996.0, "ns per ops": 184.0, "Ops per threads": 32699976.0, "Ops per procs": 163499884.0, "Ops/sec/procs": 5449996.0, "ns per ops/procs": 184.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30005.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2250992595.0, "Ops per second": 75020251.72, "ns per ops": 13.33, "Ops per threads": 6252757.0, "Ops per procs": 31263786.0, "Ops/sec/procs": 1041947.94, "ns per ops/procs": 959.74}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30098.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 686642845.0, "Ops per second": 22888094.0, "ns per ops": 43.0, "Ops per threads": 5722023.0, "Ops per procs": 28610118.0, "Ops/sec/procs": 953670.0, "ns per ops/procs": 1052.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 890515168.0, "Total blocks": 890515168.0, "Ops per second": 29661193.9, "ns per ops": 33.71, "Ops per threads": 22262879.0, "Ops per procs": 111314396.0, "Ops/sec/procs": 3707649.24, "ns per ops/procs": 269.71}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2073140257.0, "Ops per second": 69080996.99, "ns per ops": 14.48, "Ops per threads": 8638084.0, "Ops per procs": 43190422.0, "Ops/sec/procs": 1439187.44, "ns per ops/procs": 694.84}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2089456957.0, "Ops per second": 69624204.29, "ns per ops": 14.36, "Ops per threads": 8706070.0, "Ops per procs": 43530353.0, "Ops/sec/procs": 1450504.26, "ns per ops/procs": 689.42}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30000.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1750000497.0, "Ops per second": 58333349.0, "ns per ops": 17.0, "Ops per threads": 2430556.0, "Ops per procs": 12152781.0, "Ops/sec/procs": 405092.0, "ns per ops/procs": 2468.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 750273349.0, "Total blocks": 750273349.0, "Ops per second": 24989103.18, "ns per ops": 40.02, "Ops per threads": 37513667.0, "Ops per procs": 187568337.0, "Ops/sec/procs": 6247275.79, "ns per ops/procs": 160.07}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 270204730.0, "Ops per second": 9006377.22, "ns per ops": 111.03, "Ops per threads": 13510236.0, "Ops per procs": 67551182.0, "Ops/sec/procs": 2251594.31, "ns per ops/procs": 444.13}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2728032638.0, "Ops per second": 90934421.0, "ns per ops": 11.0, "Ops per threads": 2841700.0, "Ops per procs": 14208503.0, "Ops/sec/procs": 473616.0, "ns per ops/procs": 2118.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30077.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 144157053.0, "Ops per second": 4805235.0, "ns per ops": 208.0, "Ops per threads": 7207852.0, "Ops per procs": 36039263.0, "Ops/sec/procs": 1201308.0, "ns per ops/procs": 834.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3953790490.0, "Total blocks": 3953790490.0, "Ops per second": 131781904.73, "ns per ops": 7.59, "Ops per threads": 32948254.0, "Ops per procs": 164741270.0, "Ops/sec/procs": 5490912.7, "ns per ops/procs": 182.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30084.324861, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1003004334.0, "Total blocks": 1002972244.0, "Ops per second": 33339765.43, "ns per ops": 29.99, "Ops per threads": 2786123.0, "Ops per procs": 13930615.0, "Ops/sec/procs": 463052.3, "ns per ops/procs": 2159.58}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30004.907868, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1013328956.0, "Total blocks": 1013308492.0, "Ops per second": 33772106.9, "ns per ops": 29.61, "Ops per threads": 2814802.0, "Ops per procs": 14074013.0, "Ops/sec/procs": 469057.04, "ns per ops/procs": 2131.94}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2046895560.0, "Ops per second": 68205437.11, "ns per ops": 14.66, "Ops per threads": 8528731.0, "Ops per procs": 42643657.0, "Ops/sec/procs": 1420946.61, "ns per ops/procs": 703.76}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30091.981228, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1974866945.0, "Total blocks": 1974632656.0, "Ops per second": 65627681.01, "ns per ops": 15.24, "Ops per threads": 2057153.0, "Ops per procs": 10285765.0, "Ops/sec/procs": 341810.84, "ns per ops/procs": 2925.59}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.090866, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 207895062.0, "Total blocks": 207894949.0, "Ops per second": 6918053.75, "ns per ops": 144.55, "Ops per threads": 20789506.0, "Ops per procs": 103947531.0, "Ops/sec/procs": 3459026.88, "ns per ops/procs": 289.1}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30000.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 485991524.0, "Ops per second": 16199717.0, "ns per ops": 61.0, "Ops per threads": 6074894.0, "Ops per procs": 30374470.0, "Ops/sec/procs": 1012482.0, "ns per ops/procs": 987.0}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30044.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4721729526.0, "Ops per second": 157156328.95, "ns per ops": 6.36, "Ops per threads": 4918468.0, "Ops per procs": 24592341.0, "Ops/sec/procs": 818522.55, "ns per ops/procs": 1221.71}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30016.158635, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1051428615.0, "Total blocks": 1051397340.0, "Ops per second": 35028753.27, "ns per ops": 28.55, "Ops per threads": 2920635.0, "Ops per procs": 14603175.0, "Ops/sec/procs": 486510.46, "ns per ops/procs": 2055.45}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30002.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1382180172.0, "Ops per second": 46072672.0, "ns per ops": 21.0, "Ops per threads": 1919694.0, "Ops per procs": 9598473.0, "Ops/sec/procs": 319949.0, "ns per ops/procs": 3125.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30016.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7050525714.0, "Total blocks": 7050525714.0, "Ops per second": 234886992.04, "ns per ops": 4.26, "Ops per threads": 19584793.0, "Ops per procs": 97923968.0, "Ops/sec/procs": 3262319.33, "ns per ops/procs": 306.53}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30101.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 450176878.0, "Ops per second": 15005895.0, "ns per ops": 66.0, "Ops per threads": 5627210.0, "Ops per procs": 28136054.0, "Ops/sec/procs": 937868.0, "ns per ops/procs": 1069.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30052.903737, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1142046216.0, "Total blocks": 1142033868.0, "Ops per second": 38001193.69, "ns per ops": 26.31, "Ops per threads": 4758525.0, "Ops per procs": 23792629.0, "Ops/sec/procs": 791691.54, "ns per ops/procs": 1263.12}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 191531071.0, "Ops per second": 6384077.73, "ns per ops": 156.64, "Ops per threads": 19153107.0, "Ops per procs": 95765535.0, "Ops/sec/procs": 3192038.87, "ns per ops/procs": 313.28}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2105355501.0, "Ops per second": 70154497.65, "ns per ops": 14.25, "Ops per threads": 8772314.0, "Ops per procs": 43861572.0, "Ops/sec/procs": 1461552.03, "ns per ops/procs": 684.2}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30048.752476, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 202022803.0, "Total blocks": 202022800.0, "Ops per second": 6723167.73, "ns per ops": 148.74, "Ops per threads": 40404560.0, "Ops per procs": 202022803.0, "Ops/sec/procs": 6723167.73, "ns per ops/procs": 148.74}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30016.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2763633161.0, "Ops per second": 92121105.0, "ns per ops": 10.0, "Ops per threads": 2878784.0, "Ops per procs": 14393922.0, "Ops/sec/procs": 479797.0, "ns per ops/procs": 2085.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7783965572.0, "Total blocks": 7783965572.0, "Ops per second": 259426761.95, "ns per ops": 3.85, "Ops per threads": 16216594.0, "Ops per procs": 81082974.0, "Ops/sec/procs": 2702362.1, "ns per ops/procs": 370.05}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1516460185.0, "Ops per second": 50545556.95, "ns per ops": 19.78, "Ops per threads": 12637168.0, "Ops per procs": 63185841.0, "Ops/sec/procs": 2106064.87, "ns per ops/procs": 474.82}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 516993058.0, "Total blocks": 516993058.0, "Ops per second": 17219287.78, "ns per ops": 58.07, "Ops per threads": 25849652.0, "Ops per procs": 129248264.0, "Ops/sec/procs": 4304821.94, "ns per ops/procs": 232.3}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163986792.0, "Ops per second": 5466226.0, "ns per ops": 183.0, "Ops per threads": 32797358.0, "Ops per procs": 163986792.0, "Ops/sec/procs": 5466226.0, "ns per ops/procs": 183.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 498139849.0, "Ops per second": 16603815.8, "ns per ops": 60.23, "Ops per threads": 12453496.0, "Ops per procs": 62267481.0, "Ops/sec/procs": 2075476.97, "ns per ops/procs": 481.82}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30006.707971, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1985944653.0, "Total blocks": 1985704021.0, "Ops per second": 66183356.57, "ns per ops": 15.11, "Ops per threads": 2068692.0, "Ops per procs": 10343461.0, "Ops/sec/procs": 344704.98, "ns per ops/procs": 2901.03}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2929429718.0, "Total blocks": 2929429718.0, "Ops per second": 97560885.15, "ns per ops": 10.25, "Ops per threads": 36617871.0, "Ops per procs": 183089357.0, "Ops/sec/procs": 6097555.32, "ns per ops/procs": 164.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30049.786723, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1134025534.0, "Total blocks": 1134012831.0, "Ops per second": 37738222.39, "ns per ops": 26.5, "Ops per threads": 4725106.0, "Ops per procs": 23625531.0, "Ops/sec/procs": 786212.97, "ns per ops/procs": 1271.92}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30094.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4505077893.0, "Ops per second": 149699117.58, "ns per ops": 6.68, "Ops per threads": 4692789.0, "Ops per procs": 23463947.0, "Ops/sec/procs": 779682.9, "ns per ops/procs": 1282.57}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30061.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 125343625.0, "Ops per second": 4178120.0, "ns per ops": 239.0, "Ops per threads": 12534362.0, "Ops per procs": 62671812.0, "Ops/sec/procs": 2089060.0, "ns per ops/procs": 479.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 311846606.0, "Total blocks": 311846596.0, "Ops per second": 10386741.86, "ns per ops": 96.28, "Ops per threads": 31184660.0, "Ops per procs": 155923303.0, "Ops/sec/procs": 5193370.93, "ns per ops/procs": 192.55}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30077.392517, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 619683282.0, "Total blocks": 619681377.0, "Ops per second": 20602958.91, "ns per ops": 48.54, "Ops per threads": 7746041.0, "Ops per procs": 38730205.0, "Ops/sec/procs": 1287684.93, "ns per ops/procs": 776.59}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 882139501.0, "Total blocks": 882139501.0, "Ops per second": 29382408.66, "ns per ops": 34.03, "Ops per threads": 22053487.0, "Ops per procs": 110267437.0, "Ops/sec/procs": 3672801.08, "ns per ops/procs": 272.27}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30076.538682, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 619673216.0, "Total blocks": 619671359.0, "Ops per second": 20603209.12, "ns per ops": 48.54, "Ops per threads": 7745915.0, "Ops per procs": 38729576.0, "Ops/sec/procs": 1287700.57, "ns per ops/procs": 776.58}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30100.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 491497581.0, "Ops per second": 16383252.0, "ns per ops": 61.0, "Ops per threads": 6143719.0, "Ops per procs": 30718598.0, "Ops/sec/procs": 1023953.0, "ns per ops/procs": 979.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30058.605664, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1333451788.0, "Total blocks": 1333399407.0, "Ops per second": 44361731.31, "ns per ops": 22.54, "Ops per threads": 2778024.0, "Ops per procs": 13890122.0, "Ops/sec/procs": 462101.37, "ns per ops/procs": 2164.03}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1091350109.0, "Ops per second": 36378336.0, "ns per ops": 27.0, "Ops per threads": 3031528.0, "Ops per procs": 15157640.0, "Ops/sec/procs": 505254.0, "ns per ops/procs": 1985.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30085.356174, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1138507616.0, "Total blocks": 1138494923.0, "Ops per second": 37842583.93, "ns per ops": 26.43, "Ops per threads": 4743781.0, "Ops per procs": 23718908.0, "Ops/sec/procs": 788387.17, "ns per ops/procs": 1268.41}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30001.620065, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 955104422.0, "Total blocks": 955084319.0, "Ops per second": 31835094.9, "ns per ops": 31.41, "Ops per threads": 2653067.0, "Ops per procs": 13265339.0, "Ops/sec/procs": 442154.1, "ns per ops/procs": 2261.65}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 492944664.0, "Ops per second": 16430674.19, "ns per ops": 60.86, "Ops per threads": 12323616.0, "Ops per procs": 61618083.0, "Ops/sec/procs": 2053834.27, "ns per ops/procs": 486.89}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4125421227.0, "Total blocks": 4125421227.0, "Ops per second": 137494445.32, "ns per ops": 7.27, "Ops per threads": 17189255.0, "Ops per procs": 85946275.0, "Ops/sec/procs": 2864467.61, "ns per ops/procs": 349.11}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2364501466.0, "Ops per second": 78816715.0, "ns per ops": 12.0, "Ops per threads": 4926044.0, "Ops per procs": 24630223.0, "Ops/sec/procs": 821007.0, "ns per ops/procs": 1221.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30064.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 124044845.0, "Ops per second": 4134828.0, "ns per ops": 242.0, "Ops per threads": 12404484.0, "Ops per procs": 62022422.0, "Ops/sec/procs": 2067414.0, "ns per ops/procs": 484.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2569472809.0, "Ops per second": 85649093.0, "ns per ops": 11.0, "Ops per threads": 2676534.0, "Ops per procs": 13382670.0, "Ops/sec/procs": 446089.0, "ns per ops/procs": 2249.0}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2104703757.0, "Ops per second": 70131970.9, "ns per ops": 14.26, "Ops per threads": 8769598.0, "Ops per procs": 43847994.0, "Ops/sec/procs": 1461082.73, "ns per ops/procs": 684.42}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30016.688249, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1042306555.0, "Total blocks": 1042289476.0, "Ops per second": 34724235.61, "ns per ops": 28.8, "Ops per threads": 2895295.0, "Ops per procs": 14476479.0, "Ops/sec/procs": 482281.05, "ns per ops/procs": 2073.48}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30078.460219, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 615110502.0, "Total blocks": 615108683.0, "Ops per second": 20450199.16, "ns per ops": 48.9, "Ops per threads": 7688881.0, "Ops per procs": 38444406.0, "Ops/sec/procs": 1278137.45, "ns per ops/procs": 782.39}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 504512966.0, "Ops per second": 16816242.41, "ns per ops": 59.47, "Ops per threads": 12612824.0, "Ops per procs": 63064120.0, "Ops/sec/procs": 2102030.3, "ns per ops/procs": 475.73}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30071.611483, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1615701248.0, "Total blocks": 1615581105.0, "Ops per second": 53728455.79, "ns per ops": 18.61, "Ops per threads": 2244029.0, "Ops per procs": 11220147.0, "Ops/sec/procs": 373114.28, "ns per ops/procs": 2680.14}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30002.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8679931297.0, "Total blocks": 8679931297.0, "Ops per second": 289304199.96, "ns per ops": 3.46, "Ops per threads": 24110920.0, "Ops per procs": 120554601.0, "Ops/sec/procs": 4018113.89, "ns per ops/procs": 248.87}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170339074.0, "Ops per second": 5677731.17, "ns per ops": 176.13, "Ops per threads": 34067814.0, "Ops per procs": 170339074.0, "Ops/sec/procs": 5677731.17, "ns per ops/procs": 176.13}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9494126908.0, "Total blocks": 9494126908.0, "Ops per second": 316414414.8, "ns per ops": 3.16, "Ops per threads": 13186287.0, "Ops per procs": 65931436.0, "Ops/sec/procs": 2197322.32, "ns per ops/procs": 455.1}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 903354184.0, "Ops per second": 30110130.95, "ns per ops": 33.21, "Ops per threads": 11291927.0, "Ops per procs": 56459636.0, "Ops/sec/procs": 1881883.18, "ns per ops/procs": 531.38}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219416156.0, "Total blocks": 219416151.0, "Ops per second": 7308475.86, "ns per ops": 136.83, "Ops per threads": 43883231.0, "Ops per procs": 219416156.0, "Ops/sec/procs": 7308475.86, "ns per ops/procs": 136.83}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1240877300.0, "Ops per second": 41362576.0, "ns per ops": 24.0, "Ops per threads": 3446881.0, "Ops per procs": 17234406.0, "Ops/sec/procs": 574480.0, "ns per ops/procs": 1746.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2341963007.0, "Ops per second": 78056615.73, "ns per ops": 12.81, "Ops per threads": 6505452.0, "Ops per procs": 32527263.0, "Ops/sec/procs": 1084119.66, "ns per ops/procs": 922.41}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163618536.0, "Ops per second": 5453951.0, "ns per ops": 183.0, "Ops per threads": 32723707.0, "Ops per procs": 163618536.0, "Ops/sec/procs": 5453951.0, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30061.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 156694405.0, "Ops per second": 5223146.0, "ns per ops": 191.0, "Ops per threads": 7834720.0, "Ops per procs": 39173601.0, "Ops/sec/procs": 1305786.0, "ns per ops/procs": 767.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1886776952.0, "Total blocks": 1886776952.0, "Ops per second": 62836526.32, "ns per ops": 15.91, "Ops per threads": 23584711.0, "Ops per procs": 117923559.0, "Ops/sec/procs": 3927282.9, "ns per ops/procs": 254.63}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30052.626795, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 207641807.0, "Total blocks": 207641692.0, "Ops per second": 6909273.14, "ns per ops": 144.73, "Ops per threads": 20764180.0, "Ops per procs": 103820903.0, "Ops/sec/procs": 3454636.57, "ns per ops/procs": 289.47}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30023.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3192006383.0, "Ops per second": 106317786.56, "ns per ops": 9.41, "Ops per threads": 4433342.0, "Ops per procs": 22166710.0, "Ops/sec/procs": 738317.96, "ns per ops/procs": 1354.43}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30009.77936, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1021632522.0, "Total blocks": 1021602347.0, "Ops per second": 34043320.0, "ns per ops": 29.37, "Ops per threads": 2837868.0, "Ops per procs": 14189340.0, "Ops/sec/procs": 472823.89, "ns per ops/procs": 2114.95}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30003.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2851138545.0, "Total blocks": 2851138545.0, "Ops per second": 95027595.31, "ns per ops": 10.52, "Ops per threads": 23759487.0, "Ops per procs": 118797439.0, "Ops/sec/procs": 3959483.14, "ns per ops/procs": 252.56}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1184525496.0, "Ops per second": 39484183.0, "ns per ops": 25.0, "Ops per threads": 4935522.0, "Ops per procs": 24677614.0, "Ops/sec/procs": 822587.0, "ns per ops/procs": 1219.0}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 174801973.0, "Ops per second": 5826457.79, "ns per ops": 171.63, "Ops per threads": 17480197.0, "Ops per procs": 87400986.0, "Ops/sec/procs": 2913228.9, "ns per ops/procs": 343.26}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30010.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2215906506.0, "Ops per second": 73836983.78, "ns per ops": 13.54, "Ops per threads": 4616471.0, "Ops per procs": 23082359.0, "Ops/sec/procs": 769135.25, "ns per ops/procs": 1300.16}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163634923.0, "Ops per second": 5454497.0, "ns per ops": 183.0, "Ops per threads": 32726984.0, "Ops per procs": 163634923.0, "Ops/sec/procs": 5454497.0, "ns per ops/procs": 183.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30084.89357, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1286445971.0, "Total blocks": 1286393062.0, "Ops per second": 42760529.23, "ns per ops": 23.39, "Ops per threads": 2680095.0, "Ops per procs": 13400478.0, "Ops/sec/procs": 445422.18, "ns per ops/procs": 2245.06}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 227086589.0, "Ops per second": 7569552.0, "ns per ops": 132.0, "Ops per threads": 5677164.0, "Ops per procs": 28385823.0, "Ops/sec/procs": 946194.0, "ns per ops/procs": 1057.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 484159721.0, "Ops per second": 16137861.21, "ns per ops": 61.97, "Ops per threads": 12103993.0, "Ops per procs": 60519965.0, "Ops/sec/procs": 2017232.65, "ns per ops/procs": 495.73}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2095980199.0, "Ops per second": 69842294.86, "ns per ops": 14.32, "Ops per threads": 8733250.0, "Ops per procs": 43666254.0, "Ops/sec/procs": 1455047.81, "ns per ops/procs": 687.26}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.381161, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 196494478.0, "Total blocks": 196494358.0, "Ops per second": 6538617.21, "ns per ops": 152.94, "Ops per threads": 19649447.0, "Ops per procs": 98247239.0, "Ops/sec/procs": 3269308.6, "ns per ops/procs": 305.88}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30004.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15153291514.0, "Total blocks": 15153291514.0, "Ops per second": 505026939.65, "ns per ops": 1.98, "Ops per threads": 15784678.0, "Ops per procs": 78923393.0, "Ops/sec/procs": 2630348.64, "ns per ops/procs": 380.18}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30004.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2722454869.0, "Total blocks": 2722454869.0, "Ops per second": 90734647.35, "ns per ops": 11.02, "Ops per threads": 22687123.0, "Ops per procs": 113435619.0, "Ops/sec/procs": 3780610.31, "ns per ops/procs": 264.51}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 897147322.0, "Ops per second": 29903287.16, "ns per ops": 33.44, "Ops per threads": 11214341.0, "Ops per procs": 56071707.0, "Ops/sec/procs": 1868955.45, "ns per ops/procs": 535.06}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 272854880.0, "Ops per second": 9094688.32, "ns per ops": 109.95, "Ops per threads": 13642744.0, "Ops per procs": 68213720.0, "Ops/sec/procs": 2273672.08, "ns per ops/procs": 439.82}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1028333242.0, "Total blocks": 1028333242.0, "Ops per second": 34251939.83, "ns per ops": 29.2, "Ops per threads": 25708331.0, "Ops per procs": 128541655.0, "Ops/sec/procs": 4281492.48, "ns per ops/procs": 233.56}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.577562, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 200561678.0, "Total blocks": 200561674.0, "Ops per second": 6674137.21, "ns per ops": 149.83, "Ops per threads": 40112335.0, "Ops per procs": 200561678.0, "Ops/sec/procs": 6674137.21, "ns per ops/procs": 149.83}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 320157293.0, "Total blocks": 320157283.0, "Ops per second": 10663572.36, "ns per ops": 93.78, "Ops per threads": 32015729.0, "Ops per procs": 160078646.0, "Ops/sec/procs": 5331786.18, "ns per ops/procs": 187.55}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30049.337186, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1287047838.0, "Total blocks": 1287003187.0, "Ops per second": 42831155.64, "ns per ops": 23.35, "Ops per threads": 2681349.0, "Ops per procs": 13406748.0, "Ops/sec/procs": 446157.87, "ns per ops/procs": 2241.36}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30039.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8689520917.0, "Total blocks": 8689520917.0, "Ops per second": 289269975.95, "ns per ops": 3.46, "Ops per threads": 24137558.0, "Ops per procs": 120687790.0, "Ops/sec/procs": 4017638.55, "ns per ops/procs": 248.9}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30099.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1637878133.0, "Ops per second": 54595937.0, "ns per ops": 18.0, "Ops per threads": 3412246.0, "Ops per procs": 17061230.0, "Ops/sec/procs": 568707.0, "ns per ops/procs": 1764.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30059.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 157245634.0, "Ops per second": 5241521.0, "ns per ops": 191.0, "Ops per threads": 7862281.0, "Ops per procs": 39311408.0, "Ops/sec/procs": 1310380.0, "ns per ops/procs": 764.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 866951956.0, "Ops per second": 28896836.72, "ns per ops": 34.61, "Ops per threads": 10836899.0, "Ops per procs": 54184497.0, "Ops/sec/procs": 1806052.29, "ns per ops/procs": 553.69}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170399943.0, "Ops per second": 5679764.76, "ns per ops": 176.06, "Ops per threads": 34079988.0, "Ops per procs": 170399943.0, "Ops/sec/procs": 5679764.76, "ns per ops/procs": 176.06}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 503737240.0, "Ops per second": 16790371.86, "ns per ops": 59.56, "Ops per threads": 12593431.0, "Ops per procs": 62967155.0, "Ops/sec/procs": 2098796.48, "ns per ops/procs": 476.46}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30076.899969, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 609799779.0, "Total blocks": 609797914.0, "Ops per second": 20274688.54, "ns per ops": 49.32, "Ops per threads": 7622497.0, "Ops per procs": 38112486.0, "Ops/sec/procs": 1267168.03, "ns per ops/procs": 789.16}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1516740387.0, "Ops per second": 50558012.0, "ns per ops": 19.0, "Ops per threads": 3159875.0, "Ops per procs": 15799379.0, "Ops/sec/procs": 526645.0, "ns per ops/procs": 1904.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1048720004.0, "Ops per second": 34957333.0, "ns per ops": 28.0, "Ops per threads": 4369666.0, "Ops per procs": 21848333.0, "Ops/sec/procs": 728277.0, "ns per ops/procs": 1377.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1874637547.0, "Total blocks": 1874637547.0, "Ops per second": 62432246.83, "ns per ops": 16.02, "Ops per threads": 23432969.0, "Ops per procs": 117164846.0, "Ops/sec/procs": 3902015.43, "ns per ops/procs": 256.28}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2769618118.0, "Total blocks": 2769618118.0, "Ops per second": 92312732.9, "ns per ops": 10.83, "Ops per threads": 23080150.0, "Ops per procs": 115400754.0, "Ops/sec/procs": 3846363.87, "ns per ops/procs": 259.99}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30073.10486, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1668563995.0, "Total blocks": 1668444624.0, "Ops per second": 55483595.82, "ns per ops": 18.02, "Ops per threads": 2317449.0, "Ops per procs": 11587249.0, "Ops/sec/procs": 385302.75, "ns per ops/procs": 2595.36}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.011582, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 199723875.0, "Total blocks": 199723870.0, "Ops per second": 6646382.63, "ns per ops": 150.46, "Ops per threads": 39944775.0, "Ops per procs": 199723875.0, "Ops/sec/procs": 6646382.63, "ns per ops/procs": 150.46}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30085.282005, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1309236744.0, "Total blocks": 1309181028.0, "Ops per second": 43517516.1, "ns per ops": 22.98, "Ops per threads": 2727576.0, "Ops per procs": 13637882.0, "Ops/sec/procs": 453307.46, "ns per ops/procs": 2206.01}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7278605223.0, "Total blocks": 7278605222.0, "Ops per second": 242582812.85, "ns per ops": 4.12, "Ops per threads": 15163760.0, "Ops per procs": 75818804.0, "Ops/sec/procs": 2526904.3, "ns per ops/procs": 395.74}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30055.48068, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 261743223.0, "Total blocks": 261742828.0, "Ops per second": 8708668.67, "ns per ops": 114.83, "Ops per threads": 13087161.0, "Ops per procs": 65435805.0, "Ops/sec/procs": 2177167.17, "ns per ops/procs": 459.31}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30042.947765, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1957232019.0, "Total blocks": 1957044897.0, "Ops per second": 65147802.22, "ns per ops": 15.35, "Ops per threads": 2038783.0, "Ops per procs": 10193916.0, "Ops/sec/procs": 339311.47, "ns per ops/procs": 2947.14}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30051.846789, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 199788730.0, "Total blocks": 199788726.0, "Ops per second": 6648134.85, "ns per ops": 150.42, "Ops per threads": 39957746.0, "Ops per procs": 199788730.0, "Ops/sec/procs": 6648134.85, "ns per ops/procs": 150.42}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30065.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 124102496.0, "Ops per second": 4136749.0, "ns per ops": 242.0, "Ops per threads": 12410249.0, "Ops per procs": 62051248.0, "Ops/sec/procs": 2068374.0, "ns per ops/procs": 484.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30019.983151, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 696903407.0, "Total blocks": 696900032.0, "Ops per second": 23214650.17, "ns per ops": 43.08, "Ops per threads": 5807528.0, "Ops per procs": 29037641.0, "Ops/sec/procs": 967277.09, "ns per ops/procs": 1033.83}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.525481, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 391674308.0, "Total blocks": 391673635.0, "Ops per second": 13029089.57, "ns per ops": 76.75, "Ops per threads": 9791857.0, "Ops per procs": 48959288.0, "Ops/sec/procs": 1628636.2, "ns per ops/procs": 614.01}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30020.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1218824720.0, "Ops per second": 40627490.0, "ns per ops": 24.0, "Ops per threads": 1692812.0, "Ops per procs": 8464060.0, "Ops/sec/procs": 282135.0, "ns per ops/procs": 3546.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30015.080151, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1005825478.0, "Total blocks": 1005797742.0, "Ops per second": 33510671.07, "ns per ops": 29.84, "Ops per threads": 2793959.0, "Ops per procs": 13969798.0, "Ops/sec/procs": 465425.99, "ns per ops/procs": 2148.57}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 484290776.0, "Ops per second": 16142217.04, "ns per ops": 61.95, "Ops per threads": 12107269.0, "Ops per procs": 60536347.0, "Ops/sec/procs": 2017777.13, "ns per ops/procs": 495.59}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 437970265.0, "Total blocks": 437970260.0, "Ops per second": 14587558.77, "ns per ops": 68.55, "Ops per threads": 43797026.0, "Ops per procs": 218985132.0, "Ops/sec/procs": 7293779.38, "ns per ops/procs": 137.1}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30006.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8812602926.0, "Total blocks": 8812602925.0, "Ops per second": 293686822.03, "ns per ops": 3.4, "Ops per threads": 12239726.0, "Ops per procs": 61198631.0, "Ops/sec/procs": 2039491.82, "ns per ops/procs": 490.32}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30001.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4678325771.0, "Ops per second": 155934874.72, "ns per ops": 6.41, "Ops per threads": 4873256.0, "Ops per procs": 24366280.0, "Ops/sec/procs": 812160.81, "ns per ops/procs": 1231.28}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30030.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 229998557.0, "Ops per second": 7666618.0, "ns per ops": 130.0, "Ops per threads": 5749963.0, "Ops per procs": 28749819.0, "Ops/sec/procs": 958327.0, "ns per ops/procs": 1044.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219430025.0, "Total blocks": 219430020.0, "Ops per second": 7308940.2, "ns per ops": 136.82, "Ops per threads": 43886005.0, "Ops per procs": 219430025.0, "Ops/sec/procs": 7308940.2, "ns per ops/procs": 136.82}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 181249878.0, "Ops per second": 6041384.35, "ns per ops": 165.52, "Ops per threads": 18124987.0, "Ops per procs": 90624939.0, "Ops/sec/procs": 3020692.17, "ns per ops/procs": 331.05}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30039.23706, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1288371219.0, "Total blocks": 1288322203.0, "Ops per second": 42889611.89, "ns per ops": 23.32, "Ops per threads": 2684106.0, "Ops per procs": 13420533.0, "Ops/sec/procs": 446766.79, "ns per ops/procs": 2238.3}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 694249921.0, "Ops per second": 23141664.0, "ns per ops": 43.0, "Ops per threads": 5785416.0, "Ops per procs": 28927080.0, "Ops/sec/procs": 964236.0, "ns per ops/procs": 1040.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30072.857744, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1074127037.0, "Total blocks": 1074101741.0, "Ops per second": 35717491.37, "ns per ops": 28.0, "Ops per threads": 2983686.0, "Ops per procs": 14918431.0, "Ops/sec/procs": 496076.27, "ns per ops/procs": 2015.82}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 897242190.0, "Total blocks": 897242190.0, "Ops per second": 29885164.36, "ns per ops": 33.46, "Ops per threads": 22431054.0, "Ops per procs": 112155273.0, "Ops/sec/procs": 3735645.54, "ns per ops/procs": 267.69}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30055.556765, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 262732416.0, "Total blocks": 262732011.0, "Ops per second": 8741558.78, "ns per ops": 114.4, "Ops per threads": 13136620.0, "Ops per procs": 65683104.0, "Ops/sec/procs": 2185389.69, "ns per ops/procs": 457.58}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163762028.0, "Ops per second": 5458734.0, "ns per ops": 183.0, "Ops per threads": 32752405.0, "Ops per procs": 163762028.0, "Ops/sec/procs": 5458734.0, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1161840704.0, "Ops per second": 38728023.0, "ns per ops": 25.0, "Ops per threads": 4841002.0, "Ops per procs": 24205014.0, "Ops/sec/procs": 806833.0, "ns per ops/procs": 1243.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1187236719.0, "Ops per second": 39574557.0, "ns per ops": 25.0, "Ops per threads": 3297879.0, "Ops per procs": 16489398.0, "Ops/sec/procs": 549646.0, "ns per ops/procs": 1825.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30026.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 314925634.0, "Total blocks": 314925629.0, "Ops per second": 10488362.89, "ns per ops": 95.34, "Ops per threads": 31492563.0, "Ops per procs": 157462817.0, "Ops/sec/procs": 5244181.44, "ns per ops/procs": 190.69}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1269270520.0, "Ops per second": 42309017.0, "ns per ops": 23.0, "Ops per threads": 3525751.0, "Ops per procs": 17628757.0, "Ops/sec/procs": 587625.0, "ns per ops/procs": 1707.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30010.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7930618702.0, "Total blocks": 7930618702.0, "Ops per second": 264264051.16, "ns per ops": 3.78, "Ops per threads": 16522122.0, "Ops per procs": 82610611.0, "Ops/sec/procs": 2752750.53, "ns per ops/procs": 363.27}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 961588888.0, "Total blocks": 961588888.0, "Ops per second": 32028884.59, "ns per ops": 31.22, "Ops per threads": 24039722.0, "Ops per procs": 120198611.0, "Ops/sec/procs": 4003610.57, "ns per ops/procs": 249.77}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 164073328.0, "Ops per second": 5469110.0, "ns per ops": 183.0, "Ops per threads": 32814665.0, "Ops per procs": 164073328.0, "Ops/sec/procs": 5469110.0, "ns per ops/procs": 183.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30005.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6918538200.0, "Total blocks": 6918538200.0, "Ops per second": 230573352.83, "ns per ops": 4.34, "Ops per threads": 19218161.0, "Ops per procs": 96090808.0, "Ops/sec/procs": 3202407.68, "ns per ops/procs": 312.27}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30010.200079, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1020338910.0, "Total blocks": 1020311568.0, "Ops per second": 33999737.0, "ns per ops": 29.41, "Ops per threads": 2834274.0, "Ops per procs": 14171373.0, "Ops/sec/procs": 472218.57, "ns per ops/procs": 2117.66}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170875680.0, "Ops per second": 5695616.98, "ns per ops": 175.57, "Ops per threads": 34175136.0, "Ops per procs": 170875680.0, "Ops/sec/procs": 5695616.98, "ns per ops/procs": 175.57}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170371945.0, "Ops per second": 5678829.37, "ns per ops": 176.09, "Ops per threads": 34074389.0, "Ops per procs": 170371945.0, "Ops/sec/procs": 5678829.37, "ns per ops/procs": 176.09}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8948788453.0, "Total blocks": 8948788453.0, "Ops per second": 298254598.52, "ns per ops": 3.35, "Ops per threads": 24857745.0, "Ops per procs": 124288728.0, "Ops/sec/procs": 4142424.98, "ns per ops/procs": 241.4}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3898235587.0, "Total blocks": 3898235587.0, "Ops per second": 129930241.11, "ns per ops": 7.7, "Ops per threads": 32485296.0, "Ops per procs": 162426482.0, "Ops/sec/procs": 5413760.05, "ns per ops/procs": 184.71}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.959989, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 198520646.0, "Total blocks": 198520540.0, "Ops per second": 6605913.43, "ns per ops": 151.38, "Ops per threads": 19852064.0, "Ops per procs": 99260323.0, "Ops/sec/procs": 3302956.71, "ns per ops/procs": 302.76}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.141635, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 391212651.0, "Total blocks": 391212028.0, "Ops per second": 13013898.67, "ns per ops": 76.84, "Ops per threads": 9780316.0, "Ops per procs": 48901581.0, "Ops/sec/procs": 1626737.33, "ns per ops/procs": 614.73}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219462118.0, "Total blocks": 219462113.0, "Ops per second": 7310005.41, "ns per ops": 136.8, "Ops per threads": 43892423.0, "Ops per procs": 219462118.0, "Ops/sec/procs": 7310005.41, "ns per ops/procs": 136.8}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4091075635.0, "Total blocks": 4091075635.0, "Ops per second": 136349582.25, "ns per ops": 7.33, "Ops per threads": 17046148.0, "Ops per procs": 85230742.0, "Ops/sec/procs": 2840616.3, "ns per ops/procs": 352.04}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4130565688.0, "Total blocks": 4130565688.0, "Ops per second": 137665077.46, "ns per ops": 7.26, "Ops per threads": 17210690.0, "Ops per procs": 86053451.0, "Ops/sec/procs": 2868022.45, "ns per ops/procs": 348.67}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 484843550.0, "Ops per second": 16160636.75, "ns per ops": 61.88, "Ops per threads": 12121088.0, "Ops per procs": 60605443.0, "Ops/sec/procs": 2020079.59, "ns per ops/procs": 495.03}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1057341368.0, "Ops per second": 35244712.0, "ns per ops": 28.0, "Ops per threads": 4405589.0, "Ops per procs": 22027945.0, "Ops/sec/procs": 734264.0, "ns per ops/procs": 1366.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30055.932904, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 259416488.0, "Total blocks": 259416141.0, "Ops per second": 8631124.14, "ns per ops": 115.86, "Ops per threads": 12970824.0, "Ops per procs": 64854122.0, "Ops/sec/procs": 2157781.03, "ns per ops/procs": 463.44}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 162480964.0, "Ops per second": 5415785.3, "ns per ops": 184.65, "Ops per threads": 16248096.0, "Ops per procs": 81240482.0, "Ops/sec/procs": 2707892.65, "ns per ops/procs": 369.29}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2857586854.0, "Total blocks": 2857586854.0, "Ops per second": 95243953.63, "ns per ops": 10.5, "Ops per threads": 23813223.0, "Ops per procs": 119066118.0, "Ops/sec/procs": 3968498.07, "ns per ops/procs": 251.98}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30021.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 227486564.0, "Ops per second": 7582885.0, "ns per ops": 131.0, "Ops per threads": 5687164.0, "Ops per procs": 28435820.0, "Ops/sec/procs": 947860.0, "ns per ops/procs": 1055.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30020.299113, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 711017078.0, "Total blocks": 711013311.0, "Ops per second": 23684543.43, "ns per ops": 42.22, "Ops per threads": 5925142.0, "Ops per procs": 29625711.0, "Ops/sec/procs": 986855.98, "ns per ops/procs": 1013.32}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 318525342.0, "Total blocks": 318525332.0, "Ops per second": 10609082.28, "ns per ops": 94.26, "Ops per threads": 31852534.0, "Ops per procs": 159262671.0, "Ops/sec/procs": 5304541.14, "ns per ops/procs": 188.52}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1058996282.0, "Ops per second": 35299876.0, "ns per ops": 28.0, "Ops per threads": 4412484.0, "Ops per procs": 22062422.0, "Ops/sec/procs": 735414.0, "ns per ops/procs": 1364.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30021.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2225569124.0, "Ops per second": 74133727.0, "ns per ops": 13.49, "Ops per threads": 4636602.0, "Ops per procs": 23183011.0, "Ops/sec/procs": 772226.32, "ns per ops/procs": 1294.96}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30010.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6902308353.0, "Total blocks": 6902308353.0, "Ops per second": 229996934.52, "ns per ops": 4.35, "Ops per threads": 19173078.0, "Ops per procs": 95865393.0, "Ops/sec/procs": 3194401.87, "ns per ops/procs": 313.05}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30059.807761, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 389271455.0, "Total blocks": 389270792.0, "Ops per second": 12949898.35, "ns per ops": 77.22, "Ops per threads": 9731786.0, "Ops per procs": 48658931.0, "Ops/sec/procs": 1618737.29, "ns per ops/procs": 617.77}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30011.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2290844526.0, "Ops per second": 76333243.79, "ns per ops": 13.1, "Ops per threads": 4772592.0, "Ops per procs": 23862963.0, "Ops/sec/procs": 795137.96, "ns per ops/procs": 1257.64}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 169231118.0, "Ops per second": 5640804.51, "ns per ops": 177.28, "Ops per threads": 33846223.0, "Ops per procs": 169231118.0, "Ops/sec/procs": 5640804.51, "ns per ops/procs": 177.28}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30021.17524, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1298650357.0, "Total blocks": 1298595563.0, "Ops per second": 43257812.08, "ns per ops": 23.12, "Ops per threads": 2705521.0, "Ops per procs": 13527607.0, "Ops/sec/procs": 450602.21, "ns per ops/procs": 2219.25}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30052.510549, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 259339339.0, "Total blocks": 259338987.0, "Ops per second": 8629539.9, "ns per ops": 115.88, "Ops per threads": 12966966.0, "Ops per procs": 64834834.0, "Ops/sec/procs": 2157384.98, "ns per ops/procs": 463.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.231688, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 389706412.0, "Total blocks": 389705799.0, "Ops per second": 12963753.98, "ns per ops": 77.14, "Ops per threads": 9742660.0, "Ops per procs": 48713301.0, "Ops/sec/procs": 1620469.25, "ns per ops/procs": 617.11}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1514267828.0, "Ops per second": 50472490.02, "ns per ops": 19.81, "Ops per threads": 12618898.0, "Ops per procs": 63094492.0, "Ops/sec/procs": 2103020.42, "ns per ops/procs": 475.51}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.763322, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 208893404.0, "Total blocks": 208893301.0, "Ops per second": 6951119.7, "ns per ops": 143.86, "Ops per threads": 20889340.0, "Ops per procs": 104446702.0, "Ops/sec/procs": 3475559.85, "ns per ops/procs": 287.72}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1762404242.0, "Ops per second": 58746808.0, "ns per ops": 17.0, "Ops per threads": 3671675.0, "Ops per procs": 18358377.0, "Ops/sec/procs": 611945.0, "ns per ops/procs": 1639.0}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30041.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4721073543.0, "Ops per second": 157150386.37, "ns per ops": 6.36, "Ops per threads": 4917784.0, "Ops per procs": 24588924.0, "Ops/sec/procs": 818491.6, "ns per ops/procs": 1221.76}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1863241695.0, "Total blocks": 1863241695.0, "Ops per second": 62052604.21, "ns per ops": 16.12, "Ops per threads": 23290521.0, "Ops per procs": 116452605.0, "Ops/sec/procs": 3878287.76, "ns per ops/procs": 257.85}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30030.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1455382509.0, "Ops per second": 48512750.0, "ns per ops": 20.0, "Ops per threads": 3032046.0, "Ops per procs": 15160234.0, "Ops/sec/procs": 505341.0, "ns per ops/procs": 1980.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30030.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3300598875.0, "Ops per second": 109909393.33, "ns per ops": 9.1, "Ops per threads": 4584165.0, "Ops per procs": 22920825.0, "Ops/sec/procs": 763259.68, "ns per ops/procs": 1310.17}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30068.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3439143977.0, "Ops per second": 114377437.41, "ns per ops": 8.74, "Ops per threads": 4776588.0, "Ops per procs": 23882944.0, "Ops/sec/procs": 794287.76, "ns per ops/procs": 1258.99}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30064.267084, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1956872315.0, "Total blocks": 1956671201.0, "Ops per second": 65089639.79, "ns per ops": 15.36, "Ops per threads": 2038408.0, "Ops per procs": 10192043.0, "Ops/sec/procs": 339008.54, "ns per ops/procs": 2949.78}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30021.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219165422.0, "Total blocks": 219165417.0, "Ops per second": 7300217.93, "ns per ops": 136.98, "Ops per threads": 43833084.0, "Ops per procs": 219165422.0, "Ops/sec/procs": 7300217.93, "ns per ops/procs": 136.98}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2851473001.0, "Total blocks": 2851473001.0, "Ops per second": 95040165.97, "ns per ops": 10.52, "Ops per threads": 23762275.0, "Ops per procs": 118811375.0, "Ops/sec/procs": 3960006.92, "ns per ops/procs": 252.52}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1062295270.0, "Ops per second": 35409842.0, "ns per ops": 28.0, "Ops per threads": 2950820.0, "Ops per procs": 14754100.0, "Ops/sec/procs": 491803.0, "ns per ops/procs": 2039.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.12165, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203453260.0, "Total blocks": 203453256.0, "Ops per second": 6770463.77, "ns per ops": 147.7, "Ops per threads": 40690652.0, "Ops per procs": 203453260.0, "Ops/sec/procs": 6770463.77, "ns per ops/procs": 147.7}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30008.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9105285783.0, "Total blocks": 9105285782.0, "Ops per second": 303424221.83, "ns per ops": 3.3, "Ops per threads": 12646230.0, "Ops per procs": 63231151.0, "Ops/sec/procs": 2107112.65, "ns per ops/procs": 474.58}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170298799.0, "Ops per second": 5676390.52, "ns per ops": 176.17, "Ops per threads": 34059759.0, "Ops per procs": 170298799.0, "Ops/sec/procs": 5676390.52, "ns per ops/procs": 176.17}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163851750.0, "Ops per second": 5461725.0, "ns per ops": 183.0, "Ops per threads": 32770350.0, "Ops per procs": 163851750.0, "Ops/sec/procs": 5461725.0, "ns per ops/procs": 183.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9422383139.0, "Total blocks": 9422383139.0, "Ops per second": 314030774.38, "ns per ops": 3.18, "Ops per threads": 13086643.0, "Ops per procs": 65433216.0, "Ops/sec/procs": 2180769.27, "ns per ops/procs": 458.55}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30098.972305, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1637473541.0, "Total blocks": 1637369683.0, "Ops per second": 54402971.78, "ns per ops": 18.38, "Ops per threads": 2274268.0, "Ops per procs": 11371344.0, "Ops/sec/procs": 377798.42, "ns per ops/procs": 2646.91}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.467699, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 387675449.0, "Total blocks": 387674798.0, "Ops per second": 12896091.86, "ns per ops": 77.54, "Ops per threads": 9691886.0, "Ops per procs": 48459431.0, "Ops/sec/procs": 1612011.48, "ns per ops/procs": 620.34}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10037817889.0, "Total blocks": 10037817888.0, "Ops per second": 334538378.62, "ns per ops": 2.99, "Ops per threads": 20912120.0, "Ops per procs": 104560603.0, "Ops/sec/procs": 3484774.78, "ns per ops/procs": 286.96}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30021.190418, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 702167569.0, "Total blocks": 702163349.0, "Ops per second": 23389064.83, "ns per ops": 42.76, "Ops per threads": 5851396.0, "Ops per procs": 29256982.0, "Ops/sec/procs": 974544.37, "ns per ops/procs": 1026.12}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8496788974.0, "Total blocks": 8496788974.0, "Ops per second": 283176799.4, "ns per ops": 3.53, "Ops per threads": 11801095.0, "Ops per procs": 59005478.0, "Ops/sec/procs": 1966505.55, "ns per ops/procs": 508.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30047.090768, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1134816175.0, "Total blocks": 1134804492.0, "Ops per second": 37767921.82, "ns per ops": 26.48, "Ops per threads": 4728400.0, "Ops per procs": 23642003.0, "Ops/sec/procs": 786831.7, "ns per ops/procs": 1270.92}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30049.618723, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203439243.0, "Total blocks": 203439242.0, "Ops per second": 6770110.63, "ns per ops": 147.71, "Ops per threads": 40687848.0, "Ops per procs": 203439243.0, "Ops/sec/procs": 6770110.63, "ns per ops/procs": 147.71}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1358385548.0, "Total blocks": 1358385548.0, "Ops per second": 45245332.94, "ns per ops": 22.1, "Ops per threads": 33959638.0, "Ops per procs": 169798193.0, "Ops/sec/procs": 5655666.62, "ns per ops/procs": 176.81}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30004.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15344820146.0, "Total blocks": 15344820144.0, "Ops per second": 511410097.18, "ns per ops": 1.96, "Ops per threads": 15984187.0, "Ops per procs": 79920938.0, "Ops/sec/procs": 2663594.26, "ns per ops/procs": 375.43}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219445996.0, "Total blocks": 219445991.0, "Ops per second": 7309377.53, "ns per ops": 136.81, "Ops per threads": 43889199.0, "Ops per procs": 219445996.0, "Ops/sec/procs": 7309377.53, "ns per ops/procs": 136.81}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4045772537.0, "Total blocks": 4045772537.0, "Ops per second": 134842487.28, "ns per ops": 7.42, "Ops per threads": 16857385.0, "Ops per procs": 84286927.0, "Ops/sec/procs": 2809218.48, "ns per ops/procs": 355.97}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30007.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8986109983.0, "Total blocks": 8986109980.0, "Ops per second": 299458790.31, "ns per ops": 3.34, "Ops per threads": 12480708.0, "Ops per procs": 62403541.0, "Ops/sec/procs": 2079574.93, "ns per ops/procs": 480.87}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 280593909.0, "Ops per second": 9352656.08, "ns per ops": 106.92, "Ops per threads": 14029695.0, "Ops per procs": 70148477.0, "Ops/sec/procs": 2338164.02, "ns per ops/procs": 427.69}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30065.718618, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1622847601.0, "Total blocks": 1622758577.0, "Ops per second": 53976677.61, "ns per ops": 18.53, "Ops per threads": 2253955.0, "Ops per procs": 11269775.0, "Ops/sec/procs": 374838.04, "ns per ops/procs": 2667.82}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30034.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8323411624.0, "Total blocks": 8323411615.0, "Ops per second": 277125847.28, "ns per ops": 3.61, "Ops per threads": 11560293.0, "Ops per procs": 57801469.0, "Ops/sec/procs": 1924485.05, "ns per ops/procs": 519.62}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2870175445.0, "Total blocks": 2870175445.0, "Ops per second": 95663784.36, "ns per ops": 10.45, "Ops per threads": 23918128.0, "Ops per procs": 119590643.0, "Ops/sec/procs": 3985991.02, "ns per ops/procs": 250.88}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30084.205153, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1082237469.0, "Total blocks": 1082203325.0, "Ops per second": 35973610.19, "ns per ops": 27.8, "Ops per threads": 3006215.0, "Ops per procs": 15031075.0, "Ops/sec/procs": 499633.47, "ns per ops/procs": 2001.47}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30037.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10980191432.0, "Total blocks": 10980191421.0, "Ops per second": 365545710.36, "ns per ops": 2.74, "Ops per threads": 15250265.0, "Ops per procs": 76251329.0, "Ops/sec/procs": 2538511.88, "ns per ops/procs": 393.93}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6879631835.0, "Total blocks": 6879631835.0, "Ops per second": 229291584.98, "ns per ops": 4.36, "Ops per threads": 19110088.0, "Ops per procs": 95550442.0, "Ops/sec/procs": 3184605.35, "ns per ops/procs": 314.01}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30021.043588, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 719499338.0, "Total blocks": 719495463.0, "Ops per second": 23966499.9, "ns per ops": 41.72, "Ops per threads": 5995827.0, "Ops per procs": 29979139.0, "Ops/sec/procs": 998604.16, "ns per ops/procs": 1001.4}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4031751310.0, "Total blocks": 4031751310.0, "Ops per second": 134375766.79, "ns per ops": 7.44, "Ops per threads": 16798963.0, "Ops per procs": 83994818.0, "Ops/sec/procs": 2799495.14, "ns per ops/procs": 357.21}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30063.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 145230267.0, "Ops per second": 4841008.0, "ns per ops": 207.0, "Ops per threads": 7261513.0, "Ops per procs": 36307566.0, "Ops/sec/procs": 1210252.0, "ns per ops/procs": 828.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219457155.0, "Total blocks": 219457150.0, "Ops per second": 7309852.42, "ns per ops": 136.8, "Ops per threads": 43891431.0, "Ops per procs": 219457155.0, "Ops/sec/procs": 7309852.42, "ns per ops/procs": 136.8}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3974525491.0, "Total blocks": 3974525491.0, "Ops per second": 132450393.15, "ns per ops": 7.55, "Ops per threads": 33121045.0, "Ops per procs": 165605228.0, "Ops/sec/procs": 5518766.38, "ns per ops/procs": 181.2}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4062749934.0, "Total blocks": 4062749934.0, "Ops per second": 135405350.7, "ns per ops": 7.39, "Ops per threads": 16928124.0, "Ops per procs": 84640623.0, "Ops/sec/procs": 2820944.81, "ns per ops/procs": 354.49}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30060.56569, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 385642867.0, "Total blocks": 385642241.0, "Ops per second": 12828862.6, "ns per ops": 77.95, "Ops per threads": 9641071.0, "Ops per procs": 48205358.0, "Ops/sec/procs": 1603607.83, "ns per ops/procs": 623.59}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 263137218.0, "Ops per second": 8770801.2, "ns per ops": 114.01, "Ops per threads": 13156860.0, "Ops per procs": 65784304.0, "Ops/sec/procs": 2192700.3, "ns per ops/procs": 456.06}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30020.96541, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 715320658.0, "Total blocks": 715316739.0, "Ops per second": 23827370.25, "ns per ops": 41.97, "Ops per threads": 5961005.0, "Ops per procs": 29805027.0, "Ops/sec/procs": 992807.09, "ns per ops/procs": 1007.25}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7806859720.0, "Total blocks": 7806859717.0, "Ops per second": 260186612.81, "ns per ops": 3.84, "Ops per threads": 16264291.0, "Ops per procs": 81321455.0, "Ops/sec/procs": 2710277.22, "ns per ops/procs": 368.97}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30048.294209, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 202208749.0, "Total blocks": 202208746.0, "Ops per second": 6729458.5, "ns per ops": 148.6, "Ops per threads": 40441749.0, "Ops per procs": 202208749.0, "Ops/sec/procs": 6729458.5, "ns per ops/procs": 148.6}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30065.286283, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1948341406.0, "Total blocks": 1948145075.0, "Ops per second": 64803687.14, "ns per ops": 15.43, "Ops per threads": 2029522.0, "Ops per procs": 10147611.0, "Ops/sec/procs": 337519.2, "ns per ops/procs": 2962.79}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1035514230.0, "Ops per second": 34517141.0, "ns per ops": 29.0, "Ops per threads": 4314642.0, "Ops per procs": 21573213.0, "Ops/sec/procs": 719107.0, "ns per ops/procs": 1395.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30000.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1642785204.0, "Ops per second": 54759506.0, "ns per ops": 18.0, "Ops per threads": 3422469.0, "Ops per procs": 17112345.0, "Ops/sec/procs": 570411.0, "ns per ops/procs": 1753.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30011.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2316831806.0, "Ops per second": 77198067.12, "ns per ops": 12.95, "Ops per threads": 6435643.0, "Ops per procs": 32178219.0, "Ops/sec/procs": 1072195.38, "ns per ops/procs": 932.67}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30052.201613, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219458394.0, "Total blocks": 219458294.0, "Ops per second": 7302572.93, "ns per ops": 136.94, "Ops per threads": 21945839.0, "Ops per procs": 109729197.0, "Ops/sec/procs": 3651286.47, "ns per ops/procs": 273.88}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30054.552502, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 263023386.0, "Total blocks": 263022980.0, "Ops per second": 8751532.27, "ns per ops": 114.27, "Ops per threads": 13151169.0, "Ops per procs": 65755846.0, "Ops/sec/procs": 2187883.07, "ns per ops/procs": 457.06}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 887434104.0, "Ops per second": 29579514.58, "ns per ops": 33.81, "Ops per threads": 11092926.0, "Ops per procs": 55464631.0, "Ops/sec/procs": 1848719.66, "ns per ops/procs": 540.91}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30017.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2208566284.0, "Ops per second": 73576821.12, "ns per ops": 13.59, "Ops per threads": 4601179.0, "Ops per procs": 23005898.0, "Ops/sec/procs": 766425.22, "ns per ops/procs": 1304.76}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219400560.0, "Total blocks": 219400555.0, "Ops per second": 7307918.23, "ns per ops": 136.84, "Ops per threads": 43880112.0, "Ops per procs": 219400560.0, "Ops/sec/procs": 7307918.23, "ns per ops/procs": 136.84}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 278824124.0, "Ops per second": 9293676.5, "ns per ops": 107.6, "Ops per threads": 13941206.0, "Ops per procs": 69706031.0, "Ops/sec/procs": 2323419.13, "ns per ops/procs": 430.4}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2467394548.0, "Total blocks": 2467394548.0, "Ops per second": 82173276.76, "ns per ops": 12.17, "Ops per threads": 30842431.0, "Ops per procs": 154212159.0, "Ops/sec/procs": 5135829.8, "ns per ops/procs": 194.71}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30074.965558, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 618485823.0, "Total blocks": 618483934.0, "Ops per second": 20564805.7, "ns per ops": 48.63, "Ops per threads": 7731072.0, "Ops per procs": 38655363.0, "Ops/sec/procs": 1285300.36, "ns per ops/procs": 778.03}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163618544.0, "Ops per second": 5453951.0, "ns per ops": 183.0, "Ops per threads": 32723708.0, "Ops per procs": 163618544.0, "Ops/sec/procs": 5453951.0, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 983219900.0, "Ops per second": 32773996.0, "ns per ops": 30.0, "Ops per threads": 4096749.0, "Ops per procs": 20483747.0, "Ops/sec/procs": 682791.0, "ns per ops/procs": 1469.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30021.598307, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1952330982.0, "Total blocks": 1952122705.0, "Ops per second": 65030880.84, "ns per ops": 15.38, "Ops per threads": 2033678.0, "Ops per procs": 10168390.0, "Ops/sec/procs": 338702.5, "ns per ops/procs": 2952.44}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30076.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4675330883.0, "Ops per second": 155449948.61, "ns per ops": 6.43, "Ops per threads": 4870136.0, "Ops per procs": 24350681.0, "Ops/sec/procs": 809635.15, "ns per ops/procs": 1235.12}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 747663677.0, "Ops per second": 24922122.0, "ns per ops": 40.0, "Ops per threads": 2076843.0, "Ops per procs": 10384217.0, "Ops/sec/procs": 346140.0, "ns per ops/procs": 2898.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1708910175.0, "Ops per second": 56963672.0, "ns per ops": 17.0, "Ops per threads": 1780114.0, "Ops per procs": 8900573.0, "Ops/sec/procs": 296685.0, "ns per ops/procs": 3381.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 317990414.0, "Total blocks": 317990404.0, "Ops per second": 10591389.06, "ns per ops": 94.42, "Ops per threads": 31799041.0, "Ops per procs": 158995207.0, "Ops/sec/procs": 5295694.53, "ns per ops/procs": 188.83}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30061.269843, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1968352511.0, "Total blocks": 1968125519.0, "Ops per second": 65478022.76, "ns per ops": 15.27, "Ops per threads": 2050367.0, "Ops per procs": 10251835.0, "Ops/sec/procs": 341031.37, "ns per ops/procs": 2932.28}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30077.104651, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 613345249.0, "Total blocks": 613343241.0, "Ops per second": 20392429.93, "ns per ops": 49.04, "Ops per threads": 7666815.0, "Ops per procs": 38334078.0, "Ops/sec/procs": 1274526.87, "ns per ops/procs": 784.6}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30039.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4721227995.0, "Ops per second": 157167628.56, "ns per ops": 6.36, "Ops per threads": 4917945.0, "Ops per procs": 24589729.0, "Ops/sec/procs": 818581.4, "ns per ops/procs": 1221.63}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1161299664.0, "Ops per second": 38709988.0, "ns per ops": 25.0, "Ops per threads": 1612916.0, "Ops per procs": 8064581.0, "Ops/sec/procs": 268819.0, "ns per ops/procs": 3720.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30053.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 127510283.0, "Ops per second": 4250342.0, "ns per ops": 235.0, "Ops per threads": 12751028.0, "Ops per procs": 63755141.0, "Ops/sec/procs": 2125171.0, "ns per ops/procs": 471.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30020.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1907332468.0, "Ops per second": 63577748.0, "ns per ops": 15.0, "Ops per threads": 2649072.0, "Ops per procs": 13245364.0, "Ops/sec/procs": 441512.0, "ns per ops/procs": 2266.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30007.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15257076115.0, "Total blocks": 15257076114.0, "Ops per second": 508439690.7, "ns per ops": 1.97, "Ops per threads": 15892787.0, "Ops per procs": 79463938.0, "Ops/sec/procs": 2648123.39, "ns per ops/procs": 377.63}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1135649654.0, "Total blocks": 1135649654.0, "Ops per second": 37824273.51, "ns per ops": 26.44, "Ops per threads": 28391241.0, "Ops per procs": 141956206.0, "Ops/sec/procs": 4728034.19, "ns per ops/procs": 211.5}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30016.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1694643345.0, "Ops per second": 56488111.0, "ns per ops": 17.0, "Ops per threads": 1765253.0, "Ops per procs": 8826267.0, "Ops/sec/procs": 294208.0, "ns per ops/procs": 3400.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30023.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219099397.0, "Total blocks": 219099392.0, "Ops per second": 7297543.16, "ns per ops": 137.03, "Ops per threads": 43819879.0, "Ops per procs": 219099397.0, "Ops/sec/procs": 7297543.16, "ns per ops/procs": 137.03}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30046.060274, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1129547583.0, "Total blocks": 1129535051.0, "Ops per second": 37593866.64, "ns per ops": 26.6, "Ops per threads": 4706448.0, "Ops per procs": 23532241.0, "Ops/sec/procs": 783205.56, "ns per ops/procs": 1276.8}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30039.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 158942896.0, "Ops per second": 5298096.0, "ns per ops": 188.0, "Ops per threads": 7947144.0, "Ops per procs": 39735724.0, "Ops/sec/procs": 1324524.0, "ns per ops/procs": 755.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30089.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15236894327.0, "Total blocks": 15236894326.0, "Ops per second": 506386811.56, "ns per ops": 1.97, "Ops per threads": 15871764.0, "Ops per procs": 79358824.0, "Ops/sec/procs": 2637431.31, "ns per ops/procs": 379.16}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 760890080.0, "Total blocks": 760890080.0, "Ops per second": 25342641.52, "ns per ops": 39.46, "Ops per threads": 38044504.0, "Ops per procs": 190222520.0, "Ops/sec/procs": 6335660.38, "ns per ops/procs": 157.84}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1528301627.0, "Ops per second": 50943387.0, "ns per ops": 19.0, "Ops per threads": 3183961.0, "Ops per procs": 15919808.0, "Ops/sec/procs": 530660.0, "ns per ops/procs": 1890.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15770868034.0, "Total blocks": 15770868033.0, "Ops per second": 525603056.0, "ns per ops": 1.9, "Ops per threads": 16427987.0, "Ops per procs": 82139937.0, "Ops/sec/procs": 2737515.92, "ns per ops/procs": 365.29}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 265041436.0, "Ops per second": 8834270.16, "ns per ops": 113.2, "Ops per threads": 13252071.0, "Ops per procs": 66260359.0, "Ops/sec/procs": 2208567.54, "ns per ops/procs": 452.78}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30020.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 239519481.0, "Ops per second": 7983982.0, "ns per ops": 125.0, "Ops per threads": 5987987.0, "Ops per procs": 29939935.0, "Ops/sec/procs": 997997.0, "ns per ops/procs": 1002.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30099.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 487681117.0, "Ops per second": 16256037.0, "ns per ops": 61.0, "Ops per threads": 6096013.0, "Ops per procs": 30480069.0, "Ops/sec/procs": 1016002.0, "ns per ops/procs": 987.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2864800492.0, "Total blocks": 2864800492.0, "Ops per second": 95484382.85, "ns per ops": 10.47, "Ops per threads": 23873337.0, "Ops per procs": 119366687.0, "Ops/sec/procs": 3978515.95, "ns per ops/procs": 251.35}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30038.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3441174129.0, "Ops per second": 114557406.43, "ns per ops": 8.73, "Ops per threads": 4779408.0, "Ops per procs": 23897042.0, "Ops/sec/procs": 795537.54, "ns per ops/procs": 1257.01}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30053.229752, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 262797659.0, "Total blocks": 262797312.0, "Ops per second": 8744406.55, "ns per ops": 114.36, "Ops per threads": 13139882.0, "Ops per procs": 65699414.0, "Ops/sec/procs": 2186101.64, "ns per ops/procs": 457.44}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30063.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 117622817.0, "Ops per second": 3920760.0, "ns per ops": 255.0, "Ops per threads": 11762281.0, "Ops per procs": 58811408.0, "Ops/sec/procs": 1960380.0, "ns per ops/procs": 511.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 838711558.0, "Ops per second": 27957051.0, "ns per ops": 35.0, "Ops per threads": 2329754.0, "Ops per procs": 11648771.0, "Ops/sec/procs": 388292.0, "ns per ops/procs": 2583.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7056468167.0, "Total blocks": 7056468166.0, "Ops per second": 235183887.15, "ns per ops": 4.25, "Ops per threads": 19601300.0, "Ops per procs": 98006502.0, "Ops/sec/procs": 3266442.88, "ns per ops/procs": 306.14}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30017.342322, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 691898021.0, "Total blocks": 691894137.0, "Ops per second": 23049942.72, "ns per ops": 43.38, "Ops per threads": 5765816.0, "Ops per procs": 28829084.0, "Ops/sec/procs": 960414.28, "ns per ops/procs": 1041.22}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 640213946.0, "Ops per second": 21340464.0, "ns per ops": 47.0, "Ops per threads": 5335116.0, "Ops per procs": 26675581.0, "Ops/sec/procs": 889186.0, "ns per ops/procs": 1128.0}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 271016270.0, "Ops per second": 9033329.13, "ns per ops": 110.7, "Ops per threads": 13550813.0, "Ops per procs": 67754067.0, "Ops/sec/procs": 2258332.28, "ns per ops/procs": 442.8}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30047.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4706033167.0, "Ops per second": 156620517.36, "ns per ops": 6.38, "Ops per threads": 4902117.0, "Ops per procs": 24510589.0, "Ops/sec/procs": 815731.86, "ns per ops/procs": 1225.89}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30003.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3987280613.0, "Total blocks": 3987280613.0, "Ops per second": 132893567.25, "ns per ops": 7.52, "Ops per threads": 33227338.0, "Ops per procs": 166136692.0, "Ops/sec/procs": 5537231.97, "ns per ops/procs": 180.6}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30009.852194, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1608108038.0, "Total blocks": 1607974694.0, "Ops per second": 53586003.28, "ns per ops": 18.66, "Ops per threads": 2233483.0, "Ops per procs": 11167416.0, "Ops/sec/procs": 372125.02, "ns per ops/procs": 2687.27}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 515313399.0, "Total blocks": 515313399.0, "Ops per second": 17163456.65, "ns per ops": 58.26, "Ops per threads": 25765669.0, "Ops per procs": 128828349.0, "Ops/sec/procs": 4290864.16, "ns per ops/procs": 233.05}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30030.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2508213563.0, "Total blocks": 2508213563.0, "Ops per second": 83523453.4, "ns per ops": 11.97, "Ops per threads": 31352669.0, "Ops per procs": 156763347.0, "Ops/sec/procs": 5220215.84, "ns per ops/procs": 191.56}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 650117010.0, "Ops per second": 21670567.0, "ns per ops": 46.0, "Ops per threads": 5417641.0, "Ops per procs": 27088208.0, "Ops/sec/procs": 902940.0, "ns per ops/procs": 1111.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 793542481.0, "Total blocks": 793542481.0, "Ops per second": 26430227.55, "ns per ops": 37.84, "Ops per threads": 39677124.0, "Ops per procs": 198385620.0, "Ops/sec/procs": 6607556.89, "ns per ops/procs": 151.34}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 321689804.0, "Total blocks": 321689794.0, "Ops per second": 10714565.64, "ns per ops": 93.33, "Ops per threads": 32168980.0, "Ops per procs": 160844902.0, "Ops/sec/procs": 5357282.82, "ns per ops/procs": 186.66}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30099.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 486165262.0, "Ops per second": 16205508.0, "ns per ops": 61.0, "Ops per threads": 6077065.0, "Ops per procs": 30385328.0, "Ops/sec/procs": 1012844.0, "ns per ops/procs": 990.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 894138637.0, "Ops per second": 29803009.11, "ns per ops": 33.55, "Ops per threads": 11176732.0, "Ops per procs": 55883664.0, "Ops/sec/procs": 1862688.07, "ns per ops/procs": 536.86}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30070.147265, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1679102733.0, "Total blocks": 1678996313.0, "Ops per second": 55839524.77, "ns per ops": 17.91, "Ops per threads": 2332087.0, "Ops per procs": 11660435.0, "Ops/sec/procs": 387774.48, "ns per ops/procs": 2578.82}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3907997471.0, "Total blocks": 3907997471.0, "Ops per second": 130249406.63, "ns per ops": 7.68, "Ops per threads": 16283322.0, "Ops per procs": 81416613.0, "Ops/sec/procs": 2713529.3, "ns per ops/procs": 368.52}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2058010547.0, "Ops per second": 68577047.07, "ns per ops": 14.58, "Ops per threads": 8575043.0, "Ops per procs": 42875219.0, "Ops/sec/procs": 1428688.48, "ns per ops/procs": 699.94}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6688530168.0, "Total blocks": 6688530168.0, "Ops per second": 222905324.71, "ns per ops": 4.49, "Ops per threads": 18579250.0, "Ops per procs": 92896252.0, "Ops/sec/procs": 3095907.29, "ns per ops/procs": 323.01}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 870748646.0, "Total blocks": 870748646.0, "Ops per second": 29002809.69, "ns per ops": 34.48, "Ops per threads": 21768716.0, "Ops per procs": 108843580.0, "Ops/sec/procs": 3625351.21, "ns per ops/procs": 275.84}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 799760923.0, "Ops per second": 26658697.0, "ns per ops": 37.0, "Ops per threads": 6664674.0, "Ops per procs": 33323371.0, "Ops/sec/procs": 1110779.0, "ns per ops/procs": 903.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30053.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 126012216.0, "Ops per second": 4200407.0, "ns per ops": 238.0, "Ops per threads": 12601221.0, "Ops per procs": 63006108.0, "Ops/sec/procs": 2100203.0, "ns per ops/procs": 476.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 217736850.0, "Ops per second": 7257895.0, "ns per ops": 137.0, "Ops per threads": 5443421.0, "Ops per procs": 27217106.0, "Ops/sec/procs": 907236.0, "ns per ops/procs": 1103.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30088.986815, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1964703084.0, "Total blocks": 1964426565.0, "Ops per second": 65296418.79, "ns per ops": 15.31, "Ops per threads": 2046565.0, "Ops per procs": 10232828.0, "Ops/sec/procs": 340085.51, "ns per ops/procs": 2940.44}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 891118932.0, "Ops per second": 29702335.38, "ns per ops": 33.67, "Ops per threads": 11138986.0, "Ops per procs": 55694933.0, "Ops/sec/procs": 1856395.96, "ns per ops/procs": 538.68}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 480497207.0, "Ops per second": 16015780.16, "ns per ops": 62.44, "Ops per threads": 12012430.0, "Ops per procs": 60062150.0, "Ops/sec/procs": 2001972.52, "ns per ops/procs": 499.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1212015758.0, "Ops per second": 40400525.0, "ns per ops": 24.0, "Ops per threads": 5050065.0, "Ops per procs": 25250328.0, "Ops/sec/procs": 841677.0, "ns per ops/procs": 1191.0}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30010.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2348032981.0, "Ops per second": 78240318.99, "ns per ops": 12.78, "Ops per threads": 6522313.0, "Ops per procs": 32611569.0, "Ops/sec/procs": 1086671.1, "ns per ops/procs": 920.24}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30048.942615, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1293924524.0, "Total blocks": 1293871691.0, "Ops per second": 43060567.57, "ns per ops": 23.22, "Ops per threads": 2695676.0, "Ops per procs": 13478380.0, "Ops/sec/procs": 448547.58, "ns per ops/procs": 2229.42}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6377739403.0, "Total blocks": 6377739402.0, "Ops per second": 212544640.73, "ns per ops": 4.7, "Ops per threads": 17715942.0, "Ops per procs": 88579713.0, "Ops/sec/procs": 2952008.9, "ns per ops/procs": 338.75}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 796997937.0, "Ops per second": 26566597.0, "ns per ops": 37.0, "Ops per threads": 6641649.0, "Ops per procs": 33208247.0, "Ops/sec/procs": 1106941.0, "ns per ops/procs": 906.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30076.044276, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 615548548.0, "Total blocks": 615546631.0, "Ops per second": 20466406.5, "ns per ops": 48.86, "Ops per threads": 7694356.0, "Ops per procs": 38471784.0, "Ops/sec/procs": 1279150.41, "ns per ops/procs": 781.77}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2203081240.0, "Ops per second": 73389308.23, "ns per ops": 13.63, "Ops per threads": 4589752.0, "Ops per procs": 22948762.0, "Ops/sec/procs": 764471.96, "ns per ops/procs": 1308.09}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 286546469.0, "Ops per second": 9551079.79, "ns per ops": 104.7, "Ops per threads": 14327323.0, "Ops per procs": 71636617.0, "Ops/sec/procs": 2387769.95, "ns per ops/procs": 418.8}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 287942155.0, "Ops per second": 9597610.19, "ns per ops": 104.19, "Ops per threads": 14397107.0, "Ops per procs": 71985538.0, "Ops/sec/procs": 2399402.55, "ns per ops/procs": 416.77}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30011.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2870402993.0, "Total blocks": 2870402993.0, "Ops per second": 95644204.94, "ns per ops": 10.46, "Ops per threads": 23920024.0, "Ops per procs": 119600124.0, "Ops/sec/procs": 3985175.21, "ns per ops/procs": 250.93}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 514215001.0, "Total blocks": 514215001.0, "Ops per second": 17126682.39, "ns per ops": 58.39, "Ops per threads": 25710750.0, "Ops per procs": 128553750.0, "Ops/sec/procs": 4281670.6, "ns per ops/procs": 233.55}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1281534489.0, "Ops per second": 42717816.0, "ns per ops": 23.0, "Ops per threads": 1779909.0, "Ops per procs": 8899545.0, "Ops/sec/procs": 296651.0, "ns per ops/procs": 3382.0}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1504675716.0, "Ops per second": 50152616.68, "ns per ops": 19.94, "Ops per threads": 12538964.0, "Ops per procs": 62694821.0, "Ops/sec/procs": 2089692.36, "ns per ops/procs": 478.54}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 318553681.0, "Total blocks": 318553671.0, "Ops per second": 10610165.17, "ns per ops": 94.25, "Ops per threads": 31855368.0, "Ops per procs": 159276840.0, "Ops/sec/procs": 5305082.59, "ns per ops/procs": 188.5}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1166923550.0, "Ops per second": 38897451.0, "ns per ops": 25.0, "Ops per threads": 4862181.0, "Ops per procs": 24310907.0, "Ops/sec/procs": 810363.0, "ns per ops/procs": 1238.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2173263546.0, "Ops per second": 72394586.61, "ns per ops": 13.81, "Ops per threads": 4527632.0, "Ops per procs": 22638161.0, "Ops/sec/procs": 754110.28, "ns per ops/procs": 1326.07}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30057.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 142096242.0, "Ops per second": 4736541.0, "ns per ops": 211.0, "Ops per threads": 7104812.0, "Ops per procs": 35524060.0, "Ops/sec/procs": 1184135.0, "ns per ops/procs": 846.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30007.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1313424362.0, "Ops per second": 43780812.0, "ns per ops": 22.0, "Ops per threads": 1824200.0, "Ops per procs": 9121002.0, "Ops/sec/procs": 304033.0, "ns per ops/procs": 3289.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3960389668.0, "Total blocks": 3960389668.0, "Ops per second": 131993794.43, "ns per ops": 7.58, "Ops per threads": 16501623.0, "Ops per procs": 82508118.0, "Ops/sec/procs": 2749870.72, "ns per ops/procs": 363.65}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30041.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 20048620673.0, "Total blocks": 20048620673.0, "Ops per second": 667354325.93, "ns per ops": 1.5, "Ops per threads": 20883979.0, "Ops per procs": 104419899.0, "Ops/sec/procs": 3475803.78, "ns per ops/procs": 287.7}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30050.05732, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203480241.0, "Total blocks": 203480237.0, "Ops per second": 6771376.14, "ns per ops": 147.68, "Ops per threads": 40696048.0, "Ops per procs": 203480241.0, "Ops/sec/procs": 6771376.14, "ns per ops/procs": 147.68}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2111970816.0, "Ops per second": 70373385.43, "ns per ops": 14.21, "Ops per threads": 8799878.0, "Ops per procs": 43999392.0, "Ops/sec/procs": 1466112.2, "ns per ops/procs": 682.08}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30060.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3533663337.0, "Ops per second": 117550219.91, "ns per ops": 8.51, "Ops per threads": 4907865.0, "Ops per procs": 24539328.0, "Ops/sec/procs": 816320.97, "ns per ops/procs": 1225.01}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30100.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2656574687.0, "Ops per second": 88552489.0, "ns per ops": 11.0, "Ops per threads": 2767265.0, "Ops per procs": 13836326.0, "Ops/sec/procs": 461210.0, "ns per ops/procs": 2175.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 794144531.0, "Ops per second": 26471484.0, "ns per ops": 37.0, "Ops per threads": 6617871.0, "Ops per procs": 33089355.0, "Ops/sec/procs": 1102978.0, "ns per ops/procs": 909.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30020.982684, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 710669306.0, "Total blocks": 710665471.0, "Ops per second": 23672419.84, "ns per ops": 42.24, "Ops per threads": 5922244.0, "Ops per procs": 29611221.0, "Ops/sec/procs": 986350.83, "ns per ops/procs": 1013.84}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1459306311.0, "Ops per second": 48640514.98, "ns per ops": 20.56, "Ops per threads": 12160885.0, "Ops per procs": 60804429.0, "Ops/sec/procs": 2026688.12, "ns per ops/procs": 493.42}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2251200885.0, "Ops per second": 75031697.53, "ns per ops": 13.33, "Ops per threads": 6253335.0, "Ops per procs": 31266678.0, "Ops/sec/procs": 1042106.91, "ns per ops/procs": 959.59}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3484085088.0, "Ops per second": 116092758.26, "ns per ops": 8.61, "Ops per threads": 4839007.0, "Ops per procs": 24195035.0, "Ops/sec/procs": 806199.71, "ns per ops/procs": 1240.39}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1668236826.0, "Ops per second": 55607894.0, "ns per ops": 18.0, "Ops per threads": 3475493.0, "Ops per procs": 17377466.0, "Ops/sec/procs": 579248.0, "ns per ops/procs": 1732.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10053179508.0, "Total blocks": 10053179508.0, "Ops per second": 335053798.27, "ns per ops": 2.98, "Ops per threads": 20944123.0, "Ops per procs": 104720619.0, "Ops/sec/procs": 3490143.73, "ns per ops/procs": 286.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30000.295113, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1968869961.0, "Total blocks": 1968645144.0, "Ops per second": 65628353.11, "ns per ops": 15.24, "Ops per threads": 2050906.0, "Ops per procs": 10254531.0, "Ops/sec/procs": 341814.34, "ns per ops/procs": 2925.56}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30041.03009, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1959069065.0, "Total blocks": 1958828725.0, "Ops per second": 65213112.17, "ns per ops": 15.33, "Ops per threads": 2040696.0, "Ops per procs": 10203484.0, "Ops/sec/procs": 339651.63, "ns per ops/procs": 2944.19}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.783401, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 388393245.0, "Total blocks": 388392639.0, "Ops per second": 12919833.79, "ns per ops": 77.4, "Ops per threads": 9709831.0, "Ops per procs": 48549155.0, "Ops/sec/procs": 1614979.22, "ns per ops/procs": 619.2}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 230484952.0, "Ops per second": 7682831.0, "ns per ops": 130.0, "Ops per threads": 5762123.0, "Ops per procs": 28810619.0, "Ops/sec/procs": 960353.0, "ns per ops/procs": 1042.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30042.910507, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1326727912.0, "Total blocks": 1326682569.0, "Ops per second": 44161097.9, "ns per ops": 22.64, "Ops per threads": 2764016.0, "Ops per procs": 13820082.0, "Ops/sec/procs": 460011.44, "ns per ops/procs": 2173.86}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8285510525.0, "Total blocks": 8285510525.0, "Ops per second": 276138033.03, "ns per ops": 3.62, "Ops per threads": 11507653.0, "Ops per procs": 57538267.0, "Ops/sec/procs": 1917625.23, "ns per ops/procs": 521.48}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1541102183.0, "Ops per second": 51370072.0, "ns per ops": 19.0, "Ops per threads": 3210629.0, "Ops per procs": 16053147.0, "Ops/sec/procs": 535104.0, "ns per ops/procs": 1874.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30084.546462, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1636395619.0, "Total blocks": 1636273825.0, "Ops per second": 54393228.8, "ns per ops": 18.38, "Ops per threads": 2272771.0, "Ops per procs": 11363858.0, "Ops/sec/procs": 377730.76, "ns per ops/procs": 2647.39}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219413990.0, "Total blocks": 219413985.0, "Ops per second": 7308392.08, "ns per ops": 136.83, "Ops per threads": 43882798.0, "Ops per procs": 219413990.0, "Ops/sec/procs": 7308392.08, "ns per ops/procs": 136.83}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30060.816991, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 394093711.0, "Total blocks": 394093100.0, "Ops per second": 13109880.25, "ns per ops": 76.28, "Ops per threads": 9852342.0, "Ops per procs": 49261713.0, "Ops/sec/procs": 1638735.03, "ns per ops/procs": 610.23}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 739080922.0, "Total blocks": 739080922.0, "Ops per second": 24616356.9, "ns per ops": 40.62, "Ops per threads": 36954046.0, "Ops per procs": 184770230.0, "Ops/sec/procs": 6154089.23, "ns per ops/procs": 162.49}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1494651690.0, "Ops per second": 49818698.89, "ns per ops": 20.07, "Ops per threads": 12455430.0, "Ops per procs": 62277153.0, "Ops/sec/procs": 2075779.12, "ns per ops/procs": 481.75}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30026.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8802470310.0, "Total blocks": 8802470310.0, "Ops per second": 293158990.66, "ns per ops": 3.41, "Ops per threads": 12225653.0, "Ops per procs": 61128266.0, "Ops/sec/procs": 2035826.32, "ns per ops/procs": 491.2}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 221548783.0, "Ops per second": 7384959.0, "ns per ops": 135.0, "Ops per threads": 5538719.0, "Ops per procs": 27693597.0, "Ops/sec/procs": 923119.0, "ns per ops/procs": 1084.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30034.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3265897994.0, "Ops per second": 108738515.44, "ns per ops": 9.2, "Ops per threads": 4535969.0, "Ops per procs": 22679847.0, "Ops/sec/procs": 755128.58, "ns per ops/procs": 1324.28}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30048.76123, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1601001091.0, "Total blocks": 1600891596.0, "Ops per second": 53280102.92, "ns per ops": 18.77, "Ops per threads": 2223612.0, "Ops per procs": 11118063.0, "Ops/sec/procs": 370000.71, "ns per ops/procs": 2702.7}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170520275.0, "Ops per second": 5683774.53, "ns per ops": 175.94, "Ops per threads": 34104055.0, "Ops per procs": 170520275.0, "Ops/sec/procs": 5683774.53, "ns per ops/procs": 175.94}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3976199078.0, "Total blocks": 3976199078.0, "Ops per second": 132520560.88, "ns per ops": 7.55, "Ops per threads": 16567496.0, "Ops per procs": 82837480.0, "Ops/sec/procs": 2760845.02, "ns per ops/procs": 362.21}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2309893574.0, "Ops per second": 76979529.03, "ns per ops": 12.99, "Ops per threads": 6416371.0, "Ops per procs": 32081855.0, "Ops/sec/procs": 1069160.13, "ns per ops/procs": 935.31}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 687023093.0, "Ops per second": 22900769.0, "ns per ops": 43.0, "Ops per threads": 5725192.0, "Ops per procs": 28625962.0, "Ops/sec/procs": 954198.0, "ns per ops/procs": 1051.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30019.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15321811915.0, "Total blocks": 15321811914.0, "Ops per second": 510395763.68, "ns per ops": 1.96, "Ops per threads": 15960220.0, "Ops per procs": 79801103.0, "Ops/sec/procs": 2658311.27, "ns per ops/procs": 376.18}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30074.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 155858533.0, "Ops per second": 5195284.0, "ns per ops": 192.0, "Ops per threads": 7792926.0, "Ops per procs": 38964633.0, "Ops/sec/procs": 1298821.0, "ns per ops/procs": 771.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30057.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3479978457.0, "Ops per second": 115775636.14, "ns per ops": 8.64, "Ops per threads": 4833303.0, "Ops per procs": 24166517.0, "Ops/sec/procs": 803997.47, "ns per ops/procs": 1243.79}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 164077288.0, "Ops per second": 5469242.0, "ns per ops": 183.0, "Ops per threads": 32815457.0, "Ops per procs": 164077288.0, "Ops/sec/procs": 5469242.0, "ns per ops/procs": 183.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30061.655055, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 388241577.0, "Total blocks": 388240954.0, "Ops per second": 12914843.72, "ns per ops": 77.43, "Ops per threads": 9706039.0, "Ops per procs": 48530197.0, "Ops/sec/procs": 1614355.47, "ns per ops/procs": 619.44}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30044.341325, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1153110850.0, "Total blocks": 1153097971.0, "Ops per second": 38380300.55, "ns per ops": 26.06, "Ops per threads": 4804628.0, "Ops per procs": 24023142.0, "Ops/sec/procs": 799589.59, "ns per ops/procs": 1250.64}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 903322145.0, "Total blocks": 903322145.0, "Ops per second": 30087825.46, "ns per ops": 33.24, "Ops per threads": 22583053.0, "Ops per procs": 112915268.0, "Ops/sec/procs": 3760978.18, "ns per ops/procs": 265.89}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 900229115.0, "Ops per second": 30005981.47, "ns per ops": 33.33, "Ops per threads": 11252863.0, "Ops per procs": 56264319.0, "Ops/sec/procs": 1875373.84, "ns per ops/procs": 533.23}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30062.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 152420389.0, "Ops per second": 5080679.0, "ns per ops": 197.0, "Ops per threads": 7621019.0, "Ops per procs": 38105097.0, "Ops/sec/procs": 1270169.0, "ns per ops/procs": 788.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7648074609.0, "Total blocks": 7648074609.0, "Ops per second": 254894046.01, "ns per ops": 3.92, "Ops per threads": 15933488.0, "Ops per procs": 79667443.0, "Ops/sec/procs": 2655146.31, "ns per ops/procs": 376.63}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30055.36182, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 265272069.0, "Total blocks": 265271630.0, "Ops per second": 8826114.64, "ns per ops": 113.3, "Ops per threads": 13263603.0, "Ops per procs": 66318017.0, "Ops/sec/procs": 2206528.66, "ns per ops/procs": 453.2}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 316244400.0, "Total blocks": 316244390.0, "Ops per second": 10533205.38, "ns per ops": 94.94, "Ops per threads": 31624440.0, "Ops per procs": 158122200.0, "Ops/sec/procs": 5266602.69, "ns per ops/procs": 189.88}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30079.162573, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 617572264.0, "Total blocks": 617570374.0, "Ops per second": 20531564.42, "ns per ops": 48.71, "Ops per threads": 7719653.0, "Ops per procs": 38598266.0, "Ops/sec/procs": 1283222.78, "ns per ops/procs": 779.29}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 165921389.0, "Ops per second": 5530447.92, "ns per ops": 180.82, "Ops per threads": 16592138.0, "Ops per procs": 82960694.0, "Ops/sec/procs": 2765223.96, "ns per ops/procs": 361.63}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30060.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 160754175.0, "Ops per second": 5358472.0, "ns per ops": 186.0, "Ops per threads": 8037708.0, "Ops per procs": 40188543.0, "Ops/sec/procs": 1339618.0, "ns per ops/procs": 747.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30063.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 144397887.0, "Ops per second": 4813262.0, "ns per ops": 208.0, "Ops per threads": 7219894.0, "Ops per procs": 36099471.0, "Ops/sec/procs": 1203315.0, "ns per ops/procs": 832.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30100.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 483548613.0, "Ops per second": 16118287.0, "ns per ops": 62.0, "Ops per threads": 6044357.0, "Ops per procs": 30221788.0, "Ops/sec/procs": 1007392.0, "ns per ops/procs": 995.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30030.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3012031948.0, "Total blocks": 3012031948.0, "Ops per second": 100298063.08, "ns per ops": 9.97, "Ops per threads": 37650399.0, "Ops per procs": 188251996.0, "Ops/sec/procs": 6268628.94, "ns per ops/procs": 159.52}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30020.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 229429159.0, "Ops per second": 7647638.0, "ns per ops": 130.0, "Ops per threads": 5735728.0, "Ops per procs": 28678644.0, "Ops/sec/procs": 955954.0, "ns per ops/procs": 1046.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1876448968.0, "Total blocks": 1876448968.0, "Ops per second": 62492083.75, "ns per ops": 16.0, "Ops per threads": 23455612.0, "Ops per procs": 117278060.0, "Ops/sec/procs": 3905755.23, "ns per ops/procs": 256.03}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30075.718407, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 606485555.0, "Total blocks": 606483664.0, "Ops per second": 20165289.05, "ns per ops": 49.59, "Ops per threads": 7581069.0, "Ops per procs": 37905347.0, "Ops/sec/procs": 1260330.57, "ns per ops/procs": 793.44}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 318986521.0, "Total blocks": 318986511.0, "Ops per second": 10624577.43, "ns per ops": 94.12, "Ops per threads": 31898652.0, "Ops per procs": 159493260.0, "Ops/sec/procs": 5312288.71, "ns per ops/procs": 188.24}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30022.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4561288713.0, "Ops per second": 151930576.63, "ns per ops": 6.58, "Ops per threads": 4751342.0, "Ops per procs": 23756712.0, "Ops/sec/procs": 791305.09, "ns per ops/procs": 1263.74}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30060.8561, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 395578827.0, "Total blocks": 395578198.0, "Ops per second": 13159266.84, "ns per ops": 75.99, "Ops per threads": 9889470.0, "Ops per procs": 49447353.0, "Ops/sec/procs": 1644908.36, "ns per ops/procs": 607.94}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1582178189.0, "Ops per second": 52739272.0, "ns per ops": 19.0, "Ops per threads": 3296204.0, "Ops per procs": 16481022.0, "Ops/sec/procs": 549367.0, "ns per ops/procs": 1826.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 922515523.0, "Ops per second": 30750517.0, "ns per ops": 32.0, "Ops per threads": 2562543.0, "Ops per procs": 12812715.0, "Ops/sec/procs": 427090.0, "ns per ops/procs": 2349.0}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1460238232.0, "Ops per second": 48671581.67, "ns per ops": 20.55, "Ops per threads": 12168651.0, "Ops per procs": 60843259.0, "Ops/sec/procs": 2027982.57, "ns per ops/procs": 493.1}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30018.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2229601841.0, "Ops per second": 74273903.16, "ns per ops": 13.46, "Ops per threads": 4645003.0, "Ops per procs": 23225019.0, "Ops/sec/procs": 773686.49, "ns per ops/procs": 1292.51}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 163630952.0, "Ops per second": 5454365.0, "ns per ops": 183.0, "Ops per threads": 32726190.0, "Ops per procs": 163630952.0, "Ops/sec/procs": 5454365.0, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1899795501.0, "Ops per second": 63326516.0, "ns per ops": 15.0, "Ops per threads": 1978953.0, "Ops per procs": 9894768.0, "Ops/sec/procs": 329825.0, "ns per ops/procs": 3041.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.939633, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 214502802.0, "Total blocks": 214502691.0, "Ops per second": 7137735.69, "ns per ops": 140.1, "Ops per threads": 21450280.0, "Ops per procs": 107251401.0, "Ops/sec/procs": 3568867.84, "ns per ops/procs": 280.2}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1055665028.0, "Ops per second": 35188834.0, "ns per ops": 28.0, "Ops per threads": 4398604.0, "Ops per procs": 21993021.0, "Ops/sec/procs": 733100.0, "ns per ops/procs": 1368.0}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4712856006.0, "Ops per second": 157026792.47, "ns per ops": 6.37, "Ops per threads": 4909225.0, "Ops per procs": 24546125.0, "Ops/sec/procs": 817847.88, "ns per ops/procs": 1222.72}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 897863229.0, "Ops per second": 29926949.62, "ns per ops": 33.41, "Ops per threads": 11223290.0, "Ops per procs": 56116451.0, "Ops/sec/procs": 1870434.35, "ns per ops/procs": 534.64}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30056.034675, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 260211135.0, "Total blocks": 260210792.0, "Ops per second": 8657533.76, "ns per ops": 115.51, "Ops per threads": 13010556.0, "Ops per procs": 65052783.0, "Ops/sec/procs": 2164383.44, "ns per ops/procs": 462.03}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1395067311.0, "Total blocks": 1395067311.0, "Ops per second": 46466725.91, "ns per ops": 21.52, "Ops per threads": 34876682.0, "Ops per procs": 174383413.0, "Ops/sec/procs": 5808340.74, "ns per ops/procs": 172.17}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2355377861.0, "Ops per second": 78504026.15, "ns per ops": 12.74, "Ops per threads": 6542716.0, "Ops per procs": 32713581.0, "Ops/sec/procs": 1090333.7, "ns per ops/procs": 917.15}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30076.826448, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 618477695.0, "Total blocks": 618475888.0, "Ops per second": 20563263.08, "ns per ops": 48.63, "Ops per threads": 7730971.0, "Ops per procs": 38654855.0, "Ops/sec/procs": 1285203.94, "ns per ops/procs": 778.09}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30062.523113, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1132412780.0, "Total blocks": 1132400664.0, "Ops per second": 37668587.42, "ns per ops": 26.55, "Ops per threads": 4718386.0, "Ops per procs": 23591932.0, "Ops/sec/procs": 784762.24, "ns per ops/procs": 1274.27}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 785967012.0, "Ops per second": 26198900.0, "ns per ops": 38.0, "Ops per threads": 6549725.0, "Ops per procs": 32748625.0, "Ops/sec/procs": 1091620.0, "ns per ops/procs": 919.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30031.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8905420825.0, "Total blocks": 8905420824.0, "Ops per second": 296539514.83, "ns per ops": 3.37, "Ops per threads": 12368640.0, "Ops per procs": 61843200.0, "Ops/sec/procs": 2059302.19, "ns per ops/procs": 485.6}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 490076281.0, "Ops per second": 16335876.0, "ns per ops": 61.0, "Ops per threads": 6125953.0, "Ops per procs": 30629767.0, "Ops/sec/procs": 1020992.0, "ns per ops/procs": 982.0}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30014.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2257056691.0, "Ops per second": 75197850.67, "ns per ops": 13.3, "Ops per threads": 4702201.0, "Ops per procs": 23511007.0, "Ops/sec/procs": 783310.94, "ns per ops/procs": 1276.63}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 284041176.0, "Ops per second": 9467559.25, "ns per ops": 105.62, "Ops per threads": 14202058.0, "Ops per procs": 71010294.0, "Ops/sec/procs": 2366889.81, "ns per ops/procs": 422.5}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 892945662.0, "Ops per second": 29763196.19, "ns per ops": 33.6, "Ops per threads": 11161820.0, "Ops per procs": 55809103.0, "Ops/sec/procs": 1860199.76, "ns per ops/procs": 537.58}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30020.85781, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 705614910.0, "Total blocks": 705611111.0, "Ops per second": 23504155.49, "ns per ops": 42.55, "Ops per threads": 5880124.0, "Ops per procs": 29400621.0, "Ops/sec/procs": 979339.81, "ns per ops/procs": 1021.1}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30004.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 14859110598.0, "Total blocks": 14859110598.0, "Ops per second": 495235361.16, "ns per ops": 2.02, "Ops per threads": 15478240.0, "Ops per procs": 77391201.0, "Ops/sec/procs": 2579350.84, "ns per ops/procs": 387.69}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219458732.0, "Total blocks": 219458727.0, "Ops per second": 7309848.38, "ns per ops": 136.8, "Ops per threads": 43891746.0, "Ops per procs": 219458732.0, "Ops/sec/procs": 7309848.38, "ns per ops/procs": 136.8}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 175869721.0, "Ops per second": 5862055.84, "ns per ops": 170.59, "Ops per threads": 17586972.0, "Ops per procs": 87934860.0, "Ops/sec/procs": 2931027.92, "ns per ops/procs": 341.18}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 858062120.0, "Ops per second": 28602070.0, "ns per ops": 35.0, "Ops per threads": 2383505.0, "Ops per procs": 11917529.0, "Ops/sec/procs": 397250.0, "ns per ops/procs": 2525.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30010.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2858834274.0, "Ops per second": 95294475.0, "ns per ops": 10.0, "Ops per threads": 2977952.0, "Ops per procs": 14889761.0, "Ops/sec/procs": 496325.0, "ns per ops/procs": 2015.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30035.22166, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1087564772.0, "Total blocks": 1087536443.0, "Ops per second": 36209646.94, "ns per ops": 27.62, "Ops per threads": 3021013.0, "Ops per procs": 15105066.0, "Ops/sec/procs": 502911.76, "ns per ops/procs": 1988.42}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30091.877687, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1595500159.0, "Total blocks": 1595406529.0, "Ops per second": 53020957.2, "ns per ops": 18.86, "Ops per threads": 2215972.0, "Ops per procs": 11079862.0, "Ops/sec/procs": 368201.09, "ns per ops/procs": 2715.91}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30056.236658, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1142321220.0, "Total blocks": 1142308887.0, "Ops per second": 38006129.41, "ns per ops": 26.31, "Ops per threads": 4759671.0, "Ops per procs": 23798358.0, "Ops/sec/procs": 791794.36, "ns per ops/procs": 1262.95}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 164060909.0, "Ops per second": 5468696.0, "ns per ops": 183.0, "Ops per threads": 32812181.0, "Ops per procs": 164060909.0, "Ops/sec/procs": 5468696.0, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30014.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1324319528.0, "Ops per second": 44143984.0, "ns per ops": 22.0, "Ops per threads": 1839332.0, "Ops per procs": 9196663.0, "Ops/sec/procs": 306555.0, "ns per ops/procs": 3263.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30008.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6655570628.0, "Total blocks": 6655570626.0, "Ops per second": 221791043.25, "ns per ops": 4.51, "Ops per threads": 18487696.0, "Ops per procs": 92438480.0, "Ops/sec/procs": 3080431.16, "ns per ops/procs": 324.63}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30049.760389, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 203519405.0, "Total blocks": 203519400.0, "Ops per second": 6772746.35, "ns per ops": 147.65, "Ops per threads": 40703881.0, "Ops per procs": 203519405.0, "Ops/sec/procs": 6772746.35, "ns per ops/procs": 147.65}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 10061206798.0, "Total blocks": 10061206798.0, "Ops per second": 335323868.99, "ns per ops": 2.98, "Ops per threads": 20960847.0, "Ops per procs": 104804237.0, "Ops/sec/procs": 3492956.97, "ns per ops/procs": 286.29}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30026.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 227393051.0, "Ops per second": 7579768.0, "ns per ops": 132.0, "Ops per threads": 5684826.0, "Ops per procs": 28424131.0, "Ops/sec/procs": 947471.0, "ns per ops/procs": 1056.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1134874219.0, "Ops per second": 37829140.0, "ns per ops": 26.0, "Ops per threads": 4728642.0, "Ops per procs": 23643212.0, "Ops/sec/procs": 788107.0, "ns per ops/procs": 1273.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3527564352.0, "Ops per second": 117544323.57, "ns per ops": 8.51, "Ops per threads": 4899394.0, "Ops per procs": 24496974.0, "Ops/sec/procs": 816280.02, "ns per ops/procs": 1225.07}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 165403685.0, "Ops per second": 5513197.81, "ns per ops": 181.38, "Ops per threads": 16540368.0, "Ops per procs": 82701842.0, "Ops/sec/procs": 2756598.9, "ns per ops/procs": 362.77}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30034.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3424180175.0, "Ops per second": 114009604.2, "ns per ops": 8.77, "Ops per threads": 4755805.0, "Ops per procs": 23779028.0, "Ops/sec/procs": 791733.36, "ns per ops/procs": 1263.05}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30060.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6583505063.0, "Total blocks": 6583505063.0, "Ops per second": 219008321.06, "ns per ops": 4.57, "Ops per threads": 18287514.0, "Ops per procs": 91437570.0, "Ops/sec/procs": 3041782.24, "ns per ops/procs": 328.75}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30024.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 242964632.0, "Ops per second": 8098821.0, "ns per ops": 123.0, "Ops per threads": 6074115.0, "Ops per procs": 30370579.0, "Ops/sec/procs": 1012352.0, "ns per ops/procs": 988.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30095.605541, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1732197094.0, "Total blocks": 1732099174.0, "Ops per second": 57556479.19, "ns per ops": 17.37, "Ops per threads": 2405829.0, "Ops per procs": 12029146.0, "Ops/sec/procs": 399697.77, "ns per ops/procs": 2501.89}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 958708647.0, "Ops per second": 31956954.0, "ns per ops": 31.0, "Ops per threads": 3994619.0, "Ops per procs": 19973096.0, "Ops/sec/procs": 665769.0, "ns per ops/procs": 1506.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.531686, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 210857415.0, "Total blocks": 210857310.0, "Ops per second": 7016528.05, "ns per ops": 142.52, "Ops per threads": 21085741.0, "Ops per procs": 105428707.0, "Ops/sec/procs": 3508264.02, "ns per ops/procs": 285.04}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 7990461980.0, "Total blocks": 7990461980.0, "Ops per second": 266309001.04, "ns per ops": 3.76, "Ops per threads": 16646795.0, "Ops per procs": 83233978.0, "Ops/sec/procs": 2774052.09, "ns per ops/procs": 360.48}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30062.645789, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 385826481.0, "Total blocks": 385825859.0, "Ops per second": 12834082.66, "ns per ops": 77.92, "Ops per threads": 9645662.0, "Ops per procs": 48228310.0, "Ops/sec/procs": 1604260.33, "ns per ops/procs": 623.34}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30059.684127, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1128012014.0, "Total blocks": 1128000671.0, "Ops per second": 37525744.09, "ns per ops": 26.65, "Ops per threads": 4700050.0, "Ops per procs": 23500250.0, "Ops/sec/procs": 781786.34, "ns per ops/procs": 1279.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30069.589719, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1989403838.0, "Total blocks": 1989198134.0, "Ops per second": 66159992.76, "ns per ops": 15.11, "Ops per threads": 2072295.0, "Ops per procs": 10361478.0, "Ops/sec/procs": 344583.3, "ns per ops/procs": 2902.06}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30016.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4613407745.0, "Ops per second": 153696994.14, "ns per ops": 6.51, "Ops per threads": 4805633.0, "Ops per procs": 24028165.0, "Ops/sec/procs": 800505.18, "ns per ops/procs": 1249.21}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30067.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 146440205.0, "Ops per second": 4881340.0, "ns per ops": 205.0, "Ops per threads": 7322010.0, "Ops per procs": 36610051.0, "Ops/sec/procs": 1220335.0, "ns per ops/procs": 821.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30079.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 123263380.0, "Ops per second": 4108779.0, "ns per ops": 244.0, "Ops per threads": 12326338.0, "Ops per procs": 61631690.0, "Ops/sec/procs": 2054389.0, "ns per ops/procs": 488.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 682439910.0, "Ops per second": 22747997.0, "ns per ops": 44.0, "Ops per threads": 5686999.0, "Ops per procs": 28434996.0, "Ops/sec/procs": 947833.0, "ns per ops/procs": 1058.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1526992516.0, "Ops per second": 50899750.0, "ns per ops": 19.0, "Ops per threads": 2120822.0, "Ops per procs": 10604114.0, "Ops/sec/procs": 353470.0, "ns per ops/procs": 2838.0}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2083335848.0, "Ops per second": 69419766.53, "ns per ops": 14.41, "Ops per threads": 8680566.0, "Ops per procs": 43402830.0, "Ops/sec/procs": 1446245.14, "ns per ops/procs": 691.45}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 495307500.0, "Ops per second": 16509429.73, "ns per ops": 60.57, "Ops per threads": 12382687.0, "Ops per procs": 61913437.0, "Ops/sec/procs": 2063678.72, "ns per ops/procs": 484.57}],["rdq-cycle-go", "./rdq-cycle-go -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30001.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 177050719.0, "Ops per second": 5901421.56, "ns per ops": 169.45, "Ops per threads": 17705071.0, "Ops per procs": 88525359.0, "Ops/sec/procs": 2950710.78, "ns per ops/procs": 338.9}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30055.927297, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 263267402.0, "Total blocks": 263267034.0, "Ops per second": 8759250.69, "ns per ops": 114.17, "Ops per threads": 13163370.0, "Ops per procs": 65816850.0, "Ops/sec/procs": 2189812.67, "ns per ops/procs": 456.66}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2122203492.0, "Ops per second": 70716256.99, "ns per ops": 14.14, "Ops per threads": 8842514.0, "Ops per procs": 44212572.0, "Ops/sec/procs": 1473255.35, "ns per ops/procs": 678.77}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30001.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 512960450.0, "Ops per second": 17097766.86, "ns per ops": 58.49, "Ops per threads": 12824011.0, "Ops per procs": 64120056.0, "Ops/sec/procs": 2137220.86, "ns per ops/procs": 467.9}],["rdq-cycle-go", "./rdq-cycle-go -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30001.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 273036905.0, "Ops per second": 9100788.24, "ns per ops": 109.88, "Ops per threads": 13651845.0, "Ops per procs": 68259226.0, "Ops/sec/procs": 2275197.06, "ns per ops/procs": 439.52}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30053.447004, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 261694721.0, "Total blocks": 261694352.0, "Ops per second": 8707644.12, "ns per ops": 114.84, "Ops per threads": 13084736.0, "Ops per procs": 65423680.0, "Ops/sec/procs": 2176911.03, "ns per ops/procs": 459.37}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30078.494252, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 621124648.0, "Total blocks": 621122673.0, "Ops per second": 20650124.4, "ns per ops": 48.43, "Ops per threads": 7764058.0, "Ops per procs": 38820290.0, "Ops/sec/procs": 1290632.77, "ns per ops/procs": 774.81}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30077.526126, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1313305973.0, "Total blocks": 1313257545.0, "Ops per second": 43664029.0, "ns per ops": 22.9, "Ops per threads": 2736054.0, "Ops per procs": 13680270.0, "Ops/sec/procs": 454833.64, "ns per ops/procs": 2198.61}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30016.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2203132481.0, "Ops per second": 73397006.57, "ns per ops": 13.62, "Ops per threads": 4589859.0, "Ops per procs": 22949296.0, "Ops/sec/procs": 764552.15, "ns per ops/procs": 1307.96}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.718557, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 209940916.0, "Total blocks": 209940813.0, "Ops per second": 6985987.03, "ns per ops": 143.14, "Ops per threads": 20994091.0, "Ops per procs": 104970458.0, "Ops/sec/procs": 3492993.51, "ns per ops/procs": 286.29}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30051.883129, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 210102151.0, "Total blocks": 210102023.0, "Ops per second": 6991313.99, "ns per ops": 143.03, "Ops per threads": 21010215.0, "Ops per procs": 105051075.0, "Ops/sec/procs": 3495657.0, "ns per ops/procs": 286.07}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 6824874142.0, "Total blocks": 6824874142.0, "Ops per second": 227467174.25, "ns per ops": 4.4, "Ops per threads": 18957983.0, "Ops per procs": 94789918.0, "Ops/sec/procs": 3159266.31, "ns per ops/procs": 316.53}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30027.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 20001364309.0, "Total blocks": 20001364309.0, "Ops per second": 666093420.29, "ns per ops": 1.5, "Ops per threads": 20834754.0, "Ops per procs": 104173772.0, "Ops/sec/procs": 3469236.56, "ns per ops/procs": 288.25}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219618019.0, "Total blocks": 219618014.0, "Ops per second": 7315168.89, "ns per ops": 136.7, "Ops per threads": 43923603.0, "Ops per procs": 219618019.0, "Ops/sec/procs": 7315168.89, "ns per ops/procs": 136.7}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 638781864.0, "Ops per second": 21292728.0, "ns per ops": 47.0, "Ops per threads": 5323182.0, "Ops per procs": 26615911.0, "Ops/sec/procs": 887197.0, "ns per ops/procs": 1130.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 757755857.0, "Total blocks": 757755857.0, "Ops per second": 25238254.77, "ns per ops": 39.62, "Ops per threads": 37887792.0, "Ops per procs": 189438964.0, "Ops/sec/procs": 6309563.69, "ns per ops/procs": 158.49}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2100419226.0, "Ops per second": 69990039.32, "ns per ops": 14.29, "Ops per threads": 8751746.0, "Ops per procs": 43758733.0, "Ops/sec/procs": 1458125.82, "ns per ops/procs": 685.81}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 881003924.0, "Total blocks": 881003924.0, "Ops per second": 29344622.63, "ns per ops": 34.08, "Ops per threads": 22025098.0, "Ops per procs": 110125490.0, "Ops/sec/procs": 3668077.83, "ns per ops/procs": 272.62}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30026.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 9081236127.0, "Total blocks": 9081236127.0, "Ops per second": 302442267.27, "ns per ops": 3.31, "Ops per threads": 25225655.0, "Ops per procs": 126128279.0, "Ops/sec/procs": 4200587.05, "ns per ops/procs": 238.06}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30063.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 142862398.0, "Ops per second": 4762079.0, "ns per ops": 210.0, "Ops per threads": 7143119.0, "Ops per procs": 35715599.0, "Ops/sec/procs": 1190519.0, "ns per ops/procs": 841.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30014.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1661300317.0, "Ops per second": 55376677.0, "ns per ops": 18.0, "Ops per threads": 3461042.0, "Ops per procs": 17305211.0, "Ops/sec/procs": 576840.0, "ns per ops/procs": 1734.0}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30013.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3464135891.0, "Ops per second": 115418882.04, "ns per ops": 8.66, "Ops per threads": 4811299.0, "Ops per procs": 24056499.0, "Ops/sec/procs": 801520.01, "ns per ops/procs": 1247.63}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30021.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 239832490.0, "Ops per second": 7994416.0, "ns per ops": 125.0, "Ops per threads": 5995812.0, "Ops per procs": 29979061.0, "Ops/sec/procs": 999302.0, "ns per ops/procs": 1001.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1243464890.0, "Ops per second": 41448829.0, "ns per ops": 24.0, "Ops per threads": 2590551.0, "Ops per procs": 12952759.0, "Ops/sec/procs": 431758.0, "ns per ops/procs": 2323.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30013.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8835388498.0, "Total blocks": 8835388498.0, "Ops per second": 294376368.96, "ns per ops": 3.4, "Ops per threads": 12271372.0, "Ops per procs": 61356864.0, "Ops/sec/procs": 2044280.34, "ns per ops/procs": 489.17}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30016.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2175173772.0, "Ops per second": 72465946.15, "ns per ops": 13.8, "Ops per threads": 4531612.0, "Ops per procs": 22658060.0, "Ops/sec/procs": 754853.61, "ns per ops/procs": 1324.76}],["rdq-cycle-go", "./rdq-cycle-go -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30020.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 4619680758.0, "Ops per second": 153885066.48, "ns per ops": 6.5, "Ops per threads": 4812167.0, "Ops per procs": 24060837.0, "Ops/sec/procs": 801484.72, "ns per ops/procs": 1247.68}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30006.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15031568417.0, "Total blocks": 15031568415.0, "Ops per second": 500947483.91, "ns per ops": 2.0, "Ops per threads": 15657883.0, "Ops per procs": 78289418.0, "Ops/sec/procs": 2609101.48, "ns per ops/procs": 383.27}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 443686982.0, "Ops per second": 14789566.0, "ns per ops": 67.0, "Ops per threads": 5546087.0, "Ops per procs": 27730436.0, "Ops/sec/procs": 924347.0, "ns per ops/procs": 1085.0}],["rdq-cycle-go", "./rdq-cycle-go -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30010.0, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2100270651.0, "Ops per second": 69984116.34, "ns per ops": 14.29, "Ops per threads": 8751127.0, "Ops per procs": 43755638.0, "Ops/sec/procs": 1458002.42, "ns per ops/procs": 685.87}],["rdq-cycle-go", "./rdq-cycle-go -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2270893593.0, "Ops per second": 75685163.1, "ns per ops": 13.21, "Ops per threads": 6308037.0, "Ops per procs": 31540188.0, "Ops/sec/procs": 1051182.82, "ns per ops/procs": 951.31}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2852173157.0, "Total blocks": 2852173157.0, "Ops per second": 95063575.85, "ns per ops": 10.52, "Ops per threads": 23768109.0, "Ops per procs": 118840548.0, "Ops/sec/procs": 3960982.33, "ns per ops/procs": 252.46}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1516181696.0, "Ops per second": 50536238.99, "ns per ops": 19.79, "Ops per threads": 12634847.0, "Ops per procs": 63174237.0, "Ops/sec/procs": 2105676.62, "ns per ops/procs": 474.91}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1877613820.0, "Total blocks": 1877613820.0, "Ops per second": 62531245.86, "ns per ops": 15.99, "Ops per threads": 23470172.0, "Ops per procs": 117350863.0, "Ops/sec/procs": 3908202.87, "ns per ops/procs": 255.87}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 4 -d 30 -r 5 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 20.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 514240063.0, "Total blocks": 514240063.0, "Ops per second": 17127543.62, "ns per ops": 58.39, "Ops per threads": 25712003.0, "Ops per procs": 128560015.0, "Ops/sec/procs": 4281885.91, "ns per ops/procs": 233.54}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30052.421841, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1117064163.0, "Total blocks": 1117052242.0, "Ops per second": 37170520.53, "ns per ops": 26.9, "Ops per threads": 4654434.0, "Ops per procs": 23272170.0, "Ops/sec/procs": 774385.84, "ns per ops/procs": 1291.35}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 914499612.0, "Ops per second": 30481671.55, "ns per ops": 32.81, "Ops per threads": 11431245.0, "Ops per procs": 57156225.0, "Ops/sec/procs": 1905104.47, "ns per ops/procs": 524.91}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30066.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 123150992.0, "Ops per second": 4105033.0, "ns per ops": 244.0, "Ops per threads": 12315099.0, "Ops per procs": 61575496.0, "Ops/sec/procs": 2052516.0, "ns per ops/procs": 488.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30020.616519, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 711766940.0, "Total blocks": 711763755.0, "Ops per second": 23709271.25, "ns per ops": 42.18, "Ops per threads": 5931391.0, "Ops per procs": 29656955.0, "Ops/sec/procs": 987886.3, "ns per ops/procs": 1012.26}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30019.837592, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 715889297.0, "Total blocks": 715885343.0, "Ops per second": 23847207.53, "ns per ops": 41.93, "Ops per threads": 5965744.0, "Ops per procs": 29828720.0, "Ops/sec/procs": 993633.65, "ns per ops/procs": 1006.41}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2783779616.0, "Ops per second": 92792653.0, "ns per ops": 10.0, "Ops per threads": 2899770.0, "Ops per procs": 14498852.0, "Ops/sec/procs": 483295.0, "ns per ops/procs": 2075.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1155613585.0, "Ops per second": 38520452.0, "ns per ops": 26.0, "Ops per threads": 3210037.0, "Ops per procs": 16050188.0, "Ops/sec/procs": 535006.0, "ns per ops/procs": 1875.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 897467792.0, "Ops per second": 29915593.0, "ns per ops": 33.0, "Ops per threads": 2492966.0, "Ops per procs": 12464830.0, "Ops/sec/procs": 415494.0, "ns per ops/procs": 2414.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 495465222.0, "Ops per second": 16515507.0, "ns per ops": 60.0, "Ops per threads": 6193315.0, "Ops per procs": 30966576.0, "Ops/sec/procs": 1032219.0, "ns per ops/procs": 971.0}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 30 -r 5 -t 24", {"Duration (ms)": 30001.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1486267341.0, "Ops per second": 49539158.95, "ns per ops": 20.19, "Ops per threads": 12385561.0, "Ops per procs": 61927805.0, "Ops/sec/procs": 2064131.62, "ns per ops/procs": 484.47}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1763083226.0, "Ops per second": 58769440.0, "ns per ops": 17.0, "Ops per threads": 2448726.0, "Ops per procs": 12243633.0, "Ops/sec/procs": 408121.0, "ns per ops/procs": 2451.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 2 -d 30 -r 5 -t 2", {"Duration (ms)": 30073.0, "Number of processors": 2.0, "Number of threads": 10.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 125372958.0, "Ops per second": 4179098.0, "ns per ops": 239.0, "Ops per threads": 12537295.0, "Ops per procs": 62686479.0, "Ops/sec/procs": 2089549.0, "ns per ops/procs": 479.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 30 -r 5 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 891365315.0, "Total blocks": 891365315.0, "Ops per second": 29689476.2, "ns per ops": 33.68, "Ops per threads": 22284132.0, "Ops per procs": 111420664.0, "Ops/sec/procs": 3711184.52, "ns per ops/procs": 269.46}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 48 -d 30 -r 5 -t 48", {"Duration (ms)": 30049.875656, "Number of processors": 48.0, "Number of threads": 240.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1136688725.0, "Total blocks": 1136676446.0, "Ops per second": 37826736.39, "ns per ops": 26.44, "Ops per threads": 4736203.0, "Ops per procs": 23681015.0, "Ops/sec/procs": 788057.01, "ns per ops/procs": 1268.94}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30050.700664, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1983592436.0, "Total blocks": 1983354372.0, "Ops per second": 66008192.56, "ns per ops": 15.15, "Ops per threads": 2066242.0, "Ops per procs": 10331210.0, "Ops/sec/procs": 343792.67, "ns per ops/procs": 2908.73}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 30 -r 5 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1867093660.0, "Total blocks": 1867093660.0, "Ops per second": 62180751.17, "ns per ops": 16.08, "Ops per threads": 23338670.0, "Ops per procs": 116693353.0, "Ops/sec/procs": 3886296.95, "ns per ops/procs": 257.31}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219443334.0, "Total blocks": 219443329.0, "Ops per second": 7309367.14, "ns per ops": 136.81, "Ops per threads": 43888666.0, "Ops per procs": 219443334.0, "Ops/sec/procs": 7309367.14, "ns per ops/procs": 136.81}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 8058412290.0, "Total blocks": 8058412290.0, "Ops per second": 268575058.42, "ns per ops": 3.72, "Ops per threads": 16788358.0, "Ops per procs": 83941794.0, "Ops/sec/procs": 2797656.86, "ns per ops/procs": 357.44}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30012.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2668476751.0, "Ops per second": 88949225.0, "ns per ops": 11.0, "Ops per threads": 2779663.0, "Ops per procs": 13898316.0, "Ops/sec/procs": 463277.0, "ns per ops/procs": 2159.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1263790036.0, "Ops per second": 42126334.0, "ns per ops": 23.0, "Ops per threads": 3510527.0, "Ops per procs": 17552639.0, "Ops/sec/procs": 585087.0, "ns per ops/procs": 1714.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 72 -d 30 -r 5 -t 72", {"Duration (ms)": 30096.398642, "Number of processors": 72.0, "Number of threads": 360.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1048998279.0, "Total blocks": 1048958149.0, "Ops per second": 34854611.39, "ns per ops": 28.69, "Ops per threads": 2913884.0, "Ops per procs": 14569420.0, "Ops/sec/procs": 484091.82, "ns per ops/procs": 2065.72}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1782608897.0, "Ops per second": 59420296.0, "ns per ops": 16.0, "Ops per threads": 2475845.0, "Ops per procs": 12379228.0, "Ops/sec/procs": 412640.0, "ns per ops/procs": 2431.0}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 170552431.0, "Ops per second": 5684845.46, "ns per ops": 175.91, "Ops per threads": 34110486.0, "Ops per procs": 170552431.0, "Ops/sec/procs": 5684845.46, "ns per ops/procs": 175.91}],["rdq-cycle-go", "./rdq-cycle-go -p 96 -d 30 -r 5 -t 96", {"Duration (ms)": 30015.0, "Number of processors": 96.0, "Number of threads": 480.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 2206127662.0, "Ops per second": 73500183.24, "ns per ops": 13.61, "Ops per threads": 4596099.0, "Ops per procs": 22980496.0, "Ops/sec/procs": 765626.91, "ns per ops/procs": 1306.12}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 192 -d 30 -r 5 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 960.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 15185975853.0, "Total blocks": 15185975848.0, "Ops per second": 506104940.66, "ns per ops": 1.98, "Ops per threads": 15818724.0, "Ops per procs": 79093624.0, "Ops/sec/procs": 2635963.23, "ns per ops/procs": 379.37}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30051.387707, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 1630141613.0, "Total blocks": 1630001494.0, "Ops per second": 54245135.99, "ns per ops": 18.43, "Ops per threads": 2264085.0, "Ops per procs": 11320427.0, "Ops/sec/procs": 376702.33, "ns per ops/procs": 2654.62}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 30 -r 5 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 219449120.0, "Total blocks": 219449115.0, "Ops per second": 7309564.35, "ns per ops": 136.81, "Ops per threads": 43889824.0, "Ops per procs": 219449120.0, "Ops/sec/procs": 7309564.35, "ns per ops/procs": 136.81}],["rdq-cycle-go", "./rdq-cycle-go -p 144 -d 30 -r 5 -t 144", {"Duration (ms)": 30019.0, "Number of processors": 144.0, "Number of threads": 720.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 3430534353.0, "Ops per second": 114274998.17, "ns per ops": 8.75, "Ops per threads": 4764631.0, "Ops per procs": 23823155.0, "Ops/sec/procs": 793576.38, "ns per ops/procs": 1260.12}]]1 [["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10012.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 76310077.0, "Ops per second": 7631007.0, "ns per ops": 131.0, "Ops per threads": 1907751.0, "Ops per procs": 9538759.0, "Ops/sec/procs": 953875.0, "ns per ops/procs": 1049.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10010.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 60971759.0, "Total blocks": 60971758.0, "Ops per second": 6090773.1, "ns per ops": 164.18, "Ops per threads": 762146.0, "Ops per procs": 3810734.0, "Ops/sec/procs": 380673.32, "ns per ops/procs": 2626.92}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10025.310277, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 181018643.0, "Total blocks": 181017892.0, "Ops per second": 18056163.65, "ns per ops": 55.38, "Ops per threads": 2262733.0, "Ops per procs": 11313665.0, "Ops/sec/procs": 1128510.23, "ns per ops/procs": 886.12}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10026.598882, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 194131436.0, "Total blocks": 194130800.0, "Ops per second": 19361643.79, "ns per ops": 51.65, "Ops per threads": 2426642.0, "Ops per procs": 12133214.0, "Ops/sec/procs": 1210102.74, "ns per ops/procs": 826.38}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10006.334698, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 227505184.0, "Total blocks": 227503833.0, "Ops per second": 22736115.76, "ns per ops": 43.98, "Ops per threads": 1895876.0, "Ops per procs": 9479382.0, "Ops/sec/procs": 947338.16, "ns per ops/procs": 1055.59}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10016.990169, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 66752749.0, "Total blocks": 66752748.0, "Ops per second": 6663952.73, "ns per ops": 150.06, "Ops per threads": 13350549.0, "Ops per procs": 66752749.0, "Ops/sec/procs": 6663952.73, "ns per ops/procs": 150.06}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 279630079.0, "Ops per second": 27961432.66, "ns per ops": 35.76, "Ops per threads": 3495375.0, "Ops per procs": 17476879.0, "Ops/sec/procs": 1747589.54, "ns per ops/procs": 572.22}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10007.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 59771852.0, "Total blocks": 59771852.0, "Ops per second": 5972444.0, "ns per ops": 167.44, "Ops per threads": 1494296.0, "Ops per procs": 7471481.0, "Ops/sec/procs": 746555.5, "ns per ops/procs": 1339.49}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 232398538.0, "Ops per second": 23239853.0, "ns per ops": 43.0, "Ops per threads": 1936654.0, "Ops per procs": 9683272.0, "Ops/sec/procs": 968327.0, "ns per ops/procs": 1043.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10020.460683, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 123722971.0, "Total blocks": 123722720.0, "Ops per second": 12347034.22, "ns per ops": 80.99, "Ops per threads": 3093074.0, "Ops per procs": 15465371.0, "Ops/sec/procs": 1543379.28, "ns per ops/procs": 647.93}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 56469367.0, "Ops per second": 5646680.63, "ns per ops": 177.1, "Ops per threads": 11293873.0, "Ops per procs": 56469367.0, "Ops/sec/procs": 5646680.63, "ns per ops/procs": 177.1}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10016.913984, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 66648794.0, "Total blocks": 66648790.0, "Ops per second": 6653625.47, "ns per ops": 150.29, "Ops per threads": 13329758.0, "Ops per procs": 66648794.0, "Ops/sec/procs": 6653625.47, "ns per ops/procs": 150.29}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10000.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 178174877.0, "Ops per second": 17816504.68, "ns per ops": 56.13, "Ops per threads": 4454371.0, "Ops per procs": 22271859.0, "Ops/sec/procs": 2227063.08, "ns per ops/procs": 449.02}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10004.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 59200307.0, "Total blocks": 59200307.0, "Ops per second": 5917304.82, "ns per ops": 169.0, "Ops per threads": 493335.0, "Ops per procs": 2466679.0, "Ops/sec/procs": 246554.37, "ns per ops/procs": 4055.9}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10000.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 489892922.0, "Ops per second": 48986097.69, "ns per ops": 20.41, "Ops per threads": 4082441.0, "Ops per procs": 20412205.0, "Ops/sec/procs": 2041087.4, "ns per ops/procs": 489.93}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10100.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 267579722.0, "Ops per second": 26757972.0, "ns per ops": 37.0, "Ops per threads": 2229831.0, "Ops per procs": 11149155.0, "Ops/sec/procs": 1114915.0, "ns per ops/procs": 905.0}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10002.567137, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 221454282.0, "Total blocks": 221452348.0, "Ops per second": 22139744.62, "ns per ops": 45.17, "Ops per threads": 1845452.0, "Ops per procs": 9227261.0, "Ops/sec/procs": 922489.36, "ns per ops/procs": 1084.02}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10020.640204, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 119212534.0, "Total blocks": 119212291.0, "Ops per second": 11896698.37, "ns per ops": 84.06, "Ops per threads": 2980313.0, "Ops per procs": 14901566.0, "Ops/sec/procs": 1487087.3, "ns per ops/procs": 672.46}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10015.706272, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 66731723.0, "Total blocks": 66731719.0, "Ops per second": 6662707.67, "ns per ops": 150.09, "Ops per threads": 13346344.0, "Ops per procs": 66731723.0, "Ops/sec/procs": 6662707.67, "ns per ops/procs": 150.09}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10000.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 152568234.0, "Ops per second": 15255771.25, "ns per ops": 65.55, "Ops per threads": 3814205.0, "Ops per procs": 19071029.0, "Ops/sec/procs": 1906971.41, "ns per ops/procs": 524.39}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 289322235.0, "Ops per second": 28930586.92, "ns per ops": 34.57, "Ops per threads": 3616527.0, "Ops per procs": 18082639.0, "Ops/sec/procs": 1808161.68, "ns per ops/procs": 553.05}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10000.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 487856302.0, "Ops per second": 48781608.3, "ns per ops": 20.5, "Ops per threads": 4065469.0, "Ops per procs": 20327345.0, "Ops/sec/procs": 2032567.01, "ns per ops/procs": 491.99}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10009.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 76846283.0, "Ops per second": 7684628.0, "ns per ops": 130.0, "Ops per threads": 1921157.0, "Ops per procs": 9605785.0, "Ops/sec/procs": 960578.0, "ns per ops/procs": 1042.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10002.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 57552105.0, "Total blocks": 57552103.0, "Ops per second": 5753926.0, "ns per ops": 173.79, "Ops per threads": 479600.0, "Ops per procs": 2398004.0, "Ops/sec/procs": 239746.92, "ns per ops/procs": 4171.07}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10016.759028, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 123970604.0, "Total blocks": 123970351.0, "Ops per second": 12376318.89, "ns per ops": 80.8, "Ops per threads": 3099265.0, "Ops per procs": 15496325.0, "Ops/sec/procs": 1547039.86, "ns per ops/procs": 646.4}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10007.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 61716938.0, "Total blocks": 61716938.0, "Ops per second": 6166945.93, "ns per ops": 162.15, "Ops per threads": 1542923.0, "Ops per procs": 7714617.0, "Ops/sec/procs": 770868.24, "ns per ops/procs": 1297.24}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 70872904.0, "Total blocks": 70872899.0, "Ops per second": 7081970.19, "ns per ops": 141.2, "Ops per threads": 14174580.0, "Ops per procs": 70872904.0, "Ops/sec/procs": 7081970.19, "ns per ops/procs": 141.2}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 156397978.0, "Ops per second": 15639797.0, "ns per ops": 63.0, "Ops per threads": 1954974.0, "Ops per procs": 9774873.0, "Ops/sec/procs": 977487.0, "ns per ops/procs": 1023.0}],["rdq-cycle-go", "./rdq-cycle-go -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10000.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 150292371.0, "Ops per second": 15028431.57, "ns per ops": 66.54, "Ops per threads": 3757309.0, "Ops per procs": 18786546.0, "Ops/sec/procs": 1878553.95, "ns per ops/procs": 532.32}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10009.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 59322364.0, "Total blocks": 59322364.0, "Ops per second": 5926827.38, "ns per ops": 168.72, "Ops per threads": 741529.0, "Ops per procs": 3707647.0, "Ops/sec/procs": 370426.71, "ns per ops/procs": 2699.59}],["rdq-cycle-go", "./rdq-cycle-go -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10000.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 484392787.0, "Ops per second": 48436133.63, "ns per ops": 20.65, "Ops per threads": 4036606.0, "Ops per procs": 20183032.0, "Ops/sec/procs": 2018172.23, "ns per ops/procs": 495.5}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 71150883.0, "Total blocks": 71150878.0, "Ops per second": 7109813.4, "ns per ops": 140.65, "Ops per threads": 14230176.0, "Ops per procs": 71150883.0, "Ops/sec/procs": 7109813.4, "ns per ops/procs": 140.65}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10008.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 80740751.0, "Ops per second": 8074075.0, "ns per ops": 123.0, "Ops per threads": 2018518.0, "Ops per procs": 10092593.0, "Ops/sec/procs": 1009259.0, "ns per ops/procs": 991.0}],["rdq-cycle-go", "./rdq-cycle-go -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 288121315.0, "Ops per second": 28809957.03, "ns per ops": 34.71, "Ops per threads": 3601516.0, "Ops per procs": 18007582.0, "Ops/sec/procs": 1800622.31, "ns per ops/procs": 555.36}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10100.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 153491548.0, "Ops per second": 15349154.0, "ns per ops": 65.0, "Ops per threads": 1918644.0, "Ops per procs": 9593221.0, "Ops/sec/procs": 959322.0, "ns per ops/procs": 1052.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10100.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 265150851.0, "Ops per second": 26515085.0, "ns per ops": 38.0, "Ops per threads": 2209590.0, "Ops per procs": 11047952.0, "Ops/sec/procs": 1104795.0, "ns per ops/procs": 914.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 54873960.0, "Ops per second": 5487396.0, "ns per ops": 184.0, "Ops per threads": 10974792.0, "Ops per procs": 54873960.0, "Ops/sec/procs": 5487396.0, "ns per ops/procs": 184.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 164735691.0, "Ops per second": 16473569.0, "ns per ops": 60.0, "Ops per threads": 2059196.0, "Ops per procs": 10295980.0, "Ops/sec/procs": 1029598.0, "ns per ops/procs": 971.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 71038106.0, "Total blocks": 71038101.0, "Ops per second": 7098555.38, "ns per ops": 140.87, "Ops per threads": 14207621.0, "Ops per procs": 71038106.0, "Ops/sec/procs": 7098555.38, "ns per ops/procs": 140.87}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10007.037227, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 233110848.0, "Total blocks": 233109436.0, "Ops per second": 23294691.8, "ns per ops": 42.93, "Ops per threads": 1942590.0, "Ops per procs": 9712952.0, "Ops/sec/procs": 970612.16, "ns per ops/procs": 1030.28}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10012.0, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 60897008.0, "Total blocks": 60897007.0, "Ops per second": 6082228.89, "ns per ops": 164.41, "Ops per threads": 761212.0, "Ops per procs": 3806063.0, "Ops/sec/procs": 380139.31, "ns per ops/procs": 2630.61}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 56664861.0, "Ops per second": 5666229.66, "ns per ops": 176.48, "Ops per threads": 11332972.0, "Ops per procs": 56664861.0, "Ops/sec/procs": 5666229.66, "ns per ops/procs": 176.48}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 54918505.0, "Ops per second": 5491850.0, "ns per ops": 183.0, "Ops per threads": 10983701.0, "Ops per procs": 54918505.0, "Ops/sec/procs": 5491850.0, "ns per ops/procs": 183.0}],["rdq-cycle-tokio", "./rdq-cycle-tokio -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 54930921.0, "Ops per second": 5493092.0, "ns per ops": 183.0, "Ops per threads": 10986184.0, "Ops per procs": 54930921.0, "Ops/sec/procs": 5493092.0, "ns per ops/procs": 183.0}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 24 -d 10 -r 5 -t 24", {"Duration (ms)": 10003.0, "Number of processors": 24.0, "Number of threads": 120.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 56683908.0, "Total blocks": 56683908.0, "Ops per second": 5666230.51, "ns per ops": 176.48, "Ops per threads": 472365.0, "Ops per procs": 2361829.0, "Ops/sec/procs": 236092.94, "ns per ops/procs": 4235.62}],["rdq-cycle-fibre", "./rdq-cycle-fibre -p 8 -d 10 -r 5 -t 8", {"Duration (ms)": 10007.0, "Number of processors": 8.0, "Number of threads": 40.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 63241275.0, "Total blocks": 63241275.0, "Ops per second": 6319199.64, "ns per ops": 158.25, "Ops per threads": 1581031.0, "Ops per procs": 7905159.0, "Ops/sec/procs": 789899.95, "ns per ops/procs": 1265.98}],["rdq-cycle-go", "./rdq-cycle-go -p 1 -d 10 -r 5 -t 1", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 5.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 56846729.0, "Ops per second": 5684418.62, "ns per ops": 175.92, "Ops per threads": 11369345.0, "Ops per procs": 56846729.0, "Ops/sec/procs": 5684418.62, "ns per ops/procs": 175.92}],["rdq-cycle-cfa", "./rdq-cycle-cfa -p 16 -d 10 -r 5 -t 16", {"Duration (ms)": 10024.602154, "Number of processors": 16.0, "Number of threads": 80.0, "Cycle size (# thrds)": 5.0, "Total Operations(ops)": 189976405.0, "Total blocks": 189975754.0, "Ops per second": 18951016.92, "ns per ops": 52.77, "Ops per threads": 2374705.0, "Ops per procs": 11873525.0, "Ops/sec/procs": 1184438.56, "ns per ops/procs": 844.28}]] -
doc/theses/thierry_delisle_PhD/thesis/data/memcd.rate
r4520b77e r12df6fe 1 [[" cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498755.2, "Median Read Latency": 3190.7, "Tail Read Latency": 225397.5, "Median Update Latency": 2830.3, "Tail Update Latency": 226163.8}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 199980.9, "Median Read Latency": 95.5, "Tail Read Latency": 170.9, "Median Update Latency": 100.7, "Tail Update Latency": 176.2}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399978.4, "Median Read Latency": 117.8, "Tail Read Latency": 1207.1, "Median Update Latency": 121.9, "Tail Update Latency": 1336.8}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 612437.4, "Median Read Latency": 15884.0, "Tail Read Latency": 248252.4, "Median Update Latency": 15749.0, "Tail Update Latency": 247485.6}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399937.0, "Median Read Latency": 111.9, "Tail Read Latency": 869.0, "Median Update Latency": 117.5, "Tail Update Latency": 880.8}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100019.3, "Median Read Latency": 85.8, "Tail Read Latency": 161.8, "Median Update Latency": 92.2, "Tail Update Latency": 169.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499962.9, "Median Read Latency": 185.6, "Tail Read Latency": 12305.1, "Median Update Latency": 250.1, "Tail Update Latency": 12317.4}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100007.8, "Median Read Latency": 85.9, "Tail Read Latency": 161.0, "Median Update Latency": 92.3, "Tail Update Latency": 168.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 557475.3, "Median Read Latency": 18115.8, "Tail Read Latency": 251927.5, "Median Update Latency": 18299.3, "Tail Update Latency": 250306.8}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200004.6, "Median Read Latency": 95.3, "Tail Read Latency": 173.3, "Median Update Latency": 99.9, "Tail Update Latency": 180.6}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 597071.5, "Median Read Latency": 13212.4, "Tail Read Latency": 62539.9, "Median Update Latency": 13231.2, "Tail Update Latency": 69653.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 199978.5, "Median Read Latency": 95.5, "Tail Read Latency": 177.6, "Median Update Latency": 100.3, "Tail Update Latency": 186.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 614246.9, "Median Read Latency": 16225.4, "Tail Read Latency": 250527.9, "Median Update Latency": 16499.8, "Tail Update Latency": 256449.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300008.6, "Median Read Latency": 87.5, "Tail Read Latency": 183.5, "Median Update Latency": 93.1, "Tail Update Latency": 190.9}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100006.9, "Median Read Latency": 85.4, "Tail Read Latency": 177.6, "Median Update Latency": 92.0, "Tail Update Latency": 194.1}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200005.2, "Median Read Latency": 95.3, "Tail Read Latency": 173.8, "Median Update Latency": 99.8, "Tail Update Latency": 183.7}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572663.5, "Median Read Latency": 371.4, "Tail Read Latency": 227972.8, "Median Update Latency": 1399.1, "Tail Update Latency": 226684.5}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 622639.2, "Median Read Latency": 5780.5, "Tail Read Latency": 230039.3, "Median Update Latency": 7841.8, "Tail Update Latency": 229186.6}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 592141.1, "Median Read Latency": 13408.6, "Tail Read Latency": 48231.9, "Median Update Latency": 13507.0, "Tail Update Latency": 49970.4}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299997.1, "Median Read Latency": 91.3, "Tail Read Latency": 346.2, "Median Update Latency": 97.8, "Tail Update Latency": 359.3}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299972.9, "Median Read Latency": 100.3, "Tail Read Latency": 454.5, "Median Update Latency": 106.7, "Tail Update Latency": 436.9}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 598258.7, "Median Read Latency": 13440.2, "Tail Read Latency": 50537.1, "Median Update Latency": 13527.6, "Tail Update Latency": 47965.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 299962.2, "Median Read Latency": 88.0, "Tail Read Latency": 181.4, "Median Update Latency": 93.3, "Tail Update Latency": 187.2}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 602219.4, "Median Read Latency": 25297.0, "Tail Read Latency": 250896.6, "Median Update Latency": 25038.5, "Tail Update Latency": 251507.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 564998.0, "Median Read Latency": 20010.7, "Tail Read Latency": 250571.5, "Median Update Latency": 20091.0, "Tail Update Latency": 250161.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499891.1, "Median Read Latency": 7175.0, "Tail Read Latency": 220926.7, "Median Update Latency": 7105.9, "Tail Update Latency": 221994.0}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499974.2, "Median Read Latency": 211.4, "Tail Read Latency": 11680.1, "Median Update Latency": 829.2, "Tail Update Latency": 11990.8}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300012.7, "Median Read Latency": 97.1, "Tail Read Latency": 222.8, "Median Update Latency": 101.7, "Tail Update Latency": 238.1}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300070.5, "Median Read Latency": 96.8, "Tail Read Latency": 220.3, "Median Update Latency": 101.7, "Tail Update Latency": 237.8}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100008.7, "Median Read Latency": 85.6, "Tail Read Latency": 163.0, "Median Update Latency": 92.3, "Tail Update Latency": 175.3}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400028.9, "Median Read Latency": 114.8, "Tail Read Latency": 956.1, "Median Update Latency": 120.3, "Tail Update Latency": 1350.3}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300055.6, "Median Read Latency": 86.4, "Tail Read Latency": 175.9, "Median Update Latency": 91.2, "Tail Update Latency": 180.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 673707.6, "Median Read Latency": 6827.8, "Tail Read Latency": 231197.0, "Median Update Latency": 7140.8, "Tail Update Latency": 231287.8}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 601228.5, "Median Read Latency": 12871.0, "Tail Read Latency": 219146.6, "Median Update Latency": 12852.8, "Tail Update Latency": 56501.0}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300015.0, "Median Read Latency": 100.1, "Tail Read Latency": 481.1, "Median Update Latency": 105.7, "Tail Update Latency": 488.7}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 99997.9, "Median Read Latency": 85.4, "Tail Read Latency": 167.7, "Median Update Latency": 92.4, "Tail Update Latency": 173.4}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200021.1, "Median Read Latency": 88.1, "Tail Read Latency": 244.9, "Median Update Latency": 95.0, "Tail Update Latency": 253.9}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400017.0, "Median Read Latency": 113.1, "Tail Read Latency": 849.1, "Median Update Latency": 119.1, "Tail Update Latency": 882.8}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 562604.7, "Median Read Latency": 19819.4, "Tail Read Latency": 249845.8, "Median Update Latency": 19871.1, "Tail Update Latency": 249555.6}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572312.9, "Median Read Latency": 6524.3, "Tail Read Latency": 228864.5, "Median Update Latency": 2602.5, "Tail Update Latency": 228616.6}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621196.7, "Median Read Latency": 2295.2, "Tail Read Latency": 231836.0, "Median Update Latency": 1441.1, "Tail Update Latency": 230955.6}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 595177.6, "Median Read Latency": 13372.4, "Tail Read Latency": 46883.0, "Median Update Latency": 13426.8, "Tail Update Latency": 64667.1}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400026.7, "Median Read Latency": 115.7, "Tail Read Latency": 881.2, "Median Update Latency": 121.1, "Tail Update Latency": 929.1}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498000.8, "Median Read Latency": 4060.3, "Tail Read Latency": 226676.1, "Median Update Latency": 2978.6, "Tail Update Latency": 225731.4}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 579656.7, "Median Read Latency": 12225.7, "Tail Read Latency": 219760.8, "Median Update Latency": 12238.9, "Tail Update Latency": 203698.4}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200001.8, "Median Read Latency": 88.1, "Tail Read Latency": 240.2, "Median Update Latency": 94.6, "Tail Update Latency": 251.4}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 594850.0, "Median Read Latency": 13333.6, "Tail Read Latency": 52682.0, "Median Update Latency": 13351.9, "Tail Update Latency": 56204.4}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499921.3, "Median Read Latency": 6662.5, "Tail Read Latency": 219673.4, "Median Update Latency": 6837.7, "Tail Update Latency": 211568.1}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 572487.8, "Median Read Latency": 10378.4, "Tail Read Latency": 226976.4, "Median Update Latency": 10403.8, "Tail Update Latency": 227094.8}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 594974.2, "Median Read Latency": 13359.6, "Tail Read Latency": 41942.6, "Median Update Latency": 13334.3, "Tail Update Latency": 44809.8}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 199997.8, "Median Read Latency": 78.3, "Tail Read Latency": 128.0, "Median Update Latency": 82.8, "Tail Update Latency": 134.8}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400037.0, "Median Read Latency": 115.5, "Tail Read Latency": 996.4, "Median Update Latency": 120.1, "Tail Update Latency": 1664.7}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500010.9, "Median Read Latency": 165.0, "Tail Read Latency": 12206.4, "Median Update Latency": 179.4, "Tail Update Latency": 12184.2}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200000.1, "Median Read Latency": 95.5, "Tail Read Latency": 180.0, "Median Update Latency": 99.7, "Tail Update Latency": 182.7}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99978.3, "Median Read Latency": 77.9, "Tail Read Latency": 118.1, "Median Update Latency": 83.2, "Tail Update Latency": 128.9}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399987.9, "Median Read Latency": 108.4, "Tail Read Latency": 539.7, "Median Update Latency": 113.9, "Tail Update Latency": 539.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499820.4, "Median Read Latency": 5658.7, "Tail Read Latency": 212053.1, "Median Update Latency": 5741.1, "Tail Update Latency": 50321.8}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400070.7, "Median Read Latency": 111.9, "Tail Read Latency": 890.4, "Median Update Latency": 117.0, "Tail Update Latency": 828.8}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 601775.8, "Median Read Latency": 23117.3, "Tail Read Latency": 250232.9, "Median Update Latency": 23116.7, "Tail Update Latency": 246551.8}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100001.3, "Median Read Latency": 92.8, "Tail Read Latency": 140.9, "Median Update Latency": 98.0, "Tail Update Latency": 152.9}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 574754.4, "Median Read Latency": 357.0, "Tail Read Latency": 231151.6, "Median Update Latency": 557.4, "Tail Update Latency": 229444.1}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 573363.3, "Median Read Latency": 9889.6, "Tail Read Latency": 229927.1, "Median Update Latency": 9906.8, "Tail Update Latency": 231207.8}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679908.4, "Median Read Latency": 5451.8, "Tail Read Latency": 230889.9, "Median Update Latency": 5681.1, "Tail Update Latency": 232091.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 609366.0, "Median Read Latency": 16768.6, "Tail Read Latency": 247631.3, "Median Update Latency": 17033.4, "Tail Update Latency": 253910.6}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200039.8, "Median Read Latency": 95.6, "Tail Read Latency": 174.6, "Median Update Latency": 100.5, "Tail Update Latency": 180.7}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 596702.7, "Median Read Latency": 13428.9, "Tail Read Latency": 51857.9, "Median Update Latency": 13435.2, "Tail Update Latency": 83668.0}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 576584.3, "Median Read Latency": 10177.2, "Tail Read Latency": 228562.7, "Median Update Latency": 10194.1, "Tail Update Latency": 227658.5}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499992.8, "Median Read Latency": 162.7, "Tail Read Latency": 11374.3, "Median Update Latency": 167.4, "Tail Update Latency": 11372.9}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595017.0, "Median Read Latency": 17998.2, "Tail Read Latency": 243922.3, "Median Update Latency": 18344.5, "Tail Update Latency": 239502.7}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199994.0, "Median Read Latency": 88.5, "Tail Read Latency": 239.3, "Median Update Latency": 95.4, "Tail Update Latency": 248.8}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299957.9, "Median Read Latency": 105.1, "Tail Read Latency": 274.5, "Median Update Latency": 109.5, "Tail Update Latency": 287.3}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200018.7, "Median Read Latency": 95.2, "Tail Read Latency": 172.9, "Median Update Latency": 100.4, "Tail Update Latency": 174.6}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500038.3, "Median Read Latency": 211.6, "Tail Read Latency": 11382.7, "Median Update Latency": 206.1, "Tail Update Latency": 11382.7}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 597722.5, "Median Read Latency": 13397.7, "Tail Read Latency": 58411.2, "Median Update Latency": 13387.9, "Tail Update Latency": 68941.3}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100030.7, "Median Read Latency": 85.7, "Tail Read Latency": 163.9, "Median Update Latency": 92.0, "Tail Update Latency": 171.4}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 558818.6, "Median Read Latency": 13363.8, "Tail Read Latency": 248229.0, "Median Update Latency": 13350.2, "Tail Update Latency": 249960.2}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621757.3, "Median Read Latency": 5239.7, "Tail Read Latency": 234406.2, "Median Update Latency": 6894.0, "Tail Update Latency": 234114.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679182.4, "Median Read Latency": 5967.0, "Tail Read Latency": 228719.6, "Median Update Latency": 6772.4, "Tail Update Latency": 228625.2}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200045.5, "Median Read Latency": 79.2, "Tail Read Latency": 128.4, "Median Update Latency": 84.2, "Tail Update Latency": 137.4}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99987.1, "Median Read Latency": 93.3, "Tail Read Latency": 141.6, "Median Update Latency": 98.5, "Tail Update Latency": 152.4}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300010.7, "Median Read Latency": 92.5, "Tail Read Latency": 349.6, "Median Update Latency": 99.4, "Tail Update Latency": 379.9}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400028.0, "Median Read Latency": 113.6, "Tail Read Latency": 841.4, "Median Update Latency": 120.0, "Tail Update Latency": 882.9}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 593569.4, "Median Read Latency": 13403.1, "Tail Read Latency": 39646.1, "Median Update Latency": 13399.0, "Tail Update Latency": 37874.8}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400020.1, "Median Read Latency": 107.8, "Tail Read Latency": 564.8, "Median Update Latency": 112.1, "Tail Update Latency": 551.0}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 597114.9, "Median Read Latency": 18109.7, "Tail Read Latency": 246701.4, "Median Update Latency": 17982.1, "Tail Update Latency": 247698.7}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 592504.7, "Median Read Latency": 13426.0, "Tail Read Latency": 44154.2, "Median Update Latency": 13401.8, "Tail Update Latency": 46925.7}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300004.6, "Median Read Latency": 87.4, "Tail Read Latency": 181.7, "Median Update Latency": 92.3, "Tail Update Latency": 184.6}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199991.6, "Median Read Latency": 87.7, "Tail Read Latency": 238.7, "Median Update Latency": 94.3, "Tail Update Latency": 241.1}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300039.2, "Median Read Latency": 100.0, "Tail Read Latency": 465.5, "Median Update Latency": 105.5, "Tail Update Latency": 437.3}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 555859.2, "Median Read Latency": 14324.7, "Tail Read Latency": 252224.7, "Median Update Latency": 14183.0, "Tail Update Latency": 253064.7}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 591884.8, "Median Read Latency": 18852.4, "Tail Read Latency": 245546.0, "Median Update Latency": 18781.5, "Tail Update Latency": 251330.1}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 560411.7, "Median Read Latency": 16212.0, "Tail Read Latency": 249414.2, "Median Update Latency": 16315.3, "Tail Update Latency": 252118.3}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499875.4, "Median Read Latency": 7148.7, "Tail Read Latency": 221728.4, "Median Update Latency": 6854.7, "Tail Update Latency": 223478.5}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 603884.3, "Median Read Latency": 12495.1, "Tail Read Latency": 220449.1, "Median Update Latency": 12489.2, "Tail Update Latency": 220650.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 686509.4, "Median Read Latency": 6617.1, "Tail Read Latency": 231746.5, "Median Update Latency": 6934.3, "Tail Update Latency": 232363.0}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 623145.4, "Median Read Latency": 5661.8, "Tail Read Latency": 229372.2, "Median Update Latency": 6085.7, "Tail Update Latency": 230691.9}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100019.7, "Median Read Latency": 93.3, "Tail Read Latency": 142.6, "Median Update Latency": 98.3, "Tail Update Latency": 152.2}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499889.0, "Median Read Latency": 155.9, "Tail Read Latency": 12059.8, "Median Update Latency": 169.9, "Tail Update Latency": 12072.0}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100018.5, "Median Read Latency": 86.6, "Tail Read Latency": 164.3, "Median Update Latency": 92.9, "Tail Update Latency": 179.2}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100008.8, "Median Read Latency": 85.5, "Tail Read Latency": 162.2, "Median Update Latency": 92.2, "Tail Update Latency": 169.4}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 559071.8, "Median Read Latency": 13053.0, "Tail Read Latency": 247054.3, "Median Update Latency": 13181.4, "Tail Update Latency": 246805.2}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100016.0, "Median Read Latency": 78.2, "Tail Read Latency": 119.3, "Median Update Latency": 84.1, "Tail Update Latency": 130.7}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400025.2, "Median Read Latency": 104.6, "Tail Read Latency": 513.5, "Median Update Latency": 108.7, "Tail Update Latency": 505.0}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100009.2, "Median Read Latency": 93.0, "Tail Read Latency": 143.2, "Median Update Latency": 98.0, "Tail Update Latency": 154.2}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399978.2, "Median Read Latency": 104.6, "Tail Read Latency": 482.3, "Median Update Latency": 109.5, "Tail Update Latency": 481.6}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399992.4, "Median Read Latency": 115.3, "Tail Read Latency": 1018.2, "Median Update Latency": 121.2, "Tail Update Latency": 1420.5}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200039.6, "Median Read Latency": 88.3, "Tail Read Latency": 235.4, "Median Update Latency": 94.9, "Tail Update Latency": 242.1}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498725.8, "Median Read Latency": 3893.4, "Tail Read Latency": 227347.3, "Median Update Latency": 3733.9, "Tail Update Latency": 227619.0}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200028.7, "Median Read Latency": 79.2, "Tail Read Latency": 129.6, "Median Update Latency": 84.3, "Tail Update Latency": 138.4}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 620433.1, "Median Read Latency": 21839.7, "Tail Read Latency": 249643.8, "Median Update Latency": 22022.9, "Tail Update Latency": 249993.9}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 569787.5, "Median Read Latency": 3043.0, "Tail Read Latency": 226727.4, "Median Update Latency": 6870.7, "Tail Update Latency": 227823.6}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 597059.4, "Median Read Latency": 13321.6, "Tail Read Latency": 45190.1, "Median Update Latency": 13316.7, "Tail Update Latency": 44028.0}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300053.7, "Median Read Latency": 86.8, "Tail Read Latency": 184.7, "Median Update Latency": 92.1, "Tail Update Latency": 192.5}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100014.4, "Median Read Latency": 93.1, "Tail Read Latency": 141.1, "Median Update Latency": 98.9, "Tail Update Latency": 150.9}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618846.7, "Median Read Latency": 902.7, "Tail Read Latency": 227141.2, "Median Update Latency": 637.8, "Tail Update Latency": 224313.9}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595532.7, "Median Read Latency": 16978.5, "Tail Read Latency": 248593.5, "Median Update Latency": 16895.7, "Tail Update Latency": 250405.5}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 620493.4, "Median Read Latency": 19597.9, "Tail Read Latency": 247174.2, "Median Update Latency": 19579.3, "Tail Update Latency": 250788.1}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399994.3, "Median Read Latency": 103.5, "Tail Read Latency": 456.3, "Median Update Latency": 108.6, "Tail Update Latency": 464.3}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572443.4, "Median Read Latency": 5819.9, "Tail Read Latency": 229576.2, "Median Update Latency": 5419.3, "Tail Update Latency": 230185.9}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200006.2, "Median Read Latency": 95.2, "Tail Read Latency": 174.1, "Median Update Latency": 99.8, "Tail Update Latency": 183.5}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 675884.4, "Median Read Latency": 5168.9, "Tail Read Latency": 232226.3, "Median Update Latency": 5221.0, "Tail Update Latency": 234665.5}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300048.0, "Median Read Latency": 104.7, "Tail Read Latency": 274.3, "Median Update Latency": 110.1, "Tail Update Latency": 270.9}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 593973.5, "Median Read Latency": 13469.9, "Tail Read Latency": 48997.9, "Median Update Latency": 13481.7, "Tail Update Latency": 43736.0}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400014.9, "Median Read Latency": 114.7, "Tail Read Latency": 985.2, "Median Update Latency": 117.9, "Tail Update Latency": 836.7}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100023.3, "Median Read Latency": 92.3, "Tail Read Latency": 140.0, "Median Update Latency": 97.5, "Tail Update Latency": 150.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200024.8, "Median Read Latency": 78.3, "Tail Read Latency": 127.6, "Median Update Latency": 82.7, "Tail Update Latency": 133.8}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299955.1, "Median Read Latency": 92.6, "Tail Read Latency": 352.0, "Median Update Latency": 99.0, "Tail Update Latency": 340.3}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499993.2, "Median Read Latency": 496.8, "Tail Read Latency": 11875.1, "Median Update Latency": 347.0, "Tail Update Latency": 11798.5}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400080.4, "Median Read Latency": 105.7, "Tail Read Latency": 515.6, "Median Update Latency": 110.8, "Tail Update Latency": 518.0}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621476.0, "Median Read Latency": 4652.6, "Tail Read Latency": 228156.0, "Median Update Latency": 4843.4, "Tail Update Latency": 226596.6}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618279.2, "Median Read Latency": 4429.6, "Tail Read Latency": 228611.1, "Median Update Latency": 4362.4, "Tail Update Latency": 226378.2}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 593594.2, "Median Read Latency": 13393.0, "Tail Read Latency": 57221.3, "Median Update Latency": 13422.7, "Tail Update Latency": 80690.8}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200022.4, "Median Read Latency": 95.8, "Tail Read Latency": 172.8, "Median Update Latency": 100.5, "Tail Update Latency": 185.4}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 560918.1, "Median Read Latency": 16358.1, "Tail Read Latency": 253540.6, "Median Update Latency": 16212.4, "Tail Update Latency": 251232.8}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 669430.7, "Median Read Latency": 5583.0, "Tail Read Latency": 231084.5, "Median Update Latency": 6019.7, "Tail Update Latency": 232056.7}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399991.3, "Median Read Latency": 106.0, "Tail Read Latency": 530.9, "Median Update Latency": 111.6, "Tail Update Latency": 541.9}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399954.1, "Median Read Latency": 115.9, "Tail Read Latency": 1160.1, "Median Update Latency": 121.1, "Tail Update Latency": 1101.6}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 606298.3, "Median Read Latency": 12500.1, "Tail Read Latency": 221340.8, "Median Update Latency": 12479.4, "Tail Update Latency": 220126.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 677365.7, "Median Read Latency": 5572.2, "Tail Read Latency": 232186.6, "Median Update Latency": 5377.3, "Tail Update Latency": 234817.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 560278.3, "Median Read Latency": 15552.2, "Tail Read Latency": 251034.1, "Median Update Latency": 15592.0, "Tail Update Latency": 246436.6}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595753.0, "Median Read Latency": 23720.5, "Tail Read Latency": 249422.3, "Median Update Latency": 23512.1, "Tail Update Latency": 249583.9}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400063.9, "Median Read Latency": 113.4, "Tail Read Latency": 862.6, "Median Update Latency": 120.0, "Tail Update Latency": 817.9}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499823.1, "Median Read Latency": 7675.7, "Tail Read Latency": 221134.1, "Median Update Latency": 7669.5, "Tail Update Latency": 221961.7}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399924.2, "Median Read Latency": 113.2, "Tail Read Latency": 860.6, "Median Update Latency": 119.8, "Tail Update Latency": 955.3}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300058.2, "Median Read Latency": 87.1, "Tail Read Latency": 181.8, "Median Update Latency": 91.9, "Tail Update Latency": 186.4}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100027.5, "Median Read Latency": 79.1, "Tail Read Latency": 123.2, "Median Update Latency": 84.7, "Tail Update Latency": 132.5}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 598396.1, "Median Read Latency": 15300.7, "Tail Read Latency": 244675.0, "Median Update Latency": 15021.1, "Tail Update Latency": 241147.1}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572232.9, "Median Read Latency": 5540.0, "Tail Read Latency": 226307.6, "Median Update Latency": 6565.7, "Tail Update Latency": 228217.0}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100026.0, "Median Read Latency": 79.4, "Tail Read Latency": 119.9, "Median Update Latency": 84.8, "Tail Update Latency": 127.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 612789.2, "Median Read Latency": 20433.4, "Tail Read Latency": 248317.0, "Median Update Latency": 19920.1, "Tail Update Latency": 248162.6}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 633366.9, "Median Read Latency": 27763.5, "Tail Read Latency": 261832.4, "Median Update Latency": 27589.3, "Tail Update Latency": 260902.8}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300076.6, "Median Read Latency": 91.9, "Tail Read Latency": 355.3, "Median Update Latency": 97.9, "Tail Update Latency": 346.9}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400067.4, "Median Read Latency": 104.2, "Tail Read Latency": 490.8, "Median Update Latency": 109.1, "Tail Update Latency": 489.3}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100018.2, "Median Read Latency": 79.5, "Tail Read Latency": 124.0, "Median Update Latency": 85.6, "Tail Update Latency": 130.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 673606.9, "Median Read Latency": 6399.4, "Tail Read Latency": 232519.9, "Median Update Latency": 7309.5, "Tail Update Latency": 233818.8}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618746.2, "Median Read Latency": 5440.4, "Tail Read Latency": 229943.5, "Median Update Latency": 6759.6, "Tail Update Latency": 229563.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300022.9, "Median Read Latency": 87.6, "Tail Read Latency": 182.6, "Median Update Latency": 92.8, "Tail Update Latency": 187.9}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400008.0, "Median Read Latency": 111.5, "Tail Read Latency": 841.2, "Median Update Latency": 118.5, "Tail Update Latency": 843.9}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300049.4, "Median Read Latency": 88.0, "Tail Read Latency": 183.8, "Median Update Latency": 94.3, "Tail Update Latency": 187.9}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299973.6, "Median Read Latency": 103.9, "Tail Read Latency": 264.6, "Median Update Latency": 108.6, "Tail Update Latency": 264.8}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 634051.9, "Median Read Latency": 29679.0, "Tail Read Latency": 276428.2, "Median Update Latency": 29553.8, "Tail Update Latency": 275365.1}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595601.7, "Median Read Latency": 16592.4, "Tail Read Latency": 248858.5, "Median Update Latency": 16643.3, "Tail Update Latency": 249676.4}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299996.7, "Median Read Latency": 105.2, "Tail Read Latency": 265.0, "Median Update Latency": 110.0, "Tail Update Latency": 291.7}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 601384.7, "Median Read Latency": 21991.8, "Tail Read Latency": 251918.5, "Median Update Latency": 22250.9, "Tail Update Latency": 254757.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 672509.3, "Median Read Latency": 6597.4, "Tail Read Latency": 231210.5, "Median Update Latency": 6618.7, "Tail Update Latency": 230082.2}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618813.0, "Median Read Latency": 2470.6, "Tail Read Latency": 229954.7, "Median Update Latency": 448.3, "Tail Update Latency": 230106.4}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399964.2, "Median Read Latency": 104.2, "Tail Read Latency": 500.7, "Median Update Latency": 109.3, "Tail Update Latency": 512.1}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200027.6, "Median Read Latency": 88.4, "Tail Read Latency": 242.7, "Median Update Latency": 95.4, "Tail Update Latency": 259.1}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200074.5, "Median Read Latency": 95.6, "Tail Read Latency": 174.1, "Median Update Latency": 100.6, "Tail Update Latency": 180.8}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 590638.3, "Median Read Latency": 20591.5, "Tail Read Latency": 245328.4, "Median Update Latency": 20026.6, "Tail Update Latency": 247076.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499880.6, "Median Read Latency": 6449.0, "Tail Read Latency": 220474.9, "Median Update Latency": 6244.1, "Tail Update Latency": 221755.8}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499651.8, "Median Read Latency": 3100.6, "Tail Read Latency": 224805.6, "Median Update Latency": 3231.5, "Tail Update Latency": 220308.2}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679918.1, "Median Read Latency": 6117.7, "Tail Read Latency": 235370.8, "Median Update Latency": 5461.9, "Tail Update Latency": 235881.3}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 562603.6, "Median Read Latency": 17687.5, "Tail Read Latency": 249811.6, "Median Update Latency": 17850.1, "Tail Update Latency": 248409.0}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498800.0, "Median Read Latency": 4824.4, "Tail Read Latency": 226001.1, "Median Update Latency": 3904.7, "Tail Update Latency": 225754.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300001.7, "Median Read Latency": 87.0, "Tail Read Latency": 177.7, "Median Update Latency": 91.8, "Tail Update Latency": 186.5}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200017.1, "Median Read Latency": 79.3, "Tail Read Latency": 128.7, "Median Update Latency": 84.2, "Tail Update Latency": 141.4}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400017.2, "Median Read Latency": 115.5, "Tail Read Latency": 1159.7, "Median Update Latency": 120.1, "Tail Update Latency": 989.5}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99991.2, "Median Read Latency": 78.9, "Tail Read Latency": 121.9, "Median Update Latency": 84.3, "Tail Update Latency": 129.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200019.4, "Median Read Latency": 78.7, "Tail Read Latency": 127.4, "Median Update Latency": 83.4, "Tail Update Latency": 138.3}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 574746.3, "Median Read Latency": 10094.5, "Tail Read Latency": 229286.1, "Median Update Latency": 10163.4, "Tail Update Latency": 228392.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 666919.6, "Median Read Latency": 5602.6, "Tail Read Latency": 231151.9, "Median Update Latency": 7137.9, "Tail Update Latency": 230738.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300001.0, "Median Read Latency": 87.0, "Tail Read Latency": 178.4, "Median Update Latency": 92.1, "Tail Update Latency": 184.3}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400016.4, "Median Read Latency": 112.3, "Tail Read Latency": 861.1, "Median Update Latency": 119.0, "Tail Update Latency": 826.2}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 554192.0, "Median Read Latency": 14565.8, "Tail Read Latency": 251281.6, "Median Update Latency": 14621.9, "Tail Update Latency": 248503.4}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400004.9, "Median Read Latency": 112.6, "Tail Read Latency": 847.6, "Median Update Latency": 119.8, "Tail Update Latency": 780.5}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499926.2, "Median Read Latency": 202.8, "Tail Read Latency": 11364.8, "Median Update Latency": 225.1, "Tail Update Latency": 11373.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499827.3, "Median Read Latency": 6236.1, "Tail Read Latency": 219172.4, "Median Update Latency": 6311.9, "Tail Update Latency": 218648.6}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299983.9, "Median Read Latency": 105.0, "Tail Read Latency": 266.1, "Median Update Latency": 110.0, "Tail Update Latency": 270.9}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572297.0, "Median Read Latency": 7121.5, "Tail Read Latency": 229699.2, "Median Update Latency": 6446.6, "Tail Update Latency": 229921.5}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300049.7, "Median Read Latency": 100.0, "Tail Read Latency": 462.1, "Median Update Latency": 106.0, "Tail Update Latency": 495.3}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300036.2, "Median Read Latency": 97.4, "Tail Read Latency": 215.2, "Median Update Latency": 101.7, "Tail Update Latency": 222.3}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 592848.3, "Median Read Latency": 13499.3, "Tail Read Latency": 54109.4, "Median Update Latency": 13537.0, "Tail Update Latency": 67041.7}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 599841.2, "Median Read Latency": 13013.2, "Tail Read Latency": 219173.4, "Median Update Latency": 12913.4, "Tail Update Latency": 78396.6}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499623.8, "Median Read Latency": 3350.4, "Tail Read Latency": 224439.8, "Median Update Latency": 2713.4, "Tail Update Latency": 227667.6}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400044.7, "Median Read Latency": 114.6, "Tail Read Latency": 904.6, "Median Update Latency": 121.3, "Tail Update Latency": 889.9}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99961.3, "Median Read Latency": 78.9, "Tail Read Latency": 121.4, "Median Update Latency": 84.1, "Tail Update Latency": 129.1}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399956.7, "Median Read Latency": 111.9, "Tail Read Latency": 913.7, "Median Update Latency": 117.9, "Tail Update Latency": 812.8}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199987.8, "Median Read Latency": 88.7, "Tail Read Latency": 240.9, "Median Update Latency": 94.8, "Tail Update Latency": 263.6}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578039.8, "Median Read Latency": 12007.4, "Tail Read Latency": 222983.8, "Median Update Latency": 12072.4, "Tail Update Latency": 223117.5}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 599235.9, "Median Read Latency": 12980.0, "Tail Read Latency": 89029.3, "Median Update Latency": 13117.6, "Tail Update Latency": 84983.3}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400003.6, "Median Read Latency": 104.1, "Tail Read Latency": 506.4, "Median Update Latency": 108.0, "Tail Update Latency": 499.3}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 667063.6, "Median Read Latency": 7072.8, "Tail Read Latency": 228047.4, "Median Update Latency": 6478.2, "Tail Update Latency": 226000.1}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 591587.5, "Median Read Latency": 13359.7, "Tail Read Latency": 50039.7, "Median Update Latency": 13361.1, "Tail Update Latency": 49096.8}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100046.8, "Median Read Latency": 93.6, "Tail Read Latency": 141.1, "Median Update Latency": 98.7, "Tail Update Latency": 149.6}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100035.3, "Median Read Latency": 93.2, "Tail Read Latency": 140.9, "Median Update Latency": 98.0, "Tail Update Latency": 149.2}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 579557.0, "Median Read Latency": 11146.3, "Tail Read Latency": 225592.5, "Median Update Latency": 11213.4, "Tail Update Latency": 227281.7}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499854.0, "Median Read Latency": 6874.0, "Tail Read Latency": 221957.8, "Median Update Latency": 6881.0, "Tail Update Latency": 223218.6}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199990.1, "Median Read Latency": 88.2, "Tail Read Latency": 238.6, "Median Update Latency": 95.8, "Tail Update Latency": 247.6}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 617227.7, "Median Read Latency": 17171.0, "Tail Read Latency": 249354.5, "Median Update Latency": 16888.9, "Tail Update Latency": 253622.6}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 616791.3, "Median Read Latency": 7783.5, "Tail Read Latency": 231012.6, "Median Update Latency": 7816.4, "Tail Update Latency": 229123.0}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100038.9, "Median Read Latency": 78.3, "Tail Read Latency": 119.7, "Median Update Latency": 83.5, "Tail Update Latency": 130.2}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 600648.1, "Median Read Latency": 19930.5, "Tail Read Latency": 252949.2, "Median Update Latency": 19774.3, "Tail Update Latency": 254769.5}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400077.3, "Median Read Latency": 115.5, "Tail Read Latency": 1407.8, "Median Update Latency": 119.4, "Tail Update Latency": 1102.4}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100003.5, "Median Read Latency": 85.9, "Tail Read Latency": 164.6, "Median Update Latency": 92.1, "Tail Update Latency": 171.8}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99984.3, "Median Read Latency": 78.3, "Tail Read Latency": 120.5, "Median Update Latency": 83.7, "Tail Update Latency": 128.5}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 596507.7, "Median Read Latency": 13251.2, "Tail Read Latency": 73339.7, "Median Update Latency": 13352.3, "Tail Update Latency": 112626.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200030.3, "Median Read Latency": 94.9, "Tail Read Latency": 171.9, "Median Update Latency": 99.8, "Tail Update Latency": 185.1}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499890.3, "Median Read Latency": 6051.4, "Tail Read Latency": 220881.9, "Median Update Latency": 5816.4, "Tail Update Latency": 220025.4}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 617601.3, "Median Read Latency": 6576.4, "Tail Read Latency": 228343.0, "Median Update Latency": 6669.8, "Tail Update Latency": 229107.3}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 614289.3, "Median Read Latency": 27798.8, "Tail Read Latency": 249319.1, "Median Update Latency": 28052.1, "Tail Update Latency": 255922.6}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400085.5, "Median Read Latency": 108.2, "Tail Read Latency": 596.3, "Median Update Latency": 112.3, "Tail Update Latency": 580.3}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499937.2, "Median Read Latency": 246.8, "Tail Read Latency": 12044.7, "Median Update Latency": 370.5, "Tail Update Latency": 11969.0}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300032.5, "Median Read Latency": 99.9, "Tail Read Latency": 450.5, "Median Update Latency": 106.5, "Tail Update Latency": 506.6}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200065.4, "Median Read Latency": 78.6, "Tail Read Latency": 127.6, "Median Update Latency": 83.6, "Tail Update Latency": 136.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200023.6, "Median Read Latency": 95.8, "Tail Read Latency": 175.4, "Median Update Latency": 100.8, "Tail Update Latency": 181.3}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200018.8, "Median Read Latency": 88.0, "Tail Read Latency": 237.2, "Median Update Latency": 95.0, "Tail Update Latency": 241.3}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100003.9, "Median Read Latency": 92.9, "Tail Read Latency": 141.7, "Median Update Latency": 98.0, "Tail Update Latency": 149.9}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200027.7, "Median Read Latency": 78.8, "Tail Read Latency": 128.1, "Median Update Latency": 84.1, "Tail Update Latency": 138.5}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 573103.5, "Median Read Latency": 6813.3, "Tail Read Latency": 228646.3, "Median Update Latency": 6506.7, "Tail Update Latency": 228655.2}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500002.4, "Median Read Latency": 165.8, "Tail Read Latency": 12247.6, "Median Update Latency": 153.3, "Tail Update Latency": 12160.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499939.4, "Median Read Latency": 236.9, "Tail Read Latency": 11686.2, "Median Update Latency": 1735.2, "Tail Update Latency": 11889.0}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100010.1, "Median Read Latency": 92.7, "Tail Read Latency": 140.3, "Median Update Latency": 98.4, "Tail Update Latency": 150.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200049.3, "Median Read Latency": 79.0, "Tail Read Latency": 128.4, "Median Update Latency": 83.8, "Tail Update Latency": 135.6}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499781.9, "Median Read Latency": 6814.0, "Tail Read Latency": 221736.9, "Median Update Latency": 6911.9, "Tail Update Latency": 208931.6}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 570152.2, "Median Read Latency": 5421.5, "Tail Read Latency": 227907.2, "Median Update Latency": 370.5, "Tail Update Latency": 226747.8}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 577102.5, "Median Read Latency": 10328.5, "Tail Read Latency": 229337.1, "Median Update Latency": 10259.6, "Tail Update Latency": 228080.1}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300011.4, "Median Read Latency": 104.6, "Tail Read Latency": 269.3, "Median Update Latency": 108.7, "Tail Update Latency": 273.6}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679919.6, "Median Read Latency": 6524.6, "Tail Read Latency": 232330.6, "Median Update Latency": 6061.6, "Tail Update Latency": 230619.7}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 573394.8, "Median Read Latency": 847.7, "Tail Read Latency": 229024.9, "Median Update Latency": 383.2, "Tail Update Latency": 229457.9}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200085.1, "Median Read Latency": 88.4, "Tail Read Latency": 241.4, "Median Update Latency": 95.2, "Tail Update Latency": 234.6}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200047.0, "Median Read Latency": 94.9, "Tail Read Latency": 171.3, "Median Update Latency": 99.5, "Tail Update Latency": 172.3}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 559301.4, "Median Read Latency": 14825.1, "Tail Read Latency": 254187.0, "Median Update Latency": 14664.1, "Tail Update Latency": 254937.9}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100010.6, "Median Read Latency": 85.3, "Tail Read Latency": 162.3, "Median Update Latency": 91.4, "Tail Update Latency": 173.7}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578074.7, "Median Read Latency": 11791.1, "Tail Read Latency": 223980.5, "Median Update Latency": 11864.7, "Tail Update Latency": 226155.9}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100001.6, "Median Read Latency": 85.8, "Tail Read Latency": 162.2, "Median Update Latency": 92.7, "Tail Update Latency": 171.3}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400002.4, "Median Read Latency": 116.0, "Tail Read Latency": 1275.3, "Median Update Latency": 120.4, "Tail Update Latency": 1950.4}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 99993.8, "Median Read Latency": 85.5, "Tail Read Latency": 165.2, "Median Update Latency": 91.9, "Tail Update Latency": 174.4}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300001.0, "Median Read Latency": 104.6, "Tail Read Latency": 264.9, "Median Update Latency": 109.1, "Tail Update Latency": 267.0}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300047.2, "Median Read Latency": 104.8, "Tail Read Latency": 270.7, "Median Update Latency": 108.8, "Tail Update Latency": 291.1}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99984.4, "Median Read Latency": 92.5, "Tail Read Latency": 140.9, "Median Update Latency": 97.6, "Tail Update Latency": 151.5}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499211.4, "Median Read Latency": 4829.0, "Tail Read Latency": 227460.6, "Median Update Latency": 5820.2, "Tail Update Latency": 228629.5}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399973.0, "Median Read Latency": 116.6, "Tail Read Latency": 1517.8, "Median Update Latency": 122.0, "Tail Update Latency": 2040.5}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 604492.9, "Median Read Latency": 22608.3, "Tail Read Latency": 250393.4, "Median Update Latency": 23071.2, "Tail Update Latency": 256668.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 611693.3, "Median Read Latency": 14027.6, "Tail Read Latency": 243356.0, "Median Update Latency": 14022.5, "Tail Update Latency": 250001.8}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200042.2, "Median Read Latency": 88.5, "Tail Read Latency": 243.2, "Median Update Latency": 94.9, "Tail Update Latency": 236.6}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 559704.6, "Median Read Latency": 14430.7, "Tail Read Latency": 250332.9, "Median Update Latency": 14418.1, "Tail Update Latency": 253148.7}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499223.6, "Median Read Latency": 4367.8, "Tail Read Latency": 226883.4, "Median Update Latency": 5244.0, "Tail Update Latency": 221016.3}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 568544.1, "Median Read Latency": 2365.9, "Tail Read Latency": 228962.5, "Median Update Latency": 4500.7, "Tail Update Latency": 230563.3}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100000.3, "Median Read Latency": 78.8, "Tail Read Latency": 119.8, "Median Update Latency": 84.1, "Tail Update Latency": 127.7}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499122.9, "Median Read Latency": 3607.2, "Tail Read Latency": 224649.4, "Median Update Latency": 3444.9, "Tail Update Latency": 225614.4}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400014.4, "Median Read Latency": 116.2, "Tail Read Latency": 1195.9, "Median Update Latency": 120.5, "Tail Update Latency": 1364.5}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199998.7, "Median Read Latency": 88.4, "Tail Read Latency": 243.1, "Median Update Latency": 94.8, "Tail Update Latency": 250.8}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 99995.7, "Median Read Latency": 86.0, "Tail Read Latency": 169.2, "Median Update Latency": 92.9, "Tail Update Latency": 184.7}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100033.6, "Median Read Latency": 92.2, "Tail Read Latency": 140.4, "Median Update Latency": 97.9, "Tail Update Latency": 150.8}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400016.4, "Median Read Latency": 107.1, "Tail Read Latency": 600.3, "Median Update Latency": 113.1, "Tail Update Latency": 614.8}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 596136.4, "Median Read Latency": 13397.2, "Tail Read Latency": 56097.2, "Median Update Latency": 13382.5, "Tail Update Latency": 52032.8}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99991.6, "Median Read Latency": 78.8, "Tail Read Latency": 123.0, "Median Update Latency": 84.3, "Tail Update Latency": 129.0}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 577576.0, "Median Read Latency": 11304.9, "Tail Read Latency": 223373.9, "Median Update Latency": 11351.8, "Tail Update Latency": 222493.1}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621059.2, "Median Read Latency": 836.3, "Tail Read Latency": 229758.4, "Median Update Latency": 5313.0, "Tail Update Latency": 229136.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200039.4, "Median Read Latency": 79.0, "Tail Read Latency": 128.4, "Median Update Latency": 83.6, "Tail Update Latency": 137.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 563457.7, "Median Read Latency": 16701.6, "Tail Read Latency": 249200.5, "Median Update Latency": 16861.1, "Tail Update Latency": 248788.2}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399982.2, "Median Read Latency": 113.1, "Tail Read Latency": 881.3, "Median Update Latency": 119.4, "Tail Update Latency": 900.6}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 595465.4, "Median Read Latency": 13157.2, "Tail Read Latency": 75250.3, "Median Update Latency": 13247.2, "Tail Update Latency": 80003.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499959.8, "Median Read Latency": 262.9, "Tail Read Latency": 12395.7, "Median Update Latency": 295.8, "Tail Update Latency": 12350.6}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 589612.6, "Median Read Latency": 13433.9, "Tail Read Latency": 47674.3, "Median Update Latency": 13410.5, "Tail Update Latency": 57342.6}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 199957.2, "Median Read Latency": 80.1, "Tail Read Latency": 138.1, "Median Update Latency": 85.2, "Tail Update Latency": 143.2}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200034.1, "Median Read Latency": 94.9, "Tail Read Latency": 171.1, "Median Update Latency": 99.7, "Tail Update Latency": 180.0}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500007.9, "Median Read Latency": 178.2, "Tail Read Latency": 12033.8, "Median Update Latency": 168.2, "Tail Update Latency": 12001.3}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 497856.1, "Median Read Latency": 4145.0, "Tail Read Latency": 226546.5, "Median Update Latency": 3441.9, "Tail Update Latency": 227252.1}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300033.4, "Median Read Latency": 104.2, "Tail Read Latency": 268.6, "Median Update Latency": 109.9, "Tail Update Latency": 279.2}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 568855.7, "Median Read Latency": 9605.0, "Tail Read Latency": 232225.5, "Median Update Latency": 9612.0, "Tail Update Latency": 232598.3}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200009.7, "Median Read Latency": 88.0, "Tail Read Latency": 239.6, "Median Update Latency": 94.3, "Tail Update Latency": 241.1}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 570228.2, "Median Read Latency": 6570.1, "Tail Read Latency": 225938.3, "Median Update Latency": 6319.2, "Tail Update Latency": 221840.9}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299969.9, "Median Read Latency": 90.6, "Tail Read Latency": 349.4, "Median Update Latency": 96.7, "Tail Update Latency": 363.3}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 620657.5, "Median Read Latency": 5477.7, "Tail Read Latency": 231316.9, "Median Update Latency": 3529.9, "Tail Update Latency": 232065.4}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99976.6, "Median Read Latency": 92.6, "Tail Read Latency": 140.5, "Median Update Latency": 97.5, "Tail Update Latency": 149.4}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400042.8, "Median Read Latency": 117.3, "Tail Read Latency": 1777.2, "Median Update Latency": 123.8, "Tail Update Latency": 1476.7}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100038.9, "Median Read Latency": 79.2, "Tail Read Latency": 122.3, "Median Update Latency": 85.3, "Tail Update Latency": 130.3}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 680848.2, "Median Read Latency": 6171.2, "Tail Read Latency": 227595.7, "Median Update Latency": 6211.2, "Tail Update Latency": 226364.4}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400014.0, "Median Read Latency": 113.7, "Tail Read Latency": 861.3, "Median Update Latency": 120.8, "Tail Update Latency": 910.6}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299995.0, "Median Read Latency": 99.8, "Tail Read Latency": 460.1, "Median Update Latency": 105.9, "Tail Update Latency": 467.5}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499364.1, "Median Read Latency": 2224.1, "Tail Read Latency": 226096.6, "Median Update Latency": 3068.3, "Tail Update Latency": 225018.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500025.6, "Median Read Latency": 313.0, "Tail Read Latency": 11828.0, "Median Update Latency": 321.6, "Tail Update Latency": 11853.5}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 620927.4, "Median Read Latency": 24535.1, "Tail Read Latency": 257784.9, "Median Update Latency": 24537.7, "Tail Update Latency": 255864.2}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 602632.4, "Median Read Latency": 13072.1, "Tail Read Latency": 61232.2, "Median Update Latency": 13168.5, "Tail Update Latency": 92245.5}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199927.4, "Median Read Latency": 89.4, "Tail Read Latency": 245.8, "Median Update Latency": 95.9, "Tail Update Latency": 254.7}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595090.7, "Median Read Latency": 16183.6, "Tail Read Latency": 247979.2, "Median Update Latency": 16252.1, "Tail Update Latency": 250173.3}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618956.2, "Median Read Latency": 6020.9, "Tail Read Latency": 229495.0, "Median Update Latency": 415.4, "Tail Update Latency": 230616.9}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399956.4, "Median Read Latency": 104.6, "Tail Read Latency": 502.8, "Median Update Latency": 109.0, "Tail Update Latency": 496.5}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 299923.6, "Median Read Latency": 88.0, "Tail Read Latency": 180.5, "Median Update Latency": 93.2, "Tail Update Latency": 186.6}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300010.4, "Median Read Latency": 99.9, "Tail Read Latency": 441.2, "Median Update Latency": 105.4, "Tail Update Latency": 423.4}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300014.0, "Median Read Latency": 97.4, "Tail Read Latency": 219.0, "Median Update Latency": 101.9, "Tail Update Latency": 236.6}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499459.5, "Median Read Latency": 4253.1, "Tail Read Latency": 224248.7, "Median Update Latency": 3402.1, "Tail Update Latency": 224262.8}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300062.5, "Median Read Latency": 91.6, "Tail Read Latency": 357.4, "Median Update Latency": 98.9, "Tail Update Latency": 364.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 678611.1, "Median Read Latency": 6160.8, "Tail Read Latency": 229544.6, "Median Update Latency": 5851.0, "Tail Update Latency": 229411.7}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578256.9, "Median Read Latency": 11180.9, "Tail Read Latency": 225596.4, "Median Update Latency": 11147.2, "Tail Update Latency": 222763.9}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400003.0, "Median Read Latency": 116.8, "Tail Read Latency": 1089.4, "Median Update Latency": 122.7, "Tail Update Latency": 831.8}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300032.2, "Median Read Latency": 90.3, "Tail Read Latency": 348.7, "Median Update Latency": 96.4, "Tail Update Latency": 350.9}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200064.6, "Median Read Latency": 78.7, "Tail Read Latency": 128.0, "Median Update Latency": 84.5, "Tail Update Latency": 138.0}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399974.1, "Median Read Latency": 115.0, "Tail Read Latency": 1410.0, "Median Update Latency": 120.0, "Tail Update Latency": 1261.5}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100010.9, "Median Read Latency": 85.4, "Tail Read Latency": 160.3, "Median Update Latency": 91.7, "Tail Update Latency": 173.0}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400024.5, "Median Read Latency": 106.4, "Tail Read Latency": 505.2, "Median Update Latency": 111.2, "Tail Update Latency": 491.0}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300011.7, "Median Read Latency": 87.3, "Tail Read Latency": 178.7, "Median Update Latency": 92.3, "Tail Update Latency": 184.7}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99988.9, "Median Read Latency": 93.3, "Tail Read Latency": 140.6, "Median Update Latency": 98.0, "Tail Update Latency": 150.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 299993.4, "Median Read Latency": 87.5, "Tail Read Latency": 181.0, "Median Update Latency": 93.2, "Tail Update Latency": 182.8}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 617912.5, "Median Read Latency": 25810.6, "Tail Read Latency": 252464.1, "Median Update Latency": 25674.3, "Tail Update Latency": 251736.1}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 625701.7, "Median Read Latency": 22503.9, "Tail Read Latency": 259542.7, "Median Update Latency": 22468.4, "Tail Update Latency": 267154.9}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499785.2, "Median Read Latency": 6496.3, "Tail Read Latency": 222659.0, "Median Update Latency": 6234.7, "Tail Update Latency": 222262.0}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 572021.8, "Median Read Latency": 9548.6, "Tail Read Latency": 233766.8, "Median Update Latency": 9524.3, "Tail Update Latency": 236551.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200009.0, "Median Read Latency": 95.4, "Tail Read Latency": 175.8, "Median Update Latency": 100.7, "Tail Update Latency": 190.9}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200027.1, "Median Read Latency": 78.6, "Tail Read Latency": 126.6, "Median Update Latency": 83.1, "Tail Update Latency": 129.1}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 557369.8, "Median Read Latency": 16483.1, "Tail Read Latency": 253742.7, "Median Update Latency": 16400.4, "Tail Update Latency": 255241.9}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499805.4, "Median Read Latency": 6508.7, "Tail Read Latency": 221536.4, "Median Update Latency": 6509.6, "Tail Update Latency": 223234.9}], ["cfa", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300035.4, "Median Read Latency": 100.2, "Tail Read Latency": 457.3, "Median Update Latency": 106.8, "Tail Update Latency": 525.7}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300050.2, "Median Read Latency": 96.4, "Tail Read Latency": 213.9, "Median Update Latency": 100.7, "Tail Update Latency": 220.0}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499885.9, "Median Read Latency": 7063.8, "Tail Read Latency": 214747.3, "Median Update Latency": 6995.4, "Tail Update Latency": 219631.2}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 609226.7, "Median Read Latency": 14494.9, "Tail Read Latency": 237210.7, "Median Update Latency": 14428.8, "Tail Update Latency": 235805.5}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 569466.3, "Median Read Latency": 511.4, "Tail Read Latency": 226153.5, "Median Update Latency": 364.6, "Tail Update Latency": 224980.5}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499908.5, "Median Read Latency": 5780.3, "Tail Read Latency": 221614.4, "Median Update Latency": 5583.2, "Tail Update Latency": 223730.2}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 564939.5, "Median Read Latency": 9668.2, "Tail Read Latency": 232075.5, "Median Update Latency": 9684.1, "Tail Update Latency": 233548.1}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100060.1, "Median Read Latency": 78.8, "Tail Read Latency": 121.0, "Median Update Latency": 84.6, "Tail Update Latency": 130.7}], ["cfa", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199988.8, "Median Read Latency": 88.0, "Tail Read Latency": 242.2, "Median Update Latency": 95.1, "Tail Update Latency": 263.1}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 619177.1, "Median Read Latency": 5783.8, "Tail Read Latency": 230993.8, "Median Update Latency": 5783.0, "Tail Update Latency": 228857.0}], ["cfa", "memcached forall", {"Target QPS": 700000, "Actual QPS": 591662.2, "Median Read Latency": 13386.9, "Tail Read Latency": 50085.4, "Median Update Latency": 13368.7, "Tail Update Latency": 44908.7}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100031.6, "Median Read Latency": 78.6, "Tail Read Latency": 120.5, "Median Update Latency": 84.0, "Tail Update Latency": 128.7}], ["cfa", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578665.8, "Median Read Latency": 12495.4, "Tail Read Latency": 71938.0, "Median Update Latency": 12460.8, "Tail Update Latency": 134007.8}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 593825.5, "Median Read Latency": 13381.8, "Tail Read Latency": 42648.3, "Median Update Latency": 13428.1, "Tail Update Latency": 52034.5}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400058.1, "Median Read Latency": 107.0, "Tail Read Latency": 542.8, "Median Update Latency": 112.4, "Tail Update Latency": 534.6}], ["cfa", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100023.5, "Median Read Latency": 86.3, "Tail Read Latency": 167.1, "Median Update Latency": 93.4, "Tail Update Latency": 177.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500013.8, "Median Read Latency": 427.0, "Tail Read Latency": 11978.9, "Median Update Latency": 1271.9, "Tail Update Latency": 12021.7}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200028.8, "Median Read Latency": 79.0, "Tail Read Latency": 128.9, "Median Update Latency": 84.0, "Tail Update Latency": 135.6}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 622974.3, "Median Read Latency": 25949.6, "Tail Read Latency": 253985.8, "Median Update Latency": 26016.2, "Tail Update Latency": 256999.9}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498679.6, "Median Read Latency": 2696.6, "Tail Read Latency": 224780.0, "Median Update Latency": 3725.6, "Tail Update Latency": 225606.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300005.0, "Median Read Latency": 87.2, "Tail Read Latency": 181.0, "Median Update Latency": 91.9, "Tail Update Latency": 190.0}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100054.4, "Median Read Latency": 78.9, "Tail Read Latency": 121.5, "Median Update Latency": 84.5, "Tail Update Latency": 128.5}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 594765.9, "Median Read Latency": 13457.0, "Tail Read Latency": 57014.3, "Median Update Latency": 13535.6, "Tail Update Latency": 62271.0}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100045.0, "Median Read Latency": 94.0, "Tail Read Latency": 147.8, "Median Update Latency": 98.6, "Tail Update Latency": 155.2}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 570755.1, "Median Read Latency": 1747.1, "Tail Read Latency": 229720.5, "Median Update Latency": 376.1, "Tail Update Latency": 230143.6}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400028.9, "Median Read Latency": 113.5, "Tail Read Latency": 883.0, "Median Update Latency": 119.6, "Tail Update Latency": 930.9}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499161.2, "Median Read Latency": 4035.8, "Tail Read Latency": 226041.1, "Median Update Latency": 4145.7, "Tail Update Latency": 227144.8}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200004.9, "Median Read Latency": 79.6, "Tail Read Latency": 128.8, "Median Update Latency": 84.8, "Tail Update Latency": 138.1}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499892.3, "Median Read Latency": 6412.0, "Tail Read Latency": 220894.5, "Median Update Latency": 6356.1, "Tail Update Latency": 222058.1}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 569172.7, "Median Read Latency": 1014.0, "Tail Read Latency": 227912.8, "Median Update Latency": 299.3, "Tail Update Latency": 226796.7}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 592497.5, "Median Read Latency": 13366.1, "Tail Read Latency": 50141.0, "Median Update Latency": 13458.6, "Tail Update Latency": 64470.4}], ["cfa", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400035.6, "Median Read Latency": 114.4, "Tail Read Latency": 884.8, "Median Update Latency": 121.0, "Tail Update Latency": 883.7}], ["cfa", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499062.3, "Median Read Latency": 2907.3, "Tail Read Latency": 226259.2, "Median Update Latency": 3329.0, "Tail Update Latency": 226354.8}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300127.5, "Median Read Latency": 104.7, "Tail Read Latency": 266.2, "Median Update Latency": 109.1, "Tail Update Latency": 269.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300046.9, "Median Read Latency": 88.4, "Tail Read Latency": 182.9, "Median Update Latency": 93.4, "Tail Update Latency": 188.3}], ["cfa", "memcached forall", {"Target QPS": 800000, "Actual QPS": 585332.5, "Median Read Latency": 13581.7, "Tail Read Latency": 41485.9, "Median Update Latency": 13562.4, "Tail Update Latency": 42725.2}]]1 [["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498755.2, "Median Read Latency": 3190.7, "Tail Read Latency": 225397.5, "Median Update Latency": 2830.3, "Tail Update Latency": 226163.8}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 199980.9, "Median Read Latency": 95.5, "Tail Read Latency": 170.9, "Median Update Latency": 100.7, "Tail Update Latency": 176.2}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399978.4, "Median Read Latency": 117.8, "Tail Read Latency": 1207.1, "Median Update Latency": 121.9, "Tail Update Latency": 1336.8}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 612437.4, "Median Read Latency": 15884.0, "Tail Read Latency": 248252.4, "Median Update Latency": 15749.0, "Tail Update Latency": 247485.6}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399937.0, "Median Read Latency": 111.9, "Tail Read Latency": 869.0, "Median Update Latency": 117.5, "Tail Update Latency": 880.8}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100019.3, "Median Read Latency": 85.8, "Tail Read Latency": 161.8, "Median Update Latency": 92.2, "Tail Update Latency": 169.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499962.9, "Median Read Latency": 185.6, "Tail Read Latency": 12305.1, "Median Update Latency": 250.1, "Tail Update Latency": 12317.4}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100007.8, "Median Read Latency": 85.9, "Tail Read Latency": 161.0, "Median Update Latency": 92.3, "Tail Update Latency": 168.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 557475.3, "Median Read Latency": 18115.8, "Tail Read Latency": 251927.5, "Median Update Latency": 18299.3, "Tail Update Latency": 250306.8}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200004.6, "Median Read Latency": 95.3, "Tail Read Latency": 173.3, "Median Update Latency": 99.9, "Tail Update Latency": 180.6}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 597071.5, "Median Read Latency": 13212.4, "Tail Read Latency": 62539.9, "Median Update Latency": 13231.2, "Tail Update Latency": 69653.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 199978.5, "Median Read Latency": 95.5, "Tail Read Latency": 177.6, "Median Update Latency": 100.3, "Tail Update Latency": 186.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 614246.9, "Median Read Latency": 16225.4, "Tail Read Latency": 250527.9, "Median Update Latency": 16499.8, "Tail Update Latency": 256449.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300008.6, "Median Read Latency": 87.5, "Tail Read Latency": 183.5, "Median Update Latency": 93.1, "Tail Update Latency": 190.9}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100006.9, "Median Read Latency": 85.4, "Tail Read Latency": 177.6, "Median Update Latency": 92.0, "Tail Update Latency": 194.1}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200005.2, "Median Read Latency": 95.3, "Tail Read Latency": 173.8, "Median Update Latency": 99.8, "Tail Update Latency": 183.7}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572663.5, "Median Read Latency": 371.4, "Tail Read Latency": 227972.8, "Median Update Latency": 1399.1, "Tail Update Latency": 226684.5}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 622639.2, "Median Read Latency": 5780.5, "Tail Read Latency": 230039.3, "Median Update Latency": 7841.8, "Tail Update Latency": 229186.6}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 592141.1, "Median Read Latency": 13408.6, "Tail Read Latency": 48231.9, "Median Update Latency": 13507.0, "Tail Update Latency": 49970.4}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299997.1, "Median Read Latency": 91.3, "Tail Read Latency": 346.2, "Median Update Latency": 97.8, "Tail Update Latency": 359.3}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299972.9, "Median Read Latency": 100.3, "Tail Read Latency": 454.5, "Median Update Latency": 106.7, "Tail Update Latency": 436.9}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 598258.7, "Median Read Latency": 13440.2, "Tail Read Latency": 50537.1, "Median Update Latency": 13527.6, "Tail Update Latency": 47965.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 299962.2, "Median Read Latency": 88.0, "Tail Read Latency": 181.4, "Median Update Latency": 93.3, "Tail Update Latency": 187.2}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 602219.4, "Median Read Latency": 25297.0, "Tail Read Latency": 250896.6, "Median Update Latency": 25038.5, "Tail Update Latency": 251507.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 564998.0, "Median Read Latency": 20010.7, "Tail Read Latency": 250571.5, "Median Update Latency": 20091.0, "Tail Update Latency": 250161.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499891.1, "Median Read Latency": 7175.0, "Tail Read Latency": 220926.7, "Median Update Latency": 7105.9, "Tail Update Latency": 221994.0}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499974.2, "Median Read Latency": 211.4, "Tail Read Latency": 11680.1, "Median Update Latency": 829.2, "Tail Update Latency": 11990.8}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300012.7, "Median Read Latency": 97.1, "Tail Read Latency": 222.8, "Median Update Latency": 101.7, "Tail Update Latency": 238.1}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300070.5, "Median Read Latency": 96.8, "Tail Read Latency": 220.3, "Median Update Latency": 101.7, "Tail Update Latency": 237.8}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100008.7, "Median Read Latency": 85.6, "Tail Read Latency": 163.0, "Median Update Latency": 92.3, "Tail Update Latency": 175.3}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400028.9, "Median Read Latency": 114.8, "Tail Read Latency": 956.1, "Median Update Latency": 120.3, "Tail Update Latency": 1350.3}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300055.6, "Median Read Latency": 86.4, "Tail Read Latency": 175.9, "Median Update Latency": 91.2, "Tail Update Latency": 180.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 673707.6, "Median Read Latency": 6827.8, "Tail Read Latency": 231197.0, "Median Update Latency": 7140.8, "Tail Update Latency": 231287.8}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 601228.5, "Median Read Latency": 12871.0, "Tail Read Latency": 219146.6, "Median Update Latency": 12852.8, "Tail Update Latency": 56501.0}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300015.0, "Median Read Latency": 100.1, "Tail Read Latency": 481.1, "Median Update Latency": 105.7, "Tail Update Latency": 488.7}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 99997.9, "Median Read Latency": 85.4, "Tail Read Latency": 167.7, "Median Update Latency": 92.4, "Tail Update Latency": 173.4}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200021.1, "Median Read Latency": 88.1, "Tail Read Latency": 244.9, "Median Update Latency": 95.0, "Tail Update Latency": 253.9}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400017.0, "Median Read Latency": 113.1, "Tail Read Latency": 849.1, "Median Update Latency": 119.1, "Tail Update Latency": 882.8}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 562604.7, "Median Read Latency": 19819.4, "Tail Read Latency": 249845.8, "Median Update Latency": 19871.1, "Tail Update Latency": 249555.6}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572312.9, "Median Read Latency": 6524.3, "Tail Read Latency": 228864.5, "Median Update Latency": 2602.5, "Tail Update Latency": 228616.6}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621196.7, "Median Read Latency": 2295.2, "Tail Read Latency": 231836.0, "Median Update Latency": 1441.1, "Tail Update Latency": 230955.6}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 595177.6, "Median Read Latency": 13372.4, "Tail Read Latency": 46883.0, "Median Update Latency": 13426.8, "Tail Update Latency": 64667.1}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400026.7, "Median Read Latency": 115.7, "Tail Read Latency": 881.2, "Median Update Latency": 121.1, "Tail Update Latency": 929.1}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498000.8, "Median Read Latency": 4060.3, "Tail Read Latency": 226676.1, "Median Update Latency": 2978.6, "Tail Update Latency": 225731.4}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 579656.7, "Median Read Latency": 12225.7, "Tail Read Latency": 219760.8, "Median Update Latency": 12238.9, "Tail Update Latency": 203698.4}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200001.8, "Median Read Latency": 88.1, "Tail Read Latency": 240.2, "Median Update Latency": 94.6, "Tail Update Latency": 251.4}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 594850.0, "Median Read Latency": 13333.6, "Tail Read Latency": 52682.0, "Median Update Latency": 13351.9, "Tail Update Latency": 56204.4}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499921.3, "Median Read Latency": 6662.5, "Tail Read Latency": 219673.4, "Median Update Latency": 6837.7, "Tail Update Latency": 211568.1}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 572487.8, "Median Read Latency": 10378.4, "Tail Read Latency": 226976.4, "Median Update Latency": 10403.8, "Tail Update Latency": 227094.8}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 594974.2, "Median Read Latency": 13359.6, "Tail Read Latency": 41942.6, "Median Update Latency": 13334.3, "Tail Update Latency": 44809.8}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 199997.8, "Median Read Latency": 78.3, "Tail Read Latency": 128.0, "Median Update Latency": 82.8, "Tail Update Latency": 134.8}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400037.0, "Median Read Latency": 115.5, "Tail Read Latency": 996.4, "Median Update Latency": 120.1, "Tail Update Latency": 1664.7}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500010.9, "Median Read Latency": 165.0, "Tail Read Latency": 12206.4, "Median Update Latency": 179.4, "Tail Update Latency": 12184.2}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200000.1, "Median Read Latency": 95.5, "Tail Read Latency": 180.0, "Median Update Latency": 99.7, "Tail Update Latency": 182.7}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99978.3, "Median Read Latency": 77.9, "Tail Read Latency": 118.1, "Median Update Latency": 83.2, "Tail Update Latency": 128.9}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399987.9, "Median Read Latency": 108.4, "Tail Read Latency": 539.7, "Median Update Latency": 113.9, "Tail Update Latency": 539.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499820.4, "Median Read Latency": 5658.7, "Tail Read Latency": 212053.1, "Median Update Latency": 5741.1, "Tail Update Latency": 50321.8}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400070.7, "Median Read Latency": 111.9, "Tail Read Latency": 890.4, "Median Update Latency": 117.0, "Tail Update Latency": 828.8}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 601775.8, "Median Read Latency": 23117.3, "Tail Read Latency": 250232.9, "Median Update Latency": 23116.7, "Tail Update Latency": 246551.8}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100001.3, "Median Read Latency": 92.8, "Tail Read Latency": 140.9, "Median Update Latency": 98.0, "Tail Update Latency": 152.9}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 574754.4, "Median Read Latency": 357.0, "Tail Read Latency": 231151.6, "Median Update Latency": 557.4, "Tail Update Latency": 229444.1}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 573363.3, "Median Read Latency": 9889.6, "Tail Read Latency": 229927.1, "Median Update Latency": 9906.8, "Tail Update Latency": 231207.8}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679908.4, "Median Read Latency": 5451.8, "Tail Read Latency": 230889.9, "Median Update Latency": 5681.1, "Tail Update Latency": 232091.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 609366.0, "Median Read Latency": 16768.6, "Tail Read Latency": 247631.3, "Median Update Latency": 17033.4, "Tail Update Latency": 253910.6}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200039.8, "Median Read Latency": 95.6, "Tail Read Latency": 174.6, "Median Update Latency": 100.5, "Tail Update Latency": 180.7}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 596702.7, "Median Read Latency": 13428.9, "Tail Read Latency": 51857.9, "Median Update Latency": 13435.2, "Tail Update Latency": 83668.0}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 576584.3, "Median Read Latency": 10177.2, "Tail Read Latency": 228562.7, "Median Update Latency": 10194.1, "Tail Update Latency": 227658.5}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499992.8, "Median Read Latency": 162.7, "Tail Read Latency": 11374.3, "Median Update Latency": 167.4, "Tail Update Latency": 11372.9}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595017.0, "Median Read Latency": 17998.2, "Tail Read Latency": 243922.3, "Median Update Latency": 18344.5, "Tail Update Latency": 239502.7}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199994.0, "Median Read Latency": 88.5, "Tail Read Latency": 239.3, "Median Update Latency": 95.4, "Tail Update Latency": 248.8}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299957.9, "Median Read Latency": 105.1, "Tail Read Latency": 274.5, "Median Update Latency": 109.5, "Tail Update Latency": 287.3}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200018.7, "Median Read Latency": 95.2, "Tail Read Latency": 172.9, "Median Update Latency": 100.4, "Tail Update Latency": 174.6}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500038.3, "Median Read Latency": 211.6, "Tail Read Latency": 11382.7, "Median Update Latency": 206.1, "Tail Update Latency": 11382.7}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 597722.5, "Median Read Latency": 13397.7, "Tail Read Latency": 58411.2, "Median Update Latency": 13387.9, "Tail Update Latency": 68941.3}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100030.7, "Median Read Latency": 85.7, "Tail Read Latency": 163.9, "Median Update Latency": 92.0, "Tail Update Latency": 171.4}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 558818.6, "Median Read Latency": 13363.8, "Tail Read Latency": 248229.0, "Median Update Latency": 13350.2, "Tail Update Latency": 249960.2}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621757.3, "Median Read Latency": 5239.7, "Tail Read Latency": 234406.2, "Median Update Latency": 6894.0, "Tail Update Latency": 234114.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679182.4, "Median Read Latency": 5967.0, "Tail Read Latency": 228719.6, "Median Update Latency": 6772.4, "Tail Update Latency": 228625.2}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200045.5, "Median Read Latency": 79.2, "Tail Read Latency": 128.4, "Median Update Latency": 84.2, "Tail Update Latency": 137.4}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99987.1, "Median Read Latency": 93.3, "Tail Read Latency": 141.6, "Median Update Latency": 98.5, "Tail Update Latency": 152.4}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300010.7, "Median Read Latency": 92.5, "Tail Read Latency": 349.6, "Median Update Latency": 99.4, "Tail Update Latency": 379.9}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400028.0, "Median Read Latency": 113.6, "Tail Read Latency": 841.4, "Median Update Latency": 120.0, "Tail Update Latency": 882.9}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 593569.4, "Median Read Latency": 13403.1, "Tail Read Latency": 39646.1, "Median Update Latency": 13399.0, "Tail Update Latency": 37874.8}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400020.1, "Median Read Latency": 107.8, "Tail Read Latency": 564.8, "Median Update Latency": 112.1, "Tail Update Latency": 551.0}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 597114.9, "Median Read Latency": 18109.7, "Tail Read Latency": 246701.4, "Median Update Latency": 17982.1, "Tail Update Latency": 247698.7}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 592504.7, "Median Read Latency": 13426.0, "Tail Read Latency": 44154.2, "Median Update Latency": 13401.8, "Tail Update Latency": 46925.7}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300004.6, "Median Read Latency": 87.4, "Tail Read Latency": 181.7, "Median Update Latency": 92.3, "Tail Update Latency": 184.6}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199991.6, "Median Read Latency": 87.7, "Tail Read Latency": 238.7, "Median Update Latency": 94.3, "Tail Update Latency": 241.1}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300039.2, "Median Read Latency": 100.0, "Tail Read Latency": 465.5, "Median Update Latency": 105.5, "Tail Update Latency": 437.3}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 555859.2, "Median Read Latency": 14324.7, "Tail Read Latency": 252224.7, "Median Update Latency": 14183.0, "Tail Update Latency": 253064.7}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 591884.8, "Median Read Latency": 18852.4, "Tail Read Latency": 245546.0, "Median Update Latency": 18781.5, "Tail Update Latency": 251330.1}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 560411.7, "Median Read Latency": 16212.0, "Tail Read Latency": 249414.2, "Median Update Latency": 16315.3, "Tail Update Latency": 252118.3}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499875.4, "Median Read Latency": 7148.7, "Tail Read Latency": 221728.4, "Median Update Latency": 6854.7, "Tail Update Latency": 223478.5}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 603884.3, "Median Read Latency": 12495.1, "Tail Read Latency": 220449.1, "Median Update Latency": 12489.2, "Tail Update Latency": 220650.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 686509.4, "Median Read Latency": 6617.1, "Tail Read Latency": 231746.5, "Median Update Latency": 6934.3, "Tail Update Latency": 232363.0}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 623145.4, "Median Read Latency": 5661.8, "Tail Read Latency": 229372.2, "Median Update Latency": 6085.7, "Tail Update Latency": 230691.9}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100019.7, "Median Read Latency": 93.3, "Tail Read Latency": 142.6, "Median Update Latency": 98.3, "Tail Update Latency": 152.2}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499889.0, "Median Read Latency": 155.9, "Tail Read Latency": 12059.8, "Median Update Latency": 169.9, "Tail Update Latency": 12072.0}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100018.5, "Median Read Latency": 86.6, "Tail Read Latency": 164.3, "Median Update Latency": 92.9, "Tail Update Latency": 179.2}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100008.8, "Median Read Latency": 85.5, "Tail Read Latency": 162.2, "Median Update Latency": 92.2, "Tail Update Latency": 169.4}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 559071.8, "Median Read Latency": 13053.0, "Tail Read Latency": 247054.3, "Median Update Latency": 13181.4, "Tail Update Latency": 246805.2}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100016.0, "Median Read Latency": 78.2, "Tail Read Latency": 119.3, "Median Update Latency": 84.1, "Tail Update Latency": 130.7}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400025.2, "Median Read Latency": 104.6, "Tail Read Latency": 513.5, "Median Update Latency": 108.7, "Tail Update Latency": 505.0}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100009.2, "Median Read Latency": 93.0, "Tail Read Latency": 143.2, "Median Update Latency": 98.0, "Tail Update Latency": 154.2}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399978.2, "Median Read Latency": 104.6, "Tail Read Latency": 482.3, "Median Update Latency": 109.5, "Tail Update Latency": 481.6}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399992.4, "Median Read Latency": 115.3, "Tail Read Latency": 1018.2, "Median Update Latency": 121.2, "Tail Update Latency": 1420.5}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200039.6, "Median Read Latency": 88.3, "Tail Read Latency": 235.4, "Median Update Latency": 94.9, "Tail Update Latency": 242.1}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498725.8, "Median Read Latency": 3893.4, "Tail Read Latency": 227347.3, "Median Update Latency": 3733.9, "Tail Update Latency": 227619.0}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200028.7, "Median Read Latency": 79.2, "Tail Read Latency": 129.6, "Median Update Latency": 84.3, "Tail Update Latency": 138.4}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 620433.1, "Median Read Latency": 21839.7, "Tail Read Latency": 249643.8, "Median Update Latency": 22022.9, "Tail Update Latency": 249993.9}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 569787.5, "Median Read Latency": 3043.0, "Tail Read Latency": 226727.4, "Median Update Latency": 6870.7, "Tail Update Latency": 227823.6}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 597059.4, "Median Read Latency": 13321.6, "Tail Read Latency": 45190.1, "Median Update Latency": 13316.7, "Tail Update Latency": 44028.0}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300053.7, "Median Read Latency": 86.8, "Tail Read Latency": 184.7, "Median Update Latency": 92.1, "Tail Update Latency": 192.5}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100014.4, "Median Read Latency": 93.1, "Tail Read Latency": 141.1, "Median Update Latency": 98.9, "Tail Update Latency": 150.9}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618846.7, "Median Read Latency": 902.7, "Tail Read Latency": 227141.2, "Median Update Latency": 637.8, "Tail Update Latency": 224313.9}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595532.7, "Median Read Latency": 16978.5, "Tail Read Latency": 248593.5, "Median Update Latency": 16895.7, "Tail Update Latency": 250405.5}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 620493.4, "Median Read Latency": 19597.9, "Tail Read Latency": 247174.2, "Median Update Latency": 19579.3, "Tail Update Latency": 250788.1}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399994.3, "Median Read Latency": 103.5, "Tail Read Latency": 456.3, "Median Update Latency": 108.6, "Tail Update Latency": 464.3}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572443.4, "Median Read Latency": 5819.9, "Tail Read Latency": 229576.2, "Median Update Latency": 5419.3, "Tail Update Latency": 230185.9}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200006.2, "Median Read Latency": 95.2, "Tail Read Latency": 174.1, "Median Update Latency": 99.8, "Tail Update Latency": 183.5}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 675884.4, "Median Read Latency": 5168.9, "Tail Read Latency": 232226.3, "Median Update Latency": 5221.0, "Tail Update Latency": 234665.5}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300048.0, "Median Read Latency": 104.7, "Tail Read Latency": 274.3, "Median Update Latency": 110.1, "Tail Update Latency": 270.9}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 593973.5, "Median Read Latency": 13469.9, "Tail Read Latency": 48997.9, "Median Update Latency": 13481.7, "Tail Update Latency": 43736.0}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400014.9, "Median Read Latency": 114.7, "Tail Read Latency": 985.2, "Median Update Latency": 117.9, "Tail Update Latency": 836.7}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100023.3, "Median Read Latency": 92.3, "Tail Read Latency": 140.0, "Median Update Latency": 97.5, "Tail Update Latency": 150.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200024.8, "Median Read Latency": 78.3, "Tail Read Latency": 127.6, "Median Update Latency": 82.7, "Tail Update Latency": 133.8}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299955.1, "Median Read Latency": 92.6, "Tail Read Latency": 352.0, "Median Update Latency": 99.0, "Tail Update Latency": 340.3}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499993.2, "Median Read Latency": 496.8, "Tail Read Latency": 11875.1, "Median Update Latency": 347.0, "Tail Update Latency": 11798.5}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400080.4, "Median Read Latency": 105.7, "Tail Read Latency": 515.6, "Median Update Latency": 110.8, "Tail Update Latency": 518.0}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621476.0, "Median Read Latency": 4652.6, "Tail Read Latency": 228156.0, "Median Update Latency": 4843.4, "Tail Update Latency": 226596.6}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618279.2, "Median Read Latency": 4429.6, "Tail Read Latency": 228611.1, "Median Update Latency": 4362.4, "Tail Update Latency": 226378.2}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 593594.2, "Median Read Latency": 13393.0, "Tail Read Latency": 57221.3, "Median Update Latency": 13422.7, "Tail Update Latency": 80690.8}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200022.4, "Median Read Latency": 95.8, "Tail Read Latency": 172.8, "Median Update Latency": 100.5, "Tail Update Latency": 185.4}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 560918.1, "Median Read Latency": 16358.1, "Tail Read Latency": 253540.6, "Median Update Latency": 16212.4, "Tail Update Latency": 251232.8}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 669430.7, "Median Read Latency": 5583.0, "Tail Read Latency": 231084.5, "Median Update Latency": 6019.7, "Tail Update Latency": 232056.7}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399991.3, "Median Read Latency": 106.0, "Tail Read Latency": 530.9, "Median Update Latency": 111.6, "Tail Update Latency": 541.9}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399954.1, "Median Read Latency": 115.9, "Tail Read Latency": 1160.1, "Median Update Latency": 121.1, "Tail Update Latency": 1101.6}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 606298.3, "Median Read Latency": 12500.1, "Tail Read Latency": 221340.8, "Median Update Latency": 12479.4, "Tail Update Latency": 220126.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 677365.7, "Median Read Latency": 5572.2, "Tail Read Latency": 232186.6, "Median Update Latency": 5377.3, "Tail Update Latency": 234817.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 560278.3, "Median Read Latency": 15552.2, "Tail Read Latency": 251034.1, "Median Update Latency": 15592.0, "Tail Update Latency": 246436.6}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595753.0, "Median Read Latency": 23720.5, "Tail Read Latency": 249422.3, "Median Update Latency": 23512.1, "Tail Update Latency": 249583.9}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400063.9, "Median Read Latency": 113.4, "Tail Read Latency": 862.6, "Median Update Latency": 120.0, "Tail Update Latency": 817.9}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499823.1, "Median Read Latency": 7675.7, "Tail Read Latency": 221134.1, "Median Update Latency": 7669.5, "Tail Update Latency": 221961.7}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399924.2, "Median Read Latency": 113.2, "Tail Read Latency": 860.6, "Median Update Latency": 119.8, "Tail Update Latency": 955.3}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300058.2, "Median Read Latency": 87.1, "Tail Read Latency": 181.8, "Median Update Latency": 91.9, "Tail Update Latency": 186.4}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100027.5, "Median Read Latency": 79.1, "Tail Read Latency": 123.2, "Median Update Latency": 84.7, "Tail Update Latency": 132.5}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 598396.1, "Median Read Latency": 15300.7, "Tail Read Latency": 244675.0, "Median Update Latency": 15021.1, "Tail Update Latency": 241147.1}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572232.9, "Median Read Latency": 5540.0, "Tail Read Latency": 226307.6, "Median Update Latency": 6565.7, "Tail Update Latency": 228217.0}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100026.0, "Median Read Latency": 79.4, "Tail Read Latency": 119.9, "Median Update Latency": 84.8, "Tail Update Latency": 127.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 612789.2, "Median Read Latency": 20433.4, "Tail Read Latency": 248317.0, "Median Update Latency": 19920.1, "Tail Update Latency": 248162.6}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 633366.9, "Median Read Latency": 27763.5, "Tail Read Latency": 261832.4, "Median Update Latency": 27589.3, "Tail Update Latency": 260902.8}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300076.6, "Median Read Latency": 91.9, "Tail Read Latency": 355.3, "Median Update Latency": 97.9, "Tail Update Latency": 346.9}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400067.4, "Median Read Latency": 104.2, "Tail Read Latency": 490.8, "Median Update Latency": 109.1, "Tail Update Latency": 489.3}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100018.2, "Median Read Latency": 79.5, "Tail Read Latency": 124.0, "Median Update Latency": 85.6, "Tail Update Latency": 130.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 673606.9, "Median Read Latency": 6399.4, "Tail Read Latency": 232519.9, "Median Update Latency": 7309.5, "Tail Update Latency": 233818.8}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618746.2, "Median Read Latency": 5440.4, "Tail Read Latency": 229943.5, "Median Update Latency": 6759.6, "Tail Update Latency": 229563.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300022.9, "Median Read Latency": 87.6, "Tail Read Latency": 182.6, "Median Update Latency": 92.8, "Tail Update Latency": 187.9}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400008.0, "Median Read Latency": 111.5, "Tail Read Latency": 841.2, "Median Update Latency": 118.5, "Tail Update Latency": 843.9}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300049.4, "Median Read Latency": 88.0, "Tail Read Latency": 183.8, "Median Update Latency": 94.3, "Tail Update Latency": 187.9}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299973.6, "Median Read Latency": 103.9, "Tail Read Latency": 264.6, "Median Update Latency": 108.6, "Tail Update Latency": 264.8}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 634051.9, "Median Read Latency": 29679.0, "Tail Read Latency": 276428.2, "Median Update Latency": 29553.8, "Tail Update Latency": 275365.1}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595601.7, "Median Read Latency": 16592.4, "Tail Read Latency": 248858.5, "Median Update Latency": 16643.3, "Tail Update Latency": 249676.4}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299996.7, "Median Read Latency": 105.2, "Tail Read Latency": 265.0, "Median Update Latency": 110.0, "Tail Update Latency": 291.7}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 601384.7, "Median Read Latency": 21991.8, "Tail Read Latency": 251918.5, "Median Update Latency": 22250.9, "Tail Update Latency": 254757.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 672509.3, "Median Read Latency": 6597.4, "Tail Read Latency": 231210.5, "Median Update Latency": 6618.7, "Tail Update Latency": 230082.2}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618813.0, "Median Read Latency": 2470.6, "Tail Read Latency": 229954.7, "Median Update Latency": 448.3, "Tail Update Latency": 230106.4}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399964.2, "Median Read Latency": 104.2, "Tail Read Latency": 500.7, "Median Update Latency": 109.3, "Tail Update Latency": 512.1}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200027.6, "Median Read Latency": 88.4, "Tail Read Latency": 242.7, "Median Update Latency": 95.4, "Tail Update Latency": 259.1}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200074.5, "Median Read Latency": 95.6, "Tail Read Latency": 174.1, "Median Update Latency": 100.6, "Tail Update Latency": 180.8}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 590638.3, "Median Read Latency": 20591.5, "Tail Read Latency": 245328.4, "Median Update Latency": 20026.6, "Tail Update Latency": 247076.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499880.6, "Median Read Latency": 6449.0, "Tail Read Latency": 220474.9, "Median Update Latency": 6244.1, "Tail Update Latency": 221755.8}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499651.8, "Median Read Latency": 3100.6, "Tail Read Latency": 224805.6, "Median Update Latency": 3231.5, "Tail Update Latency": 220308.2}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679918.1, "Median Read Latency": 6117.7, "Tail Read Latency": 235370.8, "Median Update Latency": 5461.9, "Tail Update Latency": 235881.3}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 562603.6, "Median Read Latency": 17687.5, "Tail Read Latency": 249811.6, "Median Update Latency": 17850.1, "Tail Update Latency": 248409.0}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498800.0, "Median Read Latency": 4824.4, "Tail Read Latency": 226001.1, "Median Update Latency": 3904.7, "Tail Update Latency": 225754.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300001.7, "Median Read Latency": 87.0, "Tail Read Latency": 177.7, "Median Update Latency": 91.8, "Tail Update Latency": 186.5}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200017.1, "Median Read Latency": 79.3, "Tail Read Latency": 128.7, "Median Update Latency": 84.2, "Tail Update Latency": 141.4}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400017.2, "Median Read Latency": 115.5, "Tail Read Latency": 1159.7, "Median Update Latency": 120.1, "Tail Update Latency": 989.5}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99991.2, "Median Read Latency": 78.9, "Tail Read Latency": 121.9, "Median Update Latency": 84.3, "Tail Update Latency": 129.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200019.4, "Median Read Latency": 78.7, "Tail Read Latency": 127.4, "Median Update Latency": 83.4, "Tail Update Latency": 138.3}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 574746.3, "Median Read Latency": 10094.5, "Tail Read Latency": 229286.1, "Median Update Latency": 10163.4, "Tail Update Latency": 228392.7}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 666919.6, "Median Read Latency": 5602.6, "Tail Read Latency": 231151.9, "Median Update Latency": 7137.9, "Tail Update Latency": 230738.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300001.0, "Median Read Latency": 87.0, "Tail Read Latency": 178.4, "Median Update Latency": 92.1, "Tail Update Latency": 184.3}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400016.4, "Median Read Latency": 112.3, "Tail Read Latency": 861.1, "Median Update Latency": 119.0, "Tail Update Latency": 826.2}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 554192.0, "Median Read Latency": 14565.8, "Tail Read Latency": 251281.6, "Median Update Latency": 14621.9, "Tail Update Latency": 248503.4}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400004.9, "Median Read Latency": 112.6, "Tail Read Latency": 847.6, "Median Update Latency": 119.8, "Tail Update Latency": 780.5}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499926.2, "Median Read Latency": 202.8, "Tail Read Latency": 11364.8, "Median Update Latency": 225.1, "Tail Update Latency": 11373.2}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499827.3, "Median Read Latency": 6236.1, "Tail Read Latency": 219172.4, "Median Update Latency": 6311.9, "Tail Update Latency": 218648.6}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 299983.9, "Median Read Latency": 105.0, "Tail Read Latency": 266.1, "Median Update Latency": 110.0, "Tail Update Latency": 270.9}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 572297.0, "Median Read Latency": 7121.5, "Tail Read Latency": 229699.2, "Median Update Latency": 6446.6, "Tail Update Latency": 229921.5}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300049.7, "Median Read Latency": 100.0, "Tail Read Latency": 462.1, "Median Update Latency": 106.0, "Tail Update Latency": 495.3}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300036.2, "Median Read Latency": 97.4, "Tail Read Latency": 215.2, "Median Update Latency": 101.7, "Tail Update Latency": 222.3}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 592848.3, "Median Read Latency": 13499.3, "Tail Read Latency": 54109.4, "Median Update Latency": 13537.0, "Tail Update Latency": 67041.7}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 599841.2, "Median Read Latency": 13013.2, "Tail Read Latency": 219173.4, "Median Update Latency": 12913.4, "Tail Update Latency": 78396.6}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499623.8, "Median Read Latency": 3350.4, "Tail Read Latency": 224439.8, "Median Update Latency": 2713.4, "Tail Update Latency": 227667.6}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400044.7, "Median Read Latency": 114.6, "Tail Read Latency": 904.6, "Median Update Latency": 121.3, "Tail Update Latency": 889.9}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99961.3, "Median Read Latency": 78.9, "Tail Read Latency": 121.4, "Median Update Latency": 84.1, "Tail Update Latency": 129.1}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399956.7, "Median Read Latency": 111.9, "Tail Read Latency": 913.7, "Median Update Latency": 117.9, "Tail Update Latency": 812.8}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199987.8, "Median Read Latency": 88.7, "Tail Read Latency": 240.9, "Median Update Latency": 94.8, "Tail Update Latency": 263.6}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578039.8, "Median Read Latency": 12007.4, "Tail Read Latency": 222983.8, "Median Update Latency": 12072.4, "Tail Update Latency": 223117.5}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 599235.9, "Median Read Latency": 12980.0, "Tail Read Latency": 89029.3, "Median Update Latency": 13117.6, "Tail Update Latency": 84983.3}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400003.6, "Median Read Latency": 104.1, "Tail Read Latency": 506.4, "Median Update Latency": 108.0, "Tail Update Latency": 499.3}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 667063.6, "Median Read Latency": 7072.8, "Tail Read Latency": 228047.4, "Median Update Latency": 6478.2, "Tail Update Latency": 226000.1}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 591587.5, "Median Read Latency": 13359.7, "Tail Read Latency": 50039.7, "Median Update Latency": 13361.1, "Tail Update Latency": 49096.8}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100046.8, "Median Read Latency": 93.6, "Tail Read Latency": 141.1, "Median Update Latency": 98.7, "Tail Update Latency": 149.6}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100035.3, "Median Read Latency": 93.2, "Tail Read Latency": 140.9, "Median Update Latency": 98.0, "Tail Update Latency": 149.2}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 579557.0, "Median Read Latency": 11146.3, "Tail Read Latency": 225592.5, "Median Update Latency": 11213.4, "Tail Update Latency": 227281.7}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499854.0, "Median Read Latency": 6874.0, "Tail Read Latency": 221957.8, "Median Update Latency": 6881.0, "Tail Update Latency": 223218.6}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199990.1, "Median Read Latency": 88.2, "Tail Read Latency": 238.6, "Median Update Latency": 95.8, "Tail Update Latency": 247.6}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 617227.7, "Median Read Latency": 17171.0, "Tail Read Latency": 249354.5, "Median Update Latency": 16888.9, "Tail Update Latency": 253622.6}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 616791.3, "Median Read Latency": 7783.5, "Tail Read Latency": 231012.6, "Median Update Latency": 7816.4, "Tail Update Latency": 229123.0}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100038.9, "Median Read Latency": 78.3, "Tail Read Latency": 119.7, "Median Update Latency": 83.5, "Tail Update Latency": 130.2}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 600648.1, "Median Read Latency": 19930.5, "Tail Read Latency": 252949.2, "Median Update Latency": 19774.3, "Tail Update Latency": 254769.5}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400077.3, "Median Read Latency": 115.5, "Tail Read Latency": 1407.8, "Median Update Latency": 119.4, "Tail Update Latency": 1102.4}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100003.5, "Median Read Latency": 85.9, "Tail Read Latency": 164.6, "Median Update Latency": 92.1, "Tail Update Latency": 171.8}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99984.3, "Median Read Latency": 78.3, "Tail Read Latency": 120.5, "Median Update Latency": 83.7, "Tail Update Latency": 128.5}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 596507.7, "Median Read Latency": 13251.2, "Tail Read Latency": 73339.7, "Median Update Latency": 13352.3, "Tail Update Latency": 112626.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200030.3, "Median Read Latency": 94.9, "Tail Read Latency": 171.9, "Median Update Latency": 99.8, "Tail Update Latency": 185.1}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499890.3, "Median Read Latency": 6051.4, "Tail Read Latency": 220881.9, "Median Update Latency": 5816.4, "Tail Update Latency": 220025.4}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 617601.3, "Median Read Latency": 6576.4, "Tail Read Latency": 228343.0, "Median Update Latency": 6669.8, "Tail Update Latency": 229107.3}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 614289.3, "Median Read Latency": 27798.8, "Tail Read Latency": 249319.1, "Median Update Latency": 28052.1, "Tail Update Latency": 255922.6}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400085.5, "Median Read Latency": 108.2, "Tail Read Latency": 596.3, "Median Update Latency": 112.3, "Tail Update Latency": 580.3}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499937.2, "Median Read Latency": 246.8, "Tail Read Latency": 12044.7, "Median Update Latency": 370.5, "Tail Update Latency": 11969.0}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300032.5, "Median Read Latency": 99.9, "Tail Read Latency": 450.5, "Median Update Latency": 106.5, "Tail Update Latency": 506.6}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200065.4, "Median Read Latency": 78.6, "Tail Read Latency": 127.6, "Median Update Latency": 83.6, "Tail Update Latency": 136.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200023.6, "Median Read Latency": 95.8, "Tail Read Latency": 175.4, "Median Update Latency": 100.8, "Tail Update Latency": 181.3}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200018.8, "Median Read Latency": 88.0, "Tail Read Latency": 237.2, "Median Update Latency": 95.0, "Tail Update Latency": 241.3}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100003.9, "Median Read Latency": 92.9, "Tail Read Latency": 141.7, "Median Update Latency": 98.0, "Tail Update Latency": 149.9}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200027.7, "Median Read Latency": 78.8, "Tail Read Latency": 128.1, "Median Update Latency": 84.1, "Tail Update Latency": 138.5}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 573103.5, "Median Read Latency": 6813.3, "Tail Read Latency": 228646.3, "Median Update Latency": 6506.7, "Tail Update Latency": 228655.2}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500002.4, "Median Read Latency": 165.8, "Tail Read Latency": 12247.6, "Median Update Latency": 153.3, "Tail Update Latency": 12160.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499939.4, "Median Read Latency": 236.9, "Tail Read Latency": 11686.2, "Median Update Latency": 1735.2, "Tail Update Latency": 11889.0}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100010.1, "Median Read Latency": 92.7, "Tail Read Latency": 140.3, "Median Update Latency": 98.4, "Tail Update Latency": 150.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200049.3, "Median Read Latency": 79.0, "Tail Read Latency": 128.4, "Median Update Latency": 83.8, "Tail Update Latency": 135.6}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499781.9, "Median Read Latency": 6814.0, "Tail Read Latency": 221736.9, "Median Update Latency": 6911.9, "Tail Update Latency": 208931.6}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 570152.2, "Median Read Latency": 5421.5, "Tail Read Latency": 227907.2, "Median Update Latency": 370.5, "Tail Update Latency": 226747.8}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 577102.5, "Median Read Latency": 10328.5, "Tail Read Latency": 229337.1, "Median Update Latency": 10259.6, "Tail Update Latency": 228080.1}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300011.4, "Median Read Latency": 104.6, "Tail Read Latency": 269.3, "Median Update Latency": 108.7, "Tail Update Latency": 273.6}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 679919.6, "Median Read Latency": 6524.6, "Tail Read Latency": 232330.6, "Median Update Latency": 6061.6, "Tail Update Latency": 230619.7}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 573394.8, "Median Read Latency": 847.7, "Tail Read Latency": 229024.9, "Median Update Latency": 383.2, "Tail Update Latency": 229457.9}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200085.1, "Median Read Latency": 88.4, "Tail Read Latency": 241.4, "Median Update Latency": 95.2, "Tail Update Latency": 234.6}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200047.0, "Median Read Latency": 94.9, "Tail Read Latency": 171.3, "Median Update Latency": 99.5, "Tail Update Latency": 172.3}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 559301.4, "Median Read Latency": 14825.1, "Tail Read Latency": 254187.0, "Median Update Latency": 14664.1, "Tail Update Latency": 254937.9}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100010.6, "Median Read Latency": 85.3, "Tail Read Latency": 162.3, "Median Update Latency": 91.4, "Tail Update Latency": 173.7}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578074.7, "Median Read Latency": 11791.1, "Tail Read Latency": 223980.5, "Median Update Latency": 11864.7, "Tail Update Latency": 226155.9}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100001.6, "Median Read Latency": 85.8, "Tail Read Latency": 162.2, "Median Update Latency": 92.7, "Tail Update Latency": 171.3}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400002.4, "Median Read Latency": 116.0, "Tail Read Latency": 1275.3, "Median Update Latency": 120.4, "Tail Update Latency": 1950.4}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 99993.8, "Median Read Latency": 85.5, "Tail Read Latency": 165.2, "Median Update Latency": 91.9, "Tail Update Latency": 174.4}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300001.0, "Median Read Latency": 104.6, "Tail Read Latency": 264.9, "Median Update Latency": 109.1, "Tail Update Latency": 267.0}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300047.2, "Median Read Latency": 104.8, "Tail Read Latency": 270.7, "Median Update Latency": 108.8, "Tail Update Latency": 291.1}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99984.4, "Median Read Latency": 92.5, "Tail Read Latency": 140.9, "Median Update Latency": 97.6, "Tail Update Latency": 151.5}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499211.4, "Median Read Latency": 4829.0, "Tail Read Latency": 227460.6, "Median Update Latency": 5820.2, "Tail Update Latency": 228629.5}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399973.0, "Median Read Latency": 116.6, "Tail Read Latency": 1517.8, "Median Update Latency": 122.0, "Tail Update Latency": 2040.5}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 604492.9, "Median Read Latency": 22608.3, "Tail Read Latency": 250393.4, "Median Update Latency": 23071.2, "Tail Update Latency": 256668.7}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 611693.3, "Median Read Latency": 14027.6, "Tail Read Latency": 243356.0, "Median Update Latency": 14022.5, "Tail Update Latency": 250001.8}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200042.2, "Median Read Latency": 88.5, "Tail Read Latency": 243.2, "Median Update Latency": 94.9, "Tail Update Latency": 236.6}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 559704.6, "Median Read Latency": 14430.7, "Tail Read Latency": 250332.9, "Median Update Latency": 14418.1, "Tail Update Latency": 253148.7}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499223.6, "Median Read Latency": 4367.8, "Tail Read Latency": 226883.4, "Median Update Latency": 5244.0, "Tail Update Latency": 221016.3}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 568544.1, "Median Read Latency": 2365.9, "Tail Read Latency": 228962.5, "Median Update Latency": 4500.7, "Tail Update Latency": 230563.3}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100000.3, "Median Read Latency": 78.8, "Tail Read Latency": 119.8, "Median Update Latency": 84.1, "Tail Update Latency": 127.7}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499122.9, "Median Read Latency": 3607.2, "Tail Read Latency": 224649.4, "Median Update Latency": 3444.9, "Tail Update Latency": 225614.4}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400014.4, "Median Read Latency": 116.2, "Tail Read Latency": 1195.9, "Median Update Latency": 120.5, "Tail Update Latency": 1364.5}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199998.7, "Median Read Latency": 88.4, "Tail Read Latency": 243.1, "Median Update Latency": 94.8, "Tail Update Latency": 250.8}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 99995.7, "Median Read Latency": 86.0, "Tail Read Latency": 169.2, "Median Update Latency": 92.9, "Tail Update Latency": 184.7}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100033.6, "Median Read Latency": 92.2, "Tail Read Latency": 140.4, "Median Update Latency": 97.9, "Tail Update Latency": 150.8}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400016.4, "Median Read Latency": 107.1, "Tail Read Latency": 600.3, "Median Update Latency": 113.1, "Tail Update Latency": 614.8}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 596136.4, "Median Read Latency": 13397.2, "Tail Read Latency": 56097.2, "Median Update Latency": 13382.5, "Tail Update Latency": 52032.8}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 99991.6, "Median Read Latency": 78.8, "Tail Read Latency": 123.0, "Median Update Latency": 84.3, "Tail Update Latency": 129.0}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 577576.0, "Median Read Latency": 11304.9, "Tail Read Latency": 223373.9, "Median Update Latency": 11351.8, "Tail Update Latency": 222493.1}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 621059.2, "Median Read Latency": 836.3, "Tail Read Latency": 229758.4, "Median Update Latency": 5313.0, "Tail Update Latency": 229136.4}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200039.4, "Median Read Latency": 79.0, "Tail Read Latency": 128.4, "Median Update Latency": 83.6, "Tail Update Latency": 137.9}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 563457.7, "Median Read Latency": 16701.6, "Tail Read Latency": 249200.5, "Median Update Latency": 16861.1, "Tail Update Latency": 248788.2}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 399982.2, "Median Read Latency": 113.1, "Tail Read Latency": 881.3, "Median Update Latency": 119.4, "Tail Update Latency": 900.6}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 595465.4, "Median Read Latency": 13157.2, "Tail Read Latency": 75250.3, "Median Update Latency": 13247.2, "Tail Update Latency": 80003.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 499959.8, "Median Read Latency": 262.9, "Tail Read Latency": 12395.7, "Median Update Latency": 295.8, "Tail Update Latency": 12350.6}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 589612.6, "Median Read Latency": 13433.9, "Tail Read Latency": 47674.3, "Median Update Latency": 13410.5, "Tail Update Latency": 57342.6}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 199957.2, "Median Read Latency": 80.1, "Tail Read Latency": 138.1, "Median Update Latency": 85.2, "Tail Update Latency": 143.2}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200034.1, "Median Read Latency": 94.9, "Tail Read Latency": 171.1, "Median Update Latency": 99.7, "Tail Update Latency": 180.0}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500007.9, "Median Read Latency": 178.2, "Tail Read Latency": 12033.8, "Median Update Latency": 168.2, "Tail Update Latency": 12001.3}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 497856.1, "Median Read Latency": 4145.0, "Tail Read Latency": 226546.5, "Median Update Latency": 3441.9, "Tail Update Latency": 227252.1}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300033.4, "Median Read Latency": 104.2, "Tail Read Latency": 268.6, "Median Update Latency": 109.9, "Tail Update Latency": 279.2}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 568855.7, "Median Read Latency": 9605.0, "Tail Read Latency": 232225.5, "Median Update Latency": 9612.0, "Tail Update Latency": 232598.3}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 200009.7, "Median Read Latency": 88.0, "Tail Read Latency": 239.6, "Median Update Latency": 94.3, "Tail Update Latency": 241.1}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 570228.2, "Median Read Latency": 6570.1, "Tail Read Latency": 225938.3, "Median Update Latency": 6319.2, "Tail Update Latency": 221840.9}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299969.9, "Median Read Latency": 90.6, "Tail Read Latency": 349.4, "Median Update Latency": 96.7, "Tail Update Latency": 363.3}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 620657.5, "Median Read Latency": 5477.7, "Tail Read Latency": 231316.9, "Median Update Latency": 3529.9, "Tail Update Latency": 232065.4}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99976.6, "Median Read Latency": 92.6, "Tail Read Latency": 140.5, "Median Update Latency": 97.5, "Tail Update Latency": 149.4}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400042.8, "Median Read Latency": 117.3, "Tail Read Latency": 1777.2, "Median Update Latency": 123.8, "Tail Update Latency": 1476.7}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100038.9, "Median Read Latency": 79.2, "Tail Read Latency": 122.3, "Median Update Latency": 85.3, "Tail Update Latency": 130.3}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 680848.2, "Median Read Latency": 6171.2, "Tail Read Latency": 227595.7, "Median Update Latency": 6211.2, "Tail Update Latency": 226364.4}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400014.0, "Median Read Latency": 113.7, "Tail Read Latency": 861.3, "Median Update Latency": 120.8, "Tail Update Latency": 910.6}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 299995.0, "Median Read Latency": 99.8, "Tail Read Latency": 460.1, "Median Update Latency": 105.9, "Tail Update Latency": 467.5}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499364.1, "Median Read Latency": 2224.1, "Tail Read Latency": 226096.6, "Median Update Latency": 3068.3, "Tail Update Latency": 225018.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500025.6, "Median Read Latency": 313.0, "Tail Read Latency": 11828.0, "Median Update Latency": 321.6, "Tail Update Latency": 11853.5}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 620927.4, "Median Read Latency": 24535.1, "Tail Read Latency": 257784.9, "Median Update Latency": 24537.7, "Tail Update Latency": 255864.2}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 602632.4, "Median Read Latency": 13072.1, "Tail Read Latency": 61232.2, "Median Update Latency": 13168.5, "Tail Update Latency": 92245.5}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199927.4, "Median Read Latency": 89.4, "Tail Read Latency": 245.8, "Median Update Latency": 95.9, "Tail Update Latency": 254.7}], ["fibre", "memcached fibre", {"Target QPS": 700000, "Actual QPS": 595090.7, "Median Read Latency": 16183.6, "Tail Read Latency": 247979.2, "Median Update Latency": 16252.1, "Tail Update Latency": 250173.3}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 618956.2, "Median Read Latency": 6020.9, "Tail Read Latency": 229495.0, "Median Update Latency": 415.4, "Tail Update Latency": 230616.9}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 399956.4, "Median Read Latency": 104.6, "Tail Read Latency": 502.8, "Median Update Latency": 109.0, "Tail Update Latency": 496.5}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 299923.6, "Median Read Latency": 88.0, "Tail Read Latency": 180.5, "Median Update Latency": 93.2, "Tail Update Latency": 186.6}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300010.4, "Median Read Latency": 99.9, "Tail Read Latency": 441.2, "Median Update Latency": 105.4, "Tail Update Latency": 423.4}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300014.0, "Median Read Latency": 97.4, "Tail Read Latency": 219.0, "Median Update Latency": 101.9, "Tail Update Latency": 236.6}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499459.5, "Median Read Latency": 4253.1, "Tail Read Latency": 224248.7, "Median Update Latency": 3402.1, "Tail Update Latency": 224262.8}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300062.5, "Median Read Latency": 91.6, "Tail Read Latency": 357.4, "Median Update Latency": 98.9, "Tail Update Latency": 364.4}], ["vanilla", "memcached vanilla", {"Target QPS": 800000, "Actual QPS": 678611.1, "Median Read Latency": 6160.8, "Tail Read Latency": 229544.6, "Median Update Latency": 5851.0, "Tail Update Latency": 229411.7}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578256.9, "Median Read Latency": 11180.9, "Tail Read Latency": 225596.4, "Median Update Latency": 11147.2, "Tail Update Latency": 222763.9}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 400003.0, "Median Read Latency": 116.8, "Tail Read Latency": 1089.4, "Median Update Latency": 122.7, "Tail Update Latency": 831.8}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300032.2, "Median Read Latency": 90.3, "Tail Read Latency": 348.7, "Median Update Latency": 96.4, "Tail Update Latency": 350.9}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200064.6, "Median Read Latency": 78.7, "Tail Read Latency": 128.0, "Median Update Latency": 84.5, "Tail Update Latency": 138.0}], ["fibre", "memcached fibre", {"Target QPS": 400000, "Actual QPS": 399974.1, "Median Read Latency": 115.0, "Tail Read Latency": 1410.0, "Median Update Latency": 120.0, "Tail Update Latency": 1261.5}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100010.9, "Median Read Latency": 85.4, "Tail Read Latency": 160.3, "Median Update Latency": 91.7, "Tail Update Latency": 173.0}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400024.5, "Median Read Latency": 106.4, "Tail Read Latency": 505.2, "Median Update Latency": 111.2, "Tail Update Latency": 491.0}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300011.7, "Median Read Latency": 87.3, "Tail Read Latency": 178.7, "Median Update Latency": 92.3, "Tail Update Latency": 184.7}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 99988.9, "Median Read Latency": 93.3, "Tail Read Latency": 140.6, "Median Update Latency": 98.0, "Tail Update Latency": 150.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 299993.4, "Median Read Latency": 87.5, "Tail Read Latency": 181.0, "Median Update Latency": 93.2, "Tail Update Latency": 182.8}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 617912.5, "Median Read Latency": 25810.6, "Tail Read Latency": 252464.1, "Median Update Latency": 25674.3, "Tail Update Latency": 251736.1}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 625701.7, "Median Read Latency": 22503.9, "Tail Read Latency": 259542.7, "Median Update Latency": 22468.4, "Tail Update Latency": 267154.9}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499785.2, "Median Read Latency": 6496.3, "Tail Read Latency": 222659.0, "Median Update Latency": 6234.7, "Tail Update Latency": 222262.0}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 572021.8, "Median Read Latency": 9548.6, "Tail Read Latency": 233766.8, "Median Update Latency": 9524.3, "Tail Update Latency": 236551.7}], ["fibre", "memcached fibre", {"Target QPS": 200000, "Actual QPS": 200009.0, "Median Read Latency": 95.4, "Tail Read Latency": 175.8, "Median Update Latency": 100.7, "Tail Update Latency": 190.9}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200027.1, "Median Read Latency": 78.6, "Tail Read Latency": 126.6, "Median Update Latency": 83.1, "Tail Update Latency": 129.1}], ["fibre", "memcached fibre", {"Target QPS": 600000, "Actual QPS": 557369.8, "Median Read Latency": 16483.1, "Tail Read Latency": 253742.7, "Median Update Latency": 16400.4, "Tail Update Latency": 255241.9}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499805.4, "Median Read Latency": 6508.7, "Tail Read Latency": 221536.4, "Median Update Latency": 6509.6, "Tail Update Latency": 223234.9}], ["forall", "memcached forall", {"Target QPS": 300000, "Actual QPS": 300035.4, "Median Read Latency": 100.2, "Tail Read Latency": 457.3, "Median Update Latency": 106.8, "Tail Update Latency": 525.7}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300050.2, "Median Read Latency": 96.4, "Tail Read Latency": 213.9, "Median Update Latency": 100.7, "Tail Update Latency": 220.0}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499885.9, "Median Read Latency": 7063.8, "Tail Read Latency": 214747.3, "Median Update Latency": 6995.4, "Tail Update Latency": 219631.2}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 609226.7, "Median Read Latency": 14494.9, "Tail Read Latency": 237210.7, "Median Update Latency": 14428.8, "Tail Update Latency": 235805.5}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 569466.3, "Median Read Latency": 511.4, "Tail Read Latency": 226153.5, "Median Update Latency": 364.6, "Tail Update Latency": 224980.5}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499908.5, "Median Read Latency": 5780.3, "Tail Read Latency": 221614.4, "Median Update Latency": 5583.2, "Tail Update Latency": 223730.2}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 564939.5, "Median Read Latency": 9668.2, "Tail Read Latency": 232075.5, "Median Update Latency": 9684.1, "Tail Update Latency": 233548.1}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100060.1, "Median Read Latency": 78.8, "Tail Read Latency": 121.0, "Median Update Latency": 84.6, "Tail Update Latency": 130.7}], ["forall", "memcached forall", {"Target QPS": 200000, "Actual QPS": 199988.8, "Median Read Latency": 88.0, "Tail Read Latency": 242.2, "Median Update Latency": 95.1, "Tail Update Latency": 263.1}], ["vanilla", "memcached vanilla", {"Target QPS": 700000, "Actual QPS": 619177.1, "Median Read Latency": 5783.8, "Tail Read Latency": 230993.8, "Median Update Latency": 5783.0, "Tail Update Latency": 228857.0}], ["forall", "memcached forall", {"Target QPS": 700000, "Actual QPS": 591662.2, "Median Read Latency": 13386.9, "Tail Read Latency": 50085.4, "Median Update Latency": 13368.7, "Tail Update Latency": 44908.7}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100031.6, "Median Read Latency": 78.6, "Tail Read Latency": 120.5, "Median Update Latency": 84.0, "Tail Update Latency": 128.7}], ["forall", "memcached forall", {"Target QPS": 600000, "Actual QPS": 578665.8, "Median Read Latency": 12495.4, "Tail Read Latency": 71938.0, "Median Update Latency": 12460.8, "Tail Update Latency": 134007.8}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 593825.5, "Median Read Latency": 13381.8, "Tail Read Latency": 42648.3, "Median Update Latency": 13428.1, "Tail Update Latency": 52034.5}], ["vanilla", "memcached vanilla", {"Target QPS": 400000, "Actual QPS": 400058.1, "Median Read Latency": 107.0, "Tail Read Latency": 542.8, "Median Update Latency": 112.4, "Tail Update Latency": 534.6}], ["forall", "memcached forall", {"Target QPS": 100000, "Actual QPS": 100023.5, "Median Read Latency": 86.3, "Tail Read Latency": 167.1, "Median Update Latency": 93.4, "Tail Update Latency": 177.1}], ["vanilla", "memcached vanilla", {"Target QPS": 500000, "Actual QPS": 500013.8, "Median Read Latency": 427.0, "Tail Read Latency": 11978.9, "Median Update Latency": 1271.9, "Tail Update Latency": 12021.7}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200028.8, "Median Read Latency": 79.0, "Tail Read Latency": 128.9, "Median Update Latency": 84.0, "Tail Update Latency": 135.6}], ["fibre", "memcached fibre", {"Target QPS": 800000, "Actual QPS": 622974.3, "Median Read Latency": 25949.6, "Tail Read Latency": 253985.8, "Median Update Latency": 26016.2, "Tail Update Latency": 256999.9}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 498679.6, "Median Read Latency": 2696.6, "Tail Read Latency": 224780.0, "Median Update Latency": 3725.6, "Tail Update Latency": 225606.8}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300005.0, "Median Read Latency": 87.2, "Tail Read Latency": 181.0, "Median Update Latency": 91.9, "Tail Update Latency": 190.0}], ["vanilla", "memcached vanilla", {"Target QPS": 100000, "Actual QPS": 100054.4, "Median Read Latency": 78.9, "Tail Read Latency": 121.5, "Median Update Latency": 84.5, "Tail Update Latency": 128.5}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 594765.9, "Median Read Latency": 13457.0, "Tail Read Latency": 57014.3, "Median Update Latency": 13535.6, "Tail Update Latency": 62271.0}], ["fibre", "memcached fibre", {"Target QPS": 100000, "Actual QPS": 100045.0, "Median Read Latency": 94.0, "Tail Read Latency": 147.8, "Median Update Latency": 98.6, "Tail Update Latency": 155.2}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 570755.1, "Median Read Latency": 1747.1, "Tail Read Latency": 229720.5, "Median Update Latency": 376.1, "Tail Update Latency": 230143.6}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400028.9, "Median Read Latency": 113.5, "Tail Read Latency": 883.0, "Median Update Latency": 119.6, "Tail Update Latency": 930.9}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499161.2, "Median Read Latency": 4035.8, "Tail Read Latency": 226041.1, "Median Update Latency": 4145.7, "Tail Update Latency": 227144.8}], ["vanilla", "memcached vanilla", {"Target QPS": 200000, "Actual QPS": 200004.9, "Median Read Latency": 79.6, "Tail Read Latency": 128.8, "Median Update Latency": 84.8, "Tail Update Latency": 138.1}], ["fibre", "memcached fibre", {"Target QPS": 500000, "Actual QPS": 499892.3, "Median Read Latency": 6412.0, "Tail Read Latency": 220894.5, "Median Update Latency": 6356.1, "Tail Update Latency": 222058.1}], ["vanilla", "memcached vanilla", {"Target QPS": 600000, "Actual QPS": 569172.7, "Median Read Latency": 1014.0, "Tail Read Latency": 227912.8, "Median Update Latency": 299.3, "Tail Update Latency": 226796.7}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 592497.5, "Median Read Latency": 13366.1, "Tail Read Latency": 50141.0, "Median Update Latency": 13458.6, "Tail Update Latency": 64470.4}], ["forall", "memcached forall", {"Target QPS": 400000, "Actual QPS": 400035.6, "Median Read Latency": 114.4, "Tail Read Latency": 884.8, "Median Update Latency": 121.0, "Tail Update Latency": 883.7}], ["forall", "memcached forall", {"Target QPS": 500000, "Actual QPS": 499062.3, "Median Read Latency": 2907.3, "Tail Read Latency": 226259.2, "Median Update Latency": 3329.0, "Tail Update Latency": 226354.8}], ["fibre", "memcached fibre", {"Target QPS": 300000, "Actual QPS": 300127.5, "Median Read Latency": 104.7, "Tail Read Latency": 266.2, "Median Update Latency": 109.1, "Tail Update Latency": 269.6}], ["vanilla", "memcached vanilla", {"Target QPS": 300000, "Actual QPS": 300046.9, "Median Read Latency": 88.4, "Tail Read Latency": 182.9, "Median Update Latency": 93.4, "Tail Update Latency": 188.3}], ["forall", "memcached forall", {"Target QPS": 800000, "Actual QPS": 585332.5, "Median Read Latency": 13581.7, "Tail Read Latency": 41485.9, "Median Update Latency": 13562.4, "Tail Update Latency": 42725.2}]] -
doc/theses/thierry_delisle_PhD/thesis/data/memcd.updt
r4520b77e r12df6fe 1 [[" vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 567470.6, "Average Read Latency": 14757.1, "Median Read Latency": 7477.0, "Tail Read Latency": 236941.0, "Average Update Latency": 14345.5, "Median Update Latency": 7563.3, "Tail Update Latency": 236117.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 545164.9, "Average Read Latency": 14184.2, "Median Read Latency": 13746.3, "Tail Read Latency": 26383.2, "Average Update Latency": 14313.3, "Median Update Latency": 13759.5, "Tail Update Latency": 27412.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399915.5, "Average Read Latency": 161.5, "Median Read Latency": 119.7, "Tail Read Latency": 524.6, "Average Update Latency": 166.2, "Median Update Latency": 123.6, "Tail Update Latency": 523.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400054.6, "Average Read Latency": 176.7, "Median Read Latency": 121.6, "Tail Read Latency": 581.5, "Average Update Latency": 178.2, "Median Update Latency": 125.6, "Tail Update Latency": 573.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200011.1, "Average Read Latency": 110.6, "Median Read Latency": 94.9, "Tail Read Latency": 183.3, "Average Update Latency": 111.7, "Median Update Latency": 97.8, "Tail Update Latency": 185.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 589336.9, "Average Read Latency": 23216.9, "Median Read Latency": 13615.3, "Tail Read Latency": 260818.9, "Average Update Latency": 22809.6, "Median Update Latency": 13626.8, "Tail Update Latency": 256876.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100025.8, "Average Read Latency": 89.6, "Median Read Latency": 86.9, "Tail Read Latency": 133.5, "Average Update Latency": 94.0, "Median Update Latency": 91.7, "Tail Update Latency": 139.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200033.6, "Average Read Latency": 89.1, "Median Read Latency": 85.5, "Tail Read Latency": 138.0, "Average Update Latency": 92.2, "Median Update Latency": 88.6, "Tail Update Latency": 140.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499671.8, "Average Read Latency": 9085.8, "Median Read Latency": 1659.7, "Tail Read Latency": 225811.0, "Average Update Latency": 8974.2, "Median Update Latency": 1907.4, "Tail Update Latency": 225020.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100001.1, "Average Read Latency": 97.9, "Median Read Latency": 92.6, "Tail Read Latency": 156.0, "Average Update Latency": 101.3, "Median Update Latency": 97.4, "Tail Update Latency": 164.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 591879.7, "Average Read Latency": 22920.9, "Median Read Latency": 13740.8, "Tail Read Latency": 256607.4, "Average Update Latency": 22933.6, "Median Update Latency": 13753.1, "Tail Update Latency": 256394.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300083.1, "Average Read Latency": 113.1, "Median Read Latency": 98.6, "Tail Read Latency": 257.5, "Average Update Latency": 115.9, "Median Update Latency": 102.3, "Tail Update Latency": 259.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 596663.6, "Average Read Latency": 21533.9, "Median Read Latency": 12133.2, "Tail Read Latency": 255135.7, "Average Update Latency": 21684.7, "Median Update Latency": 12151.7, "Tail Update Latency": 255312.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 569060.2, "Average Read Latency": 11674.9, "Median Read Latency": 7450.5, "Tail Read Latency": 232878.6, "Average Update Latency": 11469.9, "Median Update Latency": 7505.0, "Tail Update Latency": 232098.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300007.4, "Average Read Latency": 103.1, "Median Read Latency": 96.4, "Tail Read Latency": 191.5, "Average Update Latency": 106.2, "Median Update Latency": 99.8, "Tail Update Latency": 195.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 482275.5, "Average Read Latency": 22381.2, "Median Read Latency": 11546.7, "Tail Read Latency": 261040.2, "Average Update Latency": 22981.6, "Median Update Latency": 11569.7, "Tail Update Latency": 270424.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100042.6, "Average Read Latency": 101.2, "Median Read Latency": 92.4, "Tail Read Latency": 157.7, "Average Update Latency": 109.0, "Median Update Latency": 97.0, "Tail Update Latency": 167.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200008.7, "Average Read Latency": 89.7, "Median Read Latency": 85.9, "Tail Read Latency": 140.2, "Average Update Latency": 93.1, "Median Update Latency": 89.1, "Tail Update Latency": 145.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 300047.6, "Average Read Latency": 134.4, "Median Read Latency": 99.4, "Tail Read Latency": 274.2, "Average Update Latency": 149.6, "Median Update Latency": 101.6, "Tail Update Latency": 299.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 570676.7, "Average Read Latency": 17711.4, "Median Read Latency": 7849.3, "Tail Read Latency": 253008.4, "Average Update Latency": 18214.1, "Median Update Latency": 7842.6, "Tail Update Latency": 253410.5}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 299984.0, "Average Read Latency": 141.2, "Median Read Latency": 99.2, "Tail Read Latency": 276.0, "Average Update Latency": 159.7, "Median Update Latency": 101.3, "Tail Update Latency": 283.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499743.1, "Average Read Latency": 9428.6, "Median Read Latency": 3039.2, "Tail Read Latency": 226341.1, "Average Update Latency": 9501.2, "Median Update Latency": 3344.9, "Tail Update Latency": 226482.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 562849.2, "Average Read Latency": 18016.9, "Median Read Latency": 7279.8, "Tail Read Latency": 432181.1, "Average Update Latency": 17156.9, "Median Update Latency": 7304.8, "Tail Update Latency": 425221.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100023.8, "Average Read Latency": 105.9, "Median Read Latency": 93.2, "Tail Read Latency": 147.7, "Average Update Latency": 112.5, "Median Update Latency": 96.8, "Tail Update Latency": 153.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100026.2, "Average Read Latency": 103.9, "Median Read Latency": 92.1, "Tail Read Latency": 140.6, "Average Update Latency": 106.8, "Median Update Latency": 95.6, "Tail Update Latency": 145.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99996.1, "Average Read Latency": 102.0, "Median Read Latency": 93.0, "Tail Read Latency": 158.8, "Average Update Latency": 104.9, "Median Update Latency": 98.1, "Tail Update Latency": 166.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 587489.8, "Average Read Latency": 20472.5, "Median Read Latency": 13024.8, "Tail Read Latency": 244269.1, "Average Update Latency": 20371.7, "Median Update Latency": 13056.4, "Tail Update Latency": 242838.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 589422.4, "Average Read Latency": 23373.6, "Median Read Latency": 13430.3, "Tail Read Latency": 257062.0, "Average Update Latency": 23420.8, "Median Update Latency": 13457.3, "Tail Update Latency": 256705.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300007.4, "Average Read Latency": 125.4, "Median Read Latency": 106.3, "Tail Read Latency": 302.5, "Average Update Latency": 128.7, "Median Update Latency": 110.4, "Tail Update Latency": 311.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 541321.3, "Average Read Latency": 14281.0, "Median Read Latency": 13891.1, "Tail Read Latency": 26410.6, "Average Update Latency": 14322.1, "Median Update Latency": 13882.2, "Tail Update Latency": 27375.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 568276.9, "Average Read Latency": 17565.6, "Median Read Latency": 7515.7, "Tail Read Latency": 426792.6, "Average Update Latency": 16892.4, "Median Update Latency": 7567.2, "Tail Update Latency": 240402.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300043.0, "Average Read Latency": 149.2, "Median Read Latency": 106.3, "Tail Read Latency": 383.6, "Average Update Latency": 165.0, "Median Update Latency": 109.0, "Tail Update Latency": 365.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499868.3, "Average Read Latency": 5903.5, "Median Read Latency": 324.8, "Tail Read Latency": 12510.2, "Average Update Latency": 5864.5, "Median Update Latency": 309.7, "Tail Update Latency": 12506.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100024.6, "Average Read Latency": 99.1, "Median Read Latency": 94.0, "Tail Read Latency": 159.4, "Average Update Latency": 107.7, "Median Update Latency": 99.0, "Tail Update Latency": 164.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100025.4, "Average Read Latency": 103.2, "Median Read Latency": 92.5, "Tail Read Latency": 144.9, "Average Update Latency": 108.5, "Median Update Latency": 96.0, "Tail Update Latency": 151.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 484333.2, "Average Read Latency": 23159.4, "Median Read Latency": 12687.6, "Tail Read Latency": 261285.4, "Average Update Latency": 23538.3, "Median Update Latency": 12753.6, "Tail Update Latency": 264174.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 588987.4, "Average Read Latency": 23104.8, "Median Read Latency": 13968.5, "Tail Read Latency": 256403.9, "Average Update Latency": 22716.6, "Median Update Latency": 13977.3, "Tail Update Latency": 251936.5}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 579256.8, "Average Read Latency": 14451.2, "Median Read Latency": 13031.5, "Tail Read Latency": 28778.9, "Average Update Latency": 14641.1, "Median Update Latency": 13036.8, "Tail Update Latency": 29330.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399960.7, "Average Read Latency": 120.0, "Median Read Latency": 103.7, "Tail Read Latency": 342.6, "Average Update Latency": 122.5, "Median Update Latency": 106.2, "Tail Update Latency": 344.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 568120.3, "Average Read Latency": 16686.0, "Median Read Latency": 7300.5, "Tail Read Latency": 427822.8, "Average Update Latency": 16533.6, "Median Update Latency": 7374.9, "Tail Update Latency": 240068.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100049.9, "Average Read Latency": 101.3, "Median Read Latency": 93.3, "Tail Read Latency": 164.5, "Average Update Latency": 106.1, "Median Update Latency": 98.8, "Tail Update Latency": 171.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 591905.8, "Average Read Latency": 22586.0, "Median Read Latency": 13507.6, "Tail Read Latency": 253640.5, "Average Update Latency": 22687.1, "Median Update Latency": 13591.2, "Tail Update Latency": 254364.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 299991.5, "Average Read Latency": 131.1, "Median Read Latency": 99.9, "Tail Read Latency": 280.5, "Average Update Latency": 153.6, "Median Update Latency": 102.1, "Tail Update Latency": 298.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 300057.7, "Average Read Latency": 111.1, "Median Read Latency": 98.2, "Tail Read Latency": 247.9, "Average Update Latency": 113.8, "Median Update Latency": 101.9, "Tail Update Latency": 249.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499466.1, "Average Read Latency": 8701.1, "Median Read Latency": 2322.6, "Tail Read Latency": 223900.8, "Average Update Latency": 8541.6, "Median Update Latency": 2559.8, "Tail Update Latency": 223094.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499913.7, "Average Read Latency": 6478.0, "Median Read Latency": 528.9, "Tail Read Latency": 12691.2, "Average Update Latency": 6292.6, "Median Update Latency": 400.1, "Tail Update Latency": 12524.9}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 199987.1, "Average Read Latency": 106.5, "Median Read Latency": 95.9, "Tail Read Latency": 210.8, "Average Update Latency": 109.0, "Median Update Latency": 100.4, "Tail Update Latency": 216.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300001.2, "Average Read Latency": 110.7, "Median Read Latency": 97.5, "Tail Read Latency": 250.9, "Average Update Latency": 114.0, "Median Update Latency": 101.3, "Tail Update Latency": 252.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 199992.0, "Average Read Latency": 122.9, "Median Read Latency": 98.3, "Tail Read Latency": 215.0, "Average Update Latency": 124.2, "Median Update Latency": 101.2, "Tail Update Latency": 218.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 566271.4, "Average Read Latency": 15620.1, "Median Read Latency": 7890.8, "Tail Read Latency": 238376.9, "Average Update Latency": 15338.2, "Median Update Latency": 7928.2, "Tail Update Latency": 237901.9}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 400058.7, "Average Read Latency": 165.6, "Median Read Latency": 120.5, "Tail Read Latency": 531.4, "Average Update Latency": 169.0, "Median Update Latency": 124.1, "Tail Update Latency": 537.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100079.1, "Average Read Latency": 90.2, "Median Read Latency": 87.3, "Tail Read Latency": 136.1, "Average Update Latency": 94.6, "Median Update Latency": 92.3, "Tail Update Latency": 141.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 572014.9, "Average Read Latency": 14144.6, "Median Read Latency": 13185.6, "Tail Read Latency": 27838.8, "Average Update Latency": 14329.9, "Median Update Latency": 13192.1, "Tail Update Latency": 28694.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300050.4, "Average Read Latency": 102.4, "Median Read Latency": 95.6, "Tail Read Latency": 192.9, "Average Update Latency": 105.0, "Median Update Latency": 98.7, "Tail Update Latency": 197.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200059.9, "Average Read Latency": 88.1, "Median Read Latency": 85.0, "Tail Read Latency": 136.6, "Average Update Latency": 91.2, "Median Update Latency": 87.9, "Tail Update Latency": 139.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100034.4, "Average Read Latency": 104.5, "Median Read Latency": 94.1, "Tail Read Latency": 149.3, "Average Update Latency": 108.7, "Median Update Latency": 97.8, "Tail Update Latency": 153.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 550741.2, "Average Read Latency": 14365.9, "Median Read Latency": 13923.2, "Tail Read Latency": 27239.5, "Average Update Latency": 14551.2, "Median Update Latency": 13936.7, "Tail Update Latency": 28280.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 199995.3, "Average Read Latency": 89.1, "Median Read Latency": 85.5, "Tail Read Latency": 138.0, "Average Update Latency": 92.6, "Median Update Latency": 88.5, "Tail Update Latency": 141.6}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 571140.1, "Average Read Latency": 15769.7, "Median Read Latency": 7737.9, "Tail Read Latency": 238166.7, "Average Update Latency": 15093.9, "Median Update Latency": 7690.3, "Tail Update Latency": 237419.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300053.1, "Average Read Latency": 145.7, "Median Read Latency": 106.0, "Tail Read Latency": 324.9, "Average Update Latency": 154.7, "Median Update Latency": 109.0, "Tail Update Latency": 330.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399942.4, "Average Read Latency": 119.3, "Median Read Latency": 104.1, "Tail Read Latency": 314.0, "Average Update Latency": 122.0, "Median Update Latency": 106.6, "Tail Update Latency": 316.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499846.0, "Average Read Latency": 5121.2, "Median Read Latency": 263.2, "Tail Read Latency": 12380.5, "Average Update Latency": 5092.9, "Median Update Latency": 251.7, "Tail Update Latency": 12373.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100003.4, "Average Read Latency": 100.9, "Median Read Latency": 92.5, "Tail Read Latency": 160.3, "Average Update Latency": 108.4, "Median Update Latency": 97.5, "Tail Update Latency": 169.2}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 498971.9, "Average Read Latency": 26558.3, "Median Read Latency": 16244.9, "Tail Read Latency": 276693.7, "Average Update Latency": 27307.8, "Median Update Latency": 16284.5, "Tail Update Latency": 283650.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 506220.0, "Average Read Latency": 25791.0, "Median Read Latency": 14665.9, "Tail Read Latency": 301293.3, "Average Update Latency": 26363.5, "Median Update Latency": 14853.4, "Tail Update Latency": 312949.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 544608.6, "Average Read Latency": 14316.1, "Median Read Latency": 13895.2, "Tail Read Latency": 26931.1, "Average Update Latency": 14468.9, "Median Update Latency": 13894.7, "Tail Update Latency": 27846.9}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499557.5, "Average Read Latency": 9087.1, "Median Read Latency": 1874.8, "Tail Read Latency": 224870.3, "Average Update Latency": 9163.9, "Median Update Latency": 2001.8, "Tail Update Latency": 224632.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 547255.1, "Average Read Latency": 14516.3, "Median Read Latency": 13937.2, "Tail Read Latency": 27626.2, "Average Update Latency": 14753.9, "Median Update Latency": 13943.4, "Tail Update Latency": 28658.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200003.7, "Average Read Latency": 88.5, "Median Read Latency": 85.2, "Tail Read Latency": 139.3, "Average Update Latency": 92.0, "Median Update Latency": 88.3, "Tail Update Latency": 142.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 493669.0, "Average Read Latency": 24601.0, "Median Read Latency": 13774.3, "Tail Read Latency": 302034.4, "Average Update Latency": 24432.6, "Median Update Latency": 13753.5, "Tail Update Latency": 295630.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100002.2, "Average Read Latency": 102.5, "Median Read Latency": 93.3, "Tail Read Latency": 145.5, "Average Update Latency": 105.0, "Median Update Latency": 96.9, "Tail Update Latency": 152.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400010.0, "Average Read Latency": 574.2, "Median Read Latency": 128.4, "Tail Read Latency": 10047.1, "Average Update Latency": 711.8, "Median Update Latency": 130.4, "Tail Update Latency": 13344.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 592805.6, "Average Read Latency": 23499.9, "Median Read Latency": 14365.0, "Tail Read Latency": 256872.8, "Average Update Latency": 23319.4, "Median Update Latency": 14346.3, "Tail Update Latency": 253958.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200027.4, "Average Read Latency": 111.4, "Median Read Latency": 94.4, "Tail Read Latency": 183.4, "Average Update Latency": 114.4, "Median Update Latency": 97.2, "Tail Update Latency": 187.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400081.6, "Average Read Latency": 482.0, "Median Read Latency": 124.7, "Tail Read Latency": 8770.8, "Average Update Latency": 618.4, "Median Update Latency": 126.5, "Tail Update Latency": 11577.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 500002.9, "Average Read Latency": 6029.8, "Median Read Latency": 350.5, "Tail Read Latency": 12525.2, "Average Update Latency": 5941.4, "Median Update Latency": 370.8, "Tail Update Latency": 12521.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 550659.8, "Average Read Latency": 13970.7, "Median Read Latency": 13619.7, "Tail Read Latency": 25943.9, "Average Update Latency": 14133.2, "Median Update Latency": 13627.1, "Tail Update Latency": 27031.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400063.8, "Average Read Latency": 168.5, "Median Read Latency": 122.0, "Tail Read Latency": 537.2, "Average Update Latency": 173.2, "Median Update Latency": 125.4, "Tail Update Latency": 546.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400058.7, "Average Read Latency": 361.2, "Median Read Latency": 123.7, "Tail Read Latency": 6077.6, "Average Update Latency": 426.4, "Median Update Latency": 125.9, "Tail Update Latency": 7271.9}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 555241.3, "Average Read Latency": 14050.5, "Median Read Latency": 13517.5, "Tail Read Latency": 26629.9, "Average Update Latency": 14357.9, "Median Update Latency": 13536.1, "Tail Update Latency": 28051.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300054.8, "Average Read Latency": 136.6, "Median Read Latency": 100.3, "Tail Read Latency": 299.0, "Average Update Latency": 162.3, "Median Update Latency": 102.4, "Tail Update Latency": 331.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 556532.8, "Average Read Latency": 14337.2, "Median Read Latency": 13642.1, "Tail Read Latency": 27208.5, "Average Update Latency": 14487.7, "Median Update Latency": 13644.3, "Tail Update Latency": 28079.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 483449.4, "Average Read Latency": 21575.5, "Median Read Latency": 12127.6, "Tail Read Latency": 257142.7, "Average Update Latency": 21949.9, "Median Update Latency": 12163.4, "Tail Update Latency": 259438.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300013.9, "Average Read Latency": 101.3, "Median Read Latency": 94.7, "Tail Read Latency": 189.5, "Average Update Latency": 104.7, "Median Update Latency": 97.7, "Tail Update Latency": 193.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 592039.7, "Average Read Latency": 22504.7, "Median Read Latency": 13064.1, "Tail Read Latency": 260387.1, "Average Update Latency": 22588.3, "Median Update Latency": 13068.9, "Tail Update Latency": 256401.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 576239.8, "Average Read Latency": 17525.3, "Median Read Latency": 7890.6, "Tail Read Latency": 262424.7, "Average Update Latency": 17836.0, "Median Update Latency": 7842.3, "Tail Update Latency": 260514.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399966.7, "Average Read Latency": 166.8, "Median Read Latency": 120.1, "Tail Read Latency": 532.6, "Average Update Latency": 172.4, "Median Update Latency": 123.5, "Tail Update Latency": 535.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 483657.7, "Average Read Latency": 19531.2, "Median Read Latency": 12065.5, "Tail Read Latency": 250403.1, "Average Update Latency": 20008.1, "Median Update Latency": 12091.1, "Tail Update Latency": 250624.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 299992.9, "Average Read Latency": 101.7, "Median Read Latency": 95.0, "Tail Read Latency": 192.9, "Average Update Latency": 104.6, "Median Update Latency": 98.0, "Tail Update Latency": 196.8}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400078.3, "Average Read Latency": 438.5, "Median Read Latency": 124.2, "Tail Read Latency": 7563.1, "Average Update Latency": 556.0, "Median Update Latency": 126.2, "Tail Update Latency": 10830.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 593742.6, "Average Read Latency": 22369.3, "Median Read Latency": 13336.9, "Tail Read Latency": 254936.7, "Average Update Latency": 22590.3, "Median Update Latency": 13331.8, "Tail Update Latency": 258588.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100049.1, "Average Read Latency": 106.1, "Median Read Latency": 93.0, "Tail Read Latency": 145.9, "Average Update Latency": 109.4, "Median Update Latency": 96.6, "Tail Update Latency": 150.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 99974.0, "Average Read Latency": 99.7, "Median Read Latency": 91.3, "Tail Read Latency": 137.3, "Average Update Latency": 106.6, "Median Update Latency": 94.9, "Tail Update Latency": 141.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100020.1, "Average Read Latency": 89.7, "Median Read Latency": 86.8, "Tail Read Latency": 133.5, "Average Update Latency": 94.2, "Median Update Latency": 91.9, "Tail Update Latency": 139.9}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300042.1, "Average Read Latency": 101.7, "Median Read Latency": 95.4, "Tail Read Latency": 190.4, "Average Update Latency": 104.8, "Median Update Latency": 98.5, "Tail Update Latency": 195.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 482861.0, "Average Read Latency": 24516.1, "Median Read Latency": 11726.2, "Tail Read Latency": 290118.1, "Average Update Latency": 25259.9, "Median Update Latency": 11820.2, "Tail Update Latency": 365888.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 99992.4, "Average Read Latency": 89.1, "Median Read Latency": 86.4, "Tail Read Latency": 133.9, "Average Update Latency": 93.5, "Median Update Latency": 91.3, "Tail Update Latency": 139.2}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 514280.6, "Average Read Latency": 28871.6, "Median Read Latency": 20656.6, "Tail Read Latency": 277735.3, "Average Update Latency": 29517.7, "Median Update Latency": 20663.6, "Tail Update Latency": 283123.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300038.7, "Average Read Latency": 102.1, "Median Read Latency": 95.2, "Tail Read Latency": 192.9, "Average Update Latency": 105.1, "Median Update Latency": 98.3, "Tail Update Latency": 195.0}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200041.4, "Average Read Latency": 88.8, "Median Read Latency": 85.7, "Tail Read Latency": 138.0, "Average Update Latency": 92.3, "Median Update Latency": 89.2, "Tail Update Latency": 141.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 571087.0, "Average Read Latency": 16999.2, "Median Read Latency": 7783.7, "Tail Read Latency": 239802.0, "Average Update Latency": 16780.4, "Median Update Latency": 7770.6, "Tail Update Latency": 240341.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 486219.1, "Average Read Latency": 22219.5, "Median Read Latency": 11849.6, "Tail Read Latency": 260033.6, "Average Update Latency": 22547.0, "Median Update Latency": 11906.7, "Tail Update Latency": 261667.3}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100001.9, "Average Read Latency": 101.8, "Median Read Latency": 92.8, "Tail Read Latency": 156.8, "Average Update Latency": 110.6, "Median Update Latency": 97.6, "Tail Update Latency": 165.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200027.4, "Average Read Latency": 89.8, "Median Read Latency": 86.1, "Tail Read Latency": 139.9, "Average Update Latency": 93.2, "Median Update Latency": 89.3, "Tail Update Latency": 144.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 509170.1, "Average Read Latency": 26387.9, "Median Read Latency": 16168.0, "Tail Read Latency": 281173.9, "Average Update Latency": 27130.6, "Median Update Latency": 16257.9, "Tail Update Latency": 290885.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200084.2, "Average Read Latency": 108.9, "Median Read Latency": 95.4, "Tail Read Latency": 207.3, "Average Update Latency": 110.2, "Median Update Latency": 99.6, "Tail Update Latency": 214.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 484233.5, "Average Read Latency": 22806.5, "Median Read Latency": 12744.6, "Tail Read Latency": 259951.4, "Average Update Latency": 23297.4, "Median Update Latency": 12785.1, "Tail Update Latency": 261838.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 481467.6, "Average Read Latency": 22935.1, "Median Read Latency": 12125.8, "Tail Read Latency": 262550.8, "Average Update Latency": 22951.6, "Median Update Latency": 12144.8, "Tail Update Latency": 263011.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199997.4, "Average Read Latency": 109.6, "Median Read Latency": 96.1, "Tail Read Latency": 199.5, "Average Update Latency": 112.7, "Median Update Latency": 99.3, "Tail Update Latency": 202.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100018.4, "Average Read Latency": 90.1, "Median Read Latency": 87.0, "Tail Read Latency": 136.1, "Average Update Latency": 94.5, "Median Update Latency": 92.0, "Tail Update Latency": 141.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400017.7, "Average Read Latency": 121.2, "Median Read Latency": 105.0, "Tail Read Latency": 326.6, "Average Update Latency": 123.8, "Median Update Latency": 107.7, "Tail Update Latency": 329.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499897.5, "Average Read Latency": 6257.9, "Median Read Latency": 326.2, "Tail Read Latency": 12522.1, "Average Update Latency": 6149.5, "Median Update Latency": 361.6, "Tail Update Latency": 12517.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 399928.3, "Average Read Latency": 117.8, "Median Read Latency": 102.9, "Tail Read Latency": 306.1, "Average Update Latency": 120.5, "Median Update Latency": 105.7, "Tail Update Latency": 312.8}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 399932.6, "Average Read Latency": 534.3, "Median Read Latency": 126.6, "Tail Read Latency": 9654.6, "Average Update Latency": 675.0, "Median Update Latency": 128.0, "Tail Update Latency": 13051.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 592812.9, "Average Read Latency": 24381.6, "Median Read Latency": 13704.9, "Tail Read Latency": 268572.5, "Average Update Latency": 23692.2, "Median Update Latency": 13699.2, "Tail Update Latency": 261268.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100017.2, "Average Read Latency": 89.4, "Median Read Latency": 86.8, "Tail Read Latency": 133.1, "Average Update Latency": 94.0, "Median Update Latency": 91.8, "Tail Update Latency": 139.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 399965.4, "Average Read Latency": 171.7, "Median Read Latency": 122.3, "Tail Read Latency": 564.8, "Average Update Latency": 176.6, "Median Update Latency": 126.5, "Tail Update Latency": 569.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 546885.7, "Average Read Latency": 14127.1, "Median Read Latency": 13599.8, "Tail Read Latency": 26248.1, "Average Update Latency": 14165.1, "Median Update Latency": 13601.2, "Tail Update Latency": 27171.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100002.0, "Average Read Latency": 87.9, "Median Read Latency": 85.4, "Tail Read Latency": 128.1, "Average Update Latency": 91.8, "Median Update Latency": 89.5, "Tail Update Latency": 133.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 514697.6, "Average Read Latency": 27552.1, "Median Read Latency": 16959.6, "Tail Read Latency": 303034.7, "Average Update Latency": 28180.9, "Median Update Latency": 16943.0, "Tail Update Latency": 315093.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 199974.4, "Average Read Latency": 88.9, "Median Read Latency": 85.2, "Tail Read Latency": 137.8, "Average Update Latency": 92.5, "Median Update Latency": 88.1, "Tail Update Latency": 141.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199998.3, "Average Read Latency": 105.2, "Median Read Latency": 95.4, "Tail Read Latency": 207.8, "Average Update Latency": 110.9, "Median Update Latency": 99.8, "Tail Update Latency": 214.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 589495.9, "Average Read Latency": 23963.2, "Median Read Latency": 13525.6, "Tail Read Latency": 268123.7, "Average Update Latency": 23376.9, "Median Update Latency": 13565.9, "Tail Update Latency": 262205.2}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200006.8, "Average Read Latency": 107.2, "Median Read Latency": 95.4, "Tail Read Latency": 210.7, "Average Update Latency": 112.2, "Median Update Latency": 99.9, "Tail Update Latency": 217.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 488388.7, "Average Read Latency": 22071.0, "Median Read Latency": 12107.0, "Tail Read Latency": 259128.0, "Average Update Latency": 22533.3, "Median Update Latency": 12164.8, "Tail Update Latency": 262369.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200021.6, "Average Read Latency": 88.3, "Median Read Latency": 85.1, "Tail Read Latency": 136.9, "Average Update Latency": 91.1, "Median Update Latency": 87.9, "Tail Update Latency": 139.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100043.2, "Average Read Latency": 102.1, "Median Read Latency": 92.2, "Tail Read Latency": 139.7, "Average Update Latency": 110.2, "Median Update Latency": 95.9, "Tail Update Latency": 146.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 399973.9, "Average Read Latency": 166.5, "Median Read Latency": 120.7, "Tail Read Latency": 533.8, "Average Update Latency": 169.7, "Median Update Latency": 124.8, "Tail Update Latency": 537.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200005.3, "Average Read Latency": 104.6, "Median Read Latency": 95.8, "Tail Read Latency": 208.8, "Average Update Latency": 109.0, "Median Update Latency": 100.0, "Tail Update Latency": 216.5}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 565115.2, "Average Read Latency": 14392.0, "Median Read Latency": 13370.3, "Tail Read Latency": 28533.0, "Average Update Latency": 14511.3, "Median Update Latency": 13377.3, "Tail Update Latency": 28720.7}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199996.0, "Average Read Latency": 113.9, "Median Read Latency": 95.9, "Tail Read Latency": 194.8, "Average Update Latency": 118.1, "Median Update Latency": 98.8, "Tail Update Latency": 197.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499776.8, "Average Read Latency": 8389.2, "Median Read Latency": 1343.2, "Tail Read Latency": 222478.0, "Average Update Latency": 8438.9, "Median Update Latency": 1549.9, "Tail Update Latency": 222569.7}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 565726.3, "Average Read Latency": 13919.6, "Median Read Latency": 13338.8, "Tail Read Latency": 27310.3, "Average Update Latency": 14161.3, "Median Update Latency": 13340.4, "Tail Update Latency": 28578.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 547518.3, "Average Read Latency": 14355.2, "Median Read Latency": 13980.8, "Tail Read Latency": 26399.4, "Average Update Latency": 14476.0, "Median Update Latency": 13982.9, "Tail Update Latency": 27167.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 506312.2, "Average Read Latency": 25086.2, "Median Read Latency": 15022.7, "Tail Read Latency": 288446.3, "Average Update Latency": 25514.0, "Median Update Latency": 14986.0, "Tail Update Latency": 299557.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300016.8, "Average Read Latency": 134.6, "Median Read Latency": 99.4, "Tail Read Latency": 276.7, "Average Update Latency": 158.8, "Median Update Latency": 101.6, "Tail Update Latency": 298.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 568452.2, "Average Read Latency": 14493.4, "Median Read Latency": 13320.7, "Tail Read Latency": 28622.6, "Average Update Latency": 14611.2, "Median Update Latency": 13322.6, "Tail Update Latency": 29080.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 199977.6, "Average Read Latency": 89.0, "Median Read Latency": 85.5, "Tail Read Latency": 137.6, "Average Update Latency": 92.8, "Median Update Latency": 88.6, "Tail Update Latency": 141.4}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 556033.8, "Average Read Latency": 14115.7, "Median Read Latency": 13565.6, "Tail Read Latency": 26675.4, "Average Update Latency": 14389.7, "Median Update Latency": 13573.0, "Tail Update Latency": 27932.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399997.1, "Average Read Latency": 167.0, "Median Read Latency": 121.1, "Tail Read Latency": 533.7, "Average Update Latency": 169.5, "Median Update Latency": 125.3, "Tail Update Latency": 537.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 510613.2, "Average Read Latency": 22350.4, "Median Read Latency": 13614.3, "Tail Read Latency": 264379.8, "Average Update Latency": 23466.8, "Median Update Latency": 13749.1, "Tail Update Latency": 274337.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 572296.1, "Average Read Latency": 13197.0, "Median Read Latency": 7836.3, "Tail Read Latency": 234669.0, "Average Update Latency": 13550.4, "Median Update Latency": 7715.8, "Tail Update Latency": 235356.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400009.9, "Average Read Latency": 529.6, "Median Read Latency": 125.7, "Tail Read Latency": 9175.5, "Average Update Latency": 706.9, "Median Update Latency": 127.9, "Tail Update Latency": 12838.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200034.0, "Average Read Latency": 104.5, "Median Read Latency": 94.2, "Tail Read Latency": 178.6, "Average Update Latency": 108.2, "Median Update Latency": 97.2, "Tail Update Latency": 183.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 584701.4, "Average Read Latency": 25731.4, "Median Read Latency": 18598.5, "Tail Read Latency": 251723.1, "Average Update Latency": 25729.0, "Median Update Latency": 18628.2, "Tail Update Latency": 252671.2}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 400039.4, "Average Read Latency": 123.5, "Median Read Latency": 103.6, "Tail Read Latency": 421.8, "Average Update Latency": 125.6, "Median Update Latency": 105.9, "Tail Update Latency": 423.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200005.4, "Average Read Latency": 87.8, "Median Read Latency": 84.9, "Tail Read Latency": 136.3, "Average Update Latency": 91.4, "Median Update Latency": 87.9, "Tail Update Latency": 140.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 484731.2, "Average Read Latency": 23138.3, "Median Read Latency": 12545.3, "Tail Read Latency": 261788.3, "Average Update Latency": 23949.0, "Median Update Latency": 12576.8, "Tail Update Latency": 263366.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399947.4, "Average Read Latency": 119.5, "Median Read Latency": 103.8, "Tail Read Latency": 314.3, "Average Update Latency": 122.3, "Median Update Latency": 106.4, "Tail Update Latency": 322.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 570287.3, "Average Read Latency": 16621.5, "Median Read Latency": 7416.0, "Tail Read Latency": 240140.5, "Average Update Latency": 16622.4, "Median Update Latency": 7483.3, "Tail Update Latency": 240457.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 299954.2, "Average Read Latency": 110.4, "Median Read Latency": 97.6, "Tail Read Latency": 248.5, "Average Update Latency": 113.8, "Median Update Latency": 101.5, "Tail Update Latency": 252.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100027.3, "Average Read Latency": 98.6, "Median Read Latency": 93.3, "Tail Read Latency": 158.0, "Average Update Latency": 102.8, "Median Update Latency": 98.1, "Tail Update Latency": 168.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 199989.7, "Average Read Latency": 103.9, "Median Read Latency": 94.9, "Tail Read Latency": 203.5, "Average Update Latency": 109.5, "Median Update Latency": 99.2, "Tail Update Latency": 213.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 555829.9, "Average Read Latency": 14425.4, "Median Read Latency": 13574.7, "Tail Read Latency": 28413.3, "Average Update Latency": 14722.5, "Median Update Latency": 13576.2, "Tail Update Latency": 29132.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499939.0, "Average Read Latency": 5737.3, "Median Read Latency": 316.2, "Tail Read Latency": 12471.2, "Average Update Latency": 5580.0, "Median Update Latency": 284.5, "Tail Update Latency": 12458.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 565590.5, "Average Read Latency": 15477.9, "Median Read Latency": 13212.8, "Tail Read Latency": 29403.1, "Average Update Latency": 15663.3, "Median Update Latency": 13209.5, "Tail Update Latency": 31141.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200060.3, "Average Read Latency": 111.0, "Median Read Latency": 95.5, "Tail Read Latency": 195.6, "Average Update Latency": 120.2, "Median Update Latency": 98.5, "Tail Update Latency": 201.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 505750.1, "Average Read Latency": 22403.1, "Median Read Latency": 13503.1, "Tail Read Latency": 265475.7, "Average Update Latency": 23365.6, "Median Update Latency": 13564.0, "Tail Update Latency": 276512.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 555125.8, "Average Read Latency": 14174.7, "Median Read Latency": 13671.4, "Tail Read Latency": 27111.1, "Average Update Latency": 14458.1, "Median Update Latency": 13680.0, "Tail Update Latency": 28264.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499501.2, "Average Read Latency": 9556.1, "Median Read Latency": 2500.0, "Tail Read Latency": 226755.3, "Average Update Latency": 9491.0, "Median Update Latency": 2256.8, "Tail Update Latency": 226295.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200079.0, "Average Read Latency": 106.9, "Median Read Latency": 95.3, "Tail Read Latency": 187.9, "Average Update Latency": 107.8, "Median Update Latency": 98.3, "Tail Update Latency": 188.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400012.0, "Average Read Latency": 118.6, "Median Read Latency": 103.7, "Tail Read Latency": 302.9, "Average Update Latency": 121.3, "Median Update Latency": 106.1, "Tail Update Latency": 312.8}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 486956.4, "Average Read Latency": 23011.2, "Median Read Latency": 13699.9, "Tail Read Latency": 258821.5, "Average Update Latency": 23575.7, "Median Update Latency": 13765.5, "Tail Update Latency": 261080.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 546847.2, "Average Read Latency": 14444.6, "Median Read Latency": 13964.2, "Tail Read Latency": 26827.9, "Average Update Latency": 14459.5, "Median Update Latency": 13973.0, "Tail Update Latency": 27707.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 400031.6, "Average Read Latency": 119.1, "Median Read Latency": 103.7, "Tail Read Latency": 314.5, "Average Update Latency": 121.9, "Median Update Latency": 106.2, "Tail Update Latency": 318.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 573488.6, "Average Read Latency": 14130.9, "Median Read Latency": 13237.3, "Tail Read Latency": 27739.6, "Average Update Latency": 14448.9, "Median Update Latency": 13247.6, "Tail Update Latency": 28751.0}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 399941.5, "Average Read Latency": 128.3, "Median Read Latency": 105.2, "Tail Read Latency": 478.3, "Average Update Latency": 131.4, "Median Update Latency": 108.2, "Tail Update Latency": 489.6}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 99993.7, "Average Read Latency": 89.4, "Median Read Latency": 86.6, "Tail Read Latency": 134.0, "Average Update Latency": 94.3, "Median Update Latency": 91.7, "Tail Update Latency": 139.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100004.4, "Average Read Latency": 88.4, "Median Read Latency": 85.9, "Tail Read Latency": 130.3, "Average Update Latency": 92.7, "Median Update Latency": 90.4, "Tail Update Latency": 135.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 550690.9, "Average Read Latency": 14330.0, "Median Read Latency": 13840.9, "Tail Read Latency": 26848.0, "Average Update Latency": 14559.7, "Median Update Latency": 13853.5, "Tail Update Latency": 28091.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 400085.9, "Average Read Latency": 168.8, "Median Read Latency": 121.7, "Tail Read Latency": 538.5, "Average Update Latency": 169.1, "Median Update Latency": 124.8, "Tail Update Latency": 542.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 557765.4, "Average Read Latency": 14180.7, "Median Read Latency": 13448.9, "Tail Read Latency": 27060.8, "Average Update Latency": 14420.2, "Median Update Latency": 13454.8, "Tail Update Latency": 27952.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100016.9, "Average Read Latency": 89.6, "Median Read Latency": 86.9, "Tail Read Latency": 133.8, "Average Update Latency": 94.4, "Median Update Latency": 92.0, "Tail Update Latency": 140.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499792.8, "Average Read Latency": 8051.6, "Median Read Latency": 1573.9, "Tail Read Latency": 223269.3, "Average Update Latency": 8095.4, "Median Update Latency": 1615.3, "Tail Update Latency": 223240.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200060.8, "Average Read Latency": 114.6, "Median Read Latency": 96.7, "Tail Read Latency": 207.4, "Average Update Latency": 119.4, "Median Update Latency": 100.0, "Tail Update Latency": 213.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 519141.3, "Average Read Latency": 28982.9, "Median Read Latency": 18691.6, "Tail Read Latency": 295934.3, "Average Update Latency": 29934.6, "Median Update Latency": 18835.4, "Tail Update Latency": 311181.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 574216.7, "Average Read Latency": 14023.8, "Median Read Latency": 13129.3, "Tail Read Latency": 28144.4, "Average Update Latency": 14268.8, "Median Update Latency": 13136.9, "Tail Update Latency": 29020.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300029.6, "Average Read Latency": 103.1, "Median Read Latency": 95.2, "Tail Read Latency": 198.4, "Average Update Latency": 106.4, "Median Update Latency": 98.5, "Tail Update Latency": 200.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 299956.8, "Average Read Latency": 125.7, "Median Read Latency": 107.2, "Tail Read Latency": 304.6, "Average Update Latency": 130.3, "Median Update Latency": 111.5, "Tail Update Latency": 308.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 569788.9, "Average Read Latency": 19323.4, "Median Read Latency": 7427.3, "Tail Read Latency": 437929.5, "Average Update Latency": 18818.6, "Median Update Latency": 7436.9, "Tail Update Latency": 435279.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 568911.6, "Average Read Latency": 14294.3, "Median Read Latency": 13266.8, "Tail Read Latency": 27793.2, "Average Update Latency": 14476.5, "Median Update Latency": 13279.5, "Tail Update Latency": 28841.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100017.0, "Average Read Latency": 102.0, "Median Read Latency": 93.1, "Tail Read Latency": 144.9, "Average Update Latency": 106.6, "Median Update Latency": 97.1, "Tail Update Latency": 152.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 99979.0, "Average Read Latency": 101.0, "Median Read Latency": 92.9, "Tail Read Latency": 161.7, "Average Update Latency": 103.8, "Median Update Latency": 97.6, "Tail Update Latency": 168.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 299998.4, "Average Read Latency": 102.7, "Median Read Latency": 95.7, "Tail Read Latency": 193.9, "Average Update Latency": 105.5, "Median Update Latency": 98.7, "Tail Update Latency": 197.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 507720.2, "Average Read Latency": 26194.4, "Median Read Latency": 15947.9, "Tail Read Latency": 287690.6, "Average Update Latency": 27317.9, "Median Update Latency": 15971.2, "Tail Update Latency": 305534.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400051.1, "Average Read Latency": 164.6, "Median Read Latency": 120.3, "Tail Read Latency": 527.8, "Average Update Latency": 170.2, "Median Update Latency": 124.4, "Tail Update Latency": 533.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100002.7, "Average Read Latency": 101.9, "Median Read Latency": 92.0, "Tail Read Latency": 139.0, "Average Update Latency": 113.2, "Median Update Latency": 95.5, "Tail Update Latency": 144.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 400037.6, "Average Read Latency": 121.2, "Median Read Latency": 105.4, "Tail Read Latency": 320.7, "Average Update Latency": 124.2, "Median Update Latency": 108.4, "Tail Update Latency": 323.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 596767.5, "Average Read Latency": 21656.6, "Median Read Latency": 12499.3, "Tail Read Latency": 252720.0, "Average Update Latency": 21733.7, "Median Update Latency": 12506.3, "Tail Update Latency": 252250.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 561245.9, "Average Read Latency": 15286.3, "Median Read Latency": 13365.7, "Tail Read Latency": 29638.0, "Average Update Latency": 15758.6, "Median Update Latency": 13385.9, "Tail Update Latency": 32286.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499964.5, "Average Read Latency": 6048.4, "Median Read Latency": 245.2, "Tail Read Latency": 12506.5, "Average Update Latency": 5989.7, "Median Update Latency": 268.8, "Tail Update Latency": 12510.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400020.5, "Average Read Latency": 160.6, "Median Read Latency": 118.6, "Tail Read Latency": 508.6, "Average Update Latency": 165.0, "Median Update Latency": 123.0, "Tail Update Latency": 511.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 99997.3, "Average Read Latency": 98.7, "Median Read Latency": 93.3, "Tail Read Latency": 156.4, "Average Update Latency": 104.5, "Median Update Latency": 98.1, "Tail Update Latency": 167.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200025.4, "Average Read Latency": 106.5, "Median Read Latency": 95.7, "Tail Read Latency": 211.9, "Average Update Latency": 112.4, "Median Update Latency": 100.1, "Tail Update Latency": 218.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499293.1, "Average Read Latency": 9220.1, "Median Read Latency": 1910.0, "Tail Read Latency": 224606.7, "Average Update Latency": 9232.9, "Median Update Latency": 1567.5, "Tail Update Latency": 224504.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 399996.9, "Average Read Latency": 169.4, "Median Read Latency": 121.6, "Tail Read Latency": 552.1, "Average Update Latency": 172.8, "Median Update Latency": 125.8, "Tail Update Latency": 554.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300024.6, "Average Read Latency": 110.7, "Median Read Latency": 98.3, "Tail Read Latency": 249.8, "Average Update Latency": 116.0, "Median Update Latency": 101.8, "Tail Update Latency": 252.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 590930.0, "Average Read Latency": 24801.3, "Median Read Latency": 13462.0, "Tail Read Latency": 263999.9, "Average Update Latency": 24799.8, "Median Update Latency": 13570.8, "Tail Update Latency": 264226.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300032.4, "Average Read Latency": 134.4, "Median Read Latency": 99.6, "Tail Read Latency": 275.6, "Average Update Latency": 153.5, "Median Update Latency": 101.9, "Tail Update Latency": 292.5}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100023.5, "Average Read Latency": 101.1, "Median Read Latency": 92.6, "Tail Read Latency": 144.7, "Average Update Latency": 107.0, "Median Update Latency": 96.3, "Tail Update Latency": 152.2}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499941.9, "Average Read Latency": 5409.0, "Median Read Latency": 256.0, "Tail Read Latency": 12379.5, "Average Update Latency": 5351.3, "Median Update Latency": 258.0, "Tail Update Latency": 12385.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100026.6, "Average Read Latency": 104.9, "Median Read Latency": 92.5, "Tail Read Latency": 144.3, "Average Update Latency": 109.1, "Median Update Latency": 96.1, "Tail Update Latency": 151.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300006.3, "Average Read Latency": 130.2, "Median Read Latency": 98.7, "Tail Read Latency": 269.7, "Average Update Latency": 148.8, "Median Update Latency": 101.0, "Tail Update Latency": 283.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 568489.3, "Average Read Latency": 19555.7, "Median Read Latency": 7653.2, "Tail Read Latency": 438098.6, "Average Update Latency": 19007.1, "Median Update Latency": 7760.1, "Tail Update Latency": 435344.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 482931.5, "Average Read Latency": 21300.0, "Median Read Latency": 11502.2, "Tail Read Latency": 257523.1, "Average Update Latency": 21772.9, "Median Update Latency": 11601.9, "Tail Update Latency": 260000.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 99975.3, "Average Read Latency": 98.1, "Median Read Latency": 93.0, "Tail Read Latency": 156.4, "Average Update Latency": 108.0, "Median Update Latency": 97.8, "Tail Update Latency": 166.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100007.3, "Average Read Latency": 99.2, "Median Read Latency": 91.5, "Tail Read Latency": 138.2, "Average Update Latency": 101.4, "Median Update Latency": 95.1, "Tail Update Latency": 142.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 199974.7, "Average Read Latency": 88.5, "Median Read Latency": 85.3, "Tail Read Latency": 138.1, "Average Update Latency": 91.8, "Median Update Latency": 88.2, "Tail Update Latency": 141.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 300026.5, "Average Read Latency": 125.7, "Median Read Latency": 106.2, "Tail Read Latency": 300.4, "Average Update Latency": 128.9, "Median Update Latency": 110.2, "Tail Update Latency": 308.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199971.6, "Average Read Latency": 104.9, "Median Read Latency": 95.7, "Tail Read Latency": 210.3, "Average Update Latency": 108.2, "Median Update Latency": 100.3, "Tail Update Latency": 218.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 199988.8, "Average Read Latency": 103.7, "Median Read Latency": 95.3, "Tail Read Latency": 206.2, "Average Update Latency": 107.5, "Median Update Latency": 99.8, "Tail Update Latency": 207.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 482383.6, "Average Read Latency": 23155.8, "Median Read Latency": 12407.1, "Tail Read Latency": 260999.1, "Average Update Latency": 24134.2, "Median Update Latency": 12476.2, "Tail Update Latency": 263757.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300007.9, "Average Read Latency": 125.6, "Median Read Latency": 106.8, "Tail Read Latency": 303.9, "Average Update Latency": 128.8, "Median Update Latency": 111.2, "Tail Update Latency": 309.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300036.7, "Average Read Latency": 102.9, "Median Read Latency": 95.9, "Tail Read Latency": 191.9, "Average Update Latency": 105.8, "Median Update Latency": 99.1, "Tail Update Latency": 196.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 199982.3, "Average Read Latency": 88.1, "Median Read Latency": 85.1, "Tail Read Latency": 134.4, "Average Update Latency": 90.9, "Median Update Latency": 87.8, "Tail Update Latency": 137.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499893.1, "Average Read Latency": 8234.5, "Median Read Latency": 1526.2, "Tail Read Latency": 222157.8, "Average Update Latency": 8195.0, "Median Update Latency": 1534.7, "Tail Update Latency": 221686.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 505963.8, "Average Read Latency": 25144.8, "Median Read Latency": 15163.6, "Tail Read Latency": 268436.9, "Average Update Latency": 25877.7, "Median Update Latency": 15194.1, "Tail Update Latency": 273407.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499887.0, "Average Read Latency": 5687.4, "Median Read Latency": 310.9, "Tail Read Latency": 12424.0, "Average Update Latency": 5564.4, "Median Update Latency": 313.9, "Tail Update Latency": 12421.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100007.4, "Average Read Latency": 89.5, "Median Read Latency": 86.7, "Tail Read Latency": 133.9, "Average Update Latency": 94.2, "Median Update Latency": 91.7, "Tail Update Latency": 141.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 399923.8, "Average Read Latency": 380.0, "Median Read Latency": 126.3, "Tail Read Latency": 6845.9, "Average Update Latency": 441.4, "Median Update Latency": 128.3, "Tail Update Latency": 7672.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200027.4, "Average Read Latency": 88.5, "Median Read Latency": 85.2, "Tail Read Latency": 137.5, "Average Update Latency": 91.3, "Median Update Latency": 88.2, "Tail Update Latency": 140.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100021.7, "Average Read Latency": 88.9, "Median Read Latency": 86.2, "Tail Read Latency": 132.1, "Average Update Latency": 93.1, "Median Update Latency": 90.7, "Tail Update Latency": 138.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200024.1, "Average Read Latency": 116.0, "Median Read Latency": 97.9, "Tail Read Latency": 212.5, "Average Update Latency": 118.7, "Median Update Latency": 101.0, "Tail Update Latency": 218.6}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 502773.3, "Average Read Latency": 25119.3, "Median Read Latency": 14681.6, "Tail Read Latency": 288270.6, "Average Update Latency": 25837.7, "Median Update Latency": 14665.9, "Tail Update Latency": 297313.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200032.0, "Average Read Latency": 105.9, "Median Read Latency": 96.1, "Tail Read Latency": 206.7, "Average Update Latency": 110.8, "Median Update Latency": 100.6, "Tail Update Latency": 211.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 555846.3, "Average Read Latency": 14165.5, "Median Read Latency": 13646.6, "Tail Read Latency": 26661.8, "Average Update Latency": 14324.9, "Median Update Latency": 13650.1, "Tail Update Latency": 27635.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299967.4, "Average Read Latency": 141.0, "Median Read Latency": 99.5, "Tail Read Latency": 301.2, "Average Update Latency": 157.3, "Median Update Latency": 101.7, "Tail Update Latency": 300.9}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 556218.5, "Average Read Latency": 14550.4, "Median Read Latency": 13602.1, "Tail Read Latency": 27548.9, "Average Update Latency": 14667.0, "Median Update Latency": 13609.4, "Tail Update Latency": 28234.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 591020.8, "Average Read Latency": 22561.7, "Median Read Latency": 13196.4, "Tail Read Latency": 254225.8, "Average Update Latency": 23085.0, "Median Update Latency": 13241.5, "Tail Update Latency": 258731.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300017.6, "Average Read Latency": 102.0, "Median Read Latency": 95.3, "Tail Read Latency": 191.5, "Average Update Latency": 105.0, "Median Update Latency": 98.3, "Tail Update Latency": 195.9}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499869.8, "Average Read Latency": 5997.7, "Median Read Latency": 301.4, "Tail Read Latency": 12516.1, "Average Update Latency": 5930.8, "Median Update Latency": 305.7, "Tail Update Latency": 12515.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499827.3, "Average Read Latency": 5915.9, "Median Read Latency": 426.2, "Tail Read Latency": 12499.6, "Average Update Latency": 6032.7, "Median Update Latency": 461.0, "Tail Update Latency": 12512.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 556585.5, "Average Read Latency": 14788.8, "Median Read Latency": 13517.9, "Tail Read Latency": 29137.7, "Average Update Latency": 15378.7, "Median Update Latency": 13528.5, "Tail Update Latency": 30915.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 537275.6, "Average Read Latency": 14558.4, "Median Read Latency": 14107.1, "Tail Read Latency": 27774.9, "Average Update Latency": 14705.4, "Median Update Latency": 14125.1, "Tail Update Latency": 28563.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 593056.6, "Average Read Latency": 21590.9, "Median Read Latency": 12944.0, "Tail Read Latency": 252472.0, "Average Update Latency": 20935.6, "Median Update Latency": 12936.0, "Tail Update Latency": 247543.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100020.2, "Average Read Latency": 106.1, "Median Read Latency": 93.3, "Tail Read Latency": 141.7, "Average Update Latency": 114.1, "Median Update Latency": 97.1, "Tail Update Latency": 149.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 483136.5, "Average Read Latency": 21744.3, "Median Read Latency": 11790.4, "Tail Read Latency": 260728.4, "Average Update Latency": 22431.0, "Median Update Latency": 11841.7, "Tail Update Latency": 261874.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 99979.6, "Average Read Latency": 101.1, "Median Read Latency": 93.7, "Tail Read Latency": 159.8, "Average Update Latency": 103.0, "Median Update Latency": 98.3, "Tail Update Latency": 164.6}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 508802.8, "Average Read Latency": 26925.5, "Median Read Latency": 16159.4, "Tail Read Latency": 305680.8, "Average Update Latency": 27087.0, "Median Update Latency": 16184.0, "Tail Update Latency": 308894.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 504924.7, "Average Read Latency": 27385.7, "Median Read Latency": 15963.9, "Tail Read Latency": 316903.3, "Average Update Latency": 28092.4, "Median Update Latency": 15989.5, "Tail Update Latency": 330779.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 399941.5, "Average Read Latency": 397.6, "Median Read Latency": 125.2, "Tail Read Latency": 6978.0, "Average Update Latency": 470.9, "Median Update Latency": 126.7, "Tail Update Latency": 8617.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 399946.2, "Average Read Latency": 118.5, "Median Read Latency": 103.7, "Tail Read Latency": 312.3, "Average Update Latency": 120.8, "Median Update Latency": 106.0, "Tail Update Latency": 315.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 521907.3, "Average Read Latency": 30505.1, "Median Read Latency": 19031.2, "Tail Read Latency": 325713.3, "Average Update Latency": 31379.0, "Median Update Latency": 19167.5, "Tail Update Latency": 343447.2}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 588199.3, "Average Read Latency": 24281.5, "Median Read Latency": 16005.6, "Tail Read Latency": 257868.6, "Average Update Latency": 24695.2, "Median Update Latency": 16193.2, "Tail Update Latency": 255176.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100009.2, "Average Read Latency": 87.4, "Median Read Latency": 85.1, "Tail Read Latency": 127.9, "Average Update Latency": 91.8, "Median Update Latency": 89.4, "Tail Update Latency": 136.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499342.4, "Average Read Latency": 9734.8, "Median Read Latency": 2925.1, "Tail Read Latency": 227260.6, "Average Update Latency": 9818.0, "Median Update Latency": 2810.7, "Tail Update Latency": 226948.7}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 566785.4, "Average Read Latency": 14450.0, "Median Read Latency": 13321.1, "Tail Read Latency": 28639.9, "Average Update Latency": 14786.4, "Median Update Latency": 13336.6, "Tail Update Latency": 29296.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 484198.6, "Average Read Latency": 22790.6, "Median Read Latency": 12665.4, "Tail Read Latency": 260401.2, "Average Update Latency": 23421.5, "Median Update Latency": 12690.0, "Tail Update Latency": 263086.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300025.2, "Average Read Latency": 103.4, "Median Read Latency": 96.4, "Tail Read Latency": 196.1, "Average Update Latency": 106.3, "Median Update Latency": 99.3, "Tail Update Latency": 200.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 500015.4, "Average Read Latency": 6152.8, "Median Read Latency": 404.1, "Tail Read Latency": 12509.5, "Average Update Latency": 6099.9, "Median Update Latency": 411.0, "Tail Update Latency": 12511.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300039.2, "Average Read Latency": 124.6, "Median Read Latency": 106.2, "Tail Read Latency": 309.2, "Average Update Latency": 127.6, "Median Update Latency": 110.6, "Tail Update Latency": 307.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 562446.1, "Average Read Latency": 14500.5, "Median Read Latency": 13409.8, "Tail Read Latency": 28840.7, "Average Update Latency": 14795.3, "Median Update Latency": 13428.3, "Tail Update Latency": 29522.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300046.6, "Average Read Latency": 101.3, "Median Read Latency": 94.0, "Tail Read Latency": 188.5, "Average Update Latency": 104.3, "Median Update Latency": 97.0, "Tail Update Latency": 192.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400141.3, "Average Read Latency": 120.6, "Median Read Latency": 104.7, "Tail Read Latency": 327.4, "Average Update Latency": 123.6, "Median Update Latency": 107.2, "Tail Update Latency": 335.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 505837.0, "Average Read Latency": 24546.4, "Median Read Latency": 14161.5, "Tail Read Latency": 292122.1, "Average Update Latency": 25156.5, "Median Update Latency": 14246.9, "Tail Update Latency": 301784.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499920.5, "Average Read Latency": 5654.0, "Median Read Latency": 246.0, "Tail Read Latency": 12468.0, "Average Update Latency": 5658.1, "Median Update Latency": 267.1, "Tail Update Latency": 12473.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 199974.9, "Average Read Latency": 88.8, "Median Read Latency": 85.6, "Tail Read Latency": 137.0, "Average Update Latency": 91.9, "Median Update Latency": 88.6, "Tail Update Latency": 140.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400005.3, "Average Read Latency": 499.1, "Median Read Latency": 126.4, "Tail Read Latency": 8642.4, "Average Update Latency": 641.6, "Median Update Latency": 128.0, "Tail Update Latency": 12369.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 499585.4, "Average Read Latency": 22807.6, "Median Read Latency": 14217.1, "Tail Read Latency": 261935.9, "Average Update Latency": 23730.5, "Median Update Latency": 14227.2, "Tail Update Latency": 267588.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499872.9, "Average Read Latency": 9095.2, "Median Read Latency": 1999.4, "Tail Read Latency": 223459.8, "Average Update Latency": 9018.4, "Median Update Latency": 2238.1, "Tail Update Latency": 224467.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 512143.6, "Average Read Latency": 29722.6, "Median Read Latency": 21055.9, "Tail Read Latency": 283321.2, "Average Update Latency": 29978.3, "Median Update Latency": 21113.6, "Tail Update Latency": 284801.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 572018.0, "Average Read Latency": 16765.3, "Median Read Latency": 10506.8, "Tail Read Latency": 229974.4, "Average Update Latency": 16601.0, "Median Update Latency": 10497.5, "Tail Update Latency": 228711.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300031.4, "Average Read Latency": 102.5, "Median Read Latency": 95.1, "Tail Read Latency": 191.8, "Average Update Latency": 105.5, "Median Update Latency": 98.1, "Tail Update Latency": 195.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 562067.4, "Average Read Latency": 14160.7, "Median Read Latency": 13325.5, "Tail Read Latency": 27283.7, "Average Update Latency": 14365.8, "Median Update Latency": 13339.3, "Tail Update Latency": 28413.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499850.2, "Average Read Latency": 6176.8, "Median Read Latency": 361.9, "Tail Read Latency": 12524.4, "Average Update Latency": 6170.8, "Median Update Latency": 352.4, "Tail Update Latency": 12877.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499691.9, "Average Read Latency": 8767.0, "Median Read Latency": 2861.2, "Tail Read Latency": 223798.7, "Average Update Latency": 8772.4, "Median Update Latency": 2479.0, "Tail Update Latency": 224325.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100031.2, "Average Read Latency": 97.7, "Median Read Latency": 92.7, "Tail Read Latency": 155.8, "Average Update Latency": 101.6, "Median Update Latency": 97.2, "Tail Update Latency": 163.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 481460.5, "Average Read Latency": 22428.3, "Median Read Latency": 13809.5, "Tail Read Latency": 256138.5, "Average Update Latency": 22802.1, "Median Update Latency": 13825.4, "Tail Update Latency": 258239.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 570994.7, "Average Read Latency": 17480.1, "Median Read Latency": 7859.7, "Tail Read Latency": 426673.7, "Average Update Latency": 17599.4, "Median Update Latency": 7864.8, "Tail Update Latency": 240201.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200020.2, "Average Read Latency": 89.4, "Median Read Latency": 86.2, "Tail Read Latency": 138.3, "Average Update Latency": 92.8, "Median Update Latency": 89.3, "Tail Update Latency": 140.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399993.3, "Average Read Latency": 119.5, "Median Read Latency": 104.2, "Tail Read Latency": 314.1, "Average Update Latency": 122.4, "Median Update Latency": 106.7, "Tail Update Latency": 321.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200007.8, "Average Read Latency": 110.5, "Median Read Latency": 96.4, "Tail Read Latency": 205.9, "Average Update Latency": 116.2, "Median Update Latency": 99.5, "Tail Update Latency": 210.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 400064.8, "Average Read Latency": 164.8, "Median Read Latency": 120.1, "Tail Read Latency": 526.5, "Average Update Latency": 167.2, "Median Update Latency": 123.8, "Tail Update Latency": 529.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 551472.7, "Average Read Latency": 14517.5, "Median Read Latency": 13680.0, "Tail Read Latency": 28180.0, "Average Update Latency": 14858.1, "Median Update Latency": 13688.6, "Tail Update Latency": 29120.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 299986.3, "Average Read Latency": 111.0, "Median Read Latency": 98.2, "Tail Read Latency": 248.2, "Average Update Latency": 114.4, "Median Update Latency": 101.9, "Tail Update Latency": 249.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200028.9, "Average Read Latency": 88.9, "Median Read Latency": 85.7, "Tail Read Latency": 138.1, "Average Update Latency": 92.0, "Median Update Latency": 88.8, "Tail Update Latency": 141.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399983.8, "Average Read Latency": 135.8, "Median Read Latency": 106.4, "Tail Read Latency": 540.6, "Average Update Latency": 139.1, "Median Update Latency": 109.7, "Tail Update Latency": 546.9}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 568478.0, "Average Read Latency": 16271.8, "Median Read Latency": 7670.5, "Tail Read Latency": 239477.7, "Average Update Latency": 15856.6, "Median Update Latency": 7765.8, "Tail Update Latency": 239148.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 483882.9, "Average Read Latency": 23404.3, "Median Read Latency": 12362.1, "Tail Read Latency": 262289.4, "Average Update Latency": 23599.2, "Median Update Latency": 12414.6, "Tail Update Latency": 262326.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 551328.0, "Average Read Latency": 14467.1, "Median Read Latency": 13952.0, "Tail Read Latency": 27149.0, "Average Update Latency": 14556.4, "Median Update Latency": 13962.9, "Tail Update Latency": 27773.5}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 481131.0, "Average Read Latency": 22506.3, "Median Read Latency": 11507.8, "Tail Read Latency": 262007.9, "Average Update Latency": 22827.6, "Median Update Latency": 11563.9, "Tail Update Latency": 263679.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400037.1, "Average Read Latency": 165.2, "Median Read Latency": 119.3, "Tail Read Latency": 531.0, "Average Update Latency": 169.6, "Median Update Latency": 123.6, "Tail Update Latency": 532.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 99986.8, "Average Read Latency": 90.3, "Median Read Latency": 87.5, "Tail Read Latency": 135.8, "Average Update Latency": 95.2, "Median Update Latency": 92.8, "Tail Update Latency": 141.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200009.2, "Average Read Latency": 111.1, "Median Read Latency": 94.4, "Tail Read Latency": 186.4, "Average Update Latency": 113.1, "Median Update Latency": 97.2, "Tail Update Latency": 190.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499907.2, "Average Read Latency": 5301.1, "Median Read Latency": 250.1, "Tail Read Latency": 12385.9, "Average Update Latency": 5175.8, "Median Update Latency": 257.7, "Tail Update Latency": 12365.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400026.7, "Average Read Latency": 514.2, "Median Read Latency": 126.7, "Tail Read Latency": 9091.9, "Average Update Latency": 630.1, "Median Update Latency": 127.6, "Tail Update Latency": 11801.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 199967.1, "Average Read Latency": 109.5, "Median Read Latency": 95.8, "Tail Read Latency": 192.7, "Average Update Latency": 113.8, "Median Update Latency": 98.7, "Tail Update Latency": 196.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 199972.8, "Average Read Latency": 109.1, "Median Read Latency": 95.2, "Tail Read Latency": 187.2, "Average Update Latency": 115.0, "Median Update Latency": 98.0, "Tail Update Latency": 193.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 523409.3, "Average Read Latency": 27322.2, "Median Read Latency": 19326.2, "Tail Read Latency": 267736.4, "Average Update Latency": 27708.9, "Median Update Latency": 19384.9, "Tail Update Latency": 269917.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200008.3, "Average Read Latency": 89.6, "Median Read Latency": 86.3, "Tail Read Latency": 140.2, "Average Update Latency": 92.8, "Median Update Latency": 89.6, "Tail Update Latency": 144.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 399965.1, "Average Read Latency": 327.9, "Median Read Latency": 122.5, "Tail Read Latency": 5263.0, "Average Update Latency": 391.3, "Median Update Latency": 124.9, "Tail Update Latency": 6715.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 99975.2, "Average Read Latency": 98.6, "Median Read Latency": 91.9, "Tail Read Latency": 155.6, "Average Update Latency": 105.7, "Median Update Latency": 96.6, "Tail Update Latency": 167.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200050.2, "Average Read Latency": 106.7, "Median Read Latency": 94.6, "Tail Read Latency": 205.7, "Average Update Latency": 115.2, "Median Update Latency": 99.0, "Tail Update Latency": 209.5}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 501141.9, "Average Read Latency": 25688.6, "Median Read Latency": 16243.6, "Tail Read Latency": 268337.2, "Average Update Latency": 26464.4, "Median Update Latency": 16318.1, "Tail Update Latency": 276888.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199997.0, "Average Read Latency": 106.0, "Median Read Latency": 95.5, "Tail Read Latency": 193.3, "Average Update Latency": 114.2, "Median Update Latency": 98.4, "Tail Update Latency": 200.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 568805.4, "Average Read Latency": 18387.6, "Median Read Latency": 8301.0, "Tail Read Latency": 240427.6, "Average Update Latency": 17812.2, "Median Update Latency": 8304.6, "Tail Update Latency": 239472.7}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 513429.8, "Average Read Latency": 30133.3, "Median Read Latency": 22433.9, "Tail Read Latency": 278764.5, "Average Update Latency": 30929.0, "Median Update Latency": 22540.2, "Tail Update Latency": 283029.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 553146.7, "Average Read Latency": 14127.2, "Median Read Latency": 13739.1, "Tail Read Latency": 26096.2, "Average Update Latency": 14191.5, "Median Update Latency": 13751.5, "Tail Update Latency": 27144.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 583230.3, "Average Read Latency": 24309.6, "Median Read Latency": 15008.4, "Tail Read Latency": 253633.3, "Average Update Latency": 24551.8, "Median Update Latency": 15043.3, "Tail Update Latency": 258419.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499923.0, "Average Read Latency": 6060.8, "Median Read Latency": 308.4, "Tail Read Latency": 12512.3, "Average Update Latency": 6120.7, "Median Update Latency": 308.0, "Tail Update Latency": 12523.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300063.0, "Average Read Latency": 102.5, "Median Read Latency": 95.7, "Tail Read Latency": 194.1, "Average Update Latency": 105.7, "Median Update Latency": 98.8, "Tail Update Latency": 198.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100007.3, "Average Read Latency": 97.7, "Median Read Latency": 91.8, "Tail Read Latency": 138.2, "Average Update Latency": 99.0, "Median Update Latency": 95.5, "Tail Update Latency": 145.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 99972.1, "Average Read Latency": 98.9, "Median Read Latency": 92.3, "Tail Read Latency": 161.8, "Average Update Latency": 102.7, "Median Update Latency": 96.9, "Tail Update Latency": 168.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 485044.5, "Average Read Latency": 21735.5, "Median Read Latency": 13171.3, "Tail Read Latency": 254360.8, "Average Update Latency": 22602.8, "Median Update Latency": 13190.5, "Tail Update Latency": 257507.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400010.7, "Average Read Latency": 439.0, "Median Read Latency": 125.7, "Tail Read Latency": 7496.6, "Average Update Latency": 569.3, "Median Update Latency": 127.6, "Tail Update Latency": 10302.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100042.6, "Average Read Latency": 107.3, "Median Read Latency": 92.6, "Tail Read Latency": 146.2, "Average Update Latency": 107.9, "Median Update Latency": 96.1, "Tail Update Latency": 153.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 505242.2, "Average Read Latency": 25212.8, "Median Read Latency": 14604.8, "Tail Read Latency": 293527.2, "Average Update Latency": 25954.0, "Median Update Latency": 14636.0, "Tail Update Latency": 303798.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 563200.4, "Average Read Latency": 14115.4, "Median Read Latency": 13483.0, "Tail Read Latency": 27664.1, "Average Update Latency": 14325.1, "Median Update Latency": 13492.8, "Tail Update Latency": 28634.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400003.6, "Average Read Latency": 513.4, "Median Read Latency": 125.2, "Tail Read Latency": 8471.4, "Average Update Latency": 660.0, "Median Update Latency": 127.2, "Tail Update Latency": 11704.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 564264.6, "Average Read Latency": 13934.0, "Median Read Latency": 13410.7, "Tail Read Latency": 25832.0, "Average Update Latency": 14002.0, "Median Update Latency": 13406.5, "Tail Update Latency": 26774.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200024.6, "Average Read Latency": 114.3, "Median Read Latency": 98.2, "Tail Read Latency": 217.0, "Average Update Latency": 121.5, "Median Update Latency": 101.5, "Tail Update Latency": 222.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 508365.3, "Average Read Latency": 27990.3, "Median Read Latency": 18580.4, "Tail Read Latency": 282523.6, "Average Update Latency": 29054.0, "Median Update Latency": 18675.8, "Tail Update Latency": 287869.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 559705.2, "Average Read Latency": 14509.1, "Median Read Latency": 13488.7, "Tail Read Latency": 28871.1, "Average Update Latency": 14863.5, "Median Update Latency": 13501.3, "Tail Update Latency": 30105.1}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 99994.5, "Average Read Latency": 87.2, "Median Read Latency": 85.0, "Tail Read Latency": 126.6, "Average Update Latency": 91.4, "Median Update Latency": 88.9, "Tail Update Latency": 129.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 501514.8, "Average Read Latency": 23603.7, "Median Read Latency": 13941.4, "Tail Read Latency": 279202.9, "Average Update Latency": 24082.1, "Median Update Latency": 13942.1, "Tail Update Latency": 285704.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200062.3, "Average Read Latency": 87.5, "Median Read Latency": 84.7, "Tail Read Latency": 133.1, "Average Update Latency": 90.8, "Median Update Latency": 87.6, "Tail Update Latency": 138.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199977.1, "Average Read Latency": 116.4, "Median Read Latency": 94.9, "Tail Read Latency": 193.0, "Average Update Latency": 126.1, "Median Update Latency": 97.7, "Tail Update Latency": 195.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199995.0, "Average Read Latency": 103.5, "Median Read Latency": 94.8, "Tail Read Latency": 203.5, "Average Update Latency": 109.0, "Median Update Latency": 99.1, "Tail Update Latency": 210.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499863.2, "Average Read Latency": 8285.1, "Median Read Latency": 1249.7, "Tail Read Latency": 222452.4, "Average Update Latency": 8062.8, "Median Update Latency": 1341.5, "Tail Update Latency": 220803.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200052.0, "Average Read Latency": 107.8, "Median Read Latency": 95.8, "Tail Read Latency": 216.4, "Average Update Latency": 112.4, "Median Update Latency": 100.4, "Tail Update Latency": 224.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100039.2, "Average Read Latency": 88.7, "Median Read Latency": 86.2, "Tail Read Latency": 131.3, "Average Update Latency": 93.2, "Median Update Latency": 91.0, "Tail Update Latency": 139.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300039.2, "Average Read Latency": 130.5, "Median Read Latency": 98.1, "Tail Read Latency": 277.9, "Average Update Latency": 144.7, "Median Update Latency": 100.7, "Tail Update Latency": 282.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300055.2, "Average Read Latency": 150.9, "Median Read Latency": 106.6, "Tail Read Latency": 350.2, "Average Update Latency": 179.4, "Median Update Latency": 109.4, "Tail Update Latency": 375.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199992.1, "Average Read Latency": 106.9, "Median Read Latency": 93.7, "Tail Read Latency": 179.6, "Average Update Latency": 111.6, "Median Update Latency": 96.5, "Tail Update Latency": 182.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299997.1, "Average Read Latency": 112.1, "Median Read Latency": 99.2, "Tail Read Latency": 247.0, "Average Update Latency": 115.0, "Median Update Latency": 102.7, "Tail Update Latency": 253.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 399969.7, "Average Read Latency": 168.5, "Median Read Latency": 121.7, "Tail Read Latency": 531.6, "Average Update Latency": 171.4, "Median Update Latency": 125.8, "Tail Update Latency": 532.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 400026.4, "Average Read Latency": 167.9, "Median Read Latency": 120.5, "Tail Read Latency": 534.1, "Average Update Latency": 168.9, "Median Update Latency": 124.5, "Tail Update Latency": 534.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 570141.7, "Average Read Latency": 13902.0, "Median Read Latency": 13275.0, "Tail Read Latency": 26568.8, "Average Update Latency": 14129.1, "Median Update Latency": 13276.2, "Tail Update Latency": 27357.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499941.6, "Average Read Latency": 5510.0, "Median Read Latency": 260.2, "Tail Read Latency": 12442.8, "Average Update Latency": 5573.2, "Median Update Latency": 265.2, "Tail Update Latency": 12449.2}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400003.9, "Average Read Latency": 405.2, "Median Read Latency": 123.5, "Tail Read Latency": 7444.2, "Average Update Latency": 485.1, "Median Update Latency": 125.6, "Tail Update Latency": 8808.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 551362.2, "Average Read Latency": 14173.0, "Median Read Latency": 13760.9, "Tail Read Latency": 26079.0, "Average Update Latency": 14300.7, "Median Update Latency": 13773.4, "Tail Update Latency": 26986.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 99941.4, "Average Read Latency": 97.8, "Median Read Latency": 92.8, "Tail Read Latency": 156.5, "Average Update Latency": 102.5, "Median Update Latency": 97.3, "Tail Update Latency": 163.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200054.9, "Average Read Latency": 103.6, "Median Read Latency": 95.2, "Tail Read Latency": 206.7, "Average Update Latency": 106.7, "Median Update Latency": 99.6, "Tail Update Latency": 212.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100050.5, "Average Read Latency": 100.3, "Median Read Latency": 92.7, "Tail Read Latency": 161.0, "Average Update Latency": 106.4, "Median Update Latency": 97.5, "Tail Update Latency": 171.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 542391.7, "Average Read Latency": 14457.0, "Median Read Latency": 13956.5, "Tail Read Latency": 26973.1, "Average Update Latency": 14591.2, "Median Update Latency": 13968.3, "Tail Update Latency": 28048.2}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 506568.2, "Average Read Latency": 27481.9, "Median Read Latency": 17120.2, "Tail Read Latency": 282905.9, "Average Update Latency": 28629.2, "Median Update Latency": 17194.0, "Tail Update Latency": 300706.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 524382.9, "Average Read Latency": 25836.3, "Median Read Latency": 16403.1, "Tail Read Latency": 277570.7, "Average Update Latency": 26235.7, "Median Update Latency": 16440.2, "Tail Update Latency": 281487.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 557140.5, "Average Read Latency": 15107.5, "Median Read Latency": 13671.3, "Tail Read Latency": 28820.7, "Average Update Latency": 15289.5, "Median Update Latency": 13687.1, "Tail Update Latency": 29491.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100009.8, "Average Read Latency": 88.3, "Median Read Latency": 85.7, "Tail Read Latency": 129.3, "Average Update Latency": 93.3, "Median Update Latency": 90.2, "Tail Update Latency": 137.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 400011.7, "Average Read Latency": 168.2, "Median Read Latency": 121.6, "Tail Read Latency": 530.2, "Average Update Latency": 171.7, "Median Update Latency": 125.7, "Tail Update Latency": 530.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 545392.7, "Average Read Latency": 14524.9, "Median Read Latency": 14085.0, "Tail Read Latency": 26696.8, "Average Update Latency": 14561.1, "Median Update Latency": 14090.8, "Tail Update Latency": 27537.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300053.5, "Average Read Latency": 152.1, "Median Read Latency": 107.5, "Tail Read Latency": 361.9, "Average Update Latency": 171.8, "Median Update Latency": 109.9, "Tail Update Latency": 401.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100013.5, "Average Read Latency": 88.8, "Median Read Latency": 86.3, "Tail Read Latency": 131.4, "Average Update Latency": 93.6, "Median Update Latency": 91.2, "Tail Update Latency": 139.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 590949.6, "Average Read Latency": 23201.7, "Median Read Latency": 13867.4, "Tail Read Latency": 257035.9, "Average Update Latency": 23215.8, "Median Update Latency": 13936.4, "Tail Update Latency": 256286.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 500032.9, "Average Read Latency": 6024.9, "Median Read Latency": 325.5, "Tail Read Latency": 12507.4, "Average Update Latency": 5990.1, "Median Update Latency": 318.2, "Tail Update Latency": 12513.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400011.6, "Average Read Latency": 397.4, "Median Read Latency": 123.7, "Tail Read Latency": 7303.0, "Average Update Latency": 462.5, "Median Update Latency": 125.7, "Tail Update Latency": 8229.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300044.3, "Average Read Latency": 112.9, "Median Read Latency": 98.8, "Tail Read Latency": 253.8, "Average Update Latency": 116.6, "Median Update Latency": 102.4, "Tail Update Latency": 258.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 556827.9, "Average Read Latency": 14083.2, "Median Read Latency": 13553.7, "Tail Read Latency": 26544.7, "Average Update Latency": 14274.5, "Median Update Latency": 13560.2, "Tail Update Latency": 27513.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 570344.3, "Average Read Latency": 16692.1, "Median Read Latency": 7383.9, "Tail Read Latency": 242945.4, "Average Update Latency": 17280.3, "Median Update Latency": 7392.2, "Tail Update Latency": 256143.3}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 545820.0, "Average Read Latency": 14552.1, "Median Read Latency": 13952.3, "Tail Read Latency": 27862.9, "Average Update Latency": 14728.5, "Median Update Latency": 13962.3, "Tail Update Latency": 28839.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 400080.1, "Average Read Latency": 166.0, "Median Read Latency": 120.3, "Tail Read Latency": 526.1, "Average Update Latency": 170.8, "Median Update Latency": 124.3, "Tail Update Latency": 531.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 568165.9, "Average Read Latency": 17498.3, "Median Read Latency": 7789.2, "Tail Read Latency": 250274.4, "Average Update Latency": 17548.0, "Median Update Latency": 7823.6, "Tail Update Latency": 244845.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499788.1, "Average Read Latency": 7801.0, "Median Read Latency": 2386.1, "Tail Read Latency": 221011.4, "Average Update Latency": 7780.0, "Median Update Latency": 2315.1, "Tail Update Latency": 220887.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200012.1, "Average Read Latency": 89.5, "Median Read Latency": 85.9, "Tail Read Latency": 139.6, "Average Update Latency": 92.8, "Median Update Latency": 88.8, "Tail Update Latency": 142.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 559468.9, "Average Read Latency": 14121.9, "Median Read Latency": 13490.0, "Tail Read Latency": 26682.4, "Average Update Latency": 14145.8, "Median Update Latency": 13493.7, "Tail Update Latency": 27243.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200013.9, "Average Read Latency": 113.8, "Median Read Latency": 95.7, "Tail Read Latency": 200.4, "Average Update Latency": 116.4, "Median Update Latency": 98.9, "Tail Update Latency": 200.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499928.7, "Average Read Latency": 6641.5, "Median Read Latency": 871.2, "Tail Read Latency": 13894.6, "Average Update Latency": 6746.3, "Median Update Latency": 799.8, "Tail Update Latency": 17616.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 299962.2, "Average Read Latency": 137.1, "Median Read Latency": 99.2, "Tail Read Latency": 291.1, "Average Update Latency": 163.0, "Median Update Latency": 101.5, "Tail Update Latency": 310.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400101.2, "Average Read Latency": 171.9, "Median Read Latency": 122.1, "Tail Read Latency": 560.5, "Average Update Latency": 176.1, "Median Update Latency": 125.7, "Tail Update Latency": 560.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 595659.0, "Average Read Latency": 22200.9, "Median Read Latency": 14358.5, "Tail Read Latency": 251441.8, "Average Update Latency": 22037.6, "Median Update Latency": 14350.7, "Tail Update Latency": 248381.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200002.6, "Average Read Latency": 90.2, "Median Read Latency": 86.8, "Tail Read Latency": 139.4, "Average Update Latency": 93.3, "Median Update Latency": 90.3, "Tail Update Latency": 142.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 552283.4, "Average Read Latency": 14454.4, "Median Read Latency": 13816.8, "Tail Read Latency": 27832.5, "Average Update Latency": 14769.5, "Median Update Latency": 13828.5, "Tail Update Latency": 29015.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499884.1, "Average Read Latency": 9102.9, "Median Read Latency": 1961.9, "Tail Read Latency": 225147.3, "Average Update Latency": 9138.4, "Median Update Latency": 1857.1, "Tail Update Latency": 225084.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499843.7, "Average Read Latency": 8125.5, "Median Read Latency": 1983.9, "Tail Read Latency": 221187.4, "Average Update Latency": 8089.3, "Median Update Latency": 1973.7, "Tail Update Latency": 220497.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 99963.6, "Average Read Latency": 88.2, "Median Read Latency": 85.7, "Tail Read Latency": 128.6, "Average Update Latency": 92.4, "Median Update Latency": 90.3, "Tail Update Latency": 136.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200031.4, "Average Read Latency": 114.4, "Median Read Latency": 96.0, "Tail Read Latency": 199.2, "Average Update Latency": 120.3, "Median Update Latency": 99.0, "Tail Update Latency": 204.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400105.6, "Average Read Latency": 649.8, "Median Read Latency": 128.9, "Tail Read Latency": 11216.4, "Average Update Latency": 838.8, "Median Update Latency": 130.4, "Tail Update Latency": 14951.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 558774.2, "Average Read Latency": 14196.4, "Median Read Latency": 13503.5, "Tail Read Latency": 27045.1, "Average Update Latency": 14399.5, "Median Update Latency": 13507.5, "Tail Update Latency": 28297.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200015.1, "Average Read Latency": 103.6, "Median Read Latency": 95.8, "Tail Read Latency": 209.8, "Average Update Latency": 107.7, "Median Update Latency": 100.0, "Tail Update Latency": 211.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199979.5, "Average Read Latency": 105.2, "Median Read Latency": 95.0, "Tail Read Latency": 207.7, "Average Update Latency": 109.8, "Median Update Latency": 99.2, "Tail Update Latency": 211.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300043.6, "Average Read Latency": 101.9, "Median Read Latency": 94.6, "Tail Read Latency": 193.0, "Average Update Latency": 105.0, "Median Update Latency": 97.6, "Tail Update Latency": 197.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 399968.7, "Average Read Latency": 503.6, "Median Read Latency": 124.7, "Tail Read Latency": 8607.1, "Average Update Latency": 638.2, "Median Update Latency": 126.4, "Tail Update Latency": 11707.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 523002.1, "Average Read Latency": 30960.2, "Median Read Latency": 21851.9, "Tail Read Latency": 300620.7, "Average Update Latency": 31559.9, "Median Update Latency": 21887.6, "Tail Update Latency": 318782.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 572788.6, "Average Read Latency": 14074.0, "Median Read Latency": 13191.6, "Tail Read Latency": 27766.1, "Average Update Latency": 14299.6, "Median Update Latency": 13201.9, "Tail Update Latency": 28688.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 484466.6, "Average Read Latency": 23328.9, "Median Read Latency": 13946.1, "Tail Read Latency": 259201.9, "Average Update Latency": 23879.5, "Median Update Latency": 14027.8, "Tail Update Latency": 260467.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300044.9, "Average Read Latency": 143.4, "Median Read Latency": 99.8, "Tail Read Latency": 296.5, "Average Update Latency": 162.7, "Median Update Latency": 101.9, "Tail Update Latency": 301.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100022.3, "Average Read Latency": 108.5, "Median Read Latency": 93.2, "Tail Read Latency": 146.1, "Average Update Latency": 115.0, "Median Update Latency": 96.9, "Tail Update Latency": 151.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 399980.9, "Average Read Latency": 340.6, "Median Read Latency": 125.1, "Tail Read Latency": 5730.7, "Average Update Latency": 407.7, "Median Update Latency": 127.4, "Tail Update Latency": 6864.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300091.2, "Average Read Latency": 144.8, "Median Read Latency": 106.2, "Tail Read Latency": 343.6, "Average Update Latency": 161.9, "Median Update Latency": 108.9, "Tail Update Latency": 360.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100027.0, "Average Read Latency": 89.3, "Median Read Latency": 86.7, "Tail Read Latency": 132.3, "Average Update Latency": 93.6, "Median Update Latency": 91.6, "Tail Update Latency": 138.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 571744.3, "Average Read Latency": 18239.1, "Median Read Latency": 7966.6, "Tail Read Latency": 258176.5, "Average Update Latency": 17792.7, "Median Update Latency": 7969.4, "Tail Update Latency": 240191.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 482776.4, "Average Read Latency": 23207.2, "Median Read Latency": 12687.5, "Tail Read Latency": 261118.5, "Average Update Latency": 23752.1, "Median Update Latency": 12688.8, "Tail Update Latency": 263425.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200056.7, "Average Read Latency": 87.9, "Median Read Latency": 84.9, "Tail Read Latency": 135.5, "Average Update Latency": 90.6, "Median Update Latency": 87.6, "Tail Update Latency": 138.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100034.9, "Average Read Latency": 97.7, "Median Read Latency": 92.8, "Tail Read Latency": 157.2, "Average Update Latency": 101.4, "Median Update Latency": 97.5, "Tail Update Latency": 163.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 483472.2, "Average Read Latency": 24399.1, "Median Read Latency": 14174.2, "Tail Read Latency": 262022.8, "Average Update Latency": 25062.0, "Median Update Latency": 14225.3, "Tail Update Latency": 262401.2}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400016.8, "Average Read Latency": 167.7, "Median Read Latency": 121.7, "Tail Read Latency": 533.8, "Average Update Latency": 169.8, "Median Update Latency": 125.7, "Tail Update Latency": 546.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300001.9, "Average Read Latency": 125.3, "Median Read Latency": 106.8, "Tail Read Latency": 309.9, "Average Update Latency": 128.9, "Median Update Latency": 111.1, "Tail Update Latency": 313.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499963.2, "Average Read Latency": 6342.0, "Median Read Latency": 441.5, "Tail Read Latency": 12658.3, "Average Update Latency": 6355.1, "Median Update Latency": 494.2, "Tail Update Latency": 13223.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499617.5, "Average Read Latency": 8269.9, "Median Read Latency": 2759.8, "Tail Read Latency": 224088.1, "Average Update Latency": 8178.7, "Median Update Latency": 3031.5, "Tail Update Latency": 223476.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 588443.4, "Average Read Latency": 26112.6, "Median Read Latency": 20682.8, "Tail Read Latency": 242468.9, "Average Update Latency": 26425.4, "Median Update Latency": 20902.7, "Tail Update Latency": 245837.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100018.6, "Average Read Latency": 90.1, "Median Read Latency": 87.1, "Tail Read Latency": 136.7, "Average Update Latency": 94.9, "Median Update Latency": 92.2, "Tail Update Latency": 140.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 559667.2, "Average Read Latency": 14485.2, "Median Read Latency": 13522.7, "Tail Read Latency": 28782.9, "Average Update Latency": 14755.5, "Median Update Latency": 13534.6, "Tail Update Latency": 29313.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200015.4, "Average Read Latency": 107.1, "Median Read Latency": 95.1, "Tail Read Latency": 213.8, "Average Update Latency": 111.7, "Median Update Latency": 99.5, "Tail Update Latency": 220.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100033.3, "Average Read Latency": 99.8, "Median Read Latency": 92.3, "Tail Read Latency": 161.6, "Average Update Latency": 103.8, "Median Update Latency": 97.0, "Tail Update Latency": 170.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 299933.2, "Average Read Latency": 139.9, "Median Read Latency": 100.0, "Tail Read Latency": 301.5, "Average Update Latency": 161.2, "Median Update Latency": 102.2, "Tail Update Latency": 314.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200010.5, "Average Read Latency": 105.5, "Median Read Latency": 96.1, "Tail Read Latency": 205.9, "Average Update Latency": 109.1, "Median Update Latency": 100.4, "Tail Update Latency": 217.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100012.6, "Average Read Latency": 106.1, "Median Read Latency": 92.5, "Tail Read Latency": 145.2, "Average Update Latency": 111.7, "Median Update Latency": 96.1, "Tail Update Latency": 152.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 523843.4, "Average Read Latency": 30898.6, "Median Read Latency": 21215.0, "Tail Read Latency": 299857.7, "Average Update Latency": 31465.1, "Median Update Latency": 21362.8, "Tail Update Latency": 307240.6}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 399982.5, "Average Read Latency": 118.8, "Median Read Latency": 103.8, "Tail Read Latency": 313.1, "Average Update Latency": 122.0, "Median Update Latency": 106.2, "Tail Update Latency": 314.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 99988.5, "Average Read Latency": 104.5, "Median Read Latency": 93.2, "Tail Read Latency": 146.5, "Average Update Latency": 107.0, "Median Update Latency": 97.1, "Tail Update Latency": 151.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 574189.3, "Average Read Latency": 18038.3, "Median Read Latency": 8210.5, "Tail Read Latency": 240229.2, "Average Update Latency": 18318.3, "Median Update Latency": 8188.4, "Tail Update Latency": 248571.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 565544.8, "Average Read Latency": 15714.2, "Median Read Latency": 7837.3, "Tail Read Latency": 238771.6, "Average Update Latency": 16003.6, "Median Update Latency": 7872.0, "Tail Update Latency": 238388.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 552365.2, "Average Read Latency": 14343.5, "Median Read Latency": 13769.3, "Tail Read Latency": 27771.0, "Average Update Latency": 14655.1, "Median Update Latency": 13784.5, "Tail Update Latency": 28804.6}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 485556.8, "Average Read Latency": 22612.7, "Median Read Latency": 12181.9, "Tail Read Latency": 261557.4, "Average Update Latency": 23484.6, "Median Update Latency": 12217.8, "Tail Update Latency": 265813.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99996.6, "Average Read Latency": 99.1, "Median Read Latency": 93.1, "Tail Read Latency": 161.5, "Average Update Latency": 108.4, "Median Update Latency": 98.1, "Tail Update Latency": 171.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200021.4, "Average Read Latency": 89.5, "Median Read Latency": 86.2, "Tail Read Latency": 139.8, "Average Update Latency": 93.0, "Median Update Latency": 89.7, "Tail Update Latency": 144.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100023.4, "Average Read Latency": 101.6, "Median Read Latency": 92.2, "Tail Read Latency": 138.2, "Average Update Latency": 105.3, "Median Update Latency": 95.9, "Tail Update Latency": 142.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100011.2, "Average Read Latency": 87.7, "Median Read Latency": 85.5, "Tail Read Latency": 127.9, "Average Update Latency": 92.2, "Median Update Latency": 89.9, "Tail Update Latency": 135.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300050.2, "Average Read Latency": 154.7, "Median Read Latency": 107.2, "Tail Read Latency": 380.9, "Average Update Latency": 175.7, "Median Update Latency": 109.8, "Tail Update Latency": 402.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499883.6, "Average Read Latency": 6393.3, "Median Read Latency": 437.3, "Tail Read Latency": 12514.9, "Average Update Latency": 6337.7, "Median Update Latency": 393.9, "Tail Update Latency": 12520.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300035.7, "Average Read Latency": 135.2, "Median Read Latency": 99.5, "Tail Read Latency": 292.3, "Average Update Latency": 154.5, "Median Update Latency": 101.7, "Tail Update Latency": 306.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499900.0, "Average Read Latency": 5934.3, "Median Read Latency": 351.8, "Tail Read Latency": 12598.0, "Average Update Latency": 5855.4, "Median Update Latency": 344.2, "Tail Update Latency": 12702.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 515298.2, "Average Read Latency": 25658.7, "Median Read Latency": 16813.3, "Tail Read Latency": 264429.2, "Average Update Latency": 26132.2, "Median Update Latency": 16995.2, "Tail Update Latency": 266163.6}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 99994.5, "Average Read Latency": 102.1, "Median Read Latency": 93.2, "Tail Read Latency": 146.5, "Average Update Latency": 106.5, "Median Update Latency": 96.6, "Tail Update Latency": 152.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100019.5, "Average Read Latency": 98.5, "Median Read Latency": 92.4, "Tail Read Latency": 161.9, "Average Update Latency": 108.6, "Median Update Latency": 97.6, "Tail Update Latency": 171.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 552977.8, "Average Read Latency": 14404.7, "Median Read Latency": 14014.3, "Tail Read Latency": 27001.4, "Average Update Latency": 14445.6, "Median Update Latency": 14011.5, "Tail Update Latency": 27879.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100020.2, "Average Read Latency": 89.1, "Median Read Latency": 86.6, "Tail Read Latency": 132.6, "Average Update Latency": 93.7, "Median Update Latency": 91.7, "Tail Update Latency": 139.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400042.3, "Average Read Latency": 464.8, "Median Read Latency": 123.5, "Tail Read Latency": 8525.3, "Average Update Latency": 617.0, "Median Update Latency": 125.1, "Tail Update Latency": 11779.4}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 566050.4, "Average Read Latency": 14549.1, "Median Read Latency": 13249.7, "Tail Read Latency": 30317.0, "Average Update Latency": 15404.0, "Median Update Latency": 13266.3, "Tail Update Latency": 41613.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400012.9, "Average Read Latency": 332.8, "Median Read Latency": 125.5, "Tail Read Latency": 5736.9, "Average Update Latency": 382.9, "Median Update Latency": 128.0, "Tail Update Latency": 6504.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 593222.1, "Average Read Latency": 22249.0, "Median Read Latency": 13330.8, "Tail Read Latency": 253575.9, "Average Update Latency": 22117.2, "Median Update Latency": 13377.9, "Tail Update Latency": 252096.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400016.3, "Average Read Latency": 170.9, "Median Read Latency": 121.3, "Tail Read Latency": 551.8, "Average Update Latency": 173.3, "Median Update Latency": 124.9, "Tail Update Latency": 551.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200014.7, "Average Read Latency": 89.5, "Median Read Latency": 86.2, "Tail Read Latency": 139.6, "Average Update Latency": 92.7, "Median Update Latency": 89.6, "Tail Update Latency": 143.3}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499623.3, "Average Read Latency": 8449.4, "Median Read Latency": 1455.3, "Tail Read Latency": 222915.9, "Average Update Latency": 8383.3, "Median Update Latency": 1286.5, "Tail Update Latency": 221473.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499929.8, "Average Read Latency": 6332.6, "Median Read Latency": 543.9, "Tail Read Latency": 12632.1, "Average Update Latency": 6312.7, "Median Update Latency": 541.5, "Tail Update Latency": 12882.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 565990.5, "Average Read Latency": 15883.4, "Median Read Latency": 7909.7, "Tail Read Latency": 239232.0, "Average Update Latency": 15701.1, "Median Update Latency": 7892.2, "Tail Update Latency": 238159.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499869.2, "Average Read Latency": 6090.8, "Median Read Latency": 332.7, "Tail Read Latency": 12489.9, "Average Update Latency": 6077.2, "Median Update Latency": 332.5, "Tail Update Latency": 12493.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399964.9, "Average Read Latency": 168.8, "Median Read Latency": 121.7, "Tail Read Latency": 536.5, "Average Update Latency": 171.7, "Median Update Latency": 125.2, "Tail Update Latency": 535.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 516226.0, "Average Read Latency": 30974.0, "Median Read Latency": 21842.3, "Tail Read Latency": 288002.8, "Average Update Latency": 31947.7, "Median Update Latency": 21924.2, "Tail Update Latency": 300723.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100001.3, "Average Read Latency": 99.0, "Median Read Latency": 92.2, "Tail Read Latency": 160.2, "Average Update Latency": 104.2, "Median Update Latency": 97.0, "Tail Update Latency": 168.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 483338.0, "Average Read Latency": 23768.4, "Median Read Latency": 12569.4, "Tail Read Latency": 264303.9, "Average Update Latency": 24069.5, "Median Update Latency": 12554.1, "Tail Update Latency": 278564.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300018.3, "Average Read Latency": 102.1, "Median Read Latency": 94.8, "Tail Read Latency": 193.4, "Average Update Latency": 105.2, "Median Update Latency": 97.9, "Tail Update Latency": 198.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200041.6, "Average Read Latency": 89.2, "Median Read Latency": 86.0, "Tail Read Latency": 138.6, "Average Update Latency": 92.5, "Median Update Latency": 89.3, "Tail Update Latency": 141.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 200009.1, "Average Read Latency": 112.5, "Median Read Latency": 96.7, "Tail Read Latency": 207.2, "Average Update Latency": 113.6, "Median Update Latency": 99.9, "Tail Update Latency": 207.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199985.6, "Average Read Latency": 105.2, "Median Read Latency": 94.5, "Tail Read Latency": 203.9, "Average Update Latency": 109.4, "Median Update Latency": 99.0, "Tail Update Latency": 208.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 299983.7, "Average Read Latency": 112.0, "Median Read Latency": 98.3, "Tail Read Latency": 252.2, "Average Update Latency": 116.0, "Median Update Latency": 102.0, "Tail Update Latency": 258.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 299979.0, "Average Read Latency": 144.9, "Median Read Latency": 106.7, "Tail Read Latency": 339.3, "Average Update Latency": 156.2, "Median Update Latency": 109.7, "Tail Update Latency": 357.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100027.0, "Average Read Latency": 89.6, "Median Read Latency": 86.9, "Tail Read Latency": 135.5, "Average Update Latency": 94.2, "Median Update Latency": 91.7, "Tail Update Latency": 140.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 483591.7, "Average Read Latency": 23644.7, "Median Read Latency": 12619.8, "Tail Read Latency": 263304.6, "Average Update Latency": 23631.0, "Median Update Latency": 12678.4, "Tail Update Latency": 263913.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200026.5, "Average Read Latency": 104.3, "Median Read Latency": 95.2, "Tail Read Latency": 205.3, "Average Update Latency": 108.0, "Median Update Latency": 99.4, "Tail Update Latency": 216.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300038.6, "Average Read Latency": 134.9, "Median Read Latency": 99.2, "Tail Read Latency": 276.6, "Average Update Latency": 154.7, "Median Update Latency": 101.3, "Tail Update Latency": 290.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 593965.2, "Average Read Latency": 24283.7, "Median Read Latency": 13624.9, "Tail Read Latency": 261136.7, "Average Update Latency": 24738.5, "Median Update Latency": 13602.8, "Tail Update Latency": 262173.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499612.2, "Average Read Latency": 8596.2, "Median Read Latency": 2748.0, "Tail Read Latency": 223729.9, "Average Update Latency": 8476.2, "Median Update Latency": 2718.0, "Tail Update Latency": 223193.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 560186.5, "Average Read Latency": 14517.3, "Median Read Latency": 13385.3, "Tail Read Latency": 27977.8, "Average Update Latency": 14639.9, "Median Update Latency": 13384.5, "Tail Update Latency": 29073.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 505163.8, "Average Read Latency": 25510.4, "Median Read Latency": 16093.1, "Tail Read Latency": 269451.5, "Average Update Latency": 26011.8, "Median Update Latency": 16104.5, "Tail Update Latency": 273392.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300044.8, "Average Read Latency": 101.8, "Median Read Latency": 94.7, "Tail Read Latency": 191.6, "Average Update Latency": 104.2, "Median Update Latency": 97.8, "Tail Update Latency": 194.8}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199980.1, "Average Read Latency": 117.0, "Median Read Latency": 97.2, "Tail Read Latency": 209.1, "Average Update Latency": 121.7, "Median Update Latency": 100.4, "Tail Update Latency": 215.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400003.8, "Average Read Latency": 166.6, "Median Read Latency": 121.0, "Tail Read Latency": 529.0, "Average Update Latency": 169.8, "Median Update Latency": 124.6, "Tail Update Latency": 533.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 564867.2, "Average Read Latency": 17673.5, "Median Read Latency": 7846.9, "Tail Read Latency": 239715.7, "Average Update Latency": 17718.3, "Median Update Latency": 7832.1, "Tail Update Latency": 244295.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499583.7, "Average Read Latency": 9123.9, "Median Read Latency": 1792.8, "Tail Read Latency": 225057.1, "Average Update Latency": 8751.4, "Median Update Latency": 1800.9, "Tail Update Latency": 223958.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200026.6, "Average Read Latency": 118.7, "Median Read Latency": 97.8, "Tail Read Latency": 216.5, "Average Update Latency": 122.4, "Median Update Latency": 100.7, "Tail Update Latency": 218.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 551066.7, "Average Read Latency": 14675.7, "Median Read Latency": 13729.9, "Tail Read Latency": 27851.1, "Average Update Latency": 14638.8, "Median Update Latency": 13742.6, "Tail Update Latency": 28538.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 399977.6, "Average Read Latency": 118.6, "Median Read Latency": 104.2, "Tail Read Latency": 302.3, "Average Update Latency": 121.8, "Median Update Latency": 106.5, "Tail Update Latency": 308.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 511298.1, "Average Read Latency": 26280.4, "Median Read Latency": 15560.6, "Tail Read Latency": 281257.5, "Average Update Latency": 26637.7, "Median Update Latency": 15625.4, "Tail Update Latency": 285255.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 506555.1, "Average Read Latency": 28482.6, "Median Read Latency": 18891.4, "Tail Read Latency": 282206.6, "Average Update Latency": 28754.9, "Median Update Latency": 19003.9, "Tail Update Latency": 284169.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 514371.6, "Average Read Latency": 29101.7, "Median Read Latency": 21669.8, "Tail Read Latency": 273752.1, "Average Update Latency": 29954.2, "Median Update Latency": 21799.6, "Tail Update Latency": 278109.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400000.9, "Average Read Latency": 373.9, "Median Read Latency": 122.7, "Tail Read Latency": 6735.6, "Average Update Latency": 448.9, "Median Update Latency": 124.6, "Tail Update Latency": 7943.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 483081.7, "Average Read Latency": 22705.2, "Median Read Latency": 12677.3, "Tail Read Latency": 259608.1, "Average Update Latency": 23065.0, "Median Update Latency": 12665.1, "Tail Update Latency": 261171.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 399930.7, "Average Read Latency": 371.1, "Median Read Latency": 126.3, "Tail Read Latency": 6599.4, "Average Update Latency": 429.3, "Median Update Latency": 128.2, "Tail Update Latency": 7261.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 199965.3, "Average Read Latency": 103.3, "Median Read Latency": 95.3, "Tail Read Latency": 209.0, "Average Update Latency": 107.9, "Median Update Latency": 99.7, "Tail Update Latency": 214.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300075.3, "Average Read Latency": 146.2, "Median Read Latency": 99.6, "Tail Read Latency": 292.5, "Average Update Latency": 176.5, "Median Update Latency": 101.9, "Tail Update Latency": 325.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199994.5, "Average Read Latency": 111.3, "Median Read Latency": 96.5, "Tail Read Latency": 203.8, "Average Update Latency": 114.5, "Median Update Latency": 99.9, "Tail Update Latency": 207.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 592931.9, "Average Read Latency": 22877.9, "Median Read Latency": 13800.4, "Tail Read Latency": 253284.3, "Average Update Latency": 22788.0, "Median Update Latency": 13750.6, "Tail Update Latency": 252488.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 99981.8, "Average Read Latency": 102.7, "Median Read Latency": 93.1, "Tail Read Latency": 157.3, "Average Update Latency": 108.1, "Median Update Latency": 98.0, "Tail Update Latency": 165.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400049.6, "Average Read Latency": 161.4, "Median Read Latency": 119.0, "Tail Read Latency": 509.9, "Average Update Latency": 164.9, "Median Update Latency": 122.8, "Tail Update Latency": 510.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 521248.0, "Average Read Latency": 28812.6, "Median Read Latency": 20240.5, "Tail Read Latency": 281905.5, "Average Update Latency": 29284.3, "Median Update Latency": 20399.9, "Tail Update Latency": 285492.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 300029.6, "Average Read Latency": 136.9, "Median Read Latency": 99.2, "Tail Read Latency": 266.3, "Average Update Latency": 154.1, "Median Update Latency": 101.4, "Tail Update Latency": 281.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100004.2, "Average Read Latency": 87.7, "Median Read Latency": 85.3, "Tail Read Latency": 127.7, "Average Update Latency": 92.7, "Median Update Latency": 89.6, "Tail Update Latency": 137.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200017.6, "Average Read Latency": 89.5, "Median Read Latency": 86.3, "Tail Read Latency": 138.8, "Average Update Latency": 92.7, "Median Update Latency": 89.7, "Tail Update Latency": 141.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 517644.0, "Average Read Latency": 30211.0, "Median Read Latency": 21342.1, "Tail Read Latency": 282634.8, "Average Update Latency": 30655.5, "Median Update Latency": 21346.5, "Tail Update Latency": 286013.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399996.2, "Average Read Latency": 118.0, "Median Read Latency": 103.7, "Tail Read Latency": 305.8, "Average Update Latency": 120.7, "Median Update Latency": 106.1, "Tail Update Latency": 308.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300027.9, "Average Read Latency": 144.4, "Median Read Latency": 100.1, "Tail Read Latency": 351.6, "Average Update Latency": 185.9, "Median Update Latency": 102.1, "Tail Update Latency": 388.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 199988.4, "Average Read Latency": 110.4, "Median Read Latency": 95.8, "Tail Read Latency": 198.4, "Average Update Latency": 111.7, "Median Update Latency": 99.2, "Tail Update Latency": 198.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 587969.8, "Average Read Latency": 20844.7, "Median Read Latency": 13753.3, "Tail Read Latency": 239446.0, "Average Update Latency": 21041.6, "Median Update Latency": 13787.1, "Tail Update Latency": 239437.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300005.8, "Average Read Latency": 141.2, "Median Read Latency": 100.0, "Tail Read Latency": 308.8, "Average Update Latency": 175.5, "Median Update Latency": 102.1, "Tail Update Latency": 326.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499978.0, "Average Read Latency": 5874.8, "Median Read Latency": 281.6, "Tail Read Latency": 12487.9, "Average Update Latency": 5783.0, "Median Update Latency": 282.5, "Tail Update Latency": 12487.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199988.1, "Average Read Latency": 106.0, "Median Read Latency": 94.9, "Tail Read Latency": 205.8, "Average Update Latency": 108.5, "Median Update Latency": 99.3, "Tail Update Latency": 212.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 540368.3, "Average Read Latency": 14393.4, "Median Read Latency": 14151.1, "Tail Read Latency": 26192.4, "Average Update Latency": 14474.1, "Median Update Latency": 14154.5, "Tail Update Latency": 27632.7}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300005.6, "Average Read Latency": 112.0, "Median Read Latency": 98.1, "Tail Read Latency": 248.8, "Average Update Latency": 113.9, "Median Update Latency": 101.6, "Tail Update Latency": 249.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 561816.0, "Average Read Latency": 14040.8, "Median Read Latency": 13441.7, "Tail Read Latency": 26537.0, "Average Update Latency": 14244.9, "Median Update Latency": 13445.4, "Tail Update Latency": 27451.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 573910.7, "Average Read Latency": 14312.0, "Median Read Latency": 13144.2, "Tail Read Latency": 28305.4, "Average Update Latency": 14618.6, "Median Update Latency": 13152.0, "Tail Update Latency": 29016.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 514345.1, "Average Read Latency": 30720.7, "Median Read Latency": 22355.1, "Tail Read Latency": 284221.8, "Average Update Latency": 31249.9, "Median Update Latency": 22376.6, "Tail Update Latency": 286629.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300059.0, "Average Read Latency": 105.2, "Median Read Latency": 97.6, "Tail Read Latency": 198.7, "Average Update Latency": 108.2, "Median Update Latency": 101.1, "Tail Update Latency": 201.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 560576.1, "Average Read Latency": 14187.8, "Median Read Latency": 13594.6, "Tail Read Latency": 26970.0, "Average Update Latency": 14405.9, "Median Update Latency": 13604.4, "Tail Update Latency": 28286.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400027.0, "Average Read Latency": 455.0, "Median Read Latency": 127.2, "Tail Read Latency": 8128.5, "Average Update Latency": 539.0, "Median Update Latency": 128.9, "Tail Update Latency": 9940.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100015.9, "Average Read Latency": 99.4, "Median Read Latency": 93.9, "Tail Read Latency": 159.9, "Average Update Latency": 103.0, "Median Update Latency": 99.3, "Tail Update Latency": 171.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 299975.0, "Average Read Latency": 102.6, "Median Read Latency": 95.1, "Tail Read Latency": 193.4, "Average Update Latency": 104.9, "Median Update Latency": 98.2, "Tail Update Latency": 198.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400015.4, "Average Read Latency": 170.7, "Median Read Latency": 122.2, "Tail Read Latency": 551.1, "Average Update Latency": 172.0, "Median Update Latency": 125.9, "Tail Update Latency": 553.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499957.6, "Average Read Latency": 6248.0, "Median Read Latency": 407.6, "Tail Read Latency": 12520.6, "Average Update Latency": 6113.1, "Median Update Latency": 370.8, "Tail Update Latency": 12511.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 509177.7, "Average Read Latency": 22559.9, "Median Read Latency": 13379.3, "Tail Read Latency": 266228.0, "Average Update Latency": 22979.3, "Median Update Latency": 13360.9, "Tail Update Latency": 274334.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 299974.6, "Average Read Latency": 102.3, "Median Read Latency": 95.3, "Tail Read Latency": 191.6, "Average Update Latency": 105.0, "Median Update Latency": 98.4, "Tail Update Latency": 195.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 200017.7, "Average Read Latency": 104.6, "Median Read Latency": 95.4, "Tail Read Latency": 208.9, "Average Update Latency": 113.2, "Median Update Latency": 99.7, "Tail Update Latency": 216.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100009.0, "Average Read Latency": 96.5, "Median Read Latency": 92.2, "Tail Read Latency": 155.5, "Average Update Latency": 101.9, "Median Update Latency": 97.0, "Tail Update Latency": 162.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199967.3, "Average Read Latency": 105.7, "Median Read Latency": 95.7, "Tail Read Latency": 209.8, "Average Update Latency": 110.3, "Median Update Latency": 99.9, "Tail Update Latency": 218.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300044.2, "Average Read Latency": 100.4, "Median Read Latency": 94.2, "Tail Read Latency": 187.6, "Average Update Latency": 103.6, "Median Update Latency": 97.3, "Tail Update Latency": 190.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 516198.2, "Average Read Latency": 29359.4, "Median Read Latency": 20840.4, "Tail Read Latency": 279641.6, "Average Update Latency": 29740.2, "Median Update Latency": 20847.3, "Tail Update Latency": 284295.9}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200056.8, "Average Read Latency": 119.3, "Median Read Latency": 98.1, "Tail Read Latency": 209.2, "Average Update Latency": 120.0, "Median Update Latency": 101.2, "Tail Update Latency": 217.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499913.8, "Average Read Latency": 6309.3, "Median Read Latency": 775.8, "Tail Read Latency": 13595.5, "Average Update Latency": 6305.8, "Median Update Latency": 1117.0, "Tail Update Latency": 13818.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300016.3, "Average Read Latency": 102.1, "Median Read Latency": 95.2, "Tail Read Latency": 195.0, "Average Update Latency": 104.8, "Median Update Latency": 98.1, "Tail Update Latency": 197.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 587580.7, "Average Read Latency": 23855.4, "Median Read Latency": 13660.1, "Tail Read Latency": 261900.1, "Average Update Latency": 23781.0, "Median Update Latency": 13678.3, "Tail Update Latency": 258233.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300041.3, "Average Read Latency": 125.6, "Median Read Latency": 107.1, "Tail Read Latency": 308.5, "Average Update Latency": 130.3, "Median Update Latency": 111.2, "Tail Update Latency": 308.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 200010.3, "Average Read Latency": 108.2, "Median Read Latency": 95.0, "Tail Read Latency": 187.5, "Average Update Latency": 110.6, "Median Update Latency": 98.0, "Tail Update Latency": 190.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300030.9, "Average Read Latency": 111.5, "Median Read Latency": 99.1, "Tail Read Latency": 247.6, "Average Update Latency": 116.0, "Median Update Latency": 102.6, "Tail Update Latency": 251.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100025.1, "Average Read Latency": 88.6, "Median Read Latency": 86.0, "Tail Read Latency": 130.0, "Average Update Latency": 93.3, "Median Update Latency": 90.6, "Tail Update Latency": 138.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400009.3, "Average Read Latency": 493.2, "Median Read Latency": 126.3, "Tail Read Latency": 8224.4, "Average Update Latency": 626.5, "Median Update Latency": 128.5, "Tail Update Latency": 11652.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300030.5, "Average Read Latency": 112.5, "Median Read Latency": 98.3, "Tail Read Latency": 250.9, "Average Update Latency": 113.6, "Median Update Latency": 102.0, "Tail Update Latency": 247.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 502389.6, "Average Read Latency": 29341.8, "Median Read Latency": 17918.1, "Tail Read Latency": 310805.1, "Average Update Latency": 29672.6, "Median Update Latency": 17979.9, "Tail Update Latency": 316310.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499585.8, "Average Read Latency": 8935.9, "Median Read Latency": 2032.1, "Tail Read Latency": 225563.7, "Average Update Latency": 8746.2, "Median Update Latency": 2319.8, "Tail Update Latency": 223944.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200053.1, "Average Read Latency": 88.7, "Median Read Latency": 85.5, "Tail Read Latency": 137.9, "Average Update Latency": 91.9, "Median Update Latency": 88.5, "Tail Update Latency": 141.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 299959.9, "Average Read Latency": 102.6, "Median Read Latency": 95.3, "Tail Read Latency": 194.9, "Average Update Latency": 105.9, "Median Update Latency": 98.4, "Tail Update Latency": 199.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100026.5, "Average Read Latency": 100.0, "Median Read Latency": 92.2, "Tail Read Latency": 139.6, "Average Update Latency": 104.3, "Median Update Latency": 95.8, "Tail Update Latency": 144.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 300017.1, "Average Read Latency": 111.5, "Median Read Latency": 97.5, "Tail Read Latency": 249.6, "Average Update Latency": 114.0, "Median Update Latency": 101.3, "Tail Update Latency": 254.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 564015.4, "Average Read Latency": 17110.5, "Median Read Latency": 7264.2, "Tail Read Latency": 426897.9, "Average Update Latency": 16942.6, "Median Update Latency": 7256.8, "Tail Update Latency": 240321.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499707.1, "Average Read Latency": 8746.9, "Median Read Latency": 2107.8, "Tail Read Latency": 223453.2, "Average Update Latency": 8921.0, "Median Update Latency": 2238.3, "Tail Update Latency": 223892.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499855.1, "Average Read Latency": 6535.4, "Median Read Latency": 509.2, "Tail Read Latency": 13412.1, "Average Update Latency": 6527.4, "Median Update Latency": 473.2, "Tail Update Latency": 13708.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300022.3, "Average Read Latency": 125.0, "Median Read Latency": 97.7, "Tail Read Latency": 263.1, "Average Update Latency": 141.3, "Median Update Latency": 100.3, "Tail Update Latency": 273.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 591646.1, "Average Read Latency": 24119.5, "Median Read Latency": 15259.9, "Tail Read Latency": 256589.2, "Average Update Latency": 23858.9, "Median Update Latency": 15306.2, "Tail Update Latency": 254876.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100004.3, "Average Read Latency": 89.5, "Median Read Latency": 86.6, "Tail Read Latency": 132.1, "Average Update Latency": 94.7, "Median Update Latency": 91.4, "Tail Update Latency": 139.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400008.9, "Average Read Latency": 436.8, "Median Read Latency": 125.0, "Tail Read Latency": 7585.5, "Average Update Latency": 553.0, "Median Update Latency": 127.7, "Tail Update Latency": 10339.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300048.3, "Average Read Latency": 110.6, "Median Read Latency": 98.4, "Tail Read Latency": 246.5, "Average Update Latency": 116.3, "Median Update Latency": 102.2, "Tail Update Latency": 252.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 299975.7, "Average Read Latency": 102.0, "Median Read Latency": 95.4, "Tail Read Latency": 191.1, "Average Update Latency": 105.3, "Median Update Latency": 98.4, "Tail Update Latency": 195.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 519916.9, "Average Read Latency": 28885.1, "Median Read Latency": 17626.0, "Tail Read Latency": 314286.1, "Average Update Latency": 29578.2, "Median Update Latency": 17679.0, "Tail Update Latency": 322296.3}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 500424.6, "Average Read Latency": 23654.6, "Median Read Latency": 14083.6, "Tail Read Latency": 266011.3, "Average Update Latency": 24531.2, "Median Update Latency": 14159.3, "Tail Update Latency": 278944.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300022.4, "Average Read Latency": 113.6, "Median Read Latency": 99.6, "Tail Read Latency": 251.0, "Average Update Latency": 117.0, "Median Update Latency": 103.4, "Tail Update Latency": 256.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300002.5, "Average Read Latency": 111.9, "Median Read Latency": 98.9, "Tail Read Latency": 250.8, "Average Update Latency": 114.6, "Median Update Latency": 102.4, "Tail Update Latency": 249.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 544040.6, "Average Read Latency": 14564.8, "Median Read Latency": 13958.4, "Tail Read Latency": 27768.6, "Average Update Latency": 14743.3, "Median Update Latency": 13961.1, "Tail Update Latency": 29014.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299989.4, "Average Read Latency": 111.9, "Median Read Latency": 98.2, "Tail Read Latency": 249.0, "Average Update Latency": 115.2, "Median Update Latency": 102.0, "Tail Update Latency": 251.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 399944.8, "Average Read Latency": 491.3, "Median Read Latency": 124.3, "Tail Read Latency": 8859.9, "Average Update Latency": 640.8, "Median Update Latency": 126.2, "Tail Update Latency": 12612.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 399981.9, "Average Read Latency": 537.4, "Median Read Latency": 126.5, "Tail Read Latency": 9723.3, "Average Update Latency": 692.1, "Median Update Latency": 128.4, "Tail Update Latency": 13567.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 399946.7, "Average Read Latency": 453.8, "Median Read Latency": 124.7, "Tail Read Latency": 7943.7, "Average Update Latency": 588.6, "Median Update Latency": 126.5, "Tail Update Latency": 11213.1}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200003.7, "Average Read Latency": 88.0, "Median Read Latency": 85.0, "Tail Read Latency": 136.2, "Average Update Latency": 91.2, "Median Update Latency": 88.0, "Tail Update Latency": 139.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 400014.6, "Average Read Latency": 172.2, "Median Read Latency": 123.0, "Tail Read Latency": 573.5, "Average Update Latency": 179.8, "Median Update Latency": 126.5, "Tail Update Latency": 583.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100051.4, "Average Read Latency": 102.1, "Median Read Latency": 92.8, "Tail Read Latency": 146.4, "Average Update Latency": 109.9, "Median Update Latency": 96.2, "Tail Update Latency": 152.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 571196.2, "Average Read Latency": 15953.9, "Median Read Latency": 7631.1, "Tail Read Latency": 238175.1, "Average Update Latency": 16100.6, "Median Update Latency": 7545.3, "Tail Update Latency": 238711.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200061.9, "Average Read Latency": 104.3, "Median Read Latency": 95.5, "Tail Read Latency": 210.1, "Average Update Latency": 108.6, "Median Update Latency": 99.9, "Tail Update Latency": 215.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 299973.7, "Average Read Latency": 101.3, "Median Read Latency": 94.3, "Tail Read Latency": 189.0, "Average Update Latency": 104.0, "Median Update Latency": 97.1, "Tail Update Latency": 195.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99994.6, "Average Read Latency": 98.7, "Median Read Latency": 93.3, "Tail Read Latency": 157.9, "Average Update Latency": 103.0, "Median Update Latency": 98.1, "Tail Update Latency": 167.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 565959.7, "Average Read Latency": 15229.4, "Median Read Latency": 7152.1, "Tail Read Latency": 237972.7, "Average Update Latency": 14649.3, "Median Update Latency": 7151.2, "Tail Update Latency": 236837.2}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200048.0, "Average Read Latency": 105.0, "Median Read Latency": 96.0, "Tail Read Latency": 211.4, "Average Update Latency": 108.2, "Median Update Latency": 100.5, "Tail Update Latency": 217.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 568499.3, "Average Read Latency": 24465.0, "Median Read Latency": 8604.0, "Tail Read Latency": 440987.8, "Average Update Latency": 21666.8, "Median Update Latency": 8624.3, "Tail Update Latency": 433749.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 509119.3, "Average Read Latency": 28812.8, "Median Read Latency": 20084.6, "Tail Read Latency": 283182.6, "Average Update Latency": 29372.4, "Median Update Latency": 20136.8, "Tail Update Latency": 285792.9}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399978.1, "Average Read Latency": 165.9, "Median Read Latency": 119.8, "Tail Read Latency": 530.4, "Average Update Latency": 169.7, "Median Update Latency": 123.8, "Tail Update Latency": 532.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300038.6, "Average Read Latency": 123.7, "Median Read Latency": 106.2, "Tail Read Latency": 298.0, "Average Update Latency": 126.6, "Median Update Latency": 110.2, "Tail Update Latency": 301.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100002.1, "Average Read Latency": 102.3, "Median Read Latency": 93.3, "Tail Read Latency": 147.1, "Average Update Latency": 104.9, "Median Update Latency": 96.8, "Tail Update Latency": 154.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400024.9, "Average Read Latency": 118.8, "Median Read Latency": 103.6, "Tail Read Latency": 307.8, "Average Update Latency": 121.3, "Median Update Latency": 106.1, "Tail Update Latency": 310.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200005.8, "Average Read Latency": 117.5, "Median Read Latency": 96.6, "Tail Read Latency": 208.1, "Average Update Latency": 120.1, "Median Update Latency": 99.8, "Tail Update Latency": 209.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 493813.4, "Average Read Latency": 22830.7, "Median Read Latency": 13281.2, "Tail Read Latency": 263264.4, "Average Update Latency": 23821.2, "Median Update Latency": 13331.1, "Tail Update Latency": 281460.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 199983.8, "Average Read Latency": 105.4, "Median Read Latency": 95.0, "Tail Read Latency": 185.4, "Average Update Latency": 107.9, "Median Update Latency": 97.7, "Tail Update Latency": 189.9}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 515449.1, "Average Read Latency": 26455.9, "Median Read Latency": 15946.2, "Tail Read Latency": 297690.5, "Average Update Latency": 27314.3, "Median Update Latency": 16010.1, "Tail Update Latency": 314036.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200018.2, "Average Read Latency": 102.5, "Median Read Latency": 93.8, "Tail Read Latency": 179.7, "Average Update Latency": 107.3, "Median Update Latency": 96.7, "Tail Update Latency": 183.0}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499945.4, "Average Read Latency": 5514.5, "Median Read Latency": 300.0, "Tail Read Latency": 12420.3, "Average Update Latency": 5565.6, "Median Update Latency": 291.6, "Tail Update Latency": 12439.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200011.0, "Average Read Latency": 104.5, "Median Read Latency": 95.0, "Tail Read Latency": 205.4, "Average Update Latency": 107.9, "Median Update Latency": 99.5, "Tail Update Latency": 211.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400128.1, "Average Read Latency": 499.8, "Median Read Latency": 125.5, "Tail Read Latency": 8602.1, "Average Update Latency": 660.0, "Median Update Latency": 127.3, "Tail Update Latency": 12471.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499986.8, "Average Read Latency": 5997.3, "Median Read Latency": 283.7, "Tail Read Latency": 12502.0, "Average Update Latency": 6039.6, "Median Update Latency": 294.3, "Tail Update Latency": 12511.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 200078.6, "Average Read Latency": 109.3, "Median Read Latency": 95.2, "Tail Read Latency": 192.4, "Average Update Latency": 109.8, "Median Update Latency": 98.1, "Tail Update Latency": 194.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 99990.4, "Average Read Latency": 105.4, "Median Read Latency": 93.4, "Tail Read Latency": 147.7, "Average Update Latency": 109.0, "Median Update Latency": 97.0, "Tail Update Latency": 152.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399978.1, "Average Read Latency": 169.8, "Median Read Latency": 121.5, "Tail Read Latency": 536.8, "Average Update Latency": 171.7, "Median Update Latency": 125.0, "Tail Update Latency": 541.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100029.4, "Average Read Latency": 100.5, "Median Read Latency": 93.1, "Tail Read Latency": 158.5, "Average Update Latency": 103.5, "Median Update Latency": 98.3, "Tail Update Latency": 165.2}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 484784.9, "Average Read Latency": 21313.9, "Median Read Latency": 13079.1, "Tail Read Latency": 254894.9, "Average Update Latency": 21819.4, "Median Update Latency": 13138.9, "Tail Update Latency": 256401.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200057.8, "Average Read Latency": 89.3, "Median Read Latency": 86.0, "Tail Read Latency": 138.5, "Average Update Latency": 92.3, "Median Update Latency": 89.1, "Tail Update Latency": 140.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100020.6, "Average Read Latency": 87.5, "Median Read Latency": 85.0, "Tail Read Latency": 127.7, "Average Update Latency": 91.3, "Median Update Latency": 89.1, "Tail Update Latency": 133.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 99985.6, "Average Read Latency": 89.3, "Median Read Latency": 86.7, "Tail Read Latency": 133.0, "Average Update Latency": 93.8, "Median Update Latency": 91.6, "Tail Update Latency": 138.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 569891.4, "Average Read Latency": 17357.1, "Median Read Latency": 7946.1, "Tail Read Latency": 240310.2, "Average Update Latency": 16907.0, "Median Update Latency": 7931.8, "Tail Update Latency": 239689.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300029.5, "Average Read Latency": 137.8, "Median Read Latency": 99.9, "Tail Read Latency": 316.4, "Average Update Latency": 164.5, "Median Update Latency": 102.0, "Tail Update Latency": 315.1}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300015.7, "Average Read Latency": 101.6, "Median Read Latency": 94.3, "Tail Read Latency": 188.2, "Average Update Latency": 104.4, "Median Update Latency": 97.2, "Tail Update Latency": 193.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499937.1, "Average Read Latency": 5693.2, "Median Read Latency": 306.9, "Tail Read Latency": 12484.5, "Average Update Latency": 5601.3, "Median Update Latency": 322.7, "Tail Update Latency": 12479.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 515766.0, "Average Read Latency": 27540.4, "Median Read Latency": 18830.6, "Tail Read Latency": 276851.6, "Average Update Latency": 28130.4, "Median Update Latency": 18866.1, "Tail Update Latency": 279741.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 540165.1, "Average Read Latency": 14515.3, "Median Read Latency": 14129.1, "Tail Read Latency": 27148.9, "Average Update Latency": 14689.9, "Median Update Latency": 14143.0, "Tail Update Latency": 27954.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 506661.9, "Average Read Latency": 29788.3, "Median Read Latency": 16290.3, "Tail Read Latency": 354052.8, "Average Update Latency": 30822.3, "Median Update Latency": 16414.5, "Tail Update Latency": 371242.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400039.9, "Average Read Latency": 439.5, "Median Read Latency": 126.4, "Tail Read Latency": 7941.4, "Average Update Latency": 518.2, "Median Update Latency": 128.1, "Tail Update Latency": 9523.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400032.0, "Average Read Latency": 490.9, "Median Read Latency": 126.2, "Tail Read Latency": 8531.1, "Average Update Latency": 623.2, "Median Update Latency": 127.9, "Tail Update Latency": 12021.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 99990.8, "Average Read Latency": 89.3, "Median Read Latency": 86.6, "Tail Read Latency": 132.9, "Average Update Latency": 94.3, "Median Update Latency": 91.7, "Tail Update Latency": 140.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200012.1, "Average Read Latency": 102.1, "Median Read Latency": 95.1, "Tail Read Latency": 206.5, "Average Update Latency": 105.8, "Median Update Latency": 99.5, "Tail Update Latency": 211.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 589251.8, "Average Read Latency": 20987.3, "Median Read Latency": 13790.8, "Tail Read Latency": 244436.4, "Average Update Latency": 21003.3, "Median Update Latency": 13797.5, "Tail Update Latency": 244409.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399940.7, "Average Read Latency": 170.4, "Median Read Latency": 122.3, "Tail Read Latency": 553.7, "Average Update Latency": 175.2, "Median Update Latency": 126.1, "Tail Update Latency": 570.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399939.3, "Average Read Latency": 167.7, "Median Read Latency": 121.9, "Tail Read Latency": 535.3, "Average Update Latency": 173.1, "Median Update Latency": 125.3, "Tail Update Latency": 537.9}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200019.5, "Average Read Latency": 102.2, "Median Read Latency": 94.8, "Tail Read Latency": 186.2, "Average Update Latency": 107.5, "Median Update Latency": 98.0, "Tail Update Latency": 194.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100034.3, "Average Read Latency": 89.8, "Median Read Latency": 86.9, "Tail Read Latency": 134.9, "Average Update Latency": 95.0, "Median Update Latency": 92.3, "Tail Update Latency": 141.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 485797.1, "Average Read Latency": 22626.3, "Median Read Latency": 12462.7, "Tail Read Latency": 259646.6, "Average Update Latency": 22950.7, "Median Update Latency": 12435.0, "Tail Update Latency": 260849.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 558700.7, "Average Read Latency": 14197.1, "Median Read Latency": 13546.0, "Tail Read Latency": 26984.2, "Average Update Latency": 14462.2, "Median Update Latency": 13557.2, "Tail Update Latency": 28093.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399968.7, "Average Read Latency": 169.0, "Median Read Latency": 120.9, "Tail Read Latency": 538.4, "Average Update Latency": 172.5, "Median Update Latency": 124.9, "Tail Update Latency": 540.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 504324.5, "Average Read Latency": 27880.1, "Median Read Latency": 18221.2, "Tail Read Latency": 281590.1, "Average Update Latency": 28676.0, "Median Update Latency": 18269.2, "Tail Update Latency": 288763.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400043.8, "Average Read Latency": 117.9, "Median Read Latency": 104.6, "Tail Read Latency": 288.5, "Average Update Latency": 120.7, "Median Update Latency": 107.3, "Tail Update Latency": 291.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 591905.1, "Average Read Latency": 24154.7, "Median Read Latency": 13540.1, "Tail Read Latency": 271065.0, "Average Update Latency": 24687.9, "Median Update Latency": 13614.9, "Tail Update Latency": 269751.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200016.8, "Average Read Latency": 104.6, "Median Read Latency": 95.5, "Tail Read Latency": 207.8, "Average Update Latency": 109.0, "Median Update Latency": 99.9, "Tail Update Latency": 211.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 199969.3, "Average Read Latency": 115.7, "Median Read Latency": 94.9, "Tail Read Latency": 186.9, "Average Update Latency": 120.3, "Median Update Latency": 97.8, "Tail Update Latency": 189.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100034.6, "Average Read Latency": 103.2, "Median Read Latency": 91.9, "Tail Read Latency": 138.7, "Average Update Latency": 108.7, "Median Update Latency": 95.4, "Tail Update Latency": 147.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 199945.3, "Average Read Latency": 87.8, "Median Read Latency": 84.9, "Tail Read Latency": 134.9, "Average Update Latency": 90.9, "Median Update Latency": 87.7, "Tail Update Latency": 138.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399972.0, "Average Read Latency": 117.5, "Median Read Latency": 103.5, "Tail Read Latency": 293.4, "Average Update Latency": 120.2, "Median Update Latency": 106.2, "Tail Update Latency": 295.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 486056.3, "Average Read Latency": 21377.1, "Median Read Latency": 12933.9, "Tail Read Latency": 255477.6, "Average Update Latency": 21826.3, "Median Update Latency": 12927.1, "Tail Update Latency": 257490.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300002.5, "Average Read Latency": 129.0, "Median Read Latency": 98.8, "Tail Read Latency": 263.6, "Average Update Latency": 137.6, "Median Update Latency": 101.2, "Tail Update Latency": 271.9}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300082.5, "Average Read Latency": 153.7, "Median Read Latency": 106.7, "Tail Read Latency": 350.2, "Average Update Latency": 163.0, "Median Update Latency": 109.3, "Tail Update Latency": 351.9}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 594275.9, "Average Read Latency": 22892.7, "Median Read Latency": 13701.4, "Tail Read Latency": 261663.9, "Average Update Latency": 22694.0, "Median Update Latency": 13732.9, "Tail Update Latency": 255128.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300047.0, "Average Read Latency": 111.8, "Median Read Latency": 98.3, "Tail Read Latency": 249.1, "Average Update Latency": 116.4, "Median Update Latency": 102.1, "Tail Update Latency": 250.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 299976.7, "Average Read Latency": 102.0, "Median Read Latency": 94.9, "Tail Read Latency": 193.8, "Average Update Latency": 105.3, "Median Update Latency": 98.0, "Tail Update Latency": 198.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100045.7, "Average Read Latency": 87.6, "Median Read Latency": 85.4, "Tail Read Latency": 127.3, "Average Update Latency": 91.7, "Median Update Latency": 89.6, "Tail Update Latency": 132.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200003.9, "Average Read Latency": 109.3, "Median Read Latency": 95.5, "Tail Read Latency": 210.0, "Average Update Latency": 112.9, "Median Update Latency": 100.0, "Tail Update Latency": 218.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 299921.4, "Average Read Latency": 104.1, "Median Read Latency": 96.2, "Tail Read Latency": 196.0, "Average Update Latency": 107.8, "Median Update Latency": 99.4, "Tail Update Latency": 199.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 100047.1, "Average Read Latency": 101.2, "Median Read Latency": 93.4, "Tail Read Latency": 162.0, "Average Update Latency": 104.6, "Median Update Latency": 98.2, "Tail Update Latency": 168.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 570570.6, "Average Read Latency": 14030.7, "Median Read Latency": 13237.9, "Tail Read Latency": 27246.9, "Average Update Latency": 14387.5, "Median Update Latency": 13244.1, "Tail Update Latency": 28345.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 493816.5, "Average Read Latency": 25268.6, "Median Read Latency": 14653.7, "Tail Read Latency": 300771.2, "Average Update Latency": 26730.7, "Median Update Latency": 14778.1, "Tail Update Latency": 326570.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 485011.3, "Average Read Latency": 22000.6, "Median Read Latency": 11466.1, "Tail Read Latency": 258058.6, "Average Update Latency": 22650.8, "Median Update Latency": 11474.0, "Tail Update Latency": 264052.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 299981.4, "Average Read Latency": 165.4, "Median Read Latency": 109.5, "Tail Read Latency": 495.1, "Average Update Latency": 190.3, "Median Update Latency": 111.6, "Tail Update Latency": 623.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100015.0, "Average Read Latency": 106.4, "Median Read Latency": 93.1, "Tail Read Latency": 145.6, "Average Update Latency": 112.9, "Median Update Latency": 96.8, "Tail Update Latency": 152.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 200041.6, "Average Read Latency": 105.4, "Median Read Latency": 95.3, "Tail Read Latency": 207.1, "Average Update Latency": 113.2, "Median Update Latency": 99.5, "Tail Update Latency": 209.9}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499893.5, "Average Read Latency": 6347.3, "Median Read Latency": 347.4, "Tail Read Latency": 13126.2, "Average Update Latency": 6369.0, "Median Update Latency": 357.3, "Tail Update Latency": 13781.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400047.4, "Average Read Latency": 450.8, "Median Read Latency": 126.7, "Tail Read Latency": 8106.7, "Average Update Latency": 532.1, "Median Update Latency": 128.6, "Tail Update Latency": 9634.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 512362.5, "Average Read Latency": 27676.2, "Median Read Latency": 17630.0, "Tail Read Latency": 278659.3, "Average Update Latency": 28361.2, "Median Update Latency": 17608.4, "Tail Update Latency": 286483.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 569170.3, "Average Read Latency": 19447.2, "Median Read Latency": 7762.3, "Tail Read Latency": 437259.1, "Average Update Latency": 18851.3, "Median Update Latency": 7813.3, "Tail Update Latency": 431699.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100014.3, "Average Read Latency": 101.8, "Median Read Latency": 92.5, "Tail Read Latency": 157.8, "Average Update Latency": 104.9, "Median Update Latency": 97.6, "Tail Update Latency": 165.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 551102.3, "Average Read Latency": 14430.4, "Median Read Latency": 13774.5, "Tail Read Latency": 26837.3, "Average Update Latency": 14542.5, "Median Update Latency": 13778.8, "Tail Update Latency": 28129.9}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499540.6, "Average Read Latency": 8499.5, "Median Read Latency": 1859.1, "Tail Read Latency": 223170.2, "Average Update Latency": 8393.2, "Median Update Latency": 1594.4, "Tail Update Latency": 222616.6}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 199952.9, "Average Read Latency": 88.4, "Median Read Latency": 85.3, "Tail Read Latency": 138.6, "Average Update Latency": 92.1, "Median Update Latency": 88.4, "Tail Update Latency": 140.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 520288.5, "Average Read Latency": 28796.7, "Median Read Latency": 19111.3, "Tail Read Latency": 297488.9, "Average Update Latency": 28976.1, "Median Update Latency": 19000.9, "Tail Update Latency": 306675.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499992.6, "Average Read Latency": 6156.6, "Median Read Latency": 407.6, "Tail Read Latency": 12525.6, "Average Update Latency": 6065.7, "Median Update Latency": 345.1, "Tail Update Latency": 12521.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200000.1, "Average Read Latency": 108.4, "Median Read Latency": 95.5, "Tail Read Latency": 196.7, "Average Update Latency": 110.0, "Median Update Latency": 98.5, "Tail Update Latency": 200.0}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 592751.6, "Average Read Latency": 20286.1, "Median Read Latency": 13225.2, "Tail Read Latency": 245885.8, "Average Update Latency": 20255.0, "Median Update Latency": 13219.6, "Tail Update Latency": 245951.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 399993.9, "Average Read Latency": 369.9, "Median Read Latency": 128.1, "Tail Read Latency": 6232.4, "Average Update Latency": 435.6, "Median Update Latency": 129.8, "Tail Update Latency": 7535.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 484064.0, "Average Read Latency": 23124.6, "Median Read Latency": 13119.2, "Tail Read Latency": 260497.5, "Average Update Latency": 23439.8, "Median Update Latency": 13167.0, "Tail Update Latency": 262875.9}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499968.1, "Average Read Latency": 6378.5, "Median Read Latency": 332.1, "Tail Read Latency": 13344.6, "Average Update Latency": 6386.9, "Median Update Latency": 411.7, "Tail Update Latency": 13850.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 299992.5, "Average Read Latency": 102.8, "Median Read Latency": 96.3, "Tail Read Latency": 193.1, "Average Update Latency": 106.1, "Median Update Latency": 99.8, "Tail Update Latency": 197.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400002.7, "Average Read Latency": 117.0, "Median Read Latency": 102.9, "Tail Read Latency": 299.8, "Average Update Latency": 119.8, "Median Update Latency": 105.4, "Tail Update Latency": 302.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 564378.9, "Average Read Latency": 13774.2, "Median Read Latency": 13374.4, "Tail Read Latency": 25614.7, "Average Update Latency": 13871.7, "Median Update Latency": 13383.5, "Tail Update Latency": 26303.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300003.5, "Average Read Latency": 125.4, "Median Read Latency": 106.9, "Tail Read Latency": 308.1, "Average Update Latency": 128.5, "Median Update Latency": 111.4, "Tail Update Latency": 312.0}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100043.1, "Average Read Latency": 90.1, "Median Read Latency": 87.0, "Tail Read Latency": 136.1, "Average Update Latency": 94.7, "Median Update Latency": 92.1, "Tail Update Latency": 142.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499966.1, "Average Read Latency": 5862.8, "Median Read Latency": 352.4, "Tail Read Latency": 12499.9, "Average Update Latency": 5872.8, "Median Update Latency": 371.7, "Tail Update Latency": 12503.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 507346.1, "Average Read Latency": 24107.9, "Median Read Latency": 13830.2, "Tail Read Latency": 282661.5, "Average Update Latency": 25127.0, "Median Update Latency": 13835.3, "Tail Update Latency": 308535.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200059.0, "Average Read Latency": 100.2, "Median Read Latency": 94.3, "Tail Read Latency": 180.8, "Average Update Latency": 104.3, "Median Update Latency": 97.3, "Tail Update Latency": 183.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 515676.7, "Average Read Latency": 29490.8, "Median Read Latency": 19678.2, "Tail Read Latency": 292983.6, "Average Update Latency": 30237.1, "Median Update Latency": 19813.7, "Tail Update Latency": 310042.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400043.0, "Average Read Latency": 128.4, "Median Read Latency": 105.0, "Tail Read Latency": 476.1, "Average Update Latency": 131.0, "Median Update Latency": 107.5, "Tail Update Latency": 476.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299975.8, "Average Read Latency": 111.8, "Median Read Latency": 98.1, "Tail Read Latency": 247.4, "Average Update Latency": 116.3, "Median Update Latency": 101.7, "Tail Update Latency": 249.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 561921.7, "Average Read Latency": 14306.7, "Median Read Latency": 13495.3, "Tail Read Latency": 28280.7, "Average Update Latency": 14539.7, "Median Update Latency": 13506.1, "Tail Update Latency": 29319.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 564024.4, "Average Read Latency": 14279.4, "Median Read Latency": 13302.1, "Tail Read Latency": 28546.9, "Average Update Latency": 14734.0, "Median Update Latency": 13319.3, "Tail Update Latency": 30187.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 508933.2, "Average Read Latency": 29120.6, "Median Read Latency": 16405.2, "Tail Read Latency": 346163.2, "Average Update Latency": 29549.3, "Median Update Latency": 16502.6, "Tail Update Latency": 345197.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299983.7, "Average Read Latency": 112.7, "Median Read Latency": 98.1, "Tail Read Latency": 248.5, "Average Update Latency": 116.4, "Median Update Latency": 101.4, "Tail Update Latency": 254.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 550265.5, "Average Read Latency": 14409.3, "Median Read Latency": 13794.4, "Tail Read Latency": 26970.3, "Average Update Latency": 14479.2, "Median Update Latency": 13796.3, "Tail Update Latency": 27823.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 503471.9, "Average Read Latency": 25890.8, "Median Read Latency": 14802.7, "Tail Read Latency": 303721.5, "Average Update Latency": 26479.1, "Median Update Latency": 14866.9, "Tail Update Latency": 312749.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300011.1, "Average Read Latency": 102.2, "Median Read Latency": 95.3, "Tail Read Latency": 194.3, "Average Update Latency": 105.5, "Median Update Latency": 98.6, "Tail Update Latency": 197.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300047.0, "Average Read Latency": 113.7, "Median Read Latency": 99.4, "Tail Read Latency": 253.1, "Average Update Latency": 116.1, "Median Update Latency": 103.1, "Tail Update Latency": 259.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 537651.8, "Average Read Latency": 14392.2, "Median Read Latency": 14165.9, "Tail Read Latency": 26447.1, "Average Update Latency": 14455.3, "Median Update Latency": 14170.7, "Tail Update Latency": 27485.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 560468.6, "Average Read Latency": 14153.4, "Median Read Latency": 13407.6, "Tail Read Latency": 27526.1, "Average Update Latency": 14360.9, "Median Update Latency": 13420.9, "Tail Update Latency": 28171.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499550.8, "Average Read Latency": 8538.5, "Median Read Latency": 1829.5, "Tail Read Latency": 223871.0, "Average Update Latency": 8887.4, "Median Update Latency": 1897.7, "Tail Update Latency": 224882.5}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 99961.1, "Average Read Latency": 101.6, "Median Read Latency": 93.3, "Tail Read Latency": 162.3, "Average Update Latency": 106.2, "Median Update Latency": 98.9, "Tail Update Latency": 172.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400000.1, "Average Read Latency": 458.4, "Median Read Latency": 127.8, "Tail Read Latency": 8557.6, "Average Update Latency": 537.5, "Median Update Latency": 129.7, "Tail Update Latency": 9858.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200036.1, "Average Read Latency": 88.4, "Median Read Latency": 85.4, "Tail Read Latency": 136.8, "Average Update Latency": 91.5, "Median Update Latency": 88.3, "Tail Update Latency": 140.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 587380.2, "Average Read Latency": 23632.5, "Median Read Latency": 14171.9, "Tail Read Latency": 256598.4, "Average Update Latency": 23493.7, "Median Update Latency": 14203.0, "Tail Update Latency": 254234.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499762.2, "Average Read Latency": 5892.1, "Median Read Latency": 291.6, "Tail Read Latency": 12506.1, "Average Update Latency": 5962.9, "Median Update Latency": 290.9, "Tail Update Latency": 12518.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 485620.9, "Average Read Latency": 22997.3, "Median Read Latency": 12102.1, "Tail Read Latency": 262548.0, "Average Update Latency": 22651.6, "Median Update Latency": 12141.4, "Tail Update Latency": 261386.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100033.9, "Average Read Latency": 101.4, "Median Read Latency": 93.1, "Tail Read Latency": 164.0, "Average Update Latency": 105.6, "Median Update Latency": 97.7, "Tail Update Latency": 172.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300060.7, "Average Read Latency": 126.4, "Median Read Latency": 106.7, "Tail Read Latency": 303.8, "Average Update Latency": 129.0, "Median Update Latency": 111.3, "Tail Update Latency": 311.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100040.1, "Average Read Latency": 103.7, "Median Read Latency": 93.1, "Tail Read Latency": 147.3, "Average Update Latency": 105.3, "Median Update Latency": 96.6, "Tail Update Latency": 151.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300017.8, "Average Read Latency": 101.1, "Median Read Latency": 93.8, "Tail Read Latency": 187.9, "Average Update Latency": 104.2, "Median Update Latency": 96.7, "Tail Update Latency": 191.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 553397.4, "Average Read Latency": 14325.4, "Median Read Latency": 13708.4, "Tail Read Latency": 27859.2, "Average Update Latency": 14680.0, "Median Update Latency": 13729.3, "Tail Update Latency": 28904.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 558733.5, "Average Read Latency": 14322.1, "Median Read Latency": 13502.2, "Tail Read Latency": 27194.5, "Average Update Latency": 14541.3, "Median Update Latency": 13505.2, "Tail Update Latency": 28410.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200033.3, "Average Read Latency": 108.9, "Median Read Latency": 95.8, "Tail Read Latency": 207.3, "Average Update Latency": 112.1, "Median Update Latency": 100.2, "Tail Update Latency": 217.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 510281.0, "Average Read Latency": 24324.2, "Median Read Latency": 15025.3, "Tail Read Latency": 271127.6, "Average Update Latency": 24983.8, "Median Update Latency": 15094.7, "Tail Update Latency": 282187.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 483140.2, "Average Read Latency": 25499.0, "Median Read Latency": 12615.8, "Tail Read Latency": 303771.4, "Average Update Latency": 27052.9, "Median Update Latency": 12681.1, "Tail Update Latency": 339357.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 400048.6, "Average Read Latency": 143.3, "Median Read Latency": 106.3, "Tail Read Latency": 631.4, "Average Update Latency": 146.4, "Median Update Latency": 109.0, "Tail Update Latency": 625.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 563527.6, "Average Read Latency": 14092.7, "Median Read Latency": 13395.0, "Tail Read Latency": 27227.2, "Average Update Latency": 14348.7, "Median Update Latency": 13397.1, "Tail Update Latency": 28374.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499541.1, "Average Read Latency": 7656.8, "Median Read Latency": 1574.4, "Tail Read Latency": 220323.9, "Average Update Latency": 7535.3, "Median Update Latency": 1544.1, "Tail Update Latency": 219741.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300013.1, "Average Read Latency": 102.4, "Median Read Latency": 95.2, "Tail Read Latency": 191.4, "Average Update Latency": 105.6, "Median Update Latency": 98.3, "Tail Update Latency": 196.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 506538.3, "Average Read Latency": 24616.7, "Median Read Latency": 15025.0, "Tail Read Latency": 281336.1, "Average Update Latency": 25144.1, "Median Update Latency": 15032.1, "Tail Update Latency": 286243.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 512670.7, "Average Read Latency": 28382.5, "Median Read Latency": 19939.2, "Tail Read Latency": 279111.2, "Average Update Latency": 28963.7, "Median Update Latency": 20179.8, "Tail Update Latency": 283400.4}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300030.1, "Average Read Latency": 111.0, "Median Read Latency": 97.5, "Tail Read Latency": 248.4, "Average Update Latency": 114.0, "Median Update Latency": 101.1, "Tail Update Latency": 248.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 514244.0, "Average Read Latency": 24082.8, "Median Read Latency": 14803.8, "Tail Read Latency": 270823.2, "Average Update Latency": 24296.0, "Median Update Latency": 14773.2, "Tail Update Latency": 271758.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100015.7, "Average Read Latency": 104.4, "Median Read Latency": 93.6, "Tail Read Latency": 148.9, "Average Update Latency": 108.6, "Median Update Latency": 97.5, "Tail Update Latency": 154.9}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499972.7, "Average Read Latency": 5704.1, "Median Read Latency": 318.3, "Tail Read Latency": 12480.3, "Average Update Latency": 5746.6, "Median Update Latency": 311.9, "Tail Update Latency": 12487.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 199988.3, "Average Read Latency": 114.3, "Median Read Latency": 96.7, "Tail Read Latency": 205.0, "Average Update Latency": 116.3, "Median Update Latency": 99.8, "Tail Update Latency": 207.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 570453.3, "Average Read Latency": 14554.1, "Median Read Latency": 13210.9, "Tail Read Latency": 28461.3, "Average Update Latency": 14628.4, "Median Update Latency": 13218.6, "Tail Update Latency": 28999.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 399978.3, "Average Read Latency": 163.5, "Median Read Latency": 120.2, "Tail Read Latency": 523.0, "Average Update Latency": 171.0, "Median Update Latency": 124.2, "Tail Update Latency": 535.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 199985.6, "Average Read Latency": 119.3, "Median Read Latency": 97.8, "Tail Read Latency": 214.3, "Average Update Latency": 123.1, "Median Update Latency": 100.8, "Tail Update Latency": 213.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200019.0, "Average Read Latency": 89.9, "Median Read Latency": 86.6, "Tail Read Latency": 139.9, "Average Update Latency": 92.9, "Median Update Latency": 89.9, "Tail Update Latency": 143.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 590866.8, "Average Read Latency": 21749.7, "Median Read Latency": 13931.3, "Tail Read Latency": 250652.4, "Average Update Latency": 21316.2, "Median Update Latency": 13911.3, "Tail Update Latency": 248216.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399961.4, "Average Read Latency": 118.1, "Median Read Latency": 103.7, "Tail Read Latency": 310.8, "Average Update Latency": 120.8, "Median Update Latency": 106.0, "Tail Update Latency": 312.6}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 511430.7, "Average Read Latency": 30017.2, "Median Read Latency": 19526.3, "Tail Read Latency": 310266.4, "Average Update Latency": 30387.7, "Median Update Latency": 19484.1, "Tail Update Latency": 314766.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 99981.1, "Average Read Latency": 99.6, "Median Read Latency": 92.9, "Tail Read Latency": 155.9, "Average Update Latency": 102.5, "Median Update Latency": 97.7, "Tail Update Latency": 163.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 399941.0, "Average Read Latency": 359.5, "Median Read Latency": 123.5, "Tail Read Latency": 6175.2, "Average Update Latency": 409.1, "Median Update Latency": 125.6, "Tail Update Latency": 7070.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400073.1, "Average Read Latency": 173.4, "Median Read Latency": 114.7, "Tail Read Latency": 809.0, "Average Update Latency": 176.3, "Median Update Latency": 117.2, "Tail Update Latency": 817.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 551617.8, "Average Read Latency": 14297.0, "Median Read Latency": 13556.3, "Tail Read Latency": 27039.9, "Average Update Latency": 14496.8, "Median Update Latency": 13557.8, "Tail Update Latency": 28824.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 400038.2, "Average Read Latency": 168.7, "Median Read Latency": 121.6, "Tail Read Latency": 544.8, "Average Update Latency": 171.7, "Median Update Latency": 125.6, "Tail Update Latency": 541.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 481761.8, "Average Read Latency": 22738.9, "Median Read Latency": 11861.3, "Tail Read Latency": 261569.5, "Average Update Latency": 23177.7, "Median Update Latency": 11918.9, "Tail Update Latency": 263748.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 484351.1, "Average Read Latency": 22375.6, "Median Read Latency": 11820.4, "Tail Read Latency": 259705.3, "Average Update Latency": 22637.1, "Median Update Latency": 11898.4, "Tail Update Latency": 261748.0}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 299957.2, "Average Read Latency": 101.5, "Median Read Latency": 94.9, "Tail Read Latency": 189.4, "Average Update Latency": 104.2, "Median Update Latency": 98.0, "Tail Update Latency": 195.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200041.4, "Average Read Latency": 106.1, "Median Read Latency": 94.7, "Tail Read Latency": 184.0, "Average Update Latency": 109.2, "Median Update Latency": 97.8, "Tail Update Latency": 186.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 486044.4, "Average Read Latency": 22040.9, "Median Read Latency": 11189.6, "Tail Read Latency": 262576.8, "Average Update Latency": 22394.1, "Median Update Latency": 11223.7, "Tail Update Latency": 267872.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300032.7, "Average Read Latency": 102.1, "Median Read Latency": 95.4, "Tail Read Latency": 195.2, "Average Update Latency": 105.1, "Median Update Latency": 98.3, "Tail Update Latency": 199.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 486329.8, "Average Read Latency": 23858.0, "Median Read Latency": 13190.3, "Tail Read Latency": 261170.6, "Average Update Latency": 24200.7, "Median Update Latency": 13237.3, "Tail Update Latency": 262248.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 485749.9, "Average Read Latency": 20668.7, "Median Read Latency": 12222.0, "Tail Read Latency": 252794.0, "Average Update Latency": 21019.7, "Median Update Latency": 12205.5, "Tail Update Latency": 255062.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 506873.6, "Average Read Latency": 25153.9, "Median Read Latency": 15985.9, "Tail Read Latency": 267867.2, "Average Update Latency": 25703.0, "Median Update Latency": 16060.3, "Tail Update Latency": 271580.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 99996.3, "Average Read Latency": 99.4, "Median Read Latency": 92.4, "Tail Read Latency": 139.6, "Average Update Latency": 102.5, "Median Update Latency": 95.9, "Tail Update Latency": 147.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 300073.5, "Average Read Latency": 144.4, "Median Read Latency": 99.4, "Tail Read Latency": 301.4, "Average Update Latency": 165.4, "Median Update Latency": 101.7, "Tail Update Latency": 309.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499612.2, "Average Read Latency": 8279.2, "Median Read Latency": 2358.0, "Tail Read Latency": 222315.0, "Average Update Latency": 8334.6, "Median Update Latency": 2132.7, "Tail Update Latency": 221777.3}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 558278.9, "Average Read Latency": 14579.2, "Median Read Latency": 13518.4, "Tail Read Latency": 28398.6, "Average Update Latency": 14928.7, "Median Update Latency": 13525.7, "Tail Update Latency": 29541.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 484376.6, "Average Read Latency": 22365.4, "Median Read Latency": 12608.6, "Tail Read Latency": 259682.9, "Average Update Latency": 23063.5, "Median Update Latency": 12617.0, "Tail Update Latency": 264893.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 592514.7, "Average Read Latency": 19595.9, "Median Read Latency": 12865.6, "Tail Read Latency": 243740.0, "Average Update Latency": 19551.0, "Median Update Latency": 12909.3, "Tail Update Latency": 242467.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200025.3, "Average Read Latency": 88.9, "Median Read Latency": 85.7, "Tail Read Latency": 139.9, "Average Update Latency": 92.1, "Median Update Latency": 88.8, "Tail Update Latency": 145.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300055.7, "Average Read Latency": 103.6, "Median Read Latency": 96.2, "Tail Read Latency": 194.3, "Average Update Latency": 107.7, "Median Update Latency": 99.8, "Tail Update Latency": 198.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 199947.7, "Average Read Latency": 105.0, "Median Read Latency": 95.5, "Tail Read Latency": 212.5, "Average Update Latency": 109.9, "Median Update Latency": 99.8, "Tail Update Latency": 218.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 300048.6, "Average Read Latency": 101.8, "Median Read Latency": 95.1, "Tail Read Latency": 191.9, "Average Update Latency": 104.8, "Median Update Latency": 98.3, "Tail Update Latency": 195.5}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 509798.7, "Average Read Latency": 23461.9, "Median Read Latency": 14122.5, "Tail Read Latency": 268198.8, "Average Update Latency": 24080.5, "Median Update Latency": 14177.9, "Tail Update Latency": 279036.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300038.3, "Average Read Latency": 110.1, "Median Read Latency": 97.7, "Tail Read Latency": 249.5, "Average Update Latency": 114.5, "Median Update Latency": 101.3, "Tail Update Latency": 253.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200045.1, "Average Read Latency": 112.6, "Median Read Latency": 97.3, "Tail Read Latency": 213.4, "Average Update Latency": 115.5, "Median Update Latency": 100.5, "Tail Update Latency": 216.1}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 400019.3, "Average Read Latency": 161.9, "Median Read Latency": 114.8, "Tail Read Latency": 624.1, "Average Update Latency": 165.1, "Median Update Latency": 117.2, "Tail Update Latency": 631.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 99981.7, "Average Read Latency": 89.8, "Median Read Latency": 86.9, "Tail Read Latency": 136.0, "Average Update Latency": 94.8, "Median Update Latency": 92.1, "Tail Update Latency": 142.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 512605.1, "Average Read Latency": 24348.6, "Median Read Latency": 14409.7, "Tail Read Latency": 275227.7, "Average Update Latency": 24555.3, "Median Update Latency": 14413.4, "Tail Update Latency": 276517.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499908.1, "Average Read Latency": 6433.4, "Median Read Latency": 550.5, "Tail Read Latency": 12982.6, "Average Update Latency": 6337.8, "Median Update Latency": 494.6, "Tail Update Latency": 12852.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 595888.1, "Average Read Latency": 22600.2, "Median Read Latency": 13007.6, "Tail Read Latency": 255586.3, "Average Update Latency": 21885.7, "Median Update Latency": 12983.9, "Tail Update Latency": 252555.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 572444.8, "Average Read Latency": 15696.7, "Median Read Latency": 13157.4, "Tail Read Latency": 31105.0, "Average Update Latency": 16424.0, "Median Update Latency": 13183.7, "Tail Update Latency": 40593.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100028.2, "Average Read Latency": 102.0, "Median Read Latency": 92.7, "Tail Read Latency": 140.5, "Average Update Latency": 105.8, "Median Update Latency": 96.2, "Tail Update Latency": 147.2}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 513453.0, "Average Read Latency": 28377.1, "Median Read Latency": 18549.1, "Tail Read Latency": 283603.9, "Average Update Latency": 28880.3, "Median Update Latency": 18577.0, "Tail Update Latency": 287334.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 99995.6, "Average Read Latency": 101.9, "Median Read Latency": 92.9, "Tail Read Latency": 145.9, "Average Update Latency": 107.5, "Median Update Latency": 96.5, "Tail Update Latency": 151.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 100002.7, "Average Read Latency": 98.5, "Median Read Latency": 92.9, "Tail Read Latency": 158.7, "Average Update Latency": 106.6, "Median Update Latency": 97.3, "Tail Update Latency": 169.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 552458.6, "Average Read Latency": 14675.2, "Median Read Latency": 13755.0, "Tail Read Latency": 27770.5, "Average Update Latency": 14815.2, "Median Update Latency": 13751.5, "Tail Update Latency": 28508.3}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99997.9, "Average Read Latency": 99.4, "Median Read Latency": 92.9, "Tail Read Latency": 156.9, "Average Update Latency": 107.3, "Median Update Latency": 97.6, "Tail Update Latency": 166.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200023.8, "Average Read Latency": 108.4, "Median Read Latency": 93.9, "Tail Read Latency": 182.8, "Average Update Latency": 112.9, "Median Update Latency": 96.7, "Tail Update Latency": 186.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399964.1, "Average Read Latency": 168.6, "Median Read Latency": 120.0, "Tail Read Latency": 537.2, "Average Update Latency": 169.7, "Median Update Latency": 124.1, "Tail Update Latency": 529.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 572931.3, "Average Read Latency": 10718.9, "Median Read Latency": 7143.6, "Tail Read Latency": 230879.7, "Average Update Latency": 10648.1, "Median Update Latency": 7141.4, "Tail Update Latency": 230681.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200028.5, "Average Read Latency": 89.1, "Median Read Latency": 85.6, "Tail Read Latency": 139.1, "Average Update Latency": 92.1, "Median Update Latency": 88.6, "Tail Update Latency": 142.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 571213.0, "Average Read Latency": 14088.8, "Median Read Latency": 13242.5, "Tail Read Latency": 27479.9, "Average Update Latency": 14511.2, "Median Update Latency": 13247.0, "Tail Update Latency": 28504.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 509711.2, "Average Read Latency": 23939.1, "Median Read Latency": 14768.4, "Tail Read Latency": 262676.0, "Average Update Latency": 24472.0, "Median Update Latency": 14814.3, "Tail Update Latency": 265422.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 566241.8, "Average Read Latency": 15442.4, "Median Read Latency": 13286.7, "Tail Read Latency": 29673.2, "Average Update Latency": 16004.3, "Median Update Latency": 13308.2, "Tail Update Latency": 32918.9}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 299995.5, "Average Read Latency": 100.5, "Median Read Latency": 94.2, "Tail Read Latency": 187.0, "Average Update Latency": 103.8, "Median Update Latency": 97.3, "Tail Update Latency": 189.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 100031.9, "Average Read Latency": 98.2, "Median Read Latency": 92.7, "Tail Read Latency": 158.5, "Average Update Latency": 102.5, "Median Update Latency": 97.7, "Tail Update Latency": 168.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 299953.8, "Average Read Latency": 140.8, "Median Read Latency": 100.2, "Tail Read Latency": 310.4, "Average Update Latency": 160.1, "Median Update Latency": 102.1, "Tail Update Latency": 299.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 486761.0, "Average Read Latency": 23585.7, "Median Read Latency": 14671.7, "Tail Read Latency": 258405.9, "Average Update Latency": 24402.1, "Median Update Latency": 14744.8, "Tail Update Latency": 259901.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300002.5, "Average Read Latency": 134.9, "Median Read Latency": 99.2, "Tail Read Latency": 276.9, "Average Update Latency": 154.9, "Median Update Latency": 101.6, "Tail Update Latency": 312.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 399969.2, "Average Read Latency": 490.4, "Median Read Latency": 124.7, "Tail Read Latency": 8767.3, "Average Update Latency": 614.5, "Median Update Latency": 126.3, "Tail Update Latency": 11646.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 399897.4, "Average Read Latency": 417.9, "Median Read Latency": 127.0, "Tail Read Latency": 7335.7, "Average Update Latency": 518.3, "Median Update Latency": 129.3, "Tail Update Latency": 9158.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400045.8, "Average Read Latency": 117.8, "Median Read Latency": 103.6, "Tail Read Latency": 301.8, "Average Update Latency": 120.9, "Median Update Latency": 105.9, "Tail Update Latency": 302.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400000.6, "Average Read Latency": 117.7, "Median Read Latency": 104.7, "Tail Read Latency": 293.5, "Average Update Latency": 120.8, "Median Update Latency": 107.6, "Tail Update Latency": 294.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 588898.7, "Average Read Latency": 23907.4, "Median Read Latency": 13853.7, "Tail Read Latency": 260269.2, "Average Update Latency": 23606.4, "Median Update Latency": 13850.8, "Tail Update Latency": 255121.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 519960.0, "Average Read Latency": 33908.7, "Median Read Latency": 25111.3, "Tail Read Latency": 288938.9, "Average Update Latency": 34653.1, "Median Update Latency": 25165.1, "Tail Update Latency": 303320.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 510239.8, "Average Read Latency": 27435.0, "Median Read Latency": 18684.9, "Tail Read Latency": 273848.9, "Average Update Latency": 28269.9, "Median Update Latency": 18679.4, "Tail Update Latency": 281229.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 400018.8, "Average Read Latency": 122.4, "Median Read Latency": 103.7, "Tail Read Latency": 372.1, "Average Update Latency": 124.7, "Median Update Latency": 106.3, "Tail Update Latency": 380.6}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 99971.2, "Average Read Latency": 101.5, "Median Read Latency": 92.7, "Tail Read Latency": 143.1, "Average Update Latency": 107.5, "Median Update Latency": 96.0, "Tail Update Latency": 149.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300016.1, "Average Read Latency": 136.0, "Median Read Latency": 98.8, "Tail Read Latency": 277.1, "Average Update Latency": 150.5, "Median Update Latency": 101.2, "Tail Update Latency": 282.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300024.0, "Average Read Latency": 103.0, "Median Read Latency": 95.9, "Tail Read Latency": 197.3, "Average Update Latency": 106.0, "Median Update Latency": 99.1, "Tail Update Latency": 201.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499899.2, "Average Read Latency": 6391.9, "Median Read Latency": 294.7, "Tail Read Latency": 12508.1, "Average Update Latency": 6286.5, "Median Update Latency": 347.0, "Tail Update Latency": 12508.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499626.6, "Average Read Latency": 7801.9, "Median Read Latency": 1515.8, "Tail Read Latency": 221930.5, "Average Update Latency": 7909.8, "Median Update Latency": 1736.8, "Tail Update Latency": 222236.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100026.6, "Average Read Latency": 89.0, "Median Read Latency": 86.1, "Tail Read Latency": 130.4, "Average Update Latency": 92.9, "Median Update Latency": 90.5, "Tail Update Latency": 138.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 199989.1, "Average Read Latency": 88.3, "Median Read Latency": 85.0, "Tail Read Latency": 137.7, "Average Update Latency": 91.5, "Median Update Latency": 87.9, "Tail Update Latency": 141.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499841.0, "Average Read Latency": 8630.0, "Median Read Latency": 2192.8, "Tail Read Latency": 223485.5, "Average Update Latency": 8562.8, "Median Update Latency": 2496.9, "Tail Update Latency": 222881.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200016.9, "Average Read Latency": 88.8, "Median Read Latency": 85.3, "Tail Read Latency": 138.6, "Average Update Latency": 92.3, "Median Update Latency": 88.4, "Tail Update Latency": 141.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 99994.9, "Average Read Latency": 88.7, "Median Read Latency": 86.0, "Tail Read Latency": 130.6, "Average Update Latency": 92.7, "Median Update Latency": 90.5, "Tail Update Latency": 137.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200024.5, "Average Read Latency": 105.4, "Median Read Latency": 95.1, "Tail Read Latency": 206.5, "Average Update Latency": 109.9, "Median Update Latency": 99.5, "Tail Update Latency": 213.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499931.8, "Average Read Latency": 5487.1, "Median Read Latency": 292.6, "Tail Read Latency": 12450.2, "Average Update Latency": 5390.7, "Median Update Latency": 310.0, "Tail Update Latency": 12445.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400023.4, "Average Read Latency": 168.4, "Median Read Latency": 121.2, "Tail Read Latency": 544.5, "Average Update Latency": 172.2, "Median Update Latency": 125.3, "Tail Update Latency": 548.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400062.1, "Average Read Latency": 167.9, "Median Read Latency": 121.3, "Tail Read Latency": 550.2, "Average Update Latency": 173.6, "Median Update Latency": 125.3, "Tail Update Latency": 558.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200041.2, "Average Read Latency": 114.1, "Median Read Latency": 98.7, "Tail Read Latency": 214.7, "Average Update Latency": 119.7, "Median Update Latency": 101.9, "Tail Update Latency": 220.8}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 503900.3, "Average Read Latency": 25421.2, "Median Read Latency": 14835.6, "Tail Read Latency": 277772.9, "Average Update Latency": 26605.0, "Median Update Latency": 14871.4, "Tail Update Latency": 292470.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200014.6, "Average Read Latency": 105.5, "Median Read Latency": 94.7, "Tail Read Latency": 206.9, "Average Update Latency": 110.1, "Median Update Latency": 98.7, "Tail Update Latency": 207.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 199981.7, "Average Read Latency": 104.4, "Median Read Latency": 96.2, "Tail Read Latency": 208.6, "Average Update Latency": 108.6, "Median Update Latency": 100.6, "Tail Update Latency": 217.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499370.6, "Average Read Latency": 9474.9, "Median Read Latency": 2811.3, "Tail Read Latency": 226356.6, "Average Update Latency": 9552.9, "Median Update Latency": 2990.8, "Tail Update Latency": 226363.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100049.6, "Average Read Latency": 88.2, "Median Read Latency": 85.5, "Tail Read Latency": 131.4, "Average Update Latency": 92.6, "Median Update Latency": 90.2, "Tail Update Latency": 138.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 566022.9, "Average Read Latency": 11863.5, "Median Read Latency": 7810.2, "Tail Read Latency": 233178.4, "Average Update Latency": 11883.6, "Median Update Latency": 7815.9, "Tail Update Latency": 233132.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399881.0, "Average Read Latency": 121.0, "Median Read Latency": 103.0, "Tail Read Latency": 392.5, "Average Update Latency": 123.5, "Median Update Latency": 105.6, "Tail Update Latency": 391.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 508809.3, "Average Read Latency": 30822.8, "Median Read Latency": 20427.1, "Tail Read Latency": 292370.8, "Average Update Latency": 31250.3, "Median Update Latency": 20428.6, "Tail Update Latency": 301589.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100033.6, "Average Read Latency": 89.8, "Median Read Latency": 87.0, "Tail Read Latency": 134.4, "Average Update Latency": 94.1, "Median Update Latency": 92.0, "Tail Update Latency": 139.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 400073.6, "Average Read Latency": 119.2, "Median Read Latency": 104.1, "Tail Read Latency": 310.3, "Average Update Latency": 121.5, "Median Update Latency": 106.6, "Tail Update Latency": 311.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100020.7, "Average Read Latency": 89.8, "Median Read Latency": 87.1, "Tail Read Latency": 133.8, "Average Update Latency": 94.3, "Median Update Latency": 92.1, "Tail Update Latency": 140.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 299993.6, "Average Read Latency": 147.8, "Median Read Latency": 106.0, "Tail Read Latency": 334.0, "Average Update Latency": 160.0, "Median Update Latency": 108.3, "Tail Update Latency": 346.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 486690.6, "Average Read Latency": 22485.6, "Median Read Latency": 12911.0, "Tail Read Latency": 259422.9, "Average Update Latency": 22544.2, "Median Update Latency": 12948.3, "Tail Update Latency": 259249.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 514481.9, "Average Read Latency": 26644.5, "Median Read Latency": 17372.3, "Tail Read Latency": 277884.0, "Average Update Latency": 27379.0, "Median Update Latency": 17427.5, "Tail Update Latency": 284359.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 564862.8, "Average Read Latency": 10391.8, "Median Read Latency": 7541.4, "Tail Read Latency": 230147.9, "Average Update Latency": 10448.3, "Median Update Latency": 7480.9, "Tail Update Latency": 230182.2}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 589974.7, "Average Read Latency": 21188.0, "Median Read Latency": 13326.6, "Tail Read Latency": 253120.1, "Average Update Latency": 20786.5, "Median Update Latency": 13285.1, "Tail Update Latency": 250894.9}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100037.1, "Average Read Latency": 88.2, "Median Read Latency": 85.7, "Tail Read Latency": 127.9, "Average Update Latency": 92.4, "Median Update Latency": 90.3, "Tail Update Latency": 134.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 199967.4, "Average Read Latency": 108.8, "Median Read Latency": 95.1, "Tail Read Latency": 193.2, "Average Update Latency": 110.5, "Median Update Latency": 97.9, "Tail Update Latency": 196.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100033.6, "Average Read Latency": 98.0, "Median Read Latency": 92.3, "Tail Read Latency": 155.8, "Average Update Latency": 105.5, "Median Update Latency": 97.1, "Tail Update Latency": 166.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 200012.6, "Average Read Latency": 104.7, "Median Read Latency": 94.4, "Tail Read Latency": 208.0, "Average Update Latency": 109.6, "Median Update Latency": 98.4, "Tail Update Latency": 207.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 571592.2, "Average Read Latency": 14089.1, "Median Read Latency": 13156.5, "Tail Read Latency": 27562.0, "Average Update Latency": 14210.8, "Median Update Latency": 13159.7, "Tail Update Latency": 28349.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 483746.8, "Average Read Latency": 20778.5, "Median Read Latency": 12834.7, "Tail Read Latency": 252742.2, "Average Update Latency": 21621.9, "Median Update Latency": 12914.1, "Tail Update Latency": 255892.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400010.9, "Average Read Latency": 168.8, "Median Read Latency": 120.6, "Tail Read Latency": 535.4, "Average Update Latency": 172.8, "Median Update Latency": 124.7, "Tail Update Latency": 544.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 300035.3, "Average Read Latency": 137.8, "Median Read Latency": 99.0, "Tail Read Latency": 291.1, "Average Update Latency": 159.7, "Median Update Latency": 101.4, "Tail Update Latency": 310.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399995.2, "Average Read Latency": 165.4, "Median Read Latency": 119.8, "Tail Read Latency": 522.7, "Average Update Latency": 167.6, "Median Update Latency": 123.8, "Tail Update Latency": 526.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 484745.5, "Average Read Latency": 22950.2, "Median Read Latency": 11985.3, "Tail Read Latency": 263281.6, "Average Update Latency": 23490.3, "Median Update Latency": 12064.4, "Tail Update Latency": 275949.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400002.1, "Average Read Latency": 118.1, "Median Read Latency": 103.6, "Tail Read Latency": 313.6, "Average Update Latency": 121.7, "Median Update Latency": 106.3, "Tail Update Latency": 320.3}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 558106.9, "Average Read Latency": 14009.3, "Median Read Latency": 13364.1, "Tail Read Latency": 26457.5, "Average Update Latency": 14193.7, "Median Update Latency": 13370.1, "Tail Update Latency": 27486.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 200020.5, "Average Read Latency": 104.9, "Median Read Latency": 94.6, "Tail Read Latency": 203.7, "Average Update Latency": 108.6, "Median Update Latency": 98.7, "Tail Update Latency": 207.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399939.5, "Average Read Latency": 130.4, "Median Read Latency": 104.9, "Tail Read Latency": 520.5, "Average Update Latency": 133.2, "Median Update Latency": 107.5, "Tail Update Latency": 526.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200027.1, "Average Read Latency": 87.7, "Median Read Latency": 84.7, "Tail Read Latency": 135.9, "Average Update Latency": 91.1, "Median Update Latency": 87.6, "Tail Update Latency": 139.3}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 299966.5, "Average Read Latency": 111.4, "Median Read Latency": 98.5, "Tail Read Latency": 247.1, "Average Update Latency": 112.8, "Median Update Latency": 102.0, "Tail Update Latency": 247.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200090.4, "Average Read Latency": 88.9, "Median Read Latency": 85.9, "Tail Read Latency": 136.8, "Average Update Latency": 92.1, "Median Update Latency": 89.2, "Tail Update Latency": 140.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499354.2, "Average Read Latency": 9467.2, "Median Read Latency": 2164.0, "Tail Read Latency": 226863.7, "Average Update Latency": 9405.1, "Median Update Latency": 2690.7, "Tail Update Latency": 226503.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 570822.4, "Average Read Latency": 13726.8, "Median Read Latency": 13220.2, "Tail Read Latency": 25890.2, "Average Update Latency": 13767.3, "Median Update Latency": 13221.5, "Tail Update Latency": 26181.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300032.4, "Average Read Latency": 102.4, "Median Read Latency": 94.9, "Tail Read Latency": 193.9, "Average Update Latency": 105.1, "Median Update Latency": 98.1, "Tail Update Latency": 198.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400040.8, "Average Read Latency": 170.8, "Median Read Latency": 122.6, "Tail Read Latency": 549.2, "Average Update Latency": 172.6, "Median Update Latency": 126.4, "Tail Update Latency": 542.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499897.8, "Average Read Latency": 5452.0, "Median Read Latency": 327.4, "Tail Read Latency": 12381.5, "Average Update Latency": 5469.0, "Median Update Latency": 335.2, "Tail Update Latency": 12384.4}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499853.1, "Average Read Latency": 9243.0, "Median Read Latency": 2290.5, "Tail Read Latency": 225530.1, "Average Update Latency": 9084.3, "Median Update Latency": 2207.9, "Tail Update Latency": 225070.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 508214.8, "Average Read Latency": 26289.6, "Median Read Latency": 15059.7, "Tail Read Latency": 308828.2, "Average Update Latency": 26545.2, "Median Update Latency": 15098.0, "Tail Update Latency": 310150.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 570148.3, "Average Read Latency": 17875.3, "Median Read Latency": 7593.7, "Tail Read Latency": 262670.6, "Average Update Latency": 18146.9, "Median Update Latency": 7636.8, "Tail Update Latency": 429710.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 199992.5, "Average Read Latency": 88.8, "Median Read Latency": 85.5, "Tail Read Latency": 137.8, "Average Update Latency": 91.9, "Median Update Latency": 88.8, "Tail Update Latency": 140.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300003.4, "Average Read Latency": 102.1, "Median Read Latency": 95.4, "Tail Read Latency": 191.4, "Average Update Latency": 105.5, "Median Update Latency": 99.1, "Tail Update Latency": 197.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 99987.5, "Average Read Latency": 89.0, "Median Read Latency": 86.3, "Tail Read Latency": 134.1, "Average Update Latency": 94.0, "Median Update Latency": 91.4, "Tail Update Latency": 139.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399943.7, "Average Read Latency": 169.2, "Median Read Latency": 121.1, "Tail Read Latency": 541.5, "Average Update Latency": 175.0, "Median Update Latency": 125.1, "Tail Update Latency": 552.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400000.1, "Average Read Latency": 168.6, "Median Read Latency": 121.5, "Tail Read Latency": 529.2, "Average Update Latency": 171.2, "Median Update Latency": 125.4, "Tail Update Latency": 538.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100006.0, "Average Read Latency": 99.7, "Median Read Latency": 92.5, "Tail Read Latency": 139.9, "Average Update Latency": 103.1, "Median Update Latency": 96.2, "Tail Update Latency": 147.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499638.3, "Average Read Latency": 8288.9, "Median Read Latency": 1707.9, "Tail Read Latency": 222611.1, "Average Update Latency": 8338.7, "Median Update Latency": 1796.7, "Tail Update Latency": 222489.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100031.2, "Average Read Latency": 89.5, "Median Read Latency": 86.8, "Tail Read Latency": 135.8, "Average Update Latency": 94.2, "Median Update Latency": 91.7, "Tail Update Latency": 140.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499760.9, "Average Read Latency": 6143.4, "Median Read Latency": 296.7, "Tail Read Latency": 12607.6, "Average Update Latency": 6069.1, "Median Update Latency": 294.3, "Tail Update Latency": 12733.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299977.8, "Average Read Latency": 134.1, "Median Read Latency": 99.5, "Tail Read Latency": 282.3, "Average Update Latency": 148.6, "Median Update Latency": 101.6, "Tail Update Latency": 281.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 566561.4, "Average Read Latency": 17041.2, "Median Read Latency": 7837.2, "Tail Read Latency": 240184.0, "Average Update Latency": 16964.1, "Median Update Latency": 7915.0, "Tail Update Latency": 240401.3}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200052.4, "Average Read Latency": 104.6, "Median Read Latency": 96.8, "Tail Read Latency": 208.9, "Average Update Latency": 107.9, "Median Update Latency": 101.1, "Tail Update Latency": 213.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399933.9, "Average Read Latency": 174.7, "Median Read Latency": 122.2, "Tail Read Latency": 563.4, "Average Update Latency": 176.0, "Median Update Latency": 126.5, "Tail Update Latency": 564.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 555895.1, "Average Read Latency": 14371.7, "Median Read Latency": 13831.0, "Tail Read Latency": 27385.6, "Average Update Latency": 14532.1, "Median Update Latency": 13840.3, "Tail Update Latency": 28390.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 399991.2, "Average Read Latency": 343.3, "Median Read Latency": 122.4, "Tail Read Latency": 5739.4, "Average Update Latency": 399.1, "Median Update Latency": 124.2, "Tail Update Latency": 6820.9}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 575405.6, "Average Read Latency": 14905.9, "Median Read Latency": 7301.0, "Tail Read Latency": 237071.3, "Average Update Latency": 15082.6, "Median Update Latency": 7360.7, "Tail Update Latency": 236770.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499488.8, "Average Read Latency": 8407.5, "Median Read Latency": 1875.2, "Tail Read Latency": 224186.3, "Average Update Latency": 8476.0, "Median Update Latency": 1975.3, "Tail Update Latency": 224107.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300013.5, "Average Read Latency": 102.9, "Median Read Latency": 95.9, "Tail Read Latency": 193.3, "Average Update Latency": 105.7, "Median Update Latency": 98.9, "Tail Update Latency": 198.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499772.2, "Average Read Latency": 8408.3, "Median Read Latency": 1887.6, "Tail Read Latency": 222221.6, "Average Update Latency": 8691.5, "Median Update Latency": 2087.4, "Tail Update Latency": 223841.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 586358.5, "Average Read Latency": 24393.8, "Median Read Latency": 14846.1, "Tail Read Latency": 259105.2, "Average Update Latency": 24505.2, "Median Update Latency": 14911.2, "Tail Update Latency": 259781.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399980.5, "Average Read Latency": 165.2, "Median Read Latency": 119.9, "Tail Read Latency": 525.2, "Average Update Latency": 168.1, "Median Update Latency": 123.8, "Tail Update Latency": 522.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399957.6, "Average Read Latency": 121.8, "Median Read Latency": 104.8, "Tail Read Latency": 379.2, "Average Update Latency": 124.6, "Median Update Latency": 107.4, "Tail Update Latency": 383.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300026.8, "Average Read Latency": 154.0, "Median Read Latency": 106.1, "Tail Read Latency": 363.5, "Average Update Latency": 168.9, "Median Update Latency": 109.0, "Tail Update Latency": 394.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399940.4, "Average Read Latency": 119.7, "Median Read Latency": 104.5, "Tail Read Latency": 314.0, "Average Update Latency": 122.2, "Median Update Latency": 106.7, "Tail Update Latency": 319.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200043.8, "Average Read Latency": 105.7, "Median Read Latency": 95.2, "Tail Read Latency": 213.5, "Average Update Latency": 109.7, "Median Update Latency": 99.6, "Tail Update Latency": 221.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 570954.1, "Average Read Latency": 16891.4, "Median Read Latency": 7643.9, "Tail Read Latency": 239449.9, "Average Update Latency": 17681.7, "Median Update Latency": 7798.6, "Tail Update Latency": 240173.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400020.7, "Average Read Latency": 511.0, "Median Read Latency": 125.4, "Tail Read Latency": 8876.8, "Average Update Latency": 637.3, "Median Update Latency": 127.0, "Tail Update Latency": 11870.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 508765.5, "Average Read Latency": 28053.3, "Median Read Latency": 16918.6, "Tail Read Latency": 312722.4, "Average Update Latency": 28794.0, "Median Update Latency": 17006.3, "Tail Update Latency": 325725.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 566270.9, "Average Read Latency": 15038.8, "Median Read Latency": 7270.9, "Tail Read Latency": 238222.9, "Average Update Latency": 15144.9, "Median Update Latency": 7284.1, "Tail Update Latency": 238308.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200048.1, "Average Read Latency": 104.8, "Median Read Latency": 94.8, "Tail Read Latency": 207.2, "Average Update Latency": 106.2, "Median Update Latency": 99.2, "Tail Update Latency": 212.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100006.6, "Average Read Latency": 87.2, "Median Read Latency": 84.7, "Tail Read Latency": 127.5, "Average Update Latency": 91.1, "Median Update Latency": 88.6, "Tail Update Latency": 133.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200001.9, "Average Read Latency": 104.6, "Median Read Latency": 95.1, "Tail Read Latency": 207.0, "Average Update Latency": 109.8, "Median Update Latency": 99.3, "Tail Update Latency": 213.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 552201.0, "Average Read Latency": 14551.9, "Median Read Latency": 14038.4, "Tail Read Latency": 27840.1, "Average Update Latency": 14688.3, "Median Update Latency": 14053.9, "Tail Update Latency": 28703.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 399993.8, "Average Read Latency": 416.3, "Median Read Latency": 129.5, "Tail Read Latency": 7430.0, "Average Update Latency": 499.1, "Median Update Latency": 132.0, "Tail Update Latency": 8747.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 199993.2, "Average Read Latency": 87.6, "Median Read Latency": 84.9, "Tail Read Latency": 134.1, "Average Update Latency": 90.6, "Median Update Latency": 87.6, "Tail Update Latency": 137.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 99994.3, "Average Read Latency": 103.8, "Median Read Latency": 92.7, "Tail Read Latency": 141.4, "Average Update Latency": 104.6, "Median Update Latency": 97.3, "Tail Update Latency": 148.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400016.2, "Average Read Latency": 160.8, "Median Read Latency": 113.6, "Tail Read Latency": 635.2, "Average Update Latency": 163.5, "Median Update Latency": 116.4, "Tail Update Latency": 638.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 500083.5, "Average Read Latency": 6074.8, "Median Read Latency": 322.6, "Tail Read Latency": 12519.8, "Average Update Latency": 5977.3, "Median Update Latency": 331.5, "Tail Update Latency": 12519.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300014.8, "Average Read Latency": 101.7, "Median Read Latency": 95.1, "Tail Read Latency": 192.6, "Average Update Latency": 104.9, "Median Update Latency": 98.5, "Tail Update Latency": 195.6}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 574428.0, "Average Read Latency": 15909.4, "Median Read Latency": 12899.4, "Tail Read Latency": 32418.3, "Average Update Latency": 16217.5, "Median Update Latency": 12907.8, "Tail Update Latency": 78788.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 576631.4, "Average Read Latency": 11960.3, "Median Read Latency": 7110.8, "Tail Read Latency": 232417.3, "Average Update Latency": 12151.7, "Median Update Latency": 7180.2, "Tail Update Latency": 232610.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 99983.5, "Average Read Latency": 99.7, "Median Read Latency": 91.7, "Tail Read Latency": 139.9, "Average Update Latency": 103.3, "Median Update Latency": 95.4, "Tail Update Latency": 145.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 100010.6, "Average Read Latency": 99.3, "Median Read Latency": 92.8, "Tail Read Latency": 158.8, "Average Update Latency": 106.0, "Median Update Latency": 97.5, "Tail Update Latency": 168.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200001.4, "Average Read Latency": 88.5, "Median Read Latency": 85.5, "Tail Read Latency": 137.3, "Average Update Latency": 91.5, "Median Update Latency": 88.3, "Tail Update Latency": 140.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 399945.9, "Average Read Latency": 445.2, "Median Read Latency": 127.0, "Tail Read Latency": 7652.7, "Average Update Latency": 516.3, "Median Update Latency": 128.8, "Tail Update Latency": 9116.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 567136.6, "Average Read Latency": 14388.7, "Median Read Latency": 7755.8, "Tail Read Latency": 236983.4, "Average Update Latency": 14509.9, "Median Update Latency": 7793.6, "Tail Update Latency": 236819.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100010.7, "Average Read Latency": 106.0, "Median Read Latency": 93.2, "Tail Read Latency": 146.2, "Average Update Latency": 111.8, "Median Update Latency": 96.7, "Tail Update Latency": 152.9}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 567496.7, "Average Read Latency": 14059.3, "Median Read Latency": 13384.2, "Tail Read Latency": 27189.7, "Average Update Latency": 14298.0, "Median Update Latency": 13394.9, "Tail Update Latency": 28214.9}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 100007.6, "Average Read Latency": 100.1, "Median Read Latency": 93.7, "Tail Read Latency": 161.1, "Average Update Latency": 106.5, "Median Update Latency": 98.8, "Tail Update Latency": 170.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 99972.6, "Average Read Latency": 102.8, "Median Read Latency": 92.5, "Tail Read Latency": 143.3, "Average Update Latency": 107.1, "Median Update Latency": 95.8, "Tail Update Latency": 150.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 590090.9, "Average Read Latency": 20880.4, "Median Read Latency": 13548.6, "Tail Read Latency": 244918.2, "Average Update Latency": 21081.4, "Median Update Latency": 13561.0, "Tail Update Latency": 246277.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 565263.9, "Average Read Latency": 15831.4, "Median Read Latency": 8163.0, "Tail Read Latency": 237630.8, "Average Update Latency": 15988.6, "Median Update Latency": 8147.2, "Tail Update Latency": 237551.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400084.5, "Average Read Latency": 171.2, "Median Read Latency": 121.3, "Tail Read Latency": 555.5, "Average Update Latency": 175.5, "Median Update Latency": 125.0, "Tail Update Latency": 569.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499724.0, "Average Read Latency": 8510.2, "Median Read Latency": 1463.7, "Tail Read Latency": 222330.0, "Average Update Latency": 8547.7, "Median Update Latency": 1524.1, "Tail Update Latency": 222940.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200009.7, "Average Read Latency": 103.9, "Median Read Latency": 95.5, "Tail Read Latency": 211.6, "Average Update Latency": 108.4, "Median Update Latency": 100.1, "Tail Update Latency": 214.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 400059.8, "Average Read Latency": 158.8, "Median Read Latency": 112.3, "Tail Read Latency": 650.5, "Average Update Latency": 160.7, "Median Update Latency": 115.1, "Tail Update Latency": 643.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400109.9, "Average Read Latency": 118.5, "Median Read Latency": 103.4, "Tail Read Latency": 313.9, "Average Update Latency": 121.0, "Median Update Latency": 105.9, "Tail Update Latency": 315.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300007.2, "Average Read Latency": 129.3, "Median Read Latency": 99.0, "Tail Read Latency": 266.7, "Average Update Latency": 138.4, "Median Update Latency": 101.4, "Tail Update Latency": 271.1}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499890.8, "Average Read Latency": 5791.7, "Median Read Latency": 265.6, "Tail Read Latency": 12500.1, "Average Update Latency": 5887.9, "Median Update Latency": 302.9, "Tail Update Latency": 12512.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 508452.7, "Average Read Latency": 25419.2, "Median Read Latency": 15439.8, "Tail Read Latency": 267743.6, "Average Update Latency": 25789.6, "Median Update Latency": 15435.5, "Tail Update Latency": 274430.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 566726.7, "Average Read Latency": 20162.1, "Median Read Latency": 7460.5, "Tail Read Latency": 442253.4, "Average Update Latency": 19833.4, "Median Update Latency": 7425.6, "Tail Update Latency": 437743.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 399952.3, "Average Read Latency": 497.2, "Median Read Latency": 124.7, "Tail Read Latency": 8855.8, "Average Update Latency": 642.1, "Median Update Latency": 126.7, "Tail Update Latency": 11871.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 567688.0, "Average Read Latency": 14041.0, "Median Read Latency": 13311.0, "Tail Read Latency": 27774.5, "Average Update Latency": 14415.3, "Median Update Latency": 13324.7, "Tail Update Latency": 29240.8}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 508582.6, "Average Read Latency": 24517.3, "Median Read Latency": 14842.2, "Tail Read Latency": 269622.2, "Average Update Latency": 25069.1, "Median Update Latency": 14885.5, "Tail Update Latency": 273264.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 552685.4, "Average Read Latency": 14380.2, "Median Read Latency": 13847.9, "Tail Read Latency": 27130.2, "Average Update Latency": 14593.0, "Median Update Latency": 13853.3, "Tail Update Latency": 27806.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 484522.0, "Average Read Latency": 21237.8, "Median Read Latency": 12803.2, "Tail Read Latency": 256490.9, "Average Update Latency": 22141.5, "Median Update Latency": 12817.0, "Tail Update Latency": 258906.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 299979.7, "Average Read Latency": 135.1, "Median Read Latency": 99.0, "Tail Read Latency": 277.2, "Average Update Latency": 154.3, "Median Update Latency": 101.3, "Tail Update Latency": 290.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 200057.9, "Average Read Latency": 102.4, "Median Read Latency": 93.7, "Tail Read Latency": 182.1, "Average Update Latency": 106.1, "Median Update Latency": 96.6, "Tail Update Latency": 186.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 504927.8, "Average Read Latency": 23548.7, "Median Read Latency": 13536.2, "Tail Read Latency": 275754.2, "Average Update Latency": 23965.3, "Median Update Latency": 13553.0, "Tail Update Latency": 285270.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 589516.8, "Average Read Latency": 22994.1, "Median Read Latency": 13463.8, "Tail Read Latency": 257482.9, "Average Update Latency": 22995.3, "Median Update Latency": 13517.0, "Tail Update Latency": 256762.4}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200021.6, "Average Read Latency": 104.8, "Median Read Latency": 95.5, "Tail Read Latency": 209.0, "Average Update Latency": 108.5, "Median Update Latency": 99.9, "Tail Update Latency": 208.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499367.7, "Average Read Latency": 8099.1, "Median Read Latency": 1452.5, "Tail Read Latency": 223115.8, "Average Update Latency": 8029.9, "Median Update Latency": 1431.4, "Tail Update Latency": 222519.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499732.1, "Average Read Latency": 8862.0, "Median Read Latency": 2043.3, "Tail Read Latency": 224512.9, "Average Update Latency": 8405.0, "Median Update Latency": 1691.7, "Tail Update Latency": 221831.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 589339.8, "Average Read Latency": 20602.1, "Median Read Latency": 13278.2, "Tail Read Latency": 245798.1, "Average Update Latency": 20758.2, "Median Update Latency": 13302.9, "Tail Update Latency": 248816.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300044.2, "Average Read Latency": 103.5, "Median Read Latency": 96.4, "Tail Read Latency": 194.0, "Average Update Latency": 106.5, "Median Update Latency": 99.8, "Tail Update Latency": 198.6}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 565293.9, "Average Read Latency": 13006.1, "Median Read Latency": 7892.7, "Tail Read Latency": 234629.7, "Average Update Latency": 12972.9, "Median Update Latency": 7927.6, "Tail Update Latency": 234423.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200001.3, "Average Read Latency": 88.1, "Median Read Latency": 84.9, "Tail Read Latency": 135.1, "Average Update Latency": 91.3, "Median Update Latency": 87.8, "Tail Update Latency": 139.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100008.1, "Average Read Latency": 89.7, "Median Read Latency": 87.0, "Tail Read Latency": 134.4, "Average Update Latency": 94.1, "Median Update Latency": 92.1, "Tail Update Latency": 139.2}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400070.3, "Average Read Latency": 422.6, "Median Read Latency": 123.8, "Tail Read Latency": 7426.2, "Average Update Latency": 515.9, "Median Update Latency": 125.5, "Tail Update Latency": 9633.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 565228.3, "Average Read Latency": 16808.1, "Median Read Latency": 7768.5, "Tail Read Latency": 240025.9, "Average Update Latency": 16125.0, "Median Update Latency": 7612.1, "Tail Update Latency": 239230.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 486156.8, "Average Read Latency": 22402.3, "Median Read Latency": 12480.1, "Tail Read Latency": 260703.0, "Average Update Latency": 22491.3, "Median Update Latency": 12526.3, "Tail Update Latency": 261639.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499970.6, "Average Read Latency": 5189.3, "Median Read Latency": 265.7, "Tail Read Latency": 12329.4, "Average Update Latency": 5150.8, "Median Update Latency": 277.3, "Tail Update Latency": 12317.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 585238.8, "Average Read Latency": 24407.3, "Median Read Latency": 14903.1, "Tail Read Latency": 256943.6, "Average Update Latency": 24227.6, "Median Update Latency": 14804.0, "Tail Update Latency": 255218.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 199986.6, "Average Read Latency": 104.8, "Median Read Latency": 95.6, "Tail Read Latency": 207.5, "Average Update Latency": 107.5, "Median Update Latency": 100.1, "Tail Update Latency": 212.3}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 199986.1, "Average Read Latency": 102.3, "Median Read Latency": 94.5, "Tail Read Latency": 204.9, "Average Update Latency": 106.0, "Median Update Latency": 98.7, "Tail Update Latency": 210.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 508381.2, "Average Read Latency": 27409.9, "Median Read Latency": 15841.8, "Tail Read Latency": 326518.7, "Average Update Latency": 27673.9, "Median Update Latency": 15929.1, "Tail Update Latency": 331559.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100037.3, "Average Read Latency": 89.9, "Median Read Latency": 87.1, "Tail Read Latency": 134.7, "Average Update Latency": 94.8, "Median Update Latency": 92.1, "Tail Update Latency": 141.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 566809.1, "Average Read Latency": 11918.3, "Median Read Latency": 7820.6, "Tail Read Latency": 232865.9, "Average Update Latency": 11880.2, "Median Update Latency": 7785.1, "Tail Update Latency": 233028.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200059.6, "Average Read Latency": 104.8, "Median Read Latency": 96.4, "Tail Read Latency": 212.1, "Average Update Latency": 110.7, "Median Update Latency": 100.7, "Tail Update Latency": 220.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200009.3, "Average Read Latency": 119.1, "Median Read Latency": 97.5, "Tail Read Latency": 212.7, "Average Update Latency": 124.0, "Median Update Latency": 100.6, "Tail Update Latency": 220.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300056.9, "Average Read Latency": 102.8, "Median Read Latency": 95.8, "Tail Read Latency": 196.7, "Average Update Latency": 105.8, "Median Update Latency": 98.7, "Tail Update Latency": 200.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 400007.7, "Average Read Latency": 164.2, "Median Read Latency": 119.4, "Tail Read Latency": 521.8, "Average Update Latency": 168.3, "Median Update Latency": 123.3, "Tail Update Latency": 534.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 561594.9, "Average Read Latency": 14127.8, "Median Read Latency": 13606.6, "Tail Read Latency": 27199.2, "Average Update Latency": 14316.2, "Median Update Latency": 13618.6, "Tail Update Latency": 28172.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100003.3, "Average Read Latency": 101.5, "Median Read Latency": 92.3, "Tail Read Latency": 165.2, "Average Update Latency": 103.6, "Median Update Latency": 97.0, "Tail Update Latency": 171.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400062.6, "Average Read Latency": 117.0, "Median Read Latency": 102.3, "Tail Read Latency": 304.2, "Average Update Latency": 119.7, "Median Update Latency": 104.8, "Tail Update Latency": 304.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 299994.6, "Average Read Latency": 111.6, "Median Read Latency": 97.9, "Tail Read Latency": 250.6, "Average Update Latency": 113.7, "Median Update Latency": 102.0, "Tail Update Latency": 249.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 482467.4, "Average Read Latency": 19224.5, "Median Read Latency": 11922.6, "Tail Read Latency": 249530.2, "Average Update Latency": 20047.8, "Median Update Latency": 11956.5, "Tail Update Latency": 252405.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400058.2, "Average Read Latency": 406.5, "Median Read Latency": 124.5, "Tail Read Latency": 7055.3, "Average Update Latency": 486.0, "Median Update Latency": 126.4, "Tail Update Latency": 8837.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 508239.2, "Average Read Latency": 25462.5, "Median Read Latency": 16042.5, "Tail Read Latency": 265993.8, "Average Update Latency": 26282.6, "Median Update Latency": 16093.7, "Tail Update Latency": 273601.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 590570.8, "Average Read Latency": 23096.9, "Median Read Latency": 14251.7, "Tail Read Latency": 258091.7, "Average Update Latency": 22747.9, "Median Update Latency": 14197.0, "Tail Update Latency": 254067.7}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 508798.9, "Average Read Latency": 27284.9, "Median Read Latency": 16746.2, "Tail Read Latency": 282023.4, "Average Update Latency": 27779.4, "Median Update Latency": 16730.6, "Tail Update Latency": 286281.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200021.5, "Average Read Latency": 87.8, "Median Read Latency": 84.7, "Tail Read Latency": 137.1, "Average Update Latency": 91.4, "Median Update Latency": 87.6, "Tail Update Latency": 139.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499605.9, "Average Read Latency": 8339.2, "Median Read Latency": 2441.5, "Tail Read Latency": 224248.7, "Average Update Latency": 8260.6, "Median Update Latency": 2282.1, "Tail Update Latency": 223338.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 399985.2, "Average Read Latency": 170.2, "Median Read Latency": 122.7, "Tail Read Latency": 544.4, "Average Update Latency": 174.4, "Median Update Latency": 126.4, "Tail Update Latency": 554.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 299963.0, "Average Read Latency": 102.9, "Median Read Latency": 95.8, "Tail Read Latency": 194.7, "Average Update Latency": 106.2, "Median Update Latency": 98.8, "Tail Update Latency": 199.9}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100033.0, "Average Read Latency": 100.3, "Median Read Latency": 92.8, "Tail Read Latency": 171.2, "Average Update Latency": 103.6, "Median Update Latency": 97.6, "Tail Update Latency": 177.1}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 569300.4, "Average Read Latency": 15588.2, "Median Read Latency": 7711.3, "Tail Read Latency": 238032.5, "Average Update Latency": 15543.3, "Median Update Latency": 7598.0, "Tail Update Latency": 237937.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 592722.2, "Average Read Latency": 22896.0, "Median Read Latency": 13229.1, "Tail Read Latency": 254357.6, "Average Update Latency": 22780.7, "Median Update Latency": 13267.5, "Tail Update Latency": 253913.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200001.1, "Average Read Latency": 103.9, "Median Read Latency": 96.3, "Tail Read Latency": 213.5, "Average Update Latency": 109.0, "Median Update Latency": 100.6, "Tail Update Latency": 218.3}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300000.7, "Average Read Latency": 111.3, "Median Read Latency": 98.6, "Tail Read Latency": 250.3, "Average Update Latency": 114.8, "Median Update Latency": 102.4, "Tail Update Latency": 256.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 299973.3, "Average Read Latency": 102.1, "Median Read Latency": 95.4, "Tail Read Latency": 194.0, "Average Update Latency": 104.9, "Median Update Latency": 98.3, "Tail Update Latency": 197.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499945.3, "Average Read Latency": 8255.9, "Median Read Latency": 1657.5, "Tail Read Latency": 223804.7, "Average Update Latency": 8261.8, "Median Update Latency": 1981.9, "Tail Update Latency": 223622.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399972.0, "Average Read Latency": 120.6, "Median Read Latency": 103.7, "Tail Read Latency": 347.1, "Average Update Latency": 122.6, "Median Update Latency": 106.0, "Tail Update Latency": 344.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 504549.5, "Average Read Latency": 24986.5, "Median Read Latency": 14983.1, "Tail Read Latency": 273794.4, "Average Update Latency": 25829.9, "Median Update Latency": 15088.5, "Tail Update Latency": 284468.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 199977.2, "Average Read Latency": 105.0, "Median Read Latency": 94.8, "Tail Read Latency": 207.5, "Average Update Latency": 108.7, "Median Update Latency": 99.1, "Tail Update Latency": 218.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499826.1, "Average Read Latency": 9364.3, "Median Read Latency": 1807.3, "Tail Read Latency": 225326.2, "Average Update Latency": 9281.5, "Median Update Latency": 1918.3, "Tail Update Latency": 225221.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 483826.5, "Average Read Latency": 23562.8, "Median Read Latency": 12951.0, "Tail Read Latency": 262460.3, "Average Update Latency": 24400.3, "Median Update Latency": 12956.3, "Tail Update Latency": 271182.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 575780.5, "Average Read Latency": 17824.7, "Median Read Latency": 7558.5, "Tail Read Latency": 427876.0, "Average Update Latency": 17690.6, "Median Update Latency": 7583.1, "Tail Update Latency": 252531.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 99984.5, "Average Read Latency": 100.5, "Median Read Latency": 92.3, "Tail Read Latency": 138.8, "Average Update Latency": 102.6, "Median Update Latency": 95.8, "Tail Update Latency": 144.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 508659.5, "Average Read Latency": 25995.6, "Median Read Latency": 16506.3, "Tail Read Latency": 275320.5, "Average Update Latency": 27150.9, "Median Update Latency": 16598.0, "Tail Update Latency": 285882.8}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 399934.5, "Average Read Latency": 118.2, "Median Read Latency": 103.4, "Tail Read Latency": 316.9, "Average Update Latency": 120.2, "Median Update Latency": 105.6, "Tail Update Latency": 314.3}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 555399.9, "Average Read Latency": 14388.9, "Median Read Latency": 13656.8, "Tail Read Latency": 27633.9, "Average Update Latency": 14652.2, "Median Update Latency": 13683.8, "Tail Update Latency": 28903.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 567954.6, "Average Read Latency": 14982.3, "Median Read Latency": 13342.0, "Tail Read Latency": 29038.0, "Average Update Latency": 15180.7, "Median Update Latency": 13352.8, "Tail Update Latency": 29663.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400022.4, "Average Read Latency": 117.9, "Median Read Latency": 103.7, "Tail Read Latency": 297.6, "Average Update Latency": 120.9, "Median Update Latency": 106.5, "Tail Update Latency": 300.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 400002.6, "Average Read Latency": 118.8, "Median Read Latency": 103.1, "Tail Read Latency": 321.2, "Average Update Latency": 122.0, "Median Update Latency": 105.6, "Tail Update Latency": 327.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 483802.0, "Average Read Latency": 22407.3, "Median Read Latency": 12475.4, "Tail Read Latency": 260993.7, "Average Update Latency": 23030.2, "Median Update Latency": 12581.9, "Tail Update Latency": 262917.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 588386.1, "Average Read Latency": 23207.0, "Median Read Latency": 14416.6, "Tail Read Latency": 256085.0, "Average Update Latency": 22827.3, "Median Update Latency": 14329.1, "Tail Update Latency": 256281.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100025.2, "Average Read Latency": 100.8, "Median Read Latency": 93.5, "Tail Read Latency": 160.5, "Average Update Latency": 103.4, "Median Update Latency": 99.1, "Tail Update Latency": 170.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 504042.2, "Average Read Latency": 27508.2, "Median Read Latency": 17400.6, "Tail Read Latency": 282771.8, "Average Update Latency": 27806.4, "Median Update Latency": 17412.9, "Tail Update Latency": 287199.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399978.6, "Average Read Latency": 165.5, "Median Read Latency": 116.1, "Tail Read Latency": 613.9, "Average Update Latency": 168.9, "Median Update Latency": 119.3, "Tail Update Latency": 628.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 299994.6, "Average Read Latency": 124.5, "Median Read Latency": 106.5, "Tail Read Latency": 305.4, "Average Update Latency": 131.3, "Median Update Latency": 111.0, "Tail Update Latency": 316.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100025.7, "Average Read Latency": 90.0, "Median Read Latency": 87.3, "Tail Read Latency": 135.6, "Average Update Latency": 94.6, "Median Update Latency": 92.5, "Tail Update Latency": 140.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499941.1, "Average Read Latency": 5745.2, "Median Read Latency": 275.9, "Tail Read Latency": 12482.9, "Average Update Latency": 5694.6, "Median Update Latency": 300.9, "Tail Update Latency": 12475.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 506236.9, "Average Read Latency": 30055.9, "Median Read Latency": 18755.2, "Tail Read Latency": 309392.0, "Average Update Latency": 30588.7, "Median Update Latency": 18703.8, "Tail Update Latency": 324899.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 568400.3, "Average Read Latency": 14100.0, "Median Read Latency": 13283.7, "Tail Read Latency": 28570.4, "Average Update Latency": 14588.6, "Median Update Latency": 13299.4, "Tail Update Latency": 30466.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 199982.5, "Average Read Latency": 119.3, "Median Read Latency": 96.4, "Tail Read Latency": 201.8, "Average Update Latency": 124.3, "Median Update Latency": 99.7, "Tail Update Latency": 204.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 399935.6, "Average Read Latency": 118.0, "Median Read Latency": 103.6, "Tail Read Latency": 304.2, "Average Update Latency": 120.9, "Median Update Latency": 106.1, "Tail Update Latency": 311.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 99975.3, "Average Read Latency": 86.8, "Median Read Latency": 84.6, "Tail Read Latency": 126.4, "Average Update Latency": 90.9, "Median Update Latency": 88.6, "Tail Update Latency": 132.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 199951.9, "Average Read Latency": 89.5, "Median Read Latency": 86.2, "Tail Read Latency": 140.7, "Average Update Latency": 92.8, "Median Update Latency": 89.5, "Tail Update Latency": 143.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 590581.5, "Average Read Latency": 23177.2, "Median Read Latency": 14355.8, "Tail Read Latency": 253484.4, "Average Update Latency": 22832.0, "Median Update Latency": 14360.8, "Tail Update Latency": 247972.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 299996.7, "Average Read Latency": 126.6, "Median Read Latency": 107.1, "Tail Read Latency": 312.0, "Average Update Latency": 128.2, "Median Update Latency": 111.3, "Tail Update Latency": 310.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300000.2, "Average Read Latency": 111.3, "Median Read Latency": 97.9, "Tail Read Latency": 248.0, "Average Update Latency": 116.3, "Median Update Latency": 101.7, "Tail Update Latency": 252.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 506532.6, "Average Read Latency": 27695.4, "Median Read Latency": 17911.2, "Tail Read Latency": 284492.0, "Average Update Latency": 28537.2, "Median Update Latency": 17859.9, "Tail Update Latency": 290901.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 399975.5, "Average Read Latency": 520.5, "Median Read Latency": 127.2, "Tail Read Latency": 9219.1, "Average Update Latency": 662.5, "Median Update Latency": 128.7, "Tail Update Latency": 12396.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 503458.6, "Average Read Latency": 25738.2, "Median Read Latency": 14287.8, "Tail Read Latency": 314311.3, "Average Update Latency": 26602.1, "Median Update Latency": 14368.4, "Tail Update Latency": 330932.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 399993.5, "Average Read Latency": 461.5, "Median Read Latency": 125.1, "Tail Read Latency": 7847.9, "Average Update Latency": 584.8, "Median Update Latency": 127.0, "Tail Update Latency": 10714.8}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199994.0, "Average Read Latency": 115.9, "Median Read Latency": 95.8, "Tail Read Latency": 197.1, "Average Update Latency": 116.2, "Median Update Latency": 98.8, "Tail Update Latency": 198.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200022.1, "Average Read Latency": 89.6, "Median Read Latency": 86.2, "Tail Read Latency": 139.0, "Average Update Latency": 92.6, "Median Update Latency": 89.5, "Tail Update Latency": 141.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100007.0, "Average Read Latency": 101.1, "Median Read Latency": 92.8, "Tail Read Latency": 157.0, "Average Update Latency": 109.9, "Median Update Latency": 97.7, "Tail Update Latency": 169.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 564722.7, "Average Read Latency": 19786.0, "Median Read Latency": 7959.4, "Tail Read Latency": 431746.6, "Average Update Latency": 18850.1, "Median Update Latency": 7963.6, "Tail Update Latency": 429755.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 563453.2, "Average Read Latency": 14288.8, "Median Read Latency": 13380.5, "Tail Read Latency": 28000.4, "Average Update Latency": 14567.4, "Median Update Latency": 13394.1, "Tail Update Latency": 28826.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300005.7, "Average Read Latency": 128.4, "Median Read Latency": 98.5, "Tail Read Latency": 270.2, "Average Update Latency": 145.8, "Median Update Latency": 101.1, "Tail Update Latency": 288.9}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200035.3, "Average Read Latency": 90.2, "Median Read Latency": 86.1, "Tail Read Latency": 141.1, "Average Update Latency": 92.9, "Median Update Latency": 89.2, "Tail Update Latency": 145.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 565746.2, "Average Read Latency": 14385.0, "Median Read Latency": 13252.0, "Tail Read Latency": 28628.6, "Average Update Latency": 14768.9, "Median Update Latency": 13273.5, "Tail Update Latency": 30000.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 400000, "Actual QPS": 400074.5, "Average Read Latency": 169.1, "Median Read Latency": 120.8, "Tail Read Latency": 539.0, "Average Update Latency": 173.0, "Median Update Latency": 124.7, "Tail Update Latency": 546.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200082.5, "Average Read Latency": 119.6, "Median Read Latency": 97.7, "Tail Read Latency": 214.1, "Average Update Latency": 121.4, "Median Update Latency": 100.9, "Tail Update Latency": 218.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299951.7, "Average Read Latency": 115.6, "Median Read Latency": 98.2, "Tail Read Latency": 250.4, "Average Update Latency": 118.2, "Median Update Latency": 101.9, "Tail Update Latency": 253.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200004.3, "Average Read Latency": 89.0, "Median Read Latency": 85.5, "Tail Read Latency": 138.9, "Average Update Latency": 91.8, "Median Update Latency": 88.5, "Tail Update Latency": 140.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400003.3, "Average Read Latency": 386.0, "Median Read Latency": 125.4, "Tail Read Latency": 6754.7, "Average Update Latency": 448.5, "Median Update Latency": 126.8, "Tail Update Latency": 8078.7}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300044.7, "Average Read Latency": 109.9, "Median Read Latency": 97.3, "Tail Read Latency": 247.7, "Average Update Latency": 113.2, "Median Update Latency": 101.3, "Tail Update Latency": 248.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 566257.0, "Average Read Latency": 16990.3, "Median Read Latency": 7864.6, "Tail Read Latency": 239715.4, "Average Update Latency": 16835.0, "Median Update Latency": 7887.7, "Tail Update Latency": 240000.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 509040.9, "Average Read Latency": 29222.6, "Median Read Latency": 21217.9, "Tail Read Latency": 279646.6, "Average Update Latency": 29879.6, "Median Update Latency": 21266.4, "Tail Update Latency": 283767.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100014.2, "Average Read Latency": 88.9, "Median Read Latency": 86.3, "Tail Read Latency": 133.0, "Average Update Latency": 93.4, "Median Update Latency": 91.1, "Tail Update Latency": 139.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 500414.9, "Average Read Latency": 23042.3, "Median Read Latency": 14380.6, "Tail Read Latency": 260072.2, "Average Update Latency": 23825.6, "Median Update Latency": 14378.9, "Tail Update Latency": 263521.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300016.4, "Average Read Latency": 142.3, "Median Read Latency": 106.3, "Tail Read Latency": 347.5, "Average Update Latency": 162.0, "Median Update Latency": 109.0, "Tail Update Latency": 367.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300016.0, "Average Read Latency": 100.5, "Median Read Latency": 94.1, "Tail Read Latency": 186.4, "Average Update Latency": 103.7, "Median Update Latency": 96.9, "Tail Update Latency": 190.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 485238.5, "Average Read Latency": 23547.2, "Median Read Latency": 13347.6, "Tail Read Latency": 260539.9, "Average Update Latency": 24392.8, "Median Update Latency": 13374.1, "Tail Update Latency": 263290.1}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499891.5, "Average Read Latency": 6315.0, "Median Read Latency": 402.1, "Tail Read Latency": 12521.2, "Average Update Latency": 6104.4, "Median Update Latency": 375.7, "Tail Update Latency": 12514.9}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499538.4, "Average Read Latency": 8747.2, "Median Read Latency": 2604.8, "Tail Read Latency": 223943.6, "Average Update Latency": 8635.7, "Median Update Latency": 2448.0, "Tail Update Latency": 223848.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 399933.0, "Average Read Latency": 119.0, "Median Read Latency": 104.1, "Tail Read Latency": 331.8, "Average Update Latency": 122.1, "Median Update Latency": 106.8, "Tail Update Latency": 332.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 515185.5, "Average Read Latency": 28905.3, "Median Read Latency": 20411.0, "Tail Read Latency": 280815.8, "Average Update Latency": 29136.7, "Median Update Latency": 20495.9, "Tail Update Latency": 282227.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400007.6, "Average Read Latency": 117.3, "Median Read Latency": 103.4, "Tail Read Latency": 300.4, "Average Update Latency": 119.8, "Median Update Latency": 106.2, "Tail Update Latency": 303.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 200017.4, "Average Read Latency": 117.1, "Median Read Latency": 97.4, "Tail Read Latency": 206.8, "Average Update Latency": 119.0, "Median Update Latency": 100.4, "Tail Update Latency": 210.1}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 400003.9, "Average Read Latency": 170.2, "Median Read Latency": 116.8, "Tail Read Latency": 657.4, "Average Update Latency": 173.0, "Median Update Latency": 120.2, "Tail Update Latency": 657.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 99963.6, "Average Read Latency": 98.1, "Median Read Latency": 92.2, "Tail Read Latency": 158.4, "Average Update Latency": 106.3, "Median Update Latency": 96.9, "Tail Update Latency": 168.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 500000, "Actual QPS": 499831.7, "Average Read Latency": 6173.0, "Median Read Latency": 445.8, "Tail Read Latency": 12642.2, "Average Update Latency": 6220.0, "Median Update Latency": 576.2, "Tail Update Latency": 12981.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 199975.7, "Average Read Latency": 105.7, "Median Read Latency": 95.1, "Tail Read Latency": 192.7, "Average Update Latency": 108.2, "Median Update Latency": 98.1, "Tail Update Latency": 196.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 510136.6, "Average Read Latency": 30231.3, "Median Read Latency": 20414.3, "Tail Read Latency": 310808.3, "Average Update Latency": 30701.3, "Median Update Latency": 20554.4, "Tail Update Latency": 314355.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 593841.3, "Average Read Latency": 20496.6, "Median Read Latency": 13264.2, "Tail Read Latency": 243072.3, "Average Update Latency": 20832.1, "Median Update Latency": 13304.8, "Tail Update Latency": 243175.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 506163.0, "Average Read Latency": 21998.8, "Median Read Latency": 13650.5, "Tail Read Latency": 257543.1, "Average Update Latency": 22183.8, "Median Update Latency": 13674.1, "Tail Update Latency": 259563.1}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300049.3, "Average Read Latency": 111.8, "Median Read Latency": 98.6, "Tail Read Latency": 252.7, "Average Update Latency": 115.7, "Median Update Latency": 102.2, "Tail Update Latency": 255.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400074.1, "Average Read Latency": 381.4, "Median Read Latency": 123.7, "Tail Read Latency": 6976.6, "Average Update Latency": 452.6, "Median Update Latency": 125.8, "Tail Update Latency": 8127.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 510111.1, "Average Read Latency": 26728.9, "Median Read Latency": 14832.9, "Tail Read Latency": 318916.5, "Average Update Latency": 27183.8, "Median Update Latency": 14799.3, "Tail Update Latency": 329883.7}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 400064.6, "Average Read Latency": 124.5, "Median Read Latency": 104.0, "Tail Read Latency": 416.3, "Average Update Latency": 126.9, "Median Update Latency": 106.6, "Tail Update Latency": 409.7}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300064.5, "Average Read Latency": 111.6, "Median Read Latency": 98.4, "Tail Read Latency": 249.3, "Average Update Latency": 115.2, "Median Update Latency": 102.0, "Tail Update Latency": 256.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300041.9, "Average Read Latency": 102.8, "Median Read Latency": 94.8, "Tail Read Latency": 191.3, "Average Update Latency": 106.1, "Median Update Latency": 98.1, "Tail Update Latency": 198.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100025.2, "Average Read Latency": 101.3, "Median Read Latency": 92.8, "Tail Read Latency": 163.5, "Average Update Latency": 102.2, "Median Update Latency": 97.7, "Tail Update Latency": 171.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 550004.9, "Average Read Latency": 14500.6, "Median Read Latency": 13658.6, "Tail Read Latency": 27834.6, "Average Update Latency": 14823.5, "Median Update Latency": 13682.6, "Tail Update Latency": 28857.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499897.1, "Average Read Latency": 5904.8, "Median Read Latency": 336.5, "Tail Read Latency": 12492.0, "Average Update Latency": 5823.8, "Median Update Latency": 323.6, "Tail Update Latency": 12487.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100029.2, "Average Read Latency": 100.2, "Median Read Latency": 92.5, "Tail Read Latency": 139.9, "Average Update Latency": 104.1, "Median Update Latency": 96.2, "Tail Update Latency": 145.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 584249.2, "Average Read Latency": 22287.2, "Median Read Latency": 13812.5, "Tail Read Latency": 249803.6, "Average Update Latency": 22244.3, "Median Update Latency": 13682.9, "Tail Update Latency": 249473.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 399981.3, "Average Read Latency": 170.0, "Median Read Latency": 122.7, "Tail Read Latency": 545.8, "Average Update Latency": 172.6, "Median Update Latency": 126.1, "Tail Update Latency": 549.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499827.2, "Average Read Latency": 9045.0, "Median Read Latency": 2913.0, "Tail Read Latency": 225288.8, "Average Update Latency": 8890.9, "Median Update Latency": 2799.4, "Tail Update Latency": 224651.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 483263.3, "Average Read Latency": 21789.5, "Median Read Latency": 11429.2, "Tail Read Latency": 259072.4, "Average Update Latency": 21923.4, "Median Update Latency": 11529.2, "Tail Update Latency": 260618.9}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200008.9, "Average Read Latency": 88.6, "Median Read Latency": 85.2, "Tail Read Latency": 137.9, "Average Update Latency": 92.2, "Median Update Latency": 88.5, "Tail Update Latency": 140.7}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100036.8, "Average Read Latency": 103.3, "Median Read Latency": 92.9, "Tail Read Latency": 145.8, "Average Update Latency": 105.5, "Median Update Latency": 96.3, "Tail Update Latency": 152.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 400004.3, "Average Read Latency": 168.4, "Median Read Latency": 120.9, "Tail Read Latency": 534.5, "Average Update Latency": 170.7, "Median Update Latency": 124.7, "Tail Update Latency": 536.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 600000, "Actual QPS": 557095.4, "Average Read Latency": 14163.2, "Median Read Latency": 13561.8, "Tail Read Latency": 27005.0, "Average Update Latency": 14356.7, "Median Update Latency": 13567.6, "Tail Update Latency": 28036.5}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 100008.2, "Average Read Latency": 99.5, "Median Read Latency": 93.7, "Tail Read Latency": 159.9, "Average Update Latency": 106.8, "Median Update Latency": 98.5, "Tail Update Latency": 167.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100011.4, "Average Read Latency": 103.7, "Median Read Latency": 92.0, "Tail Read Latency": 139.5, "Average Update Latency": 109.0, "Median Update Latency": 95.5, "Tail Update Latency": 147.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 400035.5, "Average Read Latency": 120.2, "Median Read Latency": 104.3, "Tail Read Latency": 323.6, "Average Update Latency": 122.2, "Median Update Latency": 106.6, "Tail Update Latency": 329.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 569440.4, "Average Read Latency": 12658.7, "Median Read Latency": 7668.3, "Tail Read Latency": 234282.0, "Average Update Latency": 12470.9, "Median Update Latency": 7784.6, "Tail Update Latency": 233974.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200015.1, "Average Read Latency": 104.9, "Median Read Latency": 94.1, "Tail Read Latency": 182.2, "Average Update Latency": 111.4, "Median Update Latency": 97.1, "Tail Update Latency": 187.9}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 591138.4, "Average Read Latency": 23984.3, "Median Read Latency": 15646.9, "Tail Read Latency": 260300.6, "Average Update Latency": 24000.3, "Median Update Latency": 15592.4, "Tail Update Latency": 256930.5}], ["forall-50%", "memcached forall-50%", {"Target QPS": 300000, "Actual QPS": 300044.1, "Average Read Latency": 127.8, "Median Read Latency": 108.4, "Tail Read Latency": 306.2, "Average Update Latency": 132.8, "Median Update Latency": 112.3, "Tail Update Latency": 322.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 199998.5, "Average Read Latency": 106.2, "Median Read Latency": 94.8, "Tail Read Latency": 189.6, "Average Update Latency": 110.3, "Median Update Latency": 97.9, "Tail Update Latency": 194.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 578612.9, "Average Read Latency": 14420.8, "Median Read Latency": 13124.9, "Tail Read Latency": 28436.7, "Average Update Latency": 14701.5, "Median Update Latency": 13138.2, "Tail Update Latency": 28934.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 400038.0, "Average Read Latency": 124.8, "Median Read Latency": 103.8, "Tail Read Latency": 446.5, "Average Update Latency": 127.8, "Median Update Latency": 106.3, "Tail Update Latency": 453.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400008.0, "Average Read Latency": 139.2, "Median Read Latency": 107.4, "Tail Read Latency": 552.2, "Average Update Latency": 141.9, "Median Update Latency": 110.3, "Tail Update Latency": 558.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200027.0, "Average Read Latency": 109.6, "Median Read Latency": 97.0, "Tail Read Latency": 204.3, "Average Update Latency": 113.4, "Median Update Latency": 100.1, "Tail Update Latency": 205.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 543965.9, "Average Read Latency": 14555.2, "Median Read Latency": 13958.9, "Tail Read Latency": 27680.1, "Average Update Latency": 14824.9, "Median Update Latency": 13971.3, "Tail Update Latency": 28851.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 200000, "Actual QPS": 199994.4, "Average Read Latency": 103.9, "Median Read Latency": 94.8, "Tail Read Latency": 206.7, "Average Update Latency": 105.9, "Median Update Latency": 99.1, "Tail Update Latency": 214.1}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300037.3, "Average Read Latency": 102.1, "Median Read Latency": 95.2, "Tail Read Latency": 194.8, "Average Update Latency": 105.5, "Median Update Latency": 98.6, "Tail Update Latency": 199.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499975.5, "Average Read Latency": 6117.1, "Median Read Latency": 480.4, "Tail Read Latency": 12499.6, "Average Update Latency": 6235.0, "Median Update Latency": 712.4, "Tail Update Latency": 12510.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 568353.6, "Average Read Latency": 12514.0, "Median Read Latency": 7713.3, "Tail Read Latency": 233885.2, "Average Update Latency": 12471.6, "Median Update Latency": 7799.8, "Tail Update Latency": 233991.7}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499727.4, "Average Read Latency": 9070.0, "Median Read Latency": 2285.8, "Tail Read Latency": 225220.2, "Average Update Latency": 8996.3, "Median Update Latency": 2046.5, "Tail Update Latency": 225079.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499869.8, "Average Read Latency": 8685.0, "Median Read Latency": 1882.3, "Tail Read Latency": 223718.4, "Average Update Latency": 8522.4, "Median Update Latency": 1732.4, "Tail Update Latency": 222736.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300083.0, "Average Read Latency": 103.6, "Median Read Latency": 96.5, "Tail Read Latency": 192.8, "Average Update Latency": 106.8, "Median Update Latency": 99.9, "Tail Update Latency": 198.7}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 567407.3, "Average Read Latency": 12725.4, "Median Read Latency": 7808.5, "Tail Read Latency": 234431.7, "Average Update Latency": 13132.7, "Median Update Latency": 7804.0, "Tail Update Latency": 235171.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 511885.1, "Average Read Latency": 25077.2, "Median Read Latency": 16363.0, "Tail Read Latency": 262982.0, "Average Update Latency": 25616.2, "Median Update Latency": 16378.1, "Tail Update Latency": 264838.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 199989.4, "Average Read Latency": 89.0, "Median Read Latency": 85.6, "Tail Read Latency": 138.9, "Average Update Latency": 92.4, "Median Update Latency": 88.8, "Tail Update Latency": 142.1}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400048.1, "Average Read Latency": 173.9, "Median Read Latency": 122.7, "Tail Read Latency": 563.7, "Average Update Latency": 176.5, "Median Update Latency": 126.9, "Tail Update Latency": 563.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 483966.8, "Average Read Latency": 23885.0, "Median Read Latency": 12648.8, "Tail Read Latency": 263631.6, "Average Update Latency": 24326.9, "Median Update Latency": 12661.4, "Tail Update Latency": 266594.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 536341.0, "Average Read Latency": 28597.0, "Median Read Latency": 21527.6, "Tail Read Latency": 275708.8, "Average Update Latency": 28727.0, "Median Update Latency": 21568.0, "Tail Update Latency": 274967.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 509829.2, "Average Read Latency": 28324.8, "Median Read Latency": 19055.3, "Tail Read Latency": 281871.1, "Average Update Latency": 28736.6, "Median Update Latency": 19109.1, "Tail Update Latency": 284359.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 99987.1, "Average Read Latency": 87.1, "Median Read Latency": 84.8, "Tail Read Latency": 127.1, "Average Update Latency": 91.1, "Median Update Latency": 88.9, "Tail Update Latency": 131.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300015.9, "Average Read Latency": 135.9, "Median Read Latency": 99.5, "Tail Read Latency": 295.8, "Average Update Latency": 159.6, "Median Update Latency": 101.7, "Tail Update Latency": 328.0}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 593642.5, "Average Read Latency": 21919.2, "Median Read Latency": 13361.8, "Tail Read Latency": 253322.2, "Average Update Latency": 21802.8, "Median Update Latency": 13330.3, "Tail Update Latency": 252150.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 572593.2, "Average Read Latency": 21220.9, "Median Read Latency": 7423.0, "Tail Read Latency": 447806.9, "Average Update Latency": 20438.4, "Median Update Latency": 7586.2, "Tail Update Latency": 443872.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 508188.6, "Average Read Latency": 27004.7, "Median Read Latency": 17238.0, "Tail Read Latency": 276881.7, "Average Update Latency": 27395.6, "Median Update Latency": 17215.8, "Tail Update Latency": 281479.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 556770.7, "Average Read Latency": 14393.8, "Median Read Latency": 13651.8, "Tail Read Latency": 27556.5, "Average Update Latency": 14535.6, "Median Update Latency": 13645.0, "Tail Update Latency": 28380.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499535.6, "Average Read Latency": 9184.0, "Median Read Latency": 1969.5, "Tail Read Latency": 226418.9, "Average Update Latency": 8947.8, "Median Update Latency": 1715.3, "Tail Update Latency": 224812.7}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 199975.4, "Average Read Latency": 112.0, "Median Read Latency": 94.7, "Tail Read Latency": 187.8, "Average Update Latency": 119.1, "Median Update Latency": 97.6, "Tail Update Latency": 195.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 567807.9, "Average Read Latency": 13987.1, "Median Read Latency": 13283.0, "Tail Read Latency": 27134.0, "Average Update Latency": 14275.6, "Median Update Latency": 13292.0, "Tail Update Latency": 28559.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 557839.3, "Average Read Latency": 13992.4, "Median Read Latency": 13395.7, "Tail Read Latency": 26632.4, "Average Update Latency": 14250.3, "Median Update Latency": 13403.9, "Tail Update Latency": 27735.3}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 99994.8, "Average Read Latency": 97.5, "Median Read Latency": 92.6, "Tail Read Latency": 155.5, "Average Update Latency": 103.7, "Median Update Latency": 97.2, "Tail Update Latency": 166.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 99975.0, "Average Read Latency": 102.3, "Median Read Latency": 93.1, "Tail Read Latency": 158.8, "Average Update Latency": 109.4, "Median Update Latency": 98.1, "Tail Update Latency": 170.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499913.3, "Average Read Latency": 5300.7, "Median Read Latency": 261.3, "Tail Read Latency": 12342.9, "Average Update Latency": 5381.4, "Median Update Latency": 269.6, "Tail Update Latency": 12363.5}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 482469.3, "Average Read Latency": 24036.4, "Median Read Latency": 12196.3, "Tail Read Latency": 285159.0, "Average Update Latency": 24589.0, "Median Update Latency": 12278.2, "Tail Update Latency": 316964.7}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 99989.5, "Average Read Latency": 103.1, "Median Read Latency": 92.0, "Tail Read Latency": 139.3, "Average Update Latency": 107.7, "Median Update Latency": 95.6, "Tail Update Latency": 144.4}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 591274.7, "Average Read Latency": 21306.6, "Median Read Latency": 13142.2, "Tail Read Latency": 249886.2, "Average Update Latency": 21503.0, "Median Update Latency": 13117.7, "Tail Update Latency": 252207.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499840.6, "Average Read Latency": 7395.2, "Median Read Latency": 1308.7, "Tail Read Latency": 216588.2, "Average Update Latency": 7243.8, "Median Update Latency": 1196.9, "Tail Update Latency": 205661.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299990.9, "Average Read Latency": 133.5, "Median Read Latency": 99.1, "Tail Read Latency": 277.7, "Average Update Latency": 149.1, "Median Update Latency": 101.2, "Tail Update Latency": 282.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 550344.5, "Average Read Latency": 14458.0, "Median Read Latency": 13763.5, "Tail Read Latency": 28041.7, "Average Update Latency": 14754.3, "Median Update Latency": 13777.0, "Tail Update Latency": 28873.2}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300012.4, "Average Read Latency": 127.6, "Median Read Latency": 106.5, "Tail Read Latency": 303.3, "Average Update Latency": 130.2, "Median Update Latency": 110.6, "Tail Update Latency": 312.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100029.7, "Average Read Latency": 87.5, "Median Read Latency": 85.0, "Tail Read Latency": 127.9, "Average Update Latency": 91.5, "Median Update Latency": 89.1, "Tail Update Latency": 133.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 299955.4, "Average Read Latency": 127.6, "Median Read Latency": 107.0, "Tail Read Latency": 308.6, "Average Update Latency": 131.4, "Median Update Latency": 111.2, "Tail Update Latency": 310.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 504354.1, "Average Read Latency": 23397.6, "Median Read Latency": 13297.4, "Tail Read Latency": 286658.9, "Average Update Latency": 25009.8, "Median Update Latency": 13352.4, "Tail Update Latency": 315299.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299978.3, "Average Read Latency": 140.3, "Median Read Latency": 98.7, "Tail Read Latency": 288.3, "Average Update Latency": 157.3, "Median Update Latency": 101.1, "Tail Update Latency": 303.8}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 99984.0, "Average Read Latency": 98.9, "Median Read Latency": 91.9, "Tail Read Latency": 139.3, "Average Update Latency": 105.0, "Median Update Latency": 95.5, "Tail Update Latency": 146.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100010.7, "Average Read Latency": 101.6, "Median Read Latency": 93.2, "Tail Read Latency": 162.5, "Average Update Latency": 108.6, "Median Update Latency": 97.9, "Tail Update Latency": 169.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499736.4, "Average Read Latency": 8674.9, "Median Read Latency": 1357.2, "Tail Read Latency": 223382.3, "Average Update Latency": 8710.1, "Median Update Latency": 1293.4, "Tail Update Latency": 223349.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 595153.9, "Average Read Latency": 23017.1, "Median Read Latency": 13156.5, "Tail Read Latency": 260097.9, "Average Update Latency": 23371.7, "Median Update Latency": 13242.4, "Tail Update Latency": 260826.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400035.9, "Average Read Latency": 166.0, "Median Read Latency": 121.0, "Tail Read Latency": 526.6, "Average Update Latency": 171.1, "Median Update Latency": 124.7, "Tail Update Latency": 532.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 100000, "Actual QPS": 100021.3, "Average Read Latency": 98.6, "Median Read Latency": 92.4, "Tail Read Latency": 156.4, "Average Update Latency": 105.2, "Median Update Latency": 97.2, "Tail Update Latency": 167.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 484527.5, "Average Read Latency": 23195.0, "Median Read Latency": 12556.2, "Tail Read Latency": 263788.9, "Average Update Latency": 23655.7, "Median Update Latency": 12664.8, "Tail Update Latency": 264467.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499696.4, "Average Read Latency": 8553.5, "Median Read Latency": 2549.5, "Tail Read Latency": 224837.3, "Average Update Latency": 8494.1, "Median Update Latency": 2680.2, "Tail Update Latency": 224033.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 503093.6, "Average Read Latency": 27259.9, "Median Read Latency": 14968.3, "Tail Read Latency": 302063.8, "Average Update Latency": 27562.5, "Median Update Latency": 14974.2, "Tail Update Latency": 332379.0}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 553723.6, "Average Read Latency": 14345.2, "Median Read Latency": 13735.2, "Tail Read Latency": 27670.3, "Average Update Latency": 14616.4, "Median Update Latency": 13730.6, "Tail Update Latency": 28649.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 510898.3, "Average Read Latency": 28812.9, "Median Read Latency": 20017.7, "Tail Read Latency": 281105.9, "Average Update Latency": 29089.1, "Median Update Latency": 20091.7, "Tail Update Latency": 281828.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100011.4, "Average Read Latency": 90.7, "Median Read Latency": 87.5, "Tail Read Latency": 138.3, "Average Update Latency": 95.4, "Median Update Latency": 92.9, "Tail Update Latency": 142.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499711.1, "Average Read Latency": 8327.6, "Median Read Latency": 1674.9, "Tail Read Latency": 222153.6, "Average Update Latency": 8470.2, "Median Update Latency": 1998.5, "Tail Update Latency": 222383.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 700000, "Actual QPS": 592348.9, "Average Read Latency": 22429.9, "Median Read Latency": 14535.3, "Tail Read Latency": 250032.5, "Average Update Latency": 22501.9, "Median Update Latency": 14602.4, "Tail Update Latency": 250666.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299998.2, "Average Read Latency": 111.9, "Median Read Latency": 98.4, "Tail Read Latency": 247.6, "Average Update Latency": 114.8, "Median Update Latency": 102.1, "Tail Update Latency": 250.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300043.8, "Average Read Latency": 130.5, "Median Read Latency": 99.8, "Tail Read Latency": 265.6, "Average Update Latency": 153.6, "Median Update Latency": 101.9, "Tail Update Latency": 273.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200054.2, "Average Read Latency": 89.6, "Median Read Latency": 86.0, "Tail Read Latency": 139.9, "Average Update Latency": 92.3, "Median Update Latency": 89.1, "Tail Update Latency": 142.6}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100009.6, "Average Read Latency": 89.2, "Median Read Latency": 86.5, "Tail Read Latency": 133.8, "Average Update Latency": 94.4, "Median Update Latency": 91.7, "Tail Update Latency": 140.7}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 400067.5, "Average Read Latency": 166.9, "Median Read Latency": 121.0, "Tail Read Latency": 530.1, "Average Update Latency": 169.2, "Median Update Latency": 124.6, "Tail Update Latency": 531.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 99985.0, "Average Read Latency": 103.7, "Median Read Latency": 92.5, "Tail Read Latency": 145.1, "Average Update Latency": 106.7, "Median Update Latency": 95.9, "Tail Update Latency": 151.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 572728.8, "Average Read Latency": 13951.4, "Median Read Latency": 13192.2, "Tail Read Latency": 27484.6, "Average Update Latency": 14288.4, "Median Update Latency": 13198.7, "Tail Update Latency": 28668.1}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 199978.5, "Average Read Latency": 115.6, "Median Read Latency": 96.3, "Tail Read Latency": 203.3, "Average Update Latency": 115.3, "Median Update Latency": 99.4, "Tail Update Latency": 202.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 100000, "Actual QPS": 100015.2, "Average Read Latency": 88.1, "Median Read Latency": 85.7, "Tail Read Latency": 127.7, "Average Update Latency": 92.5, "Median Update Latency": 90.2, "Tail Update Latency": 135.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200091.2, "Average Read Latency": 104.5, "Median Read Latency": 95.5, "Tail Read Latency": 208.6, "Average Update Latency": 109.8, "Median Update Latency": 99.9, "Tail Update Latency": 217.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300003.6, "Average Read Latency": 134.8, "Median Read Latency": 100.1, "Tail Read Latency": 282.5, "Average Update Latency": 153.4, "Median Update Latency": 102.0, "Tail Update Latency": 297.8}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 200006.2, "Average Read Latency": 106.2, "Median Read Latency": 95.4, "Tail Read Latency": 210.5, "Average Update Latency": 111.8, "Median Update Latency": 99.7, "Tail Update Latency": 222.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 399973.9, "Average Read Latency": 118.7, "Median Read Latency": 103.5, "Tail Read Latency": 316.0, "Average Update Latency": 121.1, "Median Update Latency": 105.8, "Tail Update Latency": 319.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 200011.6, "Average Read Latency": 108.6, "Median Read Latency": 95.5, "Tail Read Latency": 213.3, "Average Update Latency": 111.8, "Median Update Latency": 99.9, "Tail Update Latency": 220.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300010.0, "Average Read Latency": 110.0, "Median Read Latency": 97.8, "Tail Read Latency": 244.4, "Average Update Latency": 113.2, "Median Update Latency": 101.7, "Tail Update Latency": 248.2}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 567042.7, "Average Read Latency": 14566.9, "Median Read Latency": 13311.0, "Tail Read Latency": 29164.4, "Average Update Latency": 14921.2, "Median Update Latency": 13313.3, "Tail Update Latency": 30006.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 400022.8, "Average Read Latency": 167.0, "Median Read Latency": 122.1, "Tail Read Latency": 535.3, "Average Update Latency": 171.7, "Median Update Latency": 126.1, "Tail Update Latency": 544.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300050.7, "Average Read Latency": 142.8, "Median Read Latency": 99.6, "Tail Read Latency": 279.5, "Average Update Latency": 162.1, "Median Update Latency": 101.8, "Tail Update Latency": 300.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 518966.3, "Average Read Latency": 27966.2, "Median Read Latency": 18193.0, "Tail Read Latency": 290564.9, "Average Update Latency": 28624.9, "Median Update Latency": 18190.1, "Tail Update Latency": 312359.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 200000, "Actual QPS": 199976.5, "Average Read Latency": 105.5, "Median Read Latency": 94.3, "Tail Read Latency": 181.5, "Average Update Latency": 109.3, "Median Update Latency": 97.2, "Tail Update Latency": 185.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 509784.7, "Average Read Latency": 26075.9, "Median Read Latency": 15354.8, "Tail Read Latency": 289860.0, "Average Update Latency": 27012.3, "Median Update Latency": 15403.5, "Tail Update Latency": 310815.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100006.3, "Average Read Latency": 89.3, "Median Read Latency": 86.7, "Tail Read Latency": 133.5, "Average Update Latency": 94.4, "Median Update Latency": 92.0, "Tail Update Latency": 141.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 99996.1, "Average Read Latency": 100.6, "Median Read Latency": 93.1, "Tail Read Latency": 146.0, "Average Update Latency": 104.6, "Median Update Latency": 96.4, "Tail Update Latency": 151.3}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 399932.7, "Average Read Latency": 168.1, "Median Read Latency": 120.9, "Tail Read Latency": 543.3, "Average Update Latency": 172.2, "Median Update Latency": 124.6, "Tail Update Latency": 555.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 510012.0, "Average Read Latency": 27477.0, "Median Read Latency": 17810.8, "Tail Read Latency": 278074.8, "Average Update Latency": 27532.6, "Median Update Latency": 17687.6, "Tail Update Latency": 280602.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 515347.8, "Average Read Latency": 20116.5, "Median Read Latency": 13066.0, "Tail Read Latency": 250440.9, "Average Update Latency": 20195.8, "Median Update Latency": 13079.4, "Tail Update Latency": 249628.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100003.5, "Average Read Latency": 88.7, "Median Read Latency": 86.2, "Tail Read Latency": 129.9, "Average Update Latency": 93.1, "Median Update Latency": 91.1, "Tail Update Latency": 137.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 600000, "Actual QPS": 571950.4, "Average Read Latency": 14650.7, "Median Read Latency": 13266.4, "Tail Read Latency": 29087.5, "Average Update Latency": 15017.4, "Median Update Latency": 13285.8, "Tail Update Latency": 29581.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 200018.7, "Average Read Latency": 106.2, "Median Read Latency": 95.7, "Tail Read Latency": 208.7, "Average Update Latency": 112.1, "Median Update Latency": 100.1, "Tail Update Latency": 211.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 593036.8, "Average Read Latency": 23002.0, "Median Read Latency": 13835.9, "Tail Read Latency": 257390.4, "Average Update Latency": 23098.3, "Median Update Latency": 13915.7, "Tail Update Latency": 258402.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300059.8, "Average Read Latency": 161.0, "Median Read Latency": 107.5, "Tail Read Latency": 431.4, "Average Update Latency": 182.1, "Median Update Latency": 110.2, "Tail Update Latency": 545.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 570282.3, "Average Read Latency": 15444.9, "Median Read Latency": 7643.9, "Tail Read Latency": 238626.2, "Average Update Latency": 15417.3, "Median Update Latency": 7655.3, "Tail Update Latency": 238816.9}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 507995.7, "Average Read Latency": 28066.9, "Median Read Latency": 18034.8, "Tail Read Latency": 283091.8, "Average Update Latency": 28166.0, "Median Update Latency": 18205.8, "Tail Update Latency": 284140.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299952.8, "Average Read Latency": 133.1, "Median Read Latency": 98.9, "Tail Read Latency": 283.6, "Average Update Latency": 147.2, "Median Update Latency": 101.3, "Tail Update Latency": 288.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100051.3, "Average Read Latency": 101.3, "Median Read Latency": 92.5, "Tail Read Latency": 143.8, "Average Update Latency": 107.1, "Median Update Latency": 96.1, "Tail Update Latency": 151.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 700000, "Actual QPS": 547508.5, "Average Read Latency": 14252.4, "Median Read Latency": 13861.6, "Tail Read Latency": 26308.9, "Average Update Latency": 14412.6, "Median Update Latency": 13858.5, "Tail Update Latency": 27712.7}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499905.1, "Average Read Latency": 5400.3, "Median Read Latency": 278.4, "Tail Read Latency": 12363.7, "Average Update Latency": 5421.6, "Median Update Latency": 281.3, "Tail Update Latency": 12367.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 700000, "Actual QPS": 593210.9, "Average Read Latency": 23104.9, "Median Read Latency": 12907.2, "Tail Read Latency": 261884.7, "Average Update Latency": 22865.1, "Median Update Latency": 12883.0, "Tail Update Latency": 259122.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400059.0, "Average Read Latency": 168.6, "Median Read Latency": 121.9, "Tail Read Latency": 537.4, "Average Update Latency": 171.9, "Median Update Latency": 125.7, "Tail Update Latency": 539.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 399955.5, "Average Read Latency": 169.3, "Median Read Latency": 122.0, "Tail Read Latency": 557.8, "Average Update Latency": 173.4, "Median Update Latency": 125.6, "Tail Update Latency": 558.2}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 559357.5, "Average Read Latency": 14365.2, "Median Read Latency": 13492.1, "Tail Read Latency": 27795.7, "Average Update Latency": 14492.3, "Median Update Latency": 13499.8, "Tail Update Latency": 28596.9}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399945.2, "Average Read Latency": 169.2, "Median Read Latency": 121.6, "Tail Read Latency": 543.2, "Average Update Latency": 172.8, "Median Update Latency": 125.3, "Tail Update Latency": 549.2}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 300000, "Actual QPS": 299993.8, "Average Read Latency": 101.9, "Median Read Latency": 95.5, "Tail Read Latency": 190.4, "Average Update Latency": 104.7, "Median Update Latency": 98.5, "Tail Update Latency": 193.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 400046.9, "Average Read Latency": 117.4, "Median Read Latency": 103.2, "Tail Read Latency": 302.6, "Average Update Latency": 120.6, "Median Update Latency": 106.0, "Tail Update Latency": 306.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99993.1, "Average Read Latency": 101.7, "Median Read Latency": 93.3, "Tail Read Latency": 158.3, "Average Update Latency": 108.1, "Median Update Latency": 98.1, "Tail Update Latency": 168.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 506919.4, "Average Read Latency": 27024.9, "Median Read Latency": 17901.4, "Tail Read Latency": 277822.2, "Average Update Latency": 28253.5, "Median Update Latency": 18084.2, "Tail Update Latency": 286769.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 588551.6, "Average Read Latency": 25663.9, "Median Read Latency": 19961.4, "Tail Read Latency": 248767.7, "Average Update Latency": 25615.2, "Median Update Latency": 19878.6, "Tail Update Latency": 247983.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299997.0, "Average Read Latency": 138.3, "Median Read Latency": 98.9, "Tail Read Latency": 300.1, "Average Update Latency": 155.3, "Median Update Latency": 101.3, "Tail Update Latency": 306.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 99967.6, "Average Read Latency": 103.8, "Median Read Latency": 93.0, "Tail Read Latency": 141.8, "Average Update Latency": 113.5, "Median Update Latency": 97.0, "Tail Update Latency": 150.6}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 299959.8, "Average Read Latency": 102.0, "Median Read Latency": 94.9, "Tail Read Latency": 192.2, "Average Update Latency": 104.6, "Median Update Latency": 97.9, "Tail Update Latency": 195.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200025.5, "Average Read Latency": 89.0, "Median Read Latency": 85.5, "Tail Read Latency": 138.4, "Average Update Latency": 92.5, "Median Update Latency": 88.7, "Tail Update Latency": 141.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 400000, "Actual QPS": 400014.2, "Average Read Latency": 171.0, "Median Read Latency": 122.8, "Tail Read Latency": 542.9, "Average Update Latency": 174.1, "Median Update Latency": 126.5, "Tail Update Latency": 549.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300020.4, "Average Read Latency": 102.2, "Median Read Latency": 95.3, "Tail Read Latency": 192.6, "Average Update Latency": 105.2, "Median Update Latency": 98.3, "Tail Update Latency": 199.2}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 540395.5, "Average Read Latency": 14388.0, "Median Read Latency": 14022.2, "Tail Read Latency": 26389.3, "Average Update Latency": 14486.8, "Median Update Latency": 14028.8, "Tail Update Latency": 27305.8}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 399948.1, "Average Read Latency": 463.7, "Median Read Latency": 125.7, "Tail Read Latency": 8285.2, "Average Update Latency": 581.1, "Median Update Latency": 127.7, "Tail Update Latency": 11260.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 200024.4, "Average Read Latency": 88.7, "Median Read Latency": 85.6, "Tail Read Latency": 138.1, "Average Update Latency": 91.8, "Median Update Latency": 88.7, "Tail Update Latency": 141.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499650.2, "Average Read Latency": 9145.4, "Median Read Latency": 1420.0, "Tail Read Latency": 224903.5, "Average Update Latency": 9142.9, "Median Update Latency": 1580.4, "Tail Update Latency": 224532.9}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 399933.0, "Average Read Latency": 523.0, "Median Read Latency": 125.5, "Tail Read Latency": 9235.9, "Average Update Latency": 681.8, "Median Update Latency": 127.1, "Tail Update Latency": 12691.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 516308.4, "Average Read Latency": 28992.8, "Median Read Latency": 19819.7, "Tail Read Latency": 280966.7, "Average Update Latency": 29072.4, "Median Update Latency": 19788.1, "Tail Update Latency": 280297.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 484295.8, "Average Read Latency": 21919.3, "Median Read Latency": 12454.4, "Tail Read Latency": 259049.6, "Average Update Latency": 23086.6, "Median Update Latency": 12553.7, "Tail Update Latency": 264019.2}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499391.8, "Average Read Latency": 8575.9, "Median Read Latency": 1663.1, "Tail Read Latency": 223542.7, "Average Update Latency": 8506.5, "Median Update Latency": 1852.2, "Tail Update Latency": 223207.1}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299984.3, "Average Read Latency": 113.4, "Median Read Latency": 98.1, "Tail Read Latency": 250.1, "Average Update Latency": 117.0, "Median Update Latency": 101.8, "Tail Update Latency": 252.7}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 571610.8, "Average Read Latency": 12509.0, "Median Read Latency": 7345.7, "Tail Read Latency": 233702.6, "Average Update Latency": 12221.3, "Median Update Latency": 7303.4, "Tail Update Latency": 232973.2}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300079.7, "Average Read Latency": 112.4, "Median Read Latency": 98.5, "Tail Read Latency": 250.7, "Average Update Latency": 115.1, "Median Update Latency": 102.1, "Tail Update Latency": 255.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100027.0, "Average Read Latency": 102.8, "Median Read Latency": 92.1, "Tail Read Latency": 138.1, "Average Update Latency": 108.1, "Median Update Latency": 95.7, "Tail Update Latency": 147.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100009.3, "Average Read Latency": 99.1, "Median Read Latency": 93.0, "Tail Read Latency": 158.1, "Average Update Latency": 104.4, "Median Update Latency": 97.8, "Tail Update Latency": 165.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300027.2, "Average Read Latency": 104.3, "Median Read Latency": 96.9, "Tail Read Latency": 198.7, "Average Update Latency": 107.0, "Median Update Latency": 100.4, "Tail Update Latency": 200.3}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 200028.5, "Average Read Latency": 102.9, "Median Read Latency": 95.4, "Tail Read Latency": 209.4, "Average Update Latency": 106.9, "Median Update Latency": 99.7, "Tail Update Latency": 216.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 200000, "Actual QPS": 199984.2, "Average Read Latency": 105.2, "Median Read Latency": 96.3, "Tail Read Latency": 212.1, "Average Update Latency": 109.6, "Median Update Latency": 100.6, "Tail Update Latency": 215.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 300000, "Actual QPS": 300020.4, "Average Read Latency": 101.6, "Median Read Latency": 94.3, "Tail Read Latency": 191.7, "Average Update Latency": 104.7, "Median Update Latency": 97.4, "Tail Update Latency": 195.7}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 484798.9, "Average Read Latency": 23731.1, "Median Read Latency": 12548.1, "Tail Read Latency": 263798.7, "Average Update Latency": 24151.5, "Median Update Latency": 12551.6, "Tail Update Latency": 271590.0}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 600000, "Actual QPS": 503334.9, "Average Read Latency": 28757.0, "Median Read Latency": 19042.8, "Tail Read Latency": 284996.7, "Average Update Latency": 29376.6, "Median Update Latency": 19094.6, "Tail Update Latency": 290900.3}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 600000, "Actual QPS": 576317.5, "Average Read Latency": 11372.2, "Median Read Latency": 7249.5, "Tail Read Latency": 231575.4, "Average Update Latency": 11588.5, "Median Update Latency": 7376.2, "Tail Update Latency": 231991.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 100056.5, "Average Read Latency": 98.8, "Median Read Latency": 93.5, "Tail Read Latency": 162.2, "Average Update Latency": 104.9, "Median Update Latency": 98.6, "Tail Update Latency": 169.2}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200051.5, "Average Read Latency": 87.9, "Median Read Latency": 85.0, "Tail Read Latency": 135.1, "Average Update Latency": 91.0, "Median Update Latency": 87.9, "Tail Update Latency": 139.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 400000, "Actual QPS": 399925.2, "Average Read Latency": 144.2, "Median Read Latency": 108.6, "Tail Read Latency": 561.3, "Average Update Latency": 146.4, "Median Update Latency": 111.7, "Tail Update Latency": 556.9}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 300027.2, "Average Read Latency": 125.6, "Median Read Latency": 106.6, "Tail Read Latency": 305.4, "Average Update Latency": 129.0, "Median Update Latency": 111.2, "Tail Update Latency": 313.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499981.8, "Average Read Latency": 5295.5, "Median Read Latency": 239.2, "Tail Read Latency": 12399.8, "Average Update Latency": 5100.2, "Median Update Latency": 239.8, "Tail Update Latency": 12381.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400013.7, "Average Read Latency": 428.2, "Median Read Latency": 125.7, "Tail Read Latency": 7725.9, "Average Update Latency": 514.3, "Median Update Latency": 127.3, "Tail Update Latency": 9363.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499610.8, "Average Read Latency": 7725.4, "Median Read Latency": 1096.0, "Tail Read Latency": 220663.7, "Average Update Latency": 7807.8, "Median Update Latency": 1088.7, "Tail Update Latency": 220884.8}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 562262.4, "Average Read Latency": 13954.8, "Median Read Latency": 13325.2, "Tail Read Latency": 26805.6, "Average Update Latency": 14106.5, "Median Update Latency": 13324.2, "Tail Update Latency": 27459.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 565359.2, "Average Read Latency": 15355.7, "Median Read Latency": 13263.2, "Tail Read Latency": 30446.7, "Average Update Latency": 15863.4, "Median Update Latency": 13278.6, "Tail Update Latency": 36277.4}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 300042.3, "Average Read Latency": 127.2, "Median Read Latency": 106.5, "Tail Read Latency": 303.7, "Average Update Latency": 130.8, "Median Update Latency": 110.6, "Tail Update Latency": 311.5}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 510631.9, "Average Read Latency": 25996.6, "Median Read Latency": 16355.9, "Tail Read Latency": 270251.5, "Average Update Latency": 26602.6, "Median Update Latency": 16392.3, "Tail Update Latency": 276527.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 568444.9, "Average Read Latency": 12857.7, "Median Read Latency": 7437.4, "Tail Read Latency": 234820.4, "Average Update Latency": 12587.4, "Median Update Latency": 7534.6, "Tail Update Latency": 234457.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400043.2, "Average Read Latency": 470.6, "Median Read Latency": 124.7, "Tail Read Latency": 8109.4, "Average Update Latency": 622.0, "Median Update Latency": 126.5, "Tail Update Latency": 11995.9}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100000.6, "Average Read Latency": 89.6, "Median Read Latency": 86.8, "Tail Read Latency": 134.2, "Average Update Latency": 94.1, "Median Update Latency": 91.9, "Tail Update Latency": 141.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100038.7, "Average Read Latency": 98.5, "Median Read Latency": 93.1, "Tail Read Latency": 160.1, "Average Update Latency": 105.4, "Median Update Latency": 98.2, "Tail Update Latency": 167.2}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 99988.2, "Average Read Latency": 99.6, "Median Read Latency": 91.6, "Tail Read Latency": 136.6, "Average Update Latency": 103.1, "Median Update Latency": 95.2, "Tail Update Latency": 142.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 550408.4, "Average Read Latency": 14590.4, "Median Read Latency": 13852.1, "Tail Read Latency": 28401.3, "Average Update Latency": 14941.3, "Median Update Latency": 13859.7, "Tail Update Latency": 29739.4}], ["forall-03%", "memcached forall-03%", {"Target QPS": 500000, "Actual QPS": 499798.4, "Average Read Latency": 8924.3, "Median Read Latency": 2127.7, "Tail Read Latency": 225338.7, "Average Update Latency": 8786.7, "Median Update Latency": 2241.2, "Tail Update Latency": 224300.9}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 399976.6, "Average Read Latency": 118.8, "Median Read Latency": 104.2, "Tail Read Latency": 304.5, "Average Update Latency": 121.9, "Median Update Latency": 106.5, "Tail Update Latency": 308.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100020.2, "Average Read Latency": 103.1, "Median Read Latency": 93.1, "Tail Read Latency": 145.4, "Average Update Latency": 105.8, "Median Update Latency": 96.7, "Tail Update Latency": 151.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100012.9, "Average Read Latency": 102.5, "Median Read Latency": 91.5, "Tail Read Latency": 137.0, "Average Update Latency": 105.6, "Median Update Latency": 95.3, "Tail Update Latency": 142.6}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 300022.2, "Average Read Latency": 112.0, "Median Read Latency": 99.0, "Tail Read Latency": 247.7, "Average Update Latency": 115.7, "Median Update Latency": 102.4, "Tail Update Latency": 254.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 500000, "Actual QPS": 481629.1, "Average Read Latency": 20240.1, "Median Read Latency": 12284.3, "Tail Read Latency": 252510.7, "Average Update Latency": 20907.6, "Median Update Latency": 12352.3, "Tail Update Latency": 254529.6}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 590343.6, "Average Read Latency": 22679.7, "Median Read Latency": 13386.5, "Tail Read Latency": 257708.6, "Average Update Latency": 23231.8, "Median Update Latency": 13420.2, "Tail Update Latency": 257560.2}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 200000, "Actual QPS": 200010.9, "Average Read Latency": 88.4, "Median Read Latency": 85.1, "Tail Read Latency": 138.3, "Average Update Latency": 91.6, "Median Update Latency": 88.0, "Tail Update Latency": 142.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499673.3, "Average Read Latency": 9035.2, "Median Read Latency": 1348.6, "Tail Read Latency": 225757.8, "Average Update Latency": 8768.2, "Median Update Latency": 1696.9, "Tail Update Latency": 223776.0}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 200000, "Actual QPS": 200055.5, "Average Read Latency": 113.8, "Median Read Latency": 97.6, "Tail Read Latency": 210.4, "Average Update Latency": 131.0, "Median Update Latency": 101.0, "Tail Update Latency": 221.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499867.3, "Average Read Latency": 8125.2, "Median Read Latency": 1355.5, "Tail Read Latency": 221254.0, "Average Update Latency": 8165.5, "Median Update Latency": 1166.2, "Tail Update Latency": 221485.9}], ["forall-50%", "memcached forall-50%", {"Target QPS": 700000, "Actual QPS": 555677.3, "Average Read Latency": 14047.0, "Median Read Latency": 13541.2, "Tail Read Latency": 25885.7, "Average Update Latency": 14277.7, "Median Update Latency": 13555.0, "Tail Update Latency": 27197.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499947.6, "Average Read Latency": 5042.8, "Median Read Latency": 224.0, "Tail Read Latency": 12245.5, "Average Update Latency": 5012.3, "Median Update Latency": 227.5, "Tail Update Latency": 12240.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 400040.6, "Average Read Latency": 463.9, "Median Read Latency": 124.8, "Tail Read Latency": 7746.7, "Average Update Latency": 569.5, "Median Update Latency": 127.3, "Tail Update Latency": 10587.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 300000, "Actual QPS": 300010.1, "Average Read Latency": 141.1, "Median Read Latency": 98.2, "Tail Read Latency": 285.8, "Average Update Latency": 150.3, "Median Update Latency": 100.7, "Tail Update Latency": 276.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 499949.1, "Average Read Latency": 5419.5, "Median Read Latency": 300.4, "Tail Read Latency": 12423.5, "Average Update Latency": 5303.5, "Median Update Latency": 293.1, "Tail Update Latency": 12416.4}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 200018.3, "Average Read Latency": 114.8, "Median Read Latency": 97.6, "Tail Read Latency": 210.2, "Average Update Latency": 116.8, "Median Update Latency": 100.7, "Tail Update Latency": 216.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100038.2, "Average Read Latency": 104.2, "Median Read Latency": 92.9, "Tail Read Latency": 144.2, "Average Update Latency": 109.1, "Median Update Latency": 96.4, "Tail Update Latency": 152.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 484401.6, "Average Read Latency": 21558.4, "Median Read Latency": 12319.1, "Tail Read Latency": 258615.9, "Average Update Latency": 22006.2, "Median Update Latency": 12340.1, "Tail Update Latency": 258999.9}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 494690.6, "Average Read Latency": 23759.1, "Median Read Latency": 11087.7, "Tail Read Latency": 346888.3, "Average Update Latency": 24927.0, "Median Update Latency": 11301.4, "Tail Update Latency": 369641.7}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 199996.8, "Average Read Latency": 107.2, "Median Read Latency": 95.0, "Tail Read Latency": 207.0, "Average Update Latency": 109.7, "Median Update Latency": 99.5, "Tail Update Latency": 213.4}], ["forall-10%", "memcached forall-10%", {"Target QPS": 600000, "Actual QPS": 573367.3, "Average Read Latency": 14551.3, "Median Read Latency": 13211.3, "Tail Read Latency": 28953.2, "Average Update Latency": 14790.4, "Median Update Latency": 13220.3, "Tail Update Latency": 29323.9}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 100025.5, "Average Read Latency": 109.4, "Median Read Latency": 92.6, "Tail Read Latency": 146.9, "Average Update Latency": 110.9, "Median Update Latency": 96.1, "Tail Update Latency": 151.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 505302.2, "Average Read Latency": 26199.1, "Median Read Latency": 14791.3, "Tail Read Latency": 305930.9, "Average Update Latency": 26414.1, "Median Update Latency": 14803.8, "Tail Update Latency": 317169.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100041.4, "Average Read Latency": 101.6, "Median Read Latency": 92.6, "Tail Read Latency": 140.7, "Average Update Latency": 106.6, "Median Update Latency": 96.2, "Tail Update Latency": 147.8}], ["forall-05%", "memcached forall-05%", {"Target QPS": 600000, "Actual QPS": 567443.1, "Average Read Latency": 14017.1, "Median Read Latency": 13347.2, "Tail Read Latency": 28134.1, "Average Update Latency": 14276.4, "Median Update Latency": 13360.3, "Tail Update Latency": 28666.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400032.1, "Average Read Latency": 460.2, "Median Read Latency": 126.2, "Tail Read Latency": 7977.3, "Average Update Latency": 581.7, "Median Update Latency": 128.3, "Tail Update Latency": 10492.6}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 700000, "Actual QPS": 512595.1, "Average Read Latency": 24493.4, "Median Read Latency": 14093.9, "Tail Read Latency": 290183.7, "Average Update Latency": 25151.3, "Median Update Latency": 14213.1, "Tail Update Latency": 302601.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499695.4, "Average Read Latency": 8615.6, "Median Read Latency": 2196.7, "Tail Read Latency": 224396.7, "Average Update Latency": 8605.0, "Median Update Latency": 2227.1, "Tail Update Latency": 223455.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 100000, "Actual QPS": 100027.5, "Average Read Latency": 89.8, "Median Read Latency": 87.2, "Tail Read Latency": 133.3, "Average Update Latency": 94.3, "Median Update Latency": 92.4, "Tail Update Latency": 139.5}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299963.0, "Average Read Latency": 110.5, "Median Read Latency": 97.5, "Tail Read Latency": 243.5, "Average Update Latency": 114.5, "Median Update Latency": 101.3, "Tail Update Latency": 247.5}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 300012.0, "Average Read Latency": 127.5, "Median Read Latency": 99.2, "Tail Read Latency": 271.1, "Average Update Latency": 145.8, "Median Update Latency": 101.4, "Tail Update Latency": 278.4}], ["forall-05%", "memcached forall-05%", {"Target QPS": 700000, "Actual QPS": 548591.9, "Average Read Latency": 14080.5, "Median Read Latency": 13682.4, "Tail Read Latency": 26231.7, "Average Update Latency": 14162.1, "Median Update Latency": 13688.0, "Tail Update Latency": 27022.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200068.1, "Average Read Latency": 88.4, "Median Read Latency": 85.2, "Tail Read Latency": 137.6, "Average Update Latency": 91.3, "Median Update Latency": 88.2, "Tail Update Latency": 141.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300021.0, "Average Read Latency": 127.8, "Median Read Latency": 99.2, "Tail Read Latency": 267.9, "Average Update Latency": 154.2, "Median Update Latency": 101.4, "Tail Update Latency": 287.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 400078.9, "Average Read Latency": 389.8, "Median Read Latency": 126.4, "Tail Read Latency": 6878.3, "Average Update Latency": 467.9, "Median Update Latency": 127.9, "Tail Update Latency": 8047.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 500051.4, "Average Read Latency": 5447.9, "Median Read Latency": 293.6, "Tail Read Latency": 12380.8, "Average Update Latency": 5278.9, "Median Update Latency": 256.0, "Tail Update Latency": 12364.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 400000, "Actual QPS": 400019.0, "Average Read Latency": 474.7, "Median Read Latency": 125.8, "Tail Read Latency": 8413.6, "Average Update Latency": 600.8, "Median Update Latency": 127.7, "Tail Update Latency": 11595.5}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 100000, "Actual QPS": 100021.5, "Average Read Latency": 90.3, "Median Read Latency": 87.5, "Tail Read Latency": 136.7, "Average Update Latency": 95.3, "Median Update Latency": 92.9, "Tail Update Latency": 141.5}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 200000, "Actual QPS": 199977.1, "Average Read Latency": 89.2, "Median Read Latency": 86.0, "Tail Read Latency": 139.3, "Average Update Latency": 92.2, "Median Update Latency": 89.1, "Tail Update Latency": 142.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 400009.6, "Average Read Latency": 146.2, "Median Read Latency": 107.7, "Tail Read Latency": 651.1, "Average Update Latency": 149.6, "Median Update Latency": 110.5, "Tail Update Latency": 662.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 200054.7, "Average Read Latency": 113.8, "Median Read Latency": 96.5, "Tail Read Latency": 205.6, "Average Update Latency": 115.8, "Median Update Latency": 99.8, "Tail Update Latency": 206.9}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99983.4, "Average Read Latency": 99.8, "Median Read Latency": 92.8, "Tail Read Latency": 158.5, "Average Update Latency": 106.5, "Median Update Latency": 97.6, "Tail Update Latency": 169.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 200000, "Actual QPS": 200000.0, "Average Read Latency": 88.9, "Median Read Latency": 85.6, "Tail Read Latency": 138.0, "Average Update Latency": 92.1, "Median Update Latency": 88.6, "Tail Update Latency": 140.3}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 300018.8, "Average Read Latency": 132.9, "Median Read Latency": 97.8, "Tail Read Latency": 270.9, "Average Update Latency": 144.0, "Median Update Latency": 100.3, "Tail Update Latency": 277.8}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 500000, "Actual QPS": 499933.6, "Average Read Latency": 5930.6, "Median Read Latency": 294.8, "Tail Read Latency": 12498.9, "Average Update Latency": 5931.2, "Median Update Latency": 287.7, "Tail Update Latency": 12512.3}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499882.6, "Average Read Latency": 5493.3, "Median Read Latency": 227.2, "Tail Read Latency": 12458.4, "Average Update Latency": 5486.1, "Median Update Latency": 234.3, "Tail Update Latency": 12468.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 100015.1, "Average Read Latency": 89.5, "Median Read Latency": 86.6, "Tail Read Latency": 134.6, "Average Update Latency": 94.1, "Median Update Latency": 91.4, "Tail Update Latency": 142.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499714.7, "Average Read Latency": 7953.8, "Median Read Latency": 1044.3, "Tail Read Latency": 221317.9, "Average Update Latency": 7729.9, "Median Update Latency": 1112.5, "Tail Update Latency": 219424.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299938.1, "Average Read Latency": 133.1, "Median Read Latency": 100.5, "Tail Read Latency": 277.2, "Average Update Latency": 153.4, "Median Update Latency": 102.7, "Tail Update Latency": 294.5}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 299953.9, "Average Read Latency": 123.4, "Median Read Latency": 106.3, "Tail Read Latency": 299.5, "Average Update Latency": 126.9, "Median Update Latency": 110.5, "Tail Update Latency": 306.8}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 500000, "Actual QPS": 484022.8, "Average Read Latency": 20407.3, "Median Read Latency": 12564.5, "Tail Read Latency": 251713.3, "Average Update Latency": 21120.9, "Median Update Latency": 12565.5, "Tail Update Latency": 254361.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 200012.3, "Average Read Latency": 106.2, "Median Read Latency": 94.9, "Tail Read Latency": 205.7, "Average Update Latency": 108.3, "Median Update Latency": 99.0, "Tail Update Latency": 207.2}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 300000, "Actual QPS": 300035.7, "Average Read Latency": 129.7, "Median Read Latency": 99.0, "Tail Read Latency": 270.6, "Average Update Latency": 141.7, "Median Update Latency": 101.0, "Tail Update Latency": 274.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 100041.1, "Average Read Latency": 100.2, "Median Read Latency": 93.7, "Tail Read Latency": 161.9, "Average Update Latency": 104.8, "Median Update Latency": 98.8, "Tail Update Latency": 169.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99994.8, "Average Read Latency": 98.5, "Median Read Latency": 92.4, "Tail Read Latency": 157.7, "Average Update Latency": 101.3, "Median Update Latency": 97.1, "Tail Update Latency": 167.1}], ["forall-05%", "memcached forall-05%", {"Target QPS": 100000, "Actual QPS": 99997.1, "Average Read Latency": 100.5, "Median Read Latency": 93.0, "Tail Read Latency": 159.3, "Average Update Latency": 109.1, "Median Update Latency": 97.7, "Tail Update Latency": 167.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 100000, "Actual QPS": 99985.3, "Average Read Latency": 87.5, "Median Read Latency": 85.0, "Tail Read Latency": 128.7, "Average Update Latency": 92.1, "Median Update Latency": 89.4, "Tail Update Latency": 135.9}], ["forall-10%", "memcached forall-10%", {"Target QPS": 500000, "Actual QPS": 499959.9, "Average Read Latency": 8138.9, "Median Read Latency": 1398.3, "Tail Read Latency": 221246.4, "Average Update Latency": 8201.1, "Median Update Latency": 1569.4, "Tail Update Latency": 221712.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300025.9, "Average Read Latency": 101.7, "Median Read Latency": 95.3, "Tail Read Latency": 189.7, "Average Update Latency": 104.7, "Median Update Latency": 98.5, "Tail Update Latency": 194.4}], ["forall-50%", "memcached forall-50%", {"Target QPS": 400000, "Actual QPS": 400009.8, "Average Read Latency": 161.8, "Median Read Latency": 119.3, "Tail Read Latency": 513.7, "Average Update Latency": 167.2, "Median Update Latency": 123.8, "Tail Update Latency": 524.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 500000, "Actual QPS": 499489.9, "Average Read Latency": 9301.7, "Median Read Latency": 1861.8, "Tail Read Latency": 226319.3, "Average Update Latency": 9182.2, "Median Update Latency": 2184.6, "Tail Update Latency": 226013.6}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 400000, "Actual QPS": 399965.8, "Average Read Latency": 357.9, "Median Read Latency": 127.2, "Tail Read Latency": 6023.5, "Average Update Latency": 424.4, "Median Update Latency": 129.3, "Tail Update Latency": 7394.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 400000, "Actual QPS": 400014.3, "Average Read Latency": 118.4, "Median Read Latency": 103.9, "Tail Read Latency": 310.9, "Average Update Latency": 121.3, "Median Update Latency": 106.4, "Tail Update Latency": 315.3}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 508966.6, "Average Read Latency": 25190.2, "Median Read Latency": 15430.6, "Tail Read Latency": 287284.2, "Average Update Latency": 26201.8, "Median Update Latency": 15401.7, "Tail Update Latency": 305485.4}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 503720.5, "Average Read Latency": 26359.8, "Median Read Latency": 16415.9, "Tail Read Latency": 271462.3, "Average Update Latency": 26678.0, "Median Update Latency": 16411.5, "Tail Update Latency": 275260.3}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 400000, "Actual QPS": 399945.4, "Average Read Latency": 117.7, "Median Read Latency": 103.2, "Tail Read Latency": 310.7, "Average Update Latency": 120.2, "Median Update Latency": 105.7, "Tail Update Latency": 315.0}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 400000, "Actual QPS": 399999.5, "Average Read Latency": 118.0, "Median Read Latency": 104.3, "Tail Read Latency": 293.7, "Average Update Latency": 120.7, "Median Update Latency": 106.5, "Tail Update Latency": 297.7}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 100000, "Actual QPS": 99991.7, "Average Read Latency": 101.9, "Median Read Latency": 92.8, "Tail Read Latency": 144.8, "Average Update Latency": 105.4, "Median Update Latency": 96.5, "Tail Update Latency": 151.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 700000, "Actual QPS": 506441.1, "Average Read Latency": 24456.6, "Median Read Latency": 14525.2, "Tail Read Latency": 285511.2, "Average Update Latency": 25499.6, "Median Update Latency": 14606.0, "Tail Update Latency": 301393.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 299976.7, "Average Read Latency": 100.6, "Median Read Latency": 94.0, "Tail Read Latency": 188.6, "Average Update Latency": 103.6, "Median Update Latency": 96.8, "Tail Update Latency": 192.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 600000, "Actual QPS": 567696.9, "Average Read Latency": 13051.5, "Median Read Latency": 7369.8, "Tail Read Latency": 235143.3, "Average Update Latency": 12805.7, "Median Update Latency": 7364.1, "Tail Update Latency": 234237.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 300030.5, "Average Read Latency": 112.5, "Median Read Latency": 98.5, "Tail Read Latency": 247.2, "Average Update Latency": 113.2, "Median Update Latency": 102.2, "Tail Update Latency": 251.4}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 100005.2, "Average Read Latency": 100.1, "Median Read Latency": 92.1, "Tail Read Latency": 140.7, "Average Update Latency": 105.6, "Median Update Latency": 95.7, "Tail Update Latency": 146.4}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 500000, "Actual QPS": 500067.7, "Average Read Latency": 5876.7, "Median Read Latency": 366.0, "Tail Read Latency": 12507.5, "Average Update Latency": 5899.1, "Median Update Latency": 400.2, "Tail Update Latency": 12512.5}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 600000, "Actual QPS": 577266.5, "Average Read Latency": 16203.8, "Median Read Latency": 7678.8, "Tail Read Latency": 238849.1, "Average Update Latency": 15762.5, "Median Update Latency": 7713.8, "Tail Update Latency": 237505.0}], ["forall-50%", "memcached forall-50%", {"Target QPS": 500000, "Actual QPS": 499614.6, "Average Read Latency": 7856.8, "Median Read Latency": 1355.5, "Tail Read Latency": 220300.2, "Average Update Latency": 7820.4, "Median Update Latency": 1287.0, "Tail Update Latency": 219812.0}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 700000, "Actual QPS": 595738.0, "Average Read Latency": 22334.1, "Median Read Latency": 12736.1, "Tail Read Latency": 258683.6, "Average Update Latency": 21679.0, "Median Update Latency": 12755.4, "Tail Update Latency": 254913.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 200000, "Actual QPS": 200041.9, "Average Read Latency": 106.9, "Median Read Latency": 96.6, "Tail Read Latency": 205.1, "Average Update Latency": 109.5, "Median Update Latency": 99.9, "Tail Update Latency": 206.3}], ["forall-10%", "memcached forall-10%", {"Target QPS": 200000, "Actual QPS": 200030.6, "Average Read Latency": 103.5, "Median Read Latency": 94.6, "Tail Read Latency": 206.4, "Average Update Latency": 105.9, "Median Update Latency": 98.8, "Tail Update Latency": 208.6}], ["forall-05%", "memcached forall-05%", {"Target QPS": 400000, "Actual QPS": 399984.0, "Average Read Latency": 169.4, "Median Read Latency": 120.9, "Tail Read Latency": 549.8, "Average Update Latency": 174.7, "Median Update Latency": 124.9, "Tail Update Latency": 551.8}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 299997.3, "Average Read Latency": 113.3, "Median Read Latency": 98.8, "Tail Read Latency": 255.1, "Average Update Latency": 117.6, "Median Update Latency": 102.4, "Tail Update Latency": 256.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 300000, "Actual QPS": 300017.8, "Average Read Latency": 125.9, "Median Read Latency": 98.2, "Tail Read Latency": 265.5, "Average Update Latency": 143.6, "Median Update Latency": 100.7, "Tail Update Latency": 271.4}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 300000, "Actual QPS": 300022.9, "Average Read Latency": 104.1, "Median Read Latency": 95.9, "Tail Read Latency": 199.2, "Average Update Latency": 106.9, "Median Update Latency": 99.2, "Tail Update Latency": 202.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 600000, "Actual QPS": 507899.4, "Average Read Latency": 28080.1, "Median Read Latency": 18945.5, "Tail Read Latency": 275551.3, "Average Update Latency": 28358.7, "Median Update Latency": 18965.0, "Tail Update Latency": 278189.0}], ["forall-05%", "memcached forall-05%", {"Target QPS": 200000, "Actual QPS": 199977.7, "Average Read Latency": 103.6, "Median Read Latency": 95.4, "Tail Read Latency": 207.0, "Average Update Latency": 108.8, "Median Update Latency": 99.6, "Tail Update Latency": 211.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 300000, "Actual QPS": 300019.8, "Average Read Latency": 124.9, "Median Read Latency": 106.0, "Tail Read Latency": 302.2, "Average Update Latency": 127.4, "Median Update Latency": 110.4, "Tail Update Latency": 305.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 400000, "Actual QPS": 399981.9, "Average Read Latency": 468.1, "Median Read Latency": 126.0, "Tail Read Latency": 8208.7, "Average Update Latency": 579.8, "Median Update Latency": 127.7, "Tail Update Latency": 10982.7}], ["forall-10%", "memcached forall-10%", {"Target QPS": 100000, "Actual QPS": 99987.6, "Average Read Latency": 100.6, "Median Read Latency": 92.8, "Tail Read Latency": 160.4, "Average Update Latency": 106.9, "Median Update Latency": 97.7, "Tail Update Latency": 169.0}], ["forall-10%", "memcached forall-10%", {"Target QPS": 700000, "Actual QPS": 558443.6, "Average Read Latency": 14157.2, "Median Read Latency": 13584.0, "Tail Read Latency": 26641.7, "Average Update Latency": 14262.5, "Median Update Latency": 13594.7, "Tail Update Latency": 27254.7}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 200000, "Actual QPS": 199986.8, "Average Read Latency": 111.6, "Median Read Latency": 95.5, "Tail Read Latency": 195.0, "Average Update Latency": 114.5, "Median Update Latency": 98.5, "Tail Update Latency": 199.5}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 299957.6, "Average Read Latency": 102.9, "Median Read Latency": 96.4, "Tail Read Latency": 191.2, "Average Update Latency": 106.1, "Median Update Latency": 99.8, "Tail Update Latency": 196.0}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 700000, "Actual QPS": 522275.3, "Average Read Latency": 26484.1, "Median Read Latency": 17232.4, "Tail Read Latency": 272985.6, "Average Update Latency": 27297.0, "Median Update Latency": 17348.1, "Tail Update Latency": 281415.5}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 100018.0, "Average Read Latency": 98.5, "Median Read Latency": 92.4, "Tail Read Latency": 159.8, "Average Update Latency": 102.4, "Median Update Latency": 96.9, "Tail Update Latency": 167.7}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 300041.9, "Average Read Latency": 134.0, "Median Read Latency": 99.9, "Tail Read Latency": 285.3, "Average Update Latency": 156.1, "Median Update Latency": 101.8, "Tail Update Latency": 290.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 501184.2, "Average Read Latency": 21410.3, "Median Read Latency": 12462.8, "Tail Read Latency": 262047.2, "Average Update Latency": 22324.8, "Median Update Latency": 12535.7, "Tail Update Latency": 273046.2}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 100000, "Actual QPS": 100043.9, "Average Read Latency": 103.2, "Median Read Latency": 92.7, "Tail Read Latency": 140.6, "Average Update Latency": 110.7, "Median Update Latency": 96.4, "Tail Update Latency": 149.3}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200041.2, "Average Read Latency": 89.2, "Median Read Latency": 86.0, "Tail Read Latency": 138.7, "Average Update Latency": 92.5, "Median Update Latency": 89.5, "Tail Update Latency": 142.0}], ["vanilla-50%", "memcached vanilla-50%", {"Target QPS": 700000, "Actual QPS": 591067.7, "Average Read Latency": 21240.4, "Median Read Latency": 13162.0, "Tail Read Latency": 250648.8, "Average Update Latency": 21243.8, "Median Update Latency": 13138.5, "Tail Update Latency": 247645.8}], ["vanilla-10%", "memcached vanilla-10%", {"Target QPS": 200000, "Actual QPS": 200072.3, "Average Read Latency": 88.7, "Median Read Latency": 85.3, "Tail Read Latency": 138.9, "Average Update Latency": 92.4, "Median Update Latency": 88.5, "Tail Update Latency": 143.1}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 500000, "Actual QPS": 481232.7, "Average Read Latency": 22700.1, "Median Read Latency": 12996.6, "Tail Read Latency": 259052.4, "Average Update Latency": 22775.5, "Median Update Latency": 13002.3, "Tail Update Latency": 259508.6}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 500000, "Actual QPS": 499992.1, "Average Read Latency": 6241.1, "Median Read Latency": 306.7, "Tail Read Latency": 12520.0, "Average Update Latency": 6136.1, "Median Update Latency": 296.4, "Tail Update Latency": 12519.4}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 100000, "Actual QPS": 100040.2, "Average Read Latency": 97.2, "Median Read Latency": 91.6, "Tail Read Latency": 137.3, "Average Update Latency": 101.2, "Median Update Latency": 95.2, "Tail Update Latency": 143.1}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 100000, "Actual QPS": 99975.3, "Average Read Latency": 100.3, "Median Read Latency": 93.0, "Tail Read Latency": 141.3, "Average Update Latency": 111.2, "Median Update Latency": 96.5, "Tail Update Latency": 148.9}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 507283.1, "Average Read Latency": 26625.7, "Median Read Latency": 17284.3, "Tail Read Latency": 278792.4, "Average Update Latency": 27570.4, "Median Update Latency": 17347.6, "Tail Update Latency": 286627.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400006.7, "Average Read Latency": 446.7, "Median Read Latency": 130.2, "Tail Read Latency": 7936.4, "Average Update Latency": 534.0, "Median Update Latency": 133.0, "Tail Update Latency": 9307.2}], ["forall-03%", "memcached forall-03%", {"Target QPS": 100000, "Actual QPS": 99964.4, "Average Read Latency": 98.2, "Median Read Latency": 92.6, "Tail Read Latency": 159.8, "Average Update Latency": 103.2, "Median Update Latency": 96.9, "Tail Update Latency": 167.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 600000, "Actual QPS": 516477.1, "Average Read Latency": 28259.9, "Median Read Latency": 18883.1, "Tail Read Latency": 285995.9, "Average Update Latency": 29188.6, "Median Update Latency": 19032.2, "Tail Update Latency": 297574.3}], ["forall-05%", "memcached forall-05%", {"Target QPS": 300000, "Actual QPS": 299970.5, "Average Read Latency": 112.0, "Median Read Latency": 98.1, "Tail Read Latency": 247.2, "Average Update Latency": 114.5, "Median Update Latency": 101.8, "Tail Update Latency": 252.3}], ["fibre-50%", "memcached fibre-50%", {"Target QPS": 400000, "Actual QPS": 400046.7, "Average Read Latency": 394.4, "Median Read Latency": 130.8, "Tail Read Latency": 6972.3, "Average Update Latency": 465.4, "Median Update Latency": 133.0, "Tail Update Latency": 8283.6}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 700000, "Actual QPS": 511452.0, "Average Read Latency": 29471.1, "Median Read Latency": 15455.8, "Tail Read Latency": 363620.8, "Average Update Latency": 30212.1, "Median Update Latency": 15580.3, "Tail Update Latency": 379373.4}], ["vanilla-05%", "memcached vanilla-05%", {"Target QPS": 600000, "Actual QPS": 563901.6, "Average Read Latency": 18021.8, "Median Read Latency": 7991.7, "Tail Read Latency": 241978.7, "Average Update Latency": 17997.3, "Median Update Latency": 8063.6, "Tail Update Latency": 244812.0}], ["fibre-10%", "memcached fibre-10%", {"Target QPS": 600000, "Actual QPS": 508562.5, "Average Read Latency": 27365.3, "Median Read Latency": 17124.7, "Tail Read Latency": 279188.1, "Average Update Latency": 27981.1, "Median Update Latency": 17157.4, "Tail Update Latency": 282790.1}], ["fibre-03%", "memcached fibre-03%", {"Target QPS": 500000, "Actual QPS": 485273.0, "Average Read Latency": 23125.3, "Median Read Latency": 13099.0, "Tail Read Latency": 260145.4, "Average Update Latency": 23238.0, "Median Update Latency": 13095.2, "Tail Update Latency": 260391.9}], ["fibre-05%", "memcached fibre-05%", {"Target QPS": 300000, "Actual QPS": 299980.9, "Average Read Latency": 129.6, "Median Read Latency": 98.8, "Tail Read Latency": 273.2, "Average Update Latency": 153.7, "Median Update Latency": 101.1, "Tail Update Latency": 296.8}], ["vanilla-03%", "memcached vanilla-03%", {"Target QPS": 300000, "Actual QPS": 300001.1, "Average Read Latency": 101.5, "Median Read Latency": 94.6, "Tail Read Latency": 189.0, "Average Update Latency": 103.9, "Median Update Latency": 97.6, "Tail Update Latency": 190.6}], ["forall-03%", "memcached forall-03%", {"Target QPS": 300000, "Actual QPS": 299966.4, "Average Read Latency": 111.0, "Median Read Latency": 99.0, "Tail Read Latency": 250.8, "Average Update Latency": 115.0, "Median Update Latency": 102.8, "Tail Update Latency": 255.2}]]1 [["fibre", "memcached fibre", {"Update Ratio": 30, "Actual QPS": 629656.2, "Average Read Latency": 27319.8, "Median Read Latency": 22952.7, "Tail Read Latency": 246885.9, "Average Update Latency": 27991.9, "Median Update Latency": 23033.7, "Tail Update Latency": 252283.9}], ["fibre", "memcached fibre", {"Update Ratio": 20, "Actual QPS": 648887.0, "Average Read Latency": 30926.5, "Median Read Latency": 26547.5, "Tail Read Latency": 245170.2, "Average Update Latency": 31078.3, "Median Update Latency": 26466.1, "Tail Update Latency": 245702.3}], ["fibre", "memcached fibre", {"Update Ratio": 20, "Actual QPS": 659773.8, "Average Read Latency": 25337.6, "Median Read Latency": 20743.6, "Tail Read Latency": 250895.8, "Average Update Latency": 25691.3, "Median Update Latency": 20786.0, "Tail Update Latency": 252716.3}], ["forall", "memcached forall", {"Update Ratio": 20, "Actual QPS": 593242.6, "Average Read Latency": 16959.6, "Median Read Latency": 13191.5, "Tail Read Latency": 35809.5, "Average Update Latency": 17359.4, "Median Update Latency": 13176.7, "Tail Update Latency": 39772.7}], ["fibre", "memcached fibre", {"Update Ratio": 30, "Actual QPS": 632062.8, "Average Read Latency": 32964.0, "Median Read Latency": 28637.6, "Tail Read Latency": 239904.1, "Average Update Latency": 33330.3, "Median Update Latency": 28653.8, "Tail Update Latency": 245537.7}], ["vanilla", "memcached vanilla", {"Update Ratio": 30, "Actual QPS": 739300.3, "Average Read Latency": 24611.8, "Median Read Latency": 15550.2, "Tail Read Latency": 250448.4, "Average Update Latency": 24234.4, "Median Update Latency": 15504.0, "Tail Update Latency": 249174.1}], ["fibre", "memcached fibre", {"Update Ratio": 30, "Actual QPS": 635540.7, "Average Read Latency": 26437.0, "Median Read Latency": 21871.7, "Tail Read Latency": 249677.1, "Average Update Latency": 27007.6, "Median Update Latency": 21919.5, "Tail Update Latency": 254080.7}], ["fibre", "memcached fibre", {"Update Ratio": 20, "Actual QPS": 662431.5, "Average Read Latency": 28397.9, "Median Read Latency": 22980.7, "Tail Read Latency": 252279.7, "Average Update Latency": 28848.1, "Median Update Latency": 22954.0, "Tail Update Latency": 256070.8}], ["vanilla", "memcached vanilla", {"Update Ratio": 5, "Actual QPS": 771468.6, "Average Read Latency": 21535.3, "Median Read Latency": 11447.2, "Tail Read Latency": 239536.3, "Average Update Latency": 21420.0, "Median Update Latency": 11457.2, "Tail Update Latency": 239594.8}], ["fibre", "memcached fibre", {"Update Ratio": 10, "Actual QPS": 671082.4, "Average Read Latency": 30220.6, "Median Read Latency": 24900.7, "Tail Read Latency": 254034.5, "Average Update Latency": 30377.6, "Median Update Latency": 24913.7, "Tail Update Latency": 255033.5}], ["fibre", "memcached fibre", {"Update Ratio": 10, "Actual QPS": 672847.0, "Average Read Latency": 31129.7, "Median Read Latency": 27301.0, "Tail Read Latency": 92314.4, "Average Update Latency": 31493.5, "Median Update Latency": 27378.8, "Tail Update Latency": 222712.9}], ["fibre", "memcached fibre", {"Update Ratio": 5, "Actual QPS": 684419.5, "Average Read Latency": 34114.6, "Median Read Latency": 29765.8, "Tail Read Latency": 257535.6, "Average Update Latency": 34848.1, "Median Update Latency": 29566.2, "Tail Update Latency": 264376.6}], ["vanilla", "memcached vanilla", {"Update Ratio": 10, "Actual QPS": 764493.6, "Average Read Latency": 22398.2, "Median Read Latency": 12207.4, "Tail Read Latency": 242402.3, "Average Update Latency": 22038.2, "Median Update Latency": 12234.9, "Tail Update Latency": 240284.4}], ["fibre", "memcached fibre", {"Update Ratio": 40, "Actual QPS": 608626.8, "Average Read Latency": 30286.6, "Median Read Latency": 25633.0, "Tail Read Latency": 240653.7, "Average Update Latency": 30652.8, "Median Update Latency": 25603.9, "Tail Update Latency": 246478.7}], ["vanilla", "memcached vanilla", {"Update Ratio": 50, "Actual QPS": 686252.6, "Average Read Latency": 31374.4, "Median Read Latency": 30501.6, "Tail Read Latency": 63738.2, "Average Update Latency": 31347.0, "Median Update Latency": 30428.1, "Tail Update Latency": 63812.1}], ["forall", "memcached forall", {"Update Ratio": 10, "Actual QPS": 595821.8, "Average Read Latency": 16941.1, "Median Read Latency": 13280.7, "Tail Read Latency": 36355.4, "Average Update Latency": 17445.3, "Median Update Latency": 13307.1, "Tail Update Latency": 39244.2}], ["forall", "memcached forall", {"Update Ratio": 15, "Actual QPS": 590278.9, "Average Read Latency": 16989.3, "Median Read Latency": 13312.9, "Tail Read Latency": 37996.6, "Average Update Latency": 17547.9, "Median Update Latency": 13344.8, "Tail Update Latency": 39578.1}], ["fibre", "memcached fibre", {"Update Ratio": 40, "Actual QPS": 619433.4, "Average Read Latency": 30159.8, "Median Read Latency": 25357.0, "Tail Read Latency": 251306.7, "Average Update Latency": 30411.0, "Median Update Latency": 25361.7, "Tail Update Latency": 254805.8}], ["forall", "memcached forall", {"Update Ratio": 5, "Actual QPS": 593761.3, "Average Read Latency": 16959.6, "Median Read Latency": 13400.4, "Tail Read Latency": 47335.2, "Average Update Latency": 17053.7, "Median Update Latency": 13376.7, "Tail Update Latency": 42239.3}], ["forall", "memcached forall", {"Update Ratio": 10, "Actual QPS": 597040.0, "Average Read Latency": 17352.0, "Median Read Latency": 12940.7, "Tail Read Latency": 65486.0, "Average Update Latency": 17545.6, "Median Update Latency": 12969.6, "Tail Update Latency": 92147.2}], ["forall", "memcached forall", {"Update Ratio": 40, "Actual QPS": 587327.3, "Average Read Latency": 14420.7, "Median Read Latency": 13053.8, "Tail Read Latency": 28889.7, "Average Update Latency": 14766.7, "Median Update Latency": 13061.8, "Tail Update Latency": 29130.7}], ["fibre", "memcached fibre", {"Update Ratio": 50, "Actual QPS": 619688.5, "Average Read Latency": 26716.2, "Median Read Latency": 22403.5, "Tail Read Latency": 245740.0, "Average Update Latency": 27090.3, "Median Update Latency": 22366.9, "Tail Update Latency": 248135.7}], ["vanilla", "memcached vanilla", {"Update Ratio": 5, "Actual QPS": 765840.6, "Average Read Latency": 22396.6, "Median Read Latency": 12223.6, "Tail Read Latency": 242722.6, "Average Update Latency": 23164.3, "Median Update Latency": 12122.3, "Tail Update Latency": 246732.7}], ["vanilla", "memcached vanilla", {"Update Ratio": 15, "Actual QPS": 754242.6, "Average Read Latency": 22345.6, "Median Read Latency": 13000.6, "Tail Read Latency": 242559.2, "Average Update Latency": 21803.8, "Median Update Latency": 13027.6, "Tail Update Latency": 240360.2}], ["vanilla", "memcached vanilla", {"Update Ratio": 20, "Actual QPS": 750259.1, "Average Read Latency": 22937.1, "Median Read Latency": 13719.7, "Tail Read Latency": 246024.2, "Average Update Latency": 23195.7, "Median Update Latency": 13716.5, "Tail Update Latency": 247084.9}], ["vanilla", "memcached vanilla", {"Update Ratio": 10, "Actual QPS": 761986.1, "Average Read Latency": 21767.5, "Median Read Latency": 12522.9, "Tail Read Latency": 240214.6, "Average Update Latency": 21621.3, "Median Update Latency": 12541.2, "Tail Update Latency": 239749.6}], ["forall", "memcached forall", {"Update Ratio": 50, "Actual QPS": 566851.8, "Average Read Latency": 14265.5, "Median Read Latency": 13544.1, "Tail Read Latency": 27746.8, "Average Update Latency": 14507.3, "Median Update Latency": 13553.5, "Tail Update Latency": 28471.6}], ["vanilla", "memcached vanilla", {"Update Ratio": 50, "Actual QPS": 708028.0, "Average Read Latency": 29145.3, "Median Read Latency": 23983.1, "Tail Read Latency": 237401.9, "Average Update Latency": 29124.0, "Median Update Latency": 24027.6, "Tail Update Latency": 235432.4}], ["forall", "memcached forall", {"Update Ratio": 5, "Actual QPS": 597227.5, "Average Read Latency": 17511.6, "Median Read Latency": 13228.9, "Tail Read Latency": 58767.4, "Average Update Latency": 18215.1, "Median Update Latency": 13249.5, "Tail Update Latency": 81599.3}], ["fibre", "memcached fibre", {"Update Ratio": 50, "Actual QPS": 599839.9, "Average Read Latency": 26555.1, "Median Read Latency": 21691.3, "Tail Read Latency": 245066.2, "Average Update Latency": 27096.6, "Median Update Latency": 21758.1, "Tail Update Latency": 248899.9}], ["forall", "memcached forall", {"Update Ratio": 15, "Actual QPS": 594852.2, "Average Read Latency": 17337.0, "Median Read Latency": 13137.9, "Tail Read Latency": 37979.0, "Average Update Latency": 17635.4, "Median Update Latency": 13176.4, "Tail Update Latency": 48130.7}], ["vanilla", "memcached vanilla", {"Update Ratio": 40, "Actual QPS": 718833.1, "Average Read Latency": 27863.0, "Median Read Latency": 22526.4, "Tail Read Latency": 245434.6, "Average Update Latency": 27699.5, "Median Update Latency": 22539.8, "Tail Update Latency": 243109.8}], ["fibre", "memcached fibre", {"Update Ratio": 40, "Actual QPS": 628507.6, "Average Read Latency": 28670.7, "Median Read Latency": 24369.4, "Tail Read Latency": 249240.9, "Average Update Latency": 28858.2, "Median Update Latency": 24429.6, "Tail Update Latency": 249891.7}], ["fibre", "memcached fibre", {"Update Ratio": 10, "Actual QPS": 666251.9, "Average Read Latency": 28297.4, "Median Read Latency": 24552.7, "Tail Read Latency": 76372.4, "Average Update Latency": 28566.0, "Median Update Latency": 24466.9, "Tail Update Latency": 90321.1}], ["vanilla", "memcached vanilla", {"Update Ratio": 20, "Actual QPS": 752354.4, "Average Read Latency": 23536.8, "Median Read Latency": 13936.7, "Tail Read Latency": 248639.8, "Average Update Latency": 23798.2, "Median Update Latency": 14040.6, "Tail Update Latency": 247961.7}], ["forall", "memcached forall", {"Update Ratio": 50, "Actual QPS": 565950.3, "Average Read Latency": 14232.6, "Median Read Latency": 13373.6, "Tail Read Latency": 26848.2, "Average Update Latency": 14466.4, "Median Update Latency": 13384.9, "Tail Update Latency": 27958.6}], ["fibre", "memcached fibre", {"Update Ratio": 15, "Actual QPS": 674044.3, "Average Read Latency": 29547.1, "Median Read Latency": 23376.7, "Tail Read Latency": 257169.3, "Average Update Latency": 30137.2, "Median Update Latency": 23423.1, "Tail Update Latency": 262729.5}], ["forall", "memcached forall", {"Update Ratio": 10, "Actual QPS": 589565.9, "Average Read Latency": 16941.2, "Median Read Latency": 13278.3, "Tail Read Latency": 40040.0, "Average Update Latency": 17308.7, "Median Update Latency": 13285.2, "Tail Update Latency": 44209.1}], ["fibre", "memcached fibre", {"Update Ratio": 50, "Actual QPS": 609521.3, "Average Read Latency": 31260.8, "Median Read Latency": 26017.5, "Tail Read Latency": 255078.0, "Average Update Latency": 31635.9, "Median Update Latency": 26086.2, "Tail Update Latency": 256862.8}], ["vanilla", "memcached vanilla", {"Update Ratio": 5, "Actual QPS": 767111.6, "Average Read Latency": 21590.9, "Median Read Latency": 11566.7, "Tail Read Latency": 239628.7, "Average Update Latency": 21399.7, "Median Update Latency": 11585.0, "Tail Update Latency": 239823.6}], ["forall", "memcached forall", {"Update Ratio": 5, "Actual QPS": 599244.3, "Average Read Latency": 17045.5, "Median Read Latency": 13243.6, "Tail Read Latency": 48650.1, "Average Update Latency": 16998.4, "Median Update Latency": 13280.5, "Tail Update Latency": 49466.4}], ["forall", "memcached forall", {"Update Ratio": 15, "Actual QPS": 592856.6, "Average Read Latency": 16172.7, "Median Read Latency": 13278.0, "Tail Read Latency": 31872.0, "Average Update Latency": 16571.3, "Median Update Latency": 13296.0, "Tail Update Latency": 33983.7}], ["fibre", "memcached fibre", {"Update Ratio": 15, "Actual QPS": 662998.4, "Average Read Latency": 26400.5, "Median Read Latency": 22183.5, "Tail Read Latency": 247443.9, "Average Update Latency": 26822.0, "Median Update Latency": 22267.6, "Tail Update Latency": 250068.2}], ["vanilla", "memcached vanilla", {"Update Ratio": 20, "Actual QPS": 748345.8, "Average Read Latency": 23985.2, "Median Read Latency": 14548.6, "Tail Read Latency": 249111.8, "Average Update Latency": 24053.4, "Median Update Latency": 14609.1, "Tail Update Latency": 249310.7}], ["fibre", "memcached fibre", {"Update Ratio": 5, "Actual QPS": 685611.1, "Average Read Latency": 33820.8, "Median Read Latency": 29843.9, "Tail Read Latency": 249003.5, "Average Update Latency": 34612.2, "Median Update Latency": 29937.2, "Tail Update Latency": 265505.6}], ["fibre", "memcached fibre", {"Update Ratio": 5, "Actual QPS": 685539.2, "Average Read Latency": 37016.3, "Median Read Latency": 32225.9, "Tail Read Latency": 263388.6, "Average Update Latency": 37284.7, "Median Update Latency": 32289.9, "Tail Update Latency": 262337.2}], ["forall", "memcached forall", {"Update Ratio": 30, "Actual QPS": 591380.5, "Average Read Latency": 17979.5, "Median Read Latency": 13499.7, "Tail Read Latency": 33487.1, "Average Update Latency": 18303.9, "Median Update Latency": 13523.5, "Tail Update Latency": 38051.2}], ["forall", "memcached forall", {"Update Ratio": 20, "Actual QPS": 593734.3, "Average Read Latency": 16688.8, "Median Read Latency": 13365.9, "Tail Read Latency": 30994.1, "Average Update Latency": 16892.2, "Median Update Latency": 13374.8, "Tail Update Latency": 32244.0}], ["vanilla", "memcached vanilla", {"Update Ratio": 10, "Actual QPS": 761087.3, "Average Read Latency": 22618.8, "Median Read Latency": 12952.0, "Tail Read Latency": 244425.0, "Average Update Latency": 22239.2, "Median Update Latency": 12910.4, "Tail Update Latency": 241797.4}], ["vanilla", "memcached vanilla", {"Update Ratio": 50, "Actual QPS": 689123.1, "Average Read Latency": 31148.1, "Median Read Latency": 29977.4, "Tail Read Latency": 65004.9, "Average Update Latency": 31122.1, "Median Update Latency": 30043.8, "Tail Update Latency": 64488.0}], ["forall", "memcached forall", {"Update Ratio": 20, "Actual QPS": 586549.0, "Average Read Latency": 15286.4, "Median Read Latency": 13246.3, "Tail Read Latency": 30564.7, "Average Update Latency": 16016.0, "Median Update Latency": 13256.5, "Tail Update Latency": 32001.1}], ["vanilla", "memcached vanilla", {"Update Ratio": 15, "Actual QPS": 759348.9, "Average Read Latency": 22876.0, "Median Read Latency": 12931.3, "Tail Read Latency": 244584.8, "Average Update Latency": 22772.0, "Median Update Latency": 12963.1, "Tail Update Latency": 244540.3}], ["forall", "memcached forall", {"Update Ratio": 30, "Actual QPS": 590171.0, "Average Read Latency": 17542.8, "Median Read Latency": 13058.2, "Tail Read Latency": 37919.8, "Average Update Latency": 17986.1, "Median Update Latency": 13075.7, "Tail Update Latency": 47181.7}], ["vanilla", "memcached vanilla", {"Update Ratio": 30, "Actual QPS": 736755.8, "Average Read Latency": 25724.9, "Median Read Latency": 17214.0, "Tail Read Latency": 251561.3, "Average Update Latency": 25647.4, "Median Update Latency": 17123.3, "Tail Update Latency": 251594.7}], ["forall", "memcached forall", {"Update Ratio": 40, "Actual QPS": 594613.0, "Average Read Latency": 15627.5, "Median Read Latency": 13012.1, "Tail Read Latency": 29321.6, "Average Update Latency": 15866.2, "Median Update Latency": 13034.3, "Tail Update Latency": 29997.2}], ["vanilla", "memcached vanilla", {"Update Ratio": 15, "Actual QPS": 753799.1, "Average Read Latency": 22983.2, "Median Read Latency": 13361.2, "Tail Read Latency": 245494.2, "Average Update Latency": 23014.0, "Median Update Latency": 13407.2, "Tail Update Latency": 245242.0}], ["fibre", "memcached fibre", {"Update Ratio": 15, "Actual QPS": 659243.2, "Average Read Latency": 27600.4, "Median Read Latency": 23642.4, "Tail Read Latency": 75626.1, "Average Update Latency": 28038.3, "Median Update Latency": 23443.4, "Tail Update Latency": 135871.1}], ["forall", "memcached forall", {"Update Ratio": 50, "Actual QPS": 583513.8, "Average Read Latency": 15354.0, "Median Read Latency": 13050.8, "Tail Read Latency": 29195.2, "Average Update Latency": 15693.2, "Median Update Latency": 13051.2, "Tail Update Latency": 29477.5}], ["forall", "memcached forall", {"Update Ratio": 40, "Actual QPS": 588410.8, "Average Read Latency": 17002.9, "Median Read Latency": 13316.4, "Tail Read Latency": 29604.6, "Average Update Latency": 17357.7, "Median Update Latency": 13320.0, "Tail Update Latency": 31441.1}], ["vanilla", "memcached vanilla", {"Update Ratio": 40, "Actual QPS": 716262.2, "Average Read Latency": 28975.9, "Median Read Latency": 25327.0, "Tail Read Latency": 228397.2, "Average Update Latency": 29063.3, "Median Update Latency": 25431.2, "Tail Update Latency": 228666.6}], ["vanilla", "memcached vanilla", {"Update Ratio": 30, "Actual QPS": 742447.9, "Average Read Latency": 24479.8, "Median Read Latency": 14438.4, "Tail Read Latency": 251570.6, "Average Update Latency": 24354.2, "Median Update Latency": 14496.9, "Tail Update Latency": 250835.7}], ["forall", "memcached forall", {"Update Ratio": 30, "Actual QPS": 583473.1, "Average Read Latency": 15821.5, "Median Read Latency": 13189.8, "Tail Read Latency": 30907.0, "Average Update Latency": 16668.2, "Median Update Latency": 13208.3, "Tail Update Latency": 33617.6}], ["vanilla", "memcached vanilla", {"Update Ratio": 40, "Actual QPS": 735416.8, "Average Read Latency": 24244.3, "Median Read Latency": 13281.7, "Tail Read Latency": 254833.8, "Average Update Latency": 24481.9, "Median Update Latency": 13318.5, "Tail Update Latency": 254867.7}]] -
doc/theses/thierry_delisle_PhD/thesis/data/yield.jax
r4520b77e r12df6fe 1 [["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30013.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1524198901.0, "Ops per second": 50806630.0, "ns per ops": 19.0, "Ops per threads": 635082.0, "Ops per procs": 63508287.0, "Ops/sec/procs": 2116942.0, "ns per ops/procs": 472.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30021.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1647763187.0, "Ops per second": 54925439.0, "ns per ops": 18.0, "Ops per threads": 686567.0, "Ops per procs": 68656799.0, "Ops/sec/procs": 2288559.0, "ns per ops/procs": 437.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1286467979.0, "Ops per second": 42841170.98, "ns per ops": 23.34, "Ops per threads": 1608084.0, "Ops per procs": 160808497.0, "Ops/sec/procs": 5355146.37, "ns per ops/procs": 186.74}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217569556.0, "Ops per second": 7252318.53, "ns per ops": 138.12, "Ops per threads": 2175695.0, "Ops per procs": 217569556.0, "Ops/sec/procs": 7252318.53, "ns per ops/procs": 138.12}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30100.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 529747506.0, "Ops per second": 17658250.0, "ns per ops": 56.0, "Ops per threads": 73576.0, "Ops per procs": 7357604.0, "Ops/sec/procs": 245253.0, "ns per ops/procs": 4091.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3459578347.0, "Ops per second": 115196108.04, "ns per ops": 8.68, "Ops per threads": 2162236.0, "Ops per procs": 216223646.0, "Ops/sec/procs": 7199756.75, "ns per ops/procs": 138.89}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 370889307.0, "Ops per second": 12362976.0, "ns per ops": 81.0, "Ops per threads": 1854446.0, "Ops per procs": 185444653.0, "Ops/sec/procs": 6181488.0, "ns per ops/procs": 162.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30092.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10383429506.0, "Ops per second": 345045607.23, "ns per ops": 2.9, "Ops per threads": 1442142.0, "Ops per procs": 144214298.0, "Ops/sec/procs": 4792300.1, "ns per ops/procs": 208.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30017.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10433330828.0, "Ops per second": 347573509.01, "ns per ops": 2.88, "Ops per threads": 1449073.0, "Ops per procs": 144907372.0, "Ops/sec/procs": 4827409.85, "ns per ops/procs": 207.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4304000687.0, "Ops per second": 143466689.57, "ns per ops": 6.98, "Ops per threads": 896666.0, "Ops per procs": 89666680.0, "Ops/sec/procs": 2988889.37, "ns per ops/procs": 335.16}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 71476691.0, "Ops per second": 2381809.29, "ns per ops": 419.85, "Ops per threads": 29781.0, "Ops per procs": 2978195.0, "Ops/sec/procs": 99242.05, "ns per ops/procs": 10076.37}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2141199531.0, "Ops per second": 71373317.7, "ns per ops": 14.05, "Ops per threads": 1338249.0, "Ops per procs": 133824970.0, "Ops/sec/procs": 4460832.36, "ns per ops/procs": 224.75}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6503076181.0, "Ops per second": 216769206.03, "ns per ops": 4.63, "Ops per threads": 903205.0, "Ops per procs": 90320502.0, "Ops/sec/procs": 3010683.42, "ns per ops/procs": 333.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17574119536.0, "Ops per second": 585803984.53, "ns per ops": 1.71, "Ops per threads": 915318.0, "Ops per procs": 91531872.0, "Ops/sec/procs": 3051062.42, "ns per ops/procs": 328.06}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 560317381.0, "Ops per second": 18677246.0, "ns per ops": 53.0, "Ops per threads": 1400793.0, "Ops per procs": 140079345.0, "Ops/sec/procs": 4669311.0, "ns per ops/procs": 214.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77369142.0, "Ops per second": 2578291.11, "ns per ops": 387.85, "Ops per threads": 48355.0, "Ops per procs": 4835571.0, "Ops/sec/procs": 161143.19, "ns per ops/procs": 6205.66}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 971524584.0, "Ops per second": 32384152.0, "ns per ops": 30.0, "Ops per threads": 1214405.0, "Ops per procs": 121440573.0, "Ops/sec/procs": 4048019.0, "ns per ops/procs": 247.0}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30022.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67484348.0, "Ops per second": 2247786.04, "ns per ops": 444.88, "Ops per threads": 14059.0, "Ops per procs": 1405923.0, "Ops/sec/procs": 46828.88, "ns per ops/procs": 21354.35}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2149923279.0, "Ops per second": 71664109.3, "ns per ops": 13.99, "Ops per threads": 1343702.0, "Ops per procs": 134370204.0, "Ops/sec/procs": 4479006.83, "ns per ops/procs": 223.84}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30081.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6536575073.0, "Ops per second": 217292656.37, "ns per ops": 4.6, "Ops per threads": 1361786.0, "Ops per procs": 136178647.0, "Ops/sec/procs": 4526930.34, "ns per ops/procs": 220.9}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30033.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6584661335.0, "Ops per second": 219241547.4, "ns per ops": 4.56, "Ops per threads": 1371804.0, "Ops per procs": 137180444.0, "Ops/sec/procs": 4567532.24, "ns per ops/procs": 218.94}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 72081291.0, "Ops per second": 2402125.61, "ns per ops": 416.3, "Ops per threads": 30033.0, "Ops per procs": 3003387.0, "Ops/sec/procs": 100088.57, "ns per ops/procs": 9991.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217360154.0, "Ops per second": 7245338.47, "ns per ops": 138.25, "Ops per threads": 2173601.0, "Ops per procs": 217360154.0, "Ops/sec/procs": 7245338.47, "ns per ops/procs": 138.25}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 388046191.0, "Ops per second": 12934873.0, "ns per ops": 77.0, "Ops per threads": 1940230.0, "Ops per procs": 194023095.0, "Ops/sec/procs": 6467436.0, "ns per ops/procs": 155.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4312137554.0, "Ops per second": 143737918.47, "ns per ops": 6.97, "Ops per threads": 898361.0, "Ops per procs": 89836199.0, "Ops/sec/procs": 2994539.97, "ns per ops/procs": 334.65}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17533818565.0, "Ops per second": 584460618.83, "ns per ops": 1.71, "Ops per threads": 913219.0, "Ops per procs": 91321971.0, "Ops/sec/procs": 3044065.72, "ns per ops/procs": 328.79}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30032.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 301189491.0, "Ops per second": 10039649.0, "ns per ops": 99.0, "Ops per threads": 20915.0, "Ops per procs": 2091593.0, "Ops/sec/procs": 69719.0, "ns per ops/procs": 14358.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 568098502.0, "Ops per second": 18936616.73, "ns per ops": 52.9, "Ops per threads": 1420246.0, "Ops per procs": 142024625.0, "Ops/sec/procs": 4734154.18, "ns per ops/procs": 211.62}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30087.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30178268.0, "Ops per second": 1003033.39, "ns per ops": 996.98, "Ops per threads": 2095.0, "Ops per procs": 209571.0, "Ops/sec/procs": 6965.51, "ns per ops/procs": 143564.51}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2162319177.0, "Ops per second": 72077305.9, "ns per ops": 13.91, "Ops per threads": 1351449.0, "Ops per procs": 135144948.0, "Ops/sec/procs": 4504831.62, "ns per ops/procs": 222.55}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30034.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27481947.0, "Ops per second": 915020.5, "ns per ops": 1092.87, "Ops per threads": 1431.0, "Ops per procs": 143135.0, "Ops/sec/procs": 4765.73, "ns per ops/procs": 209831.37}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30018.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4404828820.0, "Ops per second": 146737094.38, "ns per ops": 6.81, "Ops per threads": 1835345.0, "Ops per procs": 183534534.0, "Ops/sec/procs": 6114045.6, "ns per ops/procs": 163.56}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6583419059.0, "Ops per second": 219447301.97, "ns per ops": 4.56, "Ops per threads": 914363.0, "Ops per procs": 91436375.0, "Ops/sec/procs": 3047879.19, "ns per ops/procs": 328.19}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30070.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 572622583.0, "Ops per second": 19087419.0, "ns per ops": 52.0, "Ops per threads": 79530.0, "Ops per procs": 7953091.0, "Ops/sec/procs": 265103.0, "ns per ops/procs": 3780.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30060.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6561452892.0, "Ops per second": 218275581.67, "ns per ops": 4.58, "Ops per threads": 1366969.0, "Ops per procs": 136696935.0, "Ops/sec/procs": 4547407.95, "ns per ops/procs": 219.91}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 364297806.0, "Ops per second": 12143260.0, "ns per ops": 82.0, "Ops per threads": 1821489.0, "Ops per procs": 182148903.0, "Ops/sec/procs": 6071630.0, "ns per ops/procs": 165.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30032.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6559306663.0, "Ops per second": 218406116.22, "ns per ops": 4.58, "Ops per threads": 1366522.0, "Ops per procs": 136652222.0, "Ops/sec/procs": 4550127.42, "ns per ops/procs": 219.77}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77847861.0, "Ops per second": 2594262.52, "ns per ops": 385.47, "Ops per threads": 48654.0, "Ops per procs": 4865491.0, "Ops/sec/procs": 162141.41, "ns per ops/procs": 6167.46}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30016.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13237635607.0, "Ops per second": 441012358.7, "ns per ops": 2.27, "Ops per threads": 1378920.0, "Ops per procs": 137892037.0, "Ops/sec/procs": 4593878.74, "ns per ops/procs": 217.68}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30080.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 297542805.0, "Ops per second": 9918093.0, "ns per ops": 101.0, "Ops per threads": 20662.0, "Ops per procs": 2066269.0, "Ops/sec/procs": 68875.0, "ns per ops/procs": 14557.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12837710040.0, "Ops per second": 427923668.0, "ns per ops": 2.34, "Ops per threads": 891507.0, "Ops per procs": 89150764.0, "Ops/sec/procs": 2971692.14, "ns per ops/procs": 336.84}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30090.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 25926148.0, "Ops per second": 861595.2, "ns per ops": 1160.64, "Ops per threads": 1350.0, "Ops per procs": 135032.0, "Ops/sec/procs": 4487.48, "ns per ops/procs": 222842.47}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13238180866.0, "Ops per second": 440987305.78, "ns per ops": 2.27, "Ops per threads": 1378977.0, "Ops per procs": 137897717.0, "Ops/sec/procs": 4593617.77, "ns per ops/procs": 217.69}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92582575.0, "Ops per second": 3085440.51, "ns per ops": 324.1, "Ops per threads": 115728.0, "Ops per procs": 11572821.0, "Ops/sec/procs": 385680.06, "ns per ops/procs": 2592.82}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 69824862.0, "Ops per second": 2326904.32, "ns per ops": 429.76, "Ops per threads": 29093.0, "Ops per procs": 2909369.0, "Ops/sec/procs": 96954.35, "ns per ops/procs": 10314.13}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 174858150.0, "Ops per second": 5827747.59, "ns per ops": 171.59, "Ops per threads": 874290.0, "Ops per procs": 87429075.0, "Ops/sec/procs": 2913873.79, "ns per ops/procs": 343.19}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 35747088.0, "Ops per second": 1190289.87, "ns per ops": 840.13, "Ops per threads": 4964.0, "Ops per procs": 496487.0, "Ops/sec/procs": 16531.8, "ns per ops/procs": 60489.47}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 68229333.0, "Ops per second": 2272724.7, "ns per ops": 440.0, "Ops per threads": 14214.0, "Ops per procs": 1421444.0, "Ops/sec/procs": 47348.43, "ns per ops/procs": 21120.02}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 574557348.0, "Ops per second": 19151911.6, "ns per ops": 52.31, "Ops per threads": 1436393.0, "Ops per procs": 143639337.0, "Ops/sec/procs": 4787977.9, "ns per ops/procs": 209.24}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 176296287.0, "Ops per second": 5875653.96, "ns per ops": 170.19, "Ops per threads": 881481.0, "Ops per procs": 88148143.0, "Ops/sec/procs": 2937826.98, "ns per ops/procs": 340.39}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 704355144.0, "Ops per second": 23455563.61, "ns per ops": 42.63, "Ops per threads": 1760887.0, "Ops per procs": 176088786.0, "Ops/sec/procs": 5863890.9, "ns per ops/procs": 170.54}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 164333836.0, "Ops per second": 5476981.0, "ns per ops": 182.58, "Ops per threads": 821669.0, "Ops per procs": 82166918.0, "Ops/sec/procs": 2738490.5, "ns per ops/procs": 365.16}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10372581494.0, "Ops per second": 344628717.75, "ns per ops": 2.9, "Ops per threads": 1440636.0, "Ops per procs": 144063631.0, "Ops/sec/procs": 4786509.97, "ns per ops/procs": 208.92}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30005.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 116666322.0, "Ops per second": 3888227.48, "ns per ops": 257.19, "Ops per threads": 291665.0, "Ops per procs": 29166580.0, "Ops/sec/procs": 972056.87, "ns per ops/procs": 1028.75}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30062.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 545115531.0, "Ops per second": 18170517.0, "ns per ops": 55.0, "Ops per threads": 56782.0, "Ops per procs": 5678286.0, "Ops/sec/procs": 189276.0, "ns per ops/procs": 5294.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 215846142.0, "Ops per second": 7194871.4, "ns per ops": 139.22, "Ops per threads": 2158461.0, "Ops per procs": 215846142.0, "Ops/sec/procs": 7194871.4, "ns per ops/procs": 139.22}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30014.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6699494079.0, "Ops per second": 223211162.78, "ns per ops": 4.48, "Ops per threads": 1395727.0, "Ops per procs": 139572793.0, "Ops/sec/procs": 4650232.56, "ns per ops/procs": 215.04}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30013.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6644053587.0, "Ops per second": 221366729.01, "ns per ops": 4.52, "Ops per threads": 1384177.0, "Ops per procs": 138417783.0, "Ops/sec/procs": 4611806.85, "ns per ops/procs": 216.83}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217512137.0, "Ops per second": 7250404.57, "ns per ops": 138.15, "Ops per threads": 2175121.0, "Ops per procs": 217512137.0, "Ops/sec/procs": 7250404.57, "ns per ops/procs": 138.15}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30014.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 533202066.0, "Ops per second": 17773402.0, "ns per ops": 56.0, "Ops per threads": 55541.0, "Ops per procs": 5554188.0, "Ops/sec/procs": 185139.0, "ns per ops/procs": 5403.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6584977971.0, "Ops per second": 219499265.7, "ns per ops": 4.56, "Ops per threads": 914580.0, "Ops per procs": 91458027.0, "Ops/sec/procs": 3048600.91, "ns per ops/procs": 328.54}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8219635670.0, "Ops per second": 273987855.67, "ns per ops": 3.65, "Ops per threads": 856212.0, "Ops per procs": 85621204.0, "Ops/sec/procs": 2854040.16, "ns per ops/procs": 350.73}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30028.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27715502.0, "Ops per second": 922966.54, "ns per ops": 1083.46, "Ops per threads": 1443.0, "Ops per procs": 144351.0, "Ops/sec/procs": 4807.12, "ns per ops/procs": 208024.88}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30023.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1653659453.0, "Ops per second": 55121981.0, "ns per ops": 18.0, "Ops per threads": 689024.0, "Ops per procs": 68902477.0, "Ops/sec/procs": 2296749.0, "ns per ops/procs": 435.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12874643435.0, "Ops per second": 429154781.17, "ns per ops": 2.33, "Ops per threads": 894072.0, "Ops per procs": 89407246.0, "Ops/sec/procs": 2980241.54, "ns per ops/procs": 335.97}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 11894714528.0, "Ops per second": 396490484.27, "ns per ops": 2.53, "Ops per threads": 826021.0, "Ops per procs": 82602184.0, "Ops/sec/procs": 2753406.14, "ns per ops/procs": 363.96}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1006859672.0, "Ops per second": 33561989.07, "ns per ops": 29.86, "Ops per threads": 1258574.0, "Ops per procs": 125857459.0, "Ops/sec/procs": 4195248.63, "ns per ops/procs": 238.86}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 991623799.0, "Ops per second": 33054126.0, "ns per ops": 30.0, "Ops per threads": 1239529.0, "Ops per procs": 123952974.0, "Ops/sec/procs": 4131765.0, "ns per ops/procs": 242.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30032.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1160982442.0, "Ops per second": 38699414.0, "ns per ops": 25.0, "Ops per threads": 241871.0, "Ops per procs": 24187134.0, "Ops/sec/procs": 806237.0, "ns per ops/procs": 1241.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 349890312.0, "Ops per second": 11662521.11, "ns per ops": 85.74, "Ops per threads": 3498903.0, "Ops per procs": 349890312.0, "Ops/sec/procs": 11662521.11, "ns per ops/procs": 85.74}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 115009338.0, "Ops per second": 3833011.98, "ns per ops": 260.89, "Ops per threads": 287523.0, "Ops per procs": 28752334.0, "Ops/sec/procs": 958253.0, "ns per ops/procs": 1043.57}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 71525924.0, "Ops per second": 2383581.27, "ns per ops": 419.54, "Ops per threads": 29802.0, "Ops per procs": 2980246.0, "Ops/sec/procs": 99315.89, "ns per ops/procs": 10068.88}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30033.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1304952512.0, "Ops per second": 43449417.0, "ns per ops": 23.02, "Ops per threads": 1631190.0, "Ops per procs": 163119064.0, "Ops/sec/procs": 5431177.12, "ns per ops/procs": 184.12}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17509225918.0, "Ops per second": 583640863.93, "ns per ops": 1.71, "Ops per threads": 911938.0, "Ops per procs": 91193884.0, "Ops/sec/procs": 3039796.17, "ns per ops/procs": 329.21}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30099.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2755726891.0, "Ops per second": 91857563.0, "ns per ops": 10.0, "Ops per threads": 1722329.0, "Ops per procs": 172232930.0, "Ops/sec/procs": 5741097.0, "ns per ops/procs": 174.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 566048145.0, "Ops per second": 18868271.0, "ns per ops": 53.0, "Ops per threads": 78617.0, "Ops per procs": 7861779.0, "Ops/sec/procs": 262059.0, "ns per ops/procs": 3820.0}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30023.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67180919.0, "Ops per second": 2237640.77, "ns per ops": 446.9, "Ops per threads": 13996.0, "Ops per procs": 1399602.0, "Ops/sec/procs": 46617.52, "ns per ops/procs": 21451.16}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 68243807.0, "Ops per second": 2273163.72, "ns per ops": 439.92, "Ops per threads": 14217.0, "Ops per procs": 1421745.0, "Ops/sec/procs": 47357.58, "ns per ops/procs": 21115.94}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 173556314.0, "Ops per second": 5784366.21, "ns per ops": 172.88, "Ops per threads": 867781.0, "Ops per procs": 86778157.0, "Ops/sec/procs": 2892183.1, "ns per ops/procs": 345.76}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 345203759.0, "Ops per second": 11506316.41, "ns per ops": 86.91, "Ops per threads": 3452037.0, "Ops per procs": 345203759.0, "Ops/sec/procs": 11506316.41, "ns per ops/procs": 86.91}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30023.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1539132659.0, "Ops per second": 51304421.0, "ns per ops": 19.0, "Ops per threads": 641305.0, "Ops per procs": 64130527.0, "Ops/sec/procs": 2137684.0, "ns per ops/procs": 468.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30010.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13457284769.0, "Ops per second": 448426408.99, "ns per ops": 2.23, "Ops per threads": 1401800.0, "Ops per procs": 140180049.0, "Ops/sec/procs": 4671108.43, "ns per ops/procs": 214.08}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 116149365.0, "Ops per second": 3871014.15, "ns per ops": 258.33, "Ops per threads": 290373.0, "Ops per procs": 29037341.0, "Ops/sec/procs": 967753.54, "ns per ops/procs": 1033.32}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30067.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 565377700.0, "Ops per second": 18845923.0, "ns per ops": 53.0, "Ops per threads": 78524.0, "Ops per procs": 7852468.0, "Ops/sec/procs": 261748.0, "ns per ops/procs": 3828.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30015.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6545324868.0, "Ops per second": 218067123.67, "ns per ops": 4.59, "Ops per threads": 1363609.0, "Ops per procs": 136360934.0, "Ops/sec/procs": 4543065.08, "ns per ops/procs": 220.12}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 529328681.0, "Ops per second": 17644289.0, "ns per ops": 56.0, "Ops per threads": 1323321.0, "Ops per procs": 132332170.0, "Ops/sec/procs": 4411072.0, "ns per ops/procs": 227.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1299808609.0, "Ops per second": 43285088.47, "ns per ops": 23.1, "Ops per threads": 1624760.0, "Ops per procs": 162476076.0, "Ops/sec/procs": 5410636.06, "ns per ops/procs": 184.82}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 269706300.0, "Ops per second": 8990210.0, "ns per ops": 111.0, "Ops per threads": 2697063.0, "Ops per procs": 269706300.0, "Ops/sec/procs": 8990210.0, "ns per ops/procs": 111.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30006.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 115361100.0, "Ops per second": 3844592.71, "ns per ops": 260.11, "Ops per threads": 288402.0, "Ops per procs": 28840275.0, "Ops/sec/procs": 961148.18, "ns per ops/procs": 1040.42}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30022.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1595728560.0, "Ops per second": 53190952.0, "ns per ops": 18.0, "Ops per threads": 664886.0, "Ops per procs": 66488690.0, "Ops/sec/procs": 2216289.0, "ns per ops/procs": 451.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30013.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 568764921.0, "Ops per second": 18958830.0, "ns per ops": 52.0, "Ops per threads": 78995.0, "Ops per procs": 7899512.0, "Ops/sec/procs": 263317.0, "ns per ops/procs": 3799.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 335204988.0, "Ops per second": 11173499.6, "ns per ops": 89.65, "Ops per threads": 1676024.0, "Ops per procs": 167602494.0, "Ops/sec/procs": 5586749.8, "ns per ops/procs": 179.3}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 999871313.0, "Ops per second": 33329043.77, "ns per ops": 30.06, "Ops per threads": 1249839.0, "Ops per procs": 124983914.0, "Ops/sec/procs": 4166130.47, "ns per ops/procs": 240.52}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12899837825.0, "Ops per second": 429994594.17, "ns per ops": 2.33, "Ops per threads": 895822.0, "Ops per procs": 89582207.0, "Ops/sec/procs": 2986073.57, "ns per ops/procs": 335.23}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2165533500.0, "Ops per second": 72184450.0, "ns per ops": 13.89, "Ops per threads": 1353458.0, "Ops per procs": 135345843.0, "Ops/sec/procs": 4511528.12, "ns per ops/procs": 222.24}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30093.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30159503.0, "Ops per second": 1002192.21, "ns per ops": 997.81, "Ops per threads": 2094.0, "Ops per procs": 209440.0, "Ops/sec/procs": 6959.67, "ns per ops/procs": 143685.01}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 336553015.0, "Ops per second": 11218433.83, "ns per ops": 89.29, "Ops per threads": 1682765.0, "Ops per procs": 168276507.0, "Ops/sec/procs": 5609216.92, "ns per ops/procs": 178.58}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30026.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 547684755.0, "Ops per second": 18256158.0, "ns per ops": 54.0, "Ops per threads": 57050.0, "Ops per procs": 5705049.0, "Ops/sec/procs": 190168.0, "ns per ops/procs": 5263.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 697104205.0, "Ops per second": 23214199.82, "ns per ops": 43.08, "Ops per threads": 1742760.0, "Ops per procs": 174276051.0, "Ops/sec/procs": 5803549.96, "ns per ops/procs": 172.31}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30026.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299462395.0, "Ops per second": 9973371.28, "ns per ops": 100.27, "Ops per threads": 2994623.0, "Ops per procs": 299462395.0, "Ops/sec/procs": 9973371.28, "ns per ops/procs": 100.27}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30023.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67280432.0, "Ops per second": 2240953.69, "ns per ops": 446.24, "Ops per threads": 14016.0, "Ops per procs": 1401675.0, "Ops/sec/procs": 46686.54, "ns per ops/procs": 21419.45}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 485823476.0, "Ops per second": 16179526.59, "ns per ops": 61.81, "Ops per threads": 2429117.0, "Ops per procs": 242911738.0, "Ops/sec/procs": 8089763.29, "ns per ops/procs": 123.61}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30019.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 25963521091.0, "Ops per second": 864896561.64, "ns per ops": 1.16, "Ops per threads": 1352266.0, "Ops per procs": 135226672.0, "Ops/sec/procs": 4504669.59, "ns per ops/procs": 221.99}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30034.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19369228022.0, "Ops per second": 644899836.24, "ns per ops": 1.55, "Ops per threads": 1345085.0, "Ops per procs": 134508527.0, "Ops/sec/procs": 4478471.09, "ns per ops/procs": 223.29}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4414485942.0, "Ops per second": 147105461.64, "ns per ops": 6.8, "Ops per threads": 1839369.0, "Ops per procs": 183936914.0, "Ops/sec/procs": 6129394.23, "ns per ops/procs": 163.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17587304113.0, "Ops per second": 586243470.43, "ns per ops": 1.71, "Ops per threads": 916005.0, "Ops per procs": 91600542.0, "Ops/sec/procs": 3053351.41, "ns per ops/procs": 328.02}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17543900619.0, "Ops per second": 584796687.3, "ns per ops": 1.71, "Ops per threads": 913744.0, "Ops per procs": 91374482.0, "Ops/sec/procs": 3045816.08, "ns per ops/procs": 328.58}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30079.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1186976381.0, "Ops per second": 39565879.0, "ns per ops": 25.0, "Ops per threads": 247286.0, "Ops per procs": 24728674.0, "Ops/sec/procs": 824289.0, "ns per ops/procs": 1216.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4347986546.0, "Ops per second": 144932884.87, "ns per ops": 6.92, "Ops per threads": 905830.0, "Ops per procs": 90583053.0, "Ops/sec/procs": 3019435.1, "ns per ops/procs": 331.94}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270388993.0, "Ops per second": 9012966.0, "ns per ops": 111.0, "Ops per threads": 2703889.0, "Ops per procs": 270388993.0, "Ops/sec/procs": 9012966.0, "ns per ops/procs": 111.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17412434022.0, "Ops per second": 580414467.4, "ns per ops": 1.72, "Ops per threads": 906897.0, "Ops per procs": 90689760.0, "Ops/sec/procs": 3022992.02, "ns per ops/procs": 331.0}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30087.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 29583910.0, "Ops per second": 983247.31, "ns per ops": 1017.04, "Ops per threads": 2054.0, "Ops per procs": 205443.0, "Ops/sec/procs": 6828.11, "ns per ops/procs": 146453.49}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30039.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19515054264.0, "Ops per second": 649645791.68, "ns per ops": 1.54, "Ops per threads": 1355212.0, "Ops per procs": 135521210.0, "Ops/sec/procs": 4511429.11, "ns per ops/procs": 221.66}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4412239360.0, "Ops per second": 147030392.4, "ns per ops": 6.8, "Ops per threads": 1838433.0, "Ops per procs": 183843306.0, "Ops/sec/procs": 6126266.35, "ns per ops/procs": 163.23}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30010.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13217325817.0, "Ops per second": 440428122.31, "ns per ops": 2.27, "Ops per threads": 1376804.0, "Ops per procs": 137680477.0, "Ops/sec/procs": 4587792.94, "ns per ops/procs": 217.97}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1300168515.0, "Ops per second": 43297084.69, "ns per ops": 23.1, "Ops per threads": 1625210.0, "Ops per procs": 162521064.0, "Ops/sec/procs": 5412135.59, "ns per ops/procs": 184.77}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6771178328.0, "Ops per second": 225705944.27, "ns per ops": 4.44, "Ops per threads": 940441.0, "Ops per procs": 94044143.0, "Ops/sec/procs": 3134804.78, "ns per ops/procs": 319.94}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 383461877.0, "Ops per second": 12782062.0, "ns per ops": 78.0, "Ops per threads": 1917309.0, "Ops per procs": 191730938.0, "Ops/sec/procs": 6391031.0, "ns per ops/procs": 156.0}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 38278725.0, "Ops per second": 1274451.24, "ns per ops": 784.65, "Ops per threads": 5316.0, "Ops per procs": 531648.0, "Ops/sec/procs": 17700.71, "ns per ops/procs": 56494.9}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30053.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 303872293.0, "Ops per second": 10129076.0, "ns per ops": 98.0, "Ops per threads": 15826.0, "Ops per procs": 1582668.0, "Ops/sec/procs": 52755.0, "ns per ops/procs": 18989.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30069.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26036089498.0, "Ops per second": 865853597.63, "ns per ops": 1.15, "Ops per threads": 1356046.0, "Ops per procs": 135604632.0, "Ops/sec/procs": 4509654.15, "ns per ops/procs": 221.75}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30030.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 800021843.0, "Ops per second": 26640256.82, "ns per ops": 37.54, "Ops per threads": 2000054.0, "Ops per procs": 200005460.0, "Ops/sec/procs": 6660064.2, "ns per ops/procs": 150.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1007439218.0, "Ops per second": 33581307.27, "ns per ops": 29.84, "Ops per threads": 1259299.0, "Ops per procs": 125929902.0, "Ops/sec/procs": 4197663.41, "ns per ops/procs": 238.72}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 38226755.0, "Ops per second": 1272709.38, "ns per ops": 785.73, "Ops per threads": 5309.0, "Ops per procs": 530927.0, "Ops/sec/procs": 17676.52, "ns per ops/procs": 56572.22}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30028.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299429575.0, "Ops per second": 9971572.41, "ns per ops": 100.29, "Ops per threads": 2994295.0, "Ops per procs": 299429575.0, "Ops/sec/procs": 9971572.41, "ns per ops/procs": 100.29}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30061.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 35252285.0, "Ops per second": 1172665.91, "ns per ops": 852.76, "Ops per threads": 3672.0, "Ops per procs": 367211.0, "Ops/sec/procs": 12215.27, "ns per ops/procs": 81864.75}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 169106678.0, "Ops per second": 5636041.71, "ns per ops": 177.43, "Ops per threads": 845533.0, "Ops per procs": 84553339.0, "Ops/sec/procs": 2818020.86, "ns per ops/procs": 354.86}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30044.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 278525958.0, "Ops per second": 9284198.0, "ns per ops": 107.0, "Ops per threads": 14506.0, "Ops per procs": 1450656.0, "Ops/sec/procs": 48355.0, "ns per ops/procs": 20711.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30028.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 251196986.0, "Ops per second": 8373232.0, "ns per ops": 119.0, "Ops per threads": 13083.0, "Ops per procs": 1308317.0, "Ops/sec/procs": 43610.0, "ns per ops/procs": 22952.0}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30043.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 37280827.0, "Ops per second": 1240892.9, "ns per ops": 805.87, "Ops per threads": 5177.0, "Ops per procs": 517789.0, "Ops/sec/procs": 17234.62, "ns per ops/procs": 58022.73}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30035.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26996048.0, "Ops per second": 898809.77, "ns per ops": 1112.58, "Ops per threads": 1406.0, "Ops per procs": 140604.0, "Ops/sec/procs": 4681.3, "ns per ops/procs": 213615.84}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70945239.0, "Ops per second": 2364181.03, "ns per ops": 422.98, "Ops per threads": 29560.0, "Ops per procs": 2956051.0, "Ops/sec/procs": 98507.54, "ns per ops/procs": 10151.51}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30022.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 66809145.0, "Ops per second": 2225286.21, "ns per ops": 449.38, "Ops per threads": 13918.0, "Ops per procs": 1391857.0, "Ops/sec/procs": 46360.13, "ns per ops/procs": 21570.26}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2151566581.0, "Ops per second": 71718886.03, "ns per ops": 13.98, "Ops per threads": 1344729.0, "Ops per procs": 134472911.0, "Ops/sec/procs": 4482430.38, "ns per ops/procs": 223.68}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2828724374.0, "Ops per second": 94290812.0, "ns per ops": 10.0, "Ops per threads": 1767952.0, "Ops per procs": 176795273.0, "Ops/sec/procs": 5893175.0, "ns per ops/procs": 170.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 365069018.0, "Ops per second": 12168967.0, "ns per ops": 82.0, "Ops per threads": 1825345.0, "Ops per procs": 182534509.0, "Ops/sec/procs": 6084483.0, "ns per ops/procs": 164.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30018.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1556623413.0, "Ops per second": 51887447.0, "ns per ops": 19.0, "Ops per threads": 648593.0, "Ops per procs": 64859308.0, "Ops/sec/procs": 2161976.0, "ns per ops/procs": 462.0}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30079.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30497368.0, "Ops per second": 1013900.28, "ns per ops": 986.29, "Ops per threads": 2117.0, "Ops per procs": 211787.0, "Ops/sec/procs": 7040.97, "ns per ops/procs": 142025.8}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30031.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 791011332.0, "Ops per second": 26339024.45, "ns per ops": 37.97, "Ops per threads": 1977528.0, "Ops per procs": 197752833.0, "Ops/sec/procs": 6584756.11, "ns per ops/procs": 151.87}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2694408531.0, "Ops per second": 89813617.7, "ns per ops": 11.14, "Ops per threads": 1122670.0, "Ops per procs": 112267022.0, "Ops/sec/procs": 3742234.07, "ns per ops/procs": 267.42}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30018.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13326946475.0, "Ops per second": 443958746.08, "ns per ops": 2.25, "Ops per threads": 1388223.0, "Ops per procs": 138822359.0, "Ops/sec/procs": 4624570.27, "ns per ops/procs": 216.24}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6511517837.0, "Ops per second": 217050594.57, "ns per ops": 4.62, "Ops per threads": 904377.0, "Ops per procs": 90437747.0, "Ops/sec/procs": 3014591.59, "ns per ops/procs": 332.69}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13422215978.0, "Ops per second": 447122884.72, "ns per ops": 2.24, "Ops per threads": 1398147.0, "Ops per procs": 139814749.0, "Ops/sec/procs": 4657530.05, "ns per ops/procs": 214.71}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 360946437.0, "Ops per second": 12031547.0, "ns per ops": 83.0, "Ops per threads": 1804732.0, "Ops per procs": 180473218.0, "Ops/sec/procs": 6015773.0, "ns per ops/procs": 166.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30075.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 255143382.0, "Ops per second": 8504779.0, "ns per ops": 117.0, "Ops per threads": 13288.0, "Ops per procs": 1328871.0, "Ops/sec/procs": 44295.0, "ns per ops/procs": 22632.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 216476131.0, "Ops per second": 7215871.03, "ns per ops": 138.81, "Ops per threads": 2164761.0, "Ops per procs": 216476131.0, "Ops/sec/procs": 7215871.03, "ns per ops/procs": 138.81}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 573837539.0, "Ops per second": 19127917.97, "ns per ops": 52.38, "Ops per threads": 1434593.0, "Ops per procs": 143459384.0, "Ops/sec/procs": 4781979.49, "ns per ops/procs": 209.51}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30020.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1545856268.0, "Ops per second": 51528542.0, "ns per ops": 19.0, "Ops per threads": 644106.0, "Ops per procs": 64410677.0, "Ops/sec/procs": 2147022.0, "ns per ops/procs": 466.0}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30053.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 37391209.0, "Ops per second": 1244153.88, "ns per ops": 803.76, "Ops per threads": 3894.0, "Ops per procs": 389491.0, "Ops/sec/procs": 12959.94, "ns per ops/procs": 77160.87}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 559445957.0, "Ops per second": 18648198.0, "ns per ops": 53.0, "Ops per threads": 1398614.0, "Ops per procs": 139861489.0, "Ops/sec/procs": 4662049.0, "ns per ops/procs": 215.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30008.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77851018.0, "Ops per second": 2594310.48, "ns per ops": 385.46, "Ops per threads": 48656.0, "Ops per procs": 4865688.0, "Ops/sec/procs": 162144.41, "ns per ops/procs": 6167.34}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 607309218.0, "Ops per second": 20243640.0, "ns per ops": 49.0, "Ops per threads": 1518273.0, "Ops per procs": 151827304.0, "Ops/sec/procs": 5060910.0, "ns per ops/procs": 198.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30034.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 281236181.0, "Ops per second": 9374539.0, "ns per ops": 106.0, "Ops per threads": 14647.0, "Ops per procs": 1464771.0, "Ops/sec/procs": 48825.0, "ns per ops/procs": 20504.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 171050294.0, "Ops per second": 5700820.52, "ns per ops": 175.41, "Ops per threads": 855251.0, "Ops per procs": 85525147.0, "Ops/sec/procs": 2850410.26, "ns per ops/procs": 350.83}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4321021836.0, "Ops per second": 144034061.2, "ns per ops": 6.95, "Ops per threads": 900212.0, "Ops per procs": 90021288.0, "Ops/sec/procs": 3000709.61, "ns per ops/procs": 333.84}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2797133090.0, "Ops per second": 93237769.0, "ns per ops": 10.0, "Ops per threads": 1748208.0, "Ops per procs": 174820818.0, "Ops/sec/procs": 5827360.0, "ns per ops/procs": 172.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92265303.0, "Ops per second": 3074837.2, "ns per ops": 325.22, "Ops per threads": 115331.0, "Ops per procs": 11533162.0, "Ops/sec/procs": 384354.65, "ns per ops/procs": 2601.76}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1001541798.0, "Ops per second": 33384726.0, "ns per ops": 30.0, "Ops per threads": 1251927.0, "Ops per procs": 125192724.0, "Ops/sec/procs": 4173090.0, "ns per ops/procs": 240.0}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30052.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 35506377.0, "Ops per second": 1181494.29, "ns per ops": 846.39, "Ops per threads": 3698.0, "Ops per procs": 369858.0, "Ops/sec/procs": 12307.23, "ns per ops/procs": 81253.04}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30018.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1509160725.0, "Ops per second": 50305357.0, "ns per ops": 19.0, "Ops per threads": 628816.0, "Ops per procs": 62881696.0, "Ops/sec/procs": 2096056.0, "ns per ops/procs": 477.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 978248788.0, "Ops per second": 32608292.0, "ns per ops": 30.0, "Ops per threads": 1222810.0, "Ops per procs": 122281098.0, "Ops/sec/procs": 4076036.0, "ns per ops/procs": 246.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2810121973.0, "Ops per second": 93670732.0, "ns per ops": 10.0, "Ops per threads": 1756326.0, "Ops per procs": 175632623.0, "Ops/sec/procs": 5854420.0, "ns per ops/procs": 171.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 331706692.0, "Ops per second": 11056889.73, "ns per ops": 90.6, "Ops per threads": 1658533.0, "Ops per procs": 165853346.0, "Ops/sec/procs": 5528444.87, "ns per ops/procs": 181.19}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30034.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1309950234.0, "Ops per second": 43614812.91, "ns per ops": 22.93, "Ops per threads": 1637437.0, "Ops per procs": 163743779.0, "Ops/sec/procs": 5451851.61, "ns per ops/procs": 183.42}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30016.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1180007889.0, "Ops per second": 39333596.0, "ns per ops": 25.0, "Ops per threads": 245834.0, "Ops per procs": 24583497.0, "Ops/sec/procs": 819449.0, "ns per ops/procs": 1221.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30045.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10311705105.0, "Ops per second": 343199526.15, "ns per ops": 2.91, "Ops per threads": 1432181.0, "Ops per procs": 143218126.0, "Ops/sec/procs": 4766660.09, "ns per ops/procs": 209.79}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30041.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4414409225.0, "Ops per second": 146942927.24, "ns per ops": 6.81, "Ops per threads": 1839337.0, "Ops per procs": 183933717.0, "Ops/sec/procs": 6122621.97, "ns per ops/procs": 163.33}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30003.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 31346185.0, "Ops per second": 1044749.34, "ns per ops": 957.17, "Ops per threads": 2176.0, "Ops per procs": 217681.0, "Ops/sec/procs": 7255.2, "ns per ops/procs": 137832.1}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 37364068.0, "Ops per second": 1243978.01, "ns per ops": 803.87, "Ops per threads": 5189.0, "Ops per procs": 518945.0, "Ops/sec/procs": 17277.47, "ns per ops/procs": 57878.84}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30050.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 35595973.0, "Ops per second": 1184536.93, "ns per ops": 844.21, "Ops per threads": 3707.0, "Ops per procs": 370791.0, "Ops/sec/procs": 12338.93, "ns per ops/procs": 81044.33}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2699624606.0, "Ops per second": 89987486.87, "ns per ops": 11.12, "Ops per threads": 1124843.0, "Ops per procs": 112484358.0, "Ops/sec/procs": 3749478.62, "ns per ops/procs": 266.91}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 567910440.0, "Ops per second": 18930348.0, "ns per ops": 52.92, "Ops per threads": 1419776.0, "Ops per procs": 141977610.0, "Ops/sec/procs": 4732587.0, "ns per ops/procs": 211.69}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30024.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67632749.0, "Ops per second": 2252599.99, "ns per ops": 443.93, "Ops per threads": 14090.0, "Ops per procs": 1409015.0, "Ops/sec/procs": 46929.17, "ns per ops/procs": 21308.71}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3088647104.0, "Ops per second": 102843887.76, "ns per ops": 9.72, "Ops per threads": 1930404.0, "Ops per procs": 193040444.0, "Ops/sec/procs": 6427742.98, "ns per ops/procs": 155.58}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 349649534.0, "Ops per second": 11654494.62, "ns per ops": 85.8, "Ops per threads": 3496495.0, "Ops per procs": 349649534.0, "Ops/sec/procs": 11654494.62, "ns per ops/procs": 85.8}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92701693.0, "Ops per second": 3089388.15, "ns per ops": 323.69, "Ops per threads": 115877.0, "Ops per procs": 11587711.0, "Ops/sec/procs": 386173.52, "ns per ops/procs": 2589.51}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 91218961.0, "Ops per second": 3040015.27, "ns per ops": 328.95, "Ops per threads": 114023.0, "Ops per procs": 11402370.0, "Ops/sec/procs": 380001.91, "ns per ops/procs": 2631.57}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350614032.0, "Ops per second": 11686635.0, "ns per ops": 85.57, "Ops per threads": 3506140.0, "Ops per procs": 350614032.0, "Ops/sec/procs": 11686635.0, "ns per ops/procs": 85.57}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 702400984.0, "Ops per second": 23390439.48, "ns per ops": 42.75, "Ops per threads": 1756002.0, "Ops per procs": 175600246.0, "Ops/sec/procs": 5847609.87, "ns per ops/procs": 171.01}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17463824977.0, "Ops per second": 582127499.23, "ns per ops": 1.72, "Ops per threads": 909574.0, "Ops per procs": 90957421.0, "Ops/sec/procs": 3031914.06, "ns per ops/procs": 330.33}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30045.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 18658595968.0, "Ops per second": 621016849.74, "ns per ops": 1.61, "Ops per threads": 1295735.0, "Ops per procs": 129573583.0, "Ops/sec/procs": 4312617.01, "ns per ops/procs": 231.88}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30080.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30133198.0, "Ops per second": 1001735.27, "ns per ops": 998.27, "Ops per threads": 2092.0, "Ops per procs": 209258.0, "Ops/sec/procs": 6956.49, "ns per ops/procs": 143750.55}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 572745261.0, "Ops per second": 19091508.7, "ns per ops": 52.48, "Ops per threads": 1431863.0, "Ops per procs": 143186315.0, "Ops/sec/procs": 4772877.17, "ns per ops/procs": 209.9}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 542125939.0, "Ops per second": 18070864.0, "ns per ops": 55.0, "Ops per threads": 1355314.0, "Ops per procs": 135531484.0, "Ops/sec/procs": 4517716.0, "ns per ops/procs": 222.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30036.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26178263.0, "Ops per second": 871534.5, "ns per ops": 1147.4, "Ops per threads": 1363.0, "Ops per procs": 136345.0, "Ops/sec/procs": 4539.24, "ns per ops/procs": 220301.09}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30028.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 811741140.0, "Ops per second": 27032679.12, "ns per ops": 36.99, "Ops per threads": 2029352.0, "Ops per procs": 202935285.0, "Ops/sec/procs": 6758169.78, "ns per ops/procs": 147.97}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 115821491.0, "Ops per second": 3860121.04, "ns per ops": 259.06, "Ops per threads": 289553.0, "Ops per procs": 28955372.0, "Ops/sec/procs": 965030.26, "ns per ops/procs": 1036.24}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270551675.0, "Ops per second": 9018389.0, "ns per ops": 111.0, "Ops per threads": 2705516.0, "Ops per procs": 270551675.0, "Ops/sec/procs": 9018389.0, "ns per ops/procs": 111.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217092907.0, "Ops per second": 7236430.23, "ns per ops": 138.42, "Ops per threads": 2170929.0, "Ops per procs": 217092907.0, "Ops/sec/procs": 7236430.23, "ns per ops/procs": 138.42}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 269937444.0, "Ops per second": 8997914.0, "ns per ops": 111.0, "Ops per threads": 2699374.0, "Ops per procs": 269937444.0, "Ops/sec/procs": 8997914.0, "ns per ops/procs": 111.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30063.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 510376965.0, "Ops per second": 17012565.0, "ns per ops": 58.0, "Ops per threads": 53164.0, "Ops per procs": 5316426.0, "Ops/sec/procs": 177214.0, "ns per ops/procs": 5654.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 76519123.0, "Ops per second": 2549976.03, "ns per ops": 392.16, "Ops per threads": 47824.0, "Ops per procs": 4782445.0, "Ops/sec/procs": 159373.5, "ns per ops/procs": 6274.57}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12918569183.0, "Ops per second": 430618972.77, "ns per ops": 2.32, "Ops per threads": 897122.0, "Ops per procs": 89712285.0, "Ops/sec/procs": 2990409.53, "ns per ops/procs": 334.67}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 538511026.0, "Ops per second": 17950367.0, "ns per ops": 55.0, "Ops per threads": 1346277.0, "Ops per procs": 134627756.0, "Ops/sec/procs": 4487591.0, "ns per ops/procs": 223.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217345802.0, "Ops per second": 7244860.07, "ns per ops": 138.26, "Ops per threads": 2173458.0, "Ops per procs": 217345802.0, "Ops/sec/procs": 7244860.07, "ns per ops/procs": 138.26}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 486527044.0, "Ops per second": 16202834.39, "ns per ops": 61.72, "Ops per threads": 2432635.0, "Ops per procs": 243263522.0, "Ops/sec/procs": 8101417.19, "ns per ops/procs": 123.44}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 71746552.0, "Ops per second": 2390933.52, "ns per ops": 418.25, "Ops per threads": 29894.0, "Ops per procs": 2989439.0, "Ops/sec/procs": 99622.23, "ns per ops/procs": 10037.92}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2153986137.0, "Ops per second": 71799537.9, "ns per ops": 13.96, "Ops per threads": 1346241.0, "Ops per procs": 134624133.0, "Ops/sec/procs": 4487471.12, "ns per ops/procs": 223.4}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 349640207.0, "Ops per second": 11654185.15, "ns per ops": 85.81, "Ops per threads": 3496402.0, "Ops per procs": 349640207.0, "Ops/sec/procs": 11654185.15, "ns per ops/procs": 85.81}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299407971.0, "Ops per second": 9971691.25, "ns per ops": 100.28, "Ops per threads": 2994079.0, "Ops per procs": 299407971.0, "Ops/sec/procs": 9971691.25, "ns per ops/procs": 100.28}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 573012305.0, "Ops per second": 19100410.17, "ns per ops": 52.45, "Ops per threads": 1432530.0, "Ops per procs": 143253076.0, "Ops/sec/procs": 4775102.54, "ns per ops/procs": 209.81}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30019.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10207381314.0, "Ops per second": 340028445.75, "ns per ops": 2.94, "Ops per threads": 1417691.0, "Ops per procs": 141769184.0, "Ops/sec/procs": 4722617.3, "ns per ops/procs": 211.75}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77874930.0, "Ops per second": 2595178.56, "ns per ops": 385.33, "Ops per threads": 48671.0, "Ops per procs": 4867183.0, "Ops/sec/procs": 162198.66, "ns per ops/procs": 6165.28}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 708499112.0, "Ops per second": 23593405.41, "ns per ops": 42.38, "Ops per threads": 1771247.0, "Ops per procs": 177124778.0, "Ops/sec/procs": 5898351.35, "ns per ops/procs": 169.54}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2663316260.0, "Ops per second": 88777208.67, "ns per ops": 11.27, "Ops per threads": 1109715.0, "Ops per procs": 110971510.0, "Ops/sec/procs": 3699050.36, "ns per ops/procs": 270.53}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 982783160.0, "Ops per second": 32759438.0, "ns per ops": 30.0, "Ops per threads": 1228478.0, "Ops per procs": 122847895.0, "Ops/sec/procs": 4094929.0, "ns per ops/procs": 244.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8246065297.0, "Ops per second": 274868843.23, "ns per ops": 3.64, "Ops per threads": 858965.0, "Ops per procs": 85896513.0, "Ops/sec/procs": 2863217.12, "ns per ops/procs": 349.55}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30056.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 35715015.0, "Ops per second": 1188272.57, "ns per ops": 841.56, "Ops per threads": 3720.0, "Ops per procs": 372031.0, "Ops/sec/procs": 12377.84, "ns per ops/procs": 80789.55}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 372506043.0, "Ops per second": 12416868.0, "ns per ops": 80.0, "Ops per threads": 1862530.0, "Ops per procs": 186253021.0, "Ops/sec/procs": 6208434.0, "ns per ops/procs": 161.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 978886452.0, "Ops per second": 32629548.0, "ns per ops": 30.0, "Ops per threads": 1223608.0, "Ops per procs": 122360806.0, "Ops/sec/procs": 4078693.0, "ns per ops/procs": 245.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299508245.0, "Ops per second": 9975232.01, "ns per ops": 100.25, "Ops per threads": 2995082.0, "Ops per procs": 299508245.0, "Ops/sec/procs": 9975232.01, "ns per ops/procs": 100.25}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4397799197.0, "Ops per second": 146549191.72, "ns per ops": 6.82, "Ops per threads": 1832416.0, "Ops per procs": 183241633.0, "Ops/sec/procs": 6106216.32, "ns per ops/procs": 163.77}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17424804343.0, "Ops per second": 580826811.43, "ns per ops": 1.72, "Ops per threads": 907541.0, "Ops per procs": 90754189.0, "Ops/sec/procs": 3025139.64, "ns per ops/procs": 330.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30019.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 9385054038.0, "Ops per second": 312633942.54, "ns per ops": 3.2, "Ops per threads": 1303479.0, "Ops per procs": 130347972.0, "Ops/sec/procs": 4342138.09, "ns per ops/procs": 230.3}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 174061683.0, "Ops per second": 5801181.58, "ns per ops": 172.38, "Ops per threads": 870308.0, "Ops per procs": 87030841.0, "Ops/sec/procs": 2900590.79, "ns per ops/procs": 344.76}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3039151800.0, "Ops per second": 101195271.99, "ns per ops": 9.88, "Ops per threads": 1899469.0, "Ops per procs": 189946987.0, "Ops/sec/procs": 6324704.5, "ns per ops/procs": 158.11}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 116413585.0, "Ops per second": 3879825.08, "ns per ops": 257.74, "Ops per threads": 291033.0, "Ops per procs": 29103396.0, "Ops/sec/procs": 969956.27, "ns per ops/procs": 1030.97}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12829337546.0, "Ops per second": 427644584.87, "ns per ops": 2.34, "Ops per threads": 890926.0, "Ops per procs": 89092621.0, "Ops/sec/procs": 2969754.06, "ns per ops/procs": 337.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30040.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 308240183.0, "Ops per second": 10274672.0, "ns per ops": 97.0, "Ops per threads": 21405.0, "Ops per procs": 2140556.0, "Ops/sec/procs": 71351.0, "ns per ops/procs": 14034.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30049.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13299459770.0, "Ops per second": 442589169.85, "ns per ops": 2.26, "Ops per threads": 1385360.0, "Ops per procs": 138536039.0, "Ops/sec/procs": 4610303.85, "ns per ops/procs": 216.91}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70589301.0, "Ops per second": 2352367.35, "ns per ops": 425.1, "Ops per threads": 29412.0, "Ops per procs": 2941220.0, "Ops/sec/procs": 98015.31, "ns per ops/procs": 10202.49}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1290010246.0, "Ops per second": 42959087.85, "ns per ops": 23.28, "Ops per threads": 1612512.0, "Ops per procs": 161251280.0, "Ops/sec/procs": 5369885.98, "ns per ops/procs": 186.22}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2155474503.0, "Ops per second": 71849150.1, "ns per ops": 13.95, "Ops per threads": 1347171.0, "Ops per procs": 134717156.0, "Ops/sec/procs": 4490571.88, "ns per ops/procs": 223.26}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350919650.0, "Ops per second": 11696823.89, "ns per ops": 85.49, "Ops per threads": 3509196.0, "Ops per procs": 350919650.0, "Ops/sec/procs": 11696823.89, "ns per ops/procs": 85.49}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4401647247.0, "Ops per second": 146676381.04, "ns per ops": 6.82, "Ops per threads": 1834019.0, "Ops per procs": 183401968.0, "Ops/sec/procs": 6111515.88, "ns per ops/procs": 163.63}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30040.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 9905402895.0, "Ops per second": 329731241.62, "ns per ops": 3.03, "Ops per threads": 1375750.0, "Ops per procs": 137575040.0, "Ops/sec/procs": 4579600.58, "ns per ops/procs": 218.36}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30022.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67840378.0, "Ops per second": 2259629.87, "ns per ops": 442.55, "Ops per threads": 14133.0, "Ops per procs": 1413341.0, "Ops/sec/procs": 47075.62, "ns per ops/procs": 21242.42}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2681256868.0, "Ops per second": 89375228.93, "ns per ops": 11.2, "Ops per threads": 1117190.0, "Ops per procs": 111719036.0, "Ops/sec/procs": 3723967.87, "ns per ops/procs": 268.73}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30022.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 68093389.0, "Ops per second": 2268049.08, "ns per ops": 440.91, "Ops per threads": 14186.0, "Ops per procs": 1418612.0, "Ops/sec/procs": 47251.02, "ns per ops/procs": 21163.56}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4405399335.0, "Ops per second": 146803211.03, "ns per ops": 6.81, "Ops per threads": 1835583.0, "Ops per procs": 183558305.0, "Ops/sec/procs": 6116800.46, "ns per ops/procs": 163.48}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92162624.0, "Ops per second": 3071389.69, "ns per ops": 325.59, "Ops per threads": 115203.0, "Ops per procs": 11520328.0, "Ops/sec/procs": 383923.71, "ns per ops/procs": 2604.68}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17486311136.0, "Ops per second": 582877037.87, "ns per ops": 1.72, "Ops per threads": 910745.0, "Ops per procs": 91074537.0, "Ops/sec/procs": 3035817.91, "ns per ops/procs": 329.66}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3252965246.0, "Ops per second": 108432174.0, "ns per ops": 9.0, "Ops per threads": 2033103.0, "Ops per procs": 203310327.0, "Ops/sec/procs": 6777010.0, "ns per ops/procs": 148.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217445495.0, "Ops per second": 7248183.17, "ns per ops": 138.2, "Ops per threads": 2174454.0, "Ops per procs": 217445495.0, "Ops/sec/procs": 7248183.17, "ns per ops/procs": 138.2}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3043208981.0, "Ops per second": 101330187.63, "ns per ops": 9.87, "Ops per threads": 1902005.0, "Ops per procs": 190200561.0, "Ops/sec/procs": 6333136.73, "ns per ops/procs": 157.9}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2141436686.0, "Ops per second": 71381222.87, "ns per ops": 14.05, "Ops per threads": 1338397.0, "Ops per procs": 133839792.0, "Ops/sec/procs": 4461326.43, "ns per ops/procs": 224.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30083.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 303708261.0, "Ops per second": 10123608.0, "ns per ops": 99.0, "Ops per threads": 21090.0, "Ops per procs": 2109085.0, "Ops/sec/procs": 70302.0, "ns per ops/procs": 14263.0}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30024.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67045787.0, "Ops per second": 2233044.45, "ns per ops": 447.82, "Ops per threads": 13967.0, "Ops per procs": 1396787.0, "Ops/sec/procs": 46521.76, "ns per ops/procs": 21495.32}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1001205925.0, "Ops per second": 33373530.83, "ns per ops": 30.03, "Ops per threads": 1251507.0, "Ops per procs": 125150740.0, "Ops/sec/procs": 4171691.35, "ns per ops/procs": 240.21}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30053.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27343618.0, "Ops per second": 909833.94, "ns per ops": 1099.1, "Ops per threads": 1424.0, "Ops per procs": 142414.0, "Ops/sec/procs": 4738.72, "ns per ops/procs": 211027.52}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350074019.0, "Ops per second": 11668647.36, "ns per ops": 85.7, "Ops per threads": 3500740.0, "Ops per procs": 350074019.0, "Ops/sec/procs": 11668647.36, "ns per ops/procs": 85.7}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8372281010.0, "Ops per second": 279076033.67, "ns per ops": 3.59, "Ops per threads": 872112.0, "Ops per procs": 87211260.0, "Ops/sec/procs": 2907042.02, "ns per ops/procs": 344.32}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30035.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19268798135.0, "Ops per second": 641526705.9, "ns per ops": 1.56, "Ops per threads": 1338110.0, "Ops per procs": 133811098.0, "Ops/sec/procs": 4455046.57, "ns per ops/procs": 224.46}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30030.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1510903974.0, "Ops per second": 50313117.06, "ns per ops": 19.88, "Ops per threads": 1888629.0, "Ops per procs": 188862996.0, "Ops/sec/procs": 6289139.63, "ns per ops/procs": 159.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350034883.0, "Ops per second": 11667331.15, "ns per ops": 85.71, "Ops per threads": 3500348.0, "Ops per procs": 350034883.0, "Ops/sec/procs": 11667331.15, "ns per ops/procs": 85.71}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8252311625.0, "Ops per second": 275077054.17, "ns per ops": 3.64, "Ops per threads": 859615.0, "Ops per procs": 85961579.0, "Ops/sec/procs": 2865385.98, "ns per ops/procs": 349.32}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30018.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1468188245.0, "Ops per second": 48939608.0, "ns per ops": 20.0, "Ops per threads": 611745.0, "Ops per procs": 61174510.0, "Ops/sec/procs": 2039150.0, "ns per ops/procs": 490.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30005.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 116152967.0, "Ops per second": 3871104.73, "ns per ops": 258.32, "Ops per threads": 290382.0, "Ops per procs": 29038241.0, "Ops/sec/procs": 967776.18, "ns per ops/procs": 1033.3}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30051.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 37072410.0, "Ops per second": 1233619.55, "ns per ops": 810.62, "Ops per threads": 3861.0, "Ops per procs": 386170.0, "Ops/sec/procs": 12850.2, "ns per ops/procs": 77819.78}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 963511212.0, "Ops per second": 32117040.0, "ns per ops": 31.0, "Ops per threads": 1204389.0, "Ops per procs": 120438901.0, "Ops/sec/procs": 4014630.0, "ns per ops/procs": 249.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270603008.0, "Ops per second": 9020100.0, "ns per ops": 111.0, "Ops per threads": 2706030.0, "Ops per procs": 270603008.0, "Ops/sec/procs": 9020100.0, "ns per ops/procs": 111.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3068902860.0, "Ops per second": 102186998.61, "ns per ops": 9.79, "Ops per threads": 1918064.0, "Ops per procs": 191806428.0, "Ops/sec/procs": 6386687.41, "ns per ops/procs": 156.58}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1297897729.0, "Ops per second": 43221548.4, "ns per ops": 23.14, "Ops per threads": 1622372.0, "Ops per procs": 162237216.0, "Ops/sec/procs": 5402693.55, "ns per ops/procs": 185.09}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30022.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1178027412.0, "Ops per second": 39267580.0, "ns per ops": 25.0, "Ops per threads": 245422.0, "Ops per procs": 24542237.0, "Ops/sec/procs": 818074.0, "ns per ops/procs": 1223.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30093.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 567998867.0, "Ops per second": 18933295.0, "ns per ops": 52.0, "Ops per threads": 78888.0, "Ops per procs": 7888873.0, "Ops/sec/procs": 262962.0, "ns per ops/procs": 3814.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30002.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 481160799.0, "Ops per second": 16038693.0, "ns per ops": 62.0, "Ops per threads": 50120.0, "Ops per procs": 5012091.0, "Ops/sec/procs": 167069.0, "ns per ops/procs": 5986.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30022.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13384142942.0, "Ops per second": 445809117.88, "ns per ops": 2.24, "Ops per threads": 1394181.0, "Ops per procs": 139418155.0, "Ops/sec/procs": 4643844.98, "ns per ops/procs": 215.34}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30095.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1188572330.0, "Ops per second": 39619077.0, "ns per ops": 25.0, "Ops per threads": 247619.0, "Ops per procs": 24761923.0, "Ops/sec/procs": 825397.0, "ns per ops/procs": 1215.0}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30075.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 29355503.0, "Ops per second": 976064.37, "ns per ops": 1024.52, "Ops per threads": 2038.0, "Ops per procs": 203857.0, "Ops/sec/procs": 6778.22, "ns per ops/procs": 147531.25}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30013.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6595538242.0, "Ops per second": 219749469.79, "ns per ops": 4.55, "Ops per threads": 1374070.0, "Ops per procs": 137407046.0, "Ops/sec/procs": 4578113.95, "ns per ops/procs": 218.43}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 382865455.0, "Ops per second": 12762181.0, "ns per ops": 78.0, "Ops per threads": 1914327.0, "Ops per procs": 191432727.0, "Ops/sec/procs": 6381090.0, "ns per ops/procs": 157.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1295926247.0, "Ops per second": 43157123.48, "ns per ops": 23.17, "Ops per threads": 1619907.0, "Ops per procs": 161990780.0, "Ops/sec/procs": 5394640.44, "ns per ops/procs": 185.37}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30083.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30049104.0, "Ops per second": 998866.13, "ns per ops": 1001.14, "Ops per threads": 2086.0, "Ops per procs": 208674.0, "Ops/sec/procs": 6936.57, "ns per ops/procs": 144163.46}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6540959836.0, "Ops per second": 218031994.53, "ns per ops": 4.6, "Ops per threads": 908466.0, "Ops per procs": 90846664.0, "Ops/sec/procs": 3028222.15, "ns per ops/procs": 331.3}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8275384530.0, "Ops per second": 275846151.0, "ns per ops": 3.63, "Ops per threads": 862019.0, "Ops per procs": 86201922.0, "Ops/sec/procs": 2873397.41, "ns per ops/procs": 348.34}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6613284996.0, "Ops per second": 220442833.2, "ns per ops": 4.55, "Ops per threads": 918511.0, "Ops per procs": 91851180.0, "Ops/sec/procs": 3061706.02, "ns per ops/procs": 327.58}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30030.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 791398457.0, "Ops per second": 26353253.78, "ns per ops": 37.95, "Ops per threads": 1978496.0, "Ops per procs": 197849614.0, "Ops/sec/procs": 6588313.45, "ns per ops/procs": 151.78}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4303560752.0, "Ops per second": 143452025.07, "ns per ops": 6.99, "Ops per threads": 896575.0, "Ops per procs": 89657515.0, "Ops/sec/procs": 2988583.86, "ns per ops/procs": 335.32}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30041.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 477748721.0, "Ops per second": 15924957.0, "ns per ops": 62.0, "Ops per threads": 49765.0, "Ops per procs": 4976549.0, "Ops/sec/procs": 165884.0, "ns per ops/procs": 6036.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30000.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 25929877451.0, "Ops per second": 864306119.25, "ns per ops": 1.16, "Ops per threads": 1350514.0, "Ops per procs": 135051445.0, "Ops/sec/procs": 4501594.37, "ns per ops/procs": 222.14}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12714377039.0, "Ops per second": 423812567.97, "ns per ops": 2.36, "Ops per threads": 882942.0, "Ops per procs": 88294284.0, "Ops/sec/procs": 2943142.83, "ns per ops/procs": 340.37}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 519560100.0, "Ops per second": 17318670.0, "ns per ops": 57.0, "Ops per threads": 1298900.0, "Ops per procs": 129890025.0, "Ops/sec/procs": 4329667.0, "ns per ops/procs": 231.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4298449246.0, "Ops per second": 143281641.53, "ns per ops": 6.99, "Ops per threads": 895510.0, "Ops per procs": 89551025.0, "Ops/sec/procs": 2985034.2, "ns per ops/procs": 335.61}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6695817528.0, "Ops per second": 223193917.6, "ns per ops": 4.49, "Ops per threads": 929974.0, "Ops per procs": 92997465.0, "Ops/sec/procs": 3099915.52, "ns per ops/procs": 323.6}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30005.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 115736875.0, "Ops per second": 3857227.01, "ns per ops": 259.25, "Ops per threads": 289342.0, "Ops per procs": 28934218.0, "Ops/sec/procs": 964306.75, "ns per ops/procs": 1037.01}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6714223964.0, "Ops per second": 223807465.47, "ns per ops": 4.48, "Ops per threads": 932531.0, "Ops per procs": 93253110.0, "Ops/sec/procs": 3108437.02, "ns per ops/procs": 322.57}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30005.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 116275535.0, "Ops per second": 3875205.13, "ns per ops": 258.05, "Ops per threads": 290688.0, "Ops per procs": 29068883.0, "Ops/sec/procs": 968801.28, "ns per ops/procs": 1032.2}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30013.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6577379630.0, "Ops per second": 219146454.29, "ns per ops": 4.56, "Ops per threads": 1370287.0, "Ops per procs": 137028742.0, "Ops/sec/procs": 4565551.13, "ns per ops/procs": 219.03}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30033.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 36817811.0, "Ops per second": 1225887.78, "ns per ops": 815.74, "Ops per threads": 5113.0, "Ops per procs": 511358.0, "Ops/sec/procs": 17026.22, "ns per ops/procs": 58732.95}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30005.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 115958602.0, "Ops per second": 3864634.08, "ns per ops": 258.76, "Ops per threads": 289896.0, "Ops per procs": 28989650.0, "Ops/sec/procs": 966158.52, "ns per ops/procs": 1035.03}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2976291630.0, "Ops per second": 99209721.0, "ns per ops": 10.0, "Ops per threads": 1860182.0, "Ops per procs": 186018226.0, "Ops/sec/procs": 6200607.0, "ns per ops/procs": 161.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6847414597.0, "Ops per second": 228247153.23, "ns per ops": 4.39, "Ops per threads": 951029.0, "Ops per procs": 95102980.0, "Ops/sec/procs": 3170099.35, "ns per ops/procs": 316.39}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6610959293.0, "Ops per second": 220365309.77, "ns per ops": 4.55, "Ops per threads": 918188.0, "Ops per procs": 91818879.0, "Ops/sec/procs": 3060629.3, "ns per ops/procs": 327.8}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 988546494.0, "Ops per second": 32951549.0, "ns per ops": 30.0, "Ops per threads": 1235683.0, "Ops per procs": 123568311.0, "Ops/sec/procs": 4118943.0, "ns per ops/procs": 243.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30082.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 308800652.0, "Ops per second": 10293355.0, "ns per ops": 97.0, "Ops per threads": 21444.0, "Ops per procs": 2144448.0, "Ops/sec/procs": 71481.0, "ns per ops/procs": 14028.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30000.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2738996987.0, "Ops per second": 91299899.0, "ns per ops": 10.0, "Ops per threads": 1711873.0, "Ops per procs": 171187311.0, "Ops/sec/procs": 5706243.0, "ns per ops/procs": 175.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30030.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 302581737.0, "Ops per second": 10086057.0, "ns per ops": 99.0, "Ops per threads": 21012.0, "Ops per procs": 2101262.0, "Ops/sec/procs": 70042.0, "ns per ops/procs": 14291.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 367874906.0, "Ops per second": 12262496.0, "ns per ops": 81.0, "Ops per threads": 1839374.0, "Ops per procs": 183937453.0, "Ops/sec/procs": 6131248.0, "ns per ops/procs": 163.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2149808346.0, "Ops per second": 71660278.2, "ns per ops": 13.99, "Ops per threads": 1343630.0, "Ops per procs": 134363021.0, "Ops/sec/procs": 4478767.39, "ns per ops/procs": 223.84}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13325165177.0, "Ops per second": 443879465.78, "ns per ops": 2.25, "Ops per threads": 1388038.0, "Ops per procs": 138803803.0, "Ops/sec/procs": 4623744.44, "ns per ops/procs": 216.27}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8257302160.0, "Ops per second": 275243405.33, "ns per ops": 3.64, "Ops per threads": 860135.0, "Ops per procs": 86013564.0, "Ops/sec/procs": 2867118.81, "ns per ops/procs": 349.07}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30022.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1666434192.0, "Ops per second": 55547806.0, "ns per ops": 18.0, "Ops per threads": 694347.0, "Ops per procs": 69434758.0, "Ops/sec/procs": 2314491.0, "ns per ops/procs": 432.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30013.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6644268971.0, "Ops per second": 221376298.11, "ns per ops": 4.52, "Ops per threads": 1384222.0, "Ops per procs": 138422270.0, "Ops/sec/procs": 4612006.21, "ns per ops/procs": 216.83}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1290971825.0, "Ops per second": 42990994.31, "ns per ops": 23.26, "Ops per threads": 1613714.0, "Ops per procs": 161371478.0, "Ops/sec/procs": 5373874.29, "ns per ops/procs": 186.09}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1003869427.0, "Ops per second": 33462314.23, "ns per ops": 29.94, "Ops per threads": 1254836.0, "Ops per procs": 125483678.0, "Ops/sec/procs": 4182789.28, "ns per ops/procs": 239.51}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30036.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26362845654.0, "Ops per second": 877699420.98, "ns per ops": 1.14, "Ops per threads": 1373064.0, "Ops per procs": 137306487.0, "Ops/sec/procs": 4571351.15, "ns per ops/procs": 218.75}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 76555594.0, "Ops per second": 2551217.2, "ns per ops": 391.97, "Ops per threads": 47847.0, "Ops per procs": 4784724.0, "Ops/sec/procs": 159451.07, "ns per ops/procs": 6271.52}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8408962324.0, "Ops per second": 280298744.13, "ns per ops": 3.57, "Ops per threads": 875933.0, "Ops per procs": 87593357.0, "Ops/sec/procs": 2919778.58, "ns per ops/procs": 342.57}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30017.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1643857302.0, "Ops per second": 54795243.0, "ns per ops": 18.0, "Ops per threads": 684940.0, "Ops per procs": 68494054.0, "Ops/sec/procs": 2283135.0, "ns per ops/procs": 438.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2675621715.0, "Ops per second": 89187390.5, "ns per ops": 11.22, "Ops per threads": 1114842.0, "Ops per procs": 111484238.0, "Ops/sec/procs": 3716141.27, "ns per ops/procs": 269.3}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3216712754.0, "Ops per second": 107223758.0, "ns per ops": 9.0, "Ops per threads": 2010445.0, "Ops per procs": 201044547.0, "Ops/sec/procs": 6701484.0, "ns per ops/procs": 149.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30033.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26533414767.0, "Ops per second": 883470981.63, "ns per ops": 1.13, "Ops per threads": 1381948.0, "Ops per procs": 138194868.0, "Ops/sec/procs": 4601411.36, "ns per ops/procs": 217.32}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 172679605.0, "Ops per second": 5755134.74, "ns per ops": 173.76, "Ops per threads": 863398.0, "Ops per procs": 86339802.0, "Ops/sec/procs": 2877567.37, "ns per ops/procs": 347.52}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13278680385.0, "Ops per second": 442339690.0, "ns per ops": 2.26, "Ops per threads": 1383195.0, "Ops per procs": 138319587.0, "Ops/sec/procs": 4607705.1, "ns per ops/procs": 217.03}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70719875.0, "Ops per second": 2356743.76, "ns per ops": 424.31, "Ops per threads": 29466.0, "Ops per procs": 2946661.0, "Ops/sec/procs": 98197.66, "ns per ops/procs": 10183.54}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 174574523.0, "Ops per second": 5818329.19, "ns per ops": 171.87, "Ops per threads": 872872.0, "Ops per procs": 87287261.0, "Ops/sec/procs": 2909164.59, "ns per ops/procs": 343.74}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 361373327.0, "Ops per second": 12045777.0, "ns per ops": 83.0, "Ops per threads": 1806866.0, "Ops per procs": 180686663.0, "Ops/sec/procs": 6022888.0, "ns per ops/procs": 166.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4301756707.0, "Ops per second": 143391890.23, "ns per ops": 6.99, "Ops per threads": 896199.0, "Ops per procs": 89619931.0, "Ops/sec/procs": 2987331.05, "ns per ops/procs": 335.43}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 116696195.0, "Ops per second": 3889245.3, "ns per ops": 257.12, "Ops per threads": 291740.0, "Ops per procs": 29174048.0, "Ops/sec/procs": 972311.32, "ns per ops/procs": 1028.48}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 576241887.0, "Ops per second": 19208062.9, "ns per ops": 52.16, "Ops per threads": 1440604.0, "Ops per procs": 144060471.0, "Ops/sec/procs": 4802015.72, "ns per ops/procs": 208.63}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 570796620.0, "Ops per second": 19026554.0, "ns per ops": 52.65, "Ops per threads": 1426991.0, "Ops per procs": 142699155.0, "Ops/sec/procs": 4756638.5, "ns per ops/procs": 210.62}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17625659352.0, "Ops per second": 587521978.4, "ns per ops": 1.7, "Ops per threads": 918003.0, "Ops per procs": 91800309.0, "Ops/sec/procs": 3060010.3, "ns per ops/procs": 327.06}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2684266965.0, "Ops per second": 89475565.5, "ns per ops": 11.18, "Ops per threads": 1118444.0, "Ops per procs": 111844456.0, "Ops/sec/procs": 3728148.56, "ns per ops/procs": 268.42}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30072.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 547108049.0, "Ops per second": 18236934.0, "ns per ops": 54.0, "Ops per threads": 56990.0, "Ops per procs": 5699042.0, "Ops/sec/procs": 189968.0, "ns per ops/procs": 5276.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30039.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 524310865.0, "Ops per second": 17477028.0, "ns per ops": 57.0, "Ops per threads": 72820.0, "Ops per procs": 7282095.0, "Ops/sec/procs": 242736.0, "ns per ops/procs": 4125.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30053.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27368966.0, "Ops per second": 910682.79, "ns per ops": 1098.08, "Ops per threads": 1425.0, "Ops per procs": 142546.0, "Ops/sec/procs": 4743.14, "ns per ops/procs": 210830.82}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 962217287.0, "Ops per second": 32073909.57, "ns per ops": 31.24, "Ops per threads": 1202771.0, "Ops per procs": 120277160.0, "Ops/sec/procs": 4009238.7, "ns per ops/procs": 249.94}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1000018912.0, "Ops per second": 33333963.0, "ns per ops": 30.0, "Ops per threads": 1250023.0, "Ops per procs": 125002364.0, "Ops/sec/procs": 4166745.0, "ns per ops/procs": 240.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 412371457.0, "Ops per second": 13745715.0, "ns per ops": 72.0, "Ops per threads": 2061857.0, "Ops per procs": 206185728.0, "Ops/sec/procs": 6872857.0, "ns per ops/procs": 145.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30025.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19358363497.0, "Ops per second": 644720941.04, "ns per ops": 1.55, "Ops per threads": 1344330.0, "Ops per procs": 134433079.0, "Ops/sec/procs": 4477228.76, "ns per ops/procs": 223.35}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 174345760.0, "Ops per second": 5810707.24, "ns per ops": 172.1, "Ops per threads": 871728.0, "Ops per procs": 87172880.0, "Ops/sec/procs": 2905353.62, "ns per ops/procs": 344.19}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 272927616.0, "Ops per second": 9097587.0, "ns per ops": 109.0, "Ops per threads": 14214.0, "Ops per procs": 1421498.0, "Ops/sec/procs": 47383.0, "ns per ops/procs": 21108.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 980627977.0, "Ops per second": 32687599.0, "ns per ops": 30.0, "Ops per threads": 1225784.0, "Ops per procs": 122578497.0, "Ops/sec/procs": 4085949.0, "ns per ops/procs": 245.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92399309.0, "Ops per second": 3079344.79, "ns per ops": 324.74, "Ops per threads": 115499.0, "Ops per procs": 11549913.0, "Ops/sec/procs": 384918.1, "ns per ops/procs": 2597.96}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30087.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 309556111.0, "Ops per second": 10318537.0, "ns per ops": 97.0, "Ops per threads": 21496.0, "Ops per procs": 2149695.0, "Ops/sec/procs": 71656.0, "ns per ops/procs": 13996.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 515388449.0, "Ops per second": 17179614.0, "ns per ops": 58.0, "Ops per threads": 1288471.0, "Ops per procs": 128847112.0, "Ops/sec/procs": 4294903.0, "ns per ops/procs": 233.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8346728396.0, "Ops per second": 278224279.87, "ns per ops": 3.6, "Ops per threads": 869450.0, "Ops per procs": 86945087.0, "Ops/sec/procs": 2898169.58, "ns per ops/procs": 345.37}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 334311117.0, "Ops per second": 11143703.9, "ns per ops": 89.89, "Ops per threads": 1671555.0, "Ops per procs": 167155558.0, "Ops/sec/procs": 5571851.95, "ns per ops/procs": 179.78}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299475679.0, "Ops per second": 9974102.29, "ns per ops": 100.26, "Ops per threads": 2994756.0, "Ops per procs": 299475679.0, "Ops/sec/procs": 9974102.29, "ns per ops/procs": 100.26}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92544140.0, "Ops per second": 3084150.07, "ns per ops": 324.24, "Ops per threads": 115680.0, "Ops per procs": 11568017.0, "Ops/sec/procs": 385518.76, "ns per ops/procs": 2593.91}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77951649.0, "Ops per second": 2597750.78, "ns per ops": 384.95, "Ops per threads": 48719.0, "Ops per procs": 4871978.0, "Ops/sec/procs": 162359.42, "ns per ops/procs": 6159.17}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4353691148.0, "Ops per second": 145123038.27, "ns per ops": 6.9, "Ops per threads": 907018.0, "Ops per procs": 90701898.0, "Ops/sec/procs": 3023396.63, "ns per ops/procs": 331.25}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30023.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1176270030.0, "Ops per second": 39209001.0, "ns per ops": 25.0, "Ops per threads": 245056.0, "Ops per procs": 24505625.0, "Ops/sec/procs": 816854.0, "ns per ops/procs": 1225.0}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30081.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30192306.0, "Ops per second": 1003678.39, "ns per ops": 996.34, "Ops per threads": 2096.0, "Ops per procs": 209668.0, "Ops/sec/procs": 6969.99, "ns per ops/procs": 143472.25}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30072.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 31096460.0, "Ops per second": 1034040.74, "ns per ops": 967.08, "Ops per threads": 2159.0, "Ops per procs": 215947.0, "Ops/sec/procs": 7180.84, "ns per ops/procs": 139259.5}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 988741684.0, "Ops per second": 32958056.0, "ns per ops": 30.0, "Ops per threads": 1235927.0, "Ops per procs": 123592710.0, "Ops/sec/procs": 4119757.0, "ns per ops/procs": 243.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350976210.0, "Ops per second": 11698706.7, "ns per ops": 85.48, "Ops per threads": 3509762.0, "Ops per procs": 350976210.0, "Ops/sec/procs": 11698706.7, "ns per ops/procs": 85.48}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299621592.0, "Ops per second": 9978998.31, "ns per ops": 100.21, "Ops per threads": 2996215.0, "Ops per procs": 299621592.0, "Ops/sec/procs": 9978998.31, "ns per ops/procs": 100.21}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30042.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6650326242.0, "Ops per second": 221362970.14, "ns per ops": 4.52, "Ops per threads": 1385484.0, "Ops per procs": 138548463.0, "Ops/sec/procs": 4611728.54, "ns per ops/procs": 216.84}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 702808972.0, "Ops per second": 23404093.71, "ns per ops": 42.73, "Ops per threads": 1757022.0, "Ops per procs": 175702243.0, "Ops/sec/procs": 5851023.43, "ns per ops/procs": 170.91}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1000235346.0, "Ops per second": 33341178.2, "ns per ops": 30.06, "Ops per threads": 1250294.0, "Ops per procs": 125029418.0, "Ops/sec/procs": 4167647.27, "ns per ops/procs": 240.44}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30037.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 36499611.0, "Ops per second": 1215136.24, "ns per ops": 822.95, "Ops per threads": 5069.0, "Ops per procs": 506939.0, "Ops/sec/procs": 16876.89, "ns per ops/procs": 59252.62}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30075.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 528292623.0, "Ops per second": 17609754.0, "ns per ops": 56.0, "Ops per threads": 55030.0, "Ops per procs": 5503048.0, "Ops/sec/procs": 183434.0, "ns per ops/procs": 5465.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 574938700.0, "Ops per second": 19164623.33, "ns per ops": 52.27, "Ops per threads": 1437346.0, "Ops per procs": 143734675.0, "Ops/sec/procs": 4791155.83, "ns per ops/procs": 209.1}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70673156.0, "Ops per second": 2355130.83, "ns per ops": 424.6, "Ops per threads": 29447.0, "Ops per procs": 2944714.0, "Ops/sec/procs": 98130.45, "ns per ops/procs": 10190.52}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30036.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6562052651.0, "Ops per second": 218466309.3, "ns per ops": 4.58, "Ops per threads": 1367094.0, "Ops per procs": 136709430.0, "Ops/sec/procs": 4551381.44, "ns per ops/procs": 219.71}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 337053380.0, "Ops per second": 11235112.67, "ns per ops": 89.16, "Ops per threads": 1685266.0, "Ops per procs": 168526690.0, "Ops/sec/procs": 5617556.33, "ns per ops/procs": 178.32}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2790951216.0, "Ops per second": 93031707.0, "ns per ops": 10.0, "Ops per threads": 1744344.0, "Ops per procs": 174434451.0, "Ops/sec/procs": 5814481.0, "ns per ops/procs": 172.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1300875461.0, "Ops per second": 43320854.8, "ns per ops": 23.08, "Ops per threads": 1626094.0, "Ops per procs": 162609432.0, "Ops/sec/procs": 5415106.85, "ns per ops/procs": 184.67}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4342696510.0, "Ops per second": 144756550.33, "ns per ops": 6.92, "Ops per threads": 904728.0, "Ops per procs": 90472843.0, "Ops/sec/procs": 3015761.47, "ns per ops/procs": 332.3}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 473983539.0, "Ops per second": 15785069.32, "ns per ops": 63.35, "Ops per threads": 2369917.0, "Ops per procs": 236991769.0, "Ops/sec/procs": 7892534.66, "ns per ops/procs": 126.7}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17529044306.0, "Ops per second": 584301476.87, "ns per ops": 1.71, "Ops per threads": 912971.0, "Ops per procs": 91297105.0, "Ops/sec/procs": 3043236.86, "ns per ops/procs": 328.7}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 573205504.0, "Ops per second": 19106850.13, "ns per ops": 52.44, "Ops per threads": 1433013.0, "Ops per procs": 143301376.0, "Ops/sec/procs": 4776712.53, "ns per ops/procs": 209.74}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 69372506.0, "Ops per second": 2311767.32, "ns per ops": 432.57, "Ops per threads": 28905.0, "Ops per procs": 2890521.0, "Ops/sec/procs": 96323.64, "ns per ops/procs": 10381.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30025.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19233004223.0, "Ops per second": 640563998.33, "ns per ops": 1.56, "Ops per threads": 1335625.0, "Ops per procs": 133562529.0, "Ops/sec/procs": 4448361.1, "ns per ops/procs": 224.8}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1301031154.0, "Ops per second": 43326146.3, "ns per ops": 23.08, "Ops per threads": 1626288.0, "Ops per procs": 162628894.0, "Ops/sec/procs": 5415768.29, "ns per ops/procs": 184.65}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12910075292.0, "Ops per second": 430335843.07, "ns per ops": 2.33, "Ops per threads": 896533.0, "Ops per procs": 89653300.0, "Ops/sec/procs": 2988443.35, "ns per ops/procs": 335.23}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30008.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 9633967581.0, "Ops per second": 321041722.12, "ns per ops": 3.11, "Ops per threads": 1338051.0, "Ops per procs": 133805105.0, "Ops/sec/procs": 4458912.81, "ns per ops/procs": 224.27}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2159388340.0, "Ops per second": 71979611.33, "ns per ops": 13.93, "Ops per threads": 1349617.0, "Ops per procs": 134961771.0, "Ops/sec/procs": 4498725.71, "ns per ops/procs": 222.84}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 976780212.0, "Ops per second": 32559340.0, "ns per ops": 30.0, "Ops per threads": 1220975.0, "Ops per procs": 122097526.0, "Ops/sec/procs": 4069917.0, "ns per ops/procs": 246.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30036.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 584109589.0, "Ops per second": 19470319.0, "ns per ops": 51.0, "Ops per threads": 81126.0, "Ops per procs": 8112633.0, "Ops/sec/procs": 270421.0, "ns per ops/procs": 3702.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 215611963.0, "Ops per second": 7187065.43, "ns per ops": 139.37, "Ops per threads": 2156119.0, "Ops per procs": 215611963.0, "Ops/sec/procs": 7187065.43, "ns per ops/procs": 139.37}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30057.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 36630816.0, "Ops per second": 1218686.02, "ns per ops": 820.56, "Ops per threads": 3815.0, "Ops per procs": 381571.0, "Ops/sec/procs": 12694.65, "ns per ops/procs": 78773.37}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12821176245.0, "Ops per second": 427372541.5, "ns per ops": 2.35, "Ops per threads": 890359.0, "Ops per procs": 89035946.0, "Ops/sec/procs": 2967864.87, "ns per ops/procs": 337.88}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 29270409.0, "Ops per second": 972512.08, "ns per ops": 1028.26, "Ops per threads": 2032.0, "Ops per procs": 203266.0, "Ops/sec/procs": 6753.56, "ns per ops/procs": 148070.14}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30081.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 282414574.0, "Ops per second": 9413819.0, "ns per ops": 106.0, "Ops per threads": 14709.0, "Ops per procs": 1470909.0, "Ops/sec/procs": 49030.0, "ns per ops/procs": 20450.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30030.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26483770602.0, "Ops per second": 881883434.65, "ns per ops": 1.13, "Ops per threads": 1379363.0, "Ops per procs": 137936305.0, "Ops/sec/procs": 4593142.89, "ns per ops/procs": 217.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30058.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 561391341.0, "Ops per second": 18713044.0, "ns per ops": 53.0, "Ops per threads": 77971.0, "Ops per procs": 7797101.0, "Ops/sec/procs": 259903.0, "ns per ops/procs": 3855.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30029.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 301079582.0, "Ops per second": 10035986.0, "ns per ops": 99.0, "Ops per threads": 20908.0, "Ops per procs": 2090830.0, "Ops/sec/procs": 69694.0, "ns per ops/procs": 14362.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30008.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77675228.0, "Ops per second": 2588458.25, "ns per ops": 386.33, "Ops per threads": 48547.0, "Ops per procs": 4854701.0, "Ops/sec/procs": 161778.64, "ns per ops/procs": 6181.29}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30052.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 34923119.0, "Ops per second": 1162056.99, "ns per ops": 860.54, "Ops per threads": 3637.0, "Ops per procs": 363782.0, "Ops/sec/procs": 12104.76, "ns per ops/procs": 82612.13}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8182194669.0, "Ops per second": 272739822.3, "ns per ops": 3.67, "Ops per threads": 852311.0, "Ops per procs": 85231194.0, "Ops/sec/procs": 2841039.82, "ns per ops/procs": 352.26}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30092.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 546810906.0, "Ops per second": 18227030.0, "ns per ops": 55.0, "Ops per threads": 75945.0, "Ops per procs": 7594595.0, "Ops/sec/procs": 253153.0, "ns per ops/procs": 3962.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 88460656.0, "Ops per second": 2948031.14, "ns per ops": 339.21, "Ops per threads": 110575.0, "Ops per procs": 11057582.0, "Ops/sec/procs": 368503.89, "ns per ops/procs": 2713.68}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 364225864.0, "Ops per second": 12140862.0, "ns per ops": 82.0, "Ops per threads": 1821129.0, "Ops per procs": 182112932.0, "Ops/sec/procs": 6070431.0, "ns per ops/procs": 165.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 74170081.0, "Ops per second": 2471692.91, "ns per ops": 404.58, "Ops per threads": 46356.0, "Ops per procs": 4635630.0, "Ops/sec/procs": 154480.81, "ns per ops/procs": 6473.3}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92864386.0, "Ops per second": 3094837.28, "ns per ops": 323.12, "Ops per threads": 116080.0, "Ops per procs": 11608048.0, "Ops/sec/procs": 386854.66, "ns per ops/procs": 2584.95}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30011.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10977715818.0, "Ops per second": 365786257.02, "ns per ops": 2.73, "Ops per threads": 1524682.0, "Ops per procs": 152468275.0, "Ops/sec/procs": 5080364.68, "ns per ops/procs": 196.84}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30050.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26345980189.0, "Ops per second": 876731674.71, "ns per ops": 1.14, "Ops per threads": 1372186.0, "Ops per procs": 137218646.0, "Ops/sec/procs": 4566310.81, "ns per ops/procs": 219.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 336283854.0, "Ops per second": 11209461.8, "ns per ops": 89.36, "Ops per threads": 1681419.0, "Ops per procs": 168141927.0, "Ops/sec/procs": 5604730.9, "ns per ops/procs": 178.73}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1007386081.0, "Ops per second": 33579536.03, "ns per ops": 29.84, "Ops per threads": 1259232.0, "Ops per procs": 125923260.0, "Ops/sec/procs": 4197442.0, "ns per ops/procs": 238.73}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 573189382.0, "Ops per second": 19106312.73, "ns per ops": 52.43, "Ops per threads": 1432973.0, "Ops per procs": 143297345.0, "Ops/sec/procs": 4776578.18, "ns per ops/procs": 209.74}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 171043498.0, "Ops per second": 5700596.47, "ns per ops": 175.42, "Ops per threads": 855217.0, "Ops per procs": 85521749.0, "Ops/sec/procs": 2850298.24, "ns per ops/procs": 350.84}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1004519903.0, "Ops per second": 33483996.77, "ns per ops": 29.93, "Ops per threads": 1255649.0, "Ops per procs": 125564987.0, "Ops/sec/procs": 4185499.6, "ns per ops/procs": 239.41}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3202094125.0, "Ops per second": 106736470.0, "ns per ops": 9.0, "Ops per threads": 2001308.0, "Ops per procs": 200130882.0, "Ops/sec/procs": 6671029.0, "ns per ops/procs": 150.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 488656852.0, "Ops per second": 16272514.04, "ns per ops": 61.45, "Ops per threads": 2443284.0, "Ops per procs": 244328426.0, "Ops/sec/procs": 8136257.02, "ns per ops/procs": 122.91}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30025.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67700097.0, "Ops per second": 2254774.21, "ns per ops": 443.5, "Ops per threads": 14104.0, "Ops per procs": 1410418.0, "Ops/sec/procs": 46974.46, "ns per ops/procs": 21288.16}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30049.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 34692859.0, "Ops per second": 1154516.51, "ns per ops": 866.16, "Ops per threads": 3613.0, "Ops per procs": 361383.0, "Ops/sec/procs": 12026.21, "ns per ops/procs": 83151.69}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8359133119.0, "Ops per second": 278637770.63, "ns per ops": 3.59, "Ops per threads": 870743.0, "Ops per procs": 87074303.0, "Ops/sec/procs": 2902476.78, "ns per ops/procs": 344.81}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30100.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1194760295.0, "Ops per second": 39825343.0, "ns per ops": 25.0, "Ops per threads": 248908.0, "Ops per procs": 24890839.0, "Ops/sec/procs": 829694.0, "ns per ops/procs": 1209.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 346417706.0, "Ops per second": 11546777.72, "ns per ops": 86.6, "Ops per threads": 3464177.0, "Ops per procs": 346417706.0, "Ops/sec/procs": 11546777.72, "ns per ops/procs": 86.6}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2802330650.0, "Ops per second": 93411021.0, "ns per ops": 10.0, "Ops per threads": 1751456.0, "Ops per procs": 175145665.0, "Ops/sec/procs": 5838188.0, "ns per ops/procs": 171.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30050.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10388316941.0, "Ops per second": 345699924.9, "ns per ops": 2.89, "Ops per threads": 1442821.0, "Ops per procs": 144282179.0, "Ops/sec/procs": 4801387.85, "ns per ops/procs": 208.27}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30062.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 25759491108.0, "Ops per second": 856850845.73, "ns per ops": 1.17, "Ops per threads": 1341640.0, "Ops per procs": 134164016.0, "Ops/sec/procs": 4462764.82, "ns per ops/procs": 224.08}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270648307.0, "Ops per second": 9021610.0, "ns per ops": 111.0, "Ops per threads": 2706483.0, "Ops per procs": 270648307.0, "Ops/sec/procs": 9021610.0, "ns per ops/procs": 111.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30042.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19502856105.0, "Ops per second": 649178427.41, "ns per ops": 1.54, "Ops per threads": 1354365.0, "Ops per procs": 135436500.0, "Ops/sec/procs": 4508183.52, "ns per ops/procs": 221.82}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299499043.0, "Ops per second": 9974911.65, "ns per ops": 100.25, "Ops per threads": 2994990.0, "Ops per procs": 299499043.0, "Ops/sec/procs": 9974911.65, "ns per ops/procs": 100.25}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 349357017.0, "Ops per second": 11644743.35, "ns per ops": 85.88, "Ops per threads": 3493570.0, "Ops per procs": 349357017.0, "Ops/sec/procs": 11644743.35, "ns per ops/procs": 85.88}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8304008885.0, "Ops per second": 276800296.17, "ns per ops": 3.62, "Ops per threads": 865000.0, "Ops per procs": 86500092.0, "Ops/sec/procs": 2883336.42, "ns per ops/procs": 347.16}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 485390736.0, "Ops per second": 16165047.22, "ns per ops": 61.86, "Ops per threads": 2426953.0, "Ops per procs": 242695368.0, "Ops/sec/procs": 8082523.61, "ns per ops/procs": 123.72}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299519355.0, "Ops per second": 9975570.24, "ns per ops": 100.24, "Ops per threads": 2995193.0, "Ops per procs": 299519355.0, "Ops/sec/procs": 9975570.24, "ns per ops/procs": 100.24}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299779664.0, "Ops per second": 9984303.75, "ns per ops": 100.16, "Ops per threads": 2997796.0, "Ops per procs": 299779664.0, "Ops/sec/procs": 9984303.75, "ns per ops/procs": 100.16}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 78073630.0, "Ops per second": 2601798.32, "ns per ops": 384.35, "Ops per threads": 48796.0, "Ops per procs": 4879601.0, "Ops/sec/procs": 162612.39, "ns per ops/procs": 6149.59}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2714447483.0, "Ops per second": 90481582.77, "ns per ops": 11.06, "Ops per threads": 1131019.0, "Ops per procs": 113101978.0, "Ops/sec/procs": 3770065.95, "ns per ops/procs": 265.44}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 518622064.0, "Ops per second": 17287402.0, "ns per ops": 58.0, "Ops per threads": 1296555.0, "Ops per procs": 129655516.0, "Ops/sec/procs": 4321850.0, "ns per ops/procs": 232.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 11877509648.0, "Ops per second": 395916988.27, "ns per ops": 2.53, "Ops per threads": 824827.0, "Ops per procs": 82482705.0, "Ops/sec/procs": 2749423.53, "ns per ops/procs": 364.34}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30082.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 505199363.0, "Ops per second": 16839978.0, "ns per ops": 59.0, "Ops per threads": 52624.0, "Ops per procs": 5262493.0, "Ops/sec/procs": 175416.0, "ns per ops/procs": 5716.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 298148005.0, "Ops per second": 9929939.68, "ns per ops": 100.71, "Ops per threads": 2981480.0, "Ops per procs": 298148005.0, "Ops/sec/procs": 9929939.68, "ns per ops/procs": 100.71}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 482445065.0, "Ops per second": 16065878.57, "ns per ops": 62.24, "Ops per threads": 2412225.0, "Ops per procs": 241222532.0, "Ops/sec/procs": 8032939.28, "ns per ops/procs": 124.49}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30017.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1668126380.0, "Ops per second": 55604212.0, "ns per ops": 17.0, "Ops per threads": 695052.0, "Ops per procs": 69505265.0, "Ops/sec/procs": 2316842.0, "ns per ops/procs": 431.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30010.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26487109928.0, "Ops per second": 882590502.56, "ns per ops": 1.13, "Ops per threads": 1379536.0, "Ops per procs": 137953697.0, "Ops/sec/procs": 4596825.53, "ns per ops/procs": 217.54}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217854950.0, "Ops per second": 7261831.67, "ns per ops": 137.94, "Ops per threads": 2178549.0, "Ops per procs": 217854950.0, "Ops/sec/procs": 7261831.67, "ns per ops/procs": 137.94}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30009.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1176618768.0, "Ops per second": 39220625.0, "ns per ops": 25.0, "Ops per threads": 245128.0, "Ops per procs": 24512891.0, "Ops/sec/procs": 817096.0, "ns per ops/procs": 1224.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30043.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26981924.0, "Ops per second": 898100.45, "ns per ops": 1113.46, "Ops per threads": 1405.0, "Ops per procs": 140530.0, "Ops/sec/procs": 4677.61, "ns per ops/procs": 213784.55}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3051709063.0, "Ops per second": 101614959.71, "ns per ops": 9.84, "Ops per threads": 1907318.0, "Ops per procs": 190731816.0, "Ops/sec/procs": 6350934.98, "ns per ops/procs": 157.46}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30069.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 302175582.0, "Ops per second": 10072519.0, "ns per ops": 99.0, "Ops per threads": 20984.0, "Ops per procs": 2098441.0, "Ops/sec/procs": 69948.0, "ns per ops/procs": 14329.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26884355.0, "Ops per second": 893232.16, "ns per ops": 1119.53, "Ops per threads": 1400.0, "Ops per procs": 140022.0, "Ops/sec/procs": 4652.25, "ns per ops/procs": 214949.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30070.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 278552837.0, "Ops per second": 9285094.0, "ns per ops": 107.0, "Ops per threads": 14507.0, "Ops per procs": 1450796.0, "Ops/sec/procs": 48359.0, "ns per ops/procs": 20726.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30028.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1296881289.0, "Ops per second": 43189057.01, "ns per ops": 23.15, "Ops per threads": 1621101.0, "Ops per procs": 162110161.0, "Ops/sec/procs": 5398632.13, "ns per ops/procs": 185.23}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4309728344.0, "Ops per second": 143657611.47, "ns per ops": 6.97, "Ops per threads": 897860.0, "Ops per procs": 89786007.0, "Ops/sec/procs": 2992866.91, "ns per ops/procs": 334.73}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3097172880.0, "Ops per second": 103127005.02, "ns per ops": 9.7, "Ops per threads": 1935733.0, "Ops per procs": 193573305.0, "Ops/sec/procs": 6445437.81, "ns per ops/procs": 155.15}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 483149542.0, "Ops per second": 16090398.09, "ns per ops": 62.15, "Ops per threads": 2415747.0, "Ops per procs": 241574771.0, "Ops/sec/procs": 8045199.05, "ns per ops/procs": 124.3}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2151165578.0, "Ops per second": 71705519.27, "ns per ops": 13.98, "Ops per threads": 1344478.0, "Ops per procs": 134447848.0, "Ops/sec/procs": 4481594.95, "ns per ops/procs": 223.7}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 78848322.0, "Ops per second": 2627612.5, "ns per ops": 380.57, "Ops per threads": 49280.0, "Ops per procs": 4928020.0, "Ops/sec/procs": 164225.78, "ns per ops/procs": 6089.18}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30026.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19181919121.0, "Ops per second": 638834415.49, "ns per ops": 1.57, "Ops per threads": 1332077.0, "Ops per procs": 133207771.0, "Ops/sec/procs": 4436350.11, "ns per ops/procs": 225.41}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30087.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 11263735948.0, "Ops per second": 374369363.3, "ns per ops": 2.67, "Ops per threads": 1564407.0, "Ops per procs": 156440777.0, "Ops/sec/procs": 5199574.49, "ns per ops/procs": 192.32}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3066538493.0, "Ops per second": 102108974.84, "ns per ops": 9.79, "Ops per threads": 1916586.0, "Ops per procs": 191658655.0, "Ops/sec/procs": 6381810.93, "ns per ops/procs": 156.7}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4287144838.0, "Ops per second": 142904827.93, "ns per ops": 7.01, "Ops per threads": 893155.0, "Ops per procs": 89315517.0, "Ops/sec/procs": 2977183.92, "ns per ops/procs": 336.48}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4400191769.0, "Ops per second": 146628903.8, "ns per ops": 6.82, "Ops per threads": 1833413.0, "Ops per procs": 183341323.0, "Ops/sec/procs": 6109537.66, "ns per ops/procs": 163.68}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30078.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 584224891.0, "Ops per second": 19474163.0, "ns per ops": 51.0, "Ops per threads": 81142.0, "Ops per procs": 8114234.0, "Ops/sec/procs": 270474.0, "ns per ops/procs": 3706.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30021.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13194211533.0, "Ops per second": 439497928.75, "ns per ops": 2.28, "Ops per threads": 1374397.0, "Ops per procs": 137439703.0, "Ops/sec/procs": 4578103.42, "ns per ops/procs": 218.43}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30026.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19381279124.0, "Ops per second": 645467493.61, "ns per ops": 1.55, "Ops per threads": 1345922.0, "Ops per procs": 134592216.0, "Ops/sec/procs": 4482413.15, "ns per ops/procs": 223.09}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 479769286.0, "Ops per second": 15977743.65, "ns per ops": 62.59, "Ops per threads": 2398846.0, "Ops per procs": 239884643.0, "Ops/sec/procs": 7988871.82, "ns per ops/procs": 125.17}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 366345710.0, "Ops per second": 12211523.0, "ns per ops": 82.0, "Ops per threads": 1831728.0, "Ops per procs": 183172855.0, "Ops/sec/procs": 6105761.0, "ns per ops/procs": 164.0}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30054.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 35279040.0, "Ops per second": 1173827.13, "ns per ops": 851.91, "Ops per threads": 3674.0, "Ops per procs": 367490.0, "Ops/sec/procs": 12227.37, "ns per ops/procs": 81783.76}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1005001530.0, "Ops per second": 33500051.0, "ns per ops": 29.91, "Ops per threads": 1256251.0, "Ops per procs": 125625191.0, "Ops/sec/procs": 4187506.38, "ns per ops/procs": 239.28}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30010.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1587819639.0, "Ops per second": 52927321.0, "ns per ops": 18.0, "Ops per threads": 661591.0, "Ops per procs": 66159151.0, "Ops/sec/procs": 2205305.0, "ns per ops/procs": 453.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30014.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10523171981.0, "Ops per second": 350599599.11, "ns per ops": 2.85, "Ops per threads": 1461551.0, "Ops per procs": 146155166.0, "Ops/sec/procs": 4869438.88, "ns per ops/procs": 205.36}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2686169832.0, "Ops per second": 89538994.4, "ns per ops": 11.18, "Ops per threads": 1119237.0, "Ops per procs": 111923743.0, "Ops/sec/procs": 3730791.43, "ns per ops/procs": 268.21}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4397115121.0, "Ops per second": 146525156.57, "ns per ops": 6.82, "Ops per threads": 1832131.0, "Ops per procs": 183213130.0, "Ops/sec/procs": 6105214.86, "ns per ops/procs": 163.79}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 172736097.0, "Ops per second": 5757057.79, "ns per ops": 173.7, "Ops per threads": 863680.0, "Ops per procs": 86368048.0, "Ops/sec/procs": 2878528.9, "ns per ops/procs": 347.4}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12285650420.0, "Ops per second": 409521680.67, "ns per ops": 2.44, "Ops per threads": 853170.0, "Ops per procs": 85317016.0, "Ops/sec/procs": 2843900.56, "ns per ops/procs": 352.07}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299632060.0, "Ops per second": 9979331.8, "ns per ops": 100.21, "Ops per threads": 2996320.0, "Ops per procs": 299632060.0, "Ops/sec/procs": 9979331.8, "ns per ops/procs": 100.21}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3017442937.0, "Ops per second": 100473086.74, "ns per ops": 9.95, "Ops per threads": 1885901.0, "Ops per procs": 188590183.0, "Ops/sec/procs": 6279567.92, "ns per ops/procs": 159.25}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30025.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4400478567.0, "Ops per second": 146559753.57, "ns per ops": 6.82, "Ops per threads": 1833532.0, "Ops per procs": 183353273.0, "Ops/sec/procs": 6106656.4, "ns per ops/procs": 163.76}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 526845365.0, "Ops per second": 17561512.0, "ns per ops": 57.0, "Ops per threads": 1317113.0, "Ops per procs": 131711341.0, "Ops/sec/procs": 4390378.0, "ns per ops/procs": 228.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30048.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 264138657.0, "Ops per second": 8804621.0, "ns per ops": 113.0, "Ops per threads": 13757.0, "Ops per procs": 1375722.0, "Ops/sec/procs": 45857.0, "ns per ops/procs": 21842.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2744843579.0, "Ops per second": 91494785.97, "ns per ops": 10.94, "Ops per threads": 1143684.0, "Ops per procs": 114368482.0, "Ops/sec/procs": 3812282.75, "ns per ops/procs": 262.51}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350398388.0, "Ops per second": 11679453.78, "ns per ops": 85.62, "Ops per threads": 3503983.0, "Ops per procs": 350398388.0, "Ops/sec/procs": 11679453.78, "ns per ops/procs": 85.62}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12685559739.0, "Ops per second": 422851991.3, "ns per ops": 2.37, "Ops per threads": 880941.0, "Ops per procs": 88094164.0, "Ops/sec/procs": 2936472.16, "ns per ops/procs": 340.92}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30001.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1192178672.0, "Ops per second": 39739289.0, "ns per ops": 25.0, "Ops per threads": 248370.0, "Ops per procs": 24837055.0, "Ops/sec/procs": 827901.0, "ns per ops/procs": 1207.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217423880.0, "Ops per second": 7247462.67, "ns per ops": 138.21, "Ops per threads": 2174238.0, "Ops per procs": 217423880.0, "Ops/sec/procs": 7247462.67, "ns per ops/procs": 138.21}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30027.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10020193384.0, "Ops per second": 333703893.35, "ns per ops": 3.0, "Ops per threads": 1391693.0, "Ops per procs": 139169352.0, "Ops/sec/procs": 4634776.3, "ns per ops/procs": 215.76}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30012.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6646731060.0, "Ops per second": 221464222.73, "ns per ops": 4.52, "Ops per threads": 1384735.0, "Ops per procs": 138473563.0, "Ops/sec/procs": 4613837.97, "ns per ops/procs": 216.74}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30032.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 299723626.0, "Ops per second": 9990787.0, "ns per ops": 100.0, "Ops per threads": 20814.0, "Ops per procs": 2081414.0, "Ops/sec/procs": 69380.0, "ns per ops/procs": 14428.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30099.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2742834949.0, "Ops per second": 91427831.0, "ns per ops": 10.0, "Ops per threads": 1714271.0, "Ops per procs": 171427184.0, "Ops/sec/procs": 5714239.0, "ns per ops/procs": 175.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30014.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 573687309.0, "Ops per second": 19122910.0, "ns per ops": 52.0, "Ops per threads": 79678.0, "Ops per procs": 7967879.0, "Ops/sec/procs": 265595.0, "ns per ops/procs": 3766.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30007.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 85820934.0, "Ops per second": 2860019.98, "ns per ops": 349.65, "Ops per threads": 107276.0, "Ops per procs": 10727616.0, "Ops/sec/procs": 357502.5, "ns per ops/procs": 2797.18}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 535172143.0, "Ops per second": 17839071.0, "ns per ops": 56.0, "Ops per threads": 1337930.0, "Ops per procs": 133793035.0, "Ops/sec/procs": 4459767.0, "ns per ops/procs": 224.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30018.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13280603684.0, "Ops per second": 442411026.33, "ns per ops": 2.26, "Ops per threads": 1383396.0, "Ops per procs": 138339621.0, "Ops/sec/procs": 4608448.19, "ns per ops/procs": 216.99}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30082.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26499472584.0, "Ops per second": 880884889.05, "ns per ops": 1.14, "Ops per threads": 1380180.0, "Ops per procs": 138018086.0, "Ops/sec/procs": 4587942.13, "ns per ops/procs": 217.96}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30029.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1296315438.0, "Ops per second": 43168684.8, "ns per ops": 23.16, "Ops per threads": 1620394.0, "Ops per procs": 162039429.0, "Ops/sec/procs": 5396085.6, "ns per ops/procs": 185.32}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30061.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 585523309.0, "Ops per second": 19517443.0, "ns per ops": 51.0, "Ops per threads": 81322.0, "Ops per procs": 8132268.0, "Ops/sec/procs": 271075.0, "ns per ops/procs": 3696.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2763750592.0, "Ops per second": 92125019.73, "ns per ops": 10.86, "Ops per threads": 1151562.0, "Ops per procs": 115156274.0, "Ops/sec/procs": 3838542.49, "ns per ops/procs": 260.69}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 334891744.0, "Ops per second": 11163058.13, "ns per ops": 89.74, "Ops per threads": 1674458.0, "Ops per procs": 167445872.0, "Ops/sec/procs": 5581529.07, "ns per ops/procs": 179.47}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2681805686.0, "Ops per second": 89393522.87, "ns per ops": 11.19, "Ops per threads": 1117419.0, "Ops per procs": 111741903.0, "Ops/sec/procs": 3724730.12, "ns per ops/procs": 268.67}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270599155.0, "Ops per second": 9019971.0, "ns per ops": 111.0, "Ops per threads": 2705991.0, "Ops per procs": 270599155.0, "Ops/sec/procs": 9019971.0, "ns per ops/procs": 111.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30008.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77894503.0, "Ops per second": 2595767.64, "ns per ops": 385.24, "Ops per threads": 48684.0, "Ops per procs": 4868406.0, "Ops/sec/procs": 162235.48, "ns per ops/procs": 6163.88}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70605030.0, "Ops per second": 2352863.11, "ns per ops": 425.01, "Ops per threads": 29418.0, "Ops per procs": 2941876.0, "Ops/sec/procs": 98035.96, "ns per ops/procs": 10200.34}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 93245507.0, "Ops per second": 3107522.12, "ns per ops": 321.8, "Ops per threads": 116556.0, "Ops per procs": 11655688.0, "Ops/sec/procs": 388440.26, "ns per ops/procs": 2574.4}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4254187189.0, "Ops per second": 141806239.63, "ns per ops": 7.06, "Ops per threads": 886288.0, "Ops per procs": 88628899.0, "Ops/sec/procs": 2954296.66, "ns per ops/procs": 338.86}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30067.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 310910959.0, "Ops per second": 10363698.0, "ns per ops": 96.0, "Ops per threads": 21591.0, "Ops per procs": 2159103.0, "Ops/sec/procs": 71970.0, "ns per ops/procs": 13926.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 298676742.0, "Ops per second": 9947506.94, "ns per ops": 100.53, "Ops per threads": 2986767.0, "Ops per procs": 298676742.0, "Ops/sec/procs": 9947506.94, "ns per ops/procs": 100.53}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30025.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67298031.0, "Ops per second": 2241391.86, "ns per ops": 446.15, "Ops per threads": 14020.0, "Ops per procs": 1402042.0, "Ops/sec/procs": 46695.66, "ns per ops/procs": 21415.26}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 93205040.0, "Ops per second": 3106176.4, "ns per ops": 321.94, "Ops per threads": 116506.0, "Ops per procs": 11650630.0, "Ops/sec/procs": 388272.05, "ns per ops/procs": 2575.51}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30040.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3075471853.0, "Ops per second": 102376332.91, "ns per ops": 9.77, "Ops per threads": 1922169.0, "Ops per procs": 192216990.0, "Ops/sec/procs": 6398520.81, "ns per ops/procs": 156.29}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 480427696.0, "Ops per second": 15999753.5, "ns per ops": 62.5, "Ops per threads": 2402138.0, "Ops per procs": 240213848.0, "Ops/sec/procs": 7999876.75, "ns per ops/procs": 125.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270075695.0, "Ops per second": 9002523.0, "ns per ops": 111.0, "Ops per threads": 2700756.0, "Ops per procs": 270075695.0, "Ops/sec/procs": 9002523.0, "ns per ops/procs": 111.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30070.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 504985815.0, "Ops per second": 16832860.0, "ns per ops": 59.0, "Ops per threads": 52602.0, "Ops per procs": 5260268.0, "Ops/sec/procs": 175342.0, "ns per ops/procs": 5716.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 351510662.0, "Ops per second": 11717022.0, "ns per ops": 85.0, "Ops per threads": 1757553.0, "Ops per procs": 175755331.0, "Ops/sec/procs": 5858511.0, "ns per ops/procs": 171.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 200", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 418604168.0, "Ops per second": 13953472.0, "ns per ops": 71.0, "Ops per threads": 2093020.0, "Ops per procs": 209302084.0, "Ops/sec/procs": 6976736.0, "ns per ops/procs": 143.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30031.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27010124.0, "Ops per second": 899395.94, "ns per ops": 1111.86, "Ops per threads": 1406.0, "Ops per procs": 140677.0, "Ops/sec/procs": 4684.35, "ns per ops/procs": 213476.61}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30029.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 288757282.0, "Ops per second": 9625242.0, "ns per ops": 103.0, "Ops per threads": 20052.0, "Ops per procs": 2005258.0, "Ops/sec/procs": 66841.0, "ns per ops/procs": 14975.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2684856479.0, "Ops per second": 89495215.97, "ns per ops": 11.18, "Ops per threads": 1118690.0, "Ops per procs": 111869019.0, "Ops/sec/procs": 3728967.33, "ns per ops/procs": 268.32}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8264274278.0, "Ops per second": 275475809.27, "ns per ops": 3.63, "Ops per threads": 860861.0, "Ops per procs": 86086190.0, "Ops/sec/procs": 2869539.68, "ns per ops/procs": 348.76}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270181513.0, "Ops per second": 9006050.0, "ns per ops": 111.0, "Ops per threads": 2701815.0, "Ops per procs": 270181513.0, "Ops/sec/procs": 9006050.0, "ns per ops/procs": 111.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 333451226.0, "Ops per second": 11115040.87, "ns per ops": 90.12, "Ops per threads": 1667256.0, "Ops per procs": 166725613.0, "Ops/sec/procs": 5557520.43, "ns per ops/procs": 180.24}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2155600530.0, "Ops per second": 71853351.0, "ns per ops": 13.95, "Ops per threads": 1347250.0, "Ops per procs": 134725033.0, "Ops/sec/procs": 4490834.44, "ns per ops/procs": 223.25}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30062.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6610751065.0, "Ops per second": 219903365.57, "ns per ops": 4.55, "Ops per threads": 1377239.0, "Ops per procs": 137723980.0, "Ops/sec/procs": 4581320.12, "ns per ops/procs": 218.28}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30086.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 579985671.0, "Ops per second": 19332855.0, "ns per ops": 51.0, "Ops per threads": 80553.0, "Ops per procs": 8055356.0, "Ops/sec/procs": 268511.0, "ns per ops/procs": 3735.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 215803072.0, "Ops per second": 7193435.73, "ns per ops": 139.24, "Ops per threads": 2158030.0, "Ops per procs": 215803072.0, "Ops/sec/procs": 7193435.73, "ns per ops/procs": 139.24}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 169260575.0, "Ops per second": 5641150.98, "ns per ops": 177.27, "Ops per threads": 846302.0, "Ops per procs": 84630287.0, "Ops/sec/procs": 2820575.49, "ns per ops/procs": 354.54}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30086.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30308257.0, "Ops per second": 1007372.67, "ns per ops": 992.68, "Ops per threads": 2104.0, "Ops per procs": 210474.0, "Ops/sec/procs": 6995.64, "ns per ops/procs": 142946.11}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2744244016.0, "Ops per second": 91474800.0, "ns per ops": 10.0, "Ops per threads": 1715152.0, "Ops per procs": 171515251.0, "Ops/sec/procs": 5717175.0, "ns per ops/procs": 175.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30029.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 702457229.0, "Ops per second": 23392347.47, "ns per ops": 42.75, "Ops per threads": 1756143.0, "Ops per procs": 175614307.0, "Ops/sec/procs": 5848086.87, "ns per ops/procs": 171.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30009.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4399289794.0, "Ops per second": 146598264.72, "ns per ops": 6.82, "Ops per threads": 1833037.0, "Ops per procs": 183303741.0, "Ops/sec/procs": 6108261.03, "ns per ops/procs": 163.71}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2147276090.0, "Ops per second": 71575869.67, "ns per ops": 14.01, "Ops per threads": 1342047.0, "Ops per procs": 134204755.0, "Ops/sec/procs": 4473491.85, "ns per ops/procs": 224.11}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30030.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 811215293.0, "Ops per second": 27013334.98, "ns per ops": 37.02, "Ops per threads": 2028038.0, "Ops per procs": 202803823.0, "Ops/sec/procs": 6753333.74, "ns per ops/procs": 148.08}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30039.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 67528123.0, "Ops per second": 2248014.17, "ns per ops": 444.84, "Ops per threads": 14068.0, "Ops per procs": 1406835.0, "Ops/sec/procs": 46833.63, "ns per ops/procs": 21352.18}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 567385338.0, "Ops per second": 18912844.6, "ns per ops": 52.97, "Ops per threads": 1418463.0, "Ops per procs": 141846334.0, "Ops/sec/procs": 4728211.15, "ns per ops/procs": 211.89}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1004869135.0, "Ops per second": 33495637.83, "ns per ops": 29.92, "Ops per threads": 1256086.0, "Ops per procs": 125608641.0, "Ops/sec/procs": 4186954.73, "ns per ops/procs": 239.32}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 7200", {"Duration (ms)": 30019.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 574509430.0, "Ops per second": 19150314.0, "ns per ops": 52.0, "Ops per threads": 79792.0, "Ops per procs": 7979297.0, "Ops/sec/procs": 265976.0, "ns per ops/procs": 3762.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 347726400.0, "Ops per second": 11590371.11, "ns per ops": 86.28, "Ops per threads": 3477264.0, "Ops per procs": 347726400.0, "Ops/sec/procs": 11590371.11, "ns per ops/procs": 86.28}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8294203179.0, "Ops per second": 276473439.3, "ns per ops": 3.62, "Ops per threads": 863979.0, "Ops per procs": 86397949.0, "Ops/sec/procs": 2879931.66, "ns per ops/procs": 347.52}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30060.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 25989130042.0, "Ops per second": 864557771.72, "ns per ops": 1.16, "Ops per threads": 1353600.0, "Ops per procs": 135360052.0, "Ops/sec/procs": 4502905.06, "ns per ops/procs": 222.08}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 479352322.0, "Ops per second": 15963998.87, "ns per ops": 62.64, "Ops per threads": 2396761.0, "Ops per procs": 239676161.0, "Ops/sec/procs": 7981999.43, "ns per ops/procs": 125.28}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299299007.0, "Ops per second": 9968179.52, "ns per ops": 100.32, "Ops per threads": 2992990.0, "Ops per procs": 299299007.0, "Ops/sec/procs": 9968179.52, "ns per ops/procs": 100.32}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30098.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1179053071.0, "Ops per second": 39301769.0, "ns per ops": 25.0, "Ops per threads": 245636.0, "Ops per procs": 24563605.0, "Ops/sec/procs": 818786.0, "ns per ops/procs": 1225.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30025.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19790979469.0, "Ops per second": 659136298.08, "ns per ops": 1.52, "Ops per threads": 1374373.0, "Ops per procs": 137437357.0, "Ops/sec/procs": 4577335.4, "ns per ops/procs": 218.47}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8316002091.0, "Ops per second": 277200069.7, "ns per ops": 3.61, "Ops per threads": 866250.0, "Ops per procs": 86625021.0, "Ops/sec/procs": 2887500.73, "ns per ops/procs": 346.66}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70546539.0, "Ops per second": 2350926.65, "ns per ops": 425.36, "Ops per threads": 29394.0, "Ops per procs": 2939439.0, "Ops/sec/procs": 97955.28, "ns per ops/procs": 10208.74}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30033.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 25733348837.0, "Ops per second": 856830788.03, "ns per ops": 1.17, "Ops per threads": 1340278.0, "Ops per procs": 134027858.0, "Ops/sec/procs": 4462660.35, "ns per ops/procs": 224.08}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30009.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1177628415.0, "Ops per second": 39254280.0, "ns per ops": 25.0, "Ops per threads": 245339.0, "Ops per procs": 24533925.0, "Ops/sec/procs": 817797.0, "ns per ops/procs": 1223.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30030.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1147486229.0, "Ops per second": 38249540.0, "ns per ops": 26.0, "Ops per threads": 239059.0, "Ops per procs": 23905963.0, "Ops/sec/procs": 796865.0, "ns per ops/procs": 1256.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17564439800.0, "Ops per second": 585481326.67, "ns per ops": 1.71, "Ops per threads": 914814.0, "Ops per procs": 91481457.0, "Ops/sec/procs": 3049381.91, "ns per ops/procs": 328.19}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30025.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 302169540.0, "Ops per second": 10072318.0, "ns per ops": 99.0, "Ops per threads": 20983.0, "Ops per procs": 2098399.0, "Ops/sec/procs": 69946.0, "ns per ops/procs": 14308.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30033.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3036380768.0, "Ops per second": 101101461.76, "ns per ops": 9.89, "Ops per threads": 1897737.0, "Ops per procs": 189773798.0, "Ops/sec/procs": 6318841.36, "ns per ops/procs": 158.26}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30017.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1554120722.0, "Ops per second": 51804024.0, "ns per ops": 19.0, "Ops per threads": 647550.0, "Ops per procs": 64755030.0, "Ops/sec/procs": 2158501.0, "ns per ops/procs": 463.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 115550611.0, "Ops per second": 3851071.98, "ns per ops": 259.67, "Ops per threads": 288876.0, "Ops per procs": 28887652.0, "Ops/sec/procs": 962767.99, "ns per ops/procs": 1038.67}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92028333.0, "Ops per second": 3066952.6, "ns per ops": 326.06, "Ops per threads": 115035.0, "Ops per procs": 11503541.0, "Ops/sec/procs": 383369.07, "ns per ops/procs": 2608.45}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30035.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 290688763.0, "Ops per second": 9689625.0, "ns per ops": 103.0, "Ops per threads": 15140.0, "Ops per procs": 1514003.0, "Ops/sec/procs": 50466.0, "ns per ops/procs": 19838.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 2400", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2079126941.0, "Ops per second": 69304231.0, "ns per ops": 14.0, "Ops per threads": 866302.0, "Ops per procs": 86630289.0, "Ops/sec/procs": 2887676.0, "ns per ops/procs": 347.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4384437315.0, "Ops per second": 146104326.17, "ns per ops": 6.84, "Ops per threads": 1826848.0, "Ops per procs": 182684888.0, "Ops/sec/procs": 6087680.26, "ns per ops/procs": 164.27}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30022.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10250267009.0, "Ops per second": 341423701.74, "ns per ops": 2.93, "Ops per threads": 1423648.0, "Ops per procs": 142364819.0, "Ops/sec/procs": 4741995.86, "ns per ops/procs": 210.88}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4293843882.0, "Ops per second": 143128129.4, "ns per ops": 7.0, "Ops per threads": 894550.0, "Ops per procs": 89455080.0, "Ops/sec/procs": 2981836.03, "ns per ops/procs": 336.09}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30084.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 29408377.0, "Ops per second": 977525.35, "ns per ops": 1022.99, "Ops per threads": 2042.0, "Ops per procs": 204224.0, "Ops/sec/procs": 6788.37, "ns per ops/procs": 147310.76}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1008042353.0, "Ops per second": 33601411.77, "ns per ops": 29.82, "Ops per threads": 1260052.0, "Ops per procs": 126005294.0, "Ops/sec/procs": 4200176.47, "ns per ops/procs": 238.57}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 999947535.0, "Ops per second": 33331584.5, "ns per ops": 30.06, "Ops per threads": 1249934.0, "Ops per procs": 124993441.0, "Ops/sec/procs": 4166448.06, "ns per ops/procs": 240.5}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 113446676.0, "Ops per second": 3780934.96, "ns per ops": 264.48, "Ops per threads": 283616.0, "Ops per procs": 28361669.0, "Ops/sec/procs": 945233.74, "ns per ops/procs": 1057.94}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 11889810957.0, "Ops per second": 396327031.9, "ns per ops": 2.53, "Ops per threads": 825681.0, "Ops per procs": 82568131.0, "Ops/sec/procs": 2752271.05, "ns per ops/procs": 363.97}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30023.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 533886713.0, "Ops per second": 17796223.0, "ns per ops": 56.0, "Ops per threads": 55613.0, "Ops per procs": 5561319.0, "Ops/sec/procs": 185377.0, "ns per ops/procs": 5398.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13282632623.0, "Ops per second": 442613220.45, "ns per ops": 2.26, "Ops per threads": 1383607.0, "Ops per procs": 138360756.0, "Ops/sec/procs": 4610554.38, "ns per ops/procs": 216.89}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 573493703.0, "Ops per second": 19116456.77, "ns per ops": 52.41, "Ops per threads": 1433734.0, "Ops per procs": 143373425.0, "Ops/sec/procs": 4779114.19, "ns per ops/procs": 209.63}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4422531922.0, "Ops per second": 147374144.76, "ns per ops": 6.79, "Ops per threads": 1842721.0, "Ops per procs": 184272163.0, "Ops/sec/procs": 6140589.37, "ns per ops/procs": 162.85}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 983324555.0, "Ops per second": 32777485.0, "ns per ops": 30.0, "Ops per threads": 1229155.0, "Ops per procs": 122915569.0, "Ops/sec/procs": 4097185.0, "ns per ops/procs": 244.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270874159.0, "Ops per second": 9029138.0, "ns per ops": 111.0, "Ops per threads": 2708741.0, "Ops per procs": 270874159.0, "Ops/sec/procs": 9029138.0, "ns per ops/procs": 111.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30076.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 537517678.0, "Ops per second": 17917255.0, "ns per ops": 55.0, "Ops per threads": 55991.0, "Ops per procs": 5599142.0, "Ops/sec/procs": 186638.0, "ns per ops/procs": 5371.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4282166915.0, "Ops per second": 142738897.17, "ns per ops": 7.02, "Ops per threads": 892118.0, "Ops per procs": 89211810.0, "Ops/sec/procs": 2973727.02, "ns per ops/procs": 336.88}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 9600", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 8145873107.0, "Ops per second": 271529103.57, "ns per ops": 3.69, "Ops per threads": 848528.0, "Ops per procs": 84852844.0, "Ops/sec/procs": 2828428.16, "ns per ops/procs": 353.89}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30062.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 34056218.0, "Ops per second": 1132858.36, "ns per ops": 882.72, "Ops per threads": 3547.0, "Ops per procs": 354752.0, "Ops/sec/procs": 11800.61, "ns per ops/procs": 84741.4}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2154014618.0, "Ops per second": 71800487.27, "ns per ops": 13.96, "Ops per threads": 1346259.0, "Ops per procs": 134625913.0, "Ops/sec/procs": 4487530.45, "ns per ops/procs": 223.41}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 332954171.0, "Ops per second": 11098472.37, "ns per ops": 90.26, "Ops per threads": 1664770.0, "Ops per procs": 166477085.0, "Ops/sec/procs": 5549236.18, "ns per ops/procs": 180.51}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19506168645.0, "Ops per second": 649954989.52, "ns per ops": 1.54, "Ops per threads": 1354595.0, "Ops per procs": 135459504.0, "Ops/sec/procs": 4513576.32, "ns per ops/procs": 221.55}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 999930904.0, "Ops per second": 33331030.13, "ns per ops": 30.06, "Ops per threads": 1249913.0, "Ops per procs": 124991363.0, "Ops/sec/procs": 4166378.77, "ns per ops/procs": 240.5}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 485155621.0, "Ops per second": 16157211.1, "ns per ops": 61.89, "Ops per threads": 2425778.0, "Ops per procs": 242577810.0, "Ops/sec/procs": 8078605.55, "ns per ops/procs": 123.78}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299438418.0, "Ops per second": 9972893.03, "ns per ops": 100.27, "Ops per threads": 2994384.0, "Ops per procs": 299438418.0, "Ops/sec/procs": 9972893.03, "ns per ops/procs": 100.27}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 37138094.0, "Ops per second": 1236606.75, "ns per ops": 808.66, "Ops per threads": 5158.0, "Ops per procs": 515806.0, "Ops/sec/procs": 17175.09, "ns per ops/procs": 58223.85}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6678019467.0, "Ops per second": 222600648.9, "ns per ops": 4.5, "Ops per threads": 927502.0, "Ops per procs": 92750270.0, "Ops/sec/procs": 3091675.68, "ns per ops/procs": 324.28}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2665104048.0, "Ops per second": 88836801.6, "ns per ops": 11.26, "Ops per threads": 1110460.0, "Ops per procs": 111046002.0, "Ops/sec/procs": 3701533.4, "ns per ops/procs": 270.34}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30053.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 35414910.0, "Ops per second": 1178395.21, "ns per ops": 848.61, "Ops per threads": 3689.0, "Ops per procs": 368905.0, "Ops/sec/procs": 12274.95, "ns per ops/procs": 81466.73}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30100.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1163622259.0, "Ops per second": 38787408.0, "ns per ops": 25.0, "Ops per threads": 242421.0, "Ops per procs": 24242130.0, "Ops/sec/procs": 808071.0, "ns per ops/procs": 1241.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30036.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26074416281.0, "Ops per second": 868104933.82, "ns per ops": 1.15, "Ops per threads": 1358042.0, "Ops per procs": 135804251.0, "Ops/sec/procs": 4521379.86, "ns per ops/procs": 221.17}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350202248.0, "Ops per second": 11672920.95, "ns per ops": 85.67, "Ops per threads": 3502022.0, "Ops per procs": 350202248.0, "Ops/sec/procs": 11672920.95, "ns per ops/procs": 85.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30028.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 806648777.0, "Ops per second": 26863110.92, "ns per ops": 37.23, "Ops per threads": 2016621.0, "Ops per procs": 201662194.0, "Ops/sec/procs": 6715777.73, "ns per ops/procs": 148.9}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70771600.0, "Ops per second": 2358478.89, "ns per ops": 424.0, "Ops per threads": 29488.0, "Ops per procs": 2948816.0, "Ops/sec/procs": 98269.95, "ns per ops/procs": 10176.05}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30047.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 539646607.0, "Ops per second": 17988220.0, "ns per ops": 55.0, "Ops per threads": 56213.0, "Ops per procs": 5621318.0, "Ops/sec/procs": 187377.0, "ns per ops/procs": 5345.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30060.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26548208301.0, "Ops per second": 883152161.55, "ns per ops": 1.13, "Ops per threads": 1382719.0, "Ops per procs": 138271918.0, "Ops/sec/procs": 4599750.84, "ns per ops/procs": 217.4}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30038.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 37153256.0, "Ops per second": 1236863.47, "ns per ops": 808.5, "Ops per threads": 5160.0, "Ops per procs": 516017.0, "Ops/sec/procs": 17178.66, "ns per ops/procs": 58211.76}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30030.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19172572735.0, "Ops per second": 638435015.6, "ns per ops": 1.57, "Ops per threads": 1331428.0, "Ops per procs": 133142866.0, "Ops/sec/procs": 4433576.5, "ns per ops/procs": 225.55}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2753865741.0, "Ops per second": 91795524.0, "ns per ops": 10.0, "Ops per threads": 1721166.0, "Ops per procs": 172116608.0, "Ops/sec/procs": 5737220.0, "ns per ops/procs": 174.0}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30051.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 38417538.0, "Ops per second": 1278375.59, "ns per ops": 782.24, "Ops per threads": 4001.0, "Ops per procs": 400182.0, "Ops/sec/procs": 13316.41, "ns per ops/procs": 75095.3}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30006.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 92027342.0, "Ops per second": 3066920.21, "ns per ops": 326.06, "Ops per threads": 115034.0, "Ops per procs": 11503417.0, "Ops/sec/procs": 383365.03, "ns per ops/procs": 2608.48}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30024.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19387973398.0, "Ops per second": 645732280.53, "ns per ops": 1.55, "Ops per threads": 1346387.0, "Ops per procs": 134638704.0, "Ops/sec/procs": 4484251.95, "ns per ops/procs": 223.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 2157486354.0, "Ops per second": 71916211.8, "ns per ops": 13.94, "Ops per threads": 1348428.0, "Ops per procs": 134842897.0, "Ops/sec/procs": 4494763.24, "ns per ops/procs": 223.06}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217681114.0, "Ops per second": 7256037.13, "ns per ops": 138.04, "Ops per threads": 2176811.0, "Ops per procs": 217681114.0, "Ops/sec/procs": 7256037.13, "ns per ops/procs": 138.04}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30043.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27159902.0, "Ops per second": 904016.99, "ns per ops": 1106.17, "Ops per threads": 1414.0, "Ops per procs": 141457.0, "Ops/sec/procs": 4708.42, "ns per ops/procs": 212385.39}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4793108137.0, "Ops per second": 159725333.41, "ns per ops": 6.26, "Ops per threads": 1997128.0, "Ops per procs": 199712839.0, "Ops/sec/procs": 6655222.23, "ns per ops/procs": 150.26}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 7200", {"Duration (ms)": 30013.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 10001271677.0, "Ops per second": 333222464.46, "ns per ops": 3.0, "Ops per threads": 1389065.0, "Ops per procs": 138906551.0, "Ops/sec/procs": 4628089.78, "ns per ops/procs": 216.07}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30029.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 483396719.0, "Ops per second": 16097287.79, "ns per ops": 62.12, "Ops per threads": 2416983.0, "Ops per procs": 241698359.0, "Ops/sec/procs": 8048643.89, "ns per ops/procs": 124.24}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30027.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 255041569.0, "Ops per second": 8501385.0, "ns per ops": 117.0, "Ops per threads": 13283.0, "Ops per procs": 1328341.0, "Ops/sec/procs": 44278.0, "ns per ops/procs": 22605.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 490960528.0, "Ops per second": 16350485.28, "ns per ops": 61.16, "Ops per threads": 2454802.0, "Ops per procs": 245480264.0, "Ops/sec/procs": 8175242.64, "ns per ops/procs": 122.32}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6697007580.0, "Ops per second": 223233586.0, "ns per ops": 4.49, "Ops per threads": 930139.0, "Ops per procs": 93013994.0, "Ops/sec/procs": 3100466.47, "ns per ops/procs": 323.31}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30043.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27448783.0, "Ops per second": 913624.12, "ns per ops": 1094.54, "Ops per threads": 1429.0, "Ops per procs": 142962.0, "Ops/sec/procs": 4758.46, "ns per ops/procs": 210152.07}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30030.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 27524426.0, "Ops per second": 916562.62, "ns per ops": 1091.03, "Ops per threads": 1433.0, "Ops per procs": 143356.0, "Ops/sec/procs": 4773.76, "ns per ops/procs": 209478.32}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 575628066.0, "Ops per second": 19187602.2, "ns per ops": 52.21, "Ops per threads": 1439070.0, "Ops per procs": 143907016.0, "Ops/sec/procs": 4796900.55, "ns per ops/procs": 208.85}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 528599994.0, "Ops per second": 17619999.0, "ns per ops": 56.0, "Ops per threads": 1321499.0, "Ops per procs": 132149998.0, "Ops/sec/procs": 4404999.0, "ns per ops/procs": 227.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6693199029.0, "Ops per second": 223106634.3, "ns per ops": 4.48, "Ops per threads": 929610.0, "Ops per procs": 92961097.0, "Ops/sec/procs": 3098703.25, "ns per ops/procs": 322.86}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12486125326.0, "Ops per second": 416204177.53, "ns per ops": 2.41, "Ops per threads": 867092.0, "Ops per procs": 86709203.0, "Ops/sec/procs": 2890306.79, "ns per ops/procs": 346.45}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30005.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 117092278.0, "Ops per second": 3902412.65, "ns per ops": 256.25, "Ops per threads": 292730.0, "Ops per procs": 29273069.0, "Ops/sec/procs": 975603.16, "ns per ops/procs": 1025.01}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 100", {"Duration (ms)": 30025.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 299408297.0, "Ops per second": 9971938.18, "ns per ops": 100.28, "Ops per threads": 2994082.0, "Ops per procs": 299408297.0, "Ops/sec/procs": 9971938.18, "ns per ops/procs": 100.28}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30038.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 37143498.0, "Ops per second": 1236550.2, "ns per ops": 808.7, "Ops per threads": 5158.0, "Ops per procs": 515881.0, "Ops/sec/procs": 17174.31, "ns per ops/procs": 58226.51}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30022.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 68551005.0, "Ops per second": 2283313.45, "ns per ops": 437.96, "Ops per threads": 14281.0, "Ops per procs": 1428145.0, "Ops/sec/procs": 47569.03, "ns per ops/procs": 21022.08}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30032.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 804988871.0, "Ops per second": 26803652.6, "ns per ops": 37.31, "Ops per threads": 2012472.0, "Ops per procs": 201247217.0, "Ops/sec/procs": 6700913.15, "ns per ops/procs": 149.23}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30085.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30707766.0, "Ops per second": 1020699.68, "ns per ops": 979.72, "Ops per threads": 2132.0, "Ops per procs": 213248.0, "Ops/sec/procs": 7088.19, "ns per ops/procs": 141079.7}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217498036.0, "Ops per second": 7249934.53, "ns per ops": 138.16, "Ops per threads": 2174980.0, "Ops per procs": 217498036.0, "Ops/sec/procs": 7249934.53, "ns per ops/procs": 138.16}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 4800", {"Duration (ms)": 30022.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 68110234.0, "Ops per second": 2268607.06, "ns per ops": 440.8, "Ops per threads": 14189.0, "Ops per procs": 1418963.0, "Ops/sec/procs": 47262.65, "ns per ops/procs": 21158.36}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30034.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19510235438.0, "Ops per second": 649600679.95, "ns per ops": 1.54, "Ops per threads": 1354877.0, "Ops per procs": 135487746.0, "Ops/sec/procs": 4511115.83, "ns per ops/procs": 221.67}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30060.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 262968720.0, "Ops per second": 8765624.0, "ns per ops": 114.0, "Ops per threads": 13696.0, "Ops per procs": 1369628.0, "Ops/sec/procs": 45654.0, "ns per ops/procs": 21947.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 334372952.0, "Ops per second": 11145765.07, "ns per ops": 89.87, "Ops per threads": 1671864.0, "Ops per procs": 167186476.0, "Ops/sec/procs": 5572882.53, "ns per ops/procs": 179.75}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 269758522.0, "Ops per second": 8991950.0, "ns per ops": 111.0, "Ops per threads": 2697585.0, "Ops per procs": 269758522.0, "Ops/sec/procs": 8991950.0, "ns per ops/procs": 111.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 400", {"Duration (ms)": 30004.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 115591471.0, "Ops per second": 3852412.37, "ns per ops": 259.58, "Ops per threads": 288978.0, "Ops per procs": 28897867.0, "Ops/sec/procs": 963103.09, "ns per ops/procs": 1038.31}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 1600", {"Duration (ms)": 30098.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3288989751.0, "Ops per second": 109632991.0, "ns per ops": 9.0, "Ops per threads": 2055618.0, "Ops per procs": 205561859.0, "Ops/sec/procs": 6852061.0, "ns per ops/procs": 146.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1159910709.0, "Ops per second": 38663690.0, "ns per ops": 25.0, "Ops per threads": 241648.0, "Ops per procs": 24164806.0, "Ops/sec/procs": 805493.0, "ns per ops/procs": 1241.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 483515597.0, "Ops per second": 16102644.29, "ns per ops": 62.1, "Ops per threads": 2417577.0, "Ops per procs": 241757798.0, "Ops/sec/procs": 8051322.15, "ns per ops/procs": 124.2}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 77529497.0, "Ops per second": 2583661.68, "ns per ops": 387.05, "Ops per threads": 48455.0, "Ops per procs": 4845593.0, "Ops/sec/procs": 161478.85, "ns per ops/procs": 6192.76}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 70815152.0, "Ops per second": 2359875.05, "ns per ops": 423.75, "Ops per threads": 29506.0, "Ops per procs": 2950631.0, "Ops/sec/procs": 98328.13, "ns per ops/procs": 10170.03}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270801846.0, "Ops per second": 9026728.0, "ns per ops": 111.0, "Ops per threads": 2708018.0, "Ops per procs": 270801846.0, "Ops/sec/procs": 9026728.0, "ns per ops/procs": 111.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 488679686.0, "Ops per second": 16274628.62, "ns per ops": 61.45, "Ops per threads": 2443398.0, "Ops per procs": 244339843.0, "Ops/sec/procs": 8137314.31, "ns per ops/procs": 122.89}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13305714690.0, "Ops per second": 443237595.7, "ns per ops": 2.26, "Ops per threads": 1386011.0, "Ops per procs": 138601194.0, "Ops/sec/procs": 4617058.29, "ns per ops/procs": 216.59}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2733613742.0, "Ops per second": 91120458.07, "ns per ops": 10.98, "Ops per threads": 1139005.0, "Ops per procs": 113900572.0, "Ops/sec/procs": 3796685.75, "ns per ops/procs": 263.58}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30040.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 490976716.0, "Ops per second": 16365890.0, "ns per ops": 61.0, "Ops per threads": 51143.0, "Ops per procs": 5114340.0, "Ops/sec/procs": 170478.0, "ns per ops/procs": 5873.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30085.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 245221764.0, "Ops per second": 8174058.0, "ns per ops": 122.0, "Ops per threads": 12771.0, "Ops per procs": 1277196.0, "Ops/sec/procs": 42573.0, "ns per ops/procs": 23555.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3455233451.0, "Ops per second": 115051162.18, "ns per ops": 8.69, "Ops per threads": 2159520.0, "Ops per procs": 215952090.0, "Ops/sec/procs": 7190697.64, "ns per ops/procs": 139.07}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 400", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 574882406.0, "Ops per second": 19162746.87, "ns per ops": 52.28, "Ops per threads": 1437206.0, "Ops per procs": 143720601.0, "Ops/sec/procs": 4790686.72, "ns per ops/procs": 209.13}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 217067968.0, "Ops per second": 7235598.93, "ns per ops": 138.43, "Ops per threads": 2170679.0, "Ops per procs": 217067968.0, "Ops/sec/procs": 7235598.93, "ns per ops/procs": 138.43}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30074.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 286710280.0, "Ops per second": 9557009.0, "ns per ops": 104.0, "Ops per threads": 19910.0, "Ops per procs": 1991043.0, "Ops/sec/procs": 66368.0, "ns per ops/procs": 15105.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 4800", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 4317209688.0, "Ops per second": 143906989.6, "ns per ops": 6.96, "Ops per threads": 899418.0, "Ops per procs": 89941868.0, "Ops/sec/procs": 2998062.28, "ns per ops/procs": 334.16}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1004382727.0, "Ops per second": 33479424.23, "ns per ops": 29.93, "Ops per threads": 1255478.0, "Ops per procs": 125547840.0, "Ops/sec/procs": 4184928.03, "ns per ops/procs": 239.43}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 331584692.0, "Ops per second": 11052823.07, "ns per ops": 90.63, "Ops per threads": 1657923.0, "Ops per procs": 165792346.0, "Ops/sec/procs": 5526411.53, "ns per ops/procs": 181.25}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30036.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 38456856.0, "Ops per second": 1280357.15, "ns per ops": 781.03, "Ops per threads": 5341.0, "Ops per procs": 534123.0, "Ops/sec/procs": 17782.74, "ns per ops/procs": 56234.31}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 78186611.0, "Ops per second": 2605561.25, "ns per ops": 383.79, "Ops per threads": 48866.0, "Ops per procs": 4886663.0, "Ops/sec/procs": 162847.58, "ns per ops/procs": 6140.71}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 4800", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 1180176331.0, "Ops per second": 39339211.0, "ns per ops": 25.0, "Ops per threads": 245870.0, "Ops per procs": 24587006.0, "Ops/sec/procs": 819566.0, "ns per ops/procs": 1221.0}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30034.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 34900735.0, "Ops per second": 1162012.41, "ns per ops": 860.58, "Ops per threads": 4847.0, "Ops per procs": 484732.0, "Ops/sec/procs": 16139.06, "ns per ops/procs": 61961.47}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 800", {"Duration (ms)": 30027.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 1296625679.0, "Ops per second": 43180803.78, "ns per ops": 23.16, "Ops per threads": 1620782.0, "Ops per procs": 162078209.0, "Ops/sec/procs": 5397600.47, "ns per ops/procs": 185.27}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17479516685.0, "Ops per second": 582650556.17, "ns per ops": 1.72, "Ops per threads": 910391.0, "Ops per procs": 91039149.0, "Ops/sec/procs": 3034638.31, "ns per ops/procs": 329.82}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30034.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 38266043.0, "Ops per second": 1274055.89, "ns per ops": 784.89, "Ops per threads": 5314.0, "Ops per procs": 531472.0, "Ops/sec/procs": 17695.22, "ns per ops/procs": 56512.43}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 100", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 350417405.0, "Ops per second": 11680094.41, "ns per ops": 85.62, "Ops per threads": 3504174.0, "Ops per procs": 350417405.0, "Ops/sec/procs": 11680094.41, "ns per ops/procs": 85.62}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30023.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 25986237.0, "Ops per second": 865526.71, "ns per ops": 1155.37, "Ops per threads": 1353.0, "Ops per procs": 135344.0, "Ops/sec/procs": 4507.95, "ns per ops/procs": 221830.24}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270860982.0, "Ops per second": 9028699.0, "ns per ops": 111.0, "Ops per threads": 2708609.0, "Ops per procs": 270860982.0, "Ops/sec/procs": 9028699.0, "ns per ops/procs": 111.0}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 14400", {"Duration (ms)": 30089.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 30303531.0, "Ops per second": 1007112.56, "ns per ops": 992.94, "Ops per threads": 2104.0, "Ops per procs": 210441.0, "Ops/sec/procs": 6993.84, "ns per ops/procs": 142983.02}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 519447542.0, "Ops per second": 17314918.0, "ns per ops": 57.0, "Ops per threads": 1298618.0, "Ops per procs": 129861885.0, "Ops/sec/procs": 4328729.0, "ns per ops/procs": 231.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 7200", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 6572757122.0, "Ops per second": 219091904.07, "ns per ops": 4.58, "Ops per threads": 912882.0, "Ops per procs": 91288293.0, "Ops/sec/procs": 3042943.11, "ns per ops/procs": 329.68}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30033.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3087456370.0, "Ops per second": 102801800.75, "ns per ops": 9.73, "Ops per threads": 1929660.0, "Ops per procs": 192966023.0, "Ops/sec/procs": 6425112.55, "ns per ops/procs": 155.64}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 337720130.0, "Ops per second": 11257337.67, "ns per ops": 88.98, "Ops per threads": 1688600.0, "Ops per procs": 168860065.0, "Ops/sec/procs": 5628668.83, "ns per ops/procs": 177.96}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 172674644.0, "Ops per second": 5754927.43, "ns per ops": 173.76, "Ops per threads": 863373.0, "Ops per procs": 86337322.0, "Ops/sec/procs": 2877463.72, "ns per ops/procs": 347.53}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30092.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 269026620.0, "Ops per second": 8967554.0, "ns per ops": 111.0, "Ops per threads": 14011.0, "Ops per procs": 1401180.0, "Ops/sec/procs": 46706.0, "ns per ops/procs": 21476.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 2710328762.0, "Ops per second": 90344292.07, "ns per ops": 11.08, "Ops per threads": 1129303.0, "Ops per procs": 112930365.0, "Ops/sec/procs": 3764345.5, "ns per ops/procs": 265.85}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 19200", {"Duration (ms)": 30062.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 291063483.0, "Ops per second": 9702116.0, "ns per ops": 103.0, "Ops per threads": 15159.0, "Ops per procs": 1515955.0, "Ops/sec/procs": 50531.0, "ns per ops/procs": 19831.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 534444288.0, "Ops per second": 17814809.0, "ns per ops": 56.0, "Ops per threads": 1336110.0, "Ops per procs": 133611072.0, "Ops/sec/procs": 4453702.0, "ns per ops/procs": 225.0}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 2400", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 71343500.0, "Ops per second": 2377482.75, "ns per ops": 420.61, "Ops per threads": 29726.0, "Ops per procs": 2972645.0, "Ops/sec/procs": 99061.78, "ns per ops/procs": 10094.71}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30052.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 39004624.0, "Ops per second": 1297866.8, "ns per ops": 770.5, "Ops per threads": 4062.0, "Ops per procs": 406298.0, "Ops/sec/procs": 13519.45, "ns per ops/procs": 73967.53}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 4800", {"Duration (ms)": 30060.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Total Operations(ops)": 6587665814.0, "Ops per second": 219143567.0, "ns per ops": 4.56, "Ops per threads": 1372430.0, "Ops per procs": 137243037.0, "Ops/sec/procs": 4565490.98, "ns per ops/procs": 219.03}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 400", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 526574779.0, "Ops per second": 17552492.0, "ns per ops": 57.0, "Ops per threads": 1316436.0, "Ops per procs": 131643694.0, "Ops/sec/procs": 4388123.0, "ns per ops/procs": 228.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30098.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 968778073.0, "Ops per second": 32292602.0, "ns per ops": 31.0, "Ops per threads": 1210972.0, "Ops per procs": 121097259.0, "Ops/sec/procs": 4036575.0, "ns per ops/procs": 248.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 340896526.0, "Ops per second": 11363217.53, "ns per ops": 88.15, "Ops per threads": 1704482.0, "Ops per procs": 170448263.0, "Ops/sec/procs": 5681608.77, "ns per ops/procs": 176.31}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17511846247.0, "Ops per second": 583728208.23, "ns per ops": 1.71, "Ops per threads": 912075.0, "Ops per procs": 91207532.0, "Ops/sec/procs": 3040251.08, "ns per ops/procs": 329.21}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 9600", {"Duration (ms)": 30020.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 13250068414.0, "Ops per second": 441368038.69, "ns per ops": 2.27, "Ops per threads": 1380215.0, "Ops per procs": 138021545.0, "Ops/sec/procs": 4597583.74, "ns per ops/procs": 217.51}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 14400", {"Duration (ms)": 30049.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 286605671.0, "Ops per second": 9553522.0, "ns per ops": 104.0, "Ops per threads": 19903.0, "Ops per procs": 1990317.0, "Ops/sec/procs": 66343.0, "ns per ops/procs": 15097.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 338634971.0, "Ops per second": 11287832.37, "ns per ops": 88.74, "Ops per threads": 1693174.0, "Ops per procs": 169317485.0, "Ops/sec/procs": 5643916.18, "ns per ops/procs": 177.49}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 19200", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 17523008688.0, "Ops per second": 584100289.6, "ns per ops": 1.71, "Ops per threads": 912656.0, "Ops per procs": 91265670.0, "Ops/sec/procs": 3042189.01, "ns per ops/procs": 329.07}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 34367923.0, "Ops per second": 1144227.36, "ns per ops": 873.95, "Ops per threads": 4773.0, "Ops per procs": 477332.0, "Ops/sec/procs": 15892.05, "ns per ops/procs": 62924.56}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270480115.0, "Ops per second": 9016003.0, "ns per ops": 111.0, "Ops per threads": 2704801.0, "Ops per procs": 270480115.0, "Ops/sec/procs": 9016003.0, "ns per ops/procs": 111.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 19200", {"Duration (ms)": 30041.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26134723.0, "Ops per second": 869965.18, "ns per ops": 1149.47, "Ops per threads": 1361.0, "Ops per procs": 136118.0, "Ops/sec/procs": 4531.07, "ns per ops/procs": 220698.49}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 9600", {"Duration (ms)": 30048.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 541756814.0, "Ops per second": 18058560.0, "ns per ops": 55.0, "Ops per threads": 56433.0, "Ops per procs": 5643300.0, "Ops/sec/procs": 188110.0, "ns per ops/procs": 5324.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 14400", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 12990094182.0, "Ops per second": 433003139.4, "ns per ops": 2.31, "Ops per threads": 902089.0, "Ops per procs": 90208987.0, "Ops/sec/procs": 3006966.25, "ns per ops/procs": 332.75}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 800", {"Duration (ms)": 30005.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 93246285.0, "Ops per second": 3107597.38, "ns per ops": 321.79, "Ops per threads": 116557.0, "Ops per procs": 11655785.0, "Ops/sec/procs": 388449.67, "ns per ops/procs": 2574.34}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 2400", {"Duration (ms)": 30008.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 4457966086.0, "Ops per second": 148555742.28, "ns per ops": 6.73, "Ops per threads": 1857485.0, "Ops per procs": 185748586.0, "Ops/sec/procs": 6189822.6, "ns per ops/procs": 161.56}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 1600", {"Duration (ms)": 30007.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 76549671.0, "Ops per second": 2551027.74, "ns per ops": 392.0, "Ops per threads": 47843.0, "Ops per procs": 4784354.0, "Ops/sec/procs": 159439.23, "ns per ops/procs": 6271.98}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30036.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 809363848.0, "Ops per second": 26946424.54, "ns per ops": 37.11, "Ops per threads": 2023409.0, "Ops per procs": 202340962.0, "Ops/sec/procs": 6736606.13, "ns per ops/procs": 148.44}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 200", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 333260541.0, "Ops per second": 11108684.7, "ns per ops": 90.17, "Ops per threads": 1666302.0, "Ops per procs": 166630270.0, "Ops/sec/procs": 5554342.35, "ns per ops/procs": 180.33}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 200", {"Duration (ms)": 30004.0, "Number of processors": 2.0, "Number of threads": 200.0, "Total Operations(ops)": 168121705.0, "Ops per second": 5603235.32, "ns per ops": 178.47, "Ops per threads": 840608.0, "Ops per procs": 84060852.0, "Ops/sec/procs": 2801617.66, "ns per ops/procs": 356.94}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30031.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3447339587.0, "Ops per second": 114790724.23, "ns per ops": 8.71, "Ops per threads": 2154587.0, "Ops per procs": 215458724.0, "Ops/sec/procs": 7174420.26, "ns per ops/procs": 139.38}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 9600", {"Duration (ms)": 30067.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Total Operations(ops)": 38263625.0, "Ops per second": 1272604.57, "ns per ops": 785.79, "Ops per threads": 3985.0, "Ops per procs": 398579.0, "Ops/sec/procs": 13256.3, "ns per ops/procs": 75435.84}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 100", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 270400191.0, "Ops per second": 9013339.0, "ns per ops": 111.0, "Ops per threads": 2704001.0, "Ops per procs": 270400191.0, "Ops/sec/procs": 9013339.0, "ns per ops/procs": 111.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 19200", {"Duration (ms)": 30023.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Total Operations(ops)": 26353755125.0, "Ops per second": 877770057.87, "ns per ops": 1.14, "Ops per threads": 1372591.0, "Ops per procs": 137259141.0, "Ops/sec/procs": 4571719.05, "ns per ops/procs": 218.74}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 1600", {"Duration (ms)": 30032.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 3080009942.0, "Ops per second": 102555720.62, "ns per ops": 9.75, "Ops per threads": 1925006.0, "Ops per procs": 192500621.0, "Ops/sec/procs": 6409732.54, "ns per ops/procs": 156.01}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 800", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 980730642.0, "Ops per second": 32691021.0, "ns per ops": 30.0, "Ops per threads": 1225913.0, "Ops per procs": 122591330.0, "Ops/sec/procs": 4086377.0, "ns per ops/procs": 245.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 14400", {"Duration (ms)": 30061.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Total Operations(ops)": 19515832426.0, "Ops per second": 649191089.89, "ns per ops": 1.54, "Ops per threads": 1355266.0, "Ops per procs": 135526614.0, "Ops/sec/procs": 4508271.46, "ns per ops/procs": 221.81}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 7200", {"Duration (ms)": 30038.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Total Operations(ops)": 34167210.0, "Ops per second": 1137456.97, "ns per ops": 879.15, "Ops per threads": 4745.0, "Ops per procs": 474544.0, "Ops/sec/procs": 15798.01, "ns per ops/procs": 63299.1}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 400", {"Duration (ms)": 30031.0, "Number of processors": 4.0, "Number of threads": 400.0, "Total Operations(ops)": 795254987.0, "Ops per second": 26480577.0, "ns per ops": 37.76, "Ops per threads": 1988137.0, "Ops per procs": 198813746.0, "Ops/sec/procs": 6620144.25, "ns per ops/procs": 151.05}]]1 [["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 10 -t 2400", {"Duration (ms)": 10030.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 415071979.0, "Ops per second": 41507197.0, "ns per ops": 24.0, "Ops per threads": 172946.0, "Ops per procs": 17294665.0, "Ops/sec/procs": 1729466.0, "ns per ops/procs": 579.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 10 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 868181095.0, "Ops per second": 86818109.5, "ns per ops": 11.53, "Ops per threads": 361742.0, "Ops per procs": 36174212.0, "Ops/sec/procs": 3617421.23, "ns per ops/procs": 276.64}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 10 -t 100", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 90502272.0, "Ops per second": 9050227.0, "ns per ops": 111.0, "Ops per threads": 905022.0, "Ops per procs": 90502272.0, "Ops/sec/procs": 9050227.0, "ns per ops/procs": 111.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 10 -t 100", {"Duration (ms)": 10008.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 100521509.0, "Ops per second": 10043710.22, "ns per ops": 99.56, "Ops per threads": 1005215.0, "Ops per procs": 100521509.0, "Ops/sec/procs": 10043710.22, "ns per ops/procs": 99.56}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 10 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 335861578.0, "Ops per second": 33586157.8, "ns per ops": 29.84, "Ops per threads": 419826.0, "Ops per procs": 41982697.0, "Ops/sec/procs": 4198269.72, "ns per ops/procs": 238.69}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 10 -t 800", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 336458246.0, "Ops per second": 33645824.0, "ns per ops": 30.0, "Ops per threads": 420572.0, "Ops per procs": 42057280.0, "Ops/sec/procs": 4205728.0, "ns per ops/procs": 240.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 10 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 863132609.0, "Ops per second": 86313260.9, "ns per ops": 11.59, "Ops per threads": 359638.0, "Ops per procs": 35963858.0, "Ops/sec/procs": 3596385.87, "ns per ops/procs": 278.27}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 10 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 644981830.0, "Ops per second": 64498183.0, "ns per ops": 15.54, "Ops per threads": 403113.0, "Ops per procs": 40311364.0, "Ops/sec/procs": 4031136.44, "ns per ops/procs": 248.71}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 10 -t 1600", {"Duration (ms)": 10022.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 1001843527.0, "Ops per second": 99961538.2, "ns per ops": 10.0, "Ops per threads": 626152.0, "Ops per procs": 62615220.0, "Ops/sec/procs": 6247596.14, "ns per ops/procs": 160.06}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 10 -t 2400", {"Duration (ms)": 10021.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1448950383.0, "Ops per second": 144584592.02, "ns per ops": 6.92, "Ops per threads": 603729.0, "Ops per procs": 60372932.0, "Ops/sec/procs": 6024358.0, "ns per ops/procs": 165.99}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 10 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 67367876.0, "Ops per second": 6736787.6, "ns per ops": 148.69, "Ops per threads": 673678.0, "Ops per procs": 67367876.0, "Ops/sec/procs": 6736787.6, "ns per ops/procs": 148.69}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 10 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 635515991.0, "Ops per second": 63551599.1, "ns per ops": 15.77, "Ops per threads": 397197.0, "Ops per procs": 39719749.0, "Ops/sec/procs": 3971974.94, "ns per ops/procs": 252.34}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 10 -t 1600", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 647292406.0, "Ops per second": 64729240.0, "ns per ops": 15.0, "Ops per threads": 404557.0, "Ops per procs": 40455775.0, "Ops/sec/procs": 4045577.0, "ns per ops/procs": 247.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 10 -t 800", {"Duration (ms)": 10002.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 32040808.0, "Ops per second": 3203363.64, "ns per ops": 312.17, "Ops per threads": 40051.0, "Ops per procs": 4005101.0, "Ops/sec/procs": 400420.45, "ns per ops/procs": 2497.37}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 10 -t 2400", {"Duration (ms)": 10003.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 23453819.0, "Ops per second": 2344620.16, "ns per ops": 426.51, "Ops per threads": 9772.0, "Ops per procs": 977242.0, "Ops/sec/procs": 97692.51, "ns per ops/procs": 10236.2}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 10 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 67463939.0, "Ops per second": 6746393.9, "ns per ops": 148.47, "Ops per threads": 674639.0, "Ops per procs": 67463939.0, "Ops/sec/procs": 6746393.9, "ns per ops/procs": 148.47}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 10 -t 800", {"Duration (ms)": 10009.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 447365602.0, "Ops per second": 44693347.97, "ns per ops": 22.37, "Ops per threads": 559207.0, "Ops per procs": 55920700.0, "Ops/sec/procs": 5586668.5, "ns per ops/procs": 179.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 10 -t 1600", {"Duration (ms)": 10022.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 1004323666.0, "Ops per second": 100208984.11, "ns per ops": 9.98, "Ops per threads": 627702.0, "Ops per procs": 62770229.0, "Ops/sec/procs": 6263061.51, "ns per ops/procs": 159.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 10 -t 2400", {"Duration (ms)": 10022.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1438830223.0, "Ops per second": 143560196.99, "ns per ops": 6.97, "Ops per threads": 599512.0, "Ops per procs": 59951259.0, "Ops/sec/procs": 5981674.87, "ns per ops/procs": 167.18}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 10 -t 1600", {"Duration (ms)": 10002.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 26637182.0, "Ops per second": 2663052.8, "ns per ops": 375.51, "Ops per threads": 16648.0, "Ops per procs": 1664823.0, "Ops/sec/procs": 166440.8, "ns per ops/procs": 6008.14}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 10 -t 1600", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 638755972.0, "Ops per second": 63875597.2, "ns per ops": 15.7, "Ops per threads": 399222.0, "Ops per procs": 39922248.0, "Ops/sec/procs": 3992224.83, "ns per ops/procs": 251.13}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 10 -t 2400", {"Duration (ms)": 10005.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 430182652.0, "Ops per second": 43018265.0, "ns per ops": 23.0, "Ops per threads": 179242.0, "Ops per procs": 17924277.0, "Ops/sec/procs": 1792427.0, "ns per ops/procs": 558.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 10 -t 100", {"Duration (ms)": 10008.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 100472124.0, "Ops per second": 10038792.53, "ns per ops": 99.61, "Ops per threads": 1004721.0, "Ops per procs": 100472124.0, "Ops/sec/procs": 10038792.53, "ns per ops/procs": 99.61}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 10 -t 100", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 117008332.0, "Ops per second": 11700304.5, "ns per ops": 85.47, "Ops per threads": 1170083.0, "Ops per procs": 117008332.0, "Ops/sec/procs": 11700304.5, "ns per ops/procs": 85.47}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 10 -t 2400", {"Duration (ms)": 10003.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 23810780.0, "Ops per second": 2380314.39, "ns per ops": 420.11, "Ops per threads": 9921.0, "Ops per procs": 992115.0, "Ops/sec/procs": 99179.77, "ns per ops/procs": 10082.7}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 10 -t 1600", {"Duration (ms)": 10000.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 675450930.0, "Ops per second": 67545093.0, "ns per ops": 14.0, "Ops per threads": 422156.0, "Ops per procs": 42215683.0, "Ops/sec/procs": 4221568.0, "ns per ops/procs": 236.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 10 -t 100", {"Duration (ms)": 10008.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 100428805.0, "Ops per second": 10034445.55, "ns per ops": 99.66, "Ops per threads": 1004288.0, "Ops per procs": 100428805.0, "Ops/sec/procs": 10034445.55, "ns per ops/procs": 99.66}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 10 -t 100", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 90311107.0, "Ops per second": 9031110.0, "ns per ops": 111.0, "Ops per threads": 903111.0, "Ops per procs": 90311107.0, "Ops/sec/procs": 9031110.0, "ns per ops/procs": 111.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 10 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 333502891.0, "Ops per second": 33350289.1, "ns per ops": 30.05, "Ops per threads": 416878.0, "Ops per procs": 41687861.0, "Ops/sec/procs": 4168786.14, "ns per ops/procs": 240.38}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 10 -t 800", {"Duration (ms)": 10002.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 32147984.0, "Ops per second": 3214143.7, "ns per ops": 311.12, "Ops per threads": 40184.0, "Ops per procs": 4018498.0, "Ops/sec/procs": 401767.96, "ns per ops/procs": 2489.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 10 -t 1600", {"Duration (ms)": 10003.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 689066173.0, "Ops per second": 68906617.0, "ns per ops": 14.0, "Ops per threads": 430666.0, "Ops per procs": 43066635.0, "Ops/sec/procs": 4306663.0, "ns per ops/procs": 232.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 10 -t 800", {"Duration (ms)": 10019.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 441418651.0, "Ops per second": 44056605.57, "ns per ops": 22.7, "Ops per threads": 551773.0, "Ops per procs": 55177331.0, "Ops/sec/procs": 5507075.7, "ns per ops/procs": 181.58}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 10 -t 1600", {"Duration (ms)": 10028.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 999658036.0, "Ops per second": 99685104.34, "ns per ops": 10.03, "Ops per threads": 624786.0, "Ops per procs": 62478627.0, "Ops/sec/procs": 6230319.02, "ns per ops/procs": 160.51}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 10 -t 1600", {"Duration (ms)": 10002.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 26737174.0, "Ops per second": 2672964.85, "ns per ops": 374.12, "Ops per threads": 16710.0, "Ops per procs": 1671073.0, "Ops/sec/procs": 167060.3, "ns per ops/procs": 5985.86}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 10 -t 100", {"Duration (ms)": 10099.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 90695862.0, "Ops per second": 9069586.0, "ns per ops": 111.0, "Ops per threads": 906958.0, "Ops per procs": 90695862.0, "Ops/sec/procs": 9069586.0, "ns per ops/procs": 111.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 10 -t 2400", {"Duration (ms)": 10004.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 1440698903.0, "Ops per second": 144010330.78, "ns per ops": 6.94, "Ops per threads": 600291.0, "Ops per procs": 60029120.0, "Ops/sec/procs": 6000430.45, "ns per ops/procs": 166.65}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 10 -t 2400", {"Duration (ms)": 10003.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 23253629.0, "Ops per second": 2324527.32, "ns per ops": 430.19, "Ops per threads": 9689.0, "Ops per procs": 968901.0, "Ops/sec/procs": 96855.3, "ns per ops/procs": 10324.68}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 10 -t 100", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 116842959.0, "Ops per second": 11683781.88, "ns per ops": 85.59, "Ops per threads": 1168429.0, "Ops per procs": 116842959.0, "Ops/sec/procs": 11683781.88, "ns per ops/procs": 85.59}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 10 -t 100", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 67109099.0, "Ops per second": 6710909.9, "ns per ops": 149.26, "Ops per threads": 671090.0, "Ops per procs": 67109099.0, "Ops/sec/procs": 6710909.9, "ns per ops/procs": 149.26}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 10 -t 100", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 100.0, "Total Operations(ops)": 116630659.0, "Ops per second": 11662547.92, "ns per ops": 85.74, "Ops per threads": 1166306.0, "Ops per procs": 116630659.0, "Ops/sec/procs": 11662547.92, "ns per ops/procs": 85.74}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 10 -t 800", {"Duration (ms)": 10009.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 438143011.0, "Ops per second": 43771074.82, "ns per ops": 22.85, "Ops per threads": 547678.0, "Ops per procs": 54767876.0, "Ops/sec/procs": 5471384.35, "ns per ops/procs": 182.77}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 10 -t 1600", {"Duration (ms)": 10002.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Total Operations(ops)": 26832358.0, "Ops per second": 2682510.65, "ns per ops": 372.79, "Ops per threads": 16770.0, "Ops per procs": 1677022.0, "Ops/sec/procs": 167656.92, "ns per ops/procs": 5964.56}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 10 -t 800", {"Duration (ms)": 10100.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 357826049.0, "Ops per second": 35782604.0, "ns per ops": 28.0, "Ops per threads": 447282.0, "Ops per procs": 44728256.0, "Ops/sec/procs": 4472825.0, "ns per ops/procs": 225.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 10 -t 800", {"Duration (ms)": 10100.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 331894279.0, "Ops per second": 33189427.0, "ns per ops": 30.0, "Ops per threads": 414867.0, "Ops per procs": 41486784.0, "Ops/sec/procs": 4148678.0, "ns per ops/procs": 243.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 10 -t 800", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 335906841.0, "Ops per second": 33590684.1, "ns per ops": 29.83, "Ops per threads": 419883.0, "Ops per procs": 41988355.0, "Ops/sec/procs": 4198835.51, "ns per ops/procs": 238.65}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 10 -t 800", {"Duration (ms)": 10002.0, "Number of processors": 8.0, "Number of threads": 800.0, "Total Operations(ops)": 31669651.0, "Ops per second": 3166283.11, "ns per ops": 315.83, "Ops per threads": 39587.0, "Ops per procs": 3958706.0, "Ops/sec/procs": 395785.39, "ns per ops/procs": 2526.62}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 10 -t 2400", {"Duration (ms)": 10005.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 431374888.0, "Ops per second": 43137488.0, "ns per ops": 23.0, "Ops per threads": 179739.0, "Ops per procs": 17973953.0, "Ops/sec/procs": 1797395.0, "ns per ops/procs": 556.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 10 -t 2400", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Total Operations(ops)": 859381490.0, "Ops per second": 85938149.0, "ns per ops": 11.64, "Ops per threads": 358075.0, "Ops per procs": 35807562.0, "Ops/sec/procs": 3580756.21, "ns per ops/procs": 279.37}]] -
doc/theses/thierry_delisle_PhD/thesis/data/yield.low.jax
r4520b77e r12df6fe 1 [["rdq-yield- fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 889852155.0, "Ops per second": 29639661.51, "ns per ops": 33.74, "Ops per threads": 889852155.0, "Ops per procs": 889852155.0, "Ops/sec/procs": 29639661.51, "ns per ops/procs": 33.74}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3473254370.0, "Ops per second": 115775145.0, "ns per ops": 8.0, "Ops per threads": 217078398.0, "Ops per procs": 217078398.0, "Ops/sec/procs": 7235946.0, "ns per ops/procs": 138.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3722441212.0, "Ops per second": 124081373.0, "ns per ops": 8.0, "Ops per threads": 155101717.0, "Ops per procs": 155101717.0, "Ops/sec/procs": 5170057.0, "ns per ops/procs": 194.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 257259497.0, "Ops per second": 8574979.85, "ns per ops": 116.62, "Ops per threads": 257259497.0, "Ops per procs": 257259497.0, "Ops/sec/procs": 8574979.85, "ns per ops/procs": 116.62}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 502702816.0, "Ops per second": 16756760.0, "ns per ops": 59.0, "Ops per threads": 251351408.0, "Ops per procs": 251351408.0, "Ops/sec/procs": 8378380.0, "ns per ops/procs": 119.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 176907596.0, "Ops per second": 5896444.54, "ns per ops": 169.59, "Ops per threads": 44226899.0, "Ops per procs": 44226899.0, "Ops/sec/procs": 1474111.14, "ns per ops/procs": 678.37}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6541318807.0, "Ops per second": 217879411.62, "ns per ops": 4.59, "Ops per threads": 817664850.0, "Ops per procs": 817664850.0, "Ops/sec/procs": 27234926.45, "ns per ops/procs": 36.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 396676387.0, "Ops per second": 13222546.0, "ns per ops": 75.0, "Ops per threads": 4132045.0, "Ops per procs": 4132045.0, "Ops/sec/procs": 137734.0, "ns per ops/procs": 7283.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 951729276.0, "Ops per second": 31724309.0, "ns per ops": 31.0, "Ops per threads": 237932319.0, "Ops per procs": 237932319.0, "Ops/sec/procs": 7931077.0, "ns per ops/procs": 126.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60723683946.0, "Ops per second": 2023798082.97, "ns per ops": 0.49, "Ops per threads": 421692249.0, "Ops per procs": 421692249.0, "Ops/sec/procs": 14054153.35, "ns per ops/procs": 71.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 702876508.0, "Ops per second": 23429216.93, "ns per ops": 42.71, "Ops per threads": 29286521.0, "Ops per procs": 29286521.0, "Ops/sec/procs": 976217.37, "ns per ops/procs": 1025.07}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6549353222.0, "Ops per second": 218145788.68, "ns per ops": 4.58, "Ops per threads": 818669152.0, "Ops per procs": 818669152.0, "Ops/sec/procs": 27268223.59, "ns per ops/procs": 36.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30023.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 890273934.0, "Ops per second": 29653009.25, "ns per ops": 33.72, "Ops per threads": 890273934.0, "Ops per procs": 890273934.0, "Ops/sec/procs": 29653009.25, "ns per ops/procs": 33.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3769704964.0, "Ops per second": 125656832.0, "ns per ops": 7.0, "Ops per threads": 157071040.0, "Ops per procs": 157071040.0, "Ops/sec/procs": 5235701.0, "ns per ops/procs": 191.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36872783303.0, "Ops per second": 1228841381.09, "ns per ops": 0.81, "Ops per threads": 512121990.0, "Ops per procs": 512121990.0, "Ops/sec/procs": 17067241.4, "ns per ops/procs": 58.59}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238262157.0, "Ops per second": 7942071.9, "ns per ops": 126.12, "Ops per threads": 238262157.0, "Ops per procs": 238262157.0, "Ops/sec/procs": 7942071.9, "ns per ops/procs": 126.12}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30033.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16808610.0, "Ops per second": 559671.31, "ns per ops": 1786.76, "Ops per threads": 87544.0, "Ops per procs": 87544.0, "Ops/sec/procs": 2914.95, "ns per ops/procs": 343058.5}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 411004165.0, "Ops per second": 13700138.0, "ns per ops": 73.0, "Ops per threads": 5708391.0, "Ops per procs": 5708391.0, "Ops/sec/procs": 190279.0, "ns per ops/procs": 5272.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30012.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 374725709.0, "Ops per second": 12485591.75, "ns per ops": 80.09, "Ops per threads": 187362854.0, "Ops per procs": 187362854.0, "Ops/sec/procs": 6242795.88, "ns per ops/procs": 160.18}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3767820262.0, "Ops per second": 125594008.0, "ns per ops": 7.0, "Ops per threads": 156992510.0, "Ops per procs": 156992510.0, "Ops/sec/procs": 5233083.0, "ns per ops/procs": 191.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 247973966.0, "Ops per second": 8265475.83, "ns per ops": 120.99, "Ops per threads": 247973966.0, "Ops per procs": 247973966.0, "Ops/sec/procs": 8265475.83, "ns per ops/procs": 120.99}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41130963.0, "Ops per second": 1370094.58, "ns per ops": 729.88, "Ops per threads": 856895.0, "Ops per procs": 856895.0, "Ops/sec/procs": 28543.64, "ns per ops/procs": 35034.08}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1777690362.0, "Ops per second": 59207833.56, "ns per ops": 16.89, "Ops per threads": 888845181.0, "Ops per procs": 888845181.0, "Ops/sec/procs": 29603916.78, "ns per ops/procs": 33.78}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 254630037.0, "Ops per second": 8487327.25, "ns per ops": 117.82, "Ops per threads": 254630037.0, "Ops per procs": 254630037.0, "Ops/sec/procs": 8487327.25, "ns per ops/procs": 117.82}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30005.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20372375734.0, "Ops per second": 678949732.8, "ns per ops": 1.47, "Ops per threads": 424424494.0, "Ops per procs": 424424494.0, "Ops/sec/procs": 14144786.1, "ns per ops/procs": 70.7}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1864949024.0, "Ops per second": 62164967.47, "ns per ops": 16.1, "Ops per threads": 12951034.0, "Ops per procs": 12951034.0, "Ops/sec/procs": 431701.16, "ns per ops/procs": 2318.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3779158451.0, "Ops per second": 125971948.0, "ns per ops": 7.0, "Ops per threads": 157464935.0, "Ops per procs": 157464935.0, "Ops/sec/procs": 5248831.0, "ns per ops/procs": 191.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1162225781.0, "Ops per second": 38740859.37, "ns per ops": 25.86, "Ops per threads": 24213037.0, "Ops per procs": 24213037.0, "Ops/sec/procs": 807101.24, "ns per ops/procs": 1241.13}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30045.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 22340031.0, "Ops per second": 743542.67, "ns per ops": 1344.91, "Ops per threads": 232708.0, "Ops per procs": 232708.0, "Ops/sec/procs": 7745.24, "ns per ops/procs": 129111.62}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 398470357.0, "Ops per second": 13282345.0, "ns per ops": 75.0, "Ops per threads": 4150732.0, "Ops per procs": 4150732.0, "Ops/sec/procs": 138357.0, "ns per ops/procs": 7251.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 375397731.0, "Ops per second": 12513257.7, "ns per ops": 80.06, "Ops per threads": 93849432.0, "Ops per procs": 93849432.0, "Ops/sec/procs": 3128314.42, "ns per ops/procs": 320.25}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 82739253.0, "Ops per second": 2757670.25, "ns per ops": 362.62, "Ops per threads": 10342406.0, "Ops per procs": 10342406.0, "Ops/sec/procs": 344708.78, "ns per ops/procs": 2901.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 399645982.0, "Ops per second": 13321532.0, "ns per ops": 75.0, "Ops per threads": 5550638.0, "Ops per procs": 5550638.0, "Ops/sec/procs": 185021.0, "ns per ops/procs": 5422.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 255875103.0, "Ops per second": 8528827.31, "ns per ops": 117.25, "Ops per threads": 255875103.0, "Ops per procs": 255875103.0, "Ops/sec/procs": 8528827.31, "ns per ops/procs": 117.25}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 421438583.0, "Ops per second": 14047952.0, "ns per ops": 71.0, "Ops per threads": 5853313.0, "Ops per procs": 5853313.0, "Ops/sec/procs": 195110.0, "ns per ops/procs": 5141.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 243308048.0, "Ops per second": 8110268.0, "ns per ops": 123.0, "Ops per threads": 1267229.0, "Ops per procs": 1267229.0, "Ops/sec/procs": 42240.0, "ns per ops/procs": 23751.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 771634067.0, "Ops per second": 25721135.0, "ns per ops": 39.0, "Ops per threads": 16075709.0, "Ops per procs": 16075709.0, "Ops/sec/procs": 535856.0, "ns per ops/procs": 1872.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1291039134.0, "Ops per second": 43034637.8, "ns per ops": 23.28, "Ops per threads": 13448324.0, "Ops per procs": 13448324.0, "Ops/sec/procs": 448277.48, "ns per ops/procs": 2235.01}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 965155439.0, "Ops per second": 32171847.0, "ns per ops": 31.0, "Ops per threads": 241288859.0, "Ops per procs": 241288859.0, "Ops/sec/procs": 8042961.0, "ns per ops/procs": 124.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 251825179.0, "Ops per second": 8394172.0, "ns per ops": 119.0, "Ops per threads": 1311589.0, "Ops per procs": 1311589.0, "Ops/sec/procs": 43719.0, "ns per ops/procs": 22947.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 250624138.0, "Ops per second": 8353794.15, "ns per ops": 119.71, "Ops per threads": 250624138.0, "Ops per procs": 250624138.0, "Ops/sec/procs": 8353794.15, "ns per ops/procs": 119.71}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3359759630.0, "Ops per second": 111902858.15, "ns per ops": 8.94, "Ops per threads": 839939907.0, "Ops per procs": 839939907.0, "Ops/sec/procs": 27975714.54, "ns per ops/procs": 35.75}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2232644337.0, "Ops per second": 74421477.9, "ns per ops": 13.48, "Ops per threads": 11628355.0, "Ops per procs": 11628355.0, "Ops/sec/procs": 387611.86, "ns per ops/procs": 2587.6}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30031.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23197743.0, "Ops per second": 772459.21, "ns per ops": 1294.57, "Ops per threads": 322190.0, "Ops per procs": 322190.0, "Ops/sec/procs": 10728.6, "ns per ops/procs": 93208.81}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238282805.0, "Ops per second": 7942760.17, "ns per ops": 126.11, "Ops per threads": 238282805.0, "Ops per procs": 238282805.0, "Ops/sec/procs": 7942760.17, "ns per ops/procs": 126.11}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1201336438.0, "Ops per second": 40044547.0, "ns per ops": 25.0, "Ops per threads": 150167054.0, "Ops per procs": 150167054.0, "Ops/sec/procs": 5005568.0, "ns per ops/procs": 200.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3364298371.0, "Ops per second": 112053341.17, "ns per ops": 8.92, "Ops per threads": 841074592.0, "Ops per procs": 841074592.0, "Ops/sec/procs": 28013335.29, "ns per ops/procs": 35.7}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16130033153.0, "Ops per second": 537618974.67, "ns per ops": 1.86, "Ops per threads": 672084714.0, "Ops per procs": 672084714.0, "Ops/sec/procs": 22400790.61, "ns per ops/procs": 44.64}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42073776.0, "Ops per second": 1402110.33, "ns per ops": 713.21, "Ops per threads": 1753074.0, "Ops per procs": 1753074.0, "Ops/sec/procs": 58421.26, "ns per ops/procs": 17117.06}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40553263457.0, "Ops per second": 1351544284.8, "ns per ops": 0.74, "Ops per threads": 422429827.0, "Ops per procs": 422429827.0, "Ops/sec/procs": 14078586.3, "ns per ops/procs": 71.03}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 693466465.0, "Ops per second": 23115548.83, "ns per ops": 43.37, "Ops per threads": 43341654.0, "Ops per procs": 43341654.0, "Ops/sec/procs": 1444721.8, "ns per ops/procs": 693.99}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 328179340.0, "Ops per second": 10939311.33, "ns per ops": 91.57, "Ops per threads": 164089670.0, "Ops per procs": 164089670.0, "Ops/sec/procs": 5469655.67, "ns per ops/procs": 183.14}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 245572420.0, "Ops per second": 8185747.0, "ns per ops": 122.0, "Ops per threads": 1279023.0, "Ops per procs": 1279023.0, "Ops/sec/procs": 42634.0, "ns per ops/procs": 23531.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 80126376.0, "Ops per second": 2670590.88, "ns per ops": 374.45, "Ops per threads": 10015797.0, "Ops per procs": 10015797.0, "Ops/sec/procs": 333823.86, "ns per ops/procs": 2995.59}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1156647665.0, "Ops per second": 38554922.0, "ns per ops": 26.0, "Ops per threads": 144580958.0, "Ops per procs": 144580958.0, "Ops/sec/procs": 4819365.0, "ns per ops/procs": 208.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 325100242.0, "Ops per second": 10836674.0, "ns per ops": 92.0, "Ops per threads": 2257640.0, "Ops per procs": 2257640.0, "Ops/sec/procs": 75254.0, "ns per ops/procs": 13331.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20500362035.0, "Ops per second": 683242117.28, "ns per ops": 1.46, "Ops per threads": 427090875.0, "Ops per procs": 427090875.0, "Ops/sec/procs": 14234210.78, "ns per ops/procs": 70.25}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 931934137.0, "Ops per second": 31064471.23, "ns per ops": 32.21, "Ops per threads": 12943529.0, "Ops per procs": 12943529.0, "Ops/sec/procs": 431450.99, "ns per ops/procs": 2319.24}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1778507963.0, "Ops per second": 59237572.95, "ns per ops": 16.88, "Ops per threads": 889253981.0, "Ops per procs": 889253981.0, "Ops/sec/procs": 29618786.48, "ns per ops/procs": 33.76}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23945848.0, "Ops per second": 797262.66, "ns per ops": 1254.29, "Ops per threads": 332581.0, "Ops per procs": 332581.0, "Ops/sec/procs": 11073.09, "ns per ops/procs": 90309.01}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 176673601.0, "Ops per second": 5888637.2, "ns per ops": 169.82, "Ops per threads": 44168400.0, "Ops per procs": 44168400.0, "Ops/sec/procs": 1472159.3, "ns per ops/procs": 679.27}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 519890881.0, "Ops per second": 17329696.03, "ns per ops": 57.83, "Ops per threads": 64986360.0, "Ops per procs": 64986360.0, "Ops/sec/procs": 2166212.0, "ns per ops/procs": 462.61}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 382377675.0, "Ops per second": 12745922.0, "ns per ops": 78.0, "Ops per threads": 5310801.0, "Ops per procs": 5310801.0, "Ops/sec/procs": 177026.0, "ns per ops/procs": 5667.0}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 41480101.0, "Ops per second": 1382320.91, "ns per ops": 723.42, "Ops per threads": 1728337.0, "Ops per procs": 1728337.0, "Ops/sec/procs": 57596.7, "ns per ops/procs": 17362.1}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 960084042.0, "Ops per second": 32002801.0, "ns per ops": 31.0, "Ops per threads": 240021010.0, "Ops per procs": 240021010.0, "Ops/sec/procs": 8000700.0, "ns per ops/procs": 125.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 256833265.0, "Ops per second": 8560770.12, "ns per ops": 116.81, "Ops per threads": 256833265.0, "Ops per procs": 256833265.0, "Ops/sec/procs": 8560770.12, "ns per ops/procs": 116.81}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30018.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 17086190.0, "Ops per second": 569181.77, "ns per ops": 1756.91, "Ops per threads": 88990.0, "Ops per procs": 88990.0, "Ops/sec/procs": 2964.49, "ns per ops/procs": 337326.33}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30046.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 22839735.0, "Ops per second": 760140.19, "ns per ops": 1315.55, "Ops per threads": 237913.0, "Ops per procs": 237913.0, "Ops/sec/procs": 7918.13, "ns per ops/procs": 126292.49}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3797745125.0, "Ops per second": 126591504.0, "ns per ops": 7.0, "Ops per threads": 158239380.0, "Ops per procs": 158239380.0, "Ops/sec/procs": 5274646.0, "ns per ops/procs": 190.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30006.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60489888044.0, "Ops per second": 2015910225.95, "ns per ops": 0.5, "Ops per threads": 420068666.0, "Ops per procs": 420068666.0, "Ops/sec/procs": 13999376.57, "ns per ops/procs": 71.43}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3767189742.0, "Ops per second": 125572991.0, "ns per ops": 7.0, "Ops per threads": 156966239.0, "Ops per procs": 156966239.0, "Ops/sec/procs": 5232207.0, "ns per ops/procs": 191.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1356653996.0, "Ops per second": 45221799.87, "ns per ops": 22.13, "Ops per threads": 14131812.0, "Ops per procs": 14131812.0, "Ops/sec/procs": 471060.42, "ns per ops/procs": 2124.52}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41531128.0, "Ops per second": 1383405.11, "ns per ops": 722.85, "Ops per threads": 865231.0, "Ops per procs": 865231.0, "Ops/sec/procs": 28820.94, "ns per ops/procs": 34696.99}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1139045543.0, "Ops per second": 37968184.77, "ns per ops": 26.41, "Ops per threads": 23730115.0, "Ops per procs": 23730115.0, "Ops/sec/procs": 791003.85, "ns per ops/procs": 1267.48}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3728242645.0, "Ops per second": 124274754.0, "ns per ops": 8.0, "Ops per threads": 155343443.0, "Ops per procs": 155343443.0, "Ops/sec/procs": 5178114.0, "ns per ops/procs": 193.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30025.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3363753608.0, "Ops per second": 112030042.33, "ns per ops": 8.93, "Ops per threads": 840938402.0, "Ops per procs": 840938402.0, "Ops/sec/procs": 28007510.58, "ns per ops/procs": 35.7}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16122956518.0, "Ops per second": 537382067.51, "ns per ops": 1.86, "Ops per threads": 671789854.0, "Ops per procs": 671789854.0, "Ops/sec/procs": 22390919.48, "ns per ops/procs": 44.66}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2278604593.0, "Ops per second": 75953486.43, "ns per ops": 13.18, "Ops per threads": 11867732.0, "Ops per procs": 11867732.0, "Ops/sec/procs": 395591.08, "ns per ops/procs": 2529.9}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273966591.0, "Ops per second": 9132219.0, "ns per ops": 109.0, "Ops per threads": 273966591.0, "Ops per procs": 273966591.0, "Ops/sec/procs": 9132219.0, "ns per ops/procs": 109.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 171446640.0, "Ops per second": 5714401.35, "ns per ops": 175.0, "Ops per threads": 42861660.0, "Ops per procs": 42861660.0, "Ops/sec/procs": 1428600.34, "ns per ops/procs": 699.99}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 82634041134.0, "Ops per second": 2753962580.65, "ns per ops": 0.36, "Ops per threads": 430385630.0, "Ops per procs": 430385630.0, "Ops/sec/procs": 14343555.11, "ns per ops/procs": 69.72}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30010.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 383277144.0, "Ops per second": 12771429.2, "ns per ops": 78.3, "Ops per threads": 191638572.0, "Ops per procs": 191638572.0, "Ops/sec/procs": 6385714.6, "ns per ops/procs": 156.6}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 49621904.0, "Ops per second": 1653734.91, "ns per ops": 604.69, "Ops per threads": 3101369.0, "Ops per procs": 3101369.0, "Ops/sec/procs": 103358.43, "ns per ops/procs": 9675.07}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6548668042.0, "Ops per second": 218123209.49, "ns per ops": 4.58, "Ops per threads": 818583505.0, "Ops per procs": 818583505.0, "Ops/sec/procs": 27265401.19, "ns per ops/procs": 36.68}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 870741487.0, "Ops per second": 29024716.23, "ns per ops": 34.49, "Ops per threads": 12093631.0, "Ops per procs": 12093631.0, "Ops/sec/procs": 403121.06, "ns per ops/procs": 2483.08}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1776660318.0, "Ops per second": 59175556.71, "ns per ops": 16.9, "Ops per threads": 888330159.0, "Ops per procs": 888330159.0, "Ops/sec/procs": 29587778.35, "ns per ops/procs": 33.8}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30034.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23546545.0, "Ops per second": 783989.31, "ns per ops": 1275.53, "Ops per threads": 327035.0, "Ops per procs": 327035.0, "Ops/sec/procs": 10888.74, "ns per ops/procs": 91837.99}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 891236355.0, "Ops per second": 29685896.1, "ns per ops": 33.69, "Ops per threads": 891236355.0, "Ops per procs": 891236355.0, "Ops/sec/procs": 29685896.1, "ns per ops/procs": 33.69}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238168520.0, "Ops per second": 7938950.67, "ns per ops": 126.17, "Ops per threads": 238168520.0, "Ops per procs": 238168520.0, "Ops/sec/procs": 7938950.67, "ns per ops/procs": 126.17}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273308619.0, "Ops per second": 9110287.0, "ns per ops": 110.0, "Ops per threads": 273308619.0, "Ops per procs": 273308619.0, "Ops/sec/procs": 9110287.0, "ns per ops/procs": 110.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 323490675.0, "Ops per second": 10783022.5, "ns per ops": 92.9, "Ops per threads": 161745337.0, "Ops per procs": 161745337.0, "Ops/sec/procs": 5391511.25, "ns per ops/procs": 185.8}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41810318.0, "Ops per second": 1392690.2, "ns per ops": 718.03, "Ops per threads": 871048.0, "Ops per procs": 871048.0, "Ops/sec/procs": 29014.38, "ns per ops/procs": 34465.67}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 738357213.0, "Ops per second": 24611907.1, "ns per ops": 40.66, "Ops per threads": 30764883.0, "Ops per procs": 30764883.0, "Ops/sec/procs": 1025496.13, "ns per ops/procs": 975.84}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 891467219.0, "Ops per second": 29693523.64, "ns per ops": 33.68, "Ops per threads": 891467219.0, "Ops per procs": 891467219.0, "Ops/sec/procs": 29693523.64, "ns per ops/procs": 33.68}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6535924139.0, "Ops per second": 217698192.95, "ns per ops": 4.59, "Ops per threads": 816990517.0, "Ops per procs": 816990517.0, "Ops/sec/procs": 27212274.12, "ns per ops/procs": 36.75}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1212303508.0, "Ops per second": 40410116.0, "ns per ops": 24.0, "Ops per threads": 151537938.0, "Ops per procs": 151537938.0, "Ops/sec/procs": 5051264.0, "ns per ops/procs": 198.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16123963392.0, "Ops per second": 537416353.43, "ns per ops": 1.86, "Ops per threads": 671831808.0, "Ops per procs": 671831808.0, "Ops/sec/procs": 22392348.06, "ns per ops/procs": 44.66}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 274111231.0, "Ops per second": 9137041.0, "ns per ops": 109.0, "Ops per threads": 274111231.0, "Ops per procs": 274111231.0, "Ops/sec/procs": 9137041.0, "ns per ops/procs": 109.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 243698698.0, "Ops per second": 8123289.0, "ns per ops": 123.0, "Ops per threads": 1269264.0, "Ops per procs": 1269264.0, "Ops/sec/procs": 42308.0, "ns per ops/procs": 23712.0}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41590028.0, "Ops per second": 1385322.44, "ns per ops": 721.85, "Ops per threads": 866458.0, "Ops per procs": 866458.0, "Ops/sec/procs": 28860.88, "ns per ops/procs": 34648.97}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1311557022.0, "Ops per second": 43718567.4, "ns per ops": 22.91, "Ops per threads": 13662052.0, "Ops per procs": 13662052.0, "Ops/sec/procs": 455401.74, "ns per ops/procs": 2199.13}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 244388706.0, "Ops per second": 8146290.0, "ns per ops": 123.0, "Ops per threads": 1272857.0, "Ops per procs": 1272857.0, "Ops/sec/procs": 42428.0, "ns per ops/procs": 23645.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40662293816.0, "Ops per second": 1355191942.97, "ns per ops": 0.74, "Ops per threads": 423565560.0, "Ops per procs": 423565560.0, "Ops/sec/procs": 14116582.74, "ns per ops/procs": 70.84}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30039.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 82025063003.0, "Ops per second": 2730556097.42, "ns per ops": 0.37, "Ops per threads": 427213869.0, "Ops per procs": 427213869.0, "Ops/sec/procs": 14221646.34, "ns per ops/procs": 70.32}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50391343.0, "Ops per second": 1679377.76, "ns per ops": 595.46, "Ops per threads": 3149458.0, "Ops per procs": 3149458.0, "Ops/sec/procs": 104961.11, "ns per ops/procs": 9527.34}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1950177290.0, "Ops per second": 65005909.67, "ns per ops": 15.39, "Ops per threads": 13542897.0, "Ops per procs": 13542897.0, "Ops/sec/procs": 451429.93, "ns per ops/procs": 2216.19}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 41856262.0, "Ops per second": 1394855.36, "ns per ops": 716.92, "Ops per threads": 1744010.0, "Ops per procs": 1744010.0, "Ops/sec/procs": 58118.97, "ns per ops/procs": 17206.09}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6553115104.0, "Ops per second": 218270444.84, "ns per ops": 4.58, "Ops per threads": 819139388.0, "Ops per procs": 819139388.0, "Ops/sec/procs": 27283805.61, "ns per ops/procs": 36.65}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 172709755.0, "Ops per second": 5756537.11, "ns per ops": 173.72, "Ops per threads": 43177438.0, "Ops per procs": 43177438.0, "Ops/sec/procs": 1439134.28, "ns per ops/procs": 694.86}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36598765378.0, "Ops per second": 1219807153.36, "ns per ops": 0.82, "Ops per threads": 508316185.0, "Ops per procs": 508316185.0, "Ops/sec/procs": 16941766.02, "ns per ops/procs": 59.03}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36064065805.0, "Ops per second": 1201988042.74, "ns per ops": 0.83, "Ops per threads": 500889802.0, "Ops per procs": 500889802.0, "Ops/sec/procs": 16694278.37, "ns per ops/procs": 59.9}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 405844548.0, "Ops per second": 13528151.0, "ns per ops": 74.0, "Ops per threads": 5636729.0, "Ops per procs": 5636729.0, "Ops/sec/procs": 187890.0, "ns per ops/procs": 5339.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 237095678.0, "Ops per second": 7903189.27, "ns per ops": 126.74, "Ops per threads": 237095678.0, "Ops per procs": 237095678.0, "Ops/sec/procs": 7903189.27, "ns per ops/procs": 126.74}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 377332289.0, "Ops per second": 12577742.97, "ns per ops": 79.65, "Ops per threads": 94333072.0, "Ops per procs": 94333072.0, "Ops/sec/procs": 3144435.74, "ns per ops/procs": 318.61}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 81963368.0, "Ops per second": 2731803.55, "ns per ops": 366.06, "Ops per threads": 10245421.0, "Ops per procs": 10245421.0, "Ops/sec/procs": 341475.44, "ns per ops/procs": 2928.47}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 274226943.0, "Ops per second": 9140898.0, "ns per ops": 109.0, "Ops per threads": 274226943.0, "Ops per procs": 274226943.0, "Ops/sec/procs": 9140898.0, "ns per ops/procs": 109.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 735934385.0, "Ops per second": 24531146.17, "ns per ops": 40.79, "Ops per threads": 30663932.0, "Ops per procs": 30663932.0, "Ops/sec/procs": 1022131.09, "ns per ops/procs": 979.05}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1778046636.0, "Ops per second": 59222237.82, "ns per ops": 16.89, "Ops per threads": 889023318.0, "Ops per procs": 889023318.0, "Ops/sec/procs": 29611118.91, "ns per ops/procs": 33.77}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 705492901.0, "Ops per second": 23516430.03, "ns per ops": 42.63, "Ops per threads": 44093306.0, "Ops per procs": 44093306.0, "Ops/sec/procs": 1469776.88, "ns per ops/procs": 682.14}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2369247162.0, "Ops per second": 78974905.4, "ns per ops": 12.68, "Ops per threads": 12339828.0, "Ops per procs": 12339828.0, "Ops/sec/procs": 411327.63, "ns per ops/procs": 2434.49}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 257115322.0, "Ops per second": 8570162.33, "ns per ops": 116.68, "Ops per threads": 257115322.0, "Ops per procs": 257115322.0, "Ops/sec/procs": 8570162.33, "ns per ops/procs": 116.68}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30051.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 82873046554.0, "Ops per second": 2757686443.97, "ns per ops": 0.36, "Ops per threads": 431630450.0, "Ops per procs": 431630450.0, "Ops/sec/procs": 14362950.23, "ns per ops/procs": 69.62}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3364586288.0, "Ops per second": 112062628.38, "ns per ops": 8.92, "Ops per threads": 841146572.0, "Ops per procs": 841146572.0, "Ops/sec/procs": 28015657.09, "ns per ops/procs": 35.69}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 478815200.0, "Ops per second": 15960506.0, "ns per ops": 62.0, "Ops per threads": 6650211.0, "Ops per procs": 6650211.0, "Ops/sec/procs": 221673.0, "ns per ops/procs": 4525.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30003.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20753536441.0, "Ops per second": 691697855.12, "ns per ops": 1.45, "Ops per threads": 432365342.0, "Ops per procs": 432365342.0, "Ops/sec/procs": 14410371.98, "ns per ops/procs": 69.39}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 335968912.0, "Ops per second": 11198963.73, "ns per ops": 89.44, "Ops per threads": 167984456.0, "Ops per procs": 167984456.0, "Ops/sec/procs": 5599481.87, "ns per ops/procs": 178.89}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30033.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23092176.0, "Ops per second": 768883.0, "ns per ops": 1300.59, "Ops per threads": 320724.0, "Ops per procs": 320724.0, "Ops/sec/procs": 10678.93, "ns per ops/procs": 93642.34}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 960812478.0, "Ops per second": 32027082.0, "ns per ops": 31.0, "Ops per threads": 240203119.0, "Ops per procs": 240203119.0, "Ops/sec/procs": 8006770.0, "ns per ops/procs": 125.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 494793419.0, "Ops per second": 16493113.0, "ns per ops": 60.0, "Ops per threads": 247396709.0, "Ops per procs": 247396709.0, "Ops/sec/procs": 8246556.0, "ns per ops/procs": 121.0}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 40951635.0, "Ops per second": 1364719.32, "ns per ops": 732.75, "Ops per threads": 1706318.0, "Ops per procs": 1706318.0, "Ops/sec/procs": 56863.3, "ns per ops/procs": 17586.03}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2447749744.0, "Ops per second": 81591658.13, "ns per ops": 12.26, "Ops per threads": 12748696.0, "Ops per procs": 12748696.0, "Ops/sec/procs": 424956.55, "ns per ops/procs": 2354.42}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 254536773.0, "Ops per second": 8484220.38, "ns per ops": 117.87, "Ops per threads": 254536773.0, "Ops per procs": 254536773.0, "Ops/sec/procs": 8484220.38, "ns per ops/procs": 117.87}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 503002458.0, "Ops per second": 16766748.0, "ns per ops": 59.0, "Ops per threads": 251501229.0, "Ops per procs": 251501229.0, "Ops/sec/procs": 8383374.0, "ns per ops/procs": 119.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 336119170.0, "Ops per second": 11203972.0, "ns per ops": 89.0, "Ops per threads": 2334160.0, "Ops per procs": 2334160.0, "Ops/sec/procs": 77805.0, "ns per ops/procs": 12894.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50869827.0, "Ops per second": 1695341.3, "ns per ops": 589.85, "Ops per threads": 3179364.0, "Ops per procs": 3179364.0, "Ops/sec/procs": 105958.83, "ns per ops/procs": 9437.63}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 929695127.0, "Ops per second": 30989837.57, "ns per ops": 32.29, "Ops per threads": 12912432.0, "Ops per procs": 12912432.0, "Ops/sec/procs": 430414.41, "ns per ops/procs": 2324.94}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 167695277.0, "Ops per second": 5589364.85, "ns per ops": 178.91, "Ops per threads": 41923819.0, "Ops per procs": 41923819.0, "Ops/sec/procs": 1397341.21, "ns per ops/procs": 715.64}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50648284.0, "Ops per second": 1687967.71, "ns per ops": 592.43, "Ops per threads": 3165517.0, "Ops per procs": 3165517.0, "Ops/sec/procs": 105497.98, "ns per ops/procs": 9478.85}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20575090198.0, "Ops per second": 685734711.01, "ns per ops": 1.46, "Ops per threads": 428647712.0, "Ops per procs": 428647712.0, "Ops/sec/procs": 14286139.81, "ns per ops/procs": 70.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 419290999.0, "Ops per second": 13976366.0, "ns per ops": 71.0, "Ops per threads": 4367614.0, "Ops per procs": 4367614.0, "Ops/sec/procs": 145587.0, "ns per ops/procs": 6891.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 401164809.0, "Ops per second": 13372160.0, "ns per ops": 75.0, "Ops per threads": 4178800.0, "Ops per procs": 4178800.0, "Ops/sec/procs": 139293.0, "ns per ops/procs": 7202.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 887600299.0, "Ops per second": 29564908.13, "ns per ops": 33.82, "Ops per threads": 887600299.0, "Ops per procs": 887600299.0, "Ops/sec/procs": 29564908.13, "ns per ops/procs": 33.82}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2444559914.0, "Ops per second": 81485330.47, "ns per ops": 12.29, "Ops per threads": 12732082.0, "Ops per procs": 12732082.0, "Ops/sec/procs": 424402.76, "ns per ops/procs": 2359.23}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1164348098.0, "Ops per second": 38811603.0, "ns per ops": 25.0, "Ops per threads": 145543512.0, "Ops per procs": 145543512.0, "Ops/sec/procs": 4851450.0, "ns per ops/procs": 206.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2472165596.0, "Ops per second": 82405519.87, "ns per ops": 12.15, "Ops per threads": 12875862.0, "Ops per procs": 12875862.0, "Ops/sec/procs": 429195.42, "ns per ops/procs": 2331.85}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 242653000.0, "Ops per second": 8088433.0, "ns per ops": 124.0, "Ops per threads": 1263817.0, "Ops per procs": 1263817.0, "Ops/sec/procs": 42127.0, "ns per ops/procs": 23815.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 693765601.0, "Ops per second": 23125520.03, "ns per ops": 43.35, "Ops per threads": 43360350.0, "Ops per procs": 43360350.0, "Ops/sec/procs": 1445345.0, "ns per ops/procs": 693.67}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 700309211.0, "Ops per second": 23343640.37, "ns per ops": 42.95, "Ops per threads": 43769325.0, "Ops per procs": 43769325.0, "Ops/sec/procs": 1458977.52, "ns per ops/procs": 687.21}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1153639106.0, "Ops per second": 38454636.87, "ns per ops": 26.05, "Ops per threads": 24034148.0, "Ops per procs": 24034148.0, "Ops/sec/procs": 801138.27, "ns per ops/procs": 1250.4}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41036132.0, "Ops per second": 1366916.53, "ns per ops": 731.57, "Ops per threads": 854919.0, "Ops per procs": 854919.0, "Ops/sec/procs": 28477.43, "ns per ops/procs": 35115.53}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6549726502.0, "Ops per second": 218159557.03, "ns per ops": 4.58, "Ops per threads": 818715812.0, "Ops per procs": 818715812.0, "Ops/sec/procs": 27269944.63, "ns per ops/procs": 36.67}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1304871853.0, "Ops per second": 43495728.43, "ns per ops": 22.99, "Ops per threads": 13592415.0, "Ops per procs": 13592415.0, "Ops/sec/procs": 453080.5, "ns per ops/procs": 2207.14}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30047.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 23686948.0, "Ops per second": 788314.75, "ns per ops": 1268.53, "Ops per threads": 246739.0, "Ops per procs": 246739.0, "Ops/sec/procs": 8211.61, "ns per ops/procs": 121778.77}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 257044465.0, "Ops per second": 8567804.83, "ns per ops": 116.72, "Ops per threads": 257044465.0, "Ops per procs": 257044465.0, "Ops/sec/procs": 8567804.83, "ns per ops/procs": 116.72}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 965034247.0, "Ops per second": 32167808.23, "ns per ops": 31.12, "Ops per threads": 13403253.0, "Ops per procs": 13403253.0, "Ops/sec/procs": 446775.11, "ns per ops/procs": 2240.31}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238199800.0, "Ops per second": 7939993.33, "ns per ops": 126.15, "Ops per threads": 238199800.0, "Ops per procs": 238199800.0, "Ops/sec/procs": 7939993.33, "ns per ops/procs": 126.15}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42132557.0, "Ops per second": 1404067.59, "ns per ops": 712.22, "Ops per threads": 1755523.0, "Ops per procs": 1755523.0, "Ops/sec/procs": 58502.82, "ns per ops/procs": 17093.19}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1165908437.0, "Ops per second": 38863614.0, "ns per ops": 25.0, "Ops per threads": 24289759.0, "Ops per procs": 24289759.0, "Ops/sec/procs": 809658.0, "ns per ops/procs": 1239.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 51491247.0, "Ops per second": 1716062.37, "ns per ops": 582.73, "Ops per threads": 3218202.0, "Ops per procs": 3218202.0, "Ops/sec/procs": 107253.9, "ns per ops/procs": 9323.67}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 82692441.0, "Ops per second": 2756078.92, "ns per ops": 362.83, "Ops per threads": 10336555.0, "Ops per procs": 10336555.0, "Ops/sec/procs": 344509.86, "ns per ops/procs": 2902.67}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30034.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23870619.0, "Ops per second": 794761.08, "ns per ops": 1258.24, "Ops per threads": 331536.0, "Ops per procs": 331536.0, "Ops/sec/procs": 11038.35, "ns per ops/procs": 90593.26}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 233550520.0, "Ops per second": 7785017.0, "ns per ops": 128.0, "Ops per threads": 1216408.0, "Ops per procs": 1216408.0, "Ops/sec/procs": 40546.0, "ns per ops/procs": 24742.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 770751083.0, "Ops per second": 25691702.0, "ns per ops": 39.0, "Ops per threads": 16057314.0, "Ops per procs": 16057314.0, "Ops/sec/procs": 535243.0, "ns per ops/procs": 1874.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 949326496.0, "Ops per second": 31644216.0, "ns per ops": 31.0, "Ops per threads": 237331624.0, "Ops per procs": 237331624.0, "Ops/sec/procs": 7911054.0, "ns per ops/procs": 126.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16125482034.0, "Ops per second": 537465781.95, "ns per ops": 1.86, "Ops per threads": 671895084.0, "Ops per procs": 671895084.0, "Ops/sec/procs": 22394407.58, "ns per ops/procs": 44.65}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16129089459.0, "Ops per second": 537586664.1, "ns per ops": 1.86, "Ops per threads": 672045394.0, "Ops per procs": 672045394.0, "Ops/sec/procs": 22399444.34, "ns per ops/procs": 44.64}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41949190.0, "Ops per second": 1397363.36, "ns per ops": 715.63, "Ops per threads": 873941.0, "Ops per procs": 873941.0, "Ops/sec/procs": 29111.74, "ns per ops/procs": 34350.41}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30068.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60905750190.0, "Ops per second": 2025589354.18, "ns per ops": 0.49, "Ops per threads": 422956598.0, "Ops per procs": 422956598.0, "Ops/sec/procs": 14066592.74, "ns per ops/procs": 71.09}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20524861242.0, "Ops per second": 684059410.1, "ns per ops": 1.46, "Ops per threads": 427601275.0, "Ops per procs": 427601275.0, "Ops/sec/procs": 14251237.71, "ns per ops/procs": 70.17}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 257418267.0, "Ops per second": 8580270.03, "ns per ops": 116.55, "Ops per threads": 257418267.0, "Ops per procs": 257418267.0, "Ops/sec/procs": 8580270.03, "ns per ops/procs": 116.55}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1217827675.0, "Ops per second": 40594255.0, "ns per ops": 24.0, "Ops per threads": 25371409.0, "Ops per procs": 25371409.0, "Ops/sec/procs": 845713.0, "ns per ops/procs": 1186.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30027.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16274906.0, "Ops per second": 541991.01, "ns per ops": 1845.05, "Ops per threads": 84765.0, "Ops per procs": 84765.0, "Ops/sec/procs": 2822.87, "ns per ops/procs": 354249.42}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41438718.0, "Ops per second": 1380338.33, "ns per ops": 724.46, "Ops per threads": 863306.0, "Ops per procs": 863306.0, "Ops/sec/procs": 28757.05, "ns per ops/procs": 34774.08}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 333522567.0, "Ops per second": 11117418.9, "ns per ops": 90.1, "Ops per threads": 166761283.0, "Ops per procs": 166761283.0, "Ops/sec/procs": 5558709.45, "ns per ops/procs": 180.21}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16121834865.0, "Ops per second": 537345482.41, "ns per ops": 1.86, "Ops per threads": 671743119.0, "Ops per procs": 671743119.0, "Ops/sec/procs": 22389395.1, "ns per ops/procs": 44.66}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3363180156.0, "Ops per second": 112016276.5, "ns per ops": 8.93, "Ops per threads": 840795039.0, "Ops per procs": 840795039.0, "Ops/sec/procs": 28004069.13, "ns per ops/procs": 35.71}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30008.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 362578008.0, "Ops per second": 12082395.93, "ns per ops": 82.77, "Ops per threads": 181289004.0, "Ops per procs": 181289004.0, "Ops/sec/procs": 6041197.96, "ns per ops/procs": 165.53}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 35712485756.0, "Ops per second": 1190248920.91, "ns per ops": 0.84, "Ops per threads": 496006746.0, "Ops per procs": 496006746.0, "Ops/sec/procs": 16531235.01, "ns per ops/procs": 60.49}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 505015476.0, "Ops per second": 16833849.0, "ns per ops": 59.0, "Ops per threads": 252507738.0, "Ops per procs": 252507738.0, "Ops/sec/procs": 8416924.0, "ns per ops/procs": 119.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 312144947.0, "Ops per second": 10404831.0, "ns per ops": 96.0, "Ops per threads": 2167673.0, "Ops per procs": 2167673.0, "Ops/sec/procs": 72255.0, "ns per ops/procs": 13884.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30012.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 368676823.0, "Ops per second": 12284255.2, "ns per ops": 81.41, "Ops per threads": 184338411.0, "Ops per procs": 184338411.0, "Ops/sec/procs": 6142127.6, "ns per ops/procs": 162.81}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 256563825.0, "Ops per second": 8551789.05, "ns per ops": 116.93, "Ops per threads": 256563825.0, "Ops per procs": 256563825.0, "Ops/sec/procs": 8551789.05, "ns per ops/procs": 116.93}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 446722161.0, "Ops per second": 14890738.0, "ns per ops": 67.0, "Ops per threads": 3102237.0, "Ops per procs": 3102237.0, "Ops/sec/procs": 103407.0, "ns per ops/procs": 9701.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60804532717.0, "Ops per second": 2026469742.87, "ns per ops": 0.49, "Ops per threads": 422253699.0, "Ops per procs": 422253699.0, "Ops/sec/procs": 14072706.55, "ns per ops/procs": 71.06}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2308509229.0, "Ops per second": 76950307.63, "ns per ops": 13.04, "Ops per threads": 12023485.0, "Ops per procs": 12023485.0, "Ops/sec/procs": 400782.85, "ns per ops/procs": 2503.42}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 41521839.0, "Ops per second": 1383705.95, "ns per ops": 722.7, "Ops per threads": 1730076.0, "Ops per procs": 1730076.0, "Ops/sec/procs": 57654.41, "ns per ops/procs": 17344.73}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 956931459.0, "Ops per second": 31897715.0, "ns per ops": 31.0, "Ops per threads": 239232864.0, "Ops per procs": 239232864.0, "Ops/sec/procs": 7974428.0, "ns per ops/procs": 125.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 700783115.0, "Ops per second": 23359437.17, "ns per ops": 42.84, "Ops per threads": 29199296.0, "Ops per procs": 29199296.0, "Ops/sec/procs": 973309.88, "ns per ops/procs": 1028.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1358001930.0, "Ops per second": 45266731.0, "ns per ops": 22.13, "Ops per threads": 14145853.0, "Ops per procs": 14145853.0, "Ops/sec/procs": 471528.45, "ns per ops/procs": 2124.41}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 364152363.0, "Ops per second": 12138412.0, "ns per ops": 82.0, "Ops per threads": 2528835.0, "Ops per procs": 2528835.0, "Ops/sec/procs": 84294.0, "ns per ops/procs": 11901.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3353352707.0, "Ops per second": 111778423.0, "ns per ops": 8.0, "Ops per threads": 209584544.0, "Ops per procs": 209584544.0, "Ops/sec/procs": 6986151.0, "ns per ops/procs": 143.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 62092838229.0, "Ops per second": 2069466995.4, "ns per ops": 0.48, "Ops per threads": 431200265.0, "Ops per procs": 431200265.0, "Ops/sec/procs": 14371298.58, "ns per ops/procs": 69.58}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30006.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 81200074933.0, "Ops per second": 2706062194.05, "ns per ops": 0.37, "Ops per threads": 422917056.0, "Ops per procs": 422917056.0, "Ops/sec/procs": 14094073.93, "ns per ops/procs": 70.95}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 698917861.0, "Ops per second": 23297262.03, "ns per ops": 43.04, "Ops per threads": 43682366.0, "Ops per procs": 43682366.0, "Ops/sec/procs": 1456078.88, "ns per ops/procs": 688.57}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 329706297.0, "Ops per second": 10990209.0, "ns per ops": 91.0, "Ops per threads": 2289627.0, "Ops per procs": 2289627.0, "Ops/sec/procs": 76320.0, "ns per ops/procs": 13145.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36351777409.0, "Ops per second": 1211569108.97, "ns per ops": 0.83, "Ops per threads": 504885797.0, "Ops per procs": 504885797.0, "Ops/sec/procs": 16827348.74, "ns per ops/procs": 59.43}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1863902454.0, "Ops per second": 62130081.8, "ns per ops": 16.1, "Ops per threads": 12943767.0, "Ops per procs": 12943767.0, "Ops/sec/procs": 431458.9, "ns per ops/procs": 2318.47}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41128250.0, "Ops per second": 1369939.44, "ns per ops": 729.96, "Ops per threads": 856838.0, "Ops per procs": 856838.0, "Ops/sec/procs": 28540.4, "ns per ops/procs": 35038.05}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1160409379.0, "Ops per second": 38680312.63, "ns per ops": 25.9, "Ops per threads": 24175195.0, "Ops per procs": 24175195.0, "Ops/sec/procs": 805839.85, "ns per ops/procs": 1243.09}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6548506400.0, "Ops per second": 218117920.07, "ns per ops": 4.58, "Ops per threads": 818563300.0, "Ops per procs": 818563300.0, "Ops/sec/procs": 27264740.01, "ns per ops/procs": 36.68}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30008.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 359153452.0, "Ops per second": 11968537.15, "ns per ops": 83.55, "Ops per threads": 179576726.0, "Ops per procs": 179576726.0, "Ops/sec/procs": 5984268.57, "ns per ops/procs": 167.1}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30037.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 21928745.0, "Ops per second": 730044.26, "ns per ops": 1369.78, "Ops per threads": 304565.0, "Ops per procs": 304565.0, "Ops/sec/procs": 10139.5, "ns per ops/procs": 98624.16}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16132875565.0, "Ops per second": 537711775.3, "ns per ops": 1.86, "Ops per threads": 672203148.0, "Ops per procs": 672203148.0, "Ops/sec/procs": 22404657.3, "ns per ops/procs": 44.63}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30028.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 35576856468.0, "Ops per second": 1184750774.79, "ns per ops": 0.84, "Ops per threads": 494123006.0, "Ops per procs": 494123006.0, "Ops/sec/procs": 16454871.87, "ns per ops/procs": 60.77}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30026.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16706652.0, "Ops per second": 556394.7, "ns per ops": 1797.29, "Ops per threads": 87013.0, "Ops per procs": 87013.0, "Ops/sec/procs": 2897.89, "ns per ops/procs": 345078.77}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1366701155.0, "Ops per second": 45556705.17, "ns per ops": 21.95, "Ops per threads": 14236470.0, "Ops per procs": 14236470.0, "Ops/sec/procs": 474549.01, "ns per ops/procs": 2107.38}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 953111551.0, "Ops per second": 31770385.0, "ns per ops": 31.0, "Ops per threads": 238277887.0, "Ops per procs": 238277887.0, "Ops/sec/procs": 7942596.0, "ns per ops/procs": 126.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6544217566.0, "Ops per second": 217975526.07, "ns per ops": 4.59, "Ops per threads": 818027195.0, "Ops per procs": 818027195.0, "Ops/sec/procs": 27246940.76, "ns per ops/procs": 36.7}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3361815801.0, "Ops per second": 111970800.61, "ns per ops": 8.93, "Ops per threads": 840453950.0, "Ops per procs": 840453950.0, "Ops/sec/procs": 27992700.15, "ns per ops/procs": 35.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1159015029.0, "Ops per second": 38633834.0, "ns per ops": 25.0, "Ops per threads": 144876878.0, "Ops per procs": 144876878.0, "Ops/sec/procs": 4829229.0, "ns per ops/procs": 207.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40526868169.0, "Ops per second": 1350676682.6, "ns per ops": 0.74, "Ops per threads": 422154876.0, "Ops per procs": 422154876.0, "Ops/sec/procs": 14069548.78, "ns per ops/procs": 71.08}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 384696066.0, "Ops per second": 12823202.0, "ns per ops": 78.0, "Ops per threads": 4007250.0, "Ops per procs": 4007250.0, "Ops/sec/procs": 133575.0, "ns per ops/procs": 7510.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 237080549.0, "Ops per second": 7902684.97, "ns per ops": 126.75, "Ops per threads": 237080549.0, "Ops per procs": 237080549.0, "Ops/sec/procs": 7902684.97, "ns per ops/procs": 126.75}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3359880470.0, "Ops per second": 111905895.32, "ns per ops": 8.94, "Ops per threads": 839970117.0, "Ops per procs": 839970117.0, "Ops/sec/procs": 27976473.83, "ns per ops/procs": 35.74}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30098.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 507364277.0, "Ops per second": 16912142.0, "ns per ops": 59.0, "Ops per threads": 253682138.0, "Ops per procs": 253682138.0, "Ops/sec/procs": 8456071.0, "ns per ops/procs": 118.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3482154065.0, "Ops per second": 116071802.0, "ns per ops": 8.0, "Ops per threads": 217634629.0, "Ops per procs": 217634629.0, "Ops/sec/procs": 7254487.0, "ns per ops/procs": 138.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30098.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 501896899.0, "Ops per second": 16729896.0, "ns per ops": 59.0, "Ops per threads": 250948449.0, "Ops per procs": 250948449.0, "Ops/sec/procs": 8364948.0, "ns per ops/procs": 119.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 891401856.0, "Ops per second": 29691317.68, "ns per ops": 33.68, "Ops per threads": 891401856.0, "Ops per procs": 891401856.0, "Ops/sec/procs": 29691317.68, "ns per ops/procs": 33.68}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 963700255.0, "Ops per second": 32123341.0, "ns per ops": 31.0, "Ops per threads": 240925063.0, "Ops per procs": 240925063.0, "Ops/sec/procs": 8030835.0, "ns per ops/procs": 124.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1142283678.0, "Ops per second": 38076122.6, "ns per ops": 26.3, "Ops per threads": 23797576.0, "Ops per procs": 23797576.0, "Ops/sec/procs": 793252.55, "ns per ops/procs": 1262.43}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6548101533.0, "Ops per second": 218098917.49, "ns per ops": 4.59, "Ops per threads": 818512691.0, "Ops per procs": 818512691.0, "Ops/sec/procs": 27262364.69, "ns per ops/procs": 36.68}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20523803844.0, "Ops per second": 684023298.63, "ns per ops": 1.46, "Ops per threads": 427579246.0, "Ops per procs": 427579246.0, "Ops/sec/procs": 14250485.39, "ns per ops/procs": 70.17}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40304128035.0, "Ops per second": 1343270023.26, "ns per ops": 0.74, "Ops per threads": 419834667.0, "Ops per procs": 419834667.0, "Ops/sec/procs": 13992396.08, "ns per ops/procs": 71.47}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1132111010.0, "Ops per second": 37737033.0, "ns per ops": 26.0, "Ops per threads": 141513876.0, "Ops per procs": 141513876.0, "Ops/sec/procs": 4717129.0, "ns per ops/procs": 212.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 80922991380.0, "Ops per second": 2696976160.26, "ns per ops": 0.37, "Ops per threads": 421473913.0, "Ops per procs": 421473913.0, "Ops/sec/procs": 14046750.83, "ns per ops/procs": 71.19}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 734650729.0, "Ops per second": 24488357.63, "ns per ops": 40.86, "Ops per threads": 30610447.0, "Ops per procs": 30610447.0, "Ops/sec/procs": 1020348.23, "ns per ops/procs": 980.74}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 62334983274.0, "Ops per second": 2077499018.1, "ns per ops": 0.48, "Ops per threads": 432881828.0, "Ops per procs": 432881828.0, "Ops/sec/procs": 14427076.51, "ns per ops/procs": 69.31}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 503700806.0, "Ops per second": 16790026.0, "ns per ops": 59.0, "Ops per threads": 251850403.0, "Ops per procs": 251850403.0, "Ops/sec/procs": 8395013.0, "ns per ops/procs": 119.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1226221846.0, "Ops per second": 40874061.0, "ns per ops": 24.0, "Ops per threads": 25546288.0, "Ops per procs": 25546288.0, "Ops/sec/procs": 851542.0, "ns per ops/procs": 1178.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 378336887.0, "Ops per second": 12611229.57, "ns per ops": 79.44, "Ops per threads": 94584221.0, "Ops per procs": 94584221.0, "Ops/sec/procs": 3152807.39, "ns per ops/procs": 317.74}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30056.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 21286222.0, "Ops per second": 708217.45, "ns per ops": 1412.0, "Ops per threads": 221731.0, "Ops per procs": 221731.0, "Ops/sec/procs": 7377.27, "ns per ops/procs": 135551.59}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3363860316.0, "Ops per second": 112038521.53, "ns per ops": 8.93, "Ops per threads": 840965079.0, "Ops per procs": 840965079.0, "Ops/sec/procs": 28009630.38, "ns per ops/procs": 35.7}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273854923.0, "Ops per second": 9128497.0, "ns per ops": 109.0, "Ops per threads": 273854923.0, "Ops per procs": 273854923.0, "Ops/sec/procs": 9128497.0, "ns per ops/procs": 109.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1282470798.0, "Ops per second": 42749026.6, "ns per ops": 23.45, "Ops per threads": 13359070.0, "Ops per procs": 13359070.0, "Ops/sec/procs": 445302.36, "ns per ops/procs": 2250.89}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1137060418.0, "Ops per second": 37902013.0, "ns per ops": 26.0, "Ops per threads": 142132552.0, "Ops per procs": 142132552.0, "Ops/sec/procs": 4737751.0, "ns per ops/procs": 211.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 530568869.0, "Ops per second": 17685628.97, "ns per ops": 56.66, "Ops per threads": 66321108.0, "Ops per procs": 66321108.0, "Ops/sec/procs": 2210703.62, "ns per ops/procs": 453.26}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 326655188.0, "Ops per second": 10888506.27, "ns per ops": 92.0, "Ops per threads": 163327594.0, "Ops per procs": 163327594.0, "Ops/sec/procs": 5444253.13, "ns per ops/procs": 183.99}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1175532140.0, "Ops per second": 39184404.0, "ns per ops": 25.0, "Ops per threads": 146941517.0, "Ops per procs": 146941517.0, "Ops/sec/procs": 4898050.0, "ns per ops/procs": 204.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 955851501.0, "Ops per second": 31861716.0, "ns per ops": 31.0, "Ops per threads": 238962875.0, "Ops per procs": 238962875.0, "Ops/sec/procs": 7965429.0, "ns per ops/procs": 125.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 238834366.0, "Ops per second": 7961145.0, "ns per ops": 126.0, "Ops per threads": 1243928.0, "Ops per procs": 1243928.0, "Ops/sec/procs": 41464.0, "ns per ops/procs": 24195.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 80386295.0, "Ops per second": 2679232.73, "ns per ops": 373.24, "Ops per threads": 10048286.0, "Ops per procs": 10048286.0, "Ops/sec/procs": 334904.09, "ns per ops/procs": 2985.93}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2418744593.0, "Ops per second": 80624819.77, "ns per ops": 12.44, "Ops per threads": 12597628.0, "Ops per procs": 12597628.0, "Ops/sec/procs": 419920.94, "ns per ops/procs": 2388.95}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1164582962.0, "Ops per second": 38819432.07, "ns per ops": 25.81, "Ops per threads": 24262145.0, "Ops per procs": 24262145.0, "Ops/sec/procs": 808738.17, "ns per ops/procs": 1239.06}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1316171007.0, "Ops per second": 43872366.9, "ns per ops": 22.83, "Ops per threads": 13710114.0, "Ops per procs": 13710114.0, "Ops/sec/procs": 457003.82, "ns per ops/procs": 2191.77}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30026.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 15557318.0, "Ops per second": 518116.7, "ns per ops": 1930.07, "Ops per threads": 81027.0, "Ops per procs": 81027.0, "Ops/sec/procs": 2698.52, "ns per ops/procs": 370572.88}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 949722698.0, "Ops per second": 31657423.27, "ns per ops": 31.61, "Ops per threads": 13190593.0, "Ops per procs": 13190593.0, "Ops/sec/procs": 439686.43, "ns per ops/procs": 2275.64}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30046.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 23467027.0, "Ops per second": 781032.95, "ns per ops": 1280.36, "Ops per threads": 244448.0, "Ops per procs": 244448.0, "Ops/sec/procs": 8135.76, "ns per ops/procs": 122914.15}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 502342197.0, "Ops per second": 16744739.0, "ns per ops": 59.0, "Ops per threads": 251171098.0, "Ops per procs": 251171098.0, "Ops/sec/procs": 8372369.0, "ns per ops/procs": 119.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1171331506.0, "Ops per second": 39044383.53, "ns per ops": 25.66, "Ops per threads": 24402739.0, "Ops per procs": 24402739.0, "Ops/sec/procs": 813424.66, "ns per ops/procs": 1231.45}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30070.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 19037717.0, "Ops per second": 633105.88, "ns per ops": 1579.51, "Ops per threads": 132206.0, "Ops per procs": 132206.0, "Ops/sec/procs": 4396.57, "ns per ops/procs": 227450.11}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 503884590.0, "Ops per second": 16796153.0, "ns per ops": 59.0, "Ops per threads": 251942295.0, "Ops per procs": 251942295.0, "Ops/sec/procs": 8398076.0, "ns per ops/procs": 119.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 82705773932.0, "Ops per second": 2756383947.93, "ns per ops": 0.36, "Ops per threads": 430759239.0, "Ops per procs": 430759239.0, "Ops/sec/procs": 14356166.4, "ns per ops/procs": 69.66}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 382424356.0, "Ops per second": 12747478.53, "ns per ops": 78.59, "Ops per threads": 95606089.0, "Ops per procs": 95606089.0, "Ops/sec/procs": 3186869.63, "ns per ops/procs": 314.37}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1774269050.0, "Ops per second": 59096210.11, "ns per ops": 16.92, "Ops per threads": 887134525.0, "Ops per procs": 887134525.0, "Ops/sec/procs": 29548105.05, "ns per ops/procs": 33.84}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3808919653.0, "Ops per second": 126963988.0, "ns per ops": 7.0, "Ops per threads": 158704985.0, "Ops per procs": 158704985.0, "Ops/sec/procs": 5290166.0, "ns per ops/procs": 189.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1370954985.0, "Ops per second": 45698499.5, "ns per ops": 21.92, "Ops per threads": 14280781.0, "Ops per procs": 14280781.0, "Ops/sec/procs": 476026.04, "ns per ops/procs": 2104.32}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30035.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 15950474.0, "Ops per second": 531058.37, "ns per ops": 1883.03, "Ops per threads": 83075.0, "Ops per procs": 83075.0, "Ops/sec/procs": 2765.93, "ns per ops/procs": 361542.18}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36254488447.0, "Ops per second": 1208218075.42, "ns per ops": 0.83, "Ops per threads": 503534561.0, "Ops per procs": 503534561.0, "Ops/sec/procs": 16780806.6, "ns per ops/procs": 59.59}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3437633131.0, "Ops per second": 114587771.0, "ns per ops": 8.0, "Ops per threads": 214852070.0, "Ops per procs": 214852070.0, "Ops/sec/procs": 7161735.0, "ns per ops/procs": 140.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 81885149.0, "Ops per second": 2729200.52, "ns per ops": 366.41, "Ops per threads": 10235643.0, "Ops per procs": 10235643.0, "Ops/sec/procs": 341150.06, "ns per ops/procs": 2931.26}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1777536066.0, "Ops per second": 59204924.96, "ns per ops": 16.89, "Ops per threads": 888768033.0, "Ops per procs": 888768033.0, "Ops/sec/procs": 29602462.48, "ns per ops/procs": 33.78}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 81456622.0, "Ops per second": 2714901.28, "ns per ops": 368.34, "Ops per threads": 10182077.0, "Ops per procs": 10182077.0, "Ops/sec/procs": 339362.66, "ns per ops/procs": 2946.7}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 80922442.0, "Ops per second": 2697105.32, "ns per ops": 370.77, "Ops per threads": 10115305.0, "Ops per procs": 10115305.0, "Ops/sec/procs": 337138.17, "ns per ops/procs": 2966.14}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 330239971.0, "Ops per second": 11007999.03, "ns per ops": 91.0, "Ops per threads": 165119985.0, "Ops per procs": 165119985.0, "Ops/sec/procs": 5503999.52, "ns per ops/procs": 182.0}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42360808.0, "Ops per second": 1411686.2, "ns per ops": 708.37, "Ops per threads": 1765033.0, "Ops per procs": 1765033.0, "Ops/sec/procs": 58820.26, "ns per ops/procs": 17000.95}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 726435101.0, "Ops per second": 24214503.37, "ns per ops": 41.33, "Ops per threads": 30268129.0, "Ops per procs": 30268129.0, "Ops/sec/procs": 1008937.64, "ns per ops/procs": 991.8}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20435343445.0, "Ops per second": 681074958.49, "ns per ops": 1.47, "Ops per threads": 425736321.0, "Ops per procs": 425736321.0, "Ops/sec/procs": 14189061.64, "ns per ops/procs": 70.48}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30049.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 23441495.0, "Ops per second": 780089.75, "ns per ops": 1281.9, "Ops per threads": 244182.0, "Ops per procs": 244182.0, "Ops/sec/procs": 8125.93, "ns per ops/procs": 123062.76}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50425264.0, "Ops per second": 1680528.72, "ns per ops": 595.05, "Ops per threads": 3151579.0, "Ops per procs": 3151579.0, "Ops/sec/procs": 105033.05, "ns per ops/procs": 9520.81}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 956675341.0, "Ops per second": 31889178.0, "ns per ops": 31.0, "Ops per threads": 239168835.0, "Ops per procs": 239168835.0, "Ops/sec/procs": 7972294.0, "ns per ops/procs": 125.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 246407455.0, "Ops per second": 8213240.97, "ns per ops": 121.75, "Ops per threads": 246407455.0, "Ops per procs": 246407455.0, "Ops/sec/procs": 8213240.97, "ns per ops/procs": 121.75}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 703303357.0, "Ops per second": 23443445.23, "ns per ops": 42.77, "Ops per threads": 43956459.0, "Ops per procs": 43956459.0, "Ops/sec/procs": 1465215.33, "ns per ops/procs": 684.24}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1386631804.0, "Ops per second": 46221060.13, "ns per ops": 21.67, "Ops per threads": 14444081.0, "Ops per procs": 14444081.0, "Ops/sec/procs": 481469.38, "ns per ops/procs": 2080.54}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30075.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18612214.0, "Ops per second": 618856.49, "ns per ops": 1615.88, "Ops per threads": 129251.0, "Ops per procs": 129251.0, "Ops/sec/procs": 4297.61, "ns per ops/procs": 232687.23}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 376796011.0, "Ops per second": 12559867.03, "ns per ops": 79.76, "Ops per threads": 94199002.0, "Ops per procs": 94199002.0, "Ops/sec/procs": 3139966.76, "ns per ops/procs": 319.05}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2215871406.0, "Ops per second": 73862380.2, "ns per ops": 13.54, "Ops per threads": 11540996.0, "Ops per procs": 11540996.0, "Ops/sec/procs": 384699.9, "ns per ops/procs": 2600.61}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30098.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 346938793.0, "Ops per second": 11564626.0, "ns per ops": 86.0, "Ops per threads": 2409297.0, "Ops per procs": 2409297.0, "Ops/sec/procs": 80309.0, "ns per ops/procs": 12492.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 49611498.0, "Ops per second": 1653390.09, "ns per ops": 604.82, "Ops per threads": 3100718.0, "Ops per procs": 3100718.0, "Ops/sec/procs": 103336.88, "ns per ops/procs": 9677.09}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 173991025.0, "Ops per second": 5799241.73, "ns per ops": 172.44, "Ops per threads": 43497756.0, "Ops per procs": 43497756.0, "Ops/sec/procs": 1449810.43, "ns per ops/procs": 689.75}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 702211795.0, "Ops per second": 23407059.83, "ns per ops": 42.83, "Ops per threads": 43888237.0, "Ops per procs": 43888237.0, "Ops/sec/procs": 1462941.24, "ns per ops/procs": 685.31}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 325031003.0, "Ops per second": 10834366.77, "ns per ops": 92.46, "Ops per threads": 162515501.0, "Ops per procs": 162515501.0, "Ops/sec/procs": 5417183.38, "ns per ops/procs": 184.92}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1161883016.0, "Ops per second": 38729433.87, "ns per ops": 25.86, "Ops per threads": 24205896.0, "Ops per procs": 24205896.0, "Ops/sec/procs": 806863.21, "ns per ops/procs": 1241.48}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 936052697.0, "Ops per second": 31201756.57, "ns per ops": 32.08, "Ops per threads": 13000731.0, "Ops per procs": 13000731.0, "Ops/sec/procs": 433357.73, "ns per ops/procs": 2309.4}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2413101733.0, "Ops per second": 80436724.43, "ns per ops": 12.45, "Ops per threads": 12568238.0, "Ops per procs": 12568238.0, "Ops/sec/procs": 418941.27, "ns per ops/procs": 2390.75}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20603097241.0, "Ops per second": 686669407.51, "ns per ops": 1.46, "Ops per threads": 429231192.0, "Ops per procs": 429231192.0, "Ops/sec/procs": 14305612.66, "ns per ops/procs": 69.9}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 2006973583.0, "Ops per second": 66899119.43, "ns per ops": 14.97, "Ops per threads": 13937316.0, "Ops per procs": 13937316.0, "Ops/sec/procs": 464577.22, "ns per ops/procs": 2156.13}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60826178045.0, "Ops per second": 2027193281.28, "ns per ops": 0.49, "Ops per threads": 422404014.0, "Ops per procs": 422404014.0, "Ops/sec/procs": 14077731.12, "ns per ops/procs": 71.03}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 672455485.0, "Ops per second": 22415182.83, "ns per ops": 44.73, "Ops per threads": 42028467.0, "Ops per procs": 42028467.0, "Ops/sec/procs": 1400948.93, "ns per ops/procs": 715.66}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 380749870.0, "Ops per second": 12691662.0, "ns per ops": 79.0, "Ops per threads": 3966144.0, "Ops per procs": 3966144.0, "Ops/sec/procs": 132204.0, "ns per ops/procs": 7588.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 501706079.0, "Ops per second": 16723535.0, "ns per ops": 59.0, "Ops per threads": 250853039.0, "Ops per procs": 250853039.0, "Ops/sec/procs": 8361767.0, "ns per ops/procs": 119.0}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30084.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18660871.0, "Ops per second": 620277.51, "ns per ops": 1612.18, "Ops per threads": 129589.0, "Ops per procs": 129589.0, "Ops/sec/procs": 4307.48, "ns per ops/procs": 232154.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 382664257.0, "Ops per second": 12755475.23, "ns per ops": 78.54, "Ops per threads": 95666064.0, "Ops per procs": 95666064.0, "Ops/sec/procs": 3188868.81, "ns per ops/procs": 314.17}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 254494409.0, "Ops per second": 8482801.12, "ns per ops": 117.89, "Ops per threads": 254494409.0, "Ops per procs": 254494409.0, "Ops/sec/procs": 8482801.12, "ns per ops/procs": 117.89}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30036.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 22723307.0, "Ops per second": 756533.28, "ns per ops": 1321.82, "Ops per threads": 315601.0, "Ops per procs": 315601.0, "Ops/sec/procs": 10507.41, "ns per ops/procs": 95170.96}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 401945436.0, "Ops per second": 13398181.0, "ns per ops": 74.0, "Ops per threads": 4186931.0, "Ops per procs": 4186931.0, "Ops/sec/procs": 139564.0, "ns per ops/procs": 7188.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 887394383.0, "Ops per second": 29557843.22, "ns per ops": 33.83, "Ops per threads": 887394383.0, "Ops per procs": 887394383.0, "Ops/sec/procs": 29557843.22, "ns per ops/procs": 33.83}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 689711535.0, "Ops per second": 22990384.5, "ns per ops": 43.61, "Ops per threads": 43106970.0, "Ops per procs": 43106970.0, "Ops/sec/procs": 1436899.03, "ns per ops/procs": 697.71}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 531772924.0, "Ops per second": 17725764.13, "ns per ops": 56.53, "Ops per threads": 66471615.0, "Ops per procs": 66471615.0, "Ops/sec/procs": 2215720.52, "ns per ops/procs": 452.25}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41380083.0, "Ops per second": 1378351.09, "ns per ops": 725.5, "Ops per threads": 862085.0, "Ops per procs": 862085.0, "Ops/sec/procs": 28715.65, "ns per ops/procs": 34824.22}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2413888038.0, "Ops per second": 80462934.6, "ns per ops": 12.46, "Ops per threads": 12572333.0, "Ops per procs": 12572333.0, "Ops/sec/procs": 419077.78, "ns per ops/procs": 2393.09}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 890899234.0, "Ops per second": 29674609.02, "ns per ops": 33.7, "Ops per threads": 890899234.0, "Ops per procs": 890899234.0, "Ops/sec/procs": 29674609.02, "ns per ops/procs": 33.7}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30034.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 22807884.0, "Ops per second": 759395.34, "ns per ops": 1316.84, "Ops per threads": 316776.0, "Ops per procs": 316776.0, "Ops/sec/procs": 10547.16, "ns per ops/procs": 94812.27}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238363211.0, "Ops per second": 7945440.37, "ns per ops": 126.05, "Ops per threads": 238363211.0, "Ops per procs": 238363211.0, "Ops/sec/procs": 7945440.37, "ns per ops/procs": 126.05}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1203744303.0, "Ops per second": 40124810.0, "ns per ops": 25.0, "Ops per threads": 150468037.0, "Ops per procs": 150468037.0, "Ops/sec/procs": 5015601.0, "ns per ops/procs": 200.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 739910348.0, "Ops per second": 24663678.27, "ns per ops": 40.57, "Ops per threads": 30829597.0, "Ops per procs": 30829597.0, "Ops/sec/procs": 1027653.26, "ns per ops/procs": 973.78}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12304900422.0, "Ops per second": 409800280.92, "ns per ops": 2.44, "Ops per threads": 769056276.0, "Ops per procs": 769056276.0, "Ops/sec/procs": 25612517.56, "ns per ops/procs": 39.04}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 738187159.0, "Ops per second": 24606238.63, "ns per ops": 40.67, "Ops per threads": 30757798.0, "Ops per procs": 30757798.0, "Ops/sec/procs": 1025259.94, "ns per ops/procs": 976.04}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 886506146.0, "Ops per second": 29550204.87, "ns per ops": 33.94, "Ops per threads": 12312585.0, "Ops per procs": 12312585.0, "Ops/sec/procs": 410419.51, "ns per ops/procs": 2443.35}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 330092202.0, "Ops per second": 11003073.4, "ns per ops": 91.04, "Ops per threads": 165046101.0, "Ops per procs": 165046101.0, "Ops/sec/procs": 5501536.7, "ns per ops/procs": 182.08}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3360950559.0, "Ops per second": 111941499.31, "ns per ops": 8.93, "Ops per threads": 840237639.0, "Ops per procs": 840237639.0, "Ops/sec/procs": 27985374.83, "ns per ops/procs": 35.73}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3427984171.0, "Ops per second": 114266139.0, "ns per ops": 8.0, "Ops per threads": 214249010.0, "Ops per procs": 214249010.0, "Ops/sec/procs": 7141633.0, "ns per ops/procs": 140.0}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41363722.0, "Ops per second": 1377829.9, "ns per ops": 725.78, "Ops per threads": 861744.0, "Ops per procs": 861744.0, "Ops/sec/procs": 28704.79, "ns per ops/procs": 34837.39}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 961838983.0, "Ops per second": 32061299.0, "ns per ops": 31.0, "Ops per threads": 240459745.0, "Ops per procs": 240459745.0, "Ops/sec/procs": 8015324.0, "ns per ops/procs": 125.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30098.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 396457961.0, "Ops per second": 13215265.0, "ns per ops": 75.0, "Ops per threads": 5506360.0, "Ops per procs": 5506360.0, "Ops/sec/procs": 183545.0, "ns per ops/procs": 5466.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 81871155.0, "Ops per second": 2728727.51, "ns per ops": 366.47, "Ops per threads": 10233894.0, "Ops per procs": 10233894.0, "Ops/sec/procs": 341090.94, "ns per ops/procs": 2931.77}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 174483274.0, "Ops per second": 5815634.68, "ns per ops": 171.95, "Ops per threads": 43620818.0, "Ops per procs": 43620818.0, "Ops/sec/procs": 1453908.67, "ns per ops/procs": 687.8}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30086.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18328820.0, "Ops per second": 609202.5, "ns per ops": 1641.49, "Ops per threads": 127283.0, "Ops per procs": 127283.0, "Ops/sec/procs": 4230.57, "ns per ops/procs": 236374.6}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30010.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 378740247.0, "Ops per second": 12620437.32, "ns per ops": 79.24, "Ops per threads": 189370123.0, "Ops per procs": 189370123.0, "Ops/sec/procs": 6310218.66, "ns per ops/procs": 158.47}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 736910864.0, "Ops per second": 24563695.47, "ns per ops": 40.74, "Ops per threads": 30704619.0, "Ops per procs": 30704619.0, "Ops/sec/procs": 1023487.31, "ns per ops/procs": 977.75}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30078.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18368051.0, "Ops per second": 610676.84, "ns per ops": 1637.53, "Ops per threads": 127555.0, "Ops per procs": 127555.0, "Ops/sec/procs": 4240.81, "ns per ops/procs": 235803.93}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 274167236.0, "Ops per second": 9138907.0, "ns per ops": 109.0, "Ops per threads": 274167236.0, "Ops per procs": 274167236.0, "Ops/sec/procs": 9138907.0, "ns per ops/procs": 109.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12303388003.0, "Ops per second": 409749540.96, "ns per ops": 2.44, "Ops per threads": 768961750.0, "Ops per procs": 768961750.0, "Ops/sec/procs": 25609346.31, "ns per ops/procs": 39.05}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 384419062.0, "Ops per second": 12813968.73, "ns per ops": 78.18, "Ops per threads": 96104765.0, "Ops per procs": 96104765.0, "Ops/sec/procs": 3203492.18, "ns per ops/procs": 312.71}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30012.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 374120069.0, "Ops per second": 12465499.4, "ns per ops": 80.22, "Ops per threads": 187060034.0, "Ops per procs": 187060034.0, "Ops/sec/procs": 6232749.7, "ns per ops/procs": 160.44}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 698535511.0, "Ops per second": 23284517.03, "ns per ops": 43.06, "Ops per threads": 43658469.0, "Ops per procs": 43658469.0, "Ops/sec/procs": 1455282.31, "ns per ops/procs": 688.9}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20559185447.0, "Ops per second": 685206207.77, "ns per ops": 1.46, "Ops per threads": 428316363.0, "Ops per procs": 428316363.0, "Ops/sec/procs": 14275129.33, "ns per ops/procs": 70.05}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 325978966.0, "Ops per second": 10865965.53, "ns per ops": 92.19, "Ops per threads": 162989483.0, "Ops per procs": 162989483.0, "Ops/sec/procs": 5432982.77, "ns per ops/procs": 184.37}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30028.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 15641578.0, "Ops per second": 520891.58, "ns per ops": 1919.79, "Ops per threads": 81466.0, "Ops per procs": 81466.0, "Ops/sec/procs": 2712.98, "ns per ops/procs": 368598.78}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3403721538.0, "Ops per second": 113457384.0, "ns per ops": 8.0, "Ops per threads": 212732596.0, "Ops per procs": 212732596.0, "Ops/sec/procs": 7091086.0, "ns per ops/procs": 141.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60344930574.0, "Ops per second": 2011138742.72, "ns per ops": 0.5, "Ops per threads": 419062017.0, "Ops per procs": 419062017.0, "Ops/sec/procs": 13966241.27, "ns per ops/procs": 71.6}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60495926986.0, "Ops per second": 2016239964.57, "ns per ops": 0.5, "Ops per threads": 420110604.0, "Ops per procs": 420110604.0, "Ops/sec/procs": 14001666.42, "ns per ops/procs": 71.42}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3365744385.0, "Ops per second": 112101597.59, "ns per ops": 8.92, "Ops per threads": 841436096.0, "Ops per procs": 841436096.0, "Ops/sec/procs": 28025399.4, "ns per ops/procs": 35.68}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 697027879.0, "Ops per second": 23234262.63, "ns per ops": 43.15, "Ops per threads": 43564242.0, "Ops per procs": 43564242.0, "Ops/sec/procs": 1452141.41, "ns per ops/procs": 690.41}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30008.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 367234658.0, "Ops per second": 12237506.11, "ns per ops": 81.72, "Ops per threads": 183617329.0, "Ops per procs": 183617329.0, "Ops/sec/procs": 6118753.06, "ns per ops/procs": 163.43}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40609908938.0, "Ops per second": 1353446043.43, "ns per ops": 0.74, "Ops per threads": 423019884.0, "Ops per procs": 423019884.0, "Ops/sec/procs": 14098396.29, "ns per ops/procs": 70.93}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 889556517.0, "Ops per second": 29629780.27, "ns per ops": 33.75, "Ops per threads": 889556517.0, "Ops per procs": 889556517.0, "Ops/sec/procs": 29629780.27, "ns per ops/procs": 33.75}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 889887164.0, "Ops per second": 29640739.36, "ns per ops": 33.74, "Ops per threads": 889887164.0, "Ops per procs": 889887164.0, "Ops/sec/procs": 29640739.36, "ns per ops/procs": 33.74}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3422244889.0, "Ops per second": 114074829.0, "ns per ops": 8.0, "Ops per threads": 213890305.0, "Ops per procs": 213890305.0, "Ops/sec/procs": 7129676.0, "ns per ops/procs": 140.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12301427091.0, "Ops per second": 409683414.62, "ns per ops": 2.44, "Ops per threads": 768839193.0, "Ops per procs": 768839193.0, "Ops/sec/procs": 25605213.41, "ns per ops/procs": 39.05}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1172134800.0, "Ops per second": 39071160.0, "ns per ops": 25.0, "Ops per threads": 146516850.0, "Ops per procs": 146516850.0, "Ops/sec/procs": 4883895.0, "ns per ops/procs": 205.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16127425693.0, "Ops per second": 537535476.27, "ns per ops": 1.86, "Ops per threads": 671976070.0, "Ops per procs": 671976070.0, "Ops/sec/procs": 22397311.51, "ns per ops/procs": 44.65}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 657632371.0, "Ops per second": 21921079.03, "ns per ops": 45.74, "Ops per threads": 41102023.0, "Ops per procs": 41102023.0, "Ops/sec/procs": 1370067.44, "ns per ops/procs": 731.78}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 387702267.0, "Ops per second": 12923408.0, "ns per ops": 77.0, "Ops per threads": 4038565.0, "Ops per procs": 4038565.0, "Ops/sec/procs": 134618.0, "ns per ops/procs": 7452.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 330257453.0, "Ops per second": 11008581.77, "ns per ops": 91.0, "Ops per threads": 165128726.0, "Ops per procs": 165128726.0, "Ops/sec/procs": 5504290.88, "ns per ops/procs": 181.99}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 318940675.0, "Ops per second": 10631355.0, "ns per ops": 94.0, "Ops per threads": 2214865.0, "Ops per procs": 2214865.0, "Ops/sec/procs": 73828.0, "ns per ops/procs": 13588.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1174698380.0, "Ops per second": 39156612.67, "ns per ops": 25.61, "Ops per threads": 24472882.0, "Ops per procs": 24472882.0, "Ops/sec/procs": 815762.76, "ns per ops/procs": 1229.15}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42292996.0, "Ops per second": 1409426.51, "ns per ops": 709.51, "Ops per threads": 1762208.0, "Ops per procs": 1762208.0, "Ops/sec/procs": 58726.1, "ns per ops/procs": 17028.2}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 936977216.0, "Ops per second": 31232573.87, "ns per ops": 32.04, "Ops per threads": 13013572.0, "Ops per procs": 13013572.0, "Ops/sec/procs": 433785.75, "ns per ops/procs": 2306.94}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 235986345.0, "Ops per second": 7866211.0, "ns per ops": 127.0, "Ops per threads": 1229095.0, "Ops per procs": 1229095.0, "Ops/sec/procs": 40969.0, "ns per ops/procs": 24487.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30013.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16563392.0, "Ops per second": 551860.84, "ns per ops": 1812.05, "Ops per threads": 86267.0, "Ops per procs": 86267.0, "Ops/sec/procs": 2874.28, "ns per ops/procs": 347913.8}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 383207221.0, "Ops per second": 12773574.03, "ns per ops": 78.43, "Ops per threads": 95801805.0, "Ops per procs": 95801805.0, "Ops/sec/procs": 3193393.51, "ns per ops/procs": 313.73}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238049034.0, "Ops per second": 7934967.8, "ns per ops": 126.23, "Ops per threads": 238049034.0, "Ops per procs": 238049034.0, "Ops/sec/procs": 7934967.8, "ns per ops/procs": 126.23}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1774650100.0, "Ops per second": 59107686.84, "ns per ops": 16.92, "Ops per threads": 887325050.0, "Ops per procs": 887325050.0, "Ops/sec/procs": 29553843.42, "ns per ops/procs": 33.84}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3358987399.0, "Ops per second": 111876244.37, "ns per ops": 8.94, "Ops per threads": 839746849.0, "Ops per procs": 839746849.0, "Ops/sec/procs": 27969061.09, "ns per ops/procs": 35.75}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 954279709.0, "Ops per second": 31809323.0, "ns per ops": 31.0, "Ops per threads": 238569927.0, "Ops per procs": 238569927.0, "Ops/sec/procs": 7952330.0, "ns per ops/procs": 126.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40539858236.0, "Ops per second": 1351102215.96, "ns per ops": 0.74, "Ops per threads": 422290189.0, "Ops per procs": 422290189.0, "Ops/sec/procs": 14073981.42, "ns per ops/procs": 71.05}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3746216497.0, "Ops per second": 124873883.0, "ns per ops": 8.0, "Ops per threads": 156092354.0, "Ops per procs": 156092354.0, "Ops/sec/procs": 5203078.0, "ns per ops/procs": 192.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 705964202.0, "Ops per second": 23532140.07, "ns per ops": 42.52, "Ops per threads": 29415175.0, "Ops per procs": 29415175.0, "Ops/sec/procs": 980505.84, "ns per ops/procs": 1020.5}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 81509007.0, "Ops per second": 2716669.49, "ns per ops": 368.1, "Ops per threads": 10188625.0, "Ops per procs": 10188625.0, "Ops/sec/procs": 339583.69, "ns per ops/procs": 2944.78}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1944822373.0, "Ops per second": 64827412.43, "ns per ops": 15.43, "Ops per threads": 13505710.0, "Ops per procs": 13505710.0, "Ops/sec/procs": 450190.36, "ns per ops/procs": 2221.8}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 500486501.0, "Ops per second": 16682883.0, "ns per ops": 60.0, "Ops per threads": 250243250.0, "Ops per procs": 250243250.0, "Ops/sec/procs": 8341441.0, "ns per ops/procs": 120.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 393969200.0, "Ops per second": 13132306.0, "ns per ops": 76.0, "Ops per threads": 5471794.0, "Ops per procs": 5471794.0, "Ops/sec/procs": 182393.0, "ns per ops/procs": 5500.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 237568791.0, "Ops per second": 7918959.7, "ns per ops": 126.48, "Ops per threads": 237568791.0, "Ops per procs": 237568791.0, "Ops/sec/procs": 7918959.7, "ns per ops/procs": 126.48}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 378808074.0, "Ops per second": 12626935.0, "ns per ops": 79.0, "Ops per threads": 3945917.0, "Ops per procs": 3945917.0, "Ops/sec/procs": 131530.0, "ns per ops/procs": 7627.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36246923243.0, "Ops per second": 1208057285.46, "ns per ops": 0.83, "Ops per threads": 503429489.0, "Ops per procs": 503429489.0, "Ops/sec/procs": 16778573.41, "ns per ops/procs": 59.6}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 40879516.0, "Ops per second": 1361717.8, "ns per ops": 734.37, "Ops per threads": 851656.0, "Ops per procs": 851656.0, "Ops/sec/procs": 28369.12, "ns per ops/procs": 35249.59}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 242264383.0, "Ops per second": 8075479.0, "ns per ops": 124.0, "Ops per threads": 1261793.0, "Ops per procs": 1261793.0, "Ops/sec/procs": 42059.0, "ns per ops/procs": 23852.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 765241141.0, "Ops per second": 25508038.0, "ns per ops": 39.0, "Ops per threads": 15942523.0, "Ops per procs": 15942523.0, "Ops/sec/procs": 531417.0, "ns per ops/procs": 1887.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30039.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 80819318854.0, "Ops per second": 2690449627.18, "ns per ops": 0.37, "Ops per threads": 420933952.0, "Ops per procs": 420933952.0, "Ops/sec/procs": 14012758.47, "ns per ops/procs": 71.36}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1332124468.0, "Ops per second": 44404148.93, "ns per ops": 22.54, "Ops per threads": 13876296.0, "Ops per procs": 13876296.0, "Ops/sec/procs": 462543.22, "ns per ops/procs": 2163.73}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41158601.0, "Ops per second": 1370980.41, "ns per ops": 729.41, "Ops per threads": 857470.0, "Ops per procs": 857470.0, "Ops/sec/procs": 28562.09, "ns per ops/procs": 35011.44}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30033.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 21819025.0, "Ops per second": 726496.38, "ns per ops": 1376.47, "Ops per threads": 303042.0, "Ops per procs": 303042.0, "Ops/sec/procs": 10090.23, "ns per ops/procs": 99105.79}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 381725118.0, "Ops per second": 12724170.6, "ns per ops": 78.74, "Ops per threads": 95431279.0, "Ops per procs": 95431279.0, "Ops/sec/procs": 3181042.65, "ns per ops/procs": 314.95}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 502987252.0, "Ops per second": 16766241.0, "ns per ops": 59.0, "Ops per threads": 251493626.0, "Ops per procs": 251493626.0, "Ops/sec/procs": 8383120.0, "ns per ops/procs": 119.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30024.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1774927754.0, "Ops per second": 59115235.59, "ns per ops": 16.92, "Ops per threads": 887463877.0, "Ops per procs": 887463877.0, "Ops/sec/procs": 29557617.8, "ns per ops/procs": 33.83}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42439912.0, "Ops per second": 1414295.05, "ns per ops": 707.07, "Ops per threads": 1768329.0, "Ops per procs": 1768329.0, "Ops/sec/procs": 58928.96, "ns per ops/procs": 16969.58}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 695135177.0, "Ops per second": 23171172.57, "ns per ops": 43.27, "Ops per threads": 43445948.0, "Ops per procs": 43445948.0, "Ops/sec/procs": 1448198.29, "ns per ops/procs": 692.31}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30015.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16348225.0, "Ops per second": 544656.1, "ns per ops": 1836.02, "Ops per threads": 85147.0, "Ops per procs": 85147.0, "Ops/sec/procs": 2836.75, "ns per ops/procs": 352516.02}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1389241838.0, "Ops per second": 46308061.27, "ns per ops": 21.63, "Ops per threads": 14471269.0, "Ops per procs": 14471269.0, "Ops/sec/procs": 482375.64, "ns per ops/procs": 2076.11}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 78809696.0, "Ops per second": 2626688.73, "ns per ops": 380.71, "Ops per threads": 9851212.0, "Ops per procs": 9851212.0, "Ops/sec/procs": 328336.09, "ns per ops/procs": 3045.66}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 409626256.0, "Ops per second": 13654208.0, "ns per ops": 73.0, "Ops per threads": 5689253.0, "Ops per procs": 5689253.0, "Ops/sec/procs": 189641.0, "ns per ops/procs": 5290.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30009.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 355511006.0, "Ops per second": 11846693.09, "ns per ops": 84.41, "Ops per threads": 177755503.0, "Ops per procs": 177755503.0, "Ops/sec/procs": 5923346.54, "ns per ops/procs": 168.82}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36063966964.0, "Ops per second": 1201975754.72, "ns per ops": 0.83, "Ops per threads": 500888430.0, "Ops per procs": 500888430.0, "Ops/sec/procs": 16694107.7, "ns per ops/procs": 59.9}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1776649613.0, "Ops per second": 59174924.93, "ns per ops": 16.9, "Ops per threads": 888324806.0, "Ops per procs": 888324806.0, "Ops/sec/procs": 29587462.46, "ns per ops/procs": 33.8}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273613234.0, "Ops per second": 9120441.0, "ns per ops": 110.0, "Ops per threads": 273613234.0, "Ops per procs": 273613234.0, "Ops/sec/procs": 9120441.0, "ns per ops/procs": 110.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30020.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 82646608444.0, "Ops per second": 2753046449.31, "ns per ops": 0.36, "Ops per threads": 430451085.0, "Ops per procs": 430451085.0, "Ops/sec/procs": 14338783.59, "ns per ops/procs": 69.74}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1193775714.0, "Ops per second": 39792523.0, "ns per ops": 25.0, "Ops per threads": 24870327.0, "Ops per procs": 24870327.0, "Ops/sec/procs": 829010.0, "ns per ops/procs": 1210.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1775673154.0, "Ops per second": 59142695.83, "ns per ops": 16.91, "Ops per threads": 887836577.0, "Ops per procs": 887836577.0, "Ops/sec/procs": 29571347.92, "ns per ops/procs": 33.82}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 704100677.0, "Ops per second": 23470022.57, "ns per ops": 42.72, "Ops per threads": 44006292.0, "Ops per procs": 44006292.0, "Ops/sec/procs": 1466876.41, "ns per ops/procs": 683.48}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 890389999.0, "Ops per second": 29657673.94, "ns per ops": 33.72, "Ops per threads": 890389999.0, "Ops per procs": 890389999.0, "Ops/sec/procs": 29657673.94, "ns per ops/procs": 33.72}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 531303989.0, "Ops per second": 17710132.97, "ns per ops": 56.58, "Ops per threads": 66412998.0, "Ops per procs": 66412998.0, "Ops/sec/procs": 2213766.62, "ns per ops/procs": 452.62}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 174426599.0, "Ops per second": 5813712.29, "ns per ops": 172.01, "Ops per threads": 43606649.0, "Ops per procs": 43606649.0, "Ops/sec/procs": 1453428.07, "ns per ops/procs": 688.03}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6545518838.0, "Ops per second": 218017307.43, "ns per ops": 4.59, "Ops per threads": 818189854.0, "Ops per procs": 818189854.0, "Ops/sec/procs": 27252163.43, "ns per ops/procs": 36.69}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 81890729.0, "Ops per second": 2729387.58, "ns per ops": 366.38, "Ops per threads": 10236341.0, "Ops per procs": 10236341.0, "Ops/sec/procs": 341173.45, "ns per ops/procs": 2931.06}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 237773575.0, "Ops per second": 7925785.0, "ns per ops": 126.0, "Ops per threads": 1238404.0, "Ops per procs": 1238404.0, "Ops/sec/procs": 41280.0, "ns per ops/procs": 24303.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 531303622.0, "Ops per second": 17710120.73, "ns per ops": 56.58, "Ops per threads": 66412952.0, "Ops per procs": 66412952.0, "Ops/sec/procs": 2213765.09, "ns per ops/procs": 452.64}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 61006310436.0, "Ops per second": 2033154085.57, "ns per ops": 0.49, "Ops per threads": 423654933.0, "Ops per procs": 423654933.0, "Ops/sec/procs": 14119125.59, "ns per ops/procs": 70.83}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40225893481.0, "Ops per second": 1340671875.22, "ns per ops": 0.75, "Ops per threads": 419019723.0, "Ops per procs": 419019723.0, "Ops/sec/procs": 13965332.03, "ns per ops/procs": 71.61}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3749375848.0, "Ops per second": 124979194.0, "ns per ops": 8.0, "Ops per threads": 156223993.0, "Ops per procs": 156223993.0, "Ops/sec/procs": 5207466.0, "ns per ops/procs": 192.0}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23815098.0, "Ops per second": 792989.61, "ns per ops": 1261.05, "Ops per threads": 330765.0, "Ops per procs": 330765.0, "Ops/sec/procs": 11013.74, "ns per ops/procs": 90795.64}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12306292168.0, "Ops per second": 409841491.6, "ns per ops": 2.44, "Ops per threads": 769143260.0, "Ops per procs": 769143260.0, "Ops/sec/procs": 25615093.22, "ns per ops/procs": 39.04}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1160728481.0, "Ops per second": 38690949.37, "ns per ops": 25.89, "Ops per threads": 24181843.0, "Ops per procs": 24181843.0, "Ops/sec/procs": 806061.45, "ns per ops/procs": 1242.75}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30031.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23045610.0, "Ops per second": 767393.47, "ns per ops": 1303.11, "Ops per threads": 320077.0, "Ops per procs": 320077.0, "Ops/sec/procs": 10658.24, "ns per ops/procs": 93824.1}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2418487606.0, "Ops per second": 80616253.53, "ns per ops": 12.43, "Ops per threads": 12596289.0, "Ops per procs": 12596289.0, "Ops/sec/procs": 419876.32, "ns per ops/procs": 2385.75}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 957727191.0, "Ops per second": 31924239.7, "ns per ops": 31.33, "Ops per threads": 13301766.0, "Ops per procs": 13301766.0, "Ops/sec/procs": 443392.22, "ns per ops/procs": 2255.56}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30082.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18603557.0, "Ops per second": 618418.07, "ns per ops": 1617.03, "Ops per threads": 129191.0, "Ops per procs": 129191.0, "Ops/sec/procs": 4294.57, "ns per ops/procs": 232852.19}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 174561461.0, "Ops per second": 5818207.17, "ns per ops": 171.87, "Ops per threads": 43640365.0, "Ops per procs": 43640365.0, "Ops/sec/procs": 1454551.79, "ns per ops/procs": 687.5}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1173130857.0, "Ops per second": 39104361.0, "ns per ops": 25.0, "Ops per threads": 146641357.0, "Ops per procs": 146641357.0, "Ops/sec/procs": 4888045.0, "ns per ops/procs": 205.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 174495525.0, "Ops per second": 5816047.53, "ns per ops": 171.94, "Ops per threads": 43623881.0, "Ops per procs": 43623881.0, "Ops/sec/procs": 1454011.88, "ns per ops/procs": 687.75}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30007.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20248782161.0, "Ops per second": 674789936.04, "ns per ops": 1.48, "Ops per threads": 421849628.0, "Ops per procs": 421849628.0, "Ops/sec/procs": 14058123.67, "ns per ops/procs": 71.13}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30100.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 238985015.0, "Ops per second": 7966167.0, "ns per ops": 125.0, "Ops per threads": 1244713.0, "Ops per procs": 1244713.0, "Ops/sec/procs": 41490.0, "ns per ops/procs": 24182.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20579498891.0, "Ops per second": 685877923.96, "ns per ops": 1.46, "Ops per threads": 428739560.0, "Ops per procs": 428739560.0, "Ops/sec/procs": 14289123.42, "ns per ops/procs": 69.98}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30056.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 21755876.0, "Ops per second": 723843.54, "ns per ops": 1381.51, "Ops per threads": 226623.0, "Ops per procs": 226623.0, "Ops/sec/procs": 7540.04, "ns per ops/procs": 132625.35}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 2022419353.0, "Ops per second": 67413978.43, "ns per ops": 14.83, "Ops per threads": 14044578.0, "Ops per procs": 14044578.0, "Ops/sec/procs": 468152.63, "ns per ops/procs": 2136.17}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 274167645.0, "Ops per second": 9138921.0, "ns per ops": 109.0, "Ops per threads": 274167645.0, "Ops per procs": 274167645.0, "Ops/sec/procs": 9138921.0, "ns per ops/procs": 109.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273408767.0, "Ops per second": 9113625.0, "ns per ops": 110.0, "Ops per threads": 273408767.0, "Ops per procs": 273408767.0, "Ops/sec/procs": 9113625.0, "ns per ops/procs": 110.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273320398.0, "Ops per second": 9110679.0, "ns per ops": 110.0, "Ops per threads": 273320398.0, "Ops per procs": 273320398.0, "Ops/sec/procs": 9110679.0, "ns per ops/procs": 110.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 2118219103.0, "Ops per second": 70607303.43, "ns per ops": 14.18, "Ops per threads": 14709854.0, "Ops per procs": 14709854.0, "Ops/sec/procs": 490328.5, "ns per ops/procs": 2042.56}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 500144143.0, "Ops per second": 16671471.0, "ns per ops": 60.0, "Ops per threads": 250072071.0, "Ops per procs": 250072071.0, "Ops/sec/procs": 8335735.0, "ns per ops/procs": 120.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30030.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 81615394439.0, "Ops per second": 2717795093.69, "ns per ops": 0.37, "Ops per threads": 425080179.0, "Ops per procs": 425080179.0, "Ops/sec/procs": 14155182.78, "ns per ops/procs": 70.65}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 379353634.0, "Ops per second": 12645121.13, "ns per ops": 79.23, "Ops per threads": 94838408.0, "Ops per procs": 94838408.0, "Ops/sec/procs": 3161280.28, "ns per ops/procs": 316.91}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30048.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 21389907.0, "Ops per second": 711850.28, "ns per ops": 1404.79, "Ops per threads": 222811.0, "Ops per procs": 222811.0, "Ops/sec/procs": 7415.11, "ns per ops/procs": 134859.82}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3444065143.0, "Ops per second": 114802171.0, "ns per ops": 8.0, "Ops per threads": 215254071.0, "Ops per procs": 215254071.0, "Ops/sec/procs": 7175135.0, "ns per ops/procs": 139.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 2070830134.0, "Ops per second": 69027671.13, "ns per ops": 14.53, "Ops per threads": 14380764.0, "Ops per procs": 14380764.0, "Ops/sec/procs": 479358.83, "ns per ops/procs": 2092.25}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 379567633.0, "Ops per second": 12652254.0, "ns per ops": 79.0, "Ops per threads": 5271772.0, "Ops per procs": 5271772.0, "Ops/sec/procs": 175725.0, "ns per ops/procs": 5709.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 326529542.0, "Ops per second": 10884318.07, "ns per ops": 92.03, "Ops per threads": 163264771.0, "Ops per procs": 163264771.0, "Ops/sec/procs": 5442159.03, "ns per ops/procs": 184.06}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 890751530.0, "Ops per second": 29669253.25, "ns per ops": 33.7, "Ops per threads": 890751530.0, "Ops per procs": 890751530.0, "Ops/sec/procs": 29669253.25, "ns per ops/procs": 33.7}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50471064.0, "Ops per second": 1682036.43, "ns per ops": 594.52, "Ops per threads": 3154441.0, "Ops per procs": 3154441.0, "Ops/sec/procs": 105127.28, "ns per ops/procs": 9512.28}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30020.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16126200.0, "Ops per second": 537170.11, "ns per ops": 1861.61, "Ops per threads": 83990.0, "Ops per procs": 83990.0, "Ops/sec/procs": 2797.76, "ns per ops/procs": 357428.67}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 49543458.0, "Ops per second": 1651133.1, "ns per ops": 605.64, "Ops per threads": 3096466.0, "Ops per procs": 3096466.0, "Ops/sec/procs": 103195.82, "ns per ops/procs": 9690.32}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12296210730.0, "Ops per second": 409512541.44, "ns per ops": 2.44, "Ops per threads": 768513170.0, "Ops per procs": 768513170.0, "Ops/sec/procs": 25594533.84, "ns per ops/procs": 39.07}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1152573305.0, "Ops per second": 38419110.17, "ns per ops": 26.07, "Ops per threads": 24011943.0, "Ops per procs": 24011943.0, "Ops/sec/procs": 800398.13, "ns per ops/procs": 1251.41}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 48210996.0, "Ops per second": 1606716.17, "ns per ops": 622.39, "Ops per threads": 3013187.0, "Ops per procs": 3013187.0, "Ops/sec/procs": 100419.76, "ns per ops/procs": 9958.2}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1183351473.0, "Ops per second": 39445049.0, "ns per ops": 25.0, "Ops per threads": 147918934.0, "Ops per procs": 147918934.0, "Ops/sec/procs": 4930631.0, "ns per ops/procs": 203.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30022.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 889816582.0, "Ops per second": 29638582.86, "ns per ops": 33.74, "Ops per threads": 889816582.0, "Ops per procs": 889816582.0, "Ops/sec/procs": 29638582.86, "ns per ops/procs": 33.74}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16123063532.0, "Ops per second": 537385169.3, "ns per ops": 1.86, "Ops per threads": 671794313.0, "Ops per procs": 671794313.0, "Ops/sec/procs": 22391048.72, "ns per ops/procs": 44.66}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 521242541.0, "Ops per second": 17374751.37, "ns per ops": 57.67, "Ops per threads": 65155317.0, "Ops per procs": 65155317.0, "Ops/sec/procs": 2171843.92, "ns per ops/procs": 461.4}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3385180274.0, "Ops per second": 112839342.0, "ns per ops": 8.0, "Ops per threads": 211573767.0, "Ops per procs": 211573767.0, "Ops/sec/procs": 7052458.0, "ns per ops/procs": 142.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30009.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 369480530.0, "Ops per second": 12311957.13, "ns per ops": 81.22, "Ops per threads": 184740265.0, "Ops per procs": 184740265.0, "Ops/sec/procs": 6155978.57, "ns per ops/procs": 162.44}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1382805332.0, "Ops per second": 46093511.07, "ns per ops": 21.75, "Ops per threads": 14404222.0, "Ops per procs": 14404222.0, "Ops/sec/procs": 480140.74, "ns per ops/procs": 2088.47}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1184710756.0, "Ops per second": 39490358.0, "ns per ops": 25.0, "Ops per threads": 148088844.0, "Ops per procs": 148088844.0, "Ops/sec/procs": 4936294.0, "ns per ops/procs": 203.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3359727702.0, "Ops per second": 111901052.58, "ns per ops": 8.94, "Ops per threads": 839931925.0, "Ops per procs": 839931925.0, "Ops/sec/procs": 27975263.15, "ns per ops/procs": 35.75}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 82715081086.0, "Ops per second": 2756659484.65, "ns per ops": 0.36, "Ops per threads": 430807713.0, "Ops per procs": 430807713.0, "Ops/sec/procs": 14357601.48, "ns per ops/procs": 69.65}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1868741135.0, "Ops per second": 62291371.17, "ns per ops": 16.06, "Ops per threads": 12977368.0, "Ops per procs": 12977368.0, "Ops/sec/procs": 432578.97, "ns per ops/procs": 2312.56}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30081.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 17645216.0, "Ops per second": 586580.71, "ns per ops": 1704.8, "Ops per threads": 122536.0, "Ops per procs": 122536.0, "Ops/sec/procs": 4073.48, "ns per ops/procs": 245490.51}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12309109652.0, "Ops per second": 409939203.26, "ns per ops": 2.44, "Ops per threads": 769319353.0, "Ops per procs": 769319353.0, "Ops/sec/procs": 25621200.2, "ns per ops/procs": 39.03}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 502996240.0, "Ops per second": 16766541.0, "ns per ops": 59.0, "Ops per threads": 251498120.0, "Ops per procs": 251498120.0, "Ops/sec/procs": 8383270.0, "ns per ops/procs": 119.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 962326289.0, "Ops per second": 32077542.0, "ns per ops": 31.0, "Ops per threads": 240581572.0, "Ops per procs": 240581572.0, "Ops/sec/procs": 8019385.0, "ns per ops/procs": 125.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238061139.0, "Ops per second": 7935371.3, "ns per ops": 126.23, "Ops per threads": 238061139.0, "Ops per procs": 238061139.0, "Ops/sec/procs": 7935371.3, "ns per ops/procs": 126.23}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 2029644255.0, "Ops per second": 67654808.5, "ns per ops": 14.8, "Ops per threads": 14094751.0, "Ops per procs": 14094751.0, "Ops/sec/procs": 469825.06, "ns per ops/procs": 2130.58}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 981719760.0, "Ops per second": 32723992.0, "ns per ops": 30.6, "Ops per threads": 13634996.0, "Ops per procs": 13634996.0, "Ops/sec/procs": 454499.89, "ns per ops/procs": 2202.88}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3431947123.0, "Ops per second": 114398237.0, "ns per ops": 8.0, "Ops per threads": 214496695.0, "Ops per procs": 214496695.0, "Ops/sec/procs": 7149889.0, "ns per ops/procs": 140.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20203249068.0, "Ops per second": 673339997.22, "ns per ops": 1.49, "Ops per threads": 420901022.0, "Ops per procs": 420901022.0, "Ops/sec/procs": 14027916.61, "ns per ops/procs": 71.29}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60668652182.0, "Ops per second": 2021484078.04, "ns per ops": 0.49, "Ops per threads": 421310084.0, "Ops per procs": 421310084.0, "Ops/sec/procs": 14038083.88, "ns per ops/procs": 71.23}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30015.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16702950.0, "Ops per second": 556479.07, "ns per ops": 1797.01, "Ops per threads": 86994.0, "Ops per procs": 86994.0, "Ops/sec/procs": 2898.33, "ns per ops/procs": 345026.45}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 327745331.0, "Ops per second": 10924844.0, "ns per ops": 91.0, "Ops per threads": 2276009.0, "Ops per procs": 2276009.0, "Ops/sec/procs": 75866.0, "ns per ops/procs": 13223.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30020.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 887917201.0, "Ops per second": 29577248.45, "ns per ops": 33.81, "Ops per threads": 887917201.0, "Ops per procs": 887917201.0, "Ops/sec/procs": 29577248.45, "ns per ops/procs": 33.81}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30076.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18712387.0, "Ops per second": 622156.73, "ns per ops": 1607.31, "Ops per threads": 129947.0, "Ops per procs": 129947.0, "Ops/sec/procs": 4320.53, "ns per ops/procs": 231452.93}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 532914059.0, "Ops per second": 17763801.97, "ns per ops": 56.41, "Ops per threads": 66614257.0, "Ops per procs": 66614257.0, "Ops/sec/procs": 2220475.25, "ns per ops/procs": 451.25}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 249383256.0, "Ops per second": 8312775.0, "ns per ops": 120.0, "Ops per threads": 1298871.0, "Ops per procs": 1298871.0, "Ops/sec/procs": 43295.0, "ns per ops/procs": 23171.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 328564086.0, "Ops per second": 10952136.2, "ns per ops": 91.46, "Ops per threads": 164282043.0, "Ops per procs": 164282043.0, "Ops/sec/procs": 5476068.1, "ns per ops/procs": 182.92}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1213881441.0, "Ops per second": 40462714.0, "ns per ops": 24.0, "Ops per threads": 25289196.0, "Ops per procs": 25289196.0, "Ops/sec/procs": 842973.0, "ns per ops/procs": 1190.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 734610415.0, "Ops per second": 24487013.83, "ns per ops": 40.87, "Ops per threads": 30608767.0, "Ops per procs": 30608767.0, "Ops/sec/procs": 1020292.24, "ns per ops/procs": 980.76}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 237606973.0, "Ops per second": 7920232.43, "ns per ops": 126.47, "Ops per threads": 237606973.0, "Ops per procs": 237606973.0, "Ops/sec/procs": 7920232.43, "ns per ops/procs": 126.47}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 35733770062.0, "Ops per second": 1190951814.74, "ns per ops": 0.84, "Ops per threads": 496302361.0, "Ops per procs": 496302361.0, "Ops/sec/procs": 16540997.43, "ns per ops/procs": 60.46}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 995724709.0, "Ops per second": 33190823.63, "ns per ops": 30.19, "Ops per threads": 13829509.0, "Ops per procs": 13829509.0, "Ops/sec/procs": 460983.66, "ns per ops/procs": 2173.94}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30004.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 61628879596.0, "Ops per second": 2053972688.7, "ns per ops": 0.49, "Ops per threads": 427978330.0, "Ops per procs": 427978330.0, "Ops/sec/procs": 14263699.23, "ns per ops/procs": 70.11}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30076.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18965050.0, "Ops per second": 630562.45, "ns per ops": 1585.89, "Ops per threads": 131701.0, "Ops per procs": 131701.0, "Ops/sec/procs": 4378.91, "ns per ops/procs": 228367.55}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30076.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 19923076.0, "Ops per second": 662414.33, "ns per ops": 1509.63, "Ops per threads": 138354.0, "Ops per procs": 138354.0, "Ops/sec/procs": 4600.1, "ns per ops/procs": 217386.6}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36289262638.0, "Ops per second": 1209493305.18, "ns per ops": 0.83, "Ops per threads": 504017536.0, "Ops per procs": 504017536.0, "Ops/sec/procs": 16798518.13, "ns per ops/procs": 59.53}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30011.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 370811148.0, "Ops per second": 12355617.38, "ns per ops": 80.93, "Ops per threads": 185405574.0, "Ops per procs": 185405574.0, "Ops/sec/procs": 6177808.69, "ns per ops/procs": 161.87}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 371421804.0, "Ops per second": 12380726.0, "ns per ops": 81.0, "Ops per threads": 3868977.0, "Ops per procs": 3868977.0, "Ops/sec/procs": 128965.0, "ns per ops/procs": 7779.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 275609630.0, "Ops per second": 9186987.0, "ns per ops": 109.0, "Ops per threads": 1913955.0, "Ops per procs": 1913955.0, "Ops/sec/procs": 63798.0, "ns per ops/procs": 15725.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1169420060.0, "Ops per second": 38980668.67, "ns per ops": 25.7, "Ops per threads": 24362917.0, "Ops per procs": 24362917.0, "Ops/sec/procs": 812097.26, "ns per ops/procs": 1233.56}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20203700999.0, "Ops per second": 673355580.16, "ns per ops": 1.49, "Ops per threads": 420910437.0, "Ops per procs": 420910437.0, "Ops/sec/procs": 14028241.25, "ns per ops/procs": 71.28}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 954200118.0, "Ops per second": 31806670.6, "ns per ops": 31.48, "Ops per threads": 13252779.0, "Ops per procs": 13252779.0, "Ops/sec/procs": 441759.31, "ns per ops/procs": 2266.76}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30078.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 19171207.0, "Ops per second": 637379.12, "ns per ops": 1568.92, "Ops per threads": 133133.0, "Ops per procs": 133133.0, "Ops/sec/procs": 4426.24, "ns per ops/procs": 225925.19}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16129219825.0, "Ops per second": 537591184.22, "ns per ops": 1.86, "Ops per threads": 672050826.0, "Ops per procs": 672050826.0, "Ops/sec/procs": 22399632.68, "ns per ops/procs": 44.64}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 170932506.0, "Ops per second": 5697270.9, "ns per ops": 175.52, "Ops per threads": 42733126.0, "Ops per procs": 42733126.0, "Ops/sec/procs": 1424317.72, "ns per ops/procs": 702.09}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12299929004.0, "Ops per second": 409633650.09, "ns per ops": 2.44, "Ops per threads": 768745562.0, "Ops per procs": 768745562.0, "Ops/sec/procs": 25602103.13, "ns per ops/procs": 39.06}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 377732229.0, "Ops per second": 12591074.3, "ns per ops": 79.57, "Ops per threads": 94433057.0, "Ops per procs": 94433057.0, "Ops/sec/procs": 3147768.58, "ns per ops/procs": 318.28}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16120558283.0, "Ops per second": 537303998.4, "ns per ops": 1.86, "Ops per threads": 671689928.0, "Ops per procs": 671689928.0, "Ops/sec/procs": 22387666.6, "ns per ops/procs": 44.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40207830812.0, "Ops per second": 1340033754.8, "ns per ops": 0.75, "Ops per threads": 418831570.0, "Ops per procs": 418831570.0, "Ops/sec/procs": 13958684.95, "ns per ops/procs": 71.64}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238379230.0, "Ops per second": 7945974.33, "ns per ops": 126.06, "Ops per threads": 238379230.0, "Ops per procs": 238379230.0, "Ops/sec/procs": 7945974.33, "ns per ops/procs": 126.06}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2279849630.0, "Ops per second": 75994987.67, "ns per ops": 13.19, "Ops per threads": 11874216.0, "Ops per procs": 11874216.0, "Ops/sec/procs": 395807.23, "ns per ops/procs": 2533.38}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3729361781.0, "Ops per second": 124312059.0, "ns per ops": 8.0, "Ops per threads": 155390074.0, "Ops per procs": 155390074.0, "Ops/sec/procs": 5179669.0, "ns per ops/procs": 193.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6548784160.0, "Ops per second": 218123552.32, "ns per ops": 4.58, "Ops per threads": 818598020.0, "Ops per procs": 818598020.0, "Ops/sec/procs": 27265444.04, "ns per ops/procs": 36.68}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1219832040.0, "Ops per second": 40661068.0, "ns per ops": 24.0, "Ops per threads": 25413167.0, "Ops per procs": 25413167.0, "Ops/sec/procs": 847105.0, "ns per ops/procs": 1184.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40404458473.0, "Ops per second": 1346603321.5, "ns per ops": 0.74, "Ops per threads": 420879775.0, "Ops per procs": 420879775.0, "Ops/sec/procs": 14027117.93, "ns per ops/procs": 71.29}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1174515056.0, "Ops per second": 39150501.0, "ns per ops": 25.0, "Ops per threads": 146814382.0, "Ops per procs": 146814382.0, "Ops/sec/procs": 4893812.0, "ns per ops/procs": 205.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12302667751.0, "Ops per second": 409723290.18, "ns per ops": 2.44, "Ops per threads": 768916734.0, "Ops per procs": 768916734.0, "Ops/sec/procs": 25607705.64, "ns per ops/procs": 39.05}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50257627.0, "Ops per second": 1674948.98, "ns per ops": 597.03, "Ops per threads": 3141101.0, "Ops per procs": 3141101.0, "Ops/sec/procs": 104684.31, "ns per ops/procs": 9552.53}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12307510045.0, "Ops per second": 409886376.88, "ns per ops": 2.44, "Ops per threads": 769219377.0, "Ops per procs": 769219377.0, "Ops/sec/procs": 25617898.56, "ns per ops/procs": 39.04}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 81570219580.0, "Ops per second": 2718536861.12, "ns per ops": 0.37, "Ops per threads": 424844893.0, "Ops per procs": 424844893.0, "Ops/sec/procs": 14159046.15, "ns per ops/procs": 70.63}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 274089555.0, "Ops per second": 9136318.0, "ns per ops": 109.0, "Ops per threads": 274089555.0, "Ops per procs": 274089555.0, "Ops/sec/procs": 9136318.0, "ns per ops/procs": 109.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30010.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 373040681.0, "Ops per second": 12430543.61, "ns per ops": 80.45, "Ops per threads": 186520340.0, "Ops per procs": 186520340.0, "Ops/sec/procs": 6215271.8, "ns per ops/procs": 160.89}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1161090246.0, "Ops per second": 38703008.2, "ns per ops": 25.88, "Ops per threads": 24189380.0, "Ops per procs": 24189380.0, "Ops/sec/procs": 806312.67, "ns per ops/procs": 1242.37}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30032.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 23384424.0, "Ops per second": 778624.81, "ns per ops": 1284.32, "Ops per threads": 324783.0, "Ops per procs": 324783.0, "Ops/sec/procs": 10814.23, "ns per ops/procs": 92470.72}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30030.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 60723622931.0, "Ops per second": 2022066714.02, "ns per ops": 0.49, "Ops per threads": 421691825.0, "Ops per procs": 421691825.0, "Ops/sec/procs": 14042129.96, "ns per ops/procs": 71.21}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50465233.0, "Ops per second": 1681844.42, "ns per ops": 594.59, "Ops per threads": 3154077.0, "Ops per procs": 3154077.0, "Ops/sec/procs": 105115.28, "ns per ops/procs": 9513.37}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6548802705.0, "Ops per second": 218126645.96, "ns per ops": 4.58, "Ops per threads": 818600338.0, "Ops per procs": 818600338.0, "Ops/sec/procs": 27265830.75, "ns per ops/procs": 36.68}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 80533481901.0, "Ops per second": 2683963177.18, "ns per ops": 0.37, "Ops per threads": 419445218.0, "Ops per procs": 419445218.0, "Ops/sec/procs": 13978974.88, "ns per ops/procs": 71.54}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 81962152799.0, "Ops per second": 2731588527.93, "ns per ops": 0.37, "Ops per threads": 426886212.0, "Ops per procs": 426886212.0, "Ops/sec/procs": 14227023.58, "ns per ops/procs": 70.29}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 80620004.0, "Ops per second": 2687014.58, "ns per ops": 372.16, "Ops per threads": 10077500.0, "Ops per procs": 10077500.0, "Ops/sec/procs": 335876.82, "ns per ops/procs": 2977.28}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30003.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36350491505.0, "Ops per second": 1211526057.59, "ns per ops": 0.83, "Ops per threads": 504867937.0, "Ops per procs": 504867937.0, "Ops/sec/procs": 16826750.8, "ns per ops/procs": 59.43}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 30 -t 1", {"Duration (ms)": 30023.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 891090667.0, "Ops per second": 29679429.79, "ns per ops": 33.69, "Ops per threads": 891090667.0, "Ops per procs": 891090667.0, "Ops/sec/procs": 29679429.79, "ns per ops/procs": 33.69}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1796870976.0, "Ops per second": 59895699.2, "ns per ops": 16.72, "Ops per threads": 12478270.0, "Ops per procs": 12478270.0, "Ops/sec/procs": 415942.36, "ns per ops/procs": 2407.95}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3774729287.0, "Ops per second": 125824309.0, "ns per ops": 7.0, "Ops per threads": 157280386.0, "Ops per procs": 157280386.0, "Ops/sec/procs": 5242679.0, "ns per ops/procs": 191.0}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 22601781.0, "Ops per second": 752501.27, "ns per ops": 1328.9, "Ops per threads": 313913.0, "Ops per procs": 313913.0, "Ops/sec/procs": 10451.41, "ns per ops/procs": 95680.9}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 245713714.0, "Ops per second": 8190457.0, "ns per ops": 122.0, "Ops per threads": 1279758.0, "Ops per procs": 1279758.0, "Ops/sec/procs": 42658.0, "ns per ops/procs": 23518.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1770587430.0, "Ops per second": 58973071.78, "ns per ops": 16.96, "Ops per threads": 885293715.0, "Ops per procs": 885293715.0, "Ops/sec/procs": 29486535.89, "ns per ops/procs": 33.91}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 277533293.0, "Ops per second": 9251109.0, "ns per ops": 108.0, "Ops per threads": 1927314.0, "Ops per procs": 1927314.0, "Ops/sec/procs": 64243.0, "ns per ops/procs": 15616.0}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30049.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 22074260.0, "Ops per second": 734586.11, "ns per ops": 1361.31, "Ops per threads": 229940.0, "Ops per procs": 229940.0, "Ops/sec/procs": 7651.94, "ns per ops/procs": 130685.84}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 174751034.0, "Ops per second": 5824573.05, "ns per ops": 171.69, "Ops per threads": 43687758.0, "Ops per procs": 43687758.0, "Ops/sec/procs": 1456143.26, "ns per ops/procs": 686.75}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30049.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 23944893.0, "Ops per second": 796836.21, "ns per ops": 1254.96, "Ops per threads": 249425.0, "Ops per procs": 249425.0, "Ops/sec/procs": 8300.38, "ns per ops/procs": 120476.45}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1171974525.0, "Ops per second": 39065817.5, "ns per ops": 25.66, "Ops per threads": 24416135.0, "Ops per procs": 24416135.0, "Ops/sec/procs": 813871.2, "ns per ops/procs": 1231.66}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 255154695.0, "Ops per second": 8504816.84, "ns per ops": 117.58, "Ops per threads": 255154695.0, "Ops per procs": 255154695.0, "Ops/sec/procs": 8504816.84, "ns per ops/procs": 117.58}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1774632957.0, "Ops per second": 59107981.34, "ns per ops": 16.92, "Ops per threads": 887316478.0, "Ops per procs": 887316478.0, "Ops/sec/procs": 29553990.67, "ns per ops/procs": 33.84}],["rdq-yield-tokio", "./rdq-yield-tokio -p 192 -d 30 -t 192", {"Duration (ms)": 30098.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 243905722.0, "Ops per second": 8130190.0, "ns per ops": 123.0, "Ops per threads": 1270342.0, "Ops per procs": 1270342.0, "Ops/sec/procs": 42344.0, "ns per ops/procs": 23693.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 774762764.0, "Ops per second": 25825425.0, "ns per ops": 38.0, "Ops per threads": 16140890.0, "Ops per procs": 16140890.0, "Ops/sec/procs": 538029.0, "ns per ops/procs": 1864.0}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 30 -t 1", {"Duration (ms)": 30001.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 254608045.0, "Ops per second": 8486592.95, "ns per ops": 117.83, "Ops per threads": 254608045.0, "Ops per procs": 254608045.0, "Ops/sec/procs": 8486592.95, "ns per ops/procs": 117.83}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16125063037.0, "Ops per second": 537455946.52, "ns per ops": 1.86, "Ops per threads": 671877626.0, "Ops per procs": 671877626.0, "Ops/sec/procs": 22393997.77, "ns per ops/procs": 44.65}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30036.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 20643005.0, "Ops per second": 687254.32, "ns per ops": 1455.07, "Ops per threads": 286708.0, "Ops per procs": 286708.0, "Ops/sec/procs": 9545.2, "ns per ops/procs": 104764.71}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40506295310.0, "Ops per second": 1350010754.12, "ns per ops": 0.74, "Ops per threads": 421940576.0, "Ops per procs": 421940576.0, "Ops/sec/procs": 14062612.02, "ns per ops/procs": 71.11}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 390866582.0, "Ops per second": 13028886.0, "ns per ops": 77.0, "Ops per threads": 4071526.0, "Ops per procs": 4071526.0, "Ops/sec/procs": 135717.0, "ns per ops/procs": 7392.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3809163774.0, "Ops per second": 126972125.0, "ns per ops": 7.0, "Ops per threads": 158715157.0, "Ops per procs": 158715157.0, "Ops/sec/procs": 5290505.0, "ns per ops/procs": 189.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 30 -t 8", {"Duration (ms)": 30097.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 1170675486.0, "Ops per second": 39022516.0, "ns per ops": 25.0, "Ops per threads": 146334435.0, "Ops per procs": 146334435.0, "Ops/sec/procs": 4877814.0, "ns per ops/procs": 205.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 375686385.0, "Ops per second": 12522879.0, "ns per ops": 80.0, "Ops per threads": 2608933.0, "Ops per procs": 2608933.0, "Ops/sec/procs": 86964.0, "ns per ops/procs": 11536.0}],["rdq-yield-go", "./rdq-yield-go -p 72 -d 30 -t 72", {"Duration (ms)": 30033.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 22374358.0, "Ops per second": 744982.97, "ns per ops": 1342.31, "Ops per threads": 310754.0, "Ops per procs": 310754.0, "Ops/sec/procs": 10346.99, "ns per ops/procs": 96646.5}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 392570318.0, "Ops per second": 13085677.0, "ns per ops": 76.0, "Ops per threads": 5452365.0, "Ops per procs": 5452365.0, "Ops/sec/procs": 181745.0, "ns per ops/procs": 5520.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50279346.0, "Ops per second": 1675644.74, "ns per ops": 596.79, "Ops per threads": 3142459.0, "Ops per procs": 3142459.0, "Ops/sec/procs": 104727.8, "ns per ops/procs": 9548.56}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3768065044.0, "Ops per second": 125602168.0, "ns per ops": 7.0, "Ops per threads": 157002710.0, "Ops per procs": 157002710.0, "Ops/sec/procs": 5233423.0, "ns per ops/procs": 191.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30029.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 15850717.0, "Ops per second": 527835.07, "ns per ops": 1894.53, "Ops per threads": 82555.0, "Ops per procs": 82555.0, "Ops/sec/procs": 2749.14, "ns per ops/procs": 363749.98}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41675700.0, "Ops per second": 1388226.26, "ns per ops": 720.34, "Ops per threads": 868243.0, "Ops per procs": 868243.0, "Ops/sec/procs": 28921.38, "ns per ops/procs": 34576.5}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 734897875.0, "Ops per second": 24496595.83, "ns per ops": 40.86, "Ops per threads": 30620744.0, "Ops per procs": 30620744.0, "Ops/sec/procs": 1020691.49, "ns per ops/procs": 980.75}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30005.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 82728752519.0, "Ops per second": 2757105721.8, "ns per ops": 0.36, "Ops per threads": 430878919.0, "Ops per procs": 430878919.0, "Ops/sec/procs": 14359925.63, "ns per ops/procs": 69.64}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30019.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16478480.0, "Ops per second": 548929.06, "ns per ops": 1821.73, "Ops per threads": 85825.0, "Ops per procs": 85825.0, "Ops/sec/procs": 2859.01, "ns per ops/procs": 349771.97}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1293440944.0, "Ops per second": 43114698.13, "ns per ops": 23.24, "Ops per threads": 13473343.0, "Ops per procs": 13473343.0, "Ops/sec/procs": 449111.44, "ns per ops/procs": 2231.47}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30004.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 81661498.0, "Ops per second": 2721631.26, "ns per ops": 367.43, "Ops per threads": 10207687.0, "Ops per procs": 10207687.0, "Ops/sec/procs": 340203.91, "ns per ops/procs": 2939.41}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1960168369.0, "Ops per second": 65338945.63, "ns per ops": 15.34, "Ops per threads": 13612280.0, "Ops per procs": 13612280.0, "Ops/sec/procs": 453742.68, "ns per ops/procs": 2209.1}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 30 -t 24", {"Duration (ms)": 30097.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 3765507913.0, "Ops per second": 125516930.0, "ns per ops": 7.0, "Ops per threads": 156896163.0, "Ops per procs": 156896163.0, "Ops/sec/procs": 5229872.0, "ns per ops/procs": 191.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 192 -d 30 -t 192", {"Duration (ms)": 30067.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 83036308473.0, "Ops per second": 2761681866.55, "ns per ops": 0.36, "Ops per threads": 432480773.0, "Ops per procs": 432480773.0, "Ops/sec/procs": 14383759.72, "ns per ops/procs": 69.52}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12315497386.0, "Ops per second": 410150552.35, "ns per ops": 2.44, "Ops per threads": 769718586.0, "Ops per procs": 769718586.0, "Ops/sec/procs": 25634409.52, "ns per ops/procs": 39.01}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12304100575.0, "Ops per second": 409772087.55, "ns per ops": 2.44, "Ops per threads": 769006285.0, "Ops per procs": 769006285.0, "Ops/sec/procs": 25610755.47, "ns per ops/procs": 39.05}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3362465265.0, "Ops per second": 111992448.08, "ns per ops": 8.93, "Ops per threads": 840616316.0, "Ops per procs": 840616316.0, "Ops/sec/procs": 27998112.02, "ns per ops/procs": 35.72}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 276620952.0, "Ops per second": 9220698.0, "ns per ops": 108.0, "Ops per threads": 1920978.0, "Ops per procs": 1920978.0, "Ops/sec/procs": 64032.0, "ns per ops/procs": 15668.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12259652464.0, "Ops per second": 408291721.55, "ns per ops": 2.45, "Ops per threads": 766228279.0, "Ops per procs": 766228279.0, "Ops/sec/procs": 25518232.6, "ns per ops/procs": 39.19}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 735195431.0, "Ops per second": 24506514.37, "ns per ops": 40.84, "Ops per threads": 30633142.0, "Ops per procs": 30633142.0, "Ops/sec/procs": 1021104.77, "ns per ops/procs": 980.1}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1762372728.0, "Ops per second": 58745757.6, "ns per ops": 17.03, "Ops per threads": 12238699.0, "Ops per procs": 12238699.0, "Ops/sec/procs": 407956.65, "ns per ops/procs": 2451.82}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238205503.0, "Ops per second": 7940183.43, "ns per ops": 126.15, "Ops per threads": 238205503.0, "Ops per procs": 238205503.0, "Ops/sec/procs": 7940183.43, "ns per ops/procs": 126.15}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30097.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273773706.0, "Ops per second": 9125790.0, "ns per ops": 109.0, "Ops per threads": 273773706.0, "Ops per procs": 273773706.0, "Ops/sec/procs": 9125790.0, "ns per ops/procs": 109.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30011.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 365464714.0, "Ops per second": 12177618.57, "ns per ops": 82.12, "Ops per threads": 182732357.0, "Ops per procs": 182732357.0, "Ops/sec/procs": 6088809.29, "ns per ops/procs": 164.24}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 41222872249.0, "Ops per second": 1373881145.98, "ns per ops": 0.73, "Ops per threads": 429404919.0, "Ops per procs": 429404919.0, "Ops/sec/procs": 14311261.94, "ns per ops/procs": 69.88}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30053.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 21820837.0, "Ops per second": 726076.7, "ns per ops": 1377.26, "Ops per threads": 227300.0, "Ops per procs": 227300.0, "Ops/sec/procs": 7563.3, "ns per ops/procs": 132217.44}],["rdq-yield-cfa", "./rdq-yield-cfa -p 48 -d 30 -t 48", {"Duration (ms)": 0.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1180102488.0, "Ops per second": 39336749.6, "ns per ops": 25.46, "Ops per threads": 24585468.0, "Ops per procs": 24585468.0, "Ops/sec/procs": 819515.62, "ns per ops/procs": 1222.29}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 389502485.0, "Ops per second": 12983416.0, "ns per ops": 77.0, "Ops per threads": 5409756.0, "Ops per procs": 5409756.0, "Ops/sec/procs": 180325.0, "ns per ops/procs": 5563.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12259461830.0, "Ops per second": 408287332.77, "ns per ops": 2.45, "Ops per threads": 766216364.0, "Ops per procs": 766216364.0, "Ops/sec/procs": 25517958.3, "ns per ops/procs": 39.19}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3428043429.0, "Ops per second": 114268114.0, "ns per ops": 8.0, "Ops per threads": 214252714.0, "Ops per procs": 214252714.0, "Ops/sec/procs": 7141757.0, "ns per ops/procs": 140.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6549072846.0, "Ops per second": 218136743.72, "ns per ops": 4.58, "Ops per threads": 818634105.0, "Ops per procs": 818634105.0, "Ops/sec/procs": 27267092.96, "ns per ops/procs": 36.67}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 333295365.0, "Ops per second": 11109845.5, "ns per ops": 90.17, "Ops per threads": 166647682.0, "Ops per procs": 166647682.0, "Ops/sec/procs": 5554922.75, "ns per ops/procs": 180.33}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1979138187.0, "Ops per second": 65971272.9, "ns per ops": 15.19, "Ops per threads": 13744015.0, "Ops per procs": 13744015.0, "Ops/sec/procs": 458133.84, "ns per ops/procs": 2187.53}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 374484658.0, "Ops per second": 12482821.93, "ns per ops": 80.26, "Ops per threads": 93621164.0, "Ops per procs": 93621164.0, "Ops/sec/procs": 3120705.48, "ns per ops/procs": 321.04}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 869533479.0, "Ops per second": 28984449.3, "ns per ops": 34.57, "Ops per threads": 12076853.0, "Ops per procs": 12076853.0, "Ops/sec/procs": 402561.8, "ns per ops/procs": 2488.99}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6548264549.0, "Ops per second": 218108494.76, "ns per ops": 4.58, "Ops per threads": 818533068.0, "Ops per procs": 818533068.0, "Ops/sec/procs": 27263561.84, "ns per ops/procs": 36.68}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30004.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40994346475.0, "Ops per second": 1366270585.15, "ns per ops": 0.73, "Ops per threads": 427024442.0, "Ops per procs": 427024442.0, "Ops/sec/procs": 14231985.26, "ns per ops/procs": 70.26}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30047.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 22479031.0, "Ops per second": 748104.76, "ns per ops": 1336.71, "Ops per threads": 234156.0, "Ops per procs": 234156.0, "Ops/sec/procs": 7792.76, "ns per ops/procs": 128324.27}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20562252776.0, "Ops per second": 685305729.99, "ns per ops": 1.46, "Ops per threads": 428380266.0, "Ops per procs": 428380266.0, "Ops/sec/procs": 14277202.71, "ns per ops/procs": 70.04}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16128747560.0, "Ops per second": 537575583.44, "ns per ops": 1.86, "Ops per threads": 672031148.0, "Ops per procs": 672031148.0, "Ops/sec/procs": 22398982.64, "ns per ops/procs": 44.64}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1206770025.0, "Ops per second": 40225667.0, "ns per ops": 24.0, "Ops per threads": 25141042.0, "Ops per procs": 25141042.0, "Ops/sec/procs": 838034.0, "ns per ops/procs": 1197.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273741770.0, "Ops per second": 9124725.0, "ns per ops": 109.0, "Ops per threads": 273741770.0, "Ops per procs": 273741770.0, "Ops/sec/procs": 9124725.0, "ns per ops/procs": 109.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 96 -d 30 -t 96", {"Duration (ms)": 0.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 1341431751.0, "Ops per second": 44714391.7, "ns per ops": 22.4, "Ops per threads": 13973247.0, "Ops per procs": 13973247.0, "Ops/sec/procs": 465774.91, "ns per ops/procs": 2150.72}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 533432907.0, "Ops per second": 17781096.9, "ns per ops": 56.36, "Ops per threads": 66679113.0, "Ops per procs": 66679113.0, "Ops/sec/procs": 2222637.11, "ns per ops/procs": 450.87}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16118064891.0, "Ops per second": 537218956.53, "ns per ops": 1.86, "Ops per threads": 671586037.0, "Ops per procs": 671586037.0, "Ops/sec/procs": 22384123.19, "ns per ops/procs": 44.67}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 396848421.0, "Ops per second": 13228280.0, "ns per ops": 75.0, "Ops per threads": 5511783.0, "Ops per procs": 5511783.0, "Ops/sec/procs": 183726.0, "ns per ops/procs": 5460.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12259535357.0, "Ops per second": 408290170.13, "ns per ops": 2.45, "Ops per threads": 766220959.0, "Ops per procs": 766220959.0, "Ops/sec/procs": 25518135.63, "ns per ops/procs": 39.19}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3424657532.0, "Ops per second": 114155251.0, "ns per ops": 8.0, "Ops per threads": 214041095.0, "Ops per procs": 214041095.0, "Ops/sec/procs": 7134703.0, "ns per ops/procs": 140.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1221519267.0, "Ops per second": 40717308.0, "ns per ops": 24.0, "Ops per threads": 25448318.0, "Ops per procs": 25448318.0, "Ops/sec/procs": 848277.0, "ns per ops/procs": 1182.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 30 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 672790248.0, "Ops per second": 22426341.6, "ns per ops": 44.7, "Ops per threads": 42049390.0, "Ops per procs": 42049390.0, "Ops/sec/procs": 1401646.35, "ns per ops/procs": 715.24}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 401818666.0, "Ops per second": 13393955.0, "ns per ops": 74.0, "Ops per threads": 5580814.0, "Ops per procs": 5580814.0, "Ops/sec/procs": 186027.0, "ns per ops/procs": 5393.0}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30071.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 19291025.0, "Ops per second": 641495.1, "ns per ops": 1558.86, "Ops per threads": 133965.0, "Ops per procs": 133965.0, "Ops/sec/procs": 4454.83, "ns per ops/procs": 224475.6}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 961052463.0, "Ops per second": 32035082.0, "ns per ops": 31.0, "Ops per threads": 240263115.0, "Ops per procs": 240263115.0, "Ops/sec/procs": 8008770.0, "ns per ops/procs": 125.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30098.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 426283101.0, "Ops per second": 14209436.0, "ns per ops": 70.0, "Ops per threads": 4440448.0, "Ops per procs": 4440448.0, "Ops/sec/procs": 148014.0, "ns per ops/procs": 6778.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 527777636.0, "Ops per second": 17592587.87, "ns per ops": 56.96, "Ops per threads": 65972204.0, "Ops per procs": 65972204.0, "Ops/sec/procs": 2199073.48, "ns per ops/procs": 455.68}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42074502.0, "Ops per second": 1402126.6, "ns per ops": 713.2, "Ops per threads": 1753104.0, "Ops per procs": 1753104.0, "Ops/sec/procs": 58421.94, "ns per ops/procs": 17116.86}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42287868.0, "Ops per second": 1409248.52, "ns per ops": 709.6, "Ops per threads": 1761994.0, "Ops per procs": 1761994.0, "Ops/sec/procs": 58718.69, "ns per ops/procs": 17030.35}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30020.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 40756339.0, "Ops per second": 1357614.84, "ns per ops": 736.59, "Ops per threads": 849090.0, "Ops per procs": 849090.0, "Ops/sec/procs": 28283.64, "ns per ops/procs": 35356.13}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 539016587.0, "Ops per second": 17967219.57, "ns per ops": 55.77, "Ops per threads": 67377073.0, "Ops per procs": 67377073.0, "Ops/sec/procs": 2245902.45, "ns per ops/procs": 446.17}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 533657448.0, "Ops per second": 17788581.6, "ns per ops": 56.33, "Ops per threads": 66707181.0, "Ops per procs": 66707181.0, "Ops/sec/procs": 2223572.7, "ns per ops/procs": 450.66}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 35748206043.0, "Ops per second": 1191435275.01, "ns per ops": 0.84, "Ops per threads": 496502861.0, "Ops per procs": 496502861.0, "Ops/sec/procs": 16547712.15, "ns per ops/procs": 60.43}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30005.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 61345494458.0, "Ops per second": 2044499886.57, "ns per ops": 0.49, "Ops per threads": 426010378.0, "Ops per procs": 426010378.0, "Ops/sec/procs": 14197915.88, "ns per ops/procs": 70.43}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42013391.0, "Ops per second": 1400100.06, "ns per ops": 714.23, "Ops per threads": 1750557.0, "Ops per procs": 1750557.0, "Ops/sec/procs": 58337.5, "ns per ops/procs": 17141.63}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30024.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3363680534.0, "Ops per second": 112032672.3, "ns per ops": 8.93, "Ops per threads": 840920133.0, "Ops per procs": 840920133.0, "Ops/sec/procs": 28008168.08, "ns per ops/procs": 35.7}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 329807385.0, "Ops per second": 10993579.5, "ns per ops": 91.12, "Ops per threads": 164903692.0, "Ops per procs": 164903692.0, "Ops/sec/procs": 5496789.75, "ns per ops/procs": 182.24}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 173205579.0, "Ops per second": 5773046.79, "ns per ops": 173.22, "Ops per threads": 43301394.0, "Ops per procs": 43301394.0, "Ops/sec/procs": 1443261.7, "ns per ops/procs": 692.88}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 273745418.0, "Ops per second": 9124847.0, "ns per ops": 109.0, "Ops per threads": 273745418.0, "Ops per procs": 273745418.0, "Ops/sec/procs": 9124847.0, "ns per ops/procs": 109.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1220724391.0, "Ops per second": 40690813.0, "ns per ops": 24.0, "Ops per threads": 25431758.0, "Ops per procs": 25431758.0, "Ops/sec/procs": 847725.0, "ns per ops/procs": 1183.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3339007521.0, "Ops per second": 111300250.0, "ns per ops": 9.0, "Ops per threads": 208687970.0, "Ops per procs": 208687970.0, "Ops/sec/procs": 6956265.0, "ns per ops/procs": 144.0}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30050.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 22661144.0, "Ops per second": 754099.87, "ns per ops": 1326.08, "Ops per threads": 236053.0, "Ops per procs": 236053.0, "Ops/sec/procs": 7855.21, "ns per ops/procs": 127304.09}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 173803669.0, "Ops per second": 5792971.75, "ns per ops": 172.62, "Ops per threads": 43450917.0, "Ops per procs": 43450917.0, "Ops/sec/procs": 1448242.94, "ns per ops/procs": 690.49}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 972577162.0, "Ops per second": 32419238.73, "ns per ops": 30.85, "Ops per threads": 13508016.0, "Ops per procs": 13508016.0, "Ops/sec/procs": 450267.2, "ns per ops/procs": 2221.4}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30026.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16516154.0, "Ops per second": 550047.32, "ns per ops": 1818.03, "Ops per threads": 86021.0, "Ops per procs": 86021.0, "Ops/sec/procs": 2864.83, "ns per ops/procs": 349060.88}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3414525310.0, "Ops per second": 113817510.0, "ns per ops": 8.0, "Ops per threads": 213407831.0, "Ops per procs": 213407831.0, "Ops/sec/procs": 7113594.0, "ns per ops/procs": 141.0}],["rdq-yield-go", "./rdq-yield-go -p 4 -d 30 -t 4", {"Duration (ms)": 30002.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 171767210.0, "Ops per second": 5725092.13, "ns per ops": 174.67, "Ops per threads": 42941802.0, "Ops per procs": 42941802.0, "Ops/sec/procs": 1431273.03, "ns per ops/procs": 698.68}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 30 -t 16", {"Duration (ms)": 30026.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 12289721432.0, "Ops per second": 409292377.36, "ns per ops": 2.44, "Ops per threads": 768107589.0, "Ops per procs": 768107589.0, "Ops/sec/procs": 25580773.58, "ns per ops/procs": 39.09}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238035663.0, "Ops per second": 7934522.1, "ns per ops": 126.24, "Ops per threads": 238035663.0, "Ops per procs": 238035663.0, "Ops/sec/procs": 7934522.1, "ns per ops/procs": 126.24}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 728681806.0, "Ops per second": 24289393.53, "ns per ops": 41.2, "Ops per threads": 30361741.0, "Ops per procs": 30361741.0, "Ops/sec/procs": 1012058.06, "ns per ops/procs": 988.79}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1776933036.0, "Ops per second": 59184901.43, "ns per ops": 16.9, "Ops per threads": 888466518.0, "Ops per procs": 888466518.0, "Ops/sec/procs": 29592450.72, "ns per ops/procs": 33.79}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2497804715.0, "Ops per second": 83260157.17, "ns per ops": 12.01, "Ops per threads": 13009399.0, "Ops per procs": 13009399.0, "Ops/sec/procs": 433646.65, "ns per ops/procs": 2306.42}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 533189745.0, "Ops per second": 17772991.5, "ns per ops": 56.38, "Ops per threads": 66648718.0, "Ops per procs": 66648718.0, "Ops/sec/procs": 2221623.94, "ns per ops/procs": 451.05}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 536483869.0, "Ops per second": 17882795.63, "ns per ops": 56.04, "Ops per threads": 67060483.0, "Ops per procs": 67060483.0, "Ops/sec/procs": 2235349.45, "ns per ops/procs": 448.3}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 360644730.0, "Ops per second": 12021491.0, "ns per ops": 83.0, "Ops per threads": 3756715.0, "Ops per procs": 3756715.0, "Ops/sec/procs": 125223.0, "ns per ops/procs": 8011.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 30 -t 8", {"Duration (ms)": 30003.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 80140488.0, "Ops per second": 2671028.2, "ns per ops": 374.39, "Ops per threads": 10017561.0, "Ops per procs": 10017561.0, "Ops/sec/procs": 333878.52, "ns per ops/procs": 2995.1}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 361304154.0, "Ops per second": 12043471.0, "ns per ops": 83.0, "Ops per threads": 3763584.0, "Ops per procs": 3763584.0, "Ops/sec/procs": 125452.0, "ns per ops/procs": 7997.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 528322152.0, "Ops per second": 17610738.4, "ns per ops": 56.9, "Ops per threads": 66040269.0, "Ops per procs": 66040269.0, "Ops/sec/procs": 2201342.3, "ns per ops/procs": 455.22}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1219707927.0, "Ops per second": 40656930.0, "ns per ops": 24.0, "Ops per threads": 25410581.0, "Ops per procs": 25410581.0, "Ops/sec/procs": 847019.0, "ns per ops/procs": 1184.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 72 -d 30 -t 72", {"Duration (ms)": 30097.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 399589107.0, "Ops per second": 13319636.0, "ns per ops": 75.0, "Ops per threads": 5549848.0, "Ops per procs": 5549848.0, "Ops/sec/procs": 184994.0, "ns per ops/procs": 5423.0}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30051.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 22185943.0, "Ops per second": 738259.5, "ns per ops": 1354.54, "Ops per threads": 231103.0, "Ops per procs": 231103.0, "Ops/sec/procs": 7690.2, "ns per ops/procs": 130035.58}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 51196499.0, "Ops per second": 1706220.62, "ns per ops": 586.09, "Ops per threads": 3199781.0, "Ops per procs": 3199781.0, "Ops/sec/procs": 106638.79, "ns per ops/procs": 9377.45}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 379863297.0, "Ops per second": 12662109.9, "ns per ops": 79.12, "Ops per threads": 94965824.0, "Ops per procs": 94965824.0, "Ops/sec/procs": 3165527.48, "ns per ops/procs": 316.49}],["rdq-yield-tokio", "./rdq-yield-tokio -p 2 -d 30 -t 2", {"Duration (ms)": 30097.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 500061662.0, "Ops per second": 16668722.0, "ns per ops": 60.0, "Ops per threads": 250030831.0, "Ops per procs": 250030831.0, "Ops/sec/procs": 8334361.0, "ns per ops/procs": 120.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 4 -d 30 -t 4", {"Duration (ms)": 30023.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 3360941149.0, "Ops per second": 111942207.63, "ns per ops": 8.93, "Ops per threads": 840235287.0, "Ops per procs": 840235287.0, "Ops/sec/procs": 27985551.91, "ns per ops/procs": 35.73}],["rdq-yield-cfa", "./rdq-yield-cfa -p 2 -d 30 -t 2", {"Duration (ms)": 0.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 331581223.0, "Ops per second": 11052707.43, "ns per ops": 90.63, "Ops per threads": 165790611.0, "Ops per procs": 165790611.0, "Ops/sec/procs": 5526353.72, "ns per ops/procs": 181.27}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 378356527.0, "Ops per second": 12611884.23, "ns per ops": 79.43, "Ops per threads": 94589131.0, "Ops per procs": 94589131.0, "Ops/sec/procs": 3152971.06, "ns per ops/procs": 317.73}],["rdq-yield-fibre", "./rdq-yield-fibre -p 48 -d 30 -t 48", {"Duration (ms)": 30004.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 20543753459.0, "Ops per second": 684688201.29, "ns per ops": 1.46, "Ops per threads": 427994863.0, "Ops per procs": 427994863.0, "Ops/sec/procs": 14264337.53, "ns per ops/procs": 70.1}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 300341804.0, "Ops per second": 10011393.0, "ns per ops": 100.0, "Ops per threads": 2085706.0, "Ops per procs": 2085706.0, "Ops/sec/procs": 69523.0, "ns per ops/procs": 14430.0}],["rdq-yield-go", "./rdq-yield-go -p 192 -d 30 -t 192", {"Duration (ms)": 30025.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 16685764.0, "Ops per second": 555716.38, "ns per ops": 1799.48, "Ops per threads": 86905.0, "Ops per procs": 86905.0, "Ops/sec/procs": 2894.36, "ns per ops/procs": 345499.99}],["rdq-yield-go", "./rdq-yield-go -p 96 -d 30 -t 96", {"Duration (ms)": 30047.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 22249563.0, "Ops per second": 740482.27, "ns per ops": 1350.47, "Ops per threads": 231766.0, "Ops per procs": 231766.0, "Ops/sec/procs": 7713.36, "ns per ops/procs": 129645.24}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30025.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1776909132.0, "Ops per second": 59180357.91, "ns per ops": 16.9, "Ops per threads": 888454566.0, "Ops per procs": 888454566.0, "Ops/sec/procs": 29590178.95, "ns per ops/procs": 33.79}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 41570420.0, "Ops per second": 1385327.78, "ns per ops": 721.85, "Ops per threads": 1732100.0, "Ops per procs": 1732100.0, "Ops/sec/procs": 57721.99, "ns per ops/procs": 17324.42}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30004.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 35798455306.0, "Ops per second": 1193117443.01, "ns per ops": 0.84, "Ops per threads": 497200768.0, "Ops per procs": 497200768.0, "Ops/sec/procs": 16571075.6, "ns per ops/procs": 60.35}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 30 -t 16", {"Duration (ms)": 30005.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 50443329.0, "Ops per second": 1681108.89, "ns per ops": 594.85, "Ops per threads": 3152708.0, "Ops per procs": 3152708.0, "Ops/sec/procs": 105069.31, "ns per ops/procs": 9517.53}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 30 -t 24", {"Duration (ms)": 30002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 16129323078.0, "Ops per second": 537595137.66, "ns per ops": 1.86, "Ops per threads": 672055128.0, "Ops per procs": 672055128.0, "Ops/sec/procs": 22399797.4, "ns per ops/procs": 44.64}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40796600651.0, "Ops per second": 1359647638.29, "ns per ops": 0.74, "Ops per threads": 424964590.0, "Ops per procs": 424964590.0, "Ops/sec/procs": 14162996.23, "ns per ops/procs": 70.61}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30083.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18531845.0, "Ops per second": 616018.36, "ns per ops": 1623.33, "Ops per threads": 128693.0, "Ops per procs": 128693.0, "Ops/sec/procs": 4277.91, "ns per ops/procs": 233759.27}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 41686852.0, "Ops per second": 1389210.12, "ns per ops": 719.83, "Ops per threads": 1736952.0, "Ops per procs": 1736952.0, "Ops/sec/procs": 57883.76, "ns per ops/procs": 17276.0}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30007.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 368114720.0, "Ops per second": 12267288.09, "ns per ops": 81.52, "Ops per threads": 184057360.0, "Ops per procs": 184057360.0, "Ops/sec/procs": 6133644.04, "ns per ops/procs": 163.04}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30088.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 17569186.0, "Ops per second": 583922.1, "ns per ops": 1712.56, "Ops per threads": 122008.0, "Ops per procs": 122008.0, "Ops/sec/procs": 4055.01, "ns per ops/procs": 246608.24}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 30 -t 16", {"Duration (ms)": 30097.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3406107324.0, "Ops per second": 113536910.0, "ns per ops": 8.0, "Ops per threads": 212881707.0, "Ops per procs": 212881707.0, "Ops/sec/procs": 7096056.0, "ns per ops/procs": 141.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 48 -d 30 -t 48", {"Duration (ms)": 30097.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 1240172589.0, "Ops per second": 41339086.0, "ns per ops": 24.0, "Ops per threads": 25836928.0, "Ops per procs": 25836928.0, "Ops/sec/procs": 861230.0, "ns per ops/procs": 1164.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 30 -t 1", {"Duration (ms)": 30098.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 274033303.0, "Ops per second": 9134443.0, "ns per ops": 109.0, "Ops per threads": 274033303.0, "Ops per procs": 274033303.0, "Ops/sec/procs": 9134443.0, "ns per ops/procs": 109.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 4 -d 30 -t 4", {"Duration (ms)": 0.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 379797876.0, "Ops per second": 12659929.2, "ns per ops": 79.13, "Ops per threads": 94949469.0, "Ops per procs": 94949469.0, "Ops/sec/procs": 3164982.3, "ns per ops/procs": 316.52}],["rdq-yield-tokio", "./rdq-yield-tokio -p 4 -d 30 -t 4", {"Duration (ms)": 30097.0, "Number of processors": 4.0, "Number of threads": 4.0, "Total Operations(ops)": 947802972.0, "Ops per second": 31593432.0, "ns per ops": 31.0, "Ops per threads": 236950743.0, "Ops per procs": 236950743.0, "Ops/sec/procs": 7898358.0, "ns per ops/procs": 127.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 30 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 704265830.0, "Ops per second": 23475527.67, "ns per ops": 42.63, "Ops per threads": 29344409.0, "Ops per procs": 29344409.0, "Ops/sec/procs": 978146.99, "ns per ops/procs": 1023.14}],["rdq-yield-fibre", "./rdq-yield-fibre -p 72 -d 30 -t 72", {"Duration (ms)": 30006.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 36436065977.0, "Ops per second": 1214290982.74, "ns per ops": 0.82, "Ops per threads": 506056471.0, "Ops per procs": 506056471.0, "Ops/sec/procs": 16865152.54, "ns per ops/procs": 59.29}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 30 -t 24", {"Duration (ms)": 30007.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 42560075.0, "Ops per second": 1418324.29, "ns per ops": 705.06, "Ops per threads": 1773336.0, "Ops per procs": 1773336.0, "Ops/sec/procs": 59096.85, "ns per ops/procs": 16921.38}],["rdq-yield-go", "./rdq-yield-go -p 144 -d 30 -t 144", {"Duration (ms)": 30085.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 18232395.0, "Ops per second": 606014.58, "ns per ops": 1650.13, "Ops per threads": 126613.0, "Ops per procs": 126613.0, "Ops/sec/procs": 4208.43, "ns per ops/procs": 237618.05}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30005.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 41500410604.0, "Ops per second": 1383115313.23, "ns per ops": 0.72, "Ops per threads": 432295943.0, "Ops per procs": 432295943.0, "Ops/sec/procs": 14407451.18, "ns per ops/procs": 69.41}],["rdq-yield-cfa", "./rdq-yield-cfa -p 144 -d 30 -t 144", {"Duration (ms)": 0.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 1920391366.0, "Ops per second": 64013045.53, "ns per ops": 15.65, "Ops per threads": 13336051.0, "Ops per procs": 13336051.0, "Ops/sec/procs": 444535.04, "ns per ops/procs": 2253.59}],["rdq-yield-tokio", "./rdq-yield-tokio -p 144 -d 30 -t 144", {"Duration (ms)": 30097.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 272589597.0, "Ops per second": 9086319.0, "ns per ops": 110.0, "Ops per threads": 1892983.0, "Ops per procs": 1892983.0, "Ops/sec/procs": 63099.0, "ns per ops/procs": 15899.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 30 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 535423186.0, "Ops per second": 17847439.53, "ns per ops": 56.14, "Ops per threads": 66927898.0, "Ops per procs": 66927898.0, "Ops/sec/procs": 2230929.94, "ns per ops/procs": 449.15}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 30 -t 8", {"Duration (ms)": 30022.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 6537955914.0, "Ops per second": 217766086.7, "ns per ops": 4.59, "Ops per threads": 817244489.0, "Ops per procs": 817244489.0, "Ops/sec/procs": 27220760.84, "ns per ops/procs": 36.74}],["rdq-yield-fibre", "./rdq-yield-fibre -p 2 -d 30 -t 2", {"Duration (ms)": 30023.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 1777758592.0, "Ops per second": 59212349.67, "ns per ops": 16.89, "Ops per threads": 888879296.0, "Ops per procs": 888879296.0, "Ops/sec/procs": 29606174.83, "ns per ops/procs": 33.78}],["rdq-yield-go", "./rdq-yield-go -p 48 -d 30 -t 48", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 48.0, "Total Operations(ops)": 41139988.0, "Ops per second": 1370342.35, "ns per ops": 729.74, "Ops per threads": 857083.0, "Ops per procs": 857083.0, "Ops/sec/procs": 28548.8, "ns per ops/procs": 35027.74}],["rdq-yield-go", "./rdq-yield-go -p 2 -d 30 -t 2", {"Duration (ms)": 30010.0, "Number of processors": 2.0, "Number of threads": 2.0, "Total Operations(ops)": 367420990.0, "Ops per second": 12242963.44, "ns per ops": 81.68, "Ops per threads": 183710495.0, "Ops per procs": 183710495.0, "Ops/sec/procs": 6121481.72, "ns per ops/procs": 163.36}],["rdq-yield-cfa", "./rdq-yield-cfa -p 192 -d 30 -t 192", {"Duration (ms)": 0.0, "Number of processors": 192.0, "Number of threads": 192.0, "Total Operations(ops)": 2341231403.0, "Ops per second": 78041046.77, "ns per ops": 12.83, "Ops per threads": 12193913.0, "Ops per procs": 12193913.0, "Ops/sec/procs": 406463.79, "ns per ops/procs": 2462.41}],["rdq-yield-fibre", "./rdq-yield-fibre -p 96 -d 30 -t 96", {"Duration (ms)": 30061.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 40915153648.0, "Ops per second": 1361064496.69, "ns per ops": 0.73, "Ops per threads": 426199517.0, "Ops per procs": 426199517.0, "Ops/sec/procs": 14177755.17, "ns per ops/procs": 70.53}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 30 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 238301806.0, "Ops per second": 7943393.53, "ns per ops": 126.1, "Ops per threads": 238301806.0, "Ops per procs": 238301806.0, "Ops/sec/procs": 7943393.53, "ns per ops/procs": 126.1}],["rdq-yield-tokio", "./rdq-yield-tokio -p 96 -d 30 -t 96", {"Duration (ms)": 30097.0, "Number of processors": 96.0, "Number of threads": 96.0, "Total Operations(ops)": 399959519.0, "Ops per second": 13331983.0, "ns per ops": 75.0, "Ops per threads": 4166244.0, "Ops per procs": 4166244.0, "Ops/sec/procs": 138874.0, "ns per ops/procs": 7224.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 72 -d 30 -t 72", {"Duration (ms)": 0.0, "Number of processors": 72.0, "Number of threads": 72.0, "Total Operations(ops)": 923251633.0, "Ops per second": 30775054.43, "ns per ops": 32.5, "Ops per threads": 12822939.0, "Ops per procs": 12822939.0, "Ops/sec/procs": 427431.31, "ns per ops/procs": 2339.86}],["rdq-yield-fibre", "./rdq-yield-fibre -p 144 -d 30 -t 144", {"Duration (ms)": 30009.0, "Number of processors": 144.0, "Number of threads": 144.0, "Total Operations(ops)": 61347909654.0, "Ops per second": 2044285055.62, "ns per ops": 0.49, "Ops per threads": 426027150.0, "Ops per procs": 426027150.0, "Ops/sec/procs": 14196424.0, "ns per ops/procs": 70.44}]]1 [["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 10 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 198228606.0, "Ops per second": 19822860.6, "ns per ops": 50.49, "Ops per threads": 8259525.0, "Ops per procs": 8259525.0, "Ops/sec/procs": 825952.53, "ns per ops/procs": 1211.87}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 10 -t 1", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 91771391.0, "Ops per second": 9177139.0, "ns per ops": 110.0, "Ops per threads": 91771391.0, "Ops per procs": 91771391.0, "Ops/sec/procs": 9177139.0, "ns per ops/procs": 110.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 10 -t 16", {"Duration (ms)": 10099.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 1155463759.0, "Ops per second": 115546375.0, "ns per ops": 8.0, "Ops per threads": 72216484.0, "Ops per procs": 72216484.0, "Ops/sec/procs": 7221648.0, "ns per ops/procs": 139.0}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 10 -t 16", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 17081410.0, "Ops per second": 1707820.12, "ns per ops": 585.54, "Ops per threads": 1067588.0, "Ops per procs": 1067588.0, "Ops/sec/procs": 106738.76, "ns per ops/procs": 9368.67}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 10 -t 8", {"Duration (ms)": 10007.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 2151927291.0, "Ops per second": 215027860.62, "ns per ops": 4.65, "Ops per threads": 268990911.0, "Ops per procs": 268990911.0, "Ops/sec/procs": 26878482.58, "ns per ops/procs": 37.2}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 10 -t 24", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 1281636563.0, "Ops per second": 128163656.0, "ns per ops": 7.0, "Ops per threads": 53401523.0, "Ops per procs": 53401523.0, "Ops/sec/procs": 5340152.0, "ns per ops/procs": 189.0}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 10 -t 24", {"Duration (ms)": 10004.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 5317671032.0, "Ops per second": 531537767.14, "ns per ops": 1.88, "Ops per threads": 221569626.0, "Ops per procs": 221569626.0, "Ops/sec/procs": 22147406.96, "ns per ops/procs": 45.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 10 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 158323555.0, "Ops per second": 15832355.5, "ns per ops": 63.29, "Ops per threads": 19790444.0, "Ops per procs": 19790444.0, "Ops/sec/procs": 1979044.44, "ns per ops/procs": 506.3}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 10 -t 8", {"Duration (ms)": 10001.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 27128459.0, "Ops per second": 2712537.66, "ns per ops": 368.66, "Ops per threads": 3391057.0, "Ops per procs": 3391057.0, "Ops/sec/procs": 339067.21, "ns per ops/procs": 2949.27}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 10 -t 8", {"Duration (ms)": 10001.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 27155837.0, "Ops per second": 2715305.28, "ns per ops": 368.28, "Ops per threads": 3394479.0, "Ops per procs": 3394479.0, "Ops/sec/procs": 339413.16, "ns per ops/procs": 2946.26}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 10 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 211249329.0, "Ops per second": 21124932.9, "ns per ops": 47.45, "Ops per threads": 13203083.0, "Ops per procs": 13203083.0, "Ops/sec/procs": 1320308.31, "ns per ops/procs": 759.17}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 10 -t 1", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 85555889.0, "Ops per second": 8555216.69, "ns per ops": 116.89, "Ops per threads": 85555889.0, "Ops per procs": 85555889.0, "Ops/sec/procs": 8555216.69, "ns per ops/procs": 116.89}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 10 -t 8", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 390829055.0, "Ops per second": 39082905.0, "ns per ops": 25.0, "Ops per threads": 48853631.0, "Ops per procs": 48853631.0, "Ops/sec/procs": 4885363.0, "ns per ops/procs": 206.0}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 10 -t 24", {"Duration (ms)": 10002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 13250872.0, "Ops per second": 1324722.09, "ns per ops": 754.88, "Ops per threads": 552119.0, "Ops per procs": 552119.0, "Ops/sec/procs": 55196.75, "ns per ops/procs": 18117.01}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 10 -t 16", {"Duration (ms)": 10099.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 1000850284.0, "Ops per second": 100085028.0, "ns per ops": 10.0, "Ops per threads": 62553142.0, "Ops per procs": 62553142.0, "Ops/sec/procs": 6255314.0, "ns per ops/procs": 161.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 10 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 184091475.0, "Ops per second": 18409147.5, "ns per ops": 54.36, "Ops per threads": 7670478.0, "Ops per procs": 7670478.0, "Ops/sec/procs": 767047.81, "ns per ops/procs": 1304.54}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 10 -t 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 292489865.0, "Ops per second": 29227283.49, "ns per ops": 34.21, "Ops per threads": 292489865.0, "Ops per procs": 292489865.0, "Ops/sec/procs": 29227283.49, "ns per ops/procs": 34.21}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 10 -t 24", {"Duration (ms)": 10002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 14063200.0, "Ops per second": 1406005.33, "ns per ops": 711.23, "Ops per threads": 585966.0, "Ops per procs": 585966.0, "Ops/sec/procs": 58583.56, "ns per ops/procs": 17069.64}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 10 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 162528481.0, "Ops per second": 16252848.1, "ns per ops": 61.66, "Ops per threads": 20316060.0, "Ops per procs": 20316060.0, "Ops/sec/procs": 2031606.01, "ns per ops/procs": 493.26}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 10 -t 16", {"Duration (ms)": 10008.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 3965938528.0, "Ops per second": 396248257.59, "ns per ops": 2.52, "Ops per threads": 247871158.0, "Ops per procs": 247871158.0, "Ops/sec/procs": 24765516.1, "ns per ops/procs": 40.38}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 10 -t 16", {"Duration (ms)": 10009.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 4048953063.0, "Ops per second": 404492768.97, "ns per ops": 2.47, "Ops per threads": 253059566.0, "Ops per procs": 253059566.0, "Ops/sec/procs": 25280798.06, "ns per ops/procs": 39.56}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 10 -t 24", {"Duration (ms)": 10004.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 5311054327.0, "Ops per second": 530869875.38, "ns per ops": 1.88, "Ops per threads": 221293930.0, "Ops per procs": 221293930.0, "Ops/sec/procs": 22119578.14, "ns per ops/procs": 45.21}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 10 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 193683806.0, "Ops per second": 19368380.6, "ns per ops": 51.76, "Ops per threads": 12105237.0, "Ops per procs": 12105237.0, "Ops/sec/procs": 1210523.79, "ns per ops/procs": 828.15}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 10 -t 16", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 16763469.0, "Ops per second": 1676051.66, "ns per ops": 596.64, "Ops per threads": 1047716.0, "Ops per procs": 1047716.0, "Ops/sec/procs": 104753.23, "ns per ops/procs": 9546.25}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 10 -t 24", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 1250273189.0, "Ops per second": 125027318.0, "ns per ops": 8.0, "Ops per threads": 52094716.0, "Ops per procs": 52094716.0, "Ops/sec/procs": 5209471.0, "ns per ops/procs": 193.0}],["rdq-yield-go", "./rdq-yield-go -p 8 -d 10 -t 8", {"Duration (ms)": 10001.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 26753255.0, "Ops per second": 2675042.69, "ns per ops": 373.83, "Ops per threads": 3344156.0, "Ops per procs": 3344156.0, "Ops/sec/procs": 334380.34, "ns per ops/procs": 2990.61}],["rdq-yield-tokio", "./rdq-yield-tokio -p 16 -d 10 -t 16", {"Duration (ms)": 10099.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 1139181136.0, "Ops per second": 113918113.0, "ns per ops": 8.0, "Ops per threads": 71198821.0, "Ops per procs": 71198821.0, "Ops/sec/procs": 7119882.0, "ns per ops/procs": 141.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 8 -d 10 -t 8", {"Duration (ms)": 0.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 148345422.0, "Ops per second": 14834542.2, "ns per ops": 67.54, "Ops per threads": 18543177.0, "Ops per procs": 18543177.0, "Ops/sec/procs": 1854317.77, "ns per ops/procs": 540.32}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 10 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 76054104.0, "Ops per second": 7605410.4, "ns per ops": 131.71, "Ops per threads": 76054104.0, "Ops per procs": 76054104.0, "Ops/sec/procs": 7605410.4, "ns per ops/procs": 131.71}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 10 -t 1", {"Duration (ms)": 10007.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 292635742.0, "Ops per second": 29241803.8, "ns per ops": 34.2, "Ops per threads": 292635742.0, "Ops per procs": 292635742.0, "Ops/sec/procs": 29241803.8, "ns per ops/procs": 34.2}],["rdq-yield-fibre", "./rdq-yield-fibre -p 24 -d 10 -t 24", {"Duration (ms)": 10001.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 5304170687.0, "Ops per second": 530361478.44, "ns per ops": 1.89, "Ops per threads": 221007111.0, "Ops per procs": 221007111.0, "Ops/sec/procs": 22098394.93, "ns per ops/procs": 45.25}],["rdq-yield-fibre", "./rdq-yield-fibre -p 16 -d 10 -t 16", {"Duration (ms)": 10009.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 4047689095.0, "Ops per second": 404367842.39, "ns per ops": 2.47, "Ops per threads": 252980568.0, "Ops per procs": 252980568.0, "Ops/sec/procs": 25272990.15, "ns per ops/procs": 39.57}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 10 -t 1", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 85548399.0, "Ops per second": 8554476.24, "ns per ops": 116.9, "Ops per threads": 85548399.0, "Ops per procs": 85548399.0, "Ops/sec/procs": 8554476.24, "ns per ops/procs": 116.9}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 10 -t 1", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 91474395.0, "Ops per second": 9147439.0, "ns per ops": 110.0, "Ops per threads": 91474395.0, "Ops per procs": 91474395.0, "Ops/sec/procs": 9147439.0, "ns per ops/procs": 110.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 24 -d 10 -t 24", {"Duration (ms)": 10099.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 1289349577.0, "Ops per second": 128934957.0, "ns per ops": 7.0, "Ops per threads": 53722899.0, "Ops per procs": 53722899.0, "Ops/sec/procs": 5372289.0, "ns per ops/procs": 187.0}],["rdq-yield-cfa", "./rdq-yield-cfa -p 24 -d 10 -t 24", {"Duration (ms)": 0.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 227319382.0, "Ops per second": 22731938.2, "ns per ops": 44.02, "Ops per threads": 9471640.0, "Ops per procs": 9471640.0, "Ops/sec/procs": 947164.09, "ns per ops/procs": 1056.48}],["rdq-yield-go", "./rdq-yield-go -p 16 -d 10 -t 16", {"Duration (ms)": 10001.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 16769801.0, "Ops per second": 1676661.26, "ns per ops": 596.42, "Ops per threads": 1048112.0, "Ops per procs": 1048112.0, "Ops/sec/procs": 104791.33, "ns per ops/procs": 9542.77}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 10 -t 8", {"Duration (ms)": 10007.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 2148355210.0, "Ops per second": 214670482.89, "ns per ops": 4.66, "Ops per threads": 268544401.0, "Ops per procs": 268544401.0, "Ops/sec/procs": 26833810.36, "ns per ops/procs": 37.27}],["rdq-yield-fibre", "./rdq-yield-fibre -p 8 -d 10 -t 8", {"Duration (ms)": 10007.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 2151532871.0, "Ops per second": 214988947.76, "ns per ops": 4.65, "Ops per threads": 268941608.0, "Ops per procs": 268941608.0, "Ops/sec/procs": 26873618.47, "ns per ops/procs": 37.21}],["rdq-yield-fibre", "./rdq-yield-fibre -p 1 -d 10 -t 1", {"Duration (ms)": 10009.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 292690252.0, "Ops per second": 29242303.95, "ns per ops": 34.2, "Ops per threads": 292690252.0, "Ops per procs": 292690252.0, "Ops/sec/procs": 29242303.95, "ns per ops/procs": 34.2}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 10 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 75801333.0, "Ops per second": 7580133.3, "ns per ops": 132.15, "Ops per threads": 75801333.0, "Ops per procs": 75801333.0, "Ops/sec/procs": 7580133.3, "ns per ops/procs": 132.15}],["rdq-yield-cfa", "./rdq-yield-cfa -p 16 -d 10 -t 16", {"Duration (ms)": 0.0, "Number of processors": 16.0, "Number of threads": 16.0, "Total Operations(ops)": 221926675.0, "Ops per second": 22192667.5, "ns per ops": 45.18, "Ops per threads": 13870417.0, "Ops per procs": 13870417.0, "Ops/sec/procs": 1387041.72, "ns per ops/procs": 722.81}],["rdq-yield-go", "./rdq-yield-go -p 1 -d 10 -t 1", {"Duration (ms)": 10000.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 84740180.0, "Ops per second": 8473654.06, "ns per ops": 118.01, "Ops per threads": 84740180.0, "Ops per procs": 84740180.0, "Ops/sec/procs": 8473654.06, "ns per ops/procs": 118.01}],["rdq-yield-cfa", "./rdq-yield-cfa -p 1 -d 10 -t 1", {"Duration (ms)": 0.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 73281534.0, "Ops per second": 7328153.4, "ns per ops": 136.67, "Ops per threads": 73281534.0, "Ops per procs": 73281534.0, "Ops/sec/procs": 7328153.4, "ns per ops/procs": 136.67}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 10 -t 8", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 388708305.0, "Ops per second": 38870830.0, "ns per ops": 25.0, "Ops per threads": 48588538.0, "Ops per procs": 48588538.0, "Ops/sec/procs": 4858853.0, "ns per ops/procs": 207.0}],["rdq-yield-go", "./rdq-yield-go -p 24 -d 10 -t 24", {"Duration (ms)": 10002.0, "Number of processors": 24.0, "Number of threads": 24.0, "Total Operations(ops)": 13787158.0, "Ops per second": 1378423.2, "ns per ops": 725.47, "Ops per threads": 574464.0, "Ops per procs": 574464.0, "Ops/sec/procs": 57434.3, "ns per ops/procs": 17411.2}],["rdq-yield-tokio", "./rdq-yield-tokio -p 8 -d 10 -t 8", {"Duration (ms)": 10099.0, "Number of processors": 8.0, "Number of threads": 8.0, "Total Operations(ops)": 398849975.0, "Ops per second": 39884997.0, "ns per ops": 25.0, "Ops per threads": 49856246.0, "Ops per procs": 49856246.0, "Ops/sec/procs": 4985624.0, "ns per ops/procs": 202.0}],["rdq-yield-tokio", "./rdq-yield-tokio -p 1 -d 10 -t 1", {"Duration (ms)": 10100.0, "Number of processors": 1.0, "Number of threads": 1.0, "Total Operations(ops)": 91905024.0, "Ops per second": 9190502.0, "ns per ops": 109.0, "Ops per threads": 91905024.0, "Ops per procs": 91905024.0, "Ops/sec/procs": 9190502.0, "ns per ops/procs": 109.0}]] -
doc/theses/thierry_delisle_PhD/thesis/glossary.tex
r4520b77e r12df6fe 14 14 % Definitions 15 15 16 \longnewglossaryentry{ at}17 {name={ Thread},text={thread}}16 \longnewglossaryentry{thrd} 17 {name={thread}} 18 18 { 19 A thread is an independent sequential execution path through a program. Each thread is scheduled for execution separately and independently from other threads. Systems offer one or more concrete implementations of this concept, \eg \gls{kthrd}, \gls{job}, task. However, most of the concepts of scheduling are independent of the particular implementations of the thread representation. For this reason, this document uses the term \gls{at} to mean any of these representation that meets the general definition.19 Threads created and managed inside user-space. Each thread has its own stack and its own thread of execution. User-level threads are invisible to the underlying operating system. 20 20 21 \textit{Synonyms : Tasks, Jobs, Blocks.}21 \textit{Synonyms : User threads, Lightweight threads, Green threads, Virtual threads, Tasks.} 22 22 } 23 23 24 24 \longnewglossaryentry{proc} 25 {name={ Processor},text={processor}}25 {name={processor}} 26 26 { 27 Entity that executes a \gls{at}, \ie the resource being scheduled by the scheduler. In kernel-level threading, \ats are kernel threads and \procs are the \glspl{hthrd} on which the kernel threads are scheduled. In user-level threading and thread pools, \procs are kernel threads.28 27 29 \textit{Synonyms : Server, Worker.}30 28 } 31 29 32 30 \longnewglossaryentry{rQ} 33 {name={ Ready Queue}, text={ready-queue}}31 {name={ready-queue}} 34 32 { 35 Data structure holding \ats that are ready to \glslink{atrun}{run}. Often a \glsxtrshort{fifo} queue for fairness, but can take many different forms, \eg binary tree and priority queue are also common. 33 36 34 } 37 35 38 36 \longnewglossaryentry{uthrding} 39 {name={ User-Level Threading},text={user-level threading}}37 {name={user-level threading}} 40 38 { 41 Threading model where a scheduler runs in users space and maps threads managed and created inside the user-space onto \glspl{kthrd}. 39 42 40 43 41 \textit{Synonyms : User threads, Lightweight threads, Green threads, Virtual threads, Tasks.} … … 45 43 46 44 \longnewglossaryentry{rmr} 47 {name={ Remote Memory Reference},text={remote memory reference}}45 {name={remote memory reference}} 48 46 { 49 A memory reference to an address not in the current \gls{hthrd}'s cache is a remote reference. Memory references that \emph{are} in the current \gls{hthrd}'s cache is a \newterm{local} memory reference. For example, a cache line that must be updated from the any cache on another socket, or from RAM in a \glsxtrshort{numa} context. 47 50 48 } 51 49 … … 53 51 54 52 \longnewglossaryentry{hthrd} 55 {name={ Hardware Threading},text={hardware thread}}53 {name={hardware thread}} 56 54 { 57 Threads representing the underlying hardware , \eg a CPU core or hyper-thread, if the hardware supports multiple threads of execution per core. The number of hardware threads present is fixed on any given computer.55 Threads representing the underlying hardware directly, \eg the CPU core, or hyper-thread if the hardware supports multiple threads of execution per core. The number of hardware threads is considered to be always fixed to a specific number determined by the hardware. 58 56 59 \textit{Synonyms : Core, Hyper-Thread, Processing Unit, CPU.}57 \textit{Synonyms : } 60 58 } 61 59 62 60 \longnewglossaryentry{kthrd} 63 {name={ Kernel-Level Thread},text={kernel-level thread}}61 {name={kernel-level thread}} 64 62 { 65 Threads created and managed inside kernel space. Each kernelthread has its own stack and its own thread of execution. Kernel-level threads are owned, managed and scheduled by the underlying operating system.63 Threads created and managed inside kernel-space. Each thread has its own stack and its own thread of execution. Kernel-level threads are owned, managed and scheduled by the underlying operating system. 66 64 67 65 \textit{Synonyms : OS threads, Hardware threads, Physical threads.} … … 69 67 70 68 \longnewglossaryentry{fiber} 71 {name={ Fiber},text={fiber}}69 {name={fiber}} 72 70 { 73 Fibers are non-preemptive user-level threads. They share most of the c haracteristics of user-level threads except that they cannot be preempted by another fiber.71 Fibers are non-preemptive user-level threads. They share most of the caracteristics of user-level threads except that they cannot be preempted by another fiber. 74 72 75 73 \textit{Synonyms : Tasks.} … … 77 75 78 76 \longnewglossaryentry{job} 79 {name={ Job},text={job}}77 {name={job}} 80 78 { 81 79 Unit of work, often sent to a thread pool or worker pool to be executed. Has neither its own stack nor its own thread of execution. … … 85 83 86 84 \longnewglossaryentry{pool} 87 {name={ Thread Pool},text={thread-pool}}85 {name={thread-pool}} 88 86 { 89 Group of homogene ous threads that loop executing units of works. Often executing \glspl{jobs}.87 Group of homogeneuous threads that loop executing units of works after another. 90 88 91 \textit{Synonyms : Executor.}89 \textit{Synonyms : } 92 90 } 93 91 94 92 \longnewglossaryentry{preemption} 95 {name={ Preemption},text={preemption}}93 {name={preemption}} 96 94 { 97 95 Involuntary context switch imposed on threads at a given rate. … … 100 98 } 101 99 100 101 102 \longnewglossaryentry{at} 103 {name={task}} 104 { 105 Abstract object representing an unit of work. Systems will offer one or more concrete implementations of this concept (\eg \gls{kthrd}, \gls{job}), however, most of the concept of schedulings are independent of the particular implementations of the work representation. For this reason, this document use the term \Gls{at} to mean any representation and not one in particular. 106 } 107 102 108 \longnewglossaryentry{atsched} 103 109 {name={Scheduling a \gls{at}}} 104 110 { 105 Scheduling a \at refers to notifying the scheduler that a \at is ready to run. When representing the scheduler as a queue of \ats, scheduling is the act of pushing a \at onto the end of the queue. This operation does not necessarily mean the \at is guaranteed CPU time (\gls{atrun}), \eg if the program terminates abruptly, scheduled \glspl{at}never run.111 Scheduling an \gls{at} refers to the act of notifying the scheduler that a task is ready to be ran. When representing the scheduler as a queue of tasks, scheduling is the act of pushing a task onto the end of the queue. This doesn't necesserily means the task will ever be allocated CPU time (\gls{atrun}), for example, if the system terminates abruptly, scheduled \glspl{at} will probably never run. 106 112 107 \textit{Synonyms : Unparking.}113 \textit{Synonyms : None.} 108 114 } 109 115 … … 111 117 {name={Running a \gls{at}}} 112 118 { 113 Running a \at refers to allocating CPU time to a \at that is ready to run. When representing the scheduler as a queue of \ats, running is the act of popping a \at from the front of the queue and putting it onto a \gls{proc}. The \gls{at} can then accomplish some or all of the work it is programmed to do.119 Running an \gls{at} refers to the act of allocating CPU time to a task that is ready to run. When representing the scheduler as a queue of tasks, running is the act of poping a task from the front of the queue and putting it onto a \gls{proc}. The \gls{at} can than accomplish some or all of the work it is programmed to do. 114 120 115 121 \textit{Synonyms : None.} … … 117 123 118 124 \longnewglossaryentry{atmig} 119 {name={ \Glspl{at} Migration}}125 {name={migration of \gls{at}}} 120 126 { 121 Migration refers to the idea of an \gls{at} running on a different \proc than the last time it was run. It is generally preferable to minimize migration as it incurs cost but any load balancing among \procrequires some amount of migration.127 Migration refers to the idea of an \gls{at} running on a different worker/processor than the last time it was run. It is generally preferable to minimise migration as it incurs cost but any load balancing among workers requires some amount of migration. 122 128 123 129 \textit{Synonyms : None.} … … 125 131 126 132 \longnewglossaryentry{atpass} 127 {name={ Overtaking \gls{at}}}133 {name={overtaking \gls{at}}} 128 134 { 129 135 When representing the scheduler as a queue of \glspl{at}, overtaking is the act breaking the FIFO-ness of the queue by moving a \gls{at} in front of some other \gls{at} when it arrived after. This remains true for schedulers that do not use a FIFO queue, when the order in which the \glspl{at} are \glslink{atsched}{scheduled} and \glslink{atrun}{run} in a different order. A \gls{at} is said to \emph{overtake} another if it is run \emph{before} but was \emph{scheduled} after the other \gls{at}. … … 133 139 134 140 \longnewglossaryentry{atblock} 135 {name={ \Gls{at} Blocking}}141 {name={Blocking an \gls{at}}} 136 142 { 137 \Gls{at} blocking means taking a running \at off a CPU. Unless no other \at is ready, this action is immediately followed by running another \at.143 Blocking an abstract task refers to the act of taking a task that us running on a CPU off the CPU. Unless no other task is ready, this action is generally immediately followed by running an other task. 138 144 139 \textit{Synonyms : Parking.}145 \textit{Synonyms : None.} 140 146 } 141 147 … … 143 149 {name={Running to completion}} 144 150 { 145 Running to completion refers to the entire sequence of : being scheduled, running and blocking, for a given \at.151 Running to completion refers to the entire sequence of : being scheduled, running and blocking, for a given task. 146 152 147 153 See also \gls{atsched}, \gls{atrun}, \gls{atblock} … … 151 157 152 158 \longnewglossaryentry{load} 153 {name={System Load} ,text={load}}159 {name={System Load}} 154 160 { 155 The system load refers to the rate at which \glspl{at} are \glslink{atsched}{scheduled} versus the rate at which they are \glslink{atrun}{run}. When \glspl{at} are being scheduled faster than they are run, the system is considered \emph{overloaded}. When \glspl{at} are being run faster than they are scheduled, the system is considered \emph{underloaded}. Correspondingly, if both rates are equal, the system is considered \emph{loaded}. Note the system is considered loaded only if the rate at which \glspl{at} are scheduled/run is non-zero, otherwise the system is empty, \ie it has no load. 156 157 \textit{Synonyms : CPU Load, System Load.} 161 The load is refers to the rate at which \glspl{at} are \glslink{atsched}{scheduled} versus the rate at which they are \glslink{atrun}{run}. When \glspl{at} are being scheduled faster than they are run, the system is considered \emph{overloaded}. When \glspl{at} are being run faster than they are scheduled, the system is considered \emph{underloaded}. Conrrespondingly, if both rates are equal, the system is considered \emph{loaded}. Note that the system is considered loaded only of the rate at which \glspl{at} are scheduled/run is non-zero, otherwise the system is empty, it has no load. 158 162 } 159 163 -
doc/theses/thierry_delisle_PhD/thesis/local.bib
r4520b77e r12df6fe 429 429 } 430 430 431 @inproceedings{Albers12,432 author = {Susanne Albers and Antonios Antoniadis},433 title = {Race to Idle: New Algorithms for Speed Scaling with a Sleep State},434 booktitle = {Proceedings of the 2012 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA)},435 doi = {10.1137/1.9781611973099.100},436 URL = {https://epubs.siam.org/doi/abs/10.1137/1.9781611973099.100},437 eprint = {https://epubs.siam.org/doi/pdf/10.1137/1.9781611973099.100},438 year = 2012,439 month = jan,440 pages = {1266-1285},441 }442 443 @inproceedings{atikoglu2012workload,444 title={Workload analysis of a large-scale key-value store},445 author={Atikoglu, Berk and Xu, Yuehai and Frachtenberg, Eitan and Jiang, Song and Paleczny, Mike},446 booktitle={Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on Measurement and Modeling of Computer Systems},447 pages={53--64},448 year={2012}449 }450 451 @article{schillings1996engineering,452 title={Be engineering insights: Benaphores},453 author={Schillings, Benoit},454 journal={Be Newsletters},455 volume={1},456 number={26},457 year={1996}458 }459 460 % Trevor's relaxed FIFO list461 @inproceedings{alistarh2018relaxed,462 title={Relaxed schedulers can efficiently parallelize iterative algorithms},463 author={Alistarh, Dan and Brown, Trevor and Kopinsky, Justin and Nadiradze, Giorgi},464 booktitle={Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing},465 pages={377--386},466 year={2018}467 }468 469 @article{zhuravlev2012survey,470 title={Survey of energy-cognizant scheduling techniques},471 author={Zhuravlev, Sergey and Saez, Juan Carlos and Blagodurov, Sergey and Fedorova, Alexandra and Prieto, Manuel},472 journal={IEEE Transactions on Parallel and Distributed Systems},473 volume={24},474 number={7},475 pages={1447--1464},476 year={2012},477 publisher={IEEE}478 }479 480 @article{vikranth2013topology,481 title={Topology aware task stealing for on-chip NUMA multi-core processors},482 author={Vikranth, BRWACRR and Wankar, Rajeev and Rao, C Raghavendra},483 journal={Procedia Computer Science},484 volume={18},485 pages={379--388},486 year={2013},487 publisher={Elsevier}488 }489 490 @inproceedings{min2011hierarchical,491 title={Hierarchical work stealing on manycore clusters},492 author={Min, Seung-Jai and Iancu, Costin and Yelick, Katherine},493 booktitle={Fifth Conference on Partitioned Global Address Space Programming Models (PGAS11)},494 volume={625},495 year={2011},496 organization={Citeseer}497 }498 499 @article{ribic2014energy,500 title={Energy-efficient work-stealing language runtimes},501 author={Ribic, Haris and Liu, Yu David},502 journal={ACM SIGARCH Computer Architecture News},503 volume={42},504 number={1},505 pages={513--528},506 year={2014},507 publisher={ACM New York, NY, USA}508 }509 510 @inproceedings{torng2016asymmetry,511 title={Asymmetry-aware work-stealing runtimes},512 author={Torng, Christopher and Wang, Moyang and Batten, Christopher},513 booktitle={2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA)},514 pages={40--52},515 year={2016},516 organization={IEEE}517 }518 519 431 % -------------------------------------------------- 520 432 % ULE FreeBSD scheduler … … 612 524 title = {Mach Scheduling and Thread Interfaces - Kernel Programming Guide}, 613 525 organization = {Apple Inc.}, 614 note = {\href{https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/scheduler/scheduler.html}{https://\-developer.apple.com/\-library/archive/\-documentation/\-Darwin/\-Conceptual/\-KernelProgramming/\-scheduler/\-scheduler.html}} 615 } 616 617 @misc{MemcachedThreading, 618 author = {Oracle}, 619 title = {MySQL 5.6 Reference Manual Including MySQL NDB Cluster 7.3-7.4 Reference Guide}, 620 howpublished = {\href{https://docs.oracle.com/cd/E17952_01/mysql-5.6-en/ha-memcached-using-threads.html}{https://docs.oracle.com/\-cd/E17952\_01/\-mysql-5.6-en/\-ha-memcached-using-threads.html}}, 621 note = "[Online; accessed 5-August-2022]" 526 howPublish = {\href{https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/scheduler/scheduler.html}{https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/scheduler/scheduler.html}} 622 527 } 623 528 … … 677 582 } 678 583 679 @misc{apache,680 key = {Apache Software Foundation},681 title = {{T}he {A}pache Web Server},682 howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}},683 note = "[Online; accessed 6-June-2022]"684 }685 686 @misc{memcached,687 key = {Brad Fitzpatrick},688 title = {{M}emcached},689 year = {2003},690 howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}},691 note = "[Online; accessed 6-June-2022]"692 }693 694 @misc{libuv,695 author = {libuv team},696 title = {libuv: Asynchronous I/O made simple.},697 howpublished = {\href{https://libuv.org/}{https://\-libuv.org/}},698 note = "[Online; accessed 5-August-2022]"699 }700 701 @misc{SeriallyReusable,702 author = {IBM},703 title = {Serially reusable programs},704 month = mar,705 howpublished= {\href{https://www.ibm.com/docs/en/ztpf/1.1.0.15?topic=structures-serially-reusable-programs}{https://www.ibm.com/\-docs/\-en/\-ztpf/\-1.1.0.15?\-topic=structures\--serially\--reusable-programs}},706 year = 2021,707 }708 709 @misc{GITHUB:mutilate,710 title = {Mutilate: high-performance memcached load generator },711 author = { Jacob Leverich },712 howpublished = {\href{https://github.com/leverich/mutilate}{https://\-github.com/\-leverich/\-mutilate}},713 version = {Change-Id: d65c6ef7c2f78ae05a9db3e37d7f6ddff1c0af64}714 }715 716 @misc{GITHUB:SchedulingBenchmarks,717 title = {Scheduling Benchmarks},718 author = {Thierry Delisle},719 howpublished = {\href{https://github.com/cforall/SchedulingBenchmarks_PhD22}{https://\-github.com/\-cforall/\-SchedulingBenchmarks\_\-PhD22}},720 }721 722 % --------------------------------------------------723 % Tech documents724 @techreport{rfc:tcp,725 title={Transmission control protocol},726 author={Postel, Jon},727 year={1981}728 }729 730 @manual{win:priority,731 key = {TaskSettings Priority},732 title = {TaskSettings.Priority property},733 year = "2020",734 month = "September",735 howpublished = {\href{https://docs.microsoft.com/en-us/windows/win32/taskschd/tasksettings-priority}{https://\-docs.microsoft.com/\-en-us/\-windows/\-win32/\-taskschd/\-tasksettings-priority}},736 note = "[Online; accessed 5-August-2022]"737 }738 739 @manual{win:overlap,740 key = {Synchronous and Asynchronous IO},741 title = {Synchronous and Asynchronous I\/O},742 year = "2021",743 month = "March",744 howpublished = {\href{https://docs.microsoft.com/en-us/windows/win32/fileio/synchronous-and-asynchronous-i-o}{https://\-docs.microsoft.com/\-en-us/\-windows/\-win32/\-fileio/\-synchronous-and-asynchronous-i-o}},745 note = "[Online; accessed 5-August-2022]"746 }747 748 @book{russinovich2009windows,749 title={Windows Internals},750 author={Russinovich, M.E. and Solomon, D.A. and Ionescu, A.},751 isbn={9780735625303},752 lccn={2009927697},753 series={Developer Reference Series},754 url={https://books.google.ca/books?id=SfglSQAACAAJ},755 year={2009},756 publisher={Microsoft Press}757 }758 759 @manual{apple:gcd,760 key = {Grand Central Dispatch},761 title = {Grand Central Dispatch},762 year = "2022",763 author = {Apple Inc.},764 howpublished = {https://developer.apple.com/documentation/DISPATCH},765 note = "[Online; accessed 5-August-2022]"766 }767 768 @techreport{apple:gcd2,769 key = {Grand Central Dispatch},770 title = {Grand Central Dispatch, A better way to do multicore.},771 year = "2009",772 month = "August",773 author = {Apple Inc.},774 howpublished = {\href{http://web.archive.org/web/20090920043909/http://images.apple.com/macosx/technology/docs/GrandCentral_TB_brief_20090903.pdf}{http://web.archive.org/web/20090920043909/http://\-images.apple.com/\-macosx/\-technology/\-docs/\-GrandCentral\_TB\_brief\_20090903.pdf}},775 note = "[Online; accessed 5-August-2022]"776 }777 778 779 584 % -------------------------------------------------- 780 585 % Man Pages … … 814 619 } 815 620 816 @manual{MAN:sendfile,817 key = "sendfile",818 title = "sendfile(2) Linux User's Manual",819 year = "2017",820 month = "September",821 }822 823 @manual{MAN:splice,824 key = "splice",825 title = "splice(2) Linux User's Manual",826 year = "2019",827 month = "May",828 }829 830 @manual{MAN:eventfd,831 key = "eventfd",832 title = "eventfd(2) Linux User's Manual",833 year = "2019",834 month = "MArch",835 }836 837 621 @manual{MAN:aio, 838 622 key = "aio", … … 840 624 year = "2019", 841 625 month = "March", 842 }843 844 @manual{MAN:bash,845 title = {Bash Reference Manual},846 author = {Chet Ramey and Brian Fox},847 year = "2020",848 month = "December",849 version = {5,1},850 howpublished = {\href{https://www.gnu.org/software/bash/manual/bash.pdf}{https://\-www.gnu.org/\-software/\-bash/\-manual/\-bash.pdf}}851 626 } 852 627 … … 860 635 } 861 636 862 863 637 % -------------------------------------------------- 864 638 % Wikipedia Entries … … 935 709 } 936 710 937 @misc{wiki:ma, 938 author = "{Wikipedia contributors}", 939 title = "Bin packing problem --- {W}ikipedia{,} The Free Encyclopedia", 940 year = "2022", 941 howpublished = "\href{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average}{https://\-en.wikipedia.org/\-wiki/\-Moving\_average\#Exponential\_moving\_average}", 942 note = "[Online; accessed 5-August-2022]" 943 } 944 945 @misc{wiki:jni, 946 author = "{Wikipedia contributors}", 947 title = "Java Native Interface --- {W}ikipedia{,} The Free Encyclopedia", 948 year = "2021", 949 howpublished = "\href{https://en.wikipedia.org/wiki/Java_Native_Interface}{https://\-en.wikipedia.org/\-wiki/\-Java\_Native\_Interface}", 950 note = "[Online; accessed 5-August-2022]" 951 } 952 953 @misc{wiki:zipf, 954 author = "{Wikipedia contributors}", 955 title = "Zipf's law --- {W}ikipedia{,} The Free Encyclopedia", 956 year = "2021", 957 howpublished = "\href{https://en.wikipedia.org/wiki/Zipf%27s_law}{https://\-en.wikipedia.org/\-wiki/\-Zipf\%27s\-\_law}", 958 note = "[Online; accessed 5-August-2022]" 959 } 960 961 @misc{wiki:htm, 962 author = "{Wikipedia contributors}", 963 title = "Transactional memory --- {W}ikipedia{,} The Free Encyclopedia", 964 year = "2022", 965 howpublished = "\href{https://en.wikipedia.org/wiki/Zipf%27s_law}{https://\-en.wikipedia.org/\-wiki/\-Zipf\%27s\-\_law}", 966 note = "[Online; accessed 7-September-2022]" 967 } 968 969 @inproceedings{Pai99Flash, 970 contributer = {pabuhr@watmsg}, 971 author = {Vivek S. Pai and Peter Druschel and Willy Zwaenepoel}, 972 title = {{F}lash: An efficient and portable {W}eb server}, 973 booktitle = {Proceedings of the 1999 USENIX Annual Technical Conference}, 974 organization= {USENIX Association}, 975 address = {Monterey, California, U.S.A.}, 976 month = jun, 977 year = {1999}, 978 } 979 980 @inproceedings{Behren03, 981 contributer = {pabuhr@watmsg}, 982 author = {Rob von Behren and Jeremy Condit and Feng Zhou and George C. Necula and Eric Brewer}, 983 title = {Capriccio: Scalable Threads for Internet Services}, 984 booktitle = {Proceedings of the 19th ACM Symposium on Operating Systems Principles}, 985 year = {2003}, 986 pages = {268-281}, 987 location = {Bolton Landing, NY, USA}, 988 publisher = {ACM Press}, 989 address = {New York, NY, USA}, 990 } 991 992 @article{Welsh01, 993 contributer = {pabuhr@plg}, 994 author = {Welsh, Matt and Culler, David and Brewer, Eric}, 995 title = {{SEDA}: An Architecture for Well-conditioned, Scalable Internet Services}, 996 journal = {SIGOPS Oper. Syst. Rev.}, 997 volume = {35}, 998 number = {5}, 999 month = oct, 1000 year = {2001}, 1001 pages = {230--243}, 1002 numpages = {14}, 1003 publisher = {ACM}, 1004 address = {New York, NY, USA}, 1005 } 1006 1007 @inproceedings{Harji12, 1008 keywords = {web server, architecture, multi-core}, 1009 contributer = {pabuhr@plg}, 1010 author = {Ashif S. Harji and Peter A. Buhr and Tim Brecht}, 1011 title = {Comparing High-Performance Multi-core Web-Server Architectures}, 1012 booktitle = {Proceedings of the 5th Annual International Systems and Storage Conference}, 1013 series = {SYSTOR '12}, 1014 publisher = {ACM}, 1015 address = {New York, NY, USA}, 1016 location = {Haifa, Israel}, 1017 month = jun, 1018 year = 2012, 1019 articleno = 1, 1020 pages = {1:1--1:12}, 1021 } 1022 1023 1024 @inproceedings{Barford98, 1025 title = {Generating Representative Web Workloads for Network and Server Performance Evaluation}, 1026 author = {Paul Barford and Mark Crovella}, 1027 booktitle = {Proc. of ACM SIGMETRICS 1998}, 1028 address = {Madison, Wis.}, 1029 year = {1998} 1030 } 1031 1032 @article{httperf, 1033 author = {David Mosberger and Tai Jin}, 1034 title = {httperf Tool for Measuring Web Server Performance}, 1035 journal = {ACM SIGMETRICS}, 1036 volume = {26}, 1037 number = {3}, 1038 year = {1998}, 1039 optissn = {0163-5999}, 1040 pages = {31-37}, 1041 optdoi = {http://doi.acm.org/10.1145/306225.306235}, 1042 publisher = {ACM Press}, 1043 address = {New York, NY, USA}, 1044 } 1045 1046 % -------------------------------------------------- 1047 % True Misc 711 % RMR notes : 712 % [05/04, 12:36] Trevor Brown 713 % i don't know where rmr complexity was first introduced, but there are many many many papers that use the term and define it 714 % [05/04, 12:37] Trevor Brown 715 % here's one paper that uses the term a lot and links to many others that use it... might trace it to something useful there https://drops.dagstuhl.de/opus/volltexte/2021/14832/pdf/LIPIcs-DISC-2021-30.pdf 716 % [05/04, 12:37] Trevor Brown 717 % another option might be to cite a textbook 718 % [05/04, 12:42] Trevor Brown 719 % but i checked two textbooks in the area i'm aware of and i don't see a definition of rmr complexity in either 720 % [05/04, 12:42] Trevor Brown 721 % this one has a nice statement about the prevelance of rmr complexity, as well as some rough definition 722 % [05/04, 12:42] Trevor Brown 723 % https://dl.acm.org/doi/pdf/10.1145/3465084.3467938 724 725 % Race to idle notes : 726 % [13/04, 16:56] Martin Karsten 727 % I don't have a citation. Google brings up this one, which might be good: 728 % 729 % https://doi.org/10.1137/1.9781611973099.100 730 731 1048 732 @misc{AIORant, 1049 733 author = "Linus Torvalds", … … 1055 739 } 1056 740 1057 @misc{xkcd:dynamicentropy, 1058 author = "Randall Munroe", 1059 title = "2318: Dynamic Entropy", 1060 year = "2020", 1061 month = "June", 1062 howpublished = "\href{https://xkcd.com/2318/}", 1063 note = "[Online; accessed 10-June-2020]" 1064 } 1065 1066 @misc{xkcd:cloud, 1067 author = "Randall Munroe", 1068 title = "908: The Cloud", 1069 year = "2011", 1070 month = "June", 1071 howpublished = "\href{https://xkcd.com/908/}", 1072 note = "[Online; accessed 25-August-2022]" 1073 } 1074 1075 @misc{go:safepoints, 1076 author = "The Go Programming Language", 1077 title = "src/runtime/preempt.go", 1078 howpublished = {\href{https://go.dev/src/runtime/preempt.go}}, 1079 note = "[Online; accessed 5-August-2022]" 1080 } 1081 1082 @misc{go:cgo, 1083 author = "The Go Programming Language", 1084 title = "cgo", 1085 howpublished = {\href{https://pkg.go.dev/cmd/cgo}}, 1086 note = "[Online; accessed 5-August-2022]" 1087 } 1088 1089 @article{reese2008nginx, 1090 title = {NGINX: the high-performance web server and reverse proxy}, 1091 author = {Reese, Will}, 1092 journal = {Linux Journal}, 1093 volume = {2008}, 1094 number = {173}, 1095 pages = {2}, 1096 year = {2008}, 1097 publisher = {Belltown Media} 1098 } 1099 1100 @phdthesis{Harji10, 1101 author = {Ashif Harji}, 1102 title = {Performance Comparison of Uniprocessor and Multiprocessor Web Server Architectures}, 1103 school = {University of Waterloo}, 1104 year = 2010, 1105 month = feb, 1106 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1107 note = {\textsf{http://uwspace.uwaterloo.ca/\-bitstream/\-10012/\-5040/\-1/\-Harji\_thesis.pdf}}, 1108 } 741 @misc{apache, 742 key = {Apache Software Foundation}, 743 title = {{T}he {A}pache Web Server}, 744 howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}}, 745 note = "[Online; accessed 6-June-2022]" 746 } 747 748 @misc{SeriallyReusable, 749 author = {IBM}, 750 title = {Serially reusable programs}, 751 month = mar, 752 howpublished= {\href{https://www.ibm.com/docs/en/ztpf/1.1.0.15?topic=structures-serially-reusable-programs}{https://www.ibm.com/\-docs/\-en/\-ztpf/\-1.1.0.15?\-topic=structures\--serially\--reusable-programs}}, 753 year = 2021, 754 } 755 756 @inproceedings{Albers12, 757 author = {Susanne Albers and Antonios Antoniadis}, 758 title = {Race to Idle: New Algorithms for Speed Scaling with a Sleep State}, 759 booktitle = {Proceedings of the 2012 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA)}, 760 doi = {10.1137/1.9781611973099.100}, 761 URL = {https://epubs.siam.org/doi/abs/10.1137/1.9781611973099.100}, 762 eprint = {https://epubs.siam.org/doi/pdf/10.1137/1.9781611973099.100}, 763 year = 2012, 764 month = jan, 765 pages = {1266-1285}, 766 } -
doc/theses/thierry_delisle_PhD/thesis/text/core.tex
r4520b77e r12df6fe 2 2 3 3 Before discussing scheduling in general, where it is important to address systems that are changing states, this document discusses scheduling in a somewhat ideal scenario, where the system has reached a steady state. 4 For this purpose, a steady state is loosely defined as a state where there are always \ atsready to run and the system has the resources necessary to accomplish the work, \eg, enough workers.4 For this purpose, a steady state is loosely defined as a state where there are always \glspl{thrd} ready to run and the system has the resources necessary to accomplish the work, \eg, enough workers. 5 5 In short, the system is neither overloaded nor underloaded. 6 6 7 7 It is important to discuss the steady state first because it is the easiest case to handle and, relatedly, the case in which the best performance is to be expected. 8 As such, when the system is either overloaded or underloaded, a common approach is to try to adapt the system to this new \gls{load}and return to the steady state, \eg, by adding or removing workers.8 As such, when the system is either overloaded or underloaded, a common approach is to try to adapt the system to this new load and return to the steady state, \eg, by adding or removing workers. 9 9 Therefore, flaws in scheduling the steady state tend to be pervasive in all states. 10 10 11 11 \section{Design Goals} 12 As with most of the design decisions behind \CFA, an important goal is to match the expectation of the programmer according to their execution mental model.13 To match expectations, the design must offer the programmer sufficient guarantees so that, as long as they respect the execution mental model, the system also respects this model.14 15 For threading, a simple and common execution mental model is the ``ideal multitasking CPU'':16 17 \begin{displayquote}[Linux CFS\cit e{MAN:linux/cfs}]18 {[The]} `` ideal multi-tasking CPU'' is a (non-existent :-)) CPU that has 100\% physical power and which can run each task at precise equal speed, in parallel, each at [an equal fraction of the] speed. For example: if there are 2 running tasks, then it runs each at 50\% physical power --- i.e., actually in parallel.12 As with most of the design decisions behind \CFA, an important goal is to match the expectation of the programmer according to their execution mental-model. 13 To match expectations, the design must offer the programmer sufficient guarantees so that, as long as they respect the execution mental-model, the system also respects this model. 14 15 For threading, a simple and common execution mental-model is the ``Ideal multi-tasking CPU'' : 16 17 \begin{displayquote}[Linux CFS\cit{https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt}] 18 {[The]} ``Ideal multi-tasking CPU'' is a (non-existent :-)) CPU that has 100\% physical power and which can run each task at precise equal speed, in parallel, each at [an equal fraction of the] speed. For example: if there are 2 tasks running, then it runs each at 50\% physical power --- i.e., actually in parallel. 19 19 \label{q:LinuxCFS} 20 20 \end{displayquote} 21 21 22 Applied to \ats, this model states that every ready \at immediately runs in parallel with all other ready \ats. While a strict implementation of this model is not feasible, programmers still have expectations about scheduling that come from this model.23 24 In general, the expectation at the cent re of this model is that ready \atsdo not interfere with each other but simply share the hardware.25 This assumption makes it easier to reason about threading because ready \ atscan be thought of in isolation and the effect of the scheduler can be virtually ignored.26 This expectation of \ atindependence means the scheduler is expected to offer two guarantees:22 Applied to threads, this model states that every ready \gls{thrd} immediately runs in parallel with all other ready \glspl{thrd}. While a strict implementation of this model is not feasible, programmers still have expectations about scheduling that come from this model. 23 24 In general, the expectation at the center of this model is that ready \glspl{thrd} do not interfere with each other but simply share the hardware. 25 This assumption makes it easier to reason about threading because ready \glspl{thrd} can be thought of in isolation and the effect of the scheduler can be virtually ignored. 26 This expectation of \gls{thrd} independence means the scheduler is expected to offer two guarantees: 27 27 \begin{enumerate} 28 \item A fairness guarantee: a \ atthat is ready to run is not prevented by another thread.29 \item A performance guarantee: a \ atthat wants to start or stop running is not prevented by other threads wanting to do the same.28 \item A fairness guarantee: a \gls{thrd} that is ready to run is not prevented by another thread. 29 \item A performance guarantee: a \gls{thrd} that wants to start or stop running is not prevented by other threads wanting to do the same. 30 30 \end{enumerate} 31 31 32 32 It is important to note that these guarantees are expected only up to a point. 33 \Glspl{ at} that are ready to run should not be prevented from doingso, but they still share the limited hardware resources.34 Therefore, the guarantee is considered respected if a \ atgets access to a \emph{fair share} of the hardware resources, even if that share is very small.33 \Glspl{thrd} that are ready to run should not be prevented to do so, but they still share the limited hardware resources. 34 Therefore, the guarantee is considered respected if a \gls{thrd} gets access to a \emph{fair share} of the hardware resources, even if that share is very small. 35 35 36 36 Similar to the performance guarantee, the lack of interference among threads is only relevant up to a point. … … 40 40 This demonstration can be made by comparing applications built in \CFA to applications built with other languages or other models. 41 41 Recall programmer expectation is that the impact of the scheduler can be ignored. 42 Therefore, if the cost of scheduling is competitive with other popular languages, the guarantee is consideredachieved.42 Therefore, if the cost of scheduling is competitive to other popular languages, the guarantee is consider achieved. 43 43 More precisely the scheduler should be: 44 44 \begin{itemize} … … 53 53 In any running system, a \proc can stop dequeuing \ats if it starts running a \at that never blocks. 54 54 Without preemption, traditional work-stealing schedulers do not have starvation freedom in this case. 55 Now ,this requirement begs the question, what about preemption?56 Generally speaking ,preemption happens on the timescale of several milliseconds, which brings us to the next requirement: ``fast'' load balancing.55 Now this requirement begs the question, what about preemption? 56 Generally speaking preemption happens on the timescale of several milliseconds, which brings us to the next requirement: ``fast'' load balancing. 57 57 58 58 \paragraph{Fast load balancing} means that load balancing should happen faster than preemption would normally allow. 59 For interactive applications that need to run at 60, 90 or120 frames per second, \ats having to wait for several milliseconds to run are effectively starved.59 For interactive applications that need to run at 60, 90, 120 frames per second, \ats having to wait for several milliseconds to run are effectively starved. 60 60 Therefore load-balancing should be done at a faster pace, one that can detect starvation at the microsecond scale. 61 With that said, this is a much fuzzier requirement since it depends on the number of \procs, the number of \ats and the general \gls{load}of the system.61 With that said, this is a much fuzzier requirement since it depends on the number of \procs, the number of \ats and the general load of the system. 62 62 63 63 \subsection{Fairness vs Scheduler Locality} \label{fairnessvlocal} … … 68 68 69 69 For a scheduler, having good locality, \ie, having the data local to each \gls{hthrd}, generally conflicts with fairness. 70 Indeed, good locality often requires avoiding the movement of cache lines, while fairness requires dynamically moving a \ at, and as consequence cache lines, to a \gls{hthrd} that is currently available.71 Note that this section discusses \emph{internal locality}, \ie, the locality of the data used by the scheduler versus \emph{external locality}, \ie, how scheduling affects the locality of the application's data.70 Indeed, good locality often requires avoiding the movement of cache lines, while fairness requires dynamically moving a \gls{thrd}, and as consequence cache lines, to a \gls{hthrd} that is currently available. 71 Note that this section discusses \emph{internal locality}, \ie, the locality of the data used by the scheduler versus \emph{external locality}, \ie, how the data used by the application is affected by scheduling. 72 72 External locality is a much more complicated subject and is discussed in the next section. 73 73 74 74 However, I claim that in practice it is possible to strike a balance between fairness and performance because these goals do not necessarily overlap temporally. 75 75 Figure~\ref{fig:fair} shows a visual representation of this behaviour. 76 As mentioned, some unfairness is acceptable; therefore it is desirable to have an algorithm that prioritizes cache locality as long as thread delay does not exceed the execution mental model.76 As mentioned, some unfairness is acceptable; therefore it is desirable to have an algorithm that prioritizes cache locality as long as thread delay does not exceed the execution mental-model. 77 77 78 78 \begin{figure} … … 80 80 \input{fairness.pstex_t} 81 81 \vspace*{-10pt} 82 \caption[Fairness vs Locality graph]{Rule of thumb Fairness vs Locality graph \smallskip\newline The importance of Fairness and Locality while a ready \ at awaits running is shown as the time the ready \at waits increases (Ready Time) the chances that its data is still in cache decreases (Locality).83 At the same time, the need for fairness increases since other \ atsmay have the chance to run many times, breaking the fairness model.82 \caption[Fairness vs Locality graph]{Rule of thumb Fairness vs Locality graph \smallskip\newline The importance of Fairness and Locality while a ready \gls{thrd} awaits running is shown as the time the ready \gls{thrd} waits increases, Ready Time, the chances that its data is still in cache decreases, Locality. 83 At the same time, the need for fairness increases since other \glspl{thrd} may have the chance to run many times, breaking the fairness model. 84 84 Since the actual values and curves of this graph can be highly variable, the graph is an idealized representation of the two opposing goals.} 85 85 \label{fig:fair} … … 92 92 \subsubsection{Scalability} 93 93 The most basic performance challenge of a scheduler is scalability. 94 Given a large number of \procs and an even larger number of \ats, scalability measures how fast \procs can enqueue and dequeue \ats.95 One could expect that doubling the number of \procs would double the rate at which \ats are dequeued, but contention on the internal data structure of the scheduler can diminish theimprovements.96 While the ready queue itself can be sharded to alleviate the main source of contention, auxiliary scheduling features, \eg counting ready \ats, can also be sources of contention.94 Given a large number of \procs and an even larger number of \ats, scalability measures how fast \procs can enqueue and dequeues \ats. 95 One could expect that doubling the number of \procs would double the rate at which \ats are dequeued, but contention on the internal data structure of the scheduler can lead to worst improvements. 96 While the ready-queue itself can be sharded to alleviate the main source of contention, auxiliary scheduling features, \eg counting ready \ats, can also be sources of contention. 97 97 98 98 \subsubsection{Migration Cost} 99 Another important source of scheduling latency is \glslink{atmig}{migration}.99 Another important source of scheduling latency is migration. 100 100 A \at migrates if it executes on two different \procs consecutively, which is the process discussed in \ref{fairnessvlocal}. 101 101 Migrations can have many different causes, but in certain programs, it can be impossible to limit migration. … … 108 108 The problem is a single point of contention when adding/removing \ats. 109 109 As shown in the evaluation sections, most production schedulers do scale when adding \glspl{hthrd}. 110 The solution to this problem is to shard the ready queue: create multiple \emph{sub-queues} forming the logical ready-queue and the sub-queues are accessed by multiple \glspl{hthrd} without interfering.110 The solution to this problem is to shard the ready-queue: create multiple \emph{subqueues} forming the logical ready-queue and the subqueues are accessed by multiple \glspl{hthrd} without interfering. 111 111 112 112 Before going into the design of \CFA's scheduler, it is relevant to discuss two sharding solutions that served as the inspiration scheduler in this thesis. … … 114 114 \subsection{Work-Stealing} 115 115 116 As mentioned in \ref{existing:workstealing}, a popular sharding approach for the ready queue is work-stealing.117 In this approach, each \gls{proc} has its own local sub -queue and \glspl{proc} only access each other's sub-queue if they run out of work on their local ready-queue.116 As mentioned in \ref{existing:workstealing}, a popular sharding approach for the ready-queue is work-stealing. 117 In this approach, each \gls{proc} has its own local subqueue and \glspl{proc} only access each other's subqueue if they run out of work on their local ready-queue. 118 118 The interesting aspect of work stealing happens in the steady-state scheduling case, \ie all \glspl{proc} have work and no load balancing is needed. 119 119 In this case, work stealing is close to optimal scheduling: it can achieve perfect locality and have no contention. 120 120 On the other hand, work-stealing schedulers only attempt to do load-balancing when a \gls{proc} runs out of work. 121 121 This means that the scheduler never balances unfair loads unless they result in a \gls{proc} running out of work. 122 Chapter~\ref{microbench} shows that , in pathological cases,work stealing can lead to indefinite starvation.123 124 Based on these observation s, the conclusion is that a \emph{perfect} scheduler should behave similarlyto work-stealing in the steady-state case, but load balance proactively when the need arises.122 Chapter~\ref{microbench} shows that pathological cases work stealing can lead to indefinite starvation. 123 124 Based on these observation, the conclusion is that a \emph{perfect} scheduler should behave similar to work-stealing in the steady-state case, but load balance proactively when the need arises. 125 125 126 126 \subsection{Relaxed-FIFO} 127 A different scheduling approach is to create a ``relaxed-FIFO'' queue, as in \ cite{alistarh2018relaxed}.128 This approach forgoes any ownership between \gls{proc} and sub -queue, and simply creates a pool of sub-queues from which \glspl{proc} pick.127 A different scheduling approach is to create a ``relaxed-FIFO'' queue, as in \todo{cite Trevor's paper}. 128 This approach forgoes any ownership between \gls{proc} and subqueue, and simply creates a pool of ready-queues from which \glspl{proc} pick. 129 129 Scheduling is performed as follows: 130 130 \begin{itemize} 131 131 \item 132 All sub -queues are protected by TryLocks.133 \item 134 Timestamps are added to each element of a sub -queue.135 \item 136 A \gls{proc} randomly tests sub-queues until it has acquired one or two queues.137 \item 138 If two queues are acquired, the older of the two \ats is dequeued from the front of the acquired queues.139 \item 140 Otherwise , the \atfrom the single queue is dequeued.132 All subqueues are protected by TryLocks. 133 \item 134 Timestamps are added to each element of a subqueue. 135 \item 136 A \gls{proc} randomly tests ready queues until it has acquired one or two queues. 137 \item 138 If two queues are acquired, the older of the two \ats at the front the acquired queues is dequeued. 139 \item 140 Otherwise the \ats from the single queue is dequeued. 141 141 \end{itemize} 142 142 The result is a queue that has both good scalability and sufficient fairness. 143 143 The lack of ownership ensures that as long as one \gls{proc} is still able to repeatedly dequeue elements, it is unlikely any element will delay longer than any other element. 144 This guarantee contrasts with work-stealing, where a \gls{proc} with a long sub -queue results in unfairness for its \ats in comparison to a \gls{proc} with a short sub-queue.144 This guarantee contrasts with work-stealing, where a \gls{proc} with a long subqueue results in unfairness for its \ats in comparison to a \gls{proc} with a short subqueue. 145 145 This unfairness persists until a \gls{proc} runs out of work and steals. 146 146 147 An important aspect of this scheme's fairness approach is that the timestamps make it possible to evaluate how long elements have been in the queue.147 An important aspects of this scheme's fairness approach is that the timestamps make it possible to evaluate how long elements have been on the queue. 148 148 However, \glspl{proc} eagerly search for these older elements instead of focusing on specific queues, which negatively affects locality. 149 149 … … 152 152 153 153 \section{Relaxed-FIFO++} 154 The inherent fairness and good performance with many \ats makethe relaxed-FIFO queue a good candidate to form the basis of a new scheduler.154 The inherent fairness and good performance with many \ats, makes the relaxed-FIFO queue a good candidate to form the basis of a new scheduler. 155 155 The problem case is workloads where the number of \ats is barely greater than the number of \procs. 156 In these situations, the wide sharding of the ready queue means most of its sub -queues are empty.157 Furthermore, the non-empty sub -queues are unlikely to hold more than one item.158 The consequence is that a random dequeue operation is likely to pick an empty sub -queue, resulting in an unbounded number of selections.159 This state is generally unstable: each sub -queue is likely to frequently toggle between being empty and nonempty.160 Indeed, when the number of \ats is \emph{equal} to the number of \procs, every pop operation is expected to empty a sub -queue and every push is expected to add to an empty sub-queue.161 In the worst case, a check of the sub -queues sees all are empty or full.156 In these situations, the wide sharding of the ready queue means most of its subqueues are empty. 157 Furthermore, the non-empty subqueues are unlikely to hold more than one item. 158 The consequence is that a random dequeue operation is likely to pick an empty subqueue, resulting in an unbounded number of selections. 159 This state is generally unstable: each subqueue is likely to frequently toggle between being empty and nonempty. 160 Indeed, when the number of \ats is \emph{equal} to the number of \procs, every pop operation is expected to empty a subqueue and every push is expected to add to an empty subqueue. 161 In the worst case, a check of the subqueues sees all are empty or full. 162 162 163 163 As this is the most obvious challenge, it is worth addressing first. 164 The obvious solution is to supplement each sharded sub -queue with data that indicates if the queue is empty/nonempty to simplify finding nonempty queues, \ie ready \glspl{at}.165 This sharded data can be organized in different forms, \eg a bitmask or a binary tree that tracks the nonempty sub -queues.164 The obvious solution is to supplement each sharded subqueue with data that indicates if the queue is empty/nonempty to simplify finding nonempty queues, \ie ready \glspl{at}. 165 This sharded data can be organized in different forms, \eg a bitmask or a binary tree that tracks the nonempty subqueues. 166 166 Specifically, many modern architectures have powerful bitmask manipulation instructions or searching a binary tree has good Big-O complexity. 167 However, precisely tracking nonempty sub -queues is problematic.168 The reason is that the sub -queues are initially sharded with a width presumably chosen to avoid contention.169 However, tracking which ready queue is nonempty is only useful if the tracking data is dense, \ie denser than the sharded sub -queues.170 Otherwise, it does not provide useful information because reading this new data structure risks being as costly as simply picking a sub -queue at random.171 But if the tracking mechanism \emph{is} denser than the shared sub -queues, then constant updates invariably create a new source of contention.167 However, precisely tracking nonempty subqueues is problematic. 168 The reason is that the subqueues are initially sharded with a width presumably chosen to avoid contention. 169 However, tracking which ready queue is nonempty is only useful if the tracking data is dense, \ie denser than the sharded subqueues. 170 Otherwise, it does not provide useful information because reading this new data structure risks being as costly as simply picking a subqueue at random. 171 But if the tracking mechanism \emph{is} denser than the shared subqueues, than constant updates invariably create a new source of contention. 172 172 Early experiments with this approach showed that randomly picking, even with low success rates, is often faster than bit manipulations or tree walks. 173 173 174 174 The exception to this rule is using local tracking. 175 If each \proc locally keeps track of empty sub -queues, then this can be done with a very dense data structure without introducing a new source of contention.175 If each \proc locally keeps track of empty subqueues, than this can be done with a very dense data structure without introducing a new source of contention. 176 176 However, the consequence of local tracking is that the information is incomplete. 177 Each \proc is only aware of the last state it saw about each sub -queue so this information quickly becomes stale.177 Each \proc is only aware of the last state it saw about each subqueue so this information quickly becomes stale. 178 178 Even on systems with low \gls{hthrd} count, \eg 4 or 8, this approach can quickly lead to the local information being no better than the random pick. 179 179 This result is due in part to the cost of maintaining information and its poor quality. 180 180 181 However, using a very low -cost but inaccurate approach for local tracking can stillbe beneficial.182 If the local tracking is no more costly than a random pick, th en \emph{any} improvement to the success rate, however low it is, leads to a performance benefit.183 This suggests t he following approach:184 185 \subsection{Dynamic Entropy}\cit e{xkcd:dynamicentropy}186 The Relaxed-FIFO approach can be made to handle the case of mostly empty sub -queues by tweaking the \glsxtrlong{prng}.187 The \glsxtrshort{prng} state can be seen as containing a list of all the future sub -queues that will be accessed.188 While this concept is not particularly useful on its own, the consequence is that if the \glsxtrshort{prng} algorithm can be run \emph{backwards}, then the state also contains a list of all the sub -queues that were accessed.189 Luckily, bidirectional \glsxtrshort{prng} algorithms do exist, \eg some Linear Congruential Generators\cit e{wiki:lcg} support running the algorithm backwards while offering good quality and performance.181 However, using a very low cost but inaccurate approach for local tracking can actually be beneficial. 182 If the local tracking is no more costly than a random pick, than \emph{any} improvement to the success rate, however low it is, leads to a performance benefits. 183 This suggests to the following approach: 184 185 \subsection{Dynamic Entropy}\cit{https://xkcd.com/2318/} 186 The Relaxed-FIFO approach can be made to handle the case of mostly empty subqueues by tweaking the \glsxtrlong{prng}. 187 The \glsxtrshort{prng} state can be seen as containing a list of all the future subqueues that will be accessed. 188 While this concept is not particularly useful on its own, the consequence is that if the \glsxtrshort{prng} algorithm can be run \emph{backwards}, then the state also contains a list of all the subqueues that were accessed. 189 Luckily, bidirectional \glsxtrshort{prng} algorithms do exist, \eg some Linear Congruential Generators\cit{https://en.wikipedia.org/wiki/Linear\_congruential\_generator} support running the algorithm backwards while offering good quality and performance. 190 190 This particular \glsxtrshort{prng} can be used as follows: 191 191 \begin{itemize} 192 192 \item 193 Each \proc maintains two \glsxtrshort{prng} states, refer red to as $F$ and $B$.194 \item 195 When a \proc attempts to dequeue a \at, it picks a sub -queue by running $B$ backwards.196 \item 197 When a \proc attempts to enqueue a \at, it runs $F$ forward picking a sub -queue to enqueue to.198 If the enqueue is successful, state $B$ is overwritten with the content of $F$.193 Each \proc maintains two \glsxtrshort{prng} states, refereed to as $F$ and $B$. 194 \item 195 When a \proc attempts to dequeue a \at, it picks a subqueue by running $B$ backwards. 196 \item 197 When a \proc attempts to enqueue a \at, it runs $F$ forward picking a subqueue to enqueue to. 198 If the enqueue is successful, the state $B$ is overwritten with the content of $F$. 199 199 \end{itemize} 200 200 The result is that each \proc tends to dequeue \ats that it has itself enqueued. 201 When most sub -queues are empty, this technique increases the odds of finding \ats at avery low cost, while also offering an improvement on locality in many cases.201 When most subqueues are empty, this technique increases the odds of finding \ats at very low cost, while also offering an improvement on locality in many cases. 202 202 203 203 Tests showed this approach performs better than relaxed-FIFO in many cases. 204 204 However, it is still not competitive with work-stealing algorithms. 205 205 The fundamental problem is that the constant randomness limits how much locality the scheduler offers. 206 This becomes problematic both because the scheduler is likely to get cache misses on internal data structures and because migrations become frequent.206 This becomes problematic both because the scheduler is likely to get cache misses on internal data-structures and because migrations become frequent. 207 207 Therefore, the attempt to modify the relaxed-FIFO algorithm to behave more like work stealing did not pan out. 208 208 The alternative is to do it the other way around. 209 209 210 \section{Work Stealing++} \label{helping}210 \section{Work Stealing++} 211 211 To add stronger fairness guarantees to work stealing a few changes are needed. 212 First, the relaxed-FIFO algorithm has fundamentally better fairness because each \proc always monitors all sub -queues.212 First, the relaxed-FIFO algorithm has fundamentally better fairness because each \proc always monitors all subqueues. 213 213 Therefore, the work-stealing algorithm must be prepended with some monitoring. 214 Before attempting to dequeue from a \proc's sub -queue, the \proc must make some effort to ensure other sub-queues are not being neglected.214 Before attempting to dequeue from a \proc's subqueue, the \proc must make some effort to ensure other subqueues are not being neglected. 215 215 To make this possible, \procs must be able to determine which \at has been on the ready queue the longest. 216 216 Second, the relaxed-FIFO approach needs timestamps for each \at to make this possible. … … 219 219 \centering 220 220 \input{base.pstex_t} 221 \caption[Base \CFA design]{Base \CFA design \smallskip\newline A pool of sub -queues offers the sharding, two per \proc.222 Each \gls{proc} can access all of the sub -queues.221 \caption[Base \CFA design]{Base \CFA design \smallskip\newline A pool of subqueues offers the sharding, two per \glspl{proc}. 222 Each \gls{proc} can access all of the subqueues. 223 223 Each \at is timestamped when enqueued.} 224 224 \label{fig:base} … … 226 226 227 227 Figure~\ref{fig:base} shows the algorithm structure. 228 This structure is similar to classic work-stealing except the sub -queues are placed in an array so \procs can access them in constant time.228 This structure is similar to classic work-stealing except the subqueues are placed in an array so \procs can access them in constant time. 229 229 Sharding width can be adjusted based on contention. 230 230 Note, as an optimization, the TS of a \at is stored in the \at in front of it, so the first TS is in the array and the last \at has no TS. 231 231 This organization keeps the highly accessed front TSs directly in the array. 232 When a \proc attempts to dequeue a \at, it first picks a random remote sub -queue and compares its timestamp to the timestamps of its local sub-queue(s).232 When a \proc attempts to dequeue a \at, it first picks a random remote subqueue and compares its timestamp to the timestamps of its local subqueue(s). 233 233 The oldest waiting \at is dequeued to provide global fairness. 234 234 235 However, this na\"ive implement ationhas performance problems.235 However, this na\"ive implemented has performance problems. 236 236 First, it is necessary to have some damping effect on helping. 237 237 Random effects like cache misses and preemption can add spurious but short bursts of latency negating the attempt to help. 238 These bursts can cause increased migrations and make this work -stealing approach slowdown to the level of relaxed-FIFO.238 These bursts can cause increased migrations and make this work stealing approach slowdown to the level of relaxed-FIFO. 239 239 240 240 \begin{figure} 241 241 \centering 242 242 \input{base_avg.pstex_t} 243 \caption[\CFA design with Moving Average]{\CFA design with Moving Average \smallskip\newline A moving average is added to each sub -queue.}243 \caption[\CFA design with Moving Average]{\CFA design with Moving Average \smallskip\newline A moving average is added to each subqueue.} 244 244 \label{fig:base-ma} 245 245 \end{figure} 246 246 247 A simple solution to this problem is to use an exponential moving average\cit e{wiki:ma} (MA) instead of a raw timestamp, asshown in Figure~\ref{fig:base-ma}.248 Note that this is more complex because the \at at the head of a sub-queue is still waiting, so its wait time has not ended.249 Therefore, the exponential moving average is a naverage of how long each dequeued \at has waited.250 To compare sub -queues, the timestamp at the head must be compared to the current time, yielding the best-case waittime for the \at at the head of the queue.247 A simple solution to this problem is to use an exponential moving average\cit{https://en.wikipedia.org/wiki/Moving\_average\#Exponential\_moving\_average} (MA) instead of a raw timestamps, shown in Figure~\ref{fig:base-ma}. 248 Note, this is more complex because the \at at the head of a subqueue is still waiting, so its wait time has not ended. 249 Therefore, the exponential moving average is actually an exponential moving average of how long each dequeued \at has waited. 250 To compare subqueues, the timestamp at the head must be compared to the current time, yielding the best-case wait-time for the \at at the head of the queue. 251 251 This new waiting is averaged with the stored average. 252 To further limit \glslink{atmig}{migrations}, a bias can be added to a local sub-queue, where a remote sub-queue is helped only if its moving average is more than $X$ times the local sub-queue's average.252 To further limit migration, a bias can be added to a local subqueue, where a remote subqueue is helped only if its moving average is more than $X$ times the local subqueue's average. 253 253 Tests for this approach indicate the choice of the weight for the moving average or the bias is not important, \ie weights and biases of similar \emph{magnitudes} have similar effects. 254 254 255 255 With these additions to work stealing, scheduling can be made as fair as the relaxed-FIFO approach, avoiding the majority of unnecessary migrations. 256 Unfortunately, the work to achieve fairness has a performance cost, especially when the workload is inherently fair, and hence, there is only short-term unfairnessor no starvation.257 The problem is that the constant polling, \ie reads, of remote sub -queues generally entails cache misses because the TSs are constantly being updated, \ie, writes.258 To make things worst, remote sub -queues that are very active, \ie \ats are frequently enqueued and dequeued from them, lead to higher chances that polling will incur a cache-miss.259 Conversely, the active sub -queues do not benefit much from helping since starvation is already a non-issue.260 This puts this algorithm in the awkward situation of paying for a largely unnecessary cost.261 The good news is that this problem can be mitigated .262 263 \subsection{Redundant Timestamps} \label{relaxedtimes}264 The problem with polling remote sub -queues is that correctness is critical.265 There must be a consensus among \procs on which sub -queues hold which \ats, as the \ats are in constant motion.266 Furthermore, since timestamps are use d for fairness, it is critical to have aconsensus on which \at is the oldest.267 However, when deciding if a remote sub -queue is worth polling, correctness is less of a problem.268 Since the only requirement is that a sub -queue is eventually polled, some data staleness is acceptable.256 Unfortunately, the work to achieve fairness has a performance cost, especially when the workload is inherently fair, and hence, there is only short-term or no starvation. 257 The problem is that the constant polling, \ie reads, of remote subqueues generally entail a cache miss because the TSs are constantly being updated, \ie, writes. 258 To make things worst, remote subqueues that are very active, \ie \ats are frequently enqueued and dequeued from them, lead to higher chances that polling will incur a cache-miss. 259 Conversely, the active subqueues do not benefit much from helping since starvation is already a non-issue. 260 This puts this algorithm in the awkward situation of paying for a cost that is largely unnecessary. 261 The good news is that this problem can be mitigated 262 263 \subsection{Redundant Timestamps} 264 The problem with polling remote subqueues is that correctness is critical. 265 There must be a consensus among \procs on which subqueues hold which \ats, as the \ats are in constant motion. 266 Furthermore, since timestamps are use for fairness, it is critical to have consensus on which \at is the oldest. 267 However, when deciding if a remote subqueue is worth polling, correctness is less of a problem. 268 Since the only requirement is that a subqueue is eventually polled, some data staleness is acceptable. 269 269 This leads to a situation where stale timestamps are only problematic in some cases. 270 Furthermore, stale timestamps can be desirable since lower freshness requirements mean fewercache invalidations.270 Furthermore, stale timestamps can be desirable since lower freshness requirements mean less cache invalidations. 271 271 272 272 Figure~\ref{fig:base-ts2} shows a solution with a second array containing a copy of the timestamps and average. 273 This copy is updated \emph{after} the sub -queue's critical sections using relaxed atomics.273 This copy is updated \emph{after} the subqueue's critical sections using relaxed atomics. 274 274 \Glspl{proc} now check if polling is needed by comparing the copy of the remote timestamp instead of the actual timestamp. 275 275 The result is that since there is no fencing, the writes can be buffered in the hardware and cause fewer cache invalidations. … … 279 279 \input{base_ts2.pstex_t} 280 280 \caption[\CFA design with Redundant Timestamps]{\CFA design with Redundant Timestamps \smallskip\newline An array is added containing a copy of the timestamps. 281 These timestamps are written -to with relaxed atomics, so there is no order among concurrent memory accesses, leading to fewer cache invalidations.}281 These timestamps are written to with relaxed atomics, so there is no order among concurrent memory accesses, leading to fewer cache invalidations.} 282 282 \label{fig:base-ts2} 283 283 \end{figure} … … 285 285 The correctness argument is somewhat subtle. 286 286 The data used for deciding whether or not to poll a queue can be stale as long as it does not cause starvation. 287 Therefore, it is acceptable if stale data makes queues appear older than they are but appearing fresher can be a problem.288 For the timestamps, this means it is acceptable to miss writes to the timestampsince they make the head \at look older.287 Therefore, it is acceptable if stale data makes queues appear older than they really are but appearing fresher can be a problem. 288 For the timestamps, this means missing writes to the timestamp is acceptable since they make the head \at look older. 289 289 For the moving average, as long as the operations are just atomic reads/writes, the average is guaranteed to yield a value that is between the oldest and newest values written. 290 Therefore, this unprotected read of the timestamp and average satisf iesthe limited correctness that is required.290 Therefore, this unprotected read of the timestamp and average satisfy the limited correctness that is required. 291 291 292 292 With redundant timestamps, this scheduling algorithm achieves both the fairness and performance requirements on most machines. 293 293 The problem is that the cost of polling and helping is not necessarily consistent across each \gls{hthrd}. 294 For example on machines with a CPU containing multiple hyper threads and cores and multiple CPU sockets, cache misses can be satisfied from the caches on thesame (local) CPU, or by a CPU on a different (remote) socket.294 For example, on machines with a CPU containing multiple hyperthreads and cores and multiple CPU sockets, cache misses can be satisfied from the caches on same (local) CPU, or by a CPU on a different (remote) socket. 295 295 Cache misses satisfied by a remote CPU have significantly higher latency than from the local CPU. 296 296 However, these delays are not specific to systems with multiple CPUs. … … 313 313 In Figure~\ref{fig:cache-share}, all cache misses are either private to a CPU or shared with another CPU. 314 314 This means latency due to cache misses is fairly consistent. 315 In contrast, in Figure~\ref{fig:cache-noshare} misses in the L2 cache can be satisfied by either instance of theL3 cache.315 In contrast, in Figure~\ref{fig:cache-noshare} misses in the L2 cache can be satisfied by either instance of L3 cache. 316 316 However, the memory-access latency to the remote L3 is higher than the memory-access latency to the local L3. 317 317 The impact of these different designs on this algorithm is that scheduling only scales well on architectures with a wide L3 cache, similar to Figure~\ref{fig:cache-share}, and less well on architectures with many narrower L3 cache instances, similar to Figure~\ref{fig:cache-noshare}. 318 Hence, as the number of L3 instances grow s, so too does the chance that the random helping causes significant cache latency.319 The solution is for the scheduler tobe aware of the cache topology.318 Hence, as the number of L3 instances grow, so too does the chance that the random helping causes significant cache latency. 319 The solution is for the scheduler be aware of the cache topology. 320 320 321 321 \subsection{Per CPU Sharding} … … 323 323 Unfortunately, there is no portable way to discover cache topology, and it is outside the scope of this thesis to solve this problem. 324 324 This work uses the cache topology information from Linux's @/sys/devices/system/cpu@ directory. 325 This leaves the challenge of matching \procs to cache structure, or more precisely identifying which sub -queues of the ready queue are local to which subcomponents of the cache structure.326 Once a match is generated, the helping algorithm is changed to add bias so that \procs more often help sub-queues local to the same cache substructure.\footnote{325 This leaves the challenge of matching \procs to cache structure, or more precisely identifying which subqueues of the ready queue are local to which subcomponents of the cache structure. 326 Once a matching is generated, the helping algorithm is changed to add bias so that \procs more often help subqueues local to the same cache substructure.\footnote{ 327 327 Note that like other biases mentioned in this section, the actual bias value does not appear to need precise tuning.} 328 328 329 The simplest approach for mapping sub -queues to cache structure is to statically tie sub-queues to CPUs.330 Instead of having each sub -queue local to a specific \proc, the system is initialized with sub-queues for each hardware hyperthread/core up front.331 Then \procs dequeue and enqueue by first asking which CPU id they are executing on, to identify which sub-queues are the local ones.329 The simplest approach for mapping subqueues to cache structure is to statically tie subqueues to CPUs. 330 Instead of having each subqueue local to a specific \proc, the system is initialized with subqueues for each hardware hyperthread/core up front. 331 Then \procs dequeue and enqueue by first asking which CPU id they are executing on, in order to identify which subqueues are the local ones. 332 332 \Glspl{proc} can get the CPU id from @sched_getcpu@ or @librseq@. 333 333 334 334 This approach solves the performance problems on systems with topologies with narrow L3 caches, similar to Figure \ref{fig:cache-noshare}. 335 335 However, it can still cause some subtle fairness problems in systems with few \procs and many \glspl{hthrd}. 336 In this case, the large number of sub -queues and the bias against sub-queues tied to different cache substructures make it unlikely that every sub-queue is picked.337 To make things worst, the small number of \procs mean sthat few helping attempts are made.338 This combination of low selection and few helping attempts allow a \at to become stranded on a sub -queue for a long time until it gets randomly helped.339 On a system with 2 \procs, 256 \glspl{hthrd} with narrow cache sharing, and a 100:1 bias, it can take multiple seconds for a \at to get dequeued from a remote queue.340 Therefore, a more dynamic match of sub-queues to cache instancesis needed.336 In this case, the large number of subqueues and the bias against subqueues tied to different cache substructures make it unlikely that every subqueue is picked. 337 To make things worst, the small number of \procs mean that few helping attempts are made. 338 This combination of low selection and few helping attempts allow a \at to become stranded on a subqueue for a long time until it gets randomly helped. 339 On a system with 2 \procs, 256 \glspl{hthrd} with narrow cache sharing, and a 100:1 bias, it can actually take multiple seconds for a \at to get dequeued from a remote queue. 340 Therefore, a more dynamic matching of subqueues to cache instance is needed. 341 341 342 342 \subsection{Topological Work Stealing} 343 343 \label{s:TopologicalWorkStealing} 344 The approach used in the \CFA scheduler is to have per-\proc sub-queues, but have an explicit data structure to track which cache substructure each sub-queue is tied to.344 Therefore, the approach used in the \CFA scheduler is to have per-\proc subqueues, but have an explicit data-structure track which cache substructure each subqueue is tied to. 345 345 This tracking requires some finesse because reading this data structure must lead to fewer cache misses than not having the data structure in the first place. 346 A key element , however,is that, like the timestamps for helping, reading the cache instance mapping only needs to give the correct result \emph{often enough}.346 A key element however is that, like the timestamps for helping, reading the cache instance mapping only needs to give the correct result \emph{often enough}. 347 347 Therefore the algorithm can be built as follows: before enqueueing or dequeuing a \at, each \proc queries the CPU id and the corresponding cache instance. 348 Since sub -queues are tied to \procs, each \proc can then update the cache instance mapped to the local sub-queue(s).349 To avoid unnecessary cache line invalidation, the map is only written -to if the mapping changes.348 Since subqueues are tied to \procs, each \proc can then update the cache instance mapped to the local subqueue(s). 349 To avoid unnecessary cache line invalidation, the map is only written to if the mapping changes. 350 350 351 351 This scheduler is used in the remainder of the thesis for managing CPU execution, but additional scheduling is needed to handle long-term blocking and unblocking, such as I/O. -
doc/theses/thierry_delisle_PhD/thesis/text/eval_macro.tex
r4520b77e r12df6fe 1 1 \chapter{Macro-Benchmarks}\label{macrobench} 2 The previous chapter demonstrated the \CFA scheduler achieves its equivalent performance goal in small and controlled \at-scheduling scenarios.3 The next step is to demonstrate performance stays true in more realistic and complete scenarios.4 Therefore, this chapter exercises both \at and I/O scheduling using two flavours of web servers that demonstrate \CFA performs competitively compared to web servers used in production environments.5 2 6 Web servers are chosen because they offer fairly simple applications that perform complex I/O, both network and disk, and are useful as standalone products. 7 Furthermore, web servers are generally amenable to parallelization since their workloads are mostly homogeneous. 8 Therefore, web servers offer a stringent performance benchmark for \CFA. 9 Indeed, existing web servers have close to optimal performance, while the homogeneity of the workload means fairness may not be a problem. 10 As such, these experiments should highlight the overhead due to any \CFA fairness cost in realistic scenarios. 3 \section{Static Web-Server} 4 5 In Memory Plain Text 6 7 Networked ZIPF 8 9 Nginx : 5Gb still good, 4Gb starts to suffer 10 11 Cforall : 10Gb too high, 4 Gb too low 11 12 12 13 \section{Memcached} 13 Memcached~\cite{memcached} is an in-memory key-value store used in many production environments, \eg \cite{atikoglu2012workload}.14 The Memcached server is so popular there exists a full-featured front-end for performance testing, called @mutilate@~\cite{GITHUB:mutilate}.15 Experimenting on Memcached allows for a simple test of the \CFA runtime as a whole, exercising the scheduler, the idle-sleep mechanism, as well as the \io subsystem for sockets.16 Note that this experiment does not exercise the \io subsystem with regard to disk operations because Memcached is an in-memory server.17 14 18 15 \subsection{Benchmark Environment} 19 The Memcached experiments are run on a cluster of homogeneous Supermicro SYS-6017R-TDF compute nodes with the following characteristics. 20 \begin{itemize} 21 \item 16 These experiments are run on a cluster of homogenous Supermicro SYS-6017R-TDF compute nodes with the following characteristics: 22 17 The server runs Ubuntu 20.04.3 LTS on top of Linux Kernel 5.11.0-34. 23 \item24 18 Each node has 2 Intel(R) Xeon(R) CPU E5-2620 v2 running at 2.10GHz. 25 \item 26 Each CPU has 6 cores and 2 \glspl{hthrd} per core, for a total of 24 \glspl{hthrd}. 27 \item 28 A CPU has 384 KB, 3 MB and 30 MB of L1, L2 and L3 caches, respectively. 29 \item 30 The compute nodes are connected to the network through a Mellanox 10 Gigabit Ethernet port. 31 \item 32 Network routing is performed by a Mellanox SX1012 10/40 Gigabit Ethernet switch. 33 \end{itemize} 19 These CPUs have 6 cores per CPUs and 2 \glspl{hthrd} per core, for a total of 24 \glspl{hthrd}. 20 The cpus each have 384 KB, 3 MB and 30 MB of L1, L2 and L3 caches respectively. 21 Each node is connected to the network through a Mellanox 10 Gigabit Ethernet port. 22 The network route uses 1 Mellanox SX1012 10/40 Gigabit Ethernet cluster switch. 34 23 35 \subsection{Memcached threading}\label{memcd:thrd}36 Memcached can be built to use multiple threads in addition to its @libevent@ subsystem to handle requests.37 When enabled, the threading implementation operates as follows~\cite[\S~16.2.2.8]{MemcachedThreading}:38 \begin{itemize}39 \item40 Threading is handled by wrapping functions within the code to provide basic protection from updating the same global structures at the same time.41 \item42 Each thread uses its own instance of the @libevent@ to help improve performance.43 \item44 TCP/IP connections are handled with a single thread listening on the TCP/IP socket.45 Each connection is then distributed to one of the active threads on a simple round-robin basis.46 Each connection then operates solely within this thread while the connection remains open.47 \item48 For UDP connections, all the threads listen to a single UDP socket for incoming requests.49 Threads that are not currently dealing with another request ignore the incoming packet.50 One of the remaining, non-busy, threads reads the request and sends the response.51 This implementation can lead to increased CPU \gls{load} as threads wake from sleep to potentially process the request.52 \end{itemize}53 Here, Memcached is based on an event-based web server architecture~\cite{Pai99Flash}, using \gls{kthrd}ing to run multiple largely independent event engines, and if needed, spinning up additional kernel threads to handle blocking I/O.54 Alternative web server architectures are:55 \begin{itemize}56 \item57 pipeline~\cite{Welsh01}, where the event engine is subdivided into multiple stages and the stages are connected with asynchronous buffers, where the final stage has multiple threads to handle blocking I/O.58 \item59 thread-per-connection~\cite{apache,Behren03}, where each incoming connection is served by a single \at in a strict 1-to-1 pairing, using the thread stack to hold the event state and folding the event engine implicitly into the threading runtime with its nonblocking I/O mechanism.60 \end{itemize}61 Both pipelining and thread-per-connection add flexibility to the implementation, as the serving logic can now block without halting the event engine~\cite{Harji12}.62 24 63 However, \gls{kthrd}ing in Memcached is not amenable to this work, which is based on \gls{uthrding}.64 While it is feasible to layer one user thread per kernel thread, it is not meaningful as it fails to exercise the user runtime;65 it simply adds extra scheduling overhead over the kernel threading.66 Hence, there is no direct way to compare Memcached using a kernel-level runtime with a user-level runtime.67 68 Fortunately, there exists a recent port of Memcached to \gls{uthrding} based on the libfibre~\cite{DBLP:journals/pomacs/KarstenB20} \gls{uthrding} library.69 This port did all of the heavy-lifting, making it straightforward to replace the libfibre user-threading with the \gls{uthrding} in \CFA.70 It is now possible to compare the original kernel-threading Memcached with both user-threading runtimes in libfibre and \CFA.71 72 As such, this Memcached experiment compares 3 different variations of Memcached:73 \begin{itemize}74 \item \emph{vanilla}: the official release of Memcached, version~1.6.9.75 \item \emph{fibre}: a modification of vanilla using the thread-per-connection model on top of the libfibre runtime.76 \item \emph{cfa}: a modification of the fibre web server that replaces the libfibre runtime with \CFA.77 \end{itemize}78 79 \subsection{Throughput} \label{memcd:tput}80 This experiment is done by having the clients establish 15,360 total connections, which persist for the duration of the experiment.81 The clients then send read and write queries with only 3\% writes (updates), attempting to follow a desired query rate, and the server responds to the desired rate as best as possible.82 Figure~\ref{fig:memcd:rate:qps} shows the 3 server versions at different client rates, ``Target \underline{Q}ueries \underline{P}er \underline{S}econd'', and the actual rate, ``Actual QPS'', for all three web servers.83 84 Like the experimental setup in Chapter~\ref{microbench}, each experiment is run 15 times, and for each client rate, the measured web server rate is plotted.85 The solid line represents the median while the dashed and dotted lines represent the maximum and minimum respectively.86 For rates below 500K queries per second, all three web servers match the client rate.87 Beyond 500K, the web servers cannot match the client rate.88 During this interval, vanilla Memcached achieves the highest web server throughput, with libfibre and \CFA slightly lower but very similar throughput.89 Overall the performance of all three web servers is very similar, especially considering that at 500K the servers have reached saturation, which is discussed more in the next section.90 25 91 26 \begin{figure} 92 27 \centering 93 \resizebox{0.83\linewidth}{!}{\input{result.memcd.rate.qps.pstex_t}} 94 \caption[Memcached Benchmark: Throughput]{Memcached Benchmark: Throughput\smallskip\newline Desired vs Actual query rate for 15,360 connections. Target QPS is the query rate that the clients are attempting to maintain and Actual QPS is the rate at which the server can respond.} 95 \label{fig:memcd:rate:qps} 96 %\end{figure} 97 \bigskip 98 %\begin{figure} 99 \centering 100 \resizebox{0.83\linewidth}{!}{\input{result.memcd.rate.99th.pstex_t}} 101 \caption[Memcached Benchmark: 99th Percentile Latency]{Memcached Benchmark: 99th Percentile Latency\smallskip\newline 99th Percentile of the response latency as a function of \emph{desired} query rate for 15,360 connections. } 102 \label{fig:memcd:rate:tail} 28 \input{result.memcd.updt.qps.pstex_t} 29 \caption[Churn Benchmark : Throughput on Intel]{Churn Benchmark : Throughput on Intel\smallskip\newline Description} 30 \label{fig:memcd:updt:qps} 103 31 \end{figure} 104 105 \subsection{Tail Latency}106 Another popular performance metric is \newterm{tail} latency, which indicates some notion of fairness among requests across the experiment, \ie do some requests wait longer than other requests for service?107 Since many web applications rely on a combination of different queries made in parallel, the latency of the slowest response, \ie tail latency, can dictate a performance perception.108 Figure~\ref{fig:memcd:rate:tail} shows the 99th percentile latency results for the same Memcached experiment.109 110 Again, each experiment is run 15 times with the median, maximum and minimum plotted with different lines.111 As expected, the latency starts low and increases as the server gets close to saturation, at which point, the latency increases dramatically because the web servers cannot keep up with the connection rate so client requests are disproportionally delayed.112 Because of this dramatic increase, the Y-axis is presented using a log scale.113 Note that the graph shows the \emph{target} query rate, the actual response rate is given in Figure~\ref{fig:memcd:rate:qps} as this is the same underlying experiment.114 115 For all three servers, the saturation point is reached before 500K queries per second, which is when throughput starts to decline among the web servers.116 In this experiment, all three web servers are much more distinguishable than in the throughput experiment.117 Vanilla Memcached achieves the lowest latency until 600K, after which all the web servers are struggling to respond to client requests.118 \CFA begins to decline at 600K, indicating some bottleneck after saturation.119 Overall, all three web servers achieve microsecond latencies and the increases in latency mostly follow each other.120 121 \subsection{Update rate}122 Since Memcached is effectively a simple database, the cache information can be written to concurrently by multiple queries.123 And since writes can significantly affect performance, it is interesting to see how varying the update rate affects performance.124 Figure~\ref{fig:memcd:updt} shows the results for the same experiment as the throughput and latency experiment but increasing the update percentage to 5\%, 10\% and 50\%, respectively, versus the original 3\% update percentage.125 126 \begin{figure}127 \hspace{-15pt}128 \subfloat[][\CFA: Throughput]{129 \resizebox{0.5\linewidth}{!}{130 \input{result.memcd.forall.qps.pstex_t}131 }132 \label{fig:memcd:updt:forall:qps}133 }134 \subfloat[][\CFA: Latency]{135 \resizebox{0.52\linewidth}{!}{136 \input{result.memcd.forall.lat.pstex_t}137 }138 \label{fig:memcd:updt:forall:lat}139 }140 141 \hspace{-15pt}142 \subfloat[][LibFibre: Throughput]{143 \resizebox{0.5\linewidth}{!}{144 \input{result.memcd.fibre.qps.pstex_t}145 }146 \label{fig:memcd:updt:fibre:qps}147 }148 \subfloat[][LibFibre: Latency]{149 \resizebox{0.52\linewidth}{!}{150 \input{result.memcd.fibre.lat.pstex_t}151 }152 \label{fig:memcd:updt:fibre:lat}153 }154 155 \hspace{-15pt}156 \subfloat[][Vanilla: Throughput]{157 \resizebox{0.5\linewidth}{!}{158 \input{result.memcd.vanilla.qps.pstex_t}159 }160 \label{fig:memcd:updt:vanilla:qps}161 }162 \subfloat[][Vanilla: Latency]{163 \resizebox{0.52\linewidth}{!}{164 \input{result.memcd.vanilla.lat.pstex_t}165 }166 \label{fig:memcd:updt:vanilla:lat}167 }168 \caption[Throughput and Latency results at different update rates (percentage of writes).]{Throughput and Latency results at different update rates (percentage of writes).\smallskip\newline On the left, throughput as Desired vs Actual query rate.169 Target QPS is the query rate that the clients are attempting to maintain and Actual QPS is the rate at which the server can respond.170 On the right, tail latency, \ie 99th Percentile of the response latency as a function of \emph{desired} query rate.171 For throughput, higher is better, for tail-latency, lower is better.172 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.}173 All runs have 15,360 client connections.174 \label{fig:memcd:updt}175 \end{figure}176 177 In the end, this experiment mostly demonstrates that the performance of Memcached is affected very little by the update rate.178 Indeed, since values read/written can be bigger than what can be read/written atomically, a lock must be acquired while the value is read.179 Hence, I believe the underlying locking pattern for reads and writes is fairly similar, if not the same.180 These results suggest Memcached does not attempt to optimize reads/writes using a readers-writer lock to protect each value and instead just relies on having a sufficient number of keys to limit contention.181 In the end, the update experiment shows that \CFA is achieving equivalent performance.182 183 \section{Static Web-Server}184 The Memcached experiment does not exercise two key aspects of the \io subsystem: accept\-ing new connections and interacting with disks.185 On the other hand, a web server servicing static web pages does stress both accepting connections and disk \io by accepting tens of thousands of client requests per second where these requests return static data serviced from the file-system cache or disk.\footnote{186 web servers servicing dynamic requests, which read from multiple locations and construct a response, are not as interesting since creating the response takes more time and does not exercise the runtime in a meaningfully different way.}187 The static web server experiment compares NGINX~\cite{nginx} with a custom \CFA-based web server developed for this experiment.188 189 \subsection{NGINX threading}190 NGINX is a high-performance, \emph{full-service}, event-driven web server.191 It can handle both static and dynamic web content, as well as serve as a reverse proxy and a load balancer~\cite{reese2008nginx}.192 This wealth of capabilities comes with a variety of potential configurations, dictating available features and performance.193 The NGINX server runs a master process that performs operations such as reading configuration files, binding to ports, and controlling worker processes.194 When running as a static web server, it uses an event-driven architecture to service incoming requests.195 Incoming connections are assigned a \emph{stackless} HTTP state machine and worker processes can handle thousands of these state machines.196 For the following experiment, NGINX is configured to use @epoll@ to listen for events on these state machines and have each worker process independently accept new connections.197 Because of the realities of Linux, see Subsection~\ref{ononblock}, NGINX also maintains a pool of auxiliary threads to handle blocking \io.198 The configuration can set the number of worker processes desired, as well as the size of the auxiliary pool.199 However, for the following experiments, NGINX is configured to let the master process decide the appropriate number of threads.200 201 \subsection{\CFA web server}202 The \CFA web server is a straightforward thread-per-connection web server, where a fixed number of \ats are created upfront.203 Each \at calls @accept@, through @io_uring@, on the listening port and handles the incoming connection once accepted.204 Most of the implementation is fairly straightforward;205 however, the inclusion of file \io found an @io_uring@ problem that required an unfortunate workaround.206 207 Normally, web servers use @sendfile@~\cite{MAN:sendfile} to send files over a socket because it performs a direct move in the kernel from the file-system cache to the NIC, eliminating reading/writing the file into the web server.208 While @io_uring@ does not support @sendfile@, it does support @splice@~\cite{MAN:splice}, which is strictly more powerful.209 However, because of how Linux implements file \io, see Subsection~\ref{ononblock}, @io_uring@ must delegate splice calls to worker threads \emph{inside} the kernel.210 As of Linux 5.13, @io_uring@ had no mechanism to restrict the number of worker threads, and therefore, when tens of thousands of splice requests are made, it correspondingly creates tens of thousands of internal \glspl{kthrd}.211 Such a high number of \glspl{kthrd} slows Linux significantly.212 Rather than abandon the experiment, the \CFA web server was switched to @sendfile@.213 214 Starting with \emph{blocking} @sendfile@, \CFA achieves acceptable performance until saturation is reached.215 At saturation, latency increases and client connections begin to timeout.216 As these clients close their connection, the server must close its corresponding side without delay so the OS can reclaim the resources used by these connections.217 Indeed, until the server connection is closed, the connection lingers in the CLOSE-WAIT TCP state~\cite{rfc:tcp} and the TCP buffers are preserved.218 However, this poses a problem using blocking @sendfile@ calls:219 when @sendfile@ blocks, the \proc rather than the \at blocks, preventing other connections from closing their sockets.220 The call can block if there is insufficient memory, which can be caused by having too many connections in the CLOSE-WAIT state.\footnote{221 \lstinline{sendfile} can always block even in nonblocking mode if the file to be sent is not in the file-system cache, because Linux does not provide nonblocking disk I/O.}222 This effect results in a negative feedback loop where more timeouts lead to more @sendfile@ calls running out of resources.223 224 Normally, this problem is addressed by using @select@/@epoll@ to wait for sockets to have sufficient resources.225 However, since @io_uring@ does not support @sendfile@ but does respect non\-blocking semantics, marking all sockets as non-blocking effectively circumvents the @io_uring@ subsystem entirely:226 all calls simply immediately return @EAGAIN@ and all asynchronicity is lost.227 228 Switching the entire \CFA runtime to @epoll@ for this experiment is unrealistic and does not help in the evaluation of the \CFA runtime.229 For this reason, the \CFA web server sets and resets the @O_NONBLOCK@ flag before and after any calls to @sendfile@.230 However, when the nonblocking @sendfile@ returns @EAGAIN@, the \CFA server cannot block the \at because its I/O subsystem uses @io_uring@.231 Therefore, the \at spins performing the @sendfile@, yields if the call returns @EAGAIN@ and retries in these cases.232 233 Interestingly, Linux 5.15 @io_uring@ introduces the ability to limit the number of worker threads that are created through the @IORING_REGISTER_IOWQ_MAX_WORKERS@ option.234 Presumably, this limit would prevent the explosion of \glspl{kthrd}, which justified using @sendfile@ over @io_uring@ and @splice@.235 However, recall from Section~\ref{iouring} that @io_uring@ maintains two pools of workers: bounded workers and unbounded workers.236 For a web server, the unbounded workers should handle accepts and reads on sockets, and the bounded workers should handle reading files from disk.237 This setup allows fine-grained control over the number of workers needed for each operation type and presumably leads to good performance.238 239 However, @io_uring@ must contend with another reality of Linux: the versatility of @splice@.240 Indeed, @splice@ can be used both for reading and writing to or from any type of file descriptor.241 This generality makes it ambiguous which pool @io_uring@ should delegate @splice@ calls to.242 In the case of splicing from a socket to a pipe, @splice@ behaves like an unbounded operation, but when splicing from a regular file to a pipe, @splice@ becomes a bounded operation.243 To make things more complicated, @splice@ can read from a pipe and write to a regular file.244 In this case, the read is an unbounded operation but the write is a bounded one.245 This leaves @io_uring@ in a difficult situation where it can be very difficult to delegate splice operations to the appropriate type of worker.246 Since there is little or no context available to @io_uring@, it seems to always delegate @splice@ operations to the unbounded workers.247 This decision is unfortunate for this specific experiment since it prevents the web server from limiting the number of parallel calls to @splice@ without affecting the performance of @read@ or @accept@.248 For this reason, the @sendfile@ approach described above is still the most performant solution in Linux 5.15.249 250 One possible workaround is to create more @io_uring@ instances so @splice@ operations can be issued to a different instance than the @read@ and @accept@ operations.251 However, I do not believe this solution is appropriate in general;252 it simply replaces my current web server hack with a different, equivalent hack.253 254 \subsection{Benchmark Environment}255 Unlike the Memcached experiment, the web server experiment is run on a heterogeneous environment.256 \begin{itemize}257 \item258 The server runs Ubuntu 20.04.4 LTS on top of Linux Kernel 5.13.0-52.259 \item260 The server computer has four AMD Opteron\texttrademark Processor 6380 with 16 cores running at 2.5GHz, for a total of 64 \glspl{hthrd}.261 \item262 The computer is booted with only 8 CPUs enabled, which is sufficient to achieve line rate.263 \item264 Each CPU has 64 KB, 256 KiB and 8 MB of L1, L2 and L3 caches respectively.265 \item266 The computer is booted with only 25GB of memory to restrict the file-system cache.267 \end{itemize}268 There are 8 client machines.269 \begin{itemize}270 \item271 A client runs a 2.6.11-1 SMP Linux kernel, which permits each client load generator to run on a separate CPU.272 \item273 It has two 2.8 GHz Xeon CPUs, and four one-gigabit Ethernet cards.274 \item275 Network routing is performed by an HP 2530 10 Gigabit Ethernet switch.276 \item277 A client machine runs two copies of the workload generator.278 \end{itemize}279 The clients and network are sufficiently provisioned to drive the server to saturation and beyond.280 Hence, any server effects are attributable solely to the runtime system and web server.281 Finally, without restricting the server hardware resources, it is impossible to determine if a runtime system or the web server using it has any specific design restrictions, \eg using space to reduce time.282 Trying to determine these restrictions with large numbers of processors or memory simply means running equally large experiments, which take longer and are harder to set up.283 284 \subsection{Throughput}285 To measure web server throughput, the server computer is loaded with 21,600 files, sharded across 650 directories, occupying about 2.2GB of disk, distributed over the server's RAID-5 4-drives to achieve high throughput for disk I/O.286 The clients run httperf~\cite{httperf} to request a set of static files.287 The httperf load generator is used with session files to simulate a large number of users and to implement a partially open-loop system.288 This permits httperf to produce overload conditions, generate multiple requests from persistent HTTP/1.1 connections, and include both active and inactive off periods to model browser processing times and user think times~\cite{Barford98}.289 290 The experiments are run with 16 clients, each running a copy of httperf (one copy per CPU), requiring a set of 16 log files with requests conforming to a Zipf distribution.291 This distribution is representative of users accessing static data through a web browser.292 Each request reads a file name from its trace, establishes a connection, performs an HTTP GET request for the file name, receives the file data, closes the connection, and repeats the process.293 Some trace elements have multiple file names that are read across a persistent connection.294 A client times out if the server does not complete a request within 10 seconds.295 296 An experiment consists of running a server with request rates ranging from 10,000 to 70,000 requests per second;297 each rate takes about 5 minutes to complete.298 There are 20 seconds of idle time between rates and between experiments to allow connections in the TIME-WAIT state to clear.299 Server throughput is measured both at peak and after saturation (\ie after peak).300 Peak indicates the level of client requests the server can handle and after peak indicates if a server degrades gracefully.301 Throughput is measured by aggregating the results from httperf for all the clients.302 303 This experiment can be done for two workload scenarios by reconfiguring the server with different amounts of memory: 25 GB and 2.5 GB.304 The two workloads correspond to in-memory and disk-I/O respectively.305 Due to the Zipf distribution, only a small amount of memory is needed to service a significant percentage of requests.306 Table~\ref{t:CumulativeMemory} shows the cumulative memory required to satisfy the specified percentage of requests; e.g., 95\% of the requests come from 126.5 MB of the file set and 95\% of the requests are for files less than or equal to 51,200 bytes.307 Interestingly, with 2.5 GB of memory, significant disk-I/O occurs.308 309 \begin{table}310 \caption{Cumulative memory for requests by file size}311 \label{t:CumulativeMemory}312 \begin{tabular}{r|rrrrrrrr}313 \% Requests & 10 & 30 & 50 & 70 & 80 & 90 & \textbf{95} & 100 \\314 Memory (MB) & 0.5 & 1.5 & 8.4 & 12.2 & 20.1 & 94.3 & \textbf{126.5} & 2,291.6 \\315 File Size (B) & 409 & 716 & 4,096 & 5,120 & 7,168 & 40,960 & \textbf{51,200} & 921,600316 \end{tabular}317 \end{table}318 32 319 33 \begin{figure} 320 34 \centering 321 \subfloat[][Throughput]{ 322 \resizebox{0.85\linewidth}{!}{\input{result.swbsrv.25gb.pstex_t}} 323 \label{fig:swbsrv:ops} 324 } 325 326 \subfloat[][Rate of Errors]{ 327 \resizebox{0.85\linewidth}{!}{\input{result.swbsrv.25gb.err.pstex_t}} 328 \label{fig:swbsrv:err} 329 } 330 \caption[Static web server Benchmark: Throughput]{Static web server Benchmark: Throughput\smallskip\newline Throughput vs request rate for short-lived connections.} 331 \label{fig:swbsrv} 35 \input{result.memcd.updt.lat.pstex_t} 36 \caption[Churn Benchmark : Throughput on Intel]{Churn Benchmark : Throughput on Intel\smallskip\newline Description} 37 \label{fig:memcd:updt:lat} 332 38 \end{figure} 333 39 334 Figure~\ref{fig:swbsrv} shows the results comparing \CFA to NGINX in terms of throughput. 335 These results are fairly straightforward. 336 Both servers achieve the same throughput until around 57,500 requests per second. 337 Since the clients are asking for the same files, the fact that the throughput matches exactly is expected as long as both servers are able to serve the request rate. 338 Once the saturation point is reached, both servers are still very close. 339 NGINX achieves slightly better throughput. 340 However, Figure~\ref{fig:swbsrv:err} shows the rate of errors, a gross approximation of tail latency, where \CFA achieves notably fewer errors once the servers reach saturation. 341 This suggests \CFA is slightly fairer with less throughput, while NGINX sacrifices fairness for more throughput. 342 This experiment demonstrates that the \CFA web server is able to match the performance of NGINX up to and beyond the saturation point of the machine. 40 \begin{figure} 41 \centering 42 \input{result.memcd.rate.qps.pstex_t} 43 \caption[Churn Benchmark : Throughput on Intel]{Churn Benchmark : Throughput on Intel\smallskip\newline Description} 44 \label{fig:memcd:rate:qps} 45 \end{figure} 343 46 344 \subsection{Disk Operations} 345 With 25GB of memory, the entire experimental file-set plus the web server and OS fit in memory. 346 If memory is constrained, the OS must evict files from the file cache, which causes @sendfile@ to read from disk.\footnote{ 347 For the in-memory experiments, the file-system cache was warmed by running an experiment three times before measuring started to ensure all files are in the file-system cache.} 348 web servers can behave very differently once file I/O begins and increases. 349 Hence, prior work~\cite{Harji10} suggests running both kinds of experiments to test overall web server performance. 350 351 However, after reducing memory to 2.5GB, the problem with @splice@ and @io_uring@ rears its ugly head again. 352 Indeed, in the in-memory configuration, replacing @splice@ with calls to @sendfile@ works because the bounded side basically never blocks. 353 Like @splice@, @sendfile@ is in a situation where the read side requires bounded blocking, \eg reading from a regular file, while the write side requires unbounded blocking, \eg blocking until the socket is available for writing. 354 The unbounded side can be handled by yielding when it returns @EAGAIN@, as mentioned above, but this trick does not work for the bounded side. 355 The only solution for the bounded side is to spawn more threads and let these handle the blocking. 356 357 Supporting this case in the web server would require creating more \procs or creating a dedicated thread pool. 358 However, I felt this kind of modification moves too far away from my goal of evaluating the \CFA runtime, \ie it begins writing another runtime system; 359 hence, I decided to forgo experiments on low-memory performance. 47 \begin{figure} 48 \centering 49 \input{result.memcd.rate.99th.pstex_t} 50 \caption[Churn Benchmark : Throughput on Intel]{Churn Benchmark : Throughput on Intel\smallskip\newline Description} 51 \label{fig:memcd:rate:tail} 52 \end{figure} -
doc/theses/thierry_delisle_PhD/thesis/text/eval_micro.tex
r4520b77e r12df6fe 1 1 \chapter{Micro-Benchmarks}\label{microbench} 2 2 3 The first step in evaluating this work is to test small controlled cases to ensure the basics work properly. 4 This chapter presents five different experimental setups for evaluating the basic features of the \CFA, libfibre~\cite{libfibre}, Go, and Tokio~\cite{Tokio} schedulers. 5 All of these systems have a \gls{uthrding} model. 6 The goal of this chapter is to show that the \CFA scheduler obtains equivalent performance to other, less fair, schedulers through the different experiments. 7 Note that only the code of the \CFA tests is shown; 8 all tests in the other systems are functionally identical and available online~\cite{GITHUB:SchedulingBenchmarks}. 9 10 \section{Benchmark Environment}\label{microenv} 11 3 The first step in evaluating this work is to test-out small controlled cases to ensure the basics work properly. 4 This chapter presents five different experimental setup, evaluating some of the basic features of \CFA's scheduler. 5 6 \section{Benchmark Environment} 12 7 All benchmarks are run on two distinct hardware platforms. 13 8 \begin{description} 14 9 \item[AMD] is a server with two AMD EPYC 7662 CPUs and 256GB of DDR4 RAM. 15 The EPYC CPU has 64 cores with 2 \glspl{hthrd} per core, for a total of128 \glspl{hthrd} per socket with 2 sockets for a total of 256 \glspl{hthrd}.10 The EPYC CPU has 64 cores with 2 \glspl{hthrd} per core, for 128 \glspl{hthrd} per socket with 2 sockets for a total of 256 \glspl{hthrd}. 16 11 Each CPU has 4 MB, 64 MB and 512 MB of L1, L2 and L3 caches, respectively. 17 Each L1 and L2 instance isonly shared by \glspl{hthrd} on a given core, but each L3 instance is shared by 4 cores, therefore 8 \glspl{hthrd}.12 Each L1 and L2 instance are only shared by \glspl{hthrd} on a given core, but each L3 instance is shared by 4 cores, therefore 8 \glspl{hthrd}. 18 13 The server runs Ubuntu 20.04.2 LTS on top of Linux Kernel 5.8.0-55. 19 14 … … 25 20 \end{description} 26 21 27 For all benchmarks, @taskset@ is used to limit the experiment to 1 NUMA node with no hyperthreading. 28 If more \glspl{hthrd} are needed, then 1 NUMA node with hyperthreading is used. 29 If still more \glspl{hthrd} are needed, then the experiment is limited to as few NUMA nodes as needed. 30 For the Intel machine, this means that from 1 to 24 \procs one socket and \emph{no} hyperthreading is used, and from 25 to 48 \procs still only one socket is used but \emph{with} hyperthreading. 31 This pattern is repeated between 49 and 96, between 97 and 144, and between 145 and 192. 32 On AMD, the same algorithm is used, but the machine only has 2 sockets. 33 So hyperthreading\footnote{ 34 Hyperthreading normally refers specifically to the technique used by Intel, however, it is often used generically to refer to any equivalent feature.} 35 is used when the \proc count reaches 65 and 193. 36 37 The limited sharing of the last-level cache on the AMD machine is markedly different from the Intel machine. 38 Indeed, while on both architectures L2 cache misses that are served by L3 caches on a different CPU incur a significant latency, on the AMD it is also the case that cache misses served by a different L3 instance on the same CPU also incur high latency. 39 40 \section{Experimental setup} 41 42 Each experiment is run 15 times varying the number of processors depending on the two different computers. 43 All experiments gather throughput data and secondary data for scalability or latency. 44 The data is graphed using a solid, a dashed, and a dotted line, representing the median, maximum and minimum results respectively, where the minimum/maximum lines are referred to as the \emph{extremes}.\footnote{ 45 An alternative display is to use error bars with min/max as the bottom/top for the bar. 46 However, this approach is not truly an error bar around a mean value and I felt the connected lines are easier to read.} 47 This graph presentation offers an overview of the distribution of the results for each experiment. 48 49 For each experiment, four graphs are generated showing traditional throughput on the top row and \newterm{scalability} or \newterm{latency} on the bottom row (peek ahead to Figure~\ref{fig:cycle:jax}). 50 Scalability uses the same data as throughput but the Y-axis is calculated as the number of \procs over the throughput. 51 In this representation, perfect scalability should appear as a horizontal line, \eg, if doubling the number of \procs doubles the throughput, then the relation stays the same. 52 53 The left column shows results for hundreds of \ats per \proc, enough to always keep every \proc busy. 54 The right column shows results for very few \ats per \proc, where the ready queues are expected to be near empty most of the time. 55 The distinction between many and few \ats is meaningful because the idle sleep subsystem is expected to matter only in the right column, where spurious effects can cause a \proc to run out of work temporarily. 56 57 \section{Cycle} 58 59 The most basic evaluation of any ready queue is the latency needed to push and pop one element from the ready queue. 60 Since these two operations also describe a @yield@ operation, many systems use this operation as the fundamental benchmark. 61 However, yielding can be treated as a special case by optimizing it away since the number of ready \ats does not change. 62 Hence, systems that perform this optimization have an artificial performance benefit because the yield becomes a \emph{nop}. 63 For this reason, I designed a different push/pop benchmark, called \newterm{Cycle Benchmark}. 64 This benchmark arranges several \ats into a ring, as seen in Figure~\ref{fig:cycle}, where the ring is a circular singly-linked list. 65 At runtime, each \at unparks the next \at before \glslink{atblock}{parking} itself. 66 Unparking the next \at pushes that \at onto the ready queue while the ensuing \park leads to a \at being popped from the ready queue. 67 22 For all benchmarks, @taskset@ is used to limit the experiment to 1 NUMA Node with no hyper threading. 23 If more \glspl{hthrd} are needed, then 1 NUMA Node with hyperthreading is used. 24 If still more \glspl{hthrd} are needed, then the experiment is limited to as few NUMA Nodes as needed. 25 26 The limited sharing of the last-level cache on the AMD machine is markedly different than the Intel machine. 27 Indeed, while on both architectures L2 cache misses that are served by L3 caches on a different CPU incur a significant latency, on the AMD it is also the case that cache misses served by a different L3 instance on the same CPU still incur high latency. 28 29 30 \section{Cycling latency} 68 31 \begin{figure} 69 32 \centering 70 33 \input{cycle.pstex_t} 71 \caption[Cycle benchmark]{Cycle benchmark\smallskip\newline Each \ at unparks the next \at in the cycle before \glslink{atblock}{parking}itself.}34 \caption[Cycle benchmark]{Cycle benchmark\smallskip\newline Each \gls{at} unparks the next \gls{at} in the cycle before parking itself.} 72 35 \label{fig:cycle} 73 36 \end{figure} 74 75 Therefore, the underlying runtime cannot rely on the number of ready \ats staying constant over the duration of the experiment. 76 In fact, the total number of \ats waiting on the ready queue is expected to vary because of the race between the next \at \glslink{atsched}{unparking} and the current \at \glslink{atblock}{parking}. 77 That is, the runtime cannot anticipate that the current task immediately parks. 78 As well, the size of the cycle is also decided based on this race, \eg a small cycle may see the chain of unparks go full circle before the first \at parks because of time-slicing or multiple \procs. 79 If this happens, the scheduler push and pop are avoided and the results of the experiment are skewed. 80 (Note, an \unpark is like a V on a semaphore, so the subsequent \park (P) may not block.) 81 Every runtime system must handle this race and cannot optimize away the ready-queue pushes and pops. 82 To prevent any attempt of silently omitting ready-queue operations, the ring of \ats is made big enough so the \ats have time to fully \park before being unparked again. 37 The most basic evaluation of any ready queue is to evaluate the latency needed to push and pop one element from the ready queue. 38 Since these two operation also describe a @yield@ operation, many systems use this operation as the most basic benchmark. 39 However, yielding can be treated as a special case by optimizing it away (dead code) since the number of ready \glspl{at} does not change. 40 Not all systems perform this optimization, but those that do have an artificial performance benefit because the yield becomes a \emph{nop}. 41 For this reason, I chose a different first benchmark, called \newterm{Cycle Benchmark}. 42 This benchmark arranges a number of \glspl{at} into a ring, as seen in Figure~\ref{fig:cycle}, where the ring is a circular singly-linked list. 43 At runtime, each \gls{at} unparks the next \gls{at} before parking itself. 44 Unparking the next \gls{at} pushes that \gls{at} onto the ready queue as does the ensuing park. 45 46 Hence, the underlying runtime cannot rely on the number of ready \glspl{at} staying constant over the duration of the experiment. 47 In fact, the total number of \glspl{at} waiting on the ready queue is expected to vary because of the race between the next \gls{at} unparking and the current \gls{at} parking. 48 That is, the runtime cannot anticipate that the current task will immediately park. 49 As well, the size of the cycle is also decided based on this race, \eg a small cycle may see the chain of unparks go full circle before the first \gls{at} parks because of time-slicing or multiple \procs. 50 Every runtime system must handle this race and cannot optimized away the ready-queue pushes and pops. 51 To prevent any attempt of silently omitting ready-queue operations, the ring of \glspl{at} is made big enough so the \glspl{at} have time to fully park before being unparked again. 52 (Note, an unpark is like a V on a semaphore, so the subsequent park (P) may not block.) 83 53 Finally, to further mitigate any underlying push/pop optimizations, especially on SMP machines, multiple rings are created in the experiment. 84 54 85 Figure~\ref{fig:cycle:code} shows the pseudo code for this benchmark, where each cycle has 5 \ats. 86 There is additional complexity to handle termination (not shown), which requires a binary semaphore or a channel instead of raw \park/\unpark and carefully picking the order of the @P@ and @V@ with respect to the loop condition. 55 To avoid this benchmark being affected by idle-sleep handling, the number of rings is multiple times greater than the number of \glspl{proc}. 56 This design avoids the case where one of the \glspl{proc} runs out of work because of the variation on the number of ready \glspl{at} mentioned above. 57 58 Figure~\ref{fig:cycle:code} shows the pseudo code for this benchmark. 59 There is additional complexity to handle termination (not shown), which requires a binary semaphore or a channel instead of raw @park@/@unpark@ and carefully picking the order of the @P@ and @V@ with respect to the loop condition. 87 60 88 61 \begin{figure} … … 91 64 count := 0 92 65 for { 66 @wait()@ 93 67 @this.next.wake()@ 94 @wait()@95 68 count ++ 96 69 if must_stop() { break } … … 99 72 } 100 73 \end{cfa} 101 \caption[Cycle Benchmark : Pseudo Code]{Cycle Benchmark: Pseudo Code}74 \caption[Cycle Benchmark : Pseudo Code]{Cycle Benchmark : Pseudo Code} 102 75 \label{fig:cycle:code} 103 \bigskip 104 \subfloat[][Throughput, 100 cycles per \proc]{ 76 \end{figure} 77 78 \subsection{Results} 79 Figure~\ref{fig:cycle:jax} shows the throughput as a function of \proc count, where each run uses 100 cycles per \proc and 5 \ats per cycle. 80 81 \begin{figure} 82 \subfloat[][Throughput, 100 \ats per \proc]{ 105 83 \resizebox{0.5\linewidth}{!}{ 106 84 \input{result.cycle.jax.ops.pstex_t} … … 108 86 \label{fig:cycle:jax:ops} 109 87 } 110 \subfloat[][Throughput, 1 cycleper \proc]{88 \subfloat[][Throughput, 1 \ats per \proc]{ 111 89 \resizebox{0.5\linewidth}{!}{ 112 90 \input{result.cycle.low.jax.ops.pstex_t} … … 115 93 } 116 94 117 \subfloat[][ Scalability, 100 cycles per \proc]{95 \subfloat[][Latency, 100 \ats per \proc]{ 118 96 \resizebox{0.5\linewidth}{!}{ 119 97 \input{result.cycle.jax.ns.pstex_t} 120 98 } 121 \label{fig:cycle:jax:ns} 122 } 123 \subfloat[][ Scalability, 1 cycleper \proc]{99 100 } 101 \subfloat[][Latency, 1 \ats per \proc]{ 124 102 \resizebox{0.5\linewidth}{!}{ 125 103 \input{result.cycle.low.jax.ns.pstex_t} … … 127 105 \label{fig:cycle:jax:low:ns} 128 106 } 129 \caption[Cycle Benchmark on Intel]{Cycle Benchmark on Intel\smallskip\newline Throughput and scalability as a function of \proc count, 5 \ats per cycle, and different cycle counts. 130 For throughput, higher is better, for scalability, lower is better. 131 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 107 \caption[Cycle Benchmark on Intel]{Cycle Benchmark on Intel\smallskip\newline Throughput as a function of \proc count with 100 cycles per \proc and 5 \ats per cycle.} 132 108 \label{fig:cycle:jax} 133 109 \end{figure} 134 110 135 \begin{figure} 136 \subfloat[][Throughput, 100 cycles per \proc]{ 137 \resizebox{0.5\linewidth}{!}{ 138 \input{result.cycle.nasus.ops.pstex_t} 139 } 140 \label{fig:cycle:nasus:ops} 141 } 142 \subfloat[][Throughput, 1 cycle per \proc]{ 143 \resizebox{0.5\linewidth}{!}{ 144 \input{result.cycle.low.nasus.ops.pstex_t} 145 } 146 \label{fig:cycle:nasus:low:ops} 147 } 148 149 \subfloat[][Scalability, 100 cycles per \proc]{ 150 \resizebox{0.5\linewidth}{!}{ 151 \input{result.cycle.nasus.ns.pstex_t} 152 } 153 \label{fig:cycle:nasus:ns} 154 } 155 \subfloat[][Scalability, 1 cycle per \proc]{ 156 \resizebox{0.5\linewidth}{!}{ 157 \input{result.cycle.low.nasus.ns.pstex_t} 158 } 159 \label{fig:cycle:nasus:low:ns} 160 } 161 \caption[Cycle Benchmark on AMD]{Cycle Benchmark on AMD\smallskip\newline Throughput and scalability as a function of \proc count, 5 \ats per cycle, and different cycle counts. 162 For throughput, higher is better, for scalability, lower is better. 163 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 164 \label{fig:cycle:nasus} 165 \end{figure} 166 167 \subsection{Results} 168 169 Figures~\ref{fig:cycle:jax} and \ref{fig:cycle:nasus} show the results for the cycle experiment on Intel and AMD, respectively. 170 Looking at the left column on Intel, Figures~\ref{fig:cycle:jax:ops} and \ref{fig:cycle:jax:ns} show the results for 100 cycles of 5 \ats for each \proc. 171 \CFA, Go and Tokio all obtain effectively the same throughput performance. 172 Libfibre is slightly behind in this case but still scales decently. 173 As a result of the \gls{kthrd} placement, additional \procs from 25 to 48 offer less performance improvement for all runtimes, which can be seen as a flattening of the line. 174 This effect even causes a decrease in throughput in libfibre's case. 175 As expected, this pattern repeats between \proc count 72 and 96. 176 177 Looking next at the right column on Intel, Figures~\ref{fig:cycle:jax:low:ops} and \ref{fig:cycle:jax:low:ns} show the results for 1 cycle of 5 \ats for each \proc. 178 \CFA and Tokio obtain very similar results overall, but Tokio shows more variations in the results. 179 Go achieves slightly better performance than \CFA and Tokio, but all three display significantly worst performance compared to the left column. 180 This decrease in performance is likely due to the additional overhead of the idle-sleep mechanism. 181 This can either be the result of \procs actually running out of work or simply additional overhead from tracking whether or not there is work available. 182 Indeed, unlike the left column, it is likely that the ready queue is transiently empty, which likely triggers additional synchronization steps. 183 Interestingly, libfibre achieves better performance with 1 cycle. 184 185 Looking now at the results for the AMD architecture, Figure~\ref{fig:cycle:nasus}, the results are overall similar to the Intel results, but with close to double the performance, slightly increased variation, and some differences in the details. 186 Note the maximum of the Y-axis on Intel and AMD differ significantly. 187 Looking at the left column on AMD, Figures~\ref{fig:cycle:nasus:ops} and \ref{fig:cycle:nasus:ns} all 4 runtimes achieve very similar throughput and scalability. 188 However, as the number of \procs grows higher, the results on AMD show notably more variability than on Intel. 189 The different performance improvements and plateaus are due to cache topology and appear at the expected: \proc counts of 64, 128 and 192, for the same reasons as on Intel. 190 Looking next at the right column on AMD, Figures~\ref{fig:cycle:nasus:low:ops} and \ref{fig:cycle:nasus:low:ns}, Tokio and Go have the same throughput performance, while \CFA is slightly slower. 191 This result is different than on Intel, where Tokio behaved like \CFA rather than behaving like Go. 192 Again, the same performance increase for libfibre is visible when running fewer \ats. 193 Note, I did not investigate the libfibre performance boost for 1 cycle in this experiment. 194 195 The conclusion from both architectures is that all of the compared runtimes have fairly equivalent performance for this micro-benchmark. 196 Clearly, the pathological case with 1 cycle per \proc can affect fairness algorithms managing mostly idle processors, \eg \CFA, but only at high core counts. 197 In this case, \emph{any} helping is likely to cause a cascade of \procs running out of work and attempting to steal. 198 For this experiment, the \CFA scheduler has achieved the goal of obtaining equivalent performance to other, less fair, schedulers. 111 \todo{results discussion} 199 112 200 113 \section{Yield} 201 202 For completeness, the classic yield benchmark is included. 203 Here, the throughput is dominated by the mechanism used to handle the @yield@ function. 204 Figure~\ref{fig:yield:code} shows pseudo code for this benchmark, where the cycle @wait/next.wake@ is replaced by @yield@. 114 For completion, the classic yield benchmark is included. 115 This benchmark is simpler than the cycle test: it creates many \glspl{at} that call @yield@. 205 116 As mentioned, this benchmark may not be representative because of optimization shortcuts in @yield@. 206 The only interesting variable in this benchmark is the number of \ats per \procs, where ratios close to 1 means the ready queue(s) can be empty, which again puts a strain on the idle-sleep handling. 117 The only interesting variable in this benchmark is the number of \glspl{at} per \glspl{proc}, where ratios close to 1 means the ready queue(s) can be empty. 118 This scenario can put a strain on the idle-sleep handling compared to scenarios where there is plenty of work. 119 Figure~\ref{fig:yield:code} shows pseudo code for this benchmark, where the @wait/next.wake@ is replaced by @yield@. 207 120 208 121 \begin{figure} … … 218 131 } 219 132 \end{cfa} 220 \caption[Yield Benchmark : Pseudo Code]{Yield Benchmark: Pseudo Code}133 \caption[Yield Benchmark : Pseudo Code]{Yield Benchmark : Pseudo Code} 221 134 \label{fig:yield:code} 222 %\end{figure} 223 \bigskip 224 %\begin{figure} 135 \end{figure} 136 137 \subsection{Results} 138 139 Figure~\ref{fig:yield:jax} shows the throughput as a function of \proc count, where each run uses 100 \ats per \proc. 140 141 \begin{figure} 225 142 \subfloat[][Throughput, 100 \ats per \proc]{ 226 143 \resizebox{0.5\linewidth}{!}{ … … 229 146 \label{fig:yield:jax:ops} 230 147 } 231 \subfloat[][Throughput, 1 \at per \proc]{148 \subfloat[][Throughput, 1 \ats per \proc]{ 232 149 \resizebox{0.5\linewidth}{!}{ 233 150 \input{result.yield.low.jax.ops.pstex_t} … … 236 153 } 237 154 238 \subfloat[][ Scalability, 100 \ats per \proc]{155 \subfloat[][Latency, 100 \ats per \proc]{ 239 156 \resizebox{0.5\linewidth}{!}{ 240 157 \input{result.yield.jax.ns.pstex_t} … … 242 159 \label{fig:yield:jax:ns} 243 160 } 244 \subfloat[][ Scalability, 1 \atper \proc]{161 \subfloat[][Latency, 1 \ats per \proc]{ 245 162 \resizebox{0.5\linewidth}{!}{ 246 163 \input{result.yield.low.jax.ns.pstex_t} … … 248 165 \label{fig:yield:jax:low:ns} 249 166 } 250 \caption[Yield Benchmark on Intel]{Yield Benchmark on Intel\smallskip\newline Throughput and scalability as a function of \proc count. 251 For throughput, higher is better, for scalability, lower is better. 252 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 167 \caption[Yield Benchmark on Intel]{Yield Benchmark on Intel\smallskip\newline Throughput as a function of \proc count, using 1 \ats per \proc.} 253 168 \label{fig:yield:jax} 254 169 \end{figure} 255 170 256 \subsection{Results} 257 258 Figures~\ref{fig:yield:jax} and \ref{fig:yield:nasus} show the results for the yield experiment on Intel and AMD, respectively. 259 Looking at the left column on Intel, Figures~\ref{fig:yield:jax:ops} and \ref{fig:yield:jax:ns} show the results for 100 \ats for each \proc. 260 Note that the Y-axis on this graph is twice as large as the Intel cycle graph. 261 A visual glance between the left columns of the cycle and yield graphs confirms my claim that the yield benchmark is unreliable. 262 \CFA has no special handling for @yield@, but this experiment requires less synchronization than the @cycle@ experiment. 263 Hence, the @yield@ throughput and scalability graphs have similar shapes to the corresponding @cycle@ graphs. 264 The only difference is slightly better performance for @yield@ because of less synchronization. 265 Libfibre has special handling for @yield@ using the fact that the number of ready fibres does not change, and therefore, bypassing the idle-sleep mechanism entirely. 266 Hence, libfibre behaves very differently in the cycle and yield benchmarks, with a 4 times increase in performance on the left column. 267 Go has special handling for @yield@ by putting a yielding goroutine on a secondary global ready-queue, giving it a lower priority. 268 The result is that multiple \glspl{hthrd} contend for the global queue and performance suffers drastically. 269 Hence, Go behaves very differently in the cycle and yield benchmarks, with a complete performance collapse in @yield@. 270 Tokio has a similar performance collapse after 16 processors, and therefore, its special @yield@ handling is probably related to a Go-like scheduler problem and/or a \CFA idle-sleep problem. 271 (I did not dig through the Rust code to ascertain the exact reason for the collapse.) 272 Note that since there is no communication among \ats, locality problems are much less likely than for the cycle benchmark. 273 This lack of communication is probably why the plateaus due to topology are not present. 274 275 Looking next at the right column on Intel, Figures~\ref{fig:yield:jax:low:ops} and \ref{fig:yield:jax:low:ns} show the results for 1 \at for each \proc. 276 As for @cycle@, \CFA's cost of idle sleep comes into play in a very significant way in Figure~\ref{fig:yield:jax:low:ns}, where the scaling is not flat. 277 This result is to be expected since fewer \ats mean \procs are more likely to run out of work. 278 On the other hand, when only running 1 \at per \proc, libfibre optimizes further and forgoes the context switch entirely. 279 This results in libfibre outperforming other runtimes, even more, achieving 8 times more throughput than for @cycle@. 280 Finally, Go and Tokio's performance collapse is still the same with fewer \ats. 281 The only exception is Tokio running on 24 \procs, deepening the mystery of its yielding mechanism further. 282 283 \begin{figure} 284 \subfloat[][Throughput, 100 \ats per \proc]{ 285 \resizebox{0.5\linewidth}{!}{ 286 \input{result.yield.nasus.ops.pstex_t} 287 } 288 \label{fig:yield:nasus:ops} 289 } 290 \subfloat[][Throughput, 1 \at per \proc]{ 291 \resizebox{0.5\linewidth}{!}{ 292 \input{result.yield.low.nasus.ops.pstex_t} 293 } 294 \label{fig:yield:nasus:low:ops} 295 } 296 297 \subfloat[][Scalability, 100 \ats per \proc]{ 298 \resizebox{0.5\linewidth}{!}{ 299 \input{result.yield.nasus.ns.pstex_t} 300 } 301 \label{fig:yield:nasus:ns} 302 } 303 \subfloat[][Scalability, 1 \at per \proc]{ 304 \resizebox{0.5\linewidth}{!}{ 305 \input{result.yield.low.nasus.ns.pstex_t} 306 } 307 \label{fig:yield:nasus:low:ns} 308 } 309 \caption[Yield Benchmark on AMD]{Yield Benchmark on AMD\smallskip\newline Throughput and scalability as a function of \proc count. 310 For throughput, higher is better, for scalability, lower is better. 311 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 312 \label{fig:yield:nasus} 313 \end{figure} 314 315 Looking now at the results for the AMD architecture, Figure~\ref{fig:yield:nasus}, the results again show a story that is overall similar to the results on the Intel, with increased variation and some differences in the details. 316 Note that the maximum of the Y-axis on Intel and AMD differ less in @yield@ than @cycle@. 317 Looking at the left column first, Figures~\ref{fig:yield:nasus:ops} and \ref{fig:yield:nasus:ns}, \CFA achieves very similar throughput and scaling. 318 Libfibre still outpaces all other runtimes, but it encounters a performance hit at 64 \procs. 319 This anomaly suggests some amount of communication between the \procs that the Intel machine is able to mask where the AMD is not once hyperthreading is needed. 320 Go and Tokio still display the same performance collapse as on Intel. 321 Looking next at the right column on AMD, Figures~\ref{fig:yield:nasus:low:ops} and \ref{fig:yield:nasus:low:ns}, all runtime systems effectively behave the same as they did on the Intel machine. 322 At the high \ats count, the only difference is Libfibre's scaling and this difference disappears on the right column. 323 This behaviour suggests whatever communication issue it encountered on the left is completely circumvented on the right. 324 325 It is difficult to draw conclusions for this benchmark when runtime systems treat @yield@ so differently. 326 The win for \CFA is its consistency between the cycle and yield benchmarks making it simpler for programmers to use and understand, \ie the \CFA semantics match with programmer intuition. 327 171 \todo{results discussion} 328 172 329 173 \section{Churn} 330 331 The Cycle and Yield benchmarks represent an \emph{easy} scenario for a scheduler, \eg an embarrassingly parallel application. 332 In these benchmarks \ats can be easily partitioned over the different \procs upfront and none of the \ats communicate with each other. 333 334 The Churn benchmark represents more chaotic executions, where there is more communication among \ats but no relationship between the last \proc on which a \at ran and blocked, and the \proc that subsequently unblocks it. 335 With processor-specific ready-queues, when a \at is unblocked by a different \proc that means the unblocking \proc must either ``steal'' the \at from another processor or find it on a remote queue. 336 This dequeuing results in either contention on the remote queue and/or \glspl{rmr} on the \at data structure. 337 Hence, this benchmark has performance dominated by the cache traffic as \procs are constantly accessing each other's data. 338 In either case, this benchmark aims to measure how well a scheduler handles these cases since both cases can lead to performance degradation if not handled correctly. 174 The Cycle and Yield benchmark represent an \emph{easy} scenario for a scheduler, \eg an embarrassingly parallel application. 175 In these benchmarks, \glspl{at} can be easily partitioned over the different \glspl{proc} upfront and none of the \glspl{at} communicate with each other. 176 177 The Churn benchmark represents more chaotic execution, where there is no relation between the last \gls{proc} on which a \gls{at} ran and blocked and the \gls{proc} that subsequently unblocks it. 178 With processor-specific ready-queues, when a \gls{at} is unblocked by a different \gls{proc} that means the unblocking \gls{proc} must either ``steal'' the \gls{at} from another processor or find it on a global queue. 179 This dequeuing results in either contention on the remote queue and/or \glspl{rmr} on \gls{at} data structure. 180 In either case, this benchmark aims to highlight how each scheduler handles these cases, since both cases can lead to performance degradation if not handled correctly. 339 181 340 182 This benchmark uses a fixed-size array of counting semaphores. 341 Each \at picks a random semaphore, @V@s it to unblock any waiting \at, and then @P@s (maybe blocks) the \at on the semaphore. 342 This creates a flow where \ats push each other out of the semaphores before being pushed out themselves. 343 For this benchmark to work, the number of \ats must be equal to or greater than the number of semaphores plus the number of \procs; 344 \eg if there are 10 semaphores and 5 \procs, but only 3 \ats, all 3 \ats can block (P) on a random semaphore and now there are no \ats to unblock (V) them. 345 Note that the nature of these semaphores means the counter can go beyond 1, which can lead to nonblocking calls to @P@. 183 Each \gls{at} picks a random semaphore, @V@s it to unblock any \at waiting, and then @P@s on the semaphore. 184 This creates a flow where \glspl{at} push each other out of the semaphores before being pushed out themselves. 185 For this benchmark to work, the number of \glspl{at} must be equal or greater than the number of semaphores plus the number of \glspl{proc}. 186 Note, the nature of these semaphores mean the counter can go beyond 1, which can lead to nonblocking calls to @P@. 346 187 Figure~\ref{fig:churn:code} shows pseudo code for this benchmark, where the @yield@ is replaced by @V@ and @P@. 347 188 … … 360 201 } 361 202 \end{cfa} 362 \caption[Churn Benchmark : Pseudo Code]{Churn Benchmark: Pseudo Code}203 \caption[Churn Benchmark : Pseudo Code]{Churn Benchmark : Pseudo Code} 363 204 \label{fig:churn:code} 364 %\end{figure} 365 \bigskip 366 %\begin{figure} 205 \end{figure} 206 207 \subsection{Results} 208 Figure~\ref{fig:churn:jax} shows the throughput as a function of \proc count, where each run uses 100 cycles per \proc and 5 \ats per cycle. 209 210 \begin{figure} 367 211 \subfloat[][Throughput, 100 \ats per \proc]{ 368 212 \resizebox{0.5\linewidth}{!}{ … … 371 215 \label{fig:churn:jax:ops} 372 216 } 373 \subfloat[][Throughput, 2\ats per \proc]{217 \subfloat[][Throughput, 1 \ats per \proc]{ 374 218 \resizebox{0.5\linewidth}{!}{ 375 219 \input{result.churn.low.jax.ops.pstex_t} … … 378 222 } 379 223 380 \subfloat[][ Scalability, 100 \ats per \proc]{224 \subfloat[][Latency, 100 \ats per \proc]{ 381 225 \resizebox{0.5\linewidth}{!}{ 382 226 \input{result.churn.jax.ns.pstex_t} 383 227 } 384 \label{fig:churn:jax:ns} 385 } 386 \subfloat[][ Scalability, 2\ats per \proc]{228 229 } 230 \subfloat[][Latency, 1 \ats per \proc]{ 387 231 \resizebox{0.5\linewidth}{!}{ 388 232 \input{result.churn.low.jax.ns.pstex_t} … … 390 234 \label{fig:churn:jax:low:ns} 391 235 } 392 \caption[Churn Benchmark on Intel]{Churn Benchmark on Intel\smallskip\newline Throughput and scalability as a function of \proc count. 393 For throughput, higher is better, for scalability, lower is better. 394 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 236 \caption[Churn Benchmark on Intel]{\centering Churn Benchmark on Intel\smallskip\newline Throughput and latency of the Churn on the benchmark on the Intel machine. 237 Throughput is the total operation per second across all cores. Latency is the duration of each operation.} 395 238 \label{fig:churn:jax} 396 239 \end{figure} 397 240 398 \subsection{Results} 399 400 Figures~\ref{fig:churn:jax} and Figure~\ref{fig:churn:nasus} show the results for the churn experiment on Intel and AMD, respectively. 401 Looking at the left column on Intel, Figures~\ref{fig:churn:jax:ops} and \ref{fig:churn:jax:ns} show the results for 100 \ats for each \proc, and all runtimes obtain fairly similar throughput for most \proc counts. 402 \CFA does very well on a single \proc but quickly loses its advantage over the other runtimes. 403 As expected, it scales decently up to 48 \procs, drops from 48 to 72 \procs, and then plateaus. 404 Tokio achieves very similar performance to \CFA, with the starting boost, scaling decently until 48 \procs, drops from 48 to 72 \procs, and starts increasing again to 192 \procs. 405 Libfibre obtains effectively the same results as Tokio with slightly less scaling, \ie the scaling curve is the same but with slightly lower values. 406 Finally, Go gets the most peculiar results, scaling worst than other runtimes until 48 \procs. 407 At 72 \procs, the results of the Go runtime vary significantly, sometimes scaling sometimes plateauing. 408 However, beyond this point Go keeps this level of variation but does not scale further in any of the runs. 409 410 Throughput and scalability are notably worst for all runtimes than the previous benchmarks since there is inherently more communication between processors. 411 Indeed, none of the runtimes reach 40 million operations per second while in the cycle benchmark all but libfibre reached 400 million operations per second. 412 Figures~\ref{fig:churn:jax:ns} and \ref{fig:churn:jax:low:ns} show that for all \proc counts, all runtimes produce poor scaling. 413 However, once the number of \glspl{hthrd} goes beyond a single socket, at 48 \procs, scaling goes from bad to worst and performance completely ceases to improve. 414 At this point, the benchmark is dominated by inter-socket communication costs for all runtimes. 415 416 An interesting aspect to note here is that the runtimes differ in how they handle this situation. 417 Indeed, when a \proc unparks a \at that was last run on a different \proc, the \at could be appended to the ready queue of the local \proc or to the ready queue of the remote \proc, which previously ran the \at. 418 \CFA, Tokio and Go all use the approach of \glslink{atsched}{unparking} to the local \proc, while Libfibre unparks to the remote \proc. 419 In this particular benchmark, the inherent chaos of the benchmark, in addition to the small memory footprint, means neither approach wins over the other. 420 421 Looking next at the right column on Intel, Figures~\ref{fig:churn:jax:low:ops} and \ref{fig:churn:jax:low:ns} show the results for 1 \at for each \proc, and many of the differences between the runtimes disappear. 422 \CFA outperforms other runtimes by a minuscule margin. 423 Libfibre follows very closely behind with basically the same performance and scaling. 424 Tokio maintains effectively the same curve shapes as \CFA and libfibre, but it incurs extra costs for all \proc counts. 425 While Go maintains overall similar results to the others, it again encounters significant variation at high \proc counts. 426 Inexplicably resulting in super-linear scaling for some runs, \ie the scalability curves display a negative slope. 427 428 Interestingly, unlike the cycle benchmark, running with fewer \ats does not produce drastically different results. 429 In fact, the overall throughput stays almost exactly the same on the left and right columns. 430 431 \begin{figure} 432 \subfloat[][Throughput, 100 \ats per \proc]{ 433 \resizebox{0.5\linewidth}{!}{ 434 \input{result.churn.nasus.ops.pstex_t} 435 } 436 \label{fig:churn:nasus:ops} 437 } 438 \subfloat[][Throughput, 2 \ats per \proc]{ 439 \resizebox{0.5\linewidth}{!}{ 440 \input{result.churn.low.nasus.ops.pstex_t} 441 } 442 \label{fig:churn:nasus:low:ops} 443 } 444 445 \subfloat[][Scalability, 100 \ats per \proc]{ 446 \resizebox{0.5\linewidth}{!}{ 447 \input{result.churn.nasus.ns.pstex_t} 448 } 449 \label{fig:churn:nasus:ns} 450 } 451 \subfloat[][Scalability, 2 \ats per \proc]{ 452 \resizebox{0.5\linewidth}{!}{ 453 \input{result.churn.low.nasus.ns.pstex_t} 454 } 455 \label{fig:churn:nasus:low:ns} 456 } 457 \caption[Churn Benchmark on AMD]{Churn Benchmark on AMD\smallskip\newline Throughput and scalability as a function of \proc count. 458 For throughput, higher is better, for scalability, lower is better. 459 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 460 \label{fig:churn:nasus} 461 \end{figure} 462 463 464 Looking now at the results for the AMD architecture, Figure~\ref{fig:churn:nasus}, the results show a somewhat different story. 465 Looking at the left column first, Figures~\ref{fig:churn:nasus:ops} and \ref{fig:churn:nasus:ns}, \CFA, Libfibre and Tokio all produce decent scalability. 466 \CFA suffers particularly from larger variations at higher \proc counts, but largely outperforms the other runtimes. 467 Go still produces intriguing results in this case and even more intriguingly, the results have fairly low variation. 468 469 One possible explanation for Go's difference is that it has very few available concurrent primitives, so a channel is substituted for a semaphore. 470 On paper, a semaphore can be replaced by a channel, and with zero-sized objects passed through the channel, equivalent performance could be expected. 471 However, in practice, there are implementation differences between the two, \eg if the semaphore count can get somewhat high so objects accumulate in the channel. 472 Note that this substitution is also made in the cycle benchmark; 473 however, in that context, it did not have a notable impact. 474 475 A second possible explanation is that Go may use the heap when allocating variables based on the result of the escape analysis of the code. 476 It is possible for variables that could be placed on the stack to instead be placed on the heap. 477 This placement could cause extra pointer chasing in the benchmark, heightening locality effects. 478 Depending on how the heap is structured, this could also lead to false sharing. 479 I did not investigate what causes these unusual results. 480 481 Looking next at the right column, Figures~\ref{fig:churn:nasus:low:ops} and \ref{fig:churn:nasus:low:ns}, as for Intel, all runtimes obtain overall similar throughput between the left and right column. 482 \CFA, Libfibre and Tokio all have very close results. 483 Go still suffers from poor scalability but is now unusual in a different way. 484 While it obtains effectively constant performance regardless of \proc count, this ``sequential'' performance is higher than the other runtimes for low \proc count. 485 Up to 32 \procs, after which the other runtimes manage to outscale Go. 486 487 In conclusion, the objective of this benchmark is to demonstrate that \glslink{atsched}{unparking} \ats from remote \procs does not cause too much contention on the local queues. 488 Indeed, the fact that most runtimes achieve some scaling between various \proc counts demonstrates migrations do not need to be serialized. 489 Again these results demonstrate that \CFA achieves satisfactory performance compared to the other runtimes. 241 \todo{results discussion} 490 242 491 243 \section{Locality} 492 244 493 As mentioned in the churn benchmark, when \glslink{atsched}{unparking} a \at, it is possible to either \unpark to the local or remote ready-queue.\footnote{ 494 It is also possible to \unpark to a third unrelated ready-queue, but without additional knowledge about the situation, it is likely to degrade performance.} 495 The locality experiment includes two variations of the churn benchmark, where a data array is added. 496 In both variations, before @V@ing the semaphore, each \at calls a @work@ function which increments random cells inside the data array. 497 In the noshare variation, the array is not passed on and each thread continuously accesses its private array. 498 In the share variation, the array is passed to another thread via the semaphore's shadow queue (each blocking thread can save a word of user data in its blocking node), transferring ownership of the array to the woken thread. 499 Figure~\ref{fig:locality:code} shows the pseudo code for this benchmark. 500 501 The objective here is to highlight the different decisions made by the runtime when \glslink{atsched}{unparking}. 502 Since each thread unparks a random semaphore, it means that it is unlikely that a \at is unparked from the last \proc it ran on. 503 In the noshare variation, \glslink{atsched}{unparking} the \at on the local \proc is an appropriate choice since the data was last modified on that \proc. 504 In the shared variation, \glslink{atsched}{unparking} the \at on a remote \proc is an appropriate choice. 505 506 The expectation for this benchmark is to see a performance inversion, where runtimes fare notably better in the variation which matches their \glslink{atsched}{unparking} policy. 507 This decision should lead to \CFA, Go and Tokio achieving better performance in the share variation while libfibre achieves better performance in noshare. 508 Indeed, \CFA, Go and Tokio have the default policy of \glslink{atsched}{unparking} \ats on the local \proc, whereas libfibre has the default policy of \glslink{atsched}{unparking} \ats wherever they last ran. 509 510 \begin{figure} 511 \newsavebox{\myboxA} 512 \newsavebox{\myboxB} 513 514 \begin{lrbox}{\myboxA} 515 \begin{cfa}[tabsize=3] 516 Thread.main() { 517 count := 0 518 for { 519 r := random() % len(spots) 520 // go through the array 521 @work( a )@ 522 523 spots[r].V() 524 spots[r].P() 525 count ++ 526 if must_stop() { break } 527 } 528 global.count += count 529 } 530 \end{cfa} 531 \end{lrbox} 532 533 \begin{lrbox}{\myboxB} 534 \begin{cfa}[tabsize=3] 535 Thread.main() { 536 count := 0 537 for { 538 r := random() % len(spots) 539 // go through the array 540 @work( a )@ 541 // pass array to next thread 542 spots[r].V( @a@ ) 543 @a = @spots[r].P() 544 count ++ 545 if must_stop() { break } 546 } 547 global.count += count 548 } 549 \end{cfa} 550 \end{lrbox} 551 552 \subfloat[Noshare]{\label{fig:locality:code:T1}\usebox\myboxA} 553 \hspace{3pt} 554 \vrule 555 \hspace{3pt} 556 \subfloat[Share]{\label{fig:locality:code:T2}\usebox\myboxB} 557 558 \caption[Locality Benchmark: Pseudo Code]{Locality Benchmark: Pseudo Code} 559 \label{fig:locality:code} 560 \end{figure} 561 562 \subsection{Results} 563 564 Figures~\ref{fig:locality:jax} and \ref{fig:locality:nasus} show the results for the locality experiment on Intel and AMD, respectively. 565 In both cases, the graphs on the left column show the results for the share variation and the graphs on the right column show the results for the noshare. 566 Looking at the left column on Intel, Figures~\ref{fig:locality:jax:share:ops} and \ref{fig:locality:jax:share:ns} show the results for the share variation. 567 \CFA and Tokio slightly outperform libfibre, as expected, based on their \ats placement approach. 568 \CFA and Tokio both \unpark locally and do not suffer cache misses on the transferred array. 569 Libfibre, on the other hand, unparks remotely, and as such the unparked \at is likely to miss on the shared data. 570 Go trails behind in this experiment, presumably for the same reasons that were observable in the churn benchmark. 571 Otherwise, the results are similar to the churn benchmark, with lower throughput due to the array processing. 572 As for most previous results, all runtimes suffer a performance hit after 48 \procs, which is the socket boundary, and climb again from 96 to 192 \procs. 573 574 \begin{figure} 575 \subfloat[][Throughput share]{ 576 \resizebox{0.5\linewidth}{!}{ 577 \input{result.locality.share.jax.ops.pstex_t} 578 } 579 \label{fig:locality:jax:share:ops} 580 } 581 \subfloat[][Throughput noshare]{ 582 \resizebox{0.5\linewidth}{!}{ 583 \input{result.locality.noshare.jax.ops.pstex_t} 584 } 585 \label{fig:locality:jax:noshare:ops} 586 } 587 588 \subfloat[][Scalability share]{ 589 \resizebox{0.5\linewidth}{!}{ 590 \input{result.locality.share.jax.ns.pstex_t} 591 } 592 \label{fig:locality:jax:share:ns} 593 } 594 \subfloat[][Scalability noshare]{ 595 \resizebox{0.5\linewidth}{!}{ 596 \input{result.locality.noshare.jax.ns.pstex_t} 597 } 598 \label{fig:locality:jax:noshare:ns} 599 } 600 \caption[Locality Benchmark on Intel]{Locality Benchmark on Intel\smallskip\newline Throughput and scalability as a function of \proc count. 601 For throughput, higher is better, for scalability, lower is better. 602 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 603 \label{fig:locality:jax} 604 \end{figure} 605 606 \begin{figure} 607 \subfloat[][Throughput share]{ 608 \resizebox{0.5\linewidth}{!}{ 609 \input{result.locality.share.nasus.ops.pstex_t} 610 } 611 \label{fig:locality:nasus:share:ops} 612 } 613 \subfloat[][Throughput noshare]{ 614 \resizebox{0.5\linewidth}{!}{ 615 \input{result.locality.noshare.nasus.ops.pstex_t} 616 } 617 \label{fig:locality:nasus:noshare:ops} 618 } 619 620 \subfloat[][Scalability share]{ 621 \resizebox{0.5\linewidth}{!}{ 622 \input{result.locality.share.nasus.ns.pstex_t} 623 } 624 \label{fig:locality:nasus:share:ns} 625 } 626 \subfloat[][Scalability noshare]{ 627 \resizebox{0.5\linewidth}{!}{ 628 \input{result.locality.noshare.nasus.ns.pstex_t} 629 } 630 \label{fig:locality:nasus:noshare:ns} 631 } 632 \caption[Locality Benchmark on AMD]{Locality Benchmark on AMD\smallskip\newline Throughput and scalability as a function of \proc count. 633 For throughput, higher is better, for scalability, lower is better. 634 Each series represent 15 independent runs, the dashed lines are the maximums of each series while the solid lines are the median and the dotted lines are the minimums.} 635 \label{fig:locality:nasus} 636 \end{figure} 637 638 Looking at the right column on Intel, Figures~\ref{fig:locality:jax:noshare:ops} and \ref{fig:locality:jax:noshare:ns} show the results for the noshare variation. 639 The graphs show the expected performance inversion where libfibre now outperforms \CFA and Tokio. 640 Indeed, in this case, unparking remotely means the unparked \at is less likely to suffer a cache miss on the array, which leaves the \at data structure and the remote queue as the only source of likely cache misses. 641 Results show both are amortized fairly well in this case. 642 \CFA and Tokio both \unpark locally and as a result, suffer a marginal performance degradation from the cache miss on the array. 643 644 Looking at the results for the AMD architecture, Figure~\ref{fig:locality:nasus}, shows results similar to the Intel. 645 Again the overall performance is higher and slightly more variation is visible. 646 Looking at the left column first, Figures~\ref{fig:locality:nasus:share:ops} and \ref{fig:locality:nasus:share:ns}, \CFA and Tokio still outperform libfibre, this time more significantly. 647 This advantage is expected from the AMD server with its smaller and narrower caches that magnify the costs of processing the array. 648 Go still has the same poor performance as on Intel. 649 650 Finally looking at the right column, Figures~\ref{fig:locality:nasus:noshare:ops} and \ref{fig:locality:nasus:noshare:ns}, like on Intel, the same performance inversion is present between libfibre and \CFA/Tokio. 651 Go still has the same poor performance. 652 653 Overall, this benchmark mostly demonstrates the two options available when \glslink{atsched}{unparking} a \at. 654 Depending on the workload, either of these options can be the appropriate one. 655 Since it is prohibitively difficult to dynamically detect which approach is appropriate, all runtimes much choose one of the two and live with the consequences. 656 657 Once again, these experiments demonstrate that \CFA achieves equivalent performance to the other runtimes, in this case matching the faster Tokio rather than Go, which is trailing behind. 245 \todo{code, setup, results} 658 246 659 247 \section{Transfer} 660 248 The last benchmark is more of an experiment than a benchmark. 661 249 It tests the behaviour of the schedulers for a misbehaved workload. 662 In this workload, one \atis selected at random to be the leader.663 The leader then spins in a tight loop until it has observed that all other \ atshave acknowledged its leadership.664 The leader \ at then picks a new \at to be the next leaderand the cycle repeats.665 The benchmark comes in two variations for the non-leader \ats:250 In this workload, one of the \gls{at} is selected at random to be the leader. 251 The leader then spins in a tight loop until it has observed that all other \glspl{at} have acknowledged its leadership. 252 The leader \gls{at} then picks a new \gls{at} to be the ``spinner'' and the cycle repeats. 253 The benchmark comes in two flavours for the non-leader \glspl{at}: 666 254 once they acknowledged the leader, they either block on a semaphore or spin yielding. 667 Figure~\ref{fig:transfer:code} shows pseudo code for this benchmark. 255 256 The experiment is designed to evaluate the short-term load-balancing of a scheduler. 257 Indeed, schedulers where the runnable \glspl{at} are partitioned on the \glspl{proc} may need to balance the \glspl{at} for this experiment to terminate. 258 This problem occurs because the spinning \gls{at} is effectively preventing the \gls{proc} from running any other \glspl{thrd}. 259 In the semaphore flavour, the number of runnable \glspl{at} eventually dwindles down to only the leader. 260 This scenario is a simpler case to handle for schedulers since \glspl{proc} eventually run out of work. 261 In the yielding flavour, the number of runnable \glspl{at} stays constant. 262 This scenario is a harder case to handle because corrective measures must be taken even when work is available. 263 Note, runtime systems with preemption circumvent this problem by forcing the spinner to yield. 264 265 \todo{code, setup, results} 668 266 669 267 \begin{figure} … … 675 273 return 676 274 } 275 677 276 // Wait for everyone to acknowledge my leadership 678 277 start: = timeNow() … … 683 282 } 684 283 } 284 685 285 // pick next leader 686 286 leader := threads[ prng() % len(threads) ] 687 // wake everyone 287 288 // wake every one 688 289 if ! exhaust { 689 290 for t in threads { … … 692 293 } 693 294 } 295 694 296 Thread.wait() { 695 297 this.idx_seen := lead_idx … … 697 299 else { yield() } 698 300 } 301 699 302 Thread.main() { 700 303 while !done { … … 704 307 } 705 308 \end{cfa} 706 \caption[Transfer Benchmark : Pseudo Code]{Transfer Benchmark: Pseudo Code}309 \caption[Transfer Benchmark : Pseudo Code]{Transfer Benchmark : Pseudo Code} 707 310 \label{fig:transfer:code} 708 311 \end{figure} 709 312 710 The experiment is designed to evaluate the short-term load balancing of a scheduler.711 Indeed, schedulers where the runnable \ats are partitioned on the \procs may need to balance the \ats for this experiment to terminate.712 This problem occurs because the spinning \at is effectively preventing the \proc from running any other \at.713 In the semaphore variation, the number of runnable \ats eventually dwindles to only the leader.714 This scenario is a simpler case to handle for schedulers since \procs eventually run out of work.715 In the yielding variation, the number of runnable \ats stays constant.716 This scenario is a harder case to handle because corrective measures must be taken even when work is available.717 Note that runtimes with preemption circumvent this problem by forcing the spinner to yield.718 In \CFA preemption was disabled as it only obfuscates the results.719 I am not aware of a method to disable preemption in Go.720 721 In both variations, the experiment effectively measures how long it takes for all \ats to run once after a given synchronization point.722 In an ideal scenario where the scheduler is strictly FIFO, every thread would run once after the synchronization and therefore the delay between leaders would be given by, $(CSL + SL) / (NP - 1)$,723 where $CSL$ is the context-switch latency, $SL$ is the cost for enqueueing and dequeuing a \at, and $NP$ is the number of \procs.724 However, if the scheduler allows \ats to run many times before other \ats can run once, this delay increases.725 The semaphore version is an approximation of strictly FIFO scheduling, where none of the \ats \emph{attempt} to run more than once.726 The benchmark effectively provides the fairness guarantee in this case.727 In the yielding version, however, the benchmark provides no such guarantee, which means the scheduler has full responsibility and any unfairness is measurable.728 729 While this is an artificial scenario, in real life it requires only a few simple pieces.730 The yielding version simply creates a scenario where a \at runs uninterrupted in a saturated system and the starvation has an easily measured impact.731 Hence, \emph{any} \at that runs uninterrupted for a significant time in a saturated system could lead to this kind of starvation.732 733 313 \subsection{Results} 734 735 \begin{table} 736 \caption[Transfer Benchmark on Intel and AMD]{Transfer Benchmark on Intel and AMD\smallskip\newline Average measurement of how long it takes for all \ats to acknowledge the leader \at. 737 DNC stands for ``did not complete'', meaning that after 5 seconds of a new leader being decided, some \ats still had not acknowledged the new leader.} 738 \label{fig:transfer:res} 739 \setlength{\extrarowheight}{2pt} 740 \setlength{\tabcolsep}{5pt} 741 \begin{centering} 742 \begin{tabular}{r | c | c | c | c | c | c | c | c} 743 Machine & \multicolumn{4}{c |}{Intel} & \multicolumn{4}{c}{AMD} \\ 744 \cline{2-9} 745 Variation & \multicolumn{2}{c|}{Park} & \multicolumn{2}{c |}{Yield} & \multicolumn{2}{c|}{Park} & \multicolumn{2}{c}{Yield} \\ 746 \cline{2-9} 747 \procs & 2 & 192 & 2 & 192 & 2 & 256 & 2 & 256 \\ 748 \hline 749 \CFA & 106 $\mu$s & ~19.9 ms & 68.4 $\mu$s & ~1.2 ms & 174 $\mu$s & ~28.4 ms & 78.8~~$\mu$s& ~~1.21 ms \\ 750 libfibre & 127 $\mu$s & ~33.5 ms & DNC & DNC & 156 $\mu$s & ~36.7 ms & DNC & DNC \\ 751 Go & 106 $\mu$s & ~64.0 ms & 24.6 ms & 74.3 ms & 271 $\mu$s & 121.6 ms & ~~1.21~ms & 117.4 ms \\ 752 Tokio & 289 $\mu$s & 180.6 ms & DNC & DNC & 157 $\mu$s & 111.0 ms & DNC & DNC 753 \end{tabular} 754 \end{centering} 755 \end{table} 756 757 Table~\ref{fig:transfer:res} shows the result for the transfer benchmark with 2 \procs and all \procs on the computer, where each experiment runs 100 \ats per \proc. 758 Note that the results here are only meaningful as a coarse measurement of fairness, beyond which small cost differences in the runtime and concurrent primitives begin to matter. 759 As such, data points within the same order of magnitude are considered equal. 760 That is, the takeaway of this experiment is the presence of very large differences. 761 The semaphore variation is denoted ``Park'', where the number of \ats dwindles as the new leader is acknowledged. 762 The yielding variation is denoted ``Yield''. 763 The experiment is only run for a few and many \procs since scaling is not the focus of this experiment. 764 765 The first two columns show the results for the semaphore variation on Intel. 766 While there are some differences in latencies, \CFA is consistently the fastest and Tokio the slowest, all runtimes achieve fairly close results. 767 Again, this experiment is meant to highlight major differences so latencies within $10\times$ of each other are considered equal. 768 769 Looking at the next two columns, the results for the yield variation on Intel, the story is very different. 770 \CFA achieves better latencies, presumably due to no synchronization with the yield. 771 Go does complete the experiment, but with drastically higher latency: 772 latency at 2 \procs is $350\times$ higher than \CFA and $70\times$ higher at 192 \procs. 773 This difference is because Go has a classic work-stealing scheduler, but it adds coarse-grain preemption 774 , which interrupts the spinning leader after a period. 775 Neither Libfibre nor Tokio complete the experiment. 776 Both runtimes also use classical work-stealing scheduling without preemption, and therefore, none of the work queues are ever emptied so no load balancing occurs. 777 778 Looking now at the results for the AMD architecture, the results show effectively the same story. 779 The first two columns show all runtime obtaining results well within $10\times$ of each other. 780 The next two columns again show \CFA producing low latencies, while Go still has notably higher latency but the difference is less drastic on 2 \procs, where it produces a $15\times$ difference as opposed to a $100\times$ difference on 256 \procs. 781 Neither Libfibre nor Tokio complete the experiment. 782 783 This experiment clearly demonstrates that \CFA achieves significantly better fairness. 784 The semaphore variation serves as a control, where all runtimes are expected to transfer leadership fairly quickly. 785 Since \ats block after acknowledging the leader, this experiment effectively measures how quickly \procs can steal \ats from the \proc running the leader. 786 Table~\ref{fig:transfer:res} shows that while Go and Tokio are slower using the semaphore, all runtimes achieve decent latency. 787 788 However, the yielding variation shows an entirely different picture. 789 Since libfibre and Tokio have a traditional work-stealing scheduler, \procs that have \ats on their local queues never steal from other \procs. 790 The result is that the experiment simply does not complete for these runtimes. 791 Without \procs stealing from the \proc running the leader, the experiment cannot terminate. 792 Go manages to complete the experiment because it adds preemption on top of classic work-stealing. 793 However, since preemption is fairly infrequent, it achieves significantly worst performance. 794 In contrast, \CFA achieves equivalent performance in both variations, demonstrating very good fairness. 795 Interestingly \CFA achieves better delays in the yielding version than the semaphore version, however, that is likely due to fairness being equivalent but removing the cost of the semaphores and idle sleep. 314 Figure~\ref{fig:transfer:jax} shows the throughput as a function of \proc count, where each run uses 100 cycles per \proc and 5 \ats per cycle. 315 316 \todo{results discussion} -
doc/theses/thierry_delisle_PhD/thesis/text/existing.tex
r4520b77e r12df6fe 5 5 6 6 In general, \emph{selecting} a scheduling algorithm depends on how much information is available to the scheduler. 7 Workloads that are well known, consistent, and homogeneous can benefit from a scheduler that is optimized to use this information, while ill-defined, inconsistent, heterogeneous workloads require general non-optimal algorithms.7 Workloads that are well-known, consistent, and homogeneous can benefit from a scheduler that is optimized to use this information, while ill-defined, inconsistent, heterogeneous workloads require general non-optimal algorithms. 8 8 A secondary aspect is how much information can be gathered versus how much information must be given as part of the scheduler input. 9 9 This information adds to the spectrum of scheduling algorithms, going from static schedulers that are well informed from the start, to schedulers that gather most of the information needed, to schedulers that can only rely on very limited information. 10 Note, this description includes both information about each request , \eg time to complete or resources needed, and information about the relationships among requests, \eg whether some requestsmust be completed before another request starts.11 12 Scheduling physical resources, \eg in an assembly line, is generally amenable to using well-informed scheduling since information can be gathered much faster than the physical resources can be assigned and workloads are likely to stay stable for long periods.10 Note, this description includes both information about each requests, \eg time to complete or resources needed, and information about the relationships among request, \eg whether or not some request must be completed before another request starts. 11 12 Scheduling physical resources, \eg in an assembly line, is generally amenable to using well-informed scheduling, since information can be gathered much faster than the physical resources can be assigned and workloads are likely to stay stable for long periods of time. 13 13 When a faster pace is needed and changes are much more frequent gathering information on workloads, up-front or live, can become much more limiting and more general schedulers are needed. 14 14 15 15 \section{Naming Convention} 16 Scheduling has been studied by various communities concentrating on different incarnation s of the same problems.17 As a result, there are no standard naming conventions for scheduling that are respected across these communities.16 Scheduling has been studied by various communities concentrating on different incarnation of the same problems. 17 As a result, there are no standard naming conventions for scheduling that is respected across these communities. 18 18 This document uses the term \newterm{\Gls{at}} to refer to the abstract objects being scheduled and the term \newterm{\Gls{proc}} to refer to the concrete objects executing these \ats. 19 19 20 20 \section{Static Scheduling} 21 \newterm{Static schedulers} require \ats dependencies and costs tobe explicitly and exhaustively specified prior to scheduling.21 \newterm{Static schedulers} require \ats dependencies and costs be explicitly and exhaustively specified prior to scheduling. 22 22 The scheduler then processes this input ahead of time and produces a \newterm{schedule} the system follows during execution. 23 23 This approach is popular in real-time systems since the need for strong guarantees justifies the cost of determining and supplying this information. 24 In general, static schedulers are less relevant to this project because they require input from the programmers that the \CFA programming language does not have as part of its concurrency semantics.24 In general, static schedulers are less relevant to this project because they require input from the programmers that the programming language does not have as part of its concurrency semantic. 25 25 Specifying this information explicitly adds a significant burden to the programmer and reduces flexibility. 26 26 For this reason, the \CFA scheduler does not require this information. 27 27 28 28 \section{Dynamic Scheduling} 29 \newterm{Dynamic schedulers} determine \at dependencies and costs during scheduling, if at all.30 Hence, unlike static scheduling, \at dependencies are conditional and detected at runtime.31 This detection takes the form of observing new \ats in the system and determining dependencies from their behaviour, including suspending or halting a \atthat dynamically detects unfulfilled dependencies.32 Furthermore, each \at has the responsibility of adding dependent \ats back into the system once dependencies are fulfilled.29 \newterm{Dynamic schedulers} determine \ats dependencies and costs during scheduling, if at all. 30 Hence, unlike static scheduling, \ats dependencies are conditional and detected at runtime. 31 This detection takes the form of observing new \ats(s) in the system and determining dependencies from their behaviour, including suspending or halting a \ats that dynamically detects unfulfilled dependencies. 32 Furthermore, each \ats has the responsibility of adding dependent \ats back into the system once dependencies are fulfilled. 33 33 As a consequence, the scheduler often has an incomplete view of the system, seeing only \ats with no pending dependencies. 34 34 35 35 \subsection{Explicitly Informed Dynamic Schedulers} 36 While dynamic schedulers may not have an exhaustive list of dependencies for a \at, some information may be available about each \at, \eg expected duration, required resources, relative importance, \etc. 37 When available, a scheduler can then use this information to direct the scheduling decisions. 38 For example, when scheduling in a cloud computing context, \ats will commonly have extra information that was manually entered, \eg caps on compute time or \io usage. 39 However, in the context of user-level threading, most programmers do not determine or even \emph{predict} this information; 40 at best, the scheduler has only some imprecise information provided by the programmer, \eg, indicating a \at takes approximately 3--7 seconds to complete, rather than exactly 5 seconds. 41 Providing this kind of information is a significant programmer burden, especially if the information does not scale with the number of \ats and their complexity. 42 For example, providing an exhaustive list of files read by 5 \ats is an easier requirement than providing an exhaustive list of memory addresses accessed by 10,000 independent \ats. 36 While dynamic schedulers may not have an exhaustive list of dependencies for a \ats, some information may be available about each \ats, \eg expected duration, required resources, relative importance, \etc. 37 When available, a scheduler can then use this information to direct the scheduling decisions. \cit{Examples of schedulers with more information} 38 However, most programmers do not determine or even \emph{predict} this information; 39 at best, the scheduler has only some imprecise information provided by the programmer, \eg, indicating a \ats takes approximately 3--7 seconds to complete, rather than exactly 5 seconds. 40 Providing this kind of information is a significant programmer burden especially if the information does not scale with the number of \ats and their complexity. 41 For example, providing an exhaustive list of files read by 5 \ats is an easier requirement then providing an exhaustive list of memory addresses accessed by 10,000 independent \ats. 43 42 44 43 Since the goal of this thesis is to provide a scheduler as a replacement for \CFA's existing \emph{uninformed} scheduler, explicitly informed schedulers are less relevant to this project. Nevertheless, some strategies are worth mentioning. … … 46 45 \subsubsection{Priority Scheduling} 47 46 Common information used by schedulers to direct their algorithm is priorities. 48 Each \at is given a priority,and higher-priority \ats are preferred to lower-priority ones.49 The simplest priority scheduling algorithm is to require that every \at have a distinct pre-established priority and always run the available \ats with the highest priority.47 Each \ats is given a priority and higher-priority \ats are preferred to lower-priority ones. 48 The simplest priority scheduling algorithm is to require that every \ats have a distinct pre-established priority and always run the available \ats with the highest priority. 50 49 Asking programmers to provide an exhaustive set of unique priorities can be prohibitive when the system has a large number of \ats. 51 It can therefore be desirable for schedulers to support \ats with identical priorities and/or automatically set and adjustpriorities for \ats.50 It can therefore be desirable for schedulers to support \ats with identical priorities and/or automatically setting and adjusting priorities for \ats. 52 51 Most common operating systems use some variant on priorities with overlaps and dynamic priority adjustments. 53 For example, Microsoft Windows uses a pair of priorities~\cite{win:priority}, one specified by users out of ten possible options and one adjusted by the system. 52 For example, Microsoft Windows uses a pair of priorities 53 \cit{https://docs.microsoft.com/en-us/windows/win32/procthread/scheduling-priorities,https://docs.microsoft.com/en-us/windows/win32/taskschd/taskschedulerschema-priority-settingstype-element}, one specified by users out of ten possible options and one adjusted by the system. 54 54 55 55 \subsection{Uninformed and Self-Informed Dynamic Schedulers} 56 Several scheduling algorithms do not require programmers to provide additional information on each \at , and instead,make scheduling decisions based solely on internal state and/or information implicitly gathered by the scheduler.56 Several scheduling algorithms do not require programmers to provide additional information on each \ats, and instead make scheduling decisions based solely on internal state and/or information implicitly gathered by the scheduler. 57 57 58 58 59 59 \subsubsection{Feedback Scheduling} 60 As mentioned, schedulers may also gather information about each \at to direct their decisions.60 As mentioned, schedulers may also gather information about each \ats to direct their decisions. 61 61 This design effectively moves the scheduler into the realm of \newterm{Control Theory}~\cite{wiki:controltheory}. 62 62 This information gathering does not generally involve programmers, and as such, does not increase programmer burden the same way explicitly provided information may. 63 However, some feedback schedulers do allow programmers to offer additional information on certain \ats, to direct scheduling decisions.64 The important distinction is whetherthe scheduler can function without this additional information.63 However, some feedback schedulers do allow programmers to offer additional information on certain \ats, in order to direct scheduling decisions. 64 The important distinction being whether or not the scheduler can function without this additional information. 65 65 66 66 67 67 \section{Work Stealing}\label{existing:workstealing} 68 One of the most popular scheduling algorithm sin practice (see~\ref{existing:prod}) is work stealing.69 This idea, introduce d by \cite{DBLP:conf/fpca/BurtonS81}, effectively has each worker process its local \ats firstbut allows the possibility for other workers to steal local \ats if they run out of \ats.70 \cite{DBLP:conf/focs/Blumofe94} introduced the more familiar incarnation of this, where each worker has a queue of \ats and workers without \ats steal \ats from random workers\footnote{The Burton and Sleep algorithm has trees of \ats and stealsonly among neighbours.}.71 Blumofe and Leiserson also prove worst -case space and time requirements for well-structured computations.68 One of the most popular scheduling algorithm in practice (see~\ref{existing:prod}) is work stealing. 69 This idea, introduce by \cite{DBLP:conf/fpca/BurtonS81}, effectively has each worker process its local \ats first, but allows the possibility for other workers to steal local \ats if they run out of \ats. 70 \cite{DBLP:conf/focs/Blumofe94} introduced the more familiar incarnation of this, where each workers has a queue of \ats and workers without \ats steal \ats from random workers\footnote{The Burton and Sleep algorithm had trees of \ats and steal only among neighbours.}. 71 Blumofe and Leiserson also prove worst case space and time requirements for well-structured computations. 72 72 73 73 Many variations of this algorithm have been proposed over the years~\cite{DBLP:journals/ijpp/YangH18}, both optimizations of existing implementations and approaches that account for new metrics. … … 77 77 In general, fine granularity is better for load balancing and coarse granularity reduces communication overhead. 78 78 The best performance generally means finding a middle ground between the two. 79 Several methods can be employed, but I believe these are less relevant for threads, which are generally explicit and more coarse-grained. 80 81 \paragraph{Task Placement} Another aspect of work stealing that has been studied extensively is the mapping between \at and \proc. 82 In its simplest form, work stealing assumes that all \procs are interchangeable and therefore the mapping between \at and \proc is not interesting. 83 However, in real-life architectures there are contexts where different \procs can have different characteristics, which makes some mapping more interesting than others. 84 A common example where this is statically true is architectures with \glsxtrshort{numa}. 85 In these cases, it can be relevant to change the scheduler to be cognizant of the topology~\cite{vikranth2013topology,min2011hierarchical}. 86 Another example is energy usage, where the scheduler is modified to optimize for energy efficiency in addition/instead of performance~\cite{ribic2014energy,torng2016asymmetry}. 87 88 \paragraph{Complex Machine Architecture} Another aspect that has been examined is how applicable work stealing is to different machine architectures. 89 This is arguably strongly related to Task Placement but extends into more heterogeneous architectures. 90 As \CFA offers no particular support for heterogeneous architecture, this is also an area that is less relevant to this thesis. 91 Although it could be an interesting avenue for future work. 79 Several methods can be employed, but I believe these are less relevant for threads, which are generally explicit and more coarse grained. 80 81 \paragraph{Task Placement} Since modern computers rely heavily on cache hierarchies\cit{Do I need a citation for this}, migrating \ats from one core to another can be . \cite{DBLP:journals/tpds/SquillanteL93} 82 83 \todo{The survey is not great on this subject} 84 85 \paragraph{Complex Machine Architecture} Another aspect that has been examined is how well work stealing is applicable to different machine architectures. 92 86 93 87 \subsection{Theoretical Results} 94 There is also a large body of research on the theoretical aspects of work stealing. These evaluate, for example, the cost of \glslink{atmig}{migration}~\cite{DBLP:conf/sigmetrics/SquillanteN91,DBLP:journals/pe/EagerLZ86}, how affinity affects performance~\cite{DBLP:journals/tpds/SquillanteL93,DBLP:journals/mst/AcarBB02,DBLP:journals/ipl/SuksompongLS16} and theoretical models for heterogeneous systems~\cite{DBLP:journals/jpdc/MirchandaneyTS90,DBLP:journals/mst/BenderR02,DBLP:conf/sigmetrics/GastG10}.88 There is also a large body of research on the theoretical aspects of work stealing. These evaluate, for example, the cost of migration~\cite{DBLP:conf/sigmetrics/SquillanteN91,DBLP:journals/pe/EagerLZ86}, how affinity affects performance~\cite{DBLP:journals/tpds/SquillanteL93,DBLP:journals/mst/AcarBB02,DBLP:journals/ipl/SuksompongLS16} and theoretical models for heterogeneous systems~\cite{DBLP:journals/jpdc/MirchandaneyTS90,DBLP:journals/mst/BenderR02,DBLP:conf/sigmetrics/GastG10}. 95 89 \cite{DBLP:journals/jacm/BlellochGM99} examines the space bounds of work stealing and \cite{DBLP:journals/siamcomp/BerenbrinkFG03} shows that for under-loaded systems, the scheduler completes its computations in finite time, \ie is \newterm{stable}. 96 Others show that work stealing appliesto various scheduling contexts~\cite{DBLP:journals/mst/AroraBP01,DBLP:journals/anor/TchiboukdjianGT13,DBLP:conf/isaac/TchiboukdjianGTRB10,DBLP:conf/ppopp/AgrawalLS10,DBLP:conf/spaa/AgrawalFLSSU14}.90 Others show that work stealing is applicable to various scheduling contexts~\cite{DBLP:journals/mst/AroraBP01,DBLP:journals/anor/TchiboukdjianGT13,DBLP:conf/isaac/TchiboukdjianGTRB10,DBLP:conf/ppopp/AgrawalLS10,DBLP:conf/spaa/AgrawalFLSSU14}. 97 91 \cite{DBLP:conf/ipps/ColeR13} also studied how randomized work-stealing affects false sharing among \ats. 98 92 99 However, as \cite{DBLP:journals/ijpp/YangH18} highlights, it is worth mentioning that this theoretical research has mainly focused on ``fully strict'' computations, \ie workloads that can be fully represented with a direct acyclic graph.100 It is unclear how well these distributions represent workloads in real -world scenarios.93 However, as \cite{DBLP:journals/ijpp/YangH18} highlights, it is worth mentioning that this theoretical research has mainly focused on ``fully-strict'' computations, \ie workloads that can be fully represented with a direct acyclic graph. 94 It is unclear how well these distributions represent workloads in real world scenarios. 101 95 102 96 \section{Preemption} 103 97 One last aspect of scheduling is preemption since many schedulers rely on it for some of their guarantees. 104 98 Preemption is the idea of interrupting \ats that have been running too long, effectively injecting suspend points into the application. 105 There are multiple techniques to achieve this effect , but they all aim to guarantee that the suspend points in a \atare never further apart than some fixed duration.106 While this helps schedulers guarantee that no \ats unfairly monopolize a worker, preemption can effectively be added to any scheduler.107 Therefore, the only interesting aspect of preemption for the design of scheduling is whether to require it.99 There are multiple techniques to achieve this effect but they all aim to guarantee that the suspend points in a \ats are never further apart than some fixed duration. 100 While this helps schedulers guarantee that no \ats unfairly monopolizes a worker, preemption can effectively be added to any scheduler. 101 Therefore, the only interesting aspect of preemption for the design of scheduling is whether or not to require it. 108 102 109 103 \section{Production Schedulers}\label{existing:prod} … … 111 105 While these schedulers do not necessarily represent the most recent advances in scheduling, they are what is generally accessible to programmers. 112 106 As such, I believe these schedulers are at least as relevant as those presented in published work. 113 Both Schedulers that operate in kernel space anduser space are considered, as both can offer relevant insight for this project.107 Schedulers that operate in kernel space and in user space are considered, as both can offer relevant insight for this project. 114 108 However, real-time schedulers are not considered, as these have constraints that are much stricter than what is needed for this project. 115 109 116 110 \subsection{Operating System Schedulers} 117 Operating System Schedulers tend to be fairly complex as they generally support some amount of real time, aim to balance interactive and non-interactive \ats and support multiple users sharing hardware without requiring these users to cooperate.111 Operating System Schedulers tend to be fairly complex as they generally support some amount of real-time, aim to balance interactive and non-interactive \ats and support multiple users sharing hardware without requiring these users to cooperate. 118 112 Here are more details on a few schedulers used in the common operating systems: Linux, FreeBSD, Microsoft Windows and Apple's OS X. 119 The information is less complete for closed source operating systems.113 The information is less complete for operating systems with closed source. 120 114 121 115 \paragraph{Linux's CFS} 122 116 The default scheduler used by Linux, the Completely Fair Scheduler~\cite{MAN:linux/cfs,MAN:linux/cfs2}, is a feedback scheduler based on CPU time. 123 117 For each processor, it constructs a Red-Black tree of \ats waiting to run, ordering them by the amount of CPU time used. 124 The \at that has used the least CPU time is scheduled.118 The \ats that has used the least CPU time is scheduled. 125 119 It also supports the concept of \newterm{Nice values}, which are effectively multiplicative factors on the CPU time used. 126 The ordering of \ats is also affected by a group -based notion of fairness, where \ats belonging to groups having used less CPU time are preferred to \ats belonging to groups having used more CPU time.127 Linux achieves load-balancing by regularly monitoring the system state~\cite{MAN:linux/cfs/balancing} and using some heuristic on the \gls{load}, currently CPU time used in the last millisecond plus a decayed version of the previous time slots~\cite{MAN:linux/cfs/pelt}.128 129 \cite{DBLP:conf/eurosys/LoziLFGQF16} shows that Linux's CFS also does work stealing to balance the workload of each \proc, but the paper argues this aspect can be improved significantly.130 The issues highlighted stem from Linux's need to support fairness across \ats \emph{and} across users\footnote{Enforcing fairness across users means that given two users, one with a single \at and the other with one thousand \ats, the user with a single \at does not receive one-thousandth of the CPU time.}, increasing the complexity.131 132 Linux also offers a FIFO scheduler, a real-time scheduler, which runs the highest-priority \ats, and a round-robin scheduler, which is an extension of the FIFO scheduler that adds fixed time slices. \cite{MAN:linux/sched}120 The ordering of \ats is also affected by a group based notion of fairness, where \ats belonging to groups having used less CPU time are preferred to \ats belonging to groups having used more CPU time. 121 Linux achieves load-balancing by regularly monitoring the system state~\cite{MAN:linux/cfs/balancing} and using some heuristic on the load, currently CPU time used in the last millisecond plus a decayed version of the previous time slots~\cite{MAN:linux/cfs/pelt}. 122 123 \cite{DBLP:conf/eurosys/LoziLFGQF16} shows that Linux's CFS also does work stealing to balance the workload of each processors, but the paper argues this aspect can be improved significantly. 124 The issues highlighted stem from Linux's need to support fairness across \ats \emph{and} across users\footnote{Enforcing fairness across users means that given two users, one with a single \ats and the other with one thousand \ats, the user with a single \ats does not receive one thousandth of the CPU time.}, increasing the complexity. 125 126 Linux also offers a FIFO scheduler, a real-time scheduler, which runs the highest-priority \ats, and a round-robin scheduler, which is an extension of the FIFO-scheduler that adds fixed time slices. \cite{MAN:linux/sched} 133 127 134 128 \paragraph{FreeBSD} 135 129 The ULE scheduler used in FreeBSD\cite{DBLP:conf/bsdcon/Roberson03} is a feedback scheduler similar to Linux's CFS. 136 130 It uses different data structures and heuristics but also schedules according to some combination of CPU time used and niceness values. 137 It also periodically balances the load of the system (according to a different heuristic) but uses a simpler work stealing approach.131 It also periodically balances the load of the system (according to a different heuristic), but uses a simpler work stealing approach. 138 132 139 133 \paragraph{Windows(OS)} 140 134 Microsoft's Operating System's Scheduler~\cite{MAN:windows/scheduler} is a feedback scheduler with priorities. 141 135 It supports 32 levels of priorities, some of which are reserved for real-time and privileged applications. 142 It schedules \ats based on the highest priorities (lowest number) and how much CPU time each \at has used.136 It schedules \ats based on the highest priorities (lowest number) and how much CPU time each \ats has used. 143 137 The scheduler may also temporarily adjust priorities after certain effects like the completion of I/O requests. 144 138 145 In~\cite{russinovich2009windows}, Chapter 1 section 2.3 ``Processes, Threads, and Jobs'' discusses the scheduling policy more in-depth. 146 Multicore scheduling is based on a combination of priorities and \proc preference. 147 Each \at is assigned an initial processor using a round-robin policy, called the \at's \newterm{ideal} \proc. 148 \Glspl{at} are distributed among the \procs according to their priority, preferring to match \ats to their ideal \proc and then to the last \proc they ran on. 149 This approach is a variation of work stealing, where the stealing \proc restores the \at to its original \proc after running it, but mixed with priorities. 139 \todo{load balancing} 150 140 151 141 \paragraph{Apple OS X} … … 159 149 \end{displayquote} 160 150 161 There is very little documentation on the internals of this scheduler. 162 However, the documentation does describe a feature set that is very similar to the Windows and Linux OS schedulers. 163 Presumably, this means that the internals are also fairly similar overall. 151 \todo{load balancing} 164 152 165 153 \subsection{User-Level Schedulers} 166 By comparison, user -level schedulers tend to be simpler, gatherfewer metrics and avoid complex notions of fairness. Part of the simplicity is due to the fact that all \ats have the same user, and therefore cooperation is both feasible and probable.154 By comparison, user level schedulers tend to be simpler, gathering fewer metrics and avoid complex notions of fairness. Part of the simplicity is due to the fact that all \ats have the same user, and therefore cooperation is both feasible and probable. 167 155 168 156 \paragraph{Go}\label{GoSafePoint} 169 157 Go's scheduler uses a randomized work-stealing algorithm that has a global run-queue (\emph{GRQ}) and each processor (\emph{P}) has both a fixed-size run-queue (\emph{LRQ}) and a high-priority next ``chair'' holding a single element~\cite{GITHUB:go,YTUBE:go}. 170 Preemption is present, but only at safe points,~\cite{go:safepoints} which are detection code insertedat various frequent access boundaries.158 Preemption is present, but only at safe-points,~\cit{https://go.dev/src/runtime/preempt.go} which are inserted detection code at various frequent access boundaries. 171 159 172 160 The algorithm is as follows : … … 184 172 Erlang is a functional language that supports concurrency in the form of processes: threads that share no data. 185 173 It uses a kind of round-robin scheduler, with a mix of work sharing and stealing to achieve load balancing~\cite{:erlang}, where under-loaded workers steal from other workers, but overloaded workers also push work to other workers. 186 This \glslink{atmig}{migration} logic is directed by monitoring logic that evaluates the load a few times per second.174 This migration logic is directed by monitoring logic that evaluates the load a few times per seconds. 187 175 188 176 \paragraph{Intel\textregistered ~Threading Building Blocks} 189 177 \newterm{Thread Building Blocks} (TBB) is Intel's task parallelism \cite{wiki:taskparallel} framework. 190 It runs \newterm{jobs}, which are uninterrupt ible \ats that must always run to completion, on a pool of worker threads.178 It runs \newterm{jobs}, which are uninterruptable \ats that must always run to completion, on a pool of worker threads. 191 179 TBB's scheduler is a variation of randomized work-stealing that also supports higher-priority graph-like dependencies~\cite{MAN:tbb/scheduler}. 192 It schedules \ats as follows (where \textit{t} is the last \at completed):180 It schedules \ats as follows (where \textit{t} is the last \ats completed): 193 181 \begin{displayquote} 194 182 \begin{enumerate} 195 183 \item The task returned by \textit{t}@.execute()@ 196 184 \item The successor of t if \textit{t} was its last completed predecessor. 197 \item A task popped from the end of the thread's own queue.198 \item A task with a n affinity for the thread.185 \item A task popped from the end of the thread's own deque. 186 \item A task with affinity for the thread. 199 187 \item A task popped from approximately the beginning of the shared queue. 200 \item A task popped from the beginning of another randomly chosen thread's queue.188 \item A task popped from the beginning of another randomly chosen thread's deque. 201 189 \end{enumerate} 202 190 … … 211 199 212 200 \paragraph{Grand Central Dispatch} 213 An Apple ~\cite{apple:gcd} API that offers task parallelism~\cite{wiki:taskparallel}.201 An Apple\cit{Official GCD source} API that offers task parallelism~\cite{wiki:taskparallel}. 214 202 Its distinctive aspect is multiple ``Dispatch Queues'', some of which are created by programmers. 215 203 Each queue has its own local ordering guarantees, \eg \ats on queue $A$ are executed in \emph{FIFO} order. 216 204 217 While the documentation only gives limited insight into the scheduling and load balancing approach, \cite{apple:gcd2} suggests a fairly classic approach. 218 Each \proc has a queue of \ats to run, called \newterm{blocks}, which are drained in \glsxtrshort{fifo}. 219 GCD also has secondary queues, called \newterm{Dispatch Queues}, with clear ordering, where executing a block ends up scheduling more blocks. 220 In terms of semantics, these Dispatch Queues seem to be very similar to Intel\textregistered ~TBB \lstinline{execute()} and predecessor semantics. 221 222 The similarity of API and semantics between GCD and Intel\textregistered ~TBB suggest the underlying scheduling algorithms are similar. 205 \todo{load balancing and scheduling} 206 207 % http://web.archive.org/web/20090920043909/http://images.apple.com/macosx/technology/docs/GrandCentral_TB_brief_20090903.pdf 208 209 In terms of semantics, the Dispatch Queues seem to be very similar to Intel\textregistered ~TBB @execute()@ and predecessor semantics. 223 210 224 211 \paragraph{LibFibre} 225 LibFibre~\cite{DBLP:journals/pomacs/KarstenB20} is a light weight user-level threading framework developed at the University of Waterloo.226 Similarly to Go, it uses a variation of work stealing with a global queue that has ahigher priority than stealing.212 LibFibre~\cite{DBLP:journals/pomacs/KarstenB20} is a light-weight user-level threading framework developed at the University of Waterloo. 213 Similarly to Go, it uses a variation of work stealing with a global queue that is higher priority than stealing. 227 214 Unlike Go, it does not have the high-priority next ``chair'' and does not use randomized work-stealing. -
doc/theses/thierry_delisle_PhD/thesis/text/front.tex
r4520b77e r12df6fe 39 39 \vspace*{2.0cm} 40 40 41 Waterloo, Ontario, Canada, 202 2\\41 Waterloo, Ontario, Canada, 2021 \\ 42 42 43 43 \vspace*{1.0cm} 44 44 45 \copyright\ Thierry Delisle 202 2\\45 \copyright\ Thierry Delisle 2021 \\ 46 46 \end{center} 47 47 \end{titlepage} … … 60 60 \noindent 61 61 The following served on the Examining Committee for this thesis. The decision of the Examining Committee is by majority vote. 62 \todo{External Examiners} 62 63 \bigskip 63 64 … … 65 66 \begin{tabbing} 66 67 Internal-External Member: \= \kill % using longest text to define tab length 67 External Examiner: \> Doug Lea \\ 68 \> Professor, Computer Science Department \\ 69 \> State University of New York at Oswego \\ 68 External Examiner: \> TBD \\ 69 \> TBD \\ 70 70 \end{tabbing} 71 71 \bigskip … … 96 96 \begin{tabbing} 97 97 Internal-External Member: \= \kill % using longest text to define tab length 98 Internal-External Member: \> Patrick Lam\\99 \> Associate Professor, Department of Electrical and Computer Engineering\\98 Internal-External Member: \> TBD \\ 99 \> TBD \\ 100 100 \> University of Waterloo \\ 101 101 \end{tabbing} … … 106 106 % D E C L A R A T I O N P A G E 107 107 % ------------------------------- 108 % The following is a sample De claration Page as provided by the GSO108 % The following is a sample Delaration Page as provided by the GSO 109 109 % December 13th, 2006. It is designed for an electronic thesis. 110 110 \noindent … … 123 123 \begin{center}\textbf{Abstract}\end{center} 124 124 125 User-Level threading (M:N) is gaining popularity over kernel-level threading (1:1) in many programming languages. 126 The user threading approach is often a better mechanism to express complex concurrent applications by efficiently running 10,000+ threads on multicore systems. 127 Indeed, over-partitioning into small work-units with user threading significantly eases load bal\-ancing, while simultaneously providing advanced synchronization and mutual exclusion capabilities. 128 To manage these high levels of concurrency, the underlying runtime must efficiently schedule many user threads across a few kernel threads; 129 which begs the question of how many kernel threads are needed and should the number be dynamically reevaluated. 130 Furthermore, scheduling must prevent kernel threads from blocking, otherwise user-thread parallelism drops. 131 When user-threading parallelism does drop, how and when should idle \glspl{kthrd} be put to sleep to avoid wasting CPU resources. 132 Finally, the scheduling system must provide fairness to prevent a user thread from monopolizing a kernel thread; 133 otherwise, other user threads can experience short/long term starvation or kernel threads can deadlock waiting for events to occur on busy kernel threads. 125 This is the abstract. 134 126 135 This thesis analyses multiple scheduler systems, where each system attempts to fulfill the requirements for user-level threading. 136 The predominant technique for managing high levels of concurrency is sharding the ready queue with one queue per \gls{kthrd} and using some form of work stealing/sharing to dynamically rebalance workload shifts. 137 Preventing kernel blocking is accomplished by transforming kernel locks and I/O operations into user-level operations that do not block the kernel thread or spin up new kernel threads to manage the blocking. 138 Fairness is handled through preemption and/or ad-hoc solutions, which leads to coarse-grained fairness with some pathological cases. 127 Vulputate minim vel consequat praesent at vel iusto et, ex delenit, esse euismod luptatum augue ut sit et eu vel augue autem feugiat, quis ad dolore. Nulla vel, laoreet lobortis te commodo elit qui aliquam enim ex iriure ea ullamcorper nostrud lorem, lorem laoreet eu ex ut vel in zzril wisi quis. Nisl in autem praesent dignissim, sit vel aliquam at te, vero dolor molestie consequat. 139 128 140 After examining, selecting and testing specific approaches to these scheduling issues, a complete implementation was created and tested in the \CFA (C-for-all) runtime system. 141 \CFA is a modern extension of C using user-level threading as its fundamental threading model. 142 As one of its primary goals, \CFA aims to offer increased safety and productivity without sacrificing performance. 143 The new scheduler achieves this goal by demonstrating equivalent performance to work-stealing schedulers while offering better fairness. 144 The implementation uses several optimizations that successfully balance the cost of fairness against performance; 145 some of these optimizations rely on interesting hardware optimizations present on modern CPUs. 146 The new scheduler also includes support for implicit nonblocking \io, allowing applications to have more user-threads blocking on \io operations than there are \glspl{kthrd}. 147 The implementation is based on @io_uring@, a recent addition to the Linux kernel, and achieves the same performance and fairness as systems using @select@, @epoll@, \etc. 148 To complete the scheduler, an idle sleep mechanism is implemented that significantly reduces wasted CPU cycles, which are then available outside the application. 129 Tation iriure sed wisi feugait odio dolore illum duis in accumsan velit illum consequat consequat ipsum molestie duis duis ut ullamcorper. Duis exerci odio blandit vero dolore eros odio amet et nisl in nostrud consequat iusto eum suscipit autem vero. Iusto dolore exerci, ut erat ex, magna in facilisis duis amet feugait augue accumsan zzril delenit aliquip dignissim at. Nisl molestie nibh, vulputate feugait nibh luptatum ea delenit nostrud dolore minim veniam odio volutpat delenit nulla accumsan eum vero ullamcorper eum. Augue velit veniam, dolor, exerci ea feugiat nulla molestie, veniam nonummy nulla dolore tincidunt, consectetuer dolore nulla ipsum commodo. 130 131 At nostrud lorem, lorem laoreet eu ex ut vel in zzril wisi. Suscipit consequat in autem praesent dignissim, sit vel aliquam at te, vero dolor molestie consequat eros tation facilisi diam dolor. Odio luptatum dolor in facilisis et facilisi et adipiscing suscipit eu iusto praesent enim, euismod consectetuer feugait duis. Odio veniam et iriure ad qui nonummy aliquip at qui augue quis vel diam, nulla. Autem exerci tation iusto, hendrerit et, tation esse consequat ut velit te dignissim eu esse eros facilisis lobortis, lobortis hendrerit esse dignissim nisl. Nibh nulla minim vel consequat praesent at vel iusto et, ex delenit, esse euismod luptatum. 132 133 Ut eum vero ullamcorper eum ad velit veniam, dolor, exerci ea feugiat nulla molestie, veniam nonummy nulla. Elit tincidunt, consectetuer dolore nulla ipsum commodo, ut, at qui blandit suscipit accumsan feugiat vel praesent. In dolor, ea elit suscipit nisl blandit hendrerit zzril. Sit enim, et dolore blandit illum enim duis feugiat velit consequat iriure sed wisi feugait odio dolore illum duis. Et accumsan velit illum consequat consequat ipsum molestie duis duis ut ullamcorper nulla exerci odio blandit vero dolore eros odio amet et. 134 135 In augue quis vel diam, nulla dolore exerci tation iusto, hendrerit et, tation esse consequat ut velit. Duis dignissim eu esse eros facilisis lobortis, lobortis hendrerit esse dignissim nisl illum nulla minim vel consequat praesent at vel iusto et, ex delenit, esse euismod. Nulla augue ut sit et eu vel augue autem feugiat, quis ad dolore te vel, laoreet lobortis te commodo elit qui aliquam enim ex iriure. Ut ullamcorper nostrud lorem, lorem laoreet eu ex ut vel in zzril wisi quis consequat in autem praesent dignissim, sit vel. Dolore at te, vero dolor molestie consequat eros tation facilisi diam. Feugait augue luptatum dolor in facilisis et facilisi et adipiscing suscipit eu iusto praesent enim, euismod consectetuer feugait duis vulputate veniam et. 136 137 Ad eros odio amet et nisl in nostrud consequat iusto eum suscipit autem vero enim dolore exerci, ut. Esse ex, magna in facilisis duis amet feugait augue accumsan zzril. Lobortis aliquip dignissim at, in molestie nibh, vulputate feugait nibh luptatum ea delenit nostrud dolore minim veniam odio. Euismod delenit nulla accumsan eum vero ullamcorper eum ad velit veniam. Quis, exerci ea feugiat nulla molestie, veniam nonummy nulla. Elit tincidunt, consectetuer dolore nulla ipsum commodo, ut, at qui blandit suscipit accumsan feugiat vel praesent. 138 139 Dolor zzril wisi quis consequat in autem praesent dignissim, sit vel aliquam at te, vero. Duis molestie consequat eros tation facilisi diam dolor augue. Dolore dolor in facilisis et facilisi et adipiscing suscipit eu iusto praesent enim, euismod consectetuer feugait duis vulputate. 149 140 150 141 \cleardoublepage … … 155 146 \begin{center}\textbf{Acknowledgements}\end{center} 156 147 157 I would like to thank my supervisor, Professor Peter Buhr, for his guidance through my degree as well as the editing of this document. 158 159 I would like to thank Professors Martin Karsten and Trevor Brown, for reading my thesis and providing helpful feedback. 160 161 Thanks to Andrew Beach, Michael Brooks, Colby Parsons, Mubeen Zulfiqar, Fangren Yu and Jiada Liang for their work on the \CFA project as well as all the discussions which have helped me concretize the ideas in this thesis. 162 163 Finally, I acknowledge that this has been possible thanks to the financial help offered by the David R. Cheriton School of Computer Science and the corporate partnership with Huawei Ltd. 148 \todo{Acknowledgements} 164 149 \cleardoublepage 165 150 … … 179 164 \phantomsection % allows hyperref to link to the correct page 180 165 166 % L I S T O F T A B L E S 167 % --------------------------- 168 \addcontentsline{toc}{chapter}{List of Tables} 169 \listoftables 170 \cleardoublepage 171 \phantomsection % allows hyperref to link to the correct page 172 181 173 % L I S T O F F I G U R E S 182 174 % ----------------------------- 183 175 \addcontentsline{toc}{chapter}{List of Figures} 184 176 \listoffigures 185 \cleardoublepage186 \phantomsection % allows hyperref to link to the correct page187 188 % L I S T O F T A B L E S189 % ---------------------------190 \addcontentsline{toc}{chapter}{List of Tables}191 \listoftables192 177 \cleardoublepage 193 178 \phantomsection % allows hyperref to link to the correct page … … 199 184 \phantomsection % allows hyperref to link to the correct page 200 185 186 % TODOs and missing citations 187 % ----------------------------- 188 \listofcits 189 \listoftodos 190 \cleardoublepage 191 \phantomsection % allows hyperref to link to the correct page 192 193 201 194 % Change page numbering back to Arabic numerals 202 195 \pagenumbering{arabic} -
doc/theses/thierry_delisle_PhD/thesis/text/intro.tex
r4520b77e r12df6fe 1 1 \chapter{Introduction}\label{intro} 2 \section{\CFA programming language} 2 3 3 \Gls{uthrding} (M:N) is gaining popularity over kernel-level threading (1:1) in many programming languages. 4 The user threading approach is often a better mechanism to express complex concurrent applications by efficiently running 10,000+ threads on multicore systems. 5 Indeed, over-partitioning into small work units with user threading significantly eases load bal\-ancing, while simultaneously providing advanced synchronization and mutual exclusion capabilities. 6 To manage these high levels of concurrency, the underlying runtime must efficiently schedule many user threads across a few kernel threads; 7 which begs the question of how many kernel threads are needed and should the number be dynamically reevaluated. 8 Furthermore, scheduling must prevent kernel threads from blocking, otherwise user-thread parallelism drops. 9 When user-threading parallelism does drop, how and when should idle kernel-threads be put to sleep to avoid wasting CPU resources. 10 Finally, the scheduling system must provide fairness to prevent a user thread from monopolizing a kernel thread; 11 otherwise, other user threads can experience short/long term starvation or kernel threads can deadlock waiting for events to occur on busy kernel threads. 4 The \CFA programming language~\cite{cfa:frontpage,cfa:typesystem} extends the C programming language by adding modern safety and productivity features, while maintaining backwards compatibility. 5 Among its productivity features, \CFA supports user-level threading~\cite{Delisle21} allowing programmers to write modern concurrent and parallel programs. 6 My previous master's thesis on concurrent in \CFA focused on features and interfaces. 7 This Ph.D.\ thesis focuses on performance, introducing \glsxtrshort{api} changes only when required by performance considerations. 8 Specifically, this work concentrates on scheduling and \glsxtrshort{io}. 9 Prior to this work, the \CFA runtime used a strict \glsxtrshort{fifo} \gls{rQ} and no \glsxtrshort{io} capabilities at the user-thread level\footnote{C supports \glsxtrshort{io} capabilities at the kernel level, which means blocking operations block kernel threads where blocking user-level threads whould be more appropriate for \CFA.}. 12 10 13 This thesis analyzes multiple scheduler systems, where each system attempts to fulfill the requirements for \gls{uthrding}. 14 The predominant technique for managing high levels of concurrency is sharding the ready queue with one queue per kernel thread and using some form of work stealing/sharing to dynamically rebalance workload shifts. 15 Preventing kernel blocking is accomplished by transforming kernel locks and I/O operations into user-level operations that do not block the kernel thread or spin up new kernel threads to manage the blocking. 16 Fairness is handled through preemption and/or ad hoc solutions, which leads to coarse-grained fairness with some pathological cases. 11 As a research project, this work builds exclusively on newer versions of the Linux operating-system and gcc/clang compilers. 12 While \CFA is released, supporting older versions of Linux ($<$~Ubuntu 16.04) and gcc/clang compilers ($<$~gcc 6.0) is not a goal of this work. 17 13 18 After examining, testing and selecting specific approaches to these scheduling issues, a completely new scheduler was created and tested in the \CFA (C-for-all) user-threading runtime system. 19 The goal of the new scheduler is to offer increased safety and productivity without sacrificing performance. 20 The quality of the new scheduler is demonstrated by comparing it with other user-threading work-stealing schedulers with, the aim of showing equivalent or better performance while offering better fairness. 14 \section{Scheduling} 15 Computer systems share multiple resources across many threads of execution, even on single user computers like laptops or smartphones. 16 On a computer system with multiple processors and work units, there exists the problem of mapping work onto processors in an efficient manner, called \newterm{scheduling}. 17 These systems are normally \newterm{open}, meaning new work arrives from an external source or is spawned from an existing work unit. 18 On a computer system, the scheduler takes a sequence of work requests in the form of threads and attempts to complete the work, subject to performance objectives, such as resource utilization. 19 A general-purpose dynamic-scheduler for an open system cannot anticipate future work requests, so its performance is rarely optimal. 20 With complete knowledge of arrive order and work, creating an optimal solution still effectively needs solving the bin packing problem\cite{wiki:binpak}. 21 However, optimal solutions are often not required. 22 Schedulers do produce excellent solutions, whitout needing optimality, by taking advantage of regularities in work patterns. 21 23 22 Chapter~\ref{intro} defines scheduling and its general goals. 23 Chapter~\ref{existing} discusses how scheduler implementations attempt to achieve these goals, but all implementations optimize some workloads better than others. 24 Chapter~\ref{cfaruntime} presents the relevant aspects of the \CFA runtime system that have a significant effect on the new scheduler design and implementation. 25 Chapter~\ref{core} analyses different scheduler approaches while looking for scheduler mechanisms that provide both performance and fairness. 26 Chapter~\ref{userio} covers the complex mechanisms that must be used to achieve nonblocking I/O to prevent the blocking of \glspl{kthrd}. 27 Chapter~\ref{practice} presents the mechanisms needed to adjust the amount of parallelism, both manually and automatically. 28 Chapters~\ref{microbench} and~\ref{macrobench} present micro and macro benchmarks used to evaluate and compare the new scheduler with similar schedulers. 29 30 31 \section{Scheduling}\label{sched} 32 Computer systems share multiple resources across many threads of execution, even on single-user computers like laptops or smartphones. 33 On a computer system with multiple processors and work units (routines, coroutines, threads, programs, \etc), there exists the problem of mapping many different kinds of work units onto many different kinds of processors efficiently, called \newterm{scheduling}. 34 Scheduling systems are normally \newterm{open}, meaning new work arrives from an external source or is randomly spawned from an existing work unit. 35 In general, work units without threads, like routines and coroutines, are self-scheduling, while work units with threads, like tasks and programs, are scheduled. 36 For scheduled work-units, a scheduler takes a sequence of threads and attempts to run them to completion, subject to shared resource restrictions and utilization. 37 In an open system, a general-purpose dynamic scheduler cannot anticipate work requests, so its performance is rarely optimal. 38 Even with complete knowledge of arrival order and work, creating an optimal solution is a bin packing problem~\cite{wiki:binpak}. 39 However, optimal solutions are often not required: schedulers often produce excellent solutions, without needing optimality, by taking advantage of regularities in work patterns. 40 41 Scheduling occurs at discrete points when there are transitions in a system. 42 For example, a \at cycles through the following transitions during its execution. 24 Scheduling occurs at discreet points when there are transitions in a system. 25 For example, a thread cycles through the following transitions during its execution. 43 26 \begin{center} 44 27 \input{executionStates.pstex_t} 45 28 \end{center} 46 These \newterm{state transition}s are initiated in response to events , \eg blocking, interrupts, errors:29 These \newterm{state transition}s are initiated in response to events (\Index{interrupt}s): 47 30 \begin{itemize} 48 31 \item 49 32 entering the system (new $\rightarrow$ ready) 50 33 \item 51 scheduler assigns a \at to a computing resource, \eg CPU (ready $\rightarrow$ running)52 \item53 34 timer alarm for preemption (running $\rightarrow$ ready) 54 35 \item 55 long -term delay versus spinning (running $\rightarrow$ blocked)36 long term delay versus spinning (running $\rightarrow$ blocked) 56 37 \item 57 completion of delay, \egnetwork or I/O completion (blocked $\rightarrow$ ready)38 blocking ends, \ie network or I/O completion (blocked $\rightarrow$ ready) 58 39 \item 59 normal completion or error, \eg segment fault (running $\rightarrow$ halted) 40 normal completion or error, \ie segment fault (running $\rightarrow$ halted) 41 \item 42 scheduler assigns a thread to a resource (ready $\rightarrow$ running) 60 43 \end{itemize} 61 Key to scheduling is that a \at cannot bypass the ``ready'' state during a transition so the scheduler maintains complete control of the system, \ie no self-scheduling among threads.44 Key to scheduling is that a thread cannot bypass the ``ready'' state during a transition so the scheduler maintains complete control of the system. 62 45 63 46 When the workload exceeds the capacity of the processors, \ie work cannot be executed immediately, it is placed on a queue for subsequent service, called a \newterm{ready queue}. 64 47 Ready queues organize threads for scheduling, which indirectly organizes the work to be performed. 65 The structure of ready queues can take many different forms, where the basic two are the single-queue multi-server (SQMS) and the multi-queue multi-server (MQMS). 48 The structure of ready queues can take many different forms. 49 Where simple examples include single-queue multi-server (SQMS) and the multi-queue multi-server (MQMS). 66 50 \begin{center} 67 51 \begin{tabular}{l|l} … … 71 55 \end{tabular} 72 56 \end{center} 73 Beyond these two schedulers are a host of options, \ eg adding a global shared queue to MQMS or adding multiple private queues with distinct characteristics.57 Beyond these two schedulers are a host of options, \ie adding an optional global, shared queue to MQMS. 74 58 75 Once there are multiple resources and ready queues, a scheduler is faced with three major optimization criteria:59 The three major optimization criteria for a scheduler are: 76 60 \begin{enumerate}[leftmargin=*] 77 61 \item … … 84 68 85 69 \noindent 86 Essentially, all multi processor computers have non-uniform memory access (NUMA), with one or more quantized steps to access data at different levels in the memory hierarchy.70 Essentially, all multi-processor computers have non-uniform memory access (NUMA), with one or more quantized steps to access data at different levels in the memory hierarchy. 87 71 When a system has a large number of independently executing threads, affinity becomes difficult because of \newterm{thread churn}. 88 That is, threads must be scheduled on different processors to obtain high processorutilization because the number of threads $\ggg$ processors.72 That is, threads must be scheduled on multiple processors to obtain high processors utilization because the number of threads $\ggg$ processors. 89 73 90 74 \item 91 \newterm{contention}: safe access of shared objects by multiple processors requires mutual exclusion in some form, generally locking.\footnote{ 92 Lock-free data-structures do not involve locking but incur similar costs to achieve mutual exclusion.} 93 Mutual exclusion cost and latency increase significantly with the number of processors access\-ing a shared object. 75 \newterm{contention}: safe access of shared objects by multiple processors requires mutual exclusion in some form, generally locking\footnote{ 76 Lock-free data-structures do not involve locking but incurr similar costs to achieve mutual exclusion.} 77 78 \noindent 79 Mutual exclusion cost and latency increases significantly with the number of processors accessing a shared object. 94 80 \end{enumerate} 95 81 96 Scheduling is a zero-sum game as computer processors normally have a fixed, maximum number of cycles per unit time.\footnote{ 97 Frequency scaling and turbo-boost add a degree of complexity that can be ignored in this discussion without loss of generality.} 98 Hence, schedulers are a series of compromises, occasionally with some static or dynamic tuning parameters to enhance specific workload patterns. 99 For example, SQMS has perfect load-balancing but poor affinity and high contention by the processors, because of the single queue. 100 While MQMS has poor load-balancing but perfect affinity and no contention, because each processor has its own queue. 82 Nevertheless, schedulers are a series of compromises, occasionally with some static or dynamic tuning parameters to enhance specific patterns. 83 Scheduling is a zero-sum game as computer processors normally have a fixed, maximum number of cycles per unit time\footnote{Frequency scaling and turbot boost add a degree of complexity that can be ignored in this discussion without loss of generality.}. 84 SQMS has perfect load-balancing but poor affinity and high contention by the processors, because of the single queue. 85 MQMS has poor load-balancing but perfect affinity and no contention, because each processor has its own queue. 101 86 102 Significant research effort has looked at load balancing by stealing/sharing work units among queues: when a ready queue is too short or long, respectively, load stealing/sharing schedulers attempt to push/pull work units to/from other ready queues.87 Significant research effort has also looked at load sharing/stealing among queues, when a ready queue is too long or short, respectively. 103 88 These approaches attempt to perform better load-balancing at the cost of affinity and contention. 104 However, \emph{all} approaches come at a cost, but not all compromises are necessarily equivalent, especially across workloads. 105 Hence, some schedulers perform very well for specific workloads, while others offer acceptable performance over a wider range of workloads. 89 Load sharing/stealing schedulers attempt to push/pull work units to/from other ready queues 106 90 107 \section{\CFA programming language} 91 Note however that while any change comes at a cost, hence the zero-sum game, not all compromises are necessarily equivalent. 92 Some schedulers can perform very well only in very specific workload scenarios, others might offer acceptable performance but be applicable to a wider range of workloads. 93 Since \CFA attempts to improve the safety and productivity of C, the scheduler presented in this thesis attempts to achieve the same goals. 94 More specifically, safety and productivity for scheduling means supporting a wide range of workloads so that programmers can rely on progress guarantees (safety) and more easily achieve acceptable performance (productivity). 108 95 109 The \CFA programming language~\cite{Cforall,Moss18} extends the C programming language by adding modern safety and productivity features, while maintaining backwards compatibility.110 Among its productivity features, \CFA supports \gls{uthrding}~\cite{Delisle21} as its fundamental threading model allowing programmers to easily write modern concurrent and parallel programs.111 My previous master's thesis on concurrency in \CFA focused on features and interfaces~\cite{Delisle18}.112 This Ph.D.\ thesis focuses on performance, introducing \glsxtrshort{api} changes only when required by performance considerations.113 Specifically, this work concentrates on advanced thread and \glsxtrshort{io} scheduling.114 Prior to this work, the \CFA runtime used a strict SQMS \gls{rQ} and provided no nonblocking \glsxtrshort{io} capabilities at the user-thread level.\footnote{115 C/\CC only support \glsxtrshort{io} capabilities at the kernel level, which means many \io operations block \glspl{kthrd} reducing parallelism at the user level.}116 117 Since \CFA attempts to improve the safety and productivity of C, the new scheduler presented in this thesis attempts to achieve the same goals.118 More specifically, safety and productivity for scheduling mean supporting a wide range of workloads so that programmers can rely on progress guarantees (safety) and more easily achieve acceptable performance (productivity).119 The new scheduler also includes support for implicit nonblocking \io, allowing applications to have more user-threads blocking on \io operations than there are \glspl{kthrd}.120 To complete the scheduler, an idle sleep mechanism is implemented that significantly reduces wasted CPU cycles, which are then available outside the application.121 122 As a research project, this work builds exclusively on newer versions of the Linux operating system and gcc/clang compilers.123 The new scheduler implementation uses several optimizations to successfully balance the cost of fairness against performance;124 some of these optimizations rely on interesting hardware optimizations only present on modern CPUs.125 The \io implementation is based on the @io_uring@ kernel interface, a recent addition to the Linux kernel, because it purports to handle nonblocking \emph{file} and network \io.126 This decision allowed an interesting performance and fairness comparison with other threading systems using @select@, @epoll@, \etc.127 While the current \CFA release supports older versions of Linux ($\ge$~Ubuntu 16.04) and gcc/clang compilers ($\ge$~gcc 6.0), it is not the purpose of this project to find workarounds in these older systems to provide backwards compatibility.128 The hope is that these new features will soon become mainstream features.129 96 130 97 \section{Contributions}\label{s:Contributions} 131 This work provides the following scheduling contributions for advanced \gls{uthrding} runtime systems:98 This work provides the following contributions in the area of user-level scheduling in an advanced programming-language runtime-system: 132 99 \begin{enumerate}[leftmargin=*] 133 100 \item 134 101 A scalable scheduling algorithm that offers progress guarantees. 135 102 \item 136 Support for user-level \glsxtrshort{io} capabilities based on Linux's @io_uring@.137 \item138 103 An algorithm for load-balancing and idle sleep of processors, including NUMA awareness. 139 104 \item 140 A mechanism for adding fairness on top of MQMS algorithm through helping, used both for scalable scheduling algorithm and the user-level \glsxtrshort{io}. 141 \item 142 An optimization of the helping mechanism for load balancing to reduce scheduling costs. 143 \item 144 An optimization for the alternative relaxed-list for load balancing to reduce scheduling costs in embarrassingly parallel cases. 105 Support for user-level \glsxtrshort{io} capabilities based on Linux's @io_uring@. 145 106 \end{enumerate} -
doc/theses/thierry_delisle_PhD/thesis/text/io.tex
r4520b77e r12df6fe 1 \chapter{User Level \io} \label{userio}2 As mentioned in Section~\ref{prev:io}, user-level \io requires multiplexing the \io operations of many \ atsonto fewer \glspl{proc} using asynchronous \io operations.3 Different operating systems offer various forms of asynchronous operations and, as mentioned in Chapter~\ref{intro}, this work is exclusively focused on the Linux operating system.1 \chapter{User Level \io} 2 As mentioned in Section~\ref{prev:io}, user-level \io requires multiplexing the \io operations of many \glspl{thrd} onto fewer \glspl{proc} using asynchronous \io operations. 3 Different operating systems offer various forms of asynchronous operations and, as mentioned in Chapter~\ref{intro}, this work is exclusively focused on the Linux operating-system. 4 4 5 5 \section{Kernel Interface} 6 6 Since this work fundamentally depends on operating-system support, the first step of this design is to discuss the available interfaces and pick one (or more) as the foundation for the non-blocking \io subsystem in this work. 7 7 8 \subsection{\lstinline{O_NONBLOCK}} \label{ononblock}8 \subsection{\lstinline{O_NONBLOCK}} 9 9 In Linux, files can be opened with the flag @O_NONBLOCK@~\cite{MAN:open} (or @SO_NONBLOCK@~\cite{MAN:accept}, the equivalent for sockets) to use the file descriptors in ``nonblocking mode''. 10 10 In this mode, ``Neither the @open()@ nor any subsequent \io operations on the [opened file descriptor] will cause the calling process to wait''~\cite{MAN:open}. … … 13 13 In this context, ready means \emph{some} operation can be performed without blocking. 14 14 It does not mean an operation returning \lstinline{EAGAIN} succeeds on the next try. 15 For example, a ready read may only return a subset of requested bytes and the read must be issue dagain for the remaining bytes, at which point it may return \lstinline{EAGAIN}.}16 This mechanism is also crucial in determining when all \ atsare blocked and the application \glspl{kthrd} can now block.15 For example, a ready read may only return a subset of requested bytes and the read must be issues again for the remaining bytes, at which point it may return \lstinline{EAGAIN}.} 16 This mechanism is also crucial in determining when all \glspl{thrd} are blocked and the application \glspl{kthrd} can now block. 17 17 18 18 There are three options to monitor file descriptors in Linux:\footnote{ 19 19 For simplicity, this section omits \lstinline{pselect} and \lstinline{ppoll}. 20 The difference between these system calls and \lstinline{select} and \lstinline{poll}, respectively, is not relevant for this discussion.} 20 The difference between these system calls and \lstinline{select} and \lstinline{poll}, respectively, is not relevant for this discussion.}, 21 21 @select@~\cite{MAN:select}, @poll@~\cite{MAN:poll} and @epoll@~\cite{MAN:epoll}. 22 22 All three of these options offer a system call that blocks a \gls{kthrd} until at least one of many file descriptors becomes ready. … … 30 30 Hence, if one \gls{kthrd} is managing the select calls, other threads can only add/remove to/from the manager's interest set through synchronized calls to update the interest set. 31 31 However, these changes are only reflected when the manager makes its next call to @select@. 32 Note, it is possible for the manager thread to never unblock if its current interest set never changes, \eg the sockets/pipes/ TTYs it is waiting on never get data again.32 Note, it is possible for the manager thread to never unblock if its current interest set never changes, \eg the sockets/pipes/ttys it is waiting on never get data again. 33 33 Often the I/O manager has a timeout, polls, or is sent a signal on changes to mitigate this problem. 34 35 \begin{comment} 36 From: Tim Brecht <brecht@uwaterloo.ca> 37 Subject: Re: FD sets 38 Date: Wed, 6 Jul 2022 00:29:41 +0000 39 40 Large number of open files 41 -------------------------- 42 43 In order to be able to use more than the default number of open file 44 descriptors you may need to: 45 46 o increase the limit on the total number of open files /proc/sys/fs/file-max 47 (on Linux systems) 48 49 o increase the size of FD_SETSIZE 50 - the way I often do this is to figure out which include file __FD_SETSIZE 51 is defined in, copy that file into an appropriate directory in ./include, 52 and then modify it so that if you use -DBIGGER_FD_SETSIZE the larger size 53 gets used 54 55 For example on a RH 9.0 distribution I've copied 56 /usr/include/bits/typesizes.h into ./include/i386-linux/bits/typesizes.h 57 58 Then I modify typesizes.h to look something like: 59 60 #ifdef BIGGER_FD_SETSIZE 61 #define __FD_SETSIZE 32767 62 #else 63 #define __FD_SETSIZE 1024 64 #endif 65 66 Note that the since I'm moving and testing the userver on may different 67 machines the Makefiles are set up to use -I ./include/$(HOSTTYPE) 68 69 This way if you redefine the FD_SETSIZE it will get used instead of the 70 default original file. 71 \end{comment} 34 72 35 73 \paragraph{\lstinline{poll}} is the next oldest option, and takes as input an array of structures containing the FD numbers rather than their position in an array of bits, allowing a more compact input for interest sets that contain widely spaced FDs. 36 74 For small interest sets with densely packed FDs, the @select@ bit mask can take less storage, and hence, copy less information into the kernel. 37 Furthermore, @poll@ is non-destructive, so the array of structures does not have to be re-initialize don every call.38 Like @select@, @poll@ suffers from the limitation that the interest set cannot be changed by other \gls pl{kthrd}, while a manager thread is blocked in @poll@.75 Furthermore, @poll@ is non-destructive, so the array of structures does not have to be re-initialize on every call. 76 Like @select@, @poll@ suffers from the limitation that the interest set cannot be changed by other \gls{kthrd}, while a manager thread is blocked in @poll@. 39 77 40 78 \paragraph{\lstinline{epoll}} follows after @poll@, and places the interest set in the kernel rather than the application, where it is managed by an internal \gls{kthrd}. … … 46 84 However, all three of these I/O systems have limitations. 47 85 The @man@ page for @O_NONBLOCK@ mentions that ``[@O_NONBLOCK@] has no effect for regular files and block devices'', which means none of these three system calls are viable multiplexing strategies for these types of \io operations. 48 Furthermore, TTYs can also be tricky to use since they can take different forms based on how the command is executed. 49 For example, @epoll@ rejects FDs pointing to regular files or block devices, which includes @stdin@ when using shell redirections~\cite[\S~3.6]{MAN:bash}, but does not reject shell pipelines~\cite[\S~3.2.3]{MAN:bash}, which includes pipelines into @stdin@. 86 Furthermore, @epoll@ has been shown to have problems with pipes and ttys~\cit{Peter's examples in some fashion}. 50 87 Finally, none of these are useful solutions for multiplexing \io operations that do not have a corresponding file descriptor and can be awkward for operations using multiple file descriptors. 51 88 … … 53 90 An alternative to @O_NONBLOCK@ is the AIO interface. 54 91 Its interface lets programmers enqueue operations to be performed asynchronously by the kernel. 55 Completions of these operations can be communicated in various ways: either by spawning a new \gls{kthrd}, sending a Linux signal, or polling for completion of one or more operations.56 For this work, spawning a new \gls{kthrd} is counter productive but a related solution is discussed in Section~\ref{io:morethreads}.57 Using interrupt handlers can also lead to fairly complicated interactions between subsystems and has anon-trivial cost.92 Completions of these operations can be communicated in various ways: either by spawning a new \gls{kthrd}, sending a Linux signal, or by polling for completion of one or more operation. 93 For this work, spawning a new \gls{kthrd} is counter-productive but a related solution is discussed in Section~\ref{io:morethreads}. 94 Using interrupts handlers can also lead to fairly complicated interactions between subsystems and has non-trivial cost. 58 95 Leaving polling for completion, which is similar to the previous system calls. 59 96 AIO only supports read and write operations to file descriptors, it does not have the same limitation as @O_NONBLOCK@, \ie, the file descriptors can be regular files and blocked devices. 60 97 It also supports batching multiple operations in a single system call. 61 98 62 AIO offers two different approaches to polling: @aio_error@ can be used as a spinning form of polling, returning @EINPROGRESS@ until the operation is completed, and @aio_suspend@ can be used similarly to @select@, @poll@ or @epoll@, to wait until one or more requests have beencompleted.63 For \io multiplexing, @aio_suspend@ is the best interface.99 AIO offers two different approaches to polling: @aio_error@ can be used as a spinning form of polling, returning @EINPROGRESS@ until the operation is completed, and @aio_suspend@ can be used similarly to @select@, @poll@ or @epoll@, to wait until one or more requests have completed. 100 For the purpose of \io multiplexing, @aio_suspend@ is the best interface. 64 101 However, even if AIO requests can be submitted concurrently, @aio_suspend@ suffers from the same limitation as @select@ and @poll@, \ie, the interest set cannot be dynamically changed while a call to @aio_suspend@ is in progress. 65 AIO also suffers from the limitation of specifying which requests have beencompleted, \ie programmers have to poll each request in the interest set using @aio_error@ to identify the completed requests.102 AIO also suffers from the limitation of specifying which requests have completed, \ie programmers have to poll each request in the interest set using @aio_error@ to identify the completed requests. 66 103 This limitation means that, like @select@ and @poll@ but not @epoll@, the time needed to examine polling results increases based on the total number of requests monitored, not the number of completed requests. 67 104 Finally, AIO does not seem to be a popular interface, which I believe is due in part to this poor polling interface. … … 87 124 in 88 125 ``some kind of arbitrary \textit{queue up asynchronous system call} model''. 89 This description is quite close to the interface described in the next section.126 This description is actually quite close to the interface described in the next section. 90 127 91 128 \subsection{\lstinline{io_uring}} … … 98 135 In addition to supporting reads and writes to any file descriptor like AIO, it supports other operations like @open@, @close@, @fsync@, @accept@, @connect@, @send@, @recv@, @splice@, \etc. 99 136 100 On top of these, @io_uring@ adds many extras like avoiding copies between the kernel and user space using shared memory, allowing different mechanisms to communicate with device drivers, and supporting chains of requests, \ie, requests that automatically trigger follow-up requests on completion.137 On top of these, @io_uring@ adds many extras like avoiding copies between the kernel and user-space using shared memory, allowing different mechanisms to communicate with device drivers, and supporting chains of requests, \ie, requests that automatically trigger followup requests on completion. 101 138 102 139 \subsection{Extra Kernel Threads}\label{io:morethreads} 103 Finally, if the operating system does not offer a satisfactory form of asynchronous \io operations, an ad hoc solution is to create a pool of \glspl{kthrd} and delegate operations to it to avoid blocking \glspl{proc}, which is a compromise for multiplexing.104 In the worst case, where all \ atsare consistently blocking on \io, it devolves into 1-to-1 threading.105 However, regardless of the frequency of \io operations, it achieves the fundamental goal of not blocking \glspl{proc} when \ atsare ready to run.106 This approach is used by languages like Go ~\cite{GITHUB:go}, frameworks like libuv~\cite{libuv}, and web servers like Apache~\cite{apache} and NGINX~\cite{nginx}, since it has the advantage that it can easily be used across multiple operating systems.140 Finally, if the operating system does not offer a satisfactory form of asynchronous \io operations, an ad-hoc solution is to create a pool of \glspl{kthrd} and delegate operations to it to avoid blocking \glspl{proc}, which is a compromise for multiplexing. 141 In the worst case, where all \glspl{thrd} are consistently blocking on \io, it devolves into 1-to-1 threading. 142 However, regardless of the frequency of \io operations, it achieves the fundamental goal of not blocking \glspl{proc} when \glspl{thrd} are ready to run. 143 This approach is used by languages like Go\cit{Go}, frameworks like libuv\cit{libuv}, and web servers like Apache~\cite{apache} and Nginx~\cite{nginx}, since it has the advantage that it can easily be used across multiple operating systems. 107 144 This advantage is especially relevant for languages like Go, which offer a homogeneous \glsxtrshort{api} across all platforms. 108 As opposed to C, which has a very limited standard \glsxtrshort{api}for \io, \eg, the C standard library has no networking.145 As opposed to C, which has a very limited standard api for \io, \eg, the C standard library has no networking. 109 146 110 147 \subsection{Discussion} 111 148 These options effectively fall into two broad camps: waiting for \io to be ready versus waiting for \io to complete. 112 149 All operating systems that support asynchronous \io must offer an interface along one of these lines, but the details vary drastically. 113 For example, Free BSD offers @kqueue@~\cite{MAN:bsd/kqueue}, which behaves similarly to @epoll@, but with some small quality of use improvements, while Windows (Win32)~\cit e{win:overlap} offers ``overlapped I/O'', which handles submissions similarly to @O_NONBLOCK@ with extra flags on the synchronous system call, but waits for completion events, similarly to @io_uring@.150 For example, Free BSD offers @kqueue@~\cite{MAN:bsd/kqueue}, which behaves similarly to @epoll@, but with some small quality of use improvements, while Windows (Win32)~\cit{https://docs.microsoft.com/en-us/windows/win32/fileio/synchronous-and-asynchronous-i-o} offers ``overlapped I/O'', which handles submissions similarly to @O_NONBLOCK@ with extra flags on the synchronous system call, but waits for completion events, similarly to @io_uring@. 114 151 115 152 For this project, I selected @io_uring@, in large parts because of its generality. 116 While @epoll@ has been shown to be a good solution for socket \io (\cite{ Karsten20}), @io_uring@'s transparent support for files, pipes, and more complex operations, like @splice@ and @tee@, make it a better choice as the foundation for a general \io subsystem.153 While @epoll@ has been shown to be a good solution for socket \io (\cite{DBLP:journals/pomacs/KarstenB20}), @io_uring@'s transparent support for files, pipes, and more complex operations, like @splice@ and @tee@, make it a better choice as the foundation for a general \io subsystem. 117 154 118 155 \section{Event-Engine} 119 156 An event engine's responsibility is to use the kernel interface to multiplex many \io operations onto few \glspl{kthrd}. 120 In concrete terms, this means \ ats enter the engine through an interface, the event engine then starts an operation and parks the calling \ats, returning control to the \gls{proc}.121 The parked \ ats are then rescheduled by the event engine once the desired operation has beencompleted.122 123 \subsection{\lstinline{io_uring} in depth} \label{iouring}157 In concrete terms, this means \glspl{thrd} enter the engine through an interface, the event engine then starts an operation and parks the calling \glspl{thrd}, returning control to the \gls{proc}. 158 The parked \glspl{thrd} are then rescheduled by the event engine once the desired operation has completed. 159 160 \subsection{\lstinline{io_uring} in depth} 124 161 Before going into details on the design of my event engine, more details on @io_uring@ usage are presented, each important in the design of the engine. 125 162 Figure~\ref{fig:iouring} shows an overview of an @io_uring@ instance. … … 134 171 \centering 135 172 \input{io_uring.pstex_t} 136 \caption[Overview of \lstinline{io_uring}]{Overview of \lstinline{io_uring} \smallskip\newline Two ring buffer sare used to communicate with the kernel, one for completions~(right) and one for submissions~(left). The submission ring indexes into a pre-allocated array (denoted \emph{S}) instead.}173 \caption[Overview of \lstinline{io_uring}]{Overview of \lstinline{io_uring} \smallskip\newline Two ring buffer are used to communicate with the kernel, one for completions~(right) and one for submissions~(left). The submission ring indexes into a pre-allocated array (denoted \emph{S}) instead.} 137 174 \label{fig:iouring} 138 175 \end{figure} … … 147 184 \item 148 185 The SQE is filled according to the desired operation. 149 This step is straight forward.150 The only detail worth mentioning is that SQEs have a @user_data@ field that must be filled to match submission and completion entries.186 This step is straight forward. 187 The only detail worth mentioning is that SQEs have a @user_data@ field that must be filled in order to match submission and completion entries. 151 188 \item 152 189 The SQE is submitted to the submission ring by appending the index of the SQE to the ring following regular ring buffer steps: \lstinline{buffer[head] = item; head++}. … … 170 207 171 208 The @io_uring_enter@ system call is protected by a lock inside the kernel. 172 This protection means that concurrent call sto @io_uring_enter@ using the same instance are possible, but there is no performance gained from parallel calls to @io_uring_enter@.209 This protection means that concurrent call to @io_uring_enter@ using the same instance are possible, but there is no performance gained from parallel calls to @io_uring_enter@. 173 210 It is possible to do the first three submission steps in parallel; 174 211 however, doing so requires careful synchronization. … … 179 216 This restriction means \io request bursts may have to be subdivided and submitted in chunks at a later time. 180 217 181 An important detail to keep in mind is that just like ``The cloud is just someone else's computer''\cite{xkcd:cloud}, asynchronous operations are just operations using someone else's threads.182 Indeed, asynchronous operations can require computation time to complete, which means that if this time is not taken from the thread that triggered the asynchronous operation, it must be taken from some other threads.183 In this case, the @io_uring@ operations that cannot be handled directly in the system call must be delegated to some other \gls{kthrd}.184 To this end, @io_uring@ maintains multiple \glspl{kthrd} inside the kernel that are not exposed to the user.185 Three kinds of operations that can need the \glspl{kthrd}:186 187 \paragraph{Operations using} @IOSQE_ASYNC@.188 This is a straightforward case, users can explicitly set the @IOSQE_ASYNC@ flag on an SQE to specify that it \emph{must} be delegated to a different \gls{kthrd}.189 190 \paragraph{Bounded operations.}191 This is also a fairly simple case. As mentioned earlier in this chapter, [@O_NONBLOCK@] has no effect for regular files and block devices.192 @io_uring@ must also take this reality into account by delegating operations on regular files and block devices.193 In fact, @io_uring@ maintains a pool of \glspl{kthrd} dedicated to these operations, which are referred to as \newterm{bounded workers}.194 195 \paragraph{Unbounded operations that must be retried.}196 While operations like reads on sockets can return @EAGAIN@ instead of blocking the \gls{kthrd}, in the case these operations return @EAGAIN@ they must be retried by @io_uring@ once the data is available on the socket.197 Since this retry cannot necessarily be done in the system call, @io_uring@ must delegate these calls to a \gls{kthrd}.198 @io_uring@ maintains a separate pool for these operations.199 The \glspl{kthrd} in this pool are referred to as \newterm{unbounded workers}.200 Unbounded workers are also responsible for handling operations using @IOSQE_ASYNC@.201 202 @io_uring@ implicitly spawns and joins both the bounded and unbounded workers based on its evaluation of the needs of the workload.203 This effectively encapsulates the work that is needed when using @epoll@.204 Indeed, @io_uring@ does not change Linux's underlying handling of \io operations, it simply offers an asynchronous \glsxtrshort{api} on top of the existing system.205 206 207 218 \subsection{Multiplexing \io: Submission} 208 219 209 The submission side is the most complicated aspect of @io_uring@ and the completion side effectively follows from the design decisions made on the submission side.220 The submission side is the most complicated aspect of @io_uring@ and the completion side effectively follows from the design decisions made in the submission side. 210 221 While there is freedom in designing the submission side, there are some realities of @io_uring@ that must be taken into account. 211 222 It is possible to do the first steps of submission in parallel; … … 218 229 As described in Chapter~\ref{practice}, this does not translate into constant CPU usage.}. 219 230 Note that once an operation completes, there is nothing that ties it to the @io_uring@ instance that handled it. 220 Nothing preventing a new operation, with for example the same file descriptor, to usea different @io_uring@ instance.231 There is nothing preventing a new operation with, \eg the same file descriptors to a different @io_uring@ instance. 221 232 222 233 A complicating aspect of submission is @io_uring@'s support for chains of operations, where the completion of an operation triggers the submission of the next operation on the link. … … 226 237 Support for this feature can be fulfilled simply by supporting arbitrary user code between allocation and submission. 227 238 228 Similar to scheduling, sharding @io_uring@ instances can be done privately, \ie, one instance per \ proc, in decoupled pools, \ie, a pool of \procs usinga pool of @io_uring@ instances without one-to-one coupling between any given instance and any given \gls{proc}, or some mix of the two.239 Similar to scheduling, sharding @io_uring@ instances can be done privately, \ie, one instance per \glspl{proc}, in decoupled pools, \ie, a pool of \glspl{proc} use a pool of @io_uring@ instances without one-to-one coupling between any given instance and any given \gls{proc}, or some mix of the two. 229 240 These three sharding approaches are analyzed. 230 241 231 242 \subsubsection{Private Instances} 232 243 The private approach creates one ring instance per \gls{proc}, \ie one-to-one coupling. 233 This alleviates the need for synchronization on the submissions, requiring only that \ atsare not time-sliced during submission steps.234 This requirement is the same as accessing @thread_local@ variables, where a \ atis accessing kernel-thread data, is time-sliced, and continues execution on another kernel thread but is now accessing the wrong data.235 This failure is the \newterm{serially reusable problem}~\cite{SeriallyReusable}.236 Hence, allocated SQEs must be submitted to the same ring on the same \gls{proc}, which effectively forces the application to submit SQEs in order of allocation.\footnote{237 To remove this requirement, a \ at needs the ability to ``yield to a specific \gls{proc}'', \ie, \park with the guarantee it unparks on a specific \gls{proc}, \ie the \gls{proc} attached to the correct ring.}244 This alleviates the need for synchronization on the submissions, requiring only that \glspl{thrd} are not time-sliced during submission steps. 245 This requirement is the same as accessing @thread_local@ variables, where a \gls{thrd} is accessing kernel-thread data, is time-sliced, and continues execution on another kernel thread but is now accessing the wrong data. 246 This failure is the serially reusable problem~\cite{SeriallyReusable}. 247 Hence, allocated SQEs must be submitted to the same ring on the same \gls{proc}, which effectively forces the application to submit SQEs in allocation order.\footnote{ 248 To remove this requirement, a \gls{thrd} needs the ability to ``yield to a specific \gls{proc}'', \ie, park with the guarantee it unparks on a specific \gls{proc}, \ie the \gls{proc} attached to the correct ring.} 238 249 From the subsystem's point of view, the allocation and submission are sequential, greatly simplifying both. 239 250 In this design, allocation and submission form a partitioned ring buffer as shown in Figure~\ref{fig:pring}. 240 Once added to the ring buffer, the attached \gls{proc} has a significant amount of flexibility with regard to when to perform the system call.241 Possible options are: when the \gls{proc} runs out of \ ats to run, after running a given number of \ats, \etc.251 Once added to the ring buffer, the attached \gls{proc} has a significant amount of flexibility with regards to when to perform the system call. 252 Possible options are: when the \gls{proc} runs out of \glspl{thrd} to run, after running a given number of \glspl{thrd}, \etc. 242 253 243 254 \begin{figure} 244 255 \centering 245 256 \input{pivot_ring.pstex_t} 246 \caption[Partitioned ring buffer]{Partitioned ring buffer \smallskip\newline Allocated sqes are append edto the first partition.257 \caption[Partitioned ring buffer]{Partitioned ring buffer \smallskip\newline Allocated sqes are appending to the first partition. 247 258 When submitting, the partition is advanced. 248 259 The kernel considers the partition as the head of the ring.} … … 251 262 252 263 This approach has the advantage that it does not require much of the synchronization needed in a shared approach. 253 However, this benefit means \ ats submitting \io operations have less flexibility: they cannot \park or yield, and several exceptional cases are handled poorly.254 Instances running out of SQEs cannot run \ atswanting to do \io operations.255 In this case, the \io \ atneeds to be moved to a different \gls{proc}, and the only current way of achieving this is to @yield()@ hoping to be scheduled on a different \gls{proc} with free SQEs, which is not guaranteed.264 However, this benefit means \glspl{thrd} submitting \io operations have less flexibility: they cannot park or yield, and several exceptional cases are handled poorly. 265 Instances running out of SQEs cannot run \glspl{thrd} wanting to do \io operations. 266 In this case, the \io \gls{thrd} needs to be moved to a different \gls{proc}, and the only current way of achieving this is to @yield()@ hoping to be scheduled on a different \gls{proc} with free SQEs, which is not guaranteed. 256 267 257 268 A more involved version of this approach tries to solve these problems using a pattern called \newterm{helping}. 258 \ ats that cannot submit \io operations, either because of an allocation failure or \glslink{atmig}{migration}to a different \gls{proc} between allocation and submission, create an \io object and add it to a list of pending submissions per \gls{proc} and a list of pending allocations, probably per cluster.259 While there is still a strong coupling between \glspl{proc} and @io_uring@ instances, these data structures allow moving \atsto a specific \gls{proc}, when the current \gls{proc} cannot fulfill the \io request.260 261 Imagine a simple scenario with two \ ats on two \glspl{proc}, where one \at submits an \io operation and then sets a flag, while the other \atspins until the flag is set.262 Assume both \ ats are running on the same \gls{proc}, and the \io \at is preempted between allocation and submission, moved to the second \gls{proc}, and the original \gls{proc} starts running the spinning \at.263 In this case, the helping solution has the \io \ atappend an \io object to the submission list of the first \gls{proc}, where the allocation was made.264 No other \gls{proc} can help the \ atsince @io_uring@ instances are strongly coupled to \glspl{proc}.265 However, the \io \gls{proc} is unable to help because it is executing the spinning \ atresulting in a deadlock.266 While this example is artificial, in the presence of many \ ats, this problem canarise ``in the wild''.269 \Glspl{thrd} that cannot submit \io operations, either because of an allocation failure or migration to a different \gls{proc} between allocation and submission, create an \io object and add it to a list of pending submissions per \gls{proc} and a list of pending allocations, probably per cluster. 270 While there is still the strong coupling between \glspl{proc} and @io_uring@ instances, these data structures allow moving \glspl{thrd} to a specific \gls{proc}, when the current \gls{proc} cannot fulfill the \io request. 271 272 Imagine a simple scenario with two \glspl{thrd} on two \glspl{proc}, where one \gls{thrd} submits an \io operation and then sets a flag, while the other \gls{thrd} spins until the flag is set. 273 Assume both \glspl{thrd} are running on the same \gls{proc}, and the \io \gls{thrd} is preempted between allocation and submission, moved to the second \gls{proc}, and the original \gls{proc} starts running the spinning \gls{thrd}. 274 In this case, the helping solution has the \io \gls{thrd} append an \io object to the submission list of the first \gls{proc}, where the allocation was made. 275 No other \gls{proc} can help the \gls{thrd} since @io_uring@ instances are strongly coupled to \glspl{proc}. 276 However, the \io \gls{proc} is unable to help because it is executing the spinning \gls{thrd} resulting in a deadlock. 277 While this example is artificial, in the presence of many \glspl{thrd}, it is possible for this problem to arise ``in the wild''. 267 278 Furthermore, this pattern is difficult to reliably detect and avoid. 268 Once in this situation, the only escape is to interrupt the spinning \at, either directly or via some regular preemption, \eg time slicing.269 Having to interrupt \ atsfor this purpose is costly, the latency can be large between interrupts, and the situation may be hard to detect.279 Once in this situation, the only escape is to interrupted the spinning \gls{thrd}, either directly or via some regular preemption, \eg time slicing. 280 Having to interrupt \glspl{thrd} for this purpose is costly, the latency can be large between interrupts, and the situation may be hard to detect. 270 281 Interrupts are needed here entirely because the \gls{proc} is tied to an instance it is not using. 271 Therefore, a more satisfying solution is for the \ atsubmitting the operation to notice that the instance is unused and simply go ahead and use it.282 Therefore, a more satisfying solution is for the \gls{thrd} submitting the operation to notice that the instance is unused and simply go ahead and use it. 272 283 This approach is presented shortly. 273 284 274 285 \subsubsection{Public Instances} 275 286 The public approach creates decoupled pools of @io_uring@ instances and processors, \ie without one-to-one coupling. 276 \ atsattempting an \io operation pick one of the available instances and submit the operation to that instance.277 Since there is no coupling between @io_uring@ instances and \glspl{proc} in this approach, \ atsrunning on more than one \gls{proc} can attempt to submit to the same instance concurrently.287 \Glspl{thrd} attempting an \io operation pick one of the available instances and submit the operation to that instance. 288 Since there is no coupling between @io_uring@ instances and \glspl{proc} in this approach, \glspl{thrd} running on more than one \gls{proc} can attempt to submit to the same instance concurrently. 278 289 Because @io_uring@ effectively sets the amount of sharding needed to avoid contention on its internal locks, performance in this approach is based on two aspects: 279 290 \begin{itemize} … … 282 293 \item 283 294 The scheme to route \io requests to specific @io_uring@ instances does not introduce contention. 284 This aspect has oversized importance because it comes into play before the sharding of instances, and as such, all \glspl{hthrd} can contend on the routing algorithm.295 This aspect has an oversized importance because it comes into play before the sharding of instances, and as such, all \glspl{hthrd} can contend on the routing algorithm. 285 296 \end{itemize} 286 297 287 298 Allocation in this scheme is fairly easy. 288 Free SQEs, \ie, SQEs that are not currently being used to represent a request, can be written -to safely and have a field called @user_data@ that the kernel only reads to copy to CQEs.289 Allocation also does not require ordering guaranteesas all free SQEs are interchangeable.299 Free SQEs, \ie, SQEs that are not currently being used to represent a request, can be written to safely and have a field called @user_data@ that the kernel only reads to copy to @cqe@s. 300 Allocation also requires no ordering guarantee as all free SQEs are interchangeable. 290 301 The only added complexity is that the number of SQEs is fixed, which means allocation can fail. 291 302 292 Allocation failures need to be pushed to a routing algorithm: \ atsattempting \io operations must not be directed to @io_uring@ instances without sufficient SQEs available.293 Furthermore, the routing algorithm should block operations up frontif none of the instances have available SQEs.294 295 Once an SQE is allocated, \ ats insert the \io request informationand keep track of the SQE index and the instance it belongs to.296 297 Once an SQE is filled in, it is added to the submission ring buffer, an operation that is not thread safe, and then the kernel must be notified using the @io_uring_enter@ system call.298 The submission ring buffer is the same size as the pre-allocated SQE buffer, therefore pushing to the ring buffer cannot fail because it would mean a n SQEmultiple times in the ring buffer, which is undefined behaviour.299 However, as mentioned, the system call itself can fail with the expectation that it can be retried once some submitted operations arecomplete.303 Allocation failures need to be pushed to a routing algorithm: \glspl{thrd} attempting \io operations must not be directed to @io_uring@ instances without sufficient SQEs available. 304 Furthermore, the routing algorithm should block operations up-front, if none of the instances have available SQEs. 305 306 Once an SQE is allocated, \glspl{thrd} insert the \io request information, and keep track of the SQE index and the instance it belongs to. 307 308 Once an SQE is filled in, it is added to the submission ring buffer, an operation that is not thread-safe, and then the kernel must be notified using the @io_uring_enter@ system call. 309 The submission ring buffer is the same size as the pre-allocated SQE buffer, therefore pushing to the ring buffer cannot fail because it would mean a \lstinline{sqe} multiple times in the ring buffer, which is undefined behaviour. 310 However, as mentioned, the system call itself can fail with the expectation that it can be retried once some submitted operations complete. 300 311 301 312 Since multiple SQEs can be submitted to the kernel at once, it is important to strike a balance between batching and latency. 302 Operations that are ready to be submitted should be batched together in few system calls, but at the same time, operations should not be left pending for long period s before being submitted.303 Balancing submission can be handled by either designating one of the submitting \ ats as the \at responsible for the system call for the current batch of SQEs or by having some other party regularly submit all ready SQEs, \eg, the poller \atmentioned later in this section.304 305 Ideally, when multiple \ ats attempt to submit operations to the same @io_uring@ instance, all requests should be batched together and one of the \atsis designated to do the system call on behalf of the others, called the \newterm{submitter}.313 Operations that are ready to be submitted should be batched together in few system calls, but at the same time, operations should not be left pending for long period of times before being submitted. 314 Balancing submission can be handled by either designating one of the submitting \glspl{thrd} as the being responsible for the system call for the current batch of SQEs or by having some other party regularly submitting all ready SQEs, \eg, the poller \gls{thrd} mentioned later in this section. 315 316 Ideally, when multiple \glspl{thrd} attempt to submit operations to the same @io_uring@ instance, all requests should be batched together and one of the \glspl{thrd} is designated to do the system call on behalf of the others, called the \newterm{submitter}. 306 317 However, in practice, \io requests must be handed promptly so there is a need to guarantee everything missed by the current submitter is seen by the next one. 307 Indeed, as long as there is a ``next'' submitter, \ atssubmitting new \io requests can move on, knowing that some future system call includes their request.308 Once the system call is done, the submitter must also free SQEs so that the allocator can reuse them.309 310 Finally, the completion side is much simpler since the @io_uring@ system call enforces a natural synchronization point.311 Polling simply needs to regularly do the system call, go through the produced CQEs and communicate the result back to the originating \ ats.312 Since CQEs only own a signed 32 -bit result, in addition to the copy of the @user_data@ field, all that is needed to communicate the result is a simple future~\cite{wiki:future}.318 Indeed, as long as there is a ``next'' submitter, \glspl{thrd} submitting new \io requests can move on, knowing that some future system call includes their request. 319 Once the system call is done, the submitter must also free SQEs so that the allocator can reused them. 320 321 Finally, the completion side is much simpler since the @io_uring@ system-call enforces a natural synchronization point. 322 Polling simply needs to regularly do the system call, go through the produced CQEs and communicate the result back to the originating \glspl{thrd}. 323 Since CQEs only own a signed 32 bit result, in addition to the copy of the @user_data@ field, all that is needed to communicate the result is a simple future~\cite{wiki:future}. 313 324 If the submission side does not designate submitters, polling can also submit all SQEs as it is polling events. 314 A simple approach to polling is to allocate a \ at per @io_uring@ instance and simply let the poller \atspoll their respective instances when scheduled.325 A simple approach to polling is to allocate a \gls{thrd} per @io_uring@ instance and simply let the poller \glspl{thrd} poll their respective instances when scheduled. 315 326 316 327 With the pool of SEQ instances approach, the big advantage is that it is fairly flexible. 317 It does not impose restrictions on what \ atssubmitting \io operations can and cannot do between allocations and submissions.328 It does not impose restrictions on what \glspl{thrd} submitting \io operations can and cannot do between allocations and submissions. 318 329 It also can gracefully handle running out of resources, SQEs or the kernel returning @EBUSY@. 319 The down side to this approach is that many of the steps used for submitting need complex synchronization to work properly.320 The routing and allocation algorithm needs to keep track of which ring instances have available SQEs, block incoming requests if no instance is available, prevent barging if \ atsare already queued up waiting for SQEs and handle SQEs being freed.330 The down side to this approach is that many of the steps used for submitting need complex synchronization to work properly. 331 The routing and allocation algorithm needs to keep track of which ring instances have available SQEs, block incoming requests if no instance is available, prevent barging if \glspl{thrd} are already queued up waiting for SQEs and handle SQEs being freed. 321 332 The submission side needs to safely append SQEs to the ring buffer, correctly handle chains, make sure no SQE is dropped or left pending forever, notify the allocation side when SQEs can be reused, and handle the kernel returning @EBUSY@. 322 Compared to the private-instance approach, all this synchronization has a significant costthis synchronization is entirely overhead.333 All this synchronization has a significant cost, and compared to the private-instance approach, this synchronization is entirely overhead. 323 334 324 335 \subsubsection{Instance borrowing} 325 336 Both of the prior approaches have undesirable aspects that stem from tight or loose coupling between @io_uring@ and \glspl{proc}. 326 337 The first approach suffers from tight coupling causing problems when a \gls{proc} does not benefit from the coupling. 327 The second approach suffers from loose coupling scausing operations to have synchronization overhead, which tighter coupling avoids.338 The second approach suffers from loose coupling causing operations to have synchronization overhead, which tighter coupling avoids. 328 339 When \glspl{proc} are continuously issuing \io operations, tight coupling is valuable since it avoids synchronization costs. 329 340 However, in unlikely failure cases or when \glspl{proc} are not using their instances, tight coupling is no longer advantageous. … … 333 344 334 345 In this approach, each cluster, see Figure~\ref{fig:system}, owns a pool of @io_uring@ instances managed by an \newterm{arbiter}. 335 When a \ atattempts to issue an \io operation, it ask for an instance from the arbiter and issues requests to that instance.336 This instance is now bound to the \gls{proc} the \ atis running on.337 This binding is kept until the arbiter decides to revoke it, taking back the instance and reverting the \gls{proc} to its initial \io state.346 When a \gls{thrd} attempts to issue an \io operation, it ask for an instance from the arbiter and issues requests to that instance. 347 This instance is now bound to the \gls{proc} the \gls{thrd} is running on. 348 This binding is kept until the arbiter decides to revoke it, taking back the instance and reverting the \gls{proc} to its initial state with respect to \io. 338 349 This tight coupling means that synchronization can be minimal since only one \gls{proc} can use the instance at a time, akin to the private instances approach. 339 350 However, it differs in that revocation by the arbiter means this approach does not suffer from the deadlock scenario described above. … … 343 354 \item The current \gls{proc} does not hold an instance. 344 355 \item The current instance does not have sufficient SQEs to satisfy the request. 345 \item The current \gls{proc} has a wrong instance, this happens if the submitting \ atcontext-switched between allocation and submission, called \newterm{external submissions}.356 \item The current \gls{proc} has a wrong instance, this happens if the submitting \gls{thrd} context-switched between allocation and submission, called \newterm{external submissions}. 346 357 \end{enumerate} 347 358 However, even when the arbiter is not directly needed, \glspl{proc} need to make sure that their instance ownership is not being revoked, which is accomplished by a lock-\emph{less} handshake.\footnote{ 348 Note the handshake is not lock -\emph{free} since it lacks the proper progress guarantee.}359 Note the handshake is not lock \emph{free} since it lacks the proper progress guarantee.} 349 360 A \gls{proc} raises a local flag before using its borrowed instance and checks if the instance is marked as revoked or if the arbiter has raised its flag. 350 361 If not, it proceeds, otherwise it delegates the operation to the arbiter. … … 352 363 353 364 Correspondingly, before revoking an instance, the arbiter marks the instance and then waits for the \gls{proc} using it to lower its local flag. 354 Only then does it reclaim the instance and potentially assign it to an other \gls{proc}.365 Only then does it reclaim the instance and potentially assign it to an other \gls{proc}. 355 366 356 367 The arbiter maintains four lists around which it makes its decisions: … … 369 380 370 381 \paragraph{Pending Allocations} are handled by the arbiter when it has available instances and can directly hand over the instance and satisfy the request. 371 Otherwise, it must hold on to the list of threads until SQEs are made available again.382 Otherwise, it must hold onto the list of threads until SQEs are made available again. 372 383 This handling is more complex when an allocation requires multiple SQEs, since the arbiter must make a decision between satisfying requests in FIFO ordering or for fewer SQEs. 373 384 374 385 While an arbiter has the potential to solve many of the problems mentioned above, it also introduces a significant amount of complexity. 375 Tracking which processors are borrowing which instances and which instances have SQEs available ends up adding a significant synchronization prelude to any I/O operation.386 Tracking which processors are borrowing which instances and which instances have SQEs available ends-up adding a significant synchronization prelude to any I/O operation. 376 387 Any submission must start with a handshake that pins the currently borrowed instance, if available. 377 388 An attempt to allocate is then made, but the arbiter can concurrently be attempting to allocate from the same instance from a different \gls{hthrd}. 378 389 Once the allocation is completed, the submission must check that the instance is still burrowed before attempting to flush. 379 390 These synchronization steps turn out to have a similar cost to the multiple shared-instances approach. 380 Furthermore, if the number of instances does not match the number of processors actively submitting I/O, the system can fall into a state where instances are constantly being revoked and end up cycling the processors, which leads to significant cache deterioration.391 Furthermore, if the number of instances does not match the number of processors actively submitting I/O, the system can fall into a state where instances are constantly being revoked and end-up cycling the processors, which leads to significant cache deterioration. 381 392 For these reasons, this approach, which sounds promising on paper, does not improve on the private instance approach in practice. 393 394 \subsubsection{Private Instances V2} 395 396 % Verbs of this design 397 398 % Allocation: obtaining an sqe from which to fill in the io request, enforces the io instance to use since it must be the one which provided the sqe. Must interact with the arbiter if the instance does not have enough sqe for the allocation. (Typical allocation will ask for only one sqe, but chained sqe must be allocated from the same context so chains of sqe must be allocated in bulks) 399 400 % Submission: simply adds the sqe(s) to some data structure to communicate that they are ready to go. This operation can't fail because there are as many spots in the submit buffer than there are sqes. Must interact with the arbiter only if the thread was moved between the allocation and the submission. 401 402 % Flushing: Taking all the sqes that were submitted and making them visible to the kernel, also counting them in order to figure out what to_submit should be. Must be thread-safe with submission. Has to interact with the Arbiter if there are external submissions. Can't simply use a protected queue because adding to the array is not safe if the ring is still available for submitters. Flushing must therefore: check if there are external pending requests if so, ask the arbiter to flush otherwise use the fast flush operation. 403 404 % Collect: Once the system call is done, it returns how many sqes were consumed by the system. These must be freed for allocation. Must interact with the arbiter to notify that things are now ready. 405 406 % Handle: process all the produced cqe. No need to interact with any of the submission operations or the arbiter. 407 408 409 % alloc(): 410 % proc.io->in_use = true, __ATOMIC_ACQUIRE 411 % if cltr.io.flag || !proc.io || proc.io->flag: 412 % return alloc_slow(cltr.io, proc.io) 413 414 % a = alloc_fast(proc.io) 415 % if a: 416 % proc.io->in_use = false, __ATOMIC_RELEASE 417 % return a 418 419 % return alloc_slow(cltr.io) 420 421 % alloc_fast() 422 % left = proc.io->submit_q.free.tail - proc.io->submit_q.free.head 423 % if num_entries - left < want: 424 % return None 425 426 % a = ready[head] 427 % head = head + 1, __ATOMIC_RELEASE 428 429 % alloc_slow() 430 % cltr.io.flag = true, __ATOMIC_ACQUIRE 431 % while(proc.io && proc.io->in_use) pause; 432 433 434 435 % submit(a): 436 % proc.io->in_use = true, __ATOMIC_ACQUIRE 437 % if cltr.io.flag || proc.io != alloc.io || proc.io->flag: 438 % return submit_slow(cltr.io) 439 440 % submit_fast(proc.io, a) 441 % proc.io->in_use = false, __ATOMIC_RELEASE 442 443 % polling() 444 % loop: 445 % yield 446 % flush() 447 % io_uring_enter 448 % collect 449 % handle() 382 450 383 451 \section{Interface} 384 452 The last important part of the \io subsystem is its interface. 385 Multiple approachescan be offered to programmers, each with advantages and disadvantages.386 The new \io subsystem can replace the C runtime API or extend it, and in the lat ter case, the interface can go from very similar to vastly different.453 There are multiple approaches that can be offered to programmers, each with advantages and disadvantages. 454 The new \io subsystem can replace the C runtime API or extend it, and in the later case, the interface can go from very similar to vastly different. 387 455 The following sections discuss some useful options using @read@ as an example. 388 The standard Linux interface for C is :456 The standard Linux interface for C is : 389 457 \begin{cfa} 390 458 ssize_t read(int fd, void *buf, size_t count); … … 398 466 However, this approach also entails a plethora of subtle technical challenges, which generally boils down to making a perfect replacement. 399 467 If the \CFA interface replaces only \emph{some} of the calls to glibc, then this can easily lead to esoteric concurrency bugs. 400 Since the gcc ecosystem does not offer a scheme for perfect replacement, this approach was rejected as being laudable but infeasible.468 Since the gcc ecosystems does not offer a scheme for perfect replacement, this approach was rejected as being laudable but infeasible. 401 469 402 470 \subsection{Synchronous Extension} … … 409 477 It comes with the caveat that any code attempting to use it must be recompiled, which is a problem considering the amount of existing legacy C binaries. 410 478 However, it has the advantage of implementation simplicity. 411 Finally, there is a certain irony to using a blocking synchronous interface for a feature often referred to as ``non-blocking'' \io.479 Finally, there is a certain irony to using a blocking synchronous interfaces for a feature often referred to as ``non-blocking'' \io. 412 480 413 481 \subsection{Asynchronous Extension} … … 437 505 This offers more flexibility to users wanting to fully utilize all of the @io_uring@ features. 438 506 However, it is not the most user-friendly option. 439 It obviously imposes a strong dependency between user code and @io_uring@ but at the same time restrict susers to usages that are compatible with how \CFA internally uses @io_uring@.507 It obviously imposes a strong dependency between user code and @io_uring@ but at the same time restricting users to usages that are compatible with how \CFA internally uses @io_uring@. -
doc/theses/thierry_delisle_PhD/thesis/text/practice.tex
r4520b77e r12df6fe 16 16 } // delete 4 kernel threads 17 17 \end{cfa} 18 Dynamically allocated processors can be deleted a tany time, \ie their lifetime exceeds the block of creation.18 Dynamically allocated processors can be deleted an any time, \ie their lifetime exceeds the block of creation. 19 19 The consequence is that the scheduler and \io subsystems must know when these \procs come in and out of existence and roll them into the appropriate scheduling algorithms. 20 20 21 21 \section{Manual Resizing} 22 22 Manual resizing is expected to be a rare operation. 23 Programmers normally create/delete processors on a cluster at startup/teardown.23 Programmers normally create/delete processors on a clusters at startup/teardown. 24 24 Therefore, dynamically changing the number of \procs is an appropriate moment to allocate or free resources to match the new state. 25 25 As such, all internal scheduling arrays that are sized based on the number of \procs need to be @realloc@ed. 26 This requirement also means any references into these arrays, \eg pointers or indexes, may need to be updated if elements are moved for compaction or any other reason.26 This requirement also means any references into these arrays, \eg pointers or indexes, may need to be updated if elements are moved for compaction or for any other reason. 27 27 28 28 There are no performance requirements, within reason, for resizing since it is expected to be rare. 29 29 However, this operation has strict correctness requirements since updating and idle sleep can easily lead to deadlocks. 30 It should also avoid as much as possible any effect on performance when the number of \procs remain sconstant.30 It should also avoid as much as possible any effect on performance when the number of \procs remain constant. 31 31 This later requirement prohibits naive solutions, like simply adding a global lock to the ready-queue arrays. 32 32 33 33 \subsection{Read-Copy-Update} 34 34 One solution is to use the Read-Copy-Update pattern~\cite{wiki:rcu}. 35 In this pattern, resizing is done by creating a copy of the internal data structures, \eg see Figure~\ref{fig:base-ts2}, updating the copy with the desired changes, and then attempt ingan Indiana Jones Switch to replace the original with the copy.35 In this pattern, resizing is done by creating a copy of the internal data structures, \eg see Figure~\ref{fig:base-ts2}, updating the copy with the desired changes, and then attempt an Indiana Jones Switch to replace the original with the copy. 36 36 This approach has the advantage that it may not need any synchronization to do the switch. 37 37 However, there is a race where \procs still use the original data structure after the copy is switched. 38 This race not only requires adding a memory-reclamation scheme, butit also requires that operations made on the stale original version are eventually moved to the copy.38 This race not only requires adding a memory-reclamation scheme, it also requires that operations made on the stale original version are eventually moved to the copy. 39 39 40 40 Specifically, the original data structure must be kept until all \procs have witnessed the change. … … 42 42 If all operations need synchronization, then the overall cost of this technique is likely to be similar to an uncontended lock approach. 43 43 In addition to the classic challenge of memory reclamation, transferring the original data to the copy before reclaiming it poses additional challenges. 44 Especially merging sub -queues while having a minimal impact on fairness and locality.45 46 For example, given a linked list, having a node enqueued onto the original and new list is not necessarily a problem depending on the chosen list structure.44 Especially merging subqueues while having a minimal impact on fairness and locality. 45 46 For example, given a linked-list, having a node enqueued onto the original and new list is not necessarily a problem depending on the chosen list structure. 47 47 If the list supports arbitrary insertions, then inconsistencies in the tail pointer do not break the list; 48 48 however, ordering may not be preserved. … … 55 55 A simpler approach is to use a \newterm{Readers-Writer Lock}~\cite{wiki:rwlock}, where the resizing requires acquiring the lock as a writer while simply enqueueing/dequeuing \ats requires acquiring the lock as a reader. 56 56 Using a Readers-Writer lock solves the problem of dynamically resizing and leaves the challenge of finding or building a lock with sufficient good read-side performance. 57 Since this approach is not a very complex challenge and an ad hoc solution is perfectly acceptable, building a Readers-Writer lock was the path taken.57 Since this approach is not a very complex challenge and an ad-hoc solution is perfectly acceptable, building a Readers-Writer lock was the path taken. 58 58 59 59 To maximize reader scalability, readers should not contend with each other when attempting to acquire and release a critical section. 60 Achieving this goal requires that each reader have its own memory to mark as locked and unlocked. 61 The read-acquire possibly waits for a writer to finish the critical section and then acquires a reader's local spinlock. 62 The writer acquires the global lock, guaranteeing mutual exclusion among writers, and then acquires each of the local reader locks. 63 Acquiring all the local read-locks guarantees mutual exclusion among the readers and the writer, while the wait on the read side prevents readers from continuously starving the writer. 60 To achieve this goal requires each reader to have its own memory to mark as locked and unlocked. 61 The read acquire possibly waits for a writer to finish the critical section and then acquires a reader's local spinlock. 62 The write acquire acquires the global lock, guaranteeing mutual exclusion among writers, and then acquires each of the local reader locks. 63 Acquiring all the local read locks guarantees mutual exclusion among the readers and the writer, while the wait on the read side prevents readers from continuously starving the writer. 64 64 65 Figure~\ref{f:SpecializedReadersWriterLock} shows the outline for this specialized readers-writer lock. 65 66 The lock in nonblocking, so both readers and writers spin while the lock is held. 66 This very wide sharding strategy means that readers have very good locality since they only ever need to access two memory locations. 67 \todo{finish explanation} 67 68 68 69 \begin{figure} … … 98 99 \section{Idle-Sleep}\label{idlesleep} 99 100 While manual resizing of \procs is expected to be rare, the number of \ats can vary significantly over an application's lifetime, which means there are times when there are too few or too many \procs. 100 For this work, it is the program mer's responsibility to manually create \procs, so if there are too few \procs, the application must address this issue.101 For this work, it is the programer's responsibility to manually create \procs, so if there are too few \procs, the application must address this issue. 101 102 This leaves too many \procs when there are not enough \ats for all the \procs to be useful. 102 103 These idle \procs cannot be removed because their lifetime is controlled by the application, and only the application knows when the number of \ats may increase or decrease. … … 108 109 Because idle sleep is spurious, this data structure has strict performance requirements, in addition to strict correctness requirements. 109 110 Next, some mechanism is needed to block \glspl{kthrd}, \eg @pthread_cond_wait@ on a pthread semaphore. 110 The complexity here is to support \at \glslink{atblock}{parking} and \glslink{atsched}{unparking}, user-level locking, timers, \io operations, and all other \CFA features with minimal complexity.111 The complexity here is to support \at parking and unparking, user-level locking, timers, \io operations, and all other \CFA features with minimal complexity. 111 112 Finally, the scheduler needs a heuristic to determine when to block and unblock an appropriate number of \procs. 112 113 However, this third challenge is outside the scope of this thesis because developing a general heuristic is complex enough to justify its own work. 113 114 Therefore, the \CFA scheduler simply follows the ``Race-to-Idle''~\cite{Albers12} approach where a sleeping \proc is woken any time a \at becomes ready and \procs go to idle sleep anytime they run out of work. 114 115 An interesting subpart of this heuristic is what to do with bursts of \ats that become ready. 116 Since waking up a sleeping \proc can have notable latency, multiple \ats may become ready while a single \proc is waking up. 117 This fact begs the question, if many \procs are available, how many should be woken? 118 If the ready \ats will run longer than the wake-up latency, waking one \proc per \at will offer maximum parallelization. 119 If the ready \ats will run for a very short time, waking many \procs may be wasteful. 115 An interesting sub-part of this heuristic is what to do with bursts of \ats that become ready. 116 Since waking up a sleeping \proc can have notable latency, it is possible multiple \ats become ready while a single \proc is waking up. 117 This facts begs the question, if many \procs are available, how many should be woken? 118 If the ready \ats will run longer than the wake-up latency, waking one \proc per \at will offer maximum parallelisation. 119 If the ready \ats will run for a short very short time, waking many \procs may be wasteful. 120 120 As mentioned, a heuristic to handle these complex cases is outside the scope of this thesis, the behaviour of the scheduler in this particular case is left unspecified. 121 121 122 122 \section{Sleeping} 123 As usual, the corner stone of any feature related to the kernel is the choice of system call.123 As usual, the corner-stone of any feature related to the kernel is the choice of system call. 124 124 In terms of blocking a \gls{kthrd} until some event occurs, the Linux kernel has many available options. 125 125 126 126 \subsection{\lstinline{pthread_mutex}/\lstinline{pthread_cond}} 127 The classic option is to use some combination of the pthread mutual exclusion and synchronization locks, allowing a safe \park/\unpark of a \gls{kthrd} to/from a @pthread_cond@.127 The classic option is to use some combination of the pthread mutual exclusion and synchronization locks, allowing a safe park/unpark of a \gls{kthrd} to/from a @pthread_cond@. 128 128 While this approach works for \glspl{kthrd} waiting among themselves, \io operations do not provide a mechanism to signal @pthread_cond@s. 129 For \io results to wake a \proc waiting on a @pthread_cond@ means a different \gls {kthrd} must be woken up first, which then signals the \proc.129 For \io results to wake a \proc waiting on a @pthread_cond@ means a different \glspl{kthrd} must be woken up first, which then signals the \proc. 130 130 131 131 \subsection{\lstinline{io_uring} and Epoll} … … 137 137 138 138 \subsection{Event FDs} 139 Another interesting approach is to use an event file descriptor\cit e{MAN:eventfd}.139 Another interesting approach is to use an event file descriptor\cit{eventfd}. 140 140 This Linux feature is a file descriptor that behaves like \io, \ie, uses @read@ and @write@, but also behaves like a semaphore. 141 Indeed, all reads and writes must use word-sized values, \ie 64 or 32 bits.142 Writes \emph{add} their values to a buffer using arithmetic addition versus buffer append, and reads zero -out the buffer and return the buffer values so far.\footnote{141 Indeed, all reads and writes must use a word-sized values, \ie 64 or 32 bits. 142 Writes \emph{add} their values to a buffer using arithmetic addition versus buffer append, and reads zero out the buffer and return the buffer values so far.\footnote{ 143 143 This behaviour is without the \lstinline{EFD_SEMAPHORE} flag, which changes the behaviour of \lstinline{read} but is not needed for this work.} 144 144 If a read is made while the buffer is already 0, the read blocks until a non-0 value is added. … … 148 148 149 149 \section{Tracking Sleepers} 150 Tracking which \procs are in idle sleep requires a data structure holding all the sleeping \procs, but more importantly , it requires a concurrent \emph{handshake} so that no \at is stranded on a readyqueue with no active \proc.150 Tracking which \procs are in idle sleep requires a data structure holding all the sleeping \procs, but more importantly it requires a concurrent \emph{handshake} so that no \at is stranded on a ready-queue with no active \proc. 151 151 The classic challenge occurs when a \at is made ready while a \proc is going to sleep: there is a race where the new \at may not see the sleeping \proc and the sleeping \proc may not see the ready \at. 152 152 Since \ats can be made ready by timers, \io operations, or other events outside a cluster, this race can occur even if the \proc going to sleep is the only \proc awake. … … 154 154 155 155 The handshake closing the race is done with both the notifier and the idle \proc executing two ordered steps. 156 The notifier first make s sure the newly ready \at is visible to \procs searching for \ats, and then attemptsto notify an idle \proc.156 The notifier first make sure the newly ready \at is visible to \procs searching for \ats, and then attempt to notify an idle \proc. 157 157 On the other side, \procs make themselves visible as idle \procs and then search for any \ats they may have missed. 158 158 Unlike regular work-stealing, this search must be exhaustive to make sure that pre-existing \at is missed. 159 159 These steps from both sides guarantee that if the search misses a newly ready \at, then the notifier is guaranteed to see at least one idle \proc. 160 Convers ely, if the notifier does not see any idle \proc, then a \proc is guaranteed to find the new \at in its exhaustive search.160 Conversly, if the notifier does not see any idle \proc, then a \proc is guaranteed to find the new \at in its exhaustive search. 161 161 162 162 Furthermore, the ``Race-to-Idle'' approach means that there may be contention on the data structure tracking sleepers. 163 Contention can be tolerated for \procs attempting to sleep or wake up because these \procs are not doing useful work, and therefore, not contributing to overall performance.163 Contention can be tolerated for \procs attempting to sleep or wake-up because these \procs are not doing useful work, and therefore, not contributing to overall performance. 164 164 However, notifying, checking if a \proc must be woken-up, and doing so if needed, can significantly affect overall performance and must be low cost. 165 165 166 166 \subsection{Sleepers List} 167 167 Each cluster maintains a list of idle \procs, organized as a stack. 168 This ordering allows \procs at the tail to stay in idle sleep for extended period s while those at the head of the list wakeup for bursts of activity.168 This ordering allows \procs at the tail to stay in idle sleep for extended period of times while those at the head of the list wake-up for bursts of activity. 169 169 Because of unbalanced performance requirements, the algorithm tracking sleepers is designed to have idle \procs handle as much of the work as possible. 170 170 The idle \procs maintain the stack of sleepers among themselves and notifying a sleeping \proc takes as little work as possible. … … 173 173 174 174 This approach also simplifies notification. 175 Indeed, \procs not only need to be notif ied when a new \at is readied, but must alsobe notified during manual resizing, so the \gls{kthrd} can be joined.175 Indeed, \procs not only need to be notify when a new \at is readied, but also must be notified during manual resizing, so the \gls{kthrd} can be joined. 176 176 These requirements mean whichever entity removes idle \procs from the sleeper list must be able to do so in any order. 177 177 Using a simple lock over this data structure makes the removal much simpler than using a lock-free data structure. 178 The single lock also means the notification process simply needs to wake up the desired idle \proc, using @pthread_cond_signal@, @write@ on an @fd@, \etc, and the \proc handles the rest.178 The single lock also means the notification process simply needs to wake-up the desired idle \proc, using @pthread_cond_signal@, @write@ on an @fd@, \etc, and the \proc handles the rest. 179 179 180 180 \subsection{Reducing Latency} 181 As mentioned in this section, \procs going to sleep for extremely short periods is likely in certain scenarios.182 Therefore, the latency of doing a system call to read from and writ e to an event @fd@ can negatively affect overall performance notably.181 As mentioned in this section, \procs going to sleep for extremely short periods of time is likely in certain scenarios. 182 Therefore, the latency of doing a system call to read from and writing to an event @fd@ can negatively affect overall performance in a notable way. 183 183 Hence, it is important to reduce latency and contention of the notification as much as possible. 184 184 Figure~\ref{fig:idle1} shows the basic idle-sleep data structure. … … 205 205 The woken \proc then updates the atomic pointer, while it is updating the head of the list, as it removes itself from the list. 206 206 Notifiers that obtained a @NULL@ in the exchange simply move on knowing that another notifier is already waking a \proc. 207 This behaviour is equivalent to having multiple notifier swrite to the @fd@ since reads consume all previous writes.208 Note that with and without this atomic pointer, bursts of notification can lead to an unspecified number of \procs being woken up, depending on how the arrival notification compares with the latency of \procs waking up.207 This behaviour is equivalent to having multiple notifier write to the @fd@ since reads consume all previous writes. 208 Note that with and without this atomic pointer, bursts of notification can lead to an unspecified number of \procs being woken up, depending on how the arrival notification compares witht the latency of \procs waking up. 209 209 As mentioned in section~\ref{idlesleep}, there is no optimal approach to handle these bursts. 210 210 It is therefore difficult to justify the cost of any extra synchronization here. … … 217 217 \end{figure} 218 218 219 The next optimization is to avoid the latency of the event @fd@, which can be done by adding what is effectively a binary benaphore\cit e{schillings1996engineering} in front of the event @fd@.220 The benaphore over the event @fd@ logically provides a three -state flag to avoid unnecessary system calls, where the states are expressed explicitlyin Figure~\ref{fig:idle:state}.221 A \proc begins its idle sleep by adding itself to the idle list before searching for a \at.219 The next optimization is to avoid the latency of the event @fd@, which can be done by adding what is effectively a binary benaphore\cit{benaphore} in front of the event @fd@. 220 The benaphore over the event @fd@ logically provides a three state flag to avoid unnecessary system calls, where the states are expressed explicit in Figure~\ref{fig:idle:state}. 221 A \proc begins its idle sleep by adding itself to the idle list before searching for an \at. 222 222 In the process of adding itself to the idle list, it sets the state flag to @SEARCH@. 223 223 If no \ats can be found during the search, the \proc then confirms it is going to sleep by atomically swapping the state to @SLEEP@. 224 224 If the previous state is still @SEARCH@, then the \proc does read the event @fd@. 225 Meanwhile, notifiers atomically exchange the state to the@AWAKE@ state.225 Meanwhile, notifiers atomically exchange the state to @AWAKE@ state. 226 226 If the previous state is @SLEEP@, then the notifier must write to the event @fd@. 227 227 However, if the notify arrives almost immediately after the \proc marks itself idle, then both reads and writes on the event @fd@ can be omitted, which reduces latency notably. 228 These extensions lead to the final data structure shown in Figure~\ref{fig:idle}.228 These extensions leads to the final data structure shown in Figure~\ref{fig:idle}. 229 229 230 230 \begin{figure} 231 231 \centering 232 232 \input{idle_state.pstex_t} 233 \caption[Improved Idle-Sleep Latency]{Improved Idle-Sleep Latency \smallskip\newline A three -state flag is added to the event \lstinline{fd}.}233 \caption[Improved Idle-Sleep Latency]{Improved Idle-Sleep Latency \smallskip\newline A three state flag is added to the event \lstinline{fd}.} 234 234 \label{fig:idle:state} 235 235 \end{figure} -
doc/theses/thierry_delisle_PhD/thesis/text/runtime.tex
r4520b77e r12df6fe 1 \chapter{\CFA Runtime} \label{cfaruntime}1 \chapter{\CFA Runtime} 2 2 This chapter presents an overview of the capabilities of the \CFA runtime prior to this thesis work. 3 3 4 4 \section{C Threading} 5 5 6 \Celeven introduced threading features, such asthe @_Thread_local@ storage class, and libraries @stdatomic.h@ and @threads.h@.6 \Celeven introduced threading features, such the @_Thread_local@ storage class, and libraries @stdatomic.h@ and @threads.h@. 7 7 Interestingly, almost a decade after the \Celeven standard, the most recent versions of gcc, clang, and msvc do not support the \Celeven include @threads.h@, indicating no interest in the C11 concurrency approach (possibly because of the recent effort to add concurrency to \CC). 8 8 While the \Celeven standard does not state a threading model, the historical association with pthreads suggests implementations would adopt kernel-level threading (1:1)~\cite{ThreadModel}, as for \CC. … … 13 13 \section{M:N Threading}\label{prev:model} 14 14 15 Threading in \CFA is based on \Gls{uthrding}, where \ ats are the representation of a unit of work. As such, \CFA programmers should expect these units to be fairly inexpensive, \ie programmers should be able to create a large number of \ats and switch among \ats liberally without many performance concerns.15 Threading in \CFA is based on \Gls{uthrding}, where \glspl{thrd} are the representation of a unit of work. As such, \CFA programmers should expect these units to be fairly inexpensive, \ie programmers should be able to create a large number of \glspl{thrd} and switch among \glspl{thrd} liberally without many concerns for performance. 16 16 17 The \CFA M:N threading model is implemented using many user-level threads mapped onto fewer \glspl{kthrd}.17 The \CFA M:N threading models is implemented using many user-level threads mapped onto fewer \glspl{kthrd}. 18 18 The user-level threads have the same semantic meaning as a \glspl{kthrd} in the 1:1 model: they represent an independent thread of execution with its own stack. 19 The difference is that user-level threads do not have a corresponding object in the kernel; they are handled by the runtime in user space and scheduled onto \glspl{kthrd}, referred to as \glspl{proc} in this document. \Glspl{proc} run a \ at until it context switches out, it then chooses a different \atto run.19 The difference is that user-level threads do not have a corresponding object in the kernel; they are handled by the runtime in user space and scheduled onto \glspl{kthrd}, referred to as \glspl{proc} in this document. \Glspl{proc} run a \gls{thrd} until it context switches out, it then chooses a different \gls{thrd} to run. 20 20 21 21 \section{Clusters} 22 22 \CFA allows the option to group user-level threading, in the form of clusters. 23 Both \ atsand \glspl{proc} belong to a specific cluster.24 \Glspl{ at} are only scheduled onto \glspl{proc} in the same cluster and scheduling is done independently of other clusters.23 Both \glspl{thrd} and \glspl{proc} belong to a specific cluster. 24 \Glspl{thrd} are only scheduled onto \glspl{proc} in the same cluster and scheduling is done independently of other clusters. 25 25 Figure~\ref{fig:system} shows an overview of the \CFA runtime, which allows programmers to tightly control parallelism. 26 26 It also opens the door to handling effects like NUMA, by pinning clusters to a specific NUMA node\footnote{This capability is not currently implemented in \CFA, but the only hurdle left is creating a generic interface for CPU masks.}. … … 30 30 \input{system.pstex_t} 31 31 \end{center} 32 \caption[Overview of the \CFA runtime]{Overview of the \CFA runtime \newline \Glspl{ at} are scheduled inside a particular cluster and run on the \glspl{proc} that belong to the cluster. The discrete-event manager, which handles preemption and timeout, is a \gls{proc} that lives outside any cluster and does not run \ats.}32 \caption[Overview of the \CFA runtime]{Overview of the \CFA runtime \newline \Glspl{thrd} are scheduled inside a particular cluster and run on the \glspl{proc} that belong to the cluster. The discrete-event manager, which handles preemption and timeout, is a \gls{proc} that lives outside any cluster and does not run \glspl{thrd}.} 33 33 \label{fig:system} 34 34 \end{figure} … … 38 38 39 39 \section{\glsxtrshort{io}}\label{prev:io} 40 Prior to this work, the \CFA runtime did not add any particular support for \glsxtrshort{io} operations. While all \glsxtrshort{io} operations available in C are available in \CFA, \glsxtrshort{io} operations are designed for the POSIX threading model~\cite{pthreads}. Using these 1:1 threading operations in an M:N threading model means \glsxtrshort{io} operations block \glspl{proc} instead of \ ats. While this can work in certain cases, it limits the number of concurrent operations to the number of \glspl{proc} rather than \ats. It also means deadlock can occur because all \glspl{proc} are blocked even if at least one \atis ready to run. A simple example of this type of deadlock would be as follows:40 Prior to this work, the \CFA runtime did not add any particular support for \glsxtrshort{io} operations. While all \glsxtrshort{io} operations available in C are available in \CFA, \glsxtrshort{io} operations are designed for the POSIX threading model~\cite{pthreads}. Using these 1:1 threading operations in an M:N threading model means \glsxtrshort{io} operations block \glspl{proc} instead of \glspl{thrd}. While this can work in certain cases, it limits the number of concurrent operations to the number of \glspl{proc} rather than \glspl{thrd}. It also means deadlock can occur because all \glspl{proc} are blocked even if at least one \gls{thrd} is ready to run. A simple example of this type of deadlock would be as follows: 41 41 42 42 \begin{quote} 43 Given a simple network program with 2 \ ats and a single \gls{proc}, one \at sends network requests to a server and the other \atwaits for a response from the server.44 If the second \ atraces ahead, it may wait for responses to requests that have not been sent yet.45 In theory, this should not be a problem, even if the second \ at waits, because the first \atis still ready to run and should be able to get CPU time to send the request.46 With M:N threading, while the first \ at is ready, the lone \gls{proc} \emph{cannot} run the first \at if it is blocked in the \glsxtrshort{io} operation of the second \at.47 If this happen s, the system is in a synchronization deadlock\footnote{In this example, the deadlock could be resolved if the server sends unprompted messages to the client.43 Given a simple network program with 2 \glspl{thrd} and a single \gls{proc}, one \gls{thrd} sends network requests to a server and the other \gls{thrd} waits for a response from the server. 44 If the second \gls{thrd} races ahead, it may wait for responses to requests that have not been sent yet. 45 In theory, this should not be a problem, even if the second \gls{thrd} waits, because the first \gls{thrd} is still ready to run and should be able to get CPU time to send the request. 46 With M:N threading, while the first \gls{thrd} is ready, the lone \gls{proc} \emph{cannot} run the first \gls{thrd} if it is blocked in the \glsxtrshort{io} operation of the second \gls{thrd}. 47 If this happen, the system is in a synchronization deadlock\footnote{In this example, the deadlock could be resolved if the server sends unprompted messages to the client. 48 48 However, this solution is neither general nor appropriate even in this simple case.}. 49 49 \end{quote} 50 50 51 Therefore, one of the objective s of this work is to introduce \emph{User-Level \glsxtrshort{io}}, which like \glslink{uthrding}{User-Level \emph{Threading}}, blocks \ats rather than \glspl{proc} when doing \glsxtrshort{io} operations.52 This feature entails multiplexing the \glsxtrshort{io} operations of many \ atsonto fewer \glspl{proc}.51 Therefore, one of the objective of this work is to introduce \emph{User-Level \glsxtrshort{io}}, which like \glslink{uthrding}{User-Level \emph{Threading}}, blocks \glspl{thrd} rather than \glspl{proc} when doing \glsxtrshort{io} ope rations. 52 This feature entails multiplexing the \glsxtrshort{io} operations of many \glspl{thrd} onto fewer \glspl{proc}. 53 53 The multiplexing requires a single \gls{proc} to execute multiple \glsxtrshort{io} operations in parallel. 54 54 This requirement cannot be done with operations that block \glspl{proc}, \ie \glspl{kthrd}, since the first operation would prevent starting new operations for its blocking duration. … … 60 60 All functions defined by this volume of POSIX.1-2017 shall be thread-safe, except that the following functions need not be thread-safe. ... (list of 70+ excluded functions) 61 61 \end{quote} 62 Only UNIX @man@ pages identify whether a library function is thread-safe, and hence, may block on a pthreads lock or system call; hence interoperability with UNIX library functions is a challenge for an M:N threading model.62 Only UNIX @man@ pages identify whether or not a library function is thread safe, and hence, may block on a pthreads lock or system call; hence interoperability with UNIX library functions is a challenge for an M:N threading model. 63 63 64 Languages like Go and Java, which have strict interoperability with C\cit e{wiki:jni,go:cgo}, can control operations in C by ``sandboxing'' them, \eg a blocking function may be delegated to a \gls{kthrd}. Sandboxing may help towards guaranteeing that the kind of deadlock mentioned above does not occur.64 Languages like Go and Java, which have strict interoperability with C\cit{JNI, GoLang with C}, can control operations in C by ``sandboxing'' them, \eg a blocking function may be delegated to a \gls{kthrd}. Sandboxing may help towards guaranteeing that the kind of deadlock mentioned above does not occur. 65 65 66 66 As mentioned in Section~\ref{intro}, \CFA is binary compatible with C and, as such, must support all C library functions. Furthermore, interoperability can happen at the function-call level, inline code, or C and \CFA translation units linked together. This fine-grained interoperability between C and \CFA has two consequences: … … 72 72 Therefore, it is possible calls to an unknown library function can block a \gls{kthrd} leading to deadlocks in \CFA's M:N threading model, which would not occur in a traditional 1:1 threading model. 73 73 Currently, all M:N thread systems interacting with UNIX without sandboxing suffer from this problem but manage to work very well in the majority of applications. 74 Therefore, a complete solution to this problem is outside the scope of this thesis.\footnote{\CFA does provide a pthreads emulation, so any library function using embedded pthreads locks isredirected to \CFA user-level locks. This capability further reduces the chances of blocking a \gls{kthrd}.}74 Therefore, a complete solution to this problem is outside the scope of this thesis.\footnote{\CFA does provide a pthreads emulation, so any library function using embedded pthreads locks are redirected to \CFA user-level locks. This capability further reduces the chances of blocking a \gls{kthrd}.} -
doc/theses/thierry_delisle_PhD/thesis/thesis.tex
r4520b77e r12df6fe 84 84 \usepackage{subcaption} 85 85 \usepackage{comment} % Removes large sections of the document. 86 \usepackage{array}87 86 88 87 % Hyperlinks make it very easy to navigate an electronic document. … … 211 210 \newcommand\proc{\gls{proc}\xspace}% 212 211 \newcommand\procs{\glspl{proc}\xspace}% 213 \newcommand\park{\glslink{atblock}{park}\xspace}%214 \newcommand\unpark{\glslink{atsched}{unpark}\xspace}%215 212 216 213 %====================================================================== … … 250 247 \input{text/eval_macro.tex} 251 248 \part{Conclusion \& Annexes} 252 \input{text/conclusion.tex}253 254 249 255 250 %---------------------------------------------------------------------- … … 285 280 % Appendices 286 281 287 % %The \appendix statement indicates the beginning of the appendices.288 %\appendix289 % %Add an un-numbered title page before the appendices and a line in the Table of Contents290 %\chapter*{APPENDICES}291 %\addcontentsline{toc}{chapter}{APPENDICES}292 % %Appendices are just more chapters, with different labeling (letters instead of numbers).293 % %======================================================================294 %\chapter[PDF Plots From Matlab]{Matlab Code for Making a PDF Plot}295 %\label{AppendixA}296 % %Tip 4: Example of how to get a shorter chapter title for the Table of Contents297 % %======================================================================298 %\section{Using the GUI}299 %Properties of Matab plots can be adjusted from the plot window via a graphical interface. Under the Desktop menu in the Figure window, select the Property Editor. You may also want to check the Plot Browser and Figure Palette for more tools. To adjust properties of the axes, look under the Edit menu and select Axes Properties.300 301 %To set the figure size and to save as PDF or other file formats, click the Export Setup button in the figure Property Editor.302 303 %\section{From the Command Line}304 %All figure properties can also be manipulated from the command line. Here's an example:305 %\begin{verbatim}306 %x=[0:0.1:pi];307 %hold on % Plot multiple traces on one figure308 %plot(x,sin(x))309 %plot(x,cos(x),'--r')310 %plot(x,tan(x),'.-g')311 %title('Some Trig Functions Over 0 to \pi') % Note LaTeX markup!312 %legend('{\it sin}(x)','{\it cos}(x)','{\it tan}(x)')313 %hold off314 %set(gca,'Ylim',[-3 3]) % Adjust Y limits of "current axes"315 %set(gcf,'Units','inches') % Set figure size units of "current figure"316 %set(gcf,'Position',[0,0,6,4]) % Set figure width (6 in.) and height (4 in.)317 %cd n:\thesis\plots % Select where to save318 %print -dpdf plot.pdf % Save as PDF319 %\end{verbatim}282 % The \appendix statement indicates the beginning of the appendices. 283 \appendix 284 % Add an un-numbered title page before the appendices and a line in the Table of Contents 285 \chapter*{APPENDICES} 286 \addcontentsline{toc}{chapter}{APPENDICES} 287 % Appendices are just more chapters, with different labeling (letters instead of numbers). 288 %====================================================================== 289 \chapter[PDF Plots From Matlab]{Matlab Code for Making a PDF Plot} 290 \label{AppendixA} 291 % Tip 4: Example of how to get a shorter chapter title for the Table of Contents 292 %====================================================================== 293 \section{Using the GUI} 294 Properties of Matab plots can be adjusted from the plot window via a graphical interface. Under the Desktop menu in the Figure window, select the Property Editor. You may also want to check the Plot Browser and Figure Palette for more tools. To adjust properties of the axes, look under the Edit menu and select Axes Properties. 295 296 To set the figure size and to save as PDF or other file formats, click the Export Setup button in the figure Property Editor. 297 298 \section{From the Command Line} 299 All figure properties can also be manipulated from the command line. Here's an example: 300 \begin{verbatim} 301 x=[0:0.1:pi]; 302 hold on % Plot multiple traces on one figure 303 plot(x,sin(x)) 304 plot(x,cos(x),'--r') 305 plot(x,tan(x),'.-g') 306 title('Some Trig Functions Over 0 to \pi') % Note LaTeX markup! 307 legend('{\it sin}(x)','{\it cos}(x)','{\it tan}(x)') 308 hold off 309 set(gca,'Ylim',[-3 3]) % Adjust Y limits of "current axes" 310 set(gcf,'Units','inches') % Set figure size units of "current figure" 311 set(gcf,'Position',[0,0,6,4]) % Set figure width (6 in.) and height (4 in.) 312 cd n:\thesis\plots % Select where to save 313 print -dpdf plot.pdf % Save as PDF 314 \end{verbatim} 320 315 321 316 % GLOSSARIES (Lists of definitions, abbreviations, symbols, etc. provided by the glossaries-extra package) -
doc/user/user.tex
r4520b77e r12df6fe 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Mon Aug 22 23:43:30202214 %% Update Count : 5 50313 %% Last Modified On : Mon Feb 14 17:20:39 2022 14 %% Update Count : 5382 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 964 964 965 965 \begin{figure} 966 \begin{tabular}{@{}l@{\hspace{ 40pt}}|l@{}}967 \multicolumn{1}{@{}c@{\hspace{ 40pt}}|}{loop control} & \multicolumn{1}{c@{}}{output} \\966 \begin{tabular}{@{}l@{\hspace{25pt}}|l@{}} 967 \multicolumn{1}{@{}c@{\hspace{25pt}}|}{loop control} & \multicolumn{1}{c@{}}{output} \\ 968 968 \hline 969 969 \begin{cfa} 970 while () { sout | "empty"; break; } 971 do { sout | "empty"; break; } while (); 972 for () { sout | "empty"; break; } $\C[3in]{sout | nl | nlOff;}$ 973 974 for ( 0 ) { sout | "A"; } sout | "zero"; $\C{sout | nl;}$ 975 for ( 1 ) { sout | "A"; } $\C{sout | nl;}$ 976 for ( 10 ) { sout | "A"; } $\C{sout | nl;}$ 977 for ( ~= 10 ) { sout | "A"; } $\C{sout | nl;}$ 978 for ( 1 ~= 10 ~ 2 ) { sout | "B"; } $\C{sout | nl;}$ 979 for ( 1 -~= 10 ~ 2 ) { sout | "C"; } $\C{sout | nl;}$ 980 for ( 0.5 ~ 5.5 ) { sout | "D"; } $\C{sout | nl;}$ 981 for ( 0.5 -~ 5.5 ) { sout | "E"; } $\C{sout | nl;}$ 982 for ( i; 10 ) { sout | i; } $\C{sout | nl;}$ 983 for ( i; ~= 10 ) { sout | i; } $\C{sout | nl;}$ 984 for ( i; 1 ~= 10 ~ 2 ) { sout | i; } $\C{sout | nl;}$ 985 for ( i; 1 -~= 10 ~ 2 ) { sout | i; } $\C{sout | nl;}$ 986 for ( i; 0.5 ~ 5.5 ) { sout | i; } $\C{sout | nl;}$ 987 for ( i; 0.5 -~ 5.5 ) { sout | i; } $\C{sout | nl;}$ 988 for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } $\C{sout | nl;}$ 989 for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } $\C{sout | nl | nl | nl;}$ 990 970 while ®($\,$)® { sout | "empty"; break; } 971 do { sout | "empty"; break; } while ®($\,$)®; 972 for ®($\,$)® { sout | "empty"; break; } 973 for ( ®0® ) { sout | "A"; } sout | "zero"; 974 for ( ®1® ) { sout | "A"; } 975 for ( ®10® ) { sout | "A"; } 976 for ( ®= 10® ) { sout | "A"; } 977 for ( ®1 ~= 10 ~ 2® ) { sout | "B"; } 978 for ( ®10 -~= 1 ~ 2® ) { sout | "C"; } 979 for ( ®0.5 ~ 5.5® ) { sout | "D"; } 980 for ( ®5.5 -~ 0.5® ) { sout | "E"; } 981 for ( ®i; 10® ) { sout | i; } 982 for ( ®i; = 10® ) { sout | i; } 983 for ( ®i; 1 ~= 10 ~ 2® ) { sout | i; } 984 for ( ®i; 10 -~= 1 ~ 2® ) { sout | i; } 985 for ( ®i; 0.5 ~ 5.5® ) { sout | i; } 986 for ( ®i; 5.5 -~ 0.5® ) { sout | i; } 987 for ( ®ui; 2u ~= 10u ~ 2u® ) { sout | ui; } 988 for ( ®ui; 10u -~= 2u ~ 2u® ) { sout | ui; } 991 989 enum { N = 10 }; 992 for ( N ) { sout | "N"; } $\C{sout | nl;}$ 993 for ( i; N ) { sout | i; } $\C{sout | nl;}$ 994 for ( i; -~ N ) { sout | i; } $\C{sout | nl | nl | nl;}$ 995 996 const int low = 3, high = 10, inc = 2; 997 for ( i; low ~ high ~ inc + 1 ) { sout | i; } $\C{sout | nl;}$ 998 for ( i; 1 ~ @ ) { if ( i > 10 ) break; sout | i; } $\C{sout | nl;}$ 999 for ( i; @ -~ 10 ) { if ( i < 0 ) break; sout | i; } $\C{sout | nl;}$ 1000 for ( i; 2 ~ @ ~ 2 ) { if ( i > 10 ) break; sout | i; } $\C{sout | nl;}$ 1001 for ( i; 2.1 ~ @ ~ @ ) { if ( i > 10.5 ) break; sout | i; i += 1.7; } $\C{sout | nl;}$ 1002 for ( i; @ -~ 10 ~ 2 ) { if ( i < 0 ) break; sout | i; } $\C{sout | nl;}$ 1003 for ( i; 12.1 ~ @ ~ @ ) { if ( i < 2.5 ) break; sout | i; i -= 1.7; } $\C{sout | nl;}$ 1004 for ( i; 5 : j; -5 ~ @ ) { sout | i | j; } $\C{sout | nl;}$ 1005 for ( i; 5 : j; @ -~ -5 ) { sout | i | j; } $\C{sout | nl;}$ 1006 for ( i; 5 : j; -5 ~ @ ~ 2 ) { sout | i | j; } $\C{sout | nl;}$ 1007 for ( i; 5 : j; @ -~ -5 ~ 2 ) { sout | i | j; } $\C{sout | nl;}$ 1008 for ( i; 5 : j; -5 ~ @ ) { sout | i | j; } $\C{sout | nl;}$ 1009 for ( i; 5 : j; @ -~ -5 ) { sout | i | j; } $\C{sout | nl;}$ 1010 for ( i; 5 : j; -5 ~ @ ~ 2 ) { sout | i | j; } $\C{sout | nl;}$ 1011 for ( i; 5 : j; @ -~ -5 ~ 2 ) { sout | i | j; } $\C{sout | nl;}$ 1012 for ( i; 5 : j; @ -~ -5 ~ 2 : k; 1.5 ~ @ ) { sout | i | j | k; } $\C{sout | nl;}$ 1013 for ( i; 5 : j; @ -~ -5 ~ 2 : k; 1.5 ~ @ ) { sout | i | j | k; } $\C{sout | nl;}$ 1014 for ( i; 5 : k; 1.5 ~ @ : j; @ -~ -5 ~ 2 ) { sout | i | j | k; } $\C{sout | nl;}\CRT$ 990 for ( ®N® ) { sout | "N"; } 991 for ( ®i; N® ) { sout | i; } 992 for ( ®i; N -~ 0® ) { sout | i; } 993 const int start = 3, comp = 10, inc = 2; 994 for ( ®i; start ~ comp ~ inc + 1® ) { sout | i; } 995 for ( i; 1 ~ ®@® ) { if ( i > 10 ) break; sout | i; } 996 for ( i; 10 -~ ®@® ) { if ( i < 0 ) break; sout | i; } 997 for ( i; 2 ~ ®@® ~ 2 ) { if ( i > 10 ) break; sout | i; } 998 for ( i; 2.1 ~ ®@® ~ ®@® ) { if ( i > 10.5 ) break; sout | i; i += 1.7; } 999 for ( i; 10 -~ ®@® ~ 2 ) { if ( i < 0 ) break; sout | i; } 1000 for ( i; 12.1 ~ ®@® ~ ®@® ) { if ( i < 2.5 ) break; sout | i; i -= 1.7; } 1001 for ( i; 5 ®:® j; -5 ~ @ ) { sout | i | j; } 1002 for ( i; 5 ®:® j; -5 -~ @ ) { sout | i | j; } 1003 for ( i; 5 ®:® j; -5 ~ @ ~ 2 ) { sout | i | j; } 1004 for ( i; 5 ®:® j; -5 -~ @ ~ 2 ) { sout | i | j; } 1005 for ( i; 5 ®:® j; -5 ~ @ ) { sout | i | j; } 1006 for ( i; 5 ®:® j; -5 -~ @ ) { sout | i | j; } 1007 for ( i; 5 ®:® j; -5 ~ @ ~ 2 ) { sout | i | j; } 1008 for ( i; 5 ®:® j; -5 -~ @ ~ 2 ) { sout | i | j; } 1009 for ( i; 5 ®:® j; -5 -~ @ ~ 2 ®:® k; 1.5 ~ @ ) { sout | i | j | k; } 1010 for ( i; 5 ®:® j; -5 -~ @ ~ 2 ®:® k; 1.5 ~ @ ) { sout | i | j | k; } 1011 for ( i; 5 ®:® k; 1.5 ~ @ ®:® j; -5 -~ @ ~ 2 ) { sout | i | j | k; } 1015 1012 \end{cfa} 1016 1013 & … … 1019 1016 empty 1020 1017 empty 1021 1022 1018 zero 1023 1019 A … … 1037 1033 10 8 6 4 2 1038 1034 1039 1040 1035 N N N N N N N N N N 1041 1036 0 1 2 3 4 5 6 7 8 9 1042 1037 10 9 8 7 6 5 4 3 2 1 1043 1044 1038 1045 1039 3 6 9 … … 1079 1073 1080 1074 Looping a fixed number of times, possibly with a loop index, occurs frequently. 1081 \CFA condenses simply looping to facilitate coding speed and safety~\see{examples in \VRef[Figure]{f:LoopControlExamples}}. 1082 1083 The \Indexc{for}, \Indexc{while}, and \Indexc{do} loop-control allow an empty conditional, which implies a comparison value of ©1© (true). 1075 \CFA condenses simply looping to facilitate coding speed and safety. 1076 The \Indexc{for}, \Indexc{while}, and \Indexc{do} loop-control is augmented as follows \see{examples in \VRef[Figure]{f:LoopControlExamples}}: 1077 \begin{itemize}[itemsep=0pt] 1078 \item 1079 ©0© is the implicit start value; 1080 \item 1081 ©1© is the implicit increment value. 1082 \item 1083 The up-to range uses operator ©+=© for increment; 1084 \item 1085 The down-to range uses operator ©-=© for decrement. 1086 \item 1087 The loop index is polymorphic in the type of the comparison value N (when the start value is implicit) or the start value M. 1088 \begin{cfa} 1089 for ( i; ®5® ) $\C[2.5in]{// typeof(5) i; 5 is comparison value}$ 1090 for ( i; ®1.5®~5.5~0.5 ) $\C{// typeof(1.5) i; 1.5 is start value}$ 1091 \end{cfa} 1092 \item 1093 An empty conditional implies comparison value of ©1© (true). 1084 1094 \begin{cfa} 1085 1095 while ( ®/*empty*/® ) $\C{// while ( true )}$ … … 1087 1097 do ... while ( ®/*empty*/® ) $\C{// do ... while ( true )}$ 1088 1098 \end{cfa} 1089 1090 The ©for© control has 4 new loop-control operators that are not overloadable: 1091 \begin{description}[itemsep=0pt,parsep=0pt] 1092 \item 1093 \Indexc{\~} (tilde) \Index{up-to exclusive range}, 1094 \item 1095 \Indexc{\~=} (tilde equal) \Index{up-to inclusive range}, 1096 \item 1097 \Indexc{-\~} (minus tilde) \Index{down-to exclusive range}, 1098 \item 1099 \Indexc{-\~=} (minus tilde equal) \Index{down-to inclusive range}. 1100 \end{description} 1101 1102 The ©for© index components, low (L), high (H), and increment (I), are optional. 1103 If missing: 1104 \begin{itemize}[itemsep=0pt,parsep=0pt] 1105 \item 1106 \Indexc{0} is the implicit low value. 1107 \item 1108 \Indexc{1} is the implicit increment value. 1109 \item 1110 The up-to range uses operator \Indexc{+=} for increment. 1111 \item 1112 The down-to range uses operator \Indexc{-=} for decrement. 1099 \item 1100 A comparison N is implicit up-to exclusive range [0,N\R{)}. 1101 \begin{cfa} 1102 for ( ®5® ) $\C{// for ( typeof(5) i; i < 5; i += 1 )}$ 1103 \end{cfa} 1104 \item 1105 A comparison ©=© N is implicit up-to inclusive range [0,N\R{]}. 1106 \begin{cfa} 1107 for ( ®=®5 ) $\C{// for ( typeof(5) i; i <= 5; i += 1 )}$ 1108 \end{cfa} 1109 \item 1110 The up-to range M ©~©\index{~@©~©} N means exclusive range [M,N\R{)}. 1111 \begin{cfa} 1112 for ( 1®~®5 ) $\C{// for ( typeof(1) i = 1; i < 5; i += 1 )}$ 1113 \end{cfa} 1114 \item 1115 The up-to range M ©~=©\index{~=@©~=©} N means inclusive range [M,N\R{]}. 1116 \begin{cfa} 1117 for ( 1®~=®5 ) $\C{// for ( typeof(1) i = 1; i <= 5; i += 1 )}$ 1118 \end{cfa} 1119 \item 1120 The down-to range M ©-~©\index{-~@©-~©} N means exclusive range [N,M\R{)}. 1121 \begin{cfa} 1122 for ( 1®-~®5 ) $\C{// for ( typeof(1) i = 5; i > 0; i -= 1 )}$ 1123 \end{cfa} 1124 \item 1125 The down-to range M ©-~=©\index{-~=@©-~=©} N means inclusive range [N,M\R{]}. 1126 \begin{cfa} 1127 for ( 1®-~=®5 ) $\C{// for ( typeof(1) i = 5; i >= 0; i -= 1 )}$ 1128 \end{cfa} 1129 \item 1130 ©@© means put nothing in this field. 1131 \begin{cfa} 1132 for ( 1~®@®~2 ) $\C{// for ( typeof(1) i = 1; /*empty*/; i += 2 )}$ 1133 \end{cfa} 1134 \item 1135 ©:© means start another index. 1136 \begin{cfa} 1137 for ( i; 5 ®:® j; 2~12~3 ) $\C{// for ( typeof(i) i = 1, j = 2; i < 5 \&\& j < 12; i += 1, j += 3 )}\CRT$ 1138 \end{cfa} 1113 1139 \end{itemize} 1114 1115 If no type is specified for the loop index, it is the type of the high value H (when the low value is implicit) or the low value L.1116 \begin{cfa}1117 for ( ®5® ) $\C{// typeof(5) anonymous-index; 5 is high value}$1118 for ( i; ®1.5® ~ 5.5 ) $\C{// typeof(1.5) i; 1.5 is low value}$1119 for ( ®int i®; 0 ~ 10 ~ 2 ) $\C{// int i; type is explicit}$1120 \end{cfa}1121 1122 The following are examples for constructing different for-control:1123 \begin{itemize}[itemsep=0pt]1124 \item1125 H is implicit up-to exclusive range [0,H\R{)}.1126 \begin{cfa}1127 for ( ®5® ) $\C{// for ( typeof(5) i; i < 5; i += 1 )}$1128 \end{cfa}1129 \item1130 ©~=© H is implicit up-to inclusive range [0,H\R{]}.1131 \begin{cfa}1132 for ( ®~=® 5 ) $\C{// for ( typeof(5) i; i <= 5; i += 1 )}$1133 \end{cfa}1134 \item1135 L ©~©\index{~@©~©} H is explicit up-to exclusive range [L,H\R{)}.1136 \begin{cfa}1137 for ( 1 ®~® 5 ) $\C{// for ( typeof(1) i = 1; i < 5; i += 1 )}$1138 \end{cfa}1139 \item1140 L ©~=©\index{~=@©~=©} H is explicit up-to inclusive range [L,H\R{]}.1141 \begin{cfa}1142 for ( 1 ®~=® 5 ) $\C{// for ( typeof(1) i = 1; i <= 5; i += 1 )}$1143 \end{cfa}1144 \item1145 L ©-~©\index{-~@©-~©} H is explicit down-to exclusive range [H,L\R{)}, where L and H are implicitly interchanged to make the range down-to.1146 \begin{cfa}1147 for ( 1 ®-~® 5 ) $\C{// for ( typeof(1) i = 5; i > 0; i -= 1 )}$1148 \end{cfa}1149 \item1150 L ©-~=©\index{-~=@©-~=©} H is explicit down-to inclusive range [H,L\R{]}, where L and H are implicitly interchanged to make the range down-to.1151 \begin{cfa}1152 for ( 1 ®-~=® 5 ) $\C{// for ( typeof(1) i = 5; i >= 0; i -= 1 )}$1153 \end{cfa}1154 \item1155 ©@© means put nothing in this field.1156 \begin{cfa}1157 for ( i; 1 ~ ®@® ~ 2 ) $\C{// for ( typeof(1) i = 1; \R{/* empty */}; i += 2 )}$1158 for ( i; 1 ~ 10 ~ ®@® ) $\C{// for ( typeof(1) i = 1; i < 10; \R{/* empty */} )}$1159 for ( i; 1 ~ ®@® ~ ®@® ) $\C{// for ( typeof(1) i = 1; /*empty*/; \R{/* empty */} )}$1160 \end{cfa}1161 L cannot be elided for the up-to range, \lstinline{@ ~ 5}, and H for the down-to range, \lstinline{1 -~ @}, because then the loop index is uninitialized.1162 Similarly, the high value cannot be elided is an anonymous loop index (©1 ~ @©), as there is no index to stop the loop.1163 \item1164 ©:© means low another index.1165 \begin{cfa}1166 for ( i; 5 ®:® j; 2 ~ 12 ~ 3 ) $\C{// for ( typeof(i) i = 1, j = 2; i < 5 \&\& j < 12; i += 1, j += 3 )}$1167 \end{cfa}1168 \end{itemize}1169 \R{Warning}: specifying the down-to range maybe unexcepted because the loop control \emph{implicitly} switches the L and H values (and toggles the increment/decrement for I):1170 \begin{cfa}1171 for ( i; 1 ~ 10 ) ${\C[1.5in]{// up range}$1172 for ( i; 1 -~ 10 ) ${\C{// down range}$1173 for ( i; ®10 -~ 1® ) ${\C{// \R{WRONG down range!}}\CRT}$1174 \end{cfa}1175 The reason for this sematics is that the range direction can be toggled by adding/removing the minus, ©'-'©, versus interchanging the L and H expressions, which has a greater chance of introducing errors.1176 1140 1177 1141 … … 4830 4794 int id; 4831 4795 float size; 4832 int * optionalint;4796 Parts * optionalParts; 4833 4797 }; 4834 4798 … … 4837 4801 // Subsequent arguments can be specified for initialization 4838 4802 4839 void ?{}( Widget & w ) { $\C{// default constructor}$4803 void ?{}(Widget &w) { // default constructor 4840 4804 w.id = -1; 4841 4805 w.size = 0.0; 4842 w.optional int = 0p;4806 w.optionalParts = 0; 4843 4807 } 4844 4808 4845 4809 // constructor with values (does not need to include all fields) 4846 void ?{}( Widget & w, int id, float size) {4810 void ?{}(Widget &w, int id, float size) { 4847 4811 w.id = id; 4848 4812 w.size = size; 4849 w.optional int = 0p;4850 } 4851 4852 // ^? {}is the destructor operator identifier4853 void ^? {}( Widget & w ) { $\C{// destructor}$4813 w.optionalParts = 0; 4814 } 4815 4816 // ^? is the destructor operator identifier 4817 void ^?(Widget &w) { // destructor 4854 4818 w.id = 0; 4855 4819 w.size = 0.0; 4856 if ( w.optionalint != 0p ) { 4857 free( w.optionalint ); 4858 w.optionalint = 0p; 4820 if (w.optionalParts != 0) { 4821 // This is the only pointer to optionalParts, free it 4822 free(w.optionalParts); 4823 w.optionalParts = 0; 4859 4824 } 4860 4825 } 4861 4826 4862 Widget baz; $\C{// reserve space only}$ 4863 Widget foo{}; $\C{// calls default constructor}$ 4864 Widget bar{ 23, 2.45 }; $\C{// calls constructor with values}$ 4865 baz{ 24, 0.91 }; $\C{// calls constructor with values}$ 4866 ?{}( baz, 24, 0.91 ); $\C{// explicit call to constructor}$ 4867 ^?{} (bar ); $\C{// explicit call to destructor}$ 4827 Widget baz; // reserve space only 4828 Widget foo{}; // calls default constructor 4829 Widget bar{23, 2.45}; // calls constructor with values 4830 baz{24, 0.91}; // calls constructor with values 4831 ?{}(baz, 24, 0.91}; // explicit call to constructor 4832 ^bar; // explicit call to destructor 4833 ^?(bar); // explicit call to destructor 4868 4834 \end{cfa} 4869 4835 \caption{Constructors and Destructors} -
driver/Makefile.am
r4520b77e r12df6fe 19 19 20 20 # applies to both programs 21 AM_CXXFLAGS = @HOST_FLAGS@ -Wall -Wextra -Werror=return-type -O2 -g -std=c++1 7-I${abs_top_srcdir}/src -I${abs_top_srcdir}/src/include21 AM_CXXFLAGS = @HOST_FLAGS@ -Wall -Wextra -Werror=return-type -O2 -g -std=c++14 -I${abs_top_srcdir}/src -I${abs_top_srcdir}/src/include 22 22 23 23 # don't install cfa directly -
driver/cfa.cc
r4520b77e r12df6fe 53 53 return arg.substr( 0, pre.size() ) == pre; 54 54 } // prefix 55 56 static inline bool ends_with(const string & str, const string & sfix) { 57 if (sfix.size() > str.size()) return false; 58 return std::equal(str.rbegin(), str.rbegin() + sfix.size(), sfix.rbegin(), sfix.rend()); 59 } 55 60 56 61 // check if string has suffix -
libcfa/prelude/Makefile.am
r4520b77e r12df6fe 50 50 51 51 prelude.cfa : prelude-gen.cc 52 ${AM_V_GEN}${CXX} ${AM_CXXFLAGS} ${CXXFLAGS} ${AM_CFLAGS} ${<} -o prelude-gen -Wall -Wextra -O2 -g -std=c++1 752 ${AM_V_GEN}${CXX} ${AM_CXXFLAGS} ${CXXFLAGS} ${AM_CFLAGS} ${<} -o prelude-gen -Wall -Wextra -O2 -g -std=c++14 53 53 @./prelude-gen > ${@} 54 54 @rm ./prelude-gen … … 76 76 77 77 if ENABLE_DISTCC 78 distribution: @LOCAL_CFACC@ @LOCAL_CC1@ @CFACPP@ defines.hfagcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c $(srcdir)/../../tools/build/push2dist.sh78 distribution: @LOCAL_CFACC@ @LOCAL_CC1@ @CFACPP@ gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c $(srcdir)/../../tools/build/push2dist.sh 79 79 ${AM_V_GEN}$(srcdir)/../../tools/build/push2dist.sh @CFADIR_HASH@ @DIST_BWLIMIT@ 80 80 @echo "Dummy file to track distribution to remote hosts" > ${@} -
libcfa/prelude/defines.hfa.in
r4520b77e r12df6fe 141 141 142 142 /* Defined if io_uring support is present when compiling libcfathread and 143 supports the flag IORING_REGISTER_IOWQ_MAX_WORKERS. */144 #undef CFA_HAVE_IORING_REGISTER_IOWQ_MAX_WORKERS145 146 /* Defined if io_uring support is present when compiling libcfathread and147 143 supports the flag IORING_SETUP_ATTACH_WQ. */ 148 144 #undef CFA_HAVE_IORING_SETUP_ATTACH_WQ -
libcfa/src/Makefile.am
r4520b77e r12df6fe 186 186 if ENABLE_DISTCC 187 187 188 ../prelude/distribution: @LOCAL_CFACC@ @LOCAL_CC1@ @CFACPP@ ../prelude/ defines.hfa ../prelude/gcc-builtins.cf ../prelude/builtins.cf ../prelude/extras.cf ../prelude/prelude.cfa ../prelude/bootloader.c $(srcdir)/../../tools/build/push2dist.sh188 ../prelude/distribution: @LOCAL_CFACC@ @LOCAL_CC1@ @CFACPP@ ../prelude/gcc-builtins.cf ../prelude/builtins.cf ../prelude/extras.cf ../prelude/prelude.cfa ../prelude/bootloader.c $(srcdir)/../../tools/build/push2dist.sh 189 189 @+make -C ../prelude distribution 190 190 -
libcfa/src/bits/defs.hfa
r4520b77e r12df6fe 24 24 #define likely(x) __builtin_expect(!!(x), 1) 25 25 #define unlikely(x) __builtin_expect(!!(x), 0) 26 #define thread_local _Thread_local 26 27 27 28 typedef void (*fptr_t)(); … … 36 37 #endif 37 38 38 39 #if defined(__has_attribute)40 #if !__has_attribute(__noclone__)41 #define ATTRIBUTE_NOCLONE42 #endif43 #endif44 #ifndef ATTRIBUTE_NOCLONE45 #define ATTRIBUTE_NOCLONE __attribute__((__noclone__))46 #endif47 48 39 #define libcfa_public __attribute__((visibility("default"))) 49 #define libcfa_nopreempt __attribute__((section("cfatext_nopreempt"))) __attribute__((__noinline__)) ATTRIBUTE_NOCLONE50 51 struct __cfa_nopreempt_region {52 void * start;53 void * stop;54 };55 40 56 41 #ifdef __cforall -
libcfa/src/bits/locks.hfa
r4520b77e r12df6fe 32 32 extern void disable_interrupts() OPTIONAL_THREAD; 33 33 extern void enable_interrupts( bool poll = true ) OPTIONAL_THREAD; 34 extern bool poll_interrupts() OPTIONAL_THREAD;35 34 #define __cfaabi_dbg_record_lock(x, y) 36 35 } -
libcfa/src/concurrency/io.cfa
r4520b77e r12df6fe 83 83 }; 84 84 85 static io_context$ * __ioarbiter_allocate( io_arbiter$& this, __u32 idxs[], __u32 want );86 static void __ioarbiter_submit( io_context$* , __u32 idxs[], __u32 have, bool lazy );87 static void __ioarbiter_flush ( io_context$& );88 static inline void __ioarbiter_notify( io_context$& ctx );85 static $io_context * __ioarbiter_allocate( $io_arbiter & this, __u32 idxs[], __u32 want ); 86 static void __ioarbiter_submit( $io_context * , __u32 idxs[], __u32 have, bool lazy ); 87 static void __ioarbiter_flush ( $io_context & ); 88 static inline void __ioarbiter_notify( $io_context & ctx ); 89 89 //============================================================================================= 90 90 // I/O Polling 91 91 //============================================================================================= 92 static inline unsigned __flush( struct io_context$& );93 static inline __u32 __release_sqes( struct io_context$& );92 static inline unsigned __flush( struct $io_context & ); 93 static inline __u32 __release_sqes( struct $io_context & ); 94 94 extern void __kernel_unpark( thread$ * thrd, unpark_hint ); 95 95 96 static void ioring_syscsll( struct io_context$& ctx, unsigned int min_comp, unsigned int flags ) {96 static void ioring_syscsll( struct $io_context & ctx, unsigned int min_comp, unsigned int flags ) { 97 97 __STATS__( true, io.calls.flush++; ) 98 98 int ret; … … 132 132 } 133 133 134 static bool try_acquire( io_context$* ctx ) __attribute__((nonnull(1))) {134 static bool try_acquire( $io_context * ctx ) __attribute__((nonnull(1))) { 135 135 /* paranoid */ verify( ! __preemption_enabled() ); 136 136 /* paranoid */ verify( ready_schedule_islocked() ); … … 153 153 } 154 154 155 static bool __cfa_do_drain( io_context$* ctx, cluster * cltr ) __attribute__((nonnull(1, 2))) {155 static bool __cfa_do_drain( $io_context * ctx, cluster * cltr ) __attribute__((nonnull(1, 2))) { 156 156 /* paranoid */ verify( ! __preemption_enabled() ); 157 157 /* paranoid */ verify( ready_schedule_islocked() ); … … 213 213 214 214 cluster * const cltr = proc->cltr; 215 io_context$* const ctx = proc->io.ctx;215 $io_context * const ctx = proc->io.ctx; 216 216 /* paranoid */ verify( cltr ); 217 217 /* paranoid */ verify( ctx ); … … 241 241 else { 242 242 const unsigned target = proc->io.target; 243 /* paranoid */ verify( io.tscs[target].t .tv != ULLONG_MAX );243 /* paranoid */ verify( io.tscs[target].tv != ULLONG_MAX ); 244 244 HELP: if(target < ctxs_count) { 245 245 const unsigned long long cutoff = calc_cutoff(ctsc, ctx->cq.id, ctxs_count, io.data, io.tscs, __shard_factor.io); 246 const unsigned long long age = moving_average(ctsc, io.tscs[target].t .tv, io.tscs[target].t.ma);246 const unsigned long long age = moving_average(ctsc, io.tscs[target].tv, io.tscs[target].ma); 247 247 __cfadbg_print_safe(io, "Kernel I/O: Help attempt on %u from %u, age %'llu vs cutoff %'llu, %s\n", target, ctx->cq.id, age, cutoff, age > cutoff ? "yes" : "no"); 248 248 if(age <= cutoff) break HELP; … … 278 278 /* paranoid */ verify( proc->io.ctx ); 279 279 280 io_context$& ctx = *proc->io.ctx;280 $io_context & ctx = *proc->io.ctx; 281 281 282 282 __ioarbiter_flush( ctx ); … … 312 312 // Allocation 313 313 // for user's convenience fill the sqes from the indexes 314 static inline void __fill(struct io_uring_sqe * out_sqes[], __u32 want, __u32 idxs[], struct io_context$* ctx) {314 static inline void __fill(struct io_uring_sqe * out_sqes[], __u32 want, __u32 idxs[], struct $io_context * ctx) { 315 315 struct io_uring_sqe * sqes = ctx->sq.sqes; 316 316 for(i; want) { … … 322 322 // Try to directly allocate from the a given context 323 323 // Not thread-safe 324 static inline bool __alloc(struct io_context$* ctx, __u32 idxs[], __u32 want) {324 static inline bool __alloc(struct $io_context * ctx, __u32 idxs[], __u32 want) { 325 325 __sub_ring_t & sq = ctx->sq; 326 326 const __u32 mask = *sq.mask; … … 349 349 // for convenience, return both the index and the pointer to the sqe 350 350 // sqe == &sqes[idx] 351 struct io_context$* cfa_io_allocate(struct io_uring_sqe * sqes[], __u32 idxs[], __u32 want) libcfa_public {351 struct $io_context * cfa_io_allocate(struct io_uring_sqe * sqes[], __u32 idxs[], __u32 want) libcfa_public { 352 352 // __cfadbg_print_safe(io, "Kernel I/O : attempting to allocate %u\n", want); 353 353 354 354 disable_interrupts(); 355 355 processor * proc = __cfaabi_tls.this_processor; 356 io_context$* ctx = proc->io.ctx;356 $io_context * ctx = proc->io.ctx; 357 357 /* paranoid */ verify( __cfaabi_tls.this_processor ); 358 358 /* paranoid */ verify( ctx ); … … 378 378 enable_interrupts(); 379 379 380 io_arbiter$* ioarb = proc->cltr->io.arbiter;380 $io_arbiter * ioarb = proc->cltr->io.arbiter; 381 381 /* paranoid */ verify( ioarb ); 382 382 383 383 // __cfadbg_print_safe(io, "Kernel I/O : falling back on arbiter for allocation\n"); 384 384 385 struct io_context$* ret = __ioarbiter_allocate(*ioarb, idxs, want);385 struct $io_context * ret = __ioarbiter_allocate(*ioarb, idxs, want); 386 386 387 387 // __cfadbg_print_safe(io, "Kernel I/O : slow allocation completed from ring %d\n", ret->fd); … … 393 393 //============================================================================================= 394 394 // submission 395 static inline void __submit_only( struct io_context$* ctx, __u32 idxs[], __u32 have) {395 static inline void __submit_only( struct $io_context * ctx, __u32 idxs[], __u32 have) { 396 396 // We can proceed to the fast path 397 397 // Get the right objects … … 414 414 } 415 415 416 static inline void __submit( struct io_context$* ctx, __u32 idxs[], __u32 have, bool lazy) {416 static inline void __submit( struct $io_context * ctx, __u32 idxs[], __u32 have, bool lazy) { 417 417 __sub_ring_t & sq = ctx->sq; 418 418 __submit_only(ctx, idxs, have); … … 428 428 } 429 429 430 void cfa_io_submit( struct io_context$* inctx, __u32 idxs[], __u32 have, bool lazy ) __attribute__((nonnull (1))) libcfa_public {430 void cfa_io_submit( struct $io_context * inctx, __u32 idxs[], __u32 have, bool lazy ) __attribute__((nonnull (1))) libcfa_public { 431 431 // __cfadbg_print_safe(io, "Kernel I/O : attempting to submit %u (%s)\n", have, lazy ? "lazy" : "eager"); 432 432 433 433 disable_interrupts(); 434 __STATS__( true, if(!lazy) io.submit.eagr += 1; )435 434 processor * proc = __cfaabi_tls.this_processor; 436 io_context$* ctx = proc->io.ctx;435 $io_context * ctx = proc->io.ctx; 437 436 /* paranoid */ verify( __cfaabi_tls.this_processor ); 438 437 /* paranoid */ verify( ctx ); … … 465 464 // by io_uring 466 465 // This cannot be done by multiple threads 467 static __u32 __release_sqes( struct io_context$& ctx ) {466 static __u32 __release_sqes( struct $io_context & ctx ) { 468 467 const __u32 mask = *ctx.sq.mask; 469 468 … … 538 537 } 539 538 540 static io_context$ * __ioarbiter_allocate( io_arbiter$& this, __u32 idxs[], __u32 want ) {539 static $io_context * __ioarbiter_allocate( $io_arbiter & this, __u32 idxs[], __u32 want ) { 541 540 // __cfadbg_print_safe(io, "Kernel I/O : arbiter allocating\n"); 542 541 … … 557 556 } 558 557 559 static void __ioarbiter_notify( io_arbiter$ & this, io_context$* ctx ) {558 static void __ioarbiter_notify( $io_arbiter & this, $io_context * ctx ) { 560 559 /* paranoid */ verify( !empty(this.pending.queue) ); 561 560 … … 587 586 } 588 587 589 static void __ioarbiter_notify( io_context$& ctx ) {588 static void __ioarbiter_notify( $io_context & ctx ) { 590 589 if(!empty( ctx.arbiter->pending )) { 591 590 __ioarbiter_notify( *ctx.arbiter, &ctx ); … … 594 593 595 594 // Simply append to the pending 596 static void __ioarbiter_submit( io_context$* ctx, __u32 idxs[], __u32 have, bool lazy ) {595 static void __ioarbiter_submit( $io_context * ctx, __u32 idxs[], __u32 have, bool lazy ) { 597 596 __cfadbg_print_safe(io, "Kernel I/O : submitting %u from the arbiter to context %u\n", have, ctx->fd); 598 597 … … 618 617 } 619 618 620 static void __ioarbiter_flush( io_context$& ctx ) {619 static void __ioarbiter_flush( $io_context & ctx ) { 621 620 if(!empty( ctx.ext_sq )) { 622 621 __STATS__( false, io.flush.external += 1; ) … … 642 641 #if defined(CFA_WITH_IO_URING_IDLE) 643 642 bool __kernel_read(processor * proc, io_future_t & future, iovec & iov, int fd) { 644 io_context$* ctx = proc->io.ctx;643 $io_context * ctx = proc->io.ctx; 645 644 /* paranoid */ verify( ! __preemption_enabled() ); 646 645 /* paranoid */ verify( proc == __cfaabi_tls.this_processor ); -
libcfa/src/concurrency/io/call.cfa.in
r4520b77e r12df6fe 34 34 #include "kernel.hfa" 35 35 #include "io/types.hfa" 36 #include "stats.hfa"37 36 38 37 //============================================================================================= … … 75 74 ; 76 75 77 extern struct io_context$* cfa_io_allocate(struct io_uring_sqe * out_sqes[], __u32 out_idxs[], __u32 want) __attribute__((nonnull (1,2)));78 extern void cfa_io_submit( struct io_context$* in_ctx, __u32 in_idxs[], __u32 have, bool lazy ) __attribute__((nonnull (1,2)));76 extern struct $io_context * cfa_io_allocate(struct io_uring_sqe * out_sqes[], __u32 out_idxs[], __u32 want) __attribute__((nonnull (1,2))); 77 extern void cfa_io_submit( struct $io_context * in_ctx, __u32 in_idxs[], __u32 have, bool lazy ) __attribute__((nonnull (1,2))); 79 78 #endif 80 79 … … 200 199 __u32 idx; 201 200 struct io_uring_sqe * sqe; 202 struct io_context$ * ctx = cfa_io_allocate( &sqe, &idx, 1 ); 203 204 memset(sqe, 0, sizeof(*sqe)); 201 struct $io_context * ctx = cfa_io_allocate( &sqe, &idx, 1 ); 202 205 203 sqe->opcode = IORING_OP_{op}; 204 sqe->user_data = (uintptr_t)&future; 206 205 sqe->flags = sflags; 207 sqe->user_data = (uintptr_t)&future; 208 {body} 206 sqe->ioprio = 0; 207 sqe->fd = 0; 208 sqe->off = 0; 209 sqe->addr = 0; 210 sqe->len = 0; 211 sqe->fsync_flags = 0; 212 sqe->__pad2[0] = 0; 213 sqe->__pad2[1] = 0; 214 sqe->__pad2[2] = 0;{body} 209 215 210 216 asm volatile("": : :"memory"); … … 220 226 async_{name}( future, {args}, submit_flags ); 221 227 222 __attribute__((unused)) bool parked; 223 parked = wait( future ); 224 __STATS__(false, if(!parked) io.submit.nblk += 1; ) 228 wait( future ); 225 229 if( future.result < 0 ) {{ 226 230 errno = -future.result; -
libcfa/src/concurrency/io/setup.cfa
r4520b77e r12df6fe 28 28 void ?{}(io_context_params & this) libcfa_public {} 29 29 30 void ?{}( io_context$& this, struct cluster & cl) {}31 void ^?{}( io_context$& this) {}30 void ?{}($io_context & this, struct cluster & cl) {} 31 void ^?{}($io_context & this) {} 32 32 33 33 void __cfa_io_start( processor * proc ) {} … … 37 37 void __cfa_io_stop ( processor * proc ) {} 38 38 39 io_arbiter$* create(void) { return 0p; }40 void destroy( io_arbiter$*) {}39 $io_arbiter * create(void) { return 0p; } 40 void destroy($io_arbiter *) {} 41 41 42 42 #else … … 105 105 106 106 107 static void __io_uring_setup ( io_context$& this, const io_context_params & params_in, int procfd );108 static void __io_uring_teardown( io_context$& this );109 static void __epoll_register( io_context$& ctx);110 static void __epoll_unregister( io_context$& ctx);111 void __ioarbiter_register( io_arbiter$ & mutex, io_context$& ctx );112 void __ioarbiter_unregister( io_arbiter$ & mutex, io_context$& ctx );113 114 void ?{}( io_context$& this, processor * proc, struct cluster & cl) {107 static void __io_uring_setup ( $io_context & this, const io_context_params & params_in, int procfd ); 108 static void __io_uring_teardown( $io_context & this ); 109 static void __epoll_register($io_context & ctx); 110 static void __epoll_unregister($io_context & ctx); 111 void __ioarbiter_register( $io_arbiter & mutex, $io_context & ctx ); 112 void __ioarbiter_unregister( $io_arbiter & mutex, $io_context & ctx ); 113 114 void ?{}($io_context & this, processor * proc, struct cluster & cl) { 115 115 /* paranoid */ verify( cl.io.arbiter ); 116 116 this.proc = proc; … … 122 122 } 123 123 124 void ^?{}( io_context$& this) {124 void ^?{}($io_context & this) { 125 125 __cfadbg_print_safe(io_core, "Kernel I/O : tearing down io_context %u\n", this.fd); 126 126 … … 129 129 } 130 130 131 static void __io_uring_setup( io_context$& this, const io_context_params & params_in, int procfd ) {131 static void __io_uring_setup( $io_context & this, const io_context_params & params_in, int procfd ) { 132 132 // Step 1 : call to setup 133 133 struct io_uring_params params; … … 228 228 229 229 #if !defined(CFA_WITH_IO_URING_IDLE) 230 {231 230 // Step 4 : eventfd 231 // io_uring_register is so f*cking slow on some machine that it 232 // will never succeed if preemption isn't hard blocked 232 233 __cfadbg_print_safe(io_core, "Kernel I/O : registering %d for completion with ring %d\n", procfd, fd); 233 234 … … 238 239 239 240 __cfadbg_print_safe(io_core, "Kernel I/O : registered %d for completion with ring %d\n", procfd, fd); 240 } 241 #endif 242 243 // TODO: implement a proper version of this. 244 // I have not found a better maximum that works in general but users should be able to configure it 245 // the same way they configure other I/O options 246 // #if defined(CFA_HAVE_IORING_REGISTER_IOWQ_MAX_WORKERS) 247 // { 248 // // Step 5 : max worker count 249 // __cfadbg_print_safe(io_core, "Kernel I/O : lmiting max workers for ring %d\n", fd); 250 251 // unsigned int maxes[2]; 252 // maxes[0] = 64; // max number of bounded workers (Regular files / block) 253 // maxes[1] = 64; // max number of unbounded workers (IOSQE_ASYNC) 254 // int ret = syscall( __NR_io_uring_register, fd, IORING_REGISTER_IOWQ_MAX_WORKERS, maxes, 2); 255 // if (ret < 0) { 256 // abort("KERNEL ERROR: IO_URING MAX WORKER REGISTER - %s\n", strerror(errno)); 257 // } 258 259 // __cfadbg_print_safe(io_core, "Kernel I/O : lmited max workers for ring %d\n", fd); 260 // } 261 // #endif 241 #endif 262 242 263 243 // some paranoid checks … … 277 257 } 278 258 279 static void __io_uring_teardown( io_context$& this ) {259 static void __io_uring_teardown( $io_context & this ) { 280 260 // Shutdown the io rings 281 261 struct __sub_ring_t & sq = this.sq; … … 320 300 // I/O Context Sleep 321 301 //============================================================================================= 322 // static inline void __epoll_ctl( io_context$& ctx, int op, const char * error) {302 // static inline void __epoll_ctl($io_context & ctx, int op, const char * error) { 323 303 // struct epoll_event ev; 324 304 // ev.events = EPOLLIN | EPOLLONESHOT; … … 330 310 // } 331 311 332 // static void __epoll_register( io_context$& ctx) {312 // static void __epoll_register($io_context & ctx) { 333 313 // __epoll_ctl(ctx, EPOLL_CTL_ADD, "ADD"); 334 314 // } 335 315 336 // static void __epoll_unregister( io_context$& ctx) {316 // static void __epoll_unregister($io_context & ctx) { 337 317 // // Read the current epoch so we know when to stop 338 318 // size_t curr = __atomic_load_n(&iopoll.epoch, __ATOMIC_SEQ_CST); … … 353 333 // } 354 334 355 // void __ioctx_prepare_block( io_context$& ctx) {335 // void __ioctx_prepare_block($io_context & ctx) { 356 336 // __cfadbg_print_safe(io_core, "Kernel I/O - epoll : Re-arming io poller %d (%p)\n", ctx.fd, &ctx); 357 337 // __epoll_ctl(ctx, EPOLL_CTL_MOD, "REARM"); … … 362 342 // I/O Context Misc Setup 363 343 //============================================================================================= 364 void ?{}( io_arbiter$& this ) {344 void ?{}( $io_arbiter & this ) { 365 345 this.pending.empty = true; 366 346 } 367 347 368 void ^?{}( io_arbiter$ & mutexthis ) {}369 370 io_arbiter$* create(void) {348 void ^?{}( $io_arbiter & this ) {} 349 350 $io_arbiter * create(void) { 371 351 return new(); 372 352 } 373 void destroy( io_arbiter$* arbiter) {353 void destroy($io_arbiter * arbiter) { 374 354 delete(arbiter); 375 355 } -
libcfa/src/concurrency/io/types.hfa
r4520b77e r12df6fe 33 33 34 34 struct processor; 35 monitor io_arbiter$;35 monitor $io_arbiter; 36 36 37 37 //----------------------------------------------------------------------- … … 125 125 126 126 127 struct __attribute__((aligned( 64))) io_context${128 io_arbiter$* arbiter;127 struct __attribute__((aligned(128))) $io_context { 128 $io_arbiter * arbiter; 129 129 processor * proc; 130 130 … … 137 137 }; 138 138 139 static inline unsigned long long ts( io_context$*& this) {139 static inline unsigned long long ts($io_context *& this) { 140 140 const __u32 head = *this->cq.head; 141 141 const __u32 tail = *this->cq.tail; … … 150 150 __u32 * idxs; 151 151 __u32 want; 152 io_context$* ctx;152 $io_context * ctx; 153 153 }; 154 154 155 monitor __attribute__((aligned(64))) io_arbiter${155 struct __attribute__((aligned(128))) $io_arbiter { 156 156 __outstanding_io_queue pending; 157 157 }; … … 186 186 #endif 187 187 188 // void __ioctx_prepare_block( io_context$& ctx);188 // void __ioctx_prepare_block($io_context & ctx); 189 189 #endif -
libcfa/src/concurrency/iofwd.hfa
r4520b77e r12df6fe 49 49 50 50 struct cluster; 51 struct io_context$;51 struct $io_context; 52 52 53 53 struct iovec; … … 82 82 //---------- 83 83 // underlying calls 84 extern struct io_context$* cfa_io_allocate(struct io_uring_sqe * out_sqes[], __u32 out_idxs[], __u32 want) __attribute__((nonnull (1,2)));85 extern void cfa_io_submit( struct io_context$* in_ctx, __u32 in_idxs[], __u32 have, bool lazy ) __attribute__((nonnull (1,2)));84 extern struct $io_context * cfa_io_allocate(struct io_uring_sqe * out_sqes[], __u32 out_idxs[], __u32 want) __attribute__((nonnull (1,2))); 85 extern void cfa_io_submit( struct $io_context * in_ctx, __u32 in_idxs[], __u32 have, bool lazy ) __attribute__((nonnull (1,2))); 86 86 87 87 //---------- -
libcfa/src/concurrency/kernel.cfa
r4520b77e r12df6fe 305 305 RUNNING: while(true) { 306 306 thrd_dst->preempted = __NO_PREEMPTION; 307 thrd_dst->state = Active; 307 308 308 309 // Update global state 309 310 kernelTLS().this_thread = thrd_dst; 310 311 // Update the state after setting this_thread312 // so that the debugger can find all active threads313 // in tls storage314 thrd_dst->state = Active;315 311 316 312 /* paranoid */ verify( ! __preemption_enabled() ); … … 339 335 /* paranoid */ verify( ! __preemption_enabled() ); 340 336 337 // Reset global state 338 kernelTLS().this_thread = 0p; 339 341 340 // We just finished running a thread, there are a few things that could have happened. 342 341 // 1 - Regular case : the thread has blocked and now one has scheduled it yet. … … 347 346 348 347 if(unlikely(thrd_dst->preempted != __NO_PREEMPTION)) { 349 // Reset the this_thread now that we know350 // the state isn't active anymore351 kernelTLS().this_thread = 0p;352 353 348 // The thread was preempted, reschedule it and reset the flag 354 349 schedule_thread$( thrd_dst, UNPARK_LOCAL ); … … 357 352 358 353 if(unlikely(thrd_dst->state == Halting)) { 359 // Reset the this_thread now that we know360 // the state isn't active anymore361 kernelTLS().this_thread = 0p;362 363 354 // The thread has halted, it should never be scheduled/run again 364 355 // finish the thread … … 369 360 /* paranoid */ verify( thrd_dst->state == Active ); 370 361 thrd_dst->state = Blocked; 371 372 // Reset the this_thread now that we know373 // the state isn't active anymore374 kernelTLS().this_thread = 0p;375 362 376 363 // set state of processor coroutine to active and the thread to inactive -
libcfa/src/concurrency/kernel.hfa
r4520b77e r12df6fe 35 35 // I/O 36 36 struct cluster; 37 struct io_context$;38 struct io_arbiter$;37 struct $io_context; 38 struct $io_arbiter; 39 39 40 40 struct io_context_params { … … 83 83 84 84 // Wrapper around kernel threads 85 struct __attribute__((aligned( 64))) processor {85 struct __attribute__((aligned(128))) processor { 86 86 // Cluster from which to get threads 87 87 struct cluster * cltr; … … 113 113 114 114 struct { 115 io_context$* ctx;115 $io_context * ctx; 116 116 unsigned target; 117 117 volatile bool pending; … … 171 171 172 172 // Intrusives lanes which are used by the ready queue 173 union __attribute__((aligned(64))) __intrusive_lane_t;173 struct __attribute__((aligned(128))) __intrusive_lane_t; 174 174 void ?{}(__intrusive_lane_t & this); 175 175 void ^?{}(__intrusive_lane_t & this); 176 176 177 177 // Aligned timestamps which are used by the ready queue and io subsystem 178 union __attribute__((aligned(64))) __timestamp_t { 179 struct { 180 volatile unsigned long long tv; 181 volatile unsigned long long ma; 182 } t; 183 char __padding[192]; 184 }; 185 186 static inline void ?{}(__timestamp_t & this) { this.t.tv = 0; this.t.ma = 0; } 178 struct __attribute__((aligned(128))) __timestamp_t { 179 volatile unsigned long long tv; 180 volatile unsigned long long ma; 181 }; 182 183 static inline void ?{}(__timestamp_t & this) { this.tv = 0; this.ma = 0; } 187 184 static inline void ^?{}(__timestamp_t &) {} 188 185 … … 215 212 //----------------------------------------------------------------------------- 216 213 // Cluster 217 struct __attribute__((aligned( 64))) cluster {214 struct __attribute__((aligned(128))) cluster { 218 215 struct { 219 216 struct { … … 230 227 struct { 231 228 // Array of $io_ 232 io_context$** data;229 $io_context ** data; 233 230 234 231 // Time since subqueues were processed … … 267 264 268 265 struct { 269 io_arbiter$* arbiter;266 $io_arbiter * arbiter; 270 267 io_context_params params; 271 268 } io; -
libcfa/src/concurrency/kernel/cluster.cfa
r4520b77e r12df6fe 93 93 //======================================================================= 94 94 void ?{}(__scheduler_RWLock_t & this) { 95 this. lock.max = __max_processors();96 this. lock.alloc = 0;97 this. lock.ready = 0;98 this. lock.data = alloc(this.lock.max);99 this. lock.write_lock = false;100 101 /*paranoid*/ verify(__atomic_is_lock_free(sizeof(this. lock.alloc), &this.lock.alloc));102 /*paranoid*/ verify(__atomic_is_lock_free(sizeof(this. lock.ready), &this.lock.ready));95 this.max = __max_processors(); 96 this.alloc = 0; 97 this.ready = 0; 98 this.data = alloc(this.max); 99 this.write_lock = false; 100 101 /*paranoid*/ verify(__atomic_is_lock_free(sizeof(this.alloc), &this.alloc)); 102 /*paranoid*/ verify(__atomic_is_lock_free(sizeof(this.ready), &this.ready)); 103 103 104 104 } 105 105 void ^?{}(__scheduler_RWLock_t & this) { 106 free(this. lock.data);106 free(this.data); 107 107 } 108 108 … … 110 110 //======================================================================= 111 111 // Lock-Free registering/unregistering of threads 112 unsigned register_proc_id( void ) with( __scheduler_lock.lock) {112 unsigned register_proc_id( void ) with(*__scheduler_lock) { 113 113 __kernel_rseq_register(); 114 114 … … 132 132 } 133 133 134 if(max <= alloc) abort("Trying to create more than %ud processors", __scheduler_lock .lock.max);134 if(max <= alloc) abort("Trying to create more than %ud processors", __scheduler_lock->max); 135 135 136 136 // Step - 2 : F&A to get a new spot in the array. 137 137 uint_fast32_t n = __atomic_fetch_add(&alloc, 1, __ATOMIC_SEQ_CST); 138 if(max <= n) abort("Trying to create more than %ud processors", __scheduler_lock .lock.max);138 if(max <= n) abort("Trying to create more than %ud processors", __scheduler_lock->max); 139 139 140 140 // Step - 3 : Mark space as used and then publish it. … … 154 154 } 155 155 156 void unregister_proc_id( unsigned id ) with( __scheduler_lock.lock) {156 void unregister_proc_id( unsigned id ) with(*__scheduler_lock) { 157 157 /* paranoid */ verify(id < ready); 158 158 /* paranoid */ verify(id == kernelTLS().sched_id); … … 169 169 // Writer side : acquire when changing the ready queue, e.g. adding more 170 170 // queues or removing them. 171 uint_fast32_t ready_mutate_lock( void ) with( __scheduler_lock.lock) {171 uint_fast32_t ready_mutate_lock( void ) with(*__scheduler_lock) { 172 172 /* paranoid */ verify( ! __preemption_enabled() ); 173 173 … … 196 196 } 197 197 198 void ready_mutate_unlock( uint_fast32_t last_s ) with( __scheduler_lock.lock) {198 void ready_mutate_unlock( uint_fast32_t last_s ) with(*__scheduler_lock) { 199 199 /* paranoid */ verify( ! __preemption_enabled() ); 200 200 … … 229 229 for( idx ; lanes_count ) { 230 230 __intrusive_lane_t & sl = readyQ.data[idx]; 231 assert(!readyQ.data[idx].l .lock);231 assert(!readyQ.data[idx].lock); 232 232 233 233 if(is_empty(sl)) { 234 assert( sl. l.anchor.next == 0p );235 assert( sl. l.anchor.ts == MAX );236 assert( mock_head(sl) == sl. l.prev );234 assert( sl.anchor.next == 0p ); 235 assert( sl.anchor.ts == MAX ); 236 assert( mock_head(sl) == sl.prev ); 237 237 } else { 238 assert( sl. l.anchor.next != 0p );239 assert( sl. l.anchor.ts != MAX );240 assert( mock_head(sl) != sl. l.prev );238 assert( sl.anchor.next != 0p ); 239 assert( sl.anchor.ts != MAX ); 240 assert( mock_head(sl) != sl.prev ); 241 241 } 242 242 } … … 249 249 static inline void fix(__intrusive_lane_t & ll) { 250 250 if(is_empty(ll)) { 251 verify(ll. l.anchor.next == 0p);252 ll. l.prev = mock_head(ll);251 verify(ll.anchor.next == 0p); 252 ll.prev = mock_head(ll); 253 253 } 254 254 } … … 278 278 279 279 #if defined(CFA_HAVE_LINUX_IO_URING_H) 280 static void assign_io( io_context$** data, size_t count, dlist(processor) & list) {280 static void assign_io($io_context ** data, size_t count, dlist(processor) & list) { 281 281 processor * it = &list`first; 282 282 while(it) { … … 299 299 tscs = alloc(count, tscs`realloc); 300 300 for(i; count) { 301 tscs[i].t .tv = rdtscl();302 tscs[i]. t.ma = 0;301 tscs[i].tv = rdtscl(); 302 tscs[i].ma = 0; 303 303 } 304 304 } … … 400 400 for( idx; ncount ~ ocount) { 401 401 // Lock is not strictly needed but makes checking invariants much easier 402 __attribute__((unused)) bool locked = __atomic_try_acquire(&readyQ.data[idx].l .lock);402 __attribute__((unused)) bool locked = __atomic_try_acquire(&readyQ.data[idx].lock); 403 403 verify(locked); 404 404 … … 418 418 419 419 // Unlock the lane 420 __atomic_unlock(&readyQ.data[idx].l .lock);420 __atomic_unlock(&readyQ.data[idx].lock); 421 421 422 422 // TODO print the queue statistics here … … 467 467 } 468 468 469 #define nested_offsetof(type, field) ((off_t)(&(((type*)0)-> field)))470 471 469 // Ctor 472 470 void ?{}( __intrusive_lane_t & this ) { 473 this.l .lock = false;474 this. l.prev = mock_head(this);475 this. l.anchor.next = 0p;476 this. l.anchor.ts = MAX;471 this.lock = false; 472 this.prev = mock_head(this); 473 this.anchor.next = 0p; 474 this.anchor.ts = MAX; 477 475 #if !defined(__CFA_NO_STATISTICS__) 478 this. l.cnt = 0;476 this.cnt = 0; 479 477 #endif 480 478 481 479 // We add a boat-load of assertions here because the anchor code is very fragile 482 /* paranoid */ _Static_assert( offsetof( thread$, link ) == nested_offsetof(__intrusive_lane_t, l.anchor) );483 /* paranoid */ verify( offsetof( thread$, link ) == nested_offsetof(__intrusive_lane_t, l.anchor) );484 /* paranoid */ verify( ((uintptr_t)( mock_head(this) ) + offsetof( thread$, link )) == (uintptr_t)(&this. l.anchor) );485 /* paranoid */ verify( &mock_head(this)->link.next == &this. l.anchor.next );486 /* paranoid */ verify( &mock_head(this)->link.ts == &this. l.anchor.ts );480 /* paranoid */ _Static_assert( offsetof( thread$, link ) == offsetof(__intrusive_lane_t, anchor) ); 481 /* paranoid */ verify( offsetof( thread$, link ) == offsetof(__intrusive_lane_t, anchor) ); 482 /* paranoid */ verify( ((uintptr_t)( mock_head(this) ) + offsetof( thread$, link )) == (uintptr_t)(&this.anchor) ); 483 /* paranoid */ verify( &mock_head(this)->link.next == &this.anchor.next ); 484 /* paranoid */ verify( &mock_head(this)->link.ts == &this.anchor.ts ); 487 485 /* paranoid */ verify( mock_head(this)->link.next == 0p ); 488 486 /* paranoid */ verify( mock_head(this)->link.ts == MAX ); 489 /* paranoid */ verify( mock_head(this) == this.l.prev ); 490 /* paranoid */ verify( __alignof__(__intrusive_lane_t) == 64 ); 491 /* paranoid */ verify( __alignof__(this) == 64 ); 492 /* paranoid */ verifyf( ((intptr_t)(&this) % 64) == 0, "Expected address to be aligned %p %% 64 == %zd", &this, ((intptr_t)(&this) % 64) ); 493 } 494 495 #undef nested_offsetof 487 /* paranoid */ verify( mock_head(this) == this.prev ); 488 /* paranoid */ verify( __alignof__(__intrusive_lane_t) == 128 ); 489 /* paranoid */ verify( __alignof__(this) == 128 ); 490 /* paranoid */ verifyf( ((intptr_t)(&this) % 128) == 0, "Expected address to be aligned %p %% 128 == %zd", &this, ((intptr_t)(&this) % 128) ); 491 } 496 492 497 493 // Dtor is trivial 498 494 void ^?{}( __intrusive_lane_t & this ) { 499 495 // Make sure the list is empty 500 /* paranoid */ verify( this. l.anchor.next == 0p );501 /* paranoid */ verify( this. l.anchor.ts == MAX );502 /* paranoid */ verify( mock_head(this) == this.l.prev );496 /* paranoid */ verify( this.anchor.next == 0p ); 497 /* paranoid */ verify( this.anchor.ts == MAX ); 498 /* paranoid */ verify( mock_head(this) == this.prev ); 503 499 } 504 500 -
libcfa/src/concurrency/kernel/cluster.hfa
r4520b77e r12df6fe 24 24 // Calc moving average based on existing average, before and current time. 25 25 static inline unsigned long long moving_average(unsigned long long currtsc, unsigned long long instsc, unsigned long long old_avg) { 26 /* paranoid */ verifyf( currtsc < 45000000000000000, "Suspiciously large current time: %'llu (%llx)\n", currtsc, currtsc ); 27 /* paranoid */ verifyf( instsc < 45000000000000000, "Suspiciously large insert time: %'llu (%llx)\n", instsc, instsc ); 26 28 /* paranoid */ verifyf( old_avg < 15000000000000, "Suspiciously large previous average: %'llu (%llx)\n", old_avg, old_avg ); 27 29 … … 37 39 if (ts_next == ULLONG_MAX) return; 38 40 unsigned long long now = rdtscl(); 39 unsigned long long pma = __atomic_load_n(&tscs[ idx ]. t.ma, __ATOMIC_RELAXED);40 __atomic_store_n(&tscs[ idx ].t .tv, ts_next, __ATOMIC_RELAXED);41 __atomic_store_n(&tscs[ idx ]. t.ma, moving_average(now, ts_prev, pma), __ATOMIC_RELAXED);41 unsigned long long pma = __atomic_load_n(&tscs[ idx ].ma, __ATOMIC_RELAXED); 42 __atomic_store_n(&tscs[ idx ].tv, ts_next, __ATOMIC_RELAXED); 43 __atomic_store_n(&tscs[ idx ].ma, moving_average(now, ts_prev, pma), __ATOMIC_RELAXED); 42 44 } 43 45 … … 59 61 if(ptsc != ULLONG_MAX) { 60 62 /* paranoid */ verify( start + i < count ); 61 unsigned long long tsc = moving_average(ctsc, ptsc, tscs[start + i]. t.ma);63 unsigned long long tsc = moving_average(ctsc, ptsc, tscs[start + i].ma); 62 64 if(tsc > max) max = tsc; 63 65 } -
libcfa/src/concurrency/kernel/fwd.hfa
r4520b77e r12df6fe 35 35 extern "C" { 36 36 extern "Cforall" { 37 extern __attribute__((aligned( 64))) __threadstruct KernelThreadData {37 extern __attribute__((aligned(128))) thread_local struct KernelThreadData { 38 38 struct thread$ * volatile this_thread; 39 39 struct processor * volatile this_processor; -
libcfa/src/concurrency/kernel/private.hfa
r4520b77e r12df6fe 88 88 #elif defined(CFA_HAVE_LINUX_RSEQ_H) 89 89 extern "Cforall" { 90 extern __attribute__((aligned( 64))) __threadvolatile struct rseq __cfaabi_rseq;90 extern __attribute__((aligned(128))) thread_local volatile struct rseq __cfaabi_rseq; 91 91 } 92 92 #else … … 139 139 //----------------------------------------------------------------------------- 140 140 // I/O 141 io_arbiter$* create(void);142 void destroy( io_arbiter$*);141 $io_arbiter * create(void); 142 void destroy($io_arbiter *); 143 143 144 144 //======================================================================= … … 161 161 // Blocking acquire 162 162 static inline void __atomic_acquire(volatile bool * ll) { 163 /* paranoid */ verify( ! __preemption_enabled() );164 /* paranoid */ verify(ll);165 166 163 while( __builtin_expect(__atomic_exchange_n(ll, (bool)true, __ATOMIC_SEQ_CST), false) ) { 167 164 while(__atomic_load_n(ll, (int)__ATOMIC_RELAXED)) … … 169 166 } 170 167 /* paranoid */ verify(*ll); 171 /* paranoid */ verify( ! __preemption_enabled() );172 168 } 173 169 174 170 // Non-Blocking acquire 175 171 static inline bool __atomic_try_acquire(volatile bool * ll) { 176 /* paranoid */ verify( ! __preemption_enabled() );177 /* paranoid */ verify(ll);178 179 172 return !__atomic_exchange_n(ll, (bool)true, __ATOMIC_SEQ_CST); 180 173 } … … 182 175 // Release 183 176 static inline void __atomic_unlock(volatile bool * ll) { 184 /* paranoid */ verify( ! __preemption_enabled() );185 /* paranoid */ verify(ll);186 177 /* paranoid */ verify(*ll); 187 178 __atomic_store_n(ll, (bool)false, __ATOMIC_RELEASE); … … 193 184 // have been hard-coded to for the ready-queue for 194 185 // simplicity and performance 195 union __attribute__((aligned(64))) __scheduler_RWLock_t { 196 struct { 197 __attribute__((aligned(64))) char padding; 198 199 // total cachelines allocated 200 __attribute__((aligned(64))) unsigned int max; 201 202 // cachelines currently in use 203 volatile unsigned int alloc; 204 205 // cachelines ready to itereate over 206 // (!= to alloc when thread is in second half of doregister) 207 volatile unsigned int ready; 208 209 // writer lock 210 volatile bool write_lock; 211 212 // data pointer 213 volatile bool * volatile * data; 214 } lock; 215 char pad[192]; 186 struct __scheduler_RWLock_t { 187 // total cachelines allocated 188 unsigned int max; 189 190 // cachelines currently in use 191 volatile unsigned int alloc; 192 193 // cachelines ready to itereate over 194 // (!= to alloc when thread is in second half of doregister) 195 volatile unsigned int ready; 196 197 // writer lock 198 volatile bool write_lock; 199 200 // data pointer 201 volatile bool * volatile * data; 216 202 }; 217 203 … … 219 205 void ^?{}(__scheduler_RWLock_t & this); 220 206 221 extern __scheduler_RWLock_t __scheduler_lock;207 extern __scheduler_RWLock_t * __scheduler_lock; 222 208 223 209 //----------------------------------------------------------------------- 224 210 // Reader side : acquire when using the ready queue to schedule but not 225 211 // creating/destroying queues 226 static inline void ready_schedule_lock(void) with( __scheduler_lock.lock) {212 static inline void ready_schedule_lock(void) with(*__scheduler_lock) { 227 213 /* paranoid */ verify( ! __preemption_enabled() ); 228 214 /* paranoid */ verify( ! kernelTLS().in_sched_lock ); … … 249 235 } 250 236 251 static inline void ready_schedule_unlock(void) with( __scheduler_lock.lock) {237 static inline void ready_schedule_unlock(void) with(*__scheduler_lock) { 252 238 /* paranoid */ verify( ! __preemption_enabled() ); 253 239 /* paranoid */ verify( data[kernelTLS().sched_id] == &kernelTLS().sched_lock ); … … 270 256 271 257 static inline bool ready_mutate_islocked() { 272 return __scheduler_lock .lock.write_lock;258 return __scheduler_lock->write_lock; 273 259 } 274 260 #endif -
libcfa/src/concurrency/kernel/startup.cfa
r4520b77e r12df6fe 113 113 KERNEL_STORAGE(thread$, mainThread); 114 114 KERNEL_STORAGE(__stack_t, mainThreadCtx); 115 //KERNEL_STORAGE(__scheduler_RWLock_t, __scheduler_lock);115 KERNEL_STORAGE(__scheduler_RWLock_t, __scheduler_lock); 116 116 KERNEL_STORAGE(eventfd_t, mainIdleEventFd); 117 117 KERNEL_STORAGE(io_future_t, mainIdleFuture); … … 123 123 processor * mainProcessor; 124 124 thread$ * mainThread; 125 __scheduler_RWLock_t * __scheduler_lock; 125 126 126 127 extern "C" { … … 133 134 //----------------------------------------------------------------------------- 134 135 // Global state 135 __threadstruct KernelThreadData __cfaabi_tls __attribute__ ((tls_model ( "initial-exec" ))) @= {136 thread_local struct KernelThreadData __cfaabi_tls __attribute__ ((tls_model ( "initial-exec" ))) @= { 136 137 NULL, // cannot use 0p 137 138 NULL, … … 147 148 }; 148 149 149 __scheduler_RWLock_t __scheduler_lock @= { 0 };150 151 150 #if defined(CFA_HAVE_LINUX_LIBRSEQ) 152 151 // No data needed 153 152 #elif defined(CFA_HAVE_LINUX_RSEQ_H) 154 153 extern "Cforall" { 155 __attribute__((aligned( 64))) __threadvolatile struct rseq __cfaabi_rseq @= {154 __attribute__((aligned(128))) thread_local volatile struct rseq __cfaabi_rseq @= { 156 155 .cpu_id : RSEQ_CPU_ID_UNINITIALIZED, 157 156 }; … … 199 198 200 199 // Initialize the global scheduler lock 201 //__scheduler_lock = (__scheduler_RWLock_t*)&storage___scheduler_lock;202 ( __scheduler_lock){};200 __scheduler_lock = (__scheduler_RWLock_t*)&storage___scheduler_lock; 201 (*__scheduler_lock){}; 203 202 204 203 // Initialize the main cluster … … 337 336 ^(*mainCluster){}; 338 337 339 ^( __scheduler_lock){};338 ^(*__scheduler_lock){}; 340 339 341 340 ^(__cfa_dbg_global_clusters.list){}; -
libcfa/src/concurrency/preemption.cfa
r4520b77e r12df6fe 238 238 //---------- 239 239 // special case for preemption since used often 240 __attribute__((optimize("no-reorder-blocks"))) bool __preemption_enabled() libcfa_ nopreempt libcfa_public {240 __attribute__((optimize("no-reorder-blocks"))) bool __preemption_enabled() libcfa_public { 241 241 // create a assembler label before 242 242 // marked as clobber all to avoid movement … … 272 272 } 273 273 274 extern "C" {275 __attribute__((visibility("hidden"))) extern void * const __start_cfatext_nopreempt;276 __attribute__((visibility("hidden"))) extern void * const __stop_cfatext_nopreempt;277 278 extern const __cfa_nopreempt_region __libcfa_nopreempt;279 __attribute__((visibility("protected"))) const __cfa_nopreempt_region __libcfathrd_nopreempt @= {280 (void * const)&__start_cfatext_nopreempt,281 (void * const)&__stop_cfatext_nopreempt282 };283 }284 285 static inline bool __cfaabi_in( void * const ip, const struct __cfa_nopreempt_region & const region ) {286 return ip >= region.start && ip <= region.stop;287 }288 289 274 290 275 //---------- 291 276 // Get data from the TLS block 292 277 // struct asm_region __cfaasm_get; 293 uintptr_t __cfatls_get( unsigned long int offset ) libcfa_nopreempt libcfa_public; //no inline to avoid problems278 uintptr_t __cfatls_get( unsigned long int offset ) __attribute__((__noinline__, visibility("default"))); //no inline to avoid problems 294 279 uintptr_t __cfatls_get( unsigned long int offset ) { 295 280 // create a assembler label before … … 310 295 extern "C" { 311 296 // Disable interrupts by incrementing the counter 312 void disable_interrupts() libcfa_nopreemptlibcfa_public {297 __attribute__((__noinline__, visibility("default"))) void disable_interrupts() libcfa_public { 313 298 // create a assembler label before 314 299 // marked as clobber all to avoid movement … … 341 326 // Enable interrupts by decrementing the counter 342 327 // If counter reaches 0, execute any pending __cfactx_switch 343 void enable_interrupts( bool poll ) libcfa_ nopreempt libcfa_public {328 void enable_interrupts( bool poll ) libcfa_public { 344 329 // Cache the processor now since interrupts can start happening after the atomic store 345 330 processor * proc = __cfaabi_tls.this_processor; … … 373 358 } 374 359 } 375 376 // Check whether or not there is pending preemption377 // force_yield( __POLL_PREEMPTION ) if appropriate378 // return true if the thread was in an interruptable state379 // i.e. on a real processor and not in the kernel380 // (can return true even if no preemption was pending)381 bool poll_interrupts() libcfa_public {382 // Cache the processor now since interrupts can start happening after the atomic store383 processor * proc = publicTLS_get( this_processor );384 if ( ! proc ) return false;385 if ( ! __preemption_enabled() ) return false;386 387 with( __cfaabi_tls.preemption_state ){388 // Signal the compiler that a fence is needed but only for signal handlers389 __atomic_signal_fence(__ATOMIC_RELEASE);390 if( proc->pending_preemption ) {391 proc->pending_preemption = false;392 force_yield( __POLL_PREEMPTION );393 }394 }395 396 return true;397 }398 360 } 399 361 … … 501 463 502 464 //----------------------------------------------------------------------------- 465 // Some assembly required 466 #if defined( __i386 ) 467 #ifdef __PIC__ 468 #define RELOC_PRELUDE( label ) \ 469 "calll .Lcfaasm_prelude_" #label "$pb\n\t" \ 470 ".Lcfaasm_prelude_" #label "$pb:\n\t" \ 471 "popl %%eax\n\t" \ 472 ".Lcfaasm_prelude_" #label "_end:\n\t" \ 473 "addl $_GLOBAL_OFFSET_TABLE_+(.Lcfaasm_prelude_" #label "_end-.Lcfaasm_prelude_" #label "$pb), %%eax\n\t" 474 #define RELOC_PREFIX "" 475 #define RELOC_SUFFIX "@GOT(%%eax)" 476 #else 477 #define RELOC_PREFIX "$" 478 #define RELOC_SUFFIX "" 479 #endif 480 #define __cfaasm_label( label ) struct asm_region label = \ 481 ({ \ 482 struct asm_region region; \ 483 asm( \ 484 RELOC_PRELUDE( label ) \ 485 "movl " RELOC_PREFIX "__cfaasm_" #label "_before" RELOC_SUFFIX ", %[vb]\n\t" \ 486 "movl " RELOC_PREFIX "__cfaasm_" #label "_after" RELOC_SUFFIX ", %[va]\n\t" \ 487 : [vb]"=r"(region.before), [va]"=r"(region.after) \ 488 ); \ 489 region; \ 490 }); 491 #elif defined( __x86_64 ) 492 #ifdef __PIC__ 493 #define RELOC_PREFIX "" 494 #define RELOC_SUFFIX "@GOTPCREL(%%rip)" 495 #else 496 #define RELOC_PREFIX "$" 497 #define RELOC_SUFFIX "" 498 #endif 499 #define __cfaasm_label( label ) struct asm_region label = \ 500 ({ \ 501 struct asm_region region; \ 502 asm( \ 503 "movq " RELOC_PREFIX "__cfaasm_" #label "_before" RELOC_SUFFIX ", %[vb]\n\t" \ 504 "movq " RELOC_PREFIX "__cfaasm_" #label "_after" RELOC_SUFFIX ", %[va]\n\t" \ 505 : [vb]"=r"(region.before), [va]"=r"(region.after) \ 506 ); \ 507 region; \ 508 }); 509 #elif defined( __aarch64__ ) 510 #ifdef __PIC__ 511 // Note that this works only for gcc 512 #define __cfaasm_label( label ) struct asm_region label = \ 513 ({ \ 514 struct asm_region region; \ 515 asm( \ 516 "adrp %[vb], _GLOBAL_OFFSET_TABLE_" "\n\t" \ 517 "ldr %[vb], [%[vb], #:gotpage_lo15:__cfaasm_" #label "_before]" "\n\t" \ 518 "adrp %[va], _GLOBAL_OFFSET_TABLE_" "\n\t" \ 519 "ldr %[va], [%[va], #:gotpage_lo15:__cfaasm_" #label "_after]" "\n\t" \ 520 : [vb]"=r"(region.before), [va]"=r"(region.after) \ 521 ); \ 522 region; \ 523 }); 524 #else 525 #error this is not the right thing to do 526 /* 527 #define __cfaasm_label( label ) struct asm_region label = \ 528 ({ \ 529 struct asm_region region; \ 530 asm( \ 531 "adrp %[vb], __cfaasm_" #label "_before" "\n\t" \ 532 "add %[vb], %[vb], :lo12:__cfaasm_" #label "_before" "\n\t" \ 533 "adrp %[va], :got:__cfaasm_" #label "_after" "\n\t" \ 534 "add %[va], %[va], :lo12:__cfaasm_" #label "_after" "\n\t" \ 535 : [vb]"=r"(region.before), [va]"=r"(region.after) \ 536 ); \ 537 region; \ 538 }); 539 */ 540 #endif 541 #else 542 #error unknown hardware architecture 543 #endif 544 503 545 // KERNEL ONLY 504 546 // Check if a __cfactx_switch signal handler shoud defer … … 506 548 // If false : preemption is unsafe and marked as pending 507 549 static inline bool preemption_ready( void * ip ) { 550 // Get all the region for which it is not safe to preempt 551 __cfaasm_label( get ); 552 __cfaasm_label( check ); 553 __cfaasm_label( dsable ); 554 // __cfaasm_label( debug ); 555 508 556 // Check if preemption is safe 509 557 bool ready = true; 510 if( __cfaabi_in( ip, __libcfa_nopreempt ) ) { ready = false; goto EXIT; }; 511 if( __cfaabi_in( ip, __libcfathrd_nopreempt ) ) { ready = false; goto EXIT; }; 512 558 if( __cfaasm_in( ip, get ) ) { ready = false; goto EXIT; }; 559 if( __cfaasm_in( ip, check ) ) { ready = false; goto EXIT; }; 560 if( __cfaasm_in( ip, dsable ) ) { ready = false; goto EXIT; }; 561 // if( __cfaasm_in( ip, debug ) ) { ready = false; goto EXIT; }; 513 562 if( !__cfaabi_tls.preemption_state.enabled) { ready = false; goto EXIT; }; 514 563 if( __cfaabi_tls.preemption_state.in_progress ) { ready = false; goto EXIT; }; … … 594 643 // Kernel Signal Handlers 595 644 //============================================================================================= 596 __cfaabi_dbg_debug_do( static __threadvoid * last_interrupt = 0; )645 __cfaabi_dbg_debug_do( static thread_local void * last_interrupt = 0; ) 597 646 598 647 // Context switch signal handler -
libcfa/src/concurrency/ready_queue.cfa
r4520b77e r12df6fe 81 81 /* paranoid */ verify( i < lanes_count ); 82 82 // If we can't lock it retry 83 } while( !__atomic_try_acquire( &readyQ.data[i].l .lock ) );83 } while( !__atomic_try_acquire( &readyQ.data[i].lock ) ); 84 84 } else { 85 85 do { 86 86 i = __tls_rand() % lanes_count; 87 } while( !__atomic_try_acquire( &readyQ.data[i].l .lock ) );87 } while( !__atomic_try_acquire( &readyQ.data[i].lock ) ); 88 88 } 89 89 } else { … … 93 93 /* paranoid */ verify( i < lanes_count ); 94 94 // If we can't lock it retry 95 } while( !__atomic_try_acquire( &readyQ.data[i].l .lock ) );95 } while( !__atomic_try_acquire( &readyQ.data[i].lock ) ); 96 96 } 97 97 … … 100 100 101 101 // Unlock and return 102 __atomic_unlock( &readyQ.data[i].l .lock );102 __atomic_unlock( &readyQ.data[i].lock ); 103 103 104 104 #if !defined(__CFA_NO_STATISTICS__) … … 136 136 else { 137 137 const unsigned target = proc->rdq.target; 138 __cfadbg_print_safe(ready_queue, "Kernel : %u considering helping %u, tcsc %llu\n", this, target, readyQ.tscs[target].t .tv);139 /* paranoid */ verify( readyQ.tscs[target].t .tv != ULLONG_MAX );138 __cfadbg_print_safe(ready_queue, "Kernel : %u considering helping %u, tcsc %llu\n", this, target, readyQ.tscs[target].tv); 139 /* paranoid */ verify( readyQ.tscs[target].tv != ULLONG_MAX ); 140 140 if(target < lanes_count) { 141 141 const unsigned long long cutoff = calc_cutoff(ctsc, proc->rdq.id, lanes_count, cltr->sched.readyQ.data, cltr->sched.readyQ.tscs, __shard_factor.readyq); 142 const unsigned long long age = moving_average(ctsc, readyQ.tscs[target].t .tv, readyQ.tscs[target].t.ma);142 const unsigned long long age = moving_average(ctsc, readyQ.tscs[target].tv, readyQ.tscs[target].ma); 143 143 __cfadbg_print_safe(ready_queue, "Kernel : Help attempt on %u from %u, age %'llu vs cutoff %'llu, %s\n", target, this, age, cutoff, age > cutoff ? "yes" : "no"); 144 144 if(age > cutoff) { … … 188 188 189 189 // If we can't get the lock retry 190 if( !__atomic_try_acquire(&lane.l .lock) ) {190 if( !__atomic_try_acquire(&lane.lock) ) { 191 191 return 0p; 192 192 } … … 194 194 // If list is empty, unlock and retry 195 195 if( is_empty(lane) ) { 196 __atomic_unlock(&lane.l .lock);196 __atomic_unlock(&lane.lock); 197 197 return 0p; 198 198 } … … 206 206 /* paranoid */ verify(thrd); 207 207 /* paranoid */ verify(ts_next); 208 /* paranoid */ verify(lane.l .lock);208 /* paranoid */ verify(lane.lock); 209 209 210 210 // Unlock and return 211 __atomic_unlock(&lane.l .lock);211 __atomic_unlock(&lane.lock); 212 212 213 213 // Update statistics -
libcfa/src/concurrency/ready_subqueue.hfa
r4520b77e r12df6fe 6 6 7 7 // Intrusives lanes which are used by the relaxed ready queue 8 union __attribute__((aligned(64))) __intrusive_lane_t { 9 struct { 10 struct thread$ * prev; 8 struct __attribute__((aligned(128))) __intrusive_lane_t { 9 struct thread$ * prev; 11 10 12 // spin lock protecting the queue13 volatile bool lock;11 // spin lock protecting the queue 12 volatile bool lock; 14 13 15 __thread_desc_link anchor;14 __thread_desc_link anchor; 16 15 17 #if !defined(__CFA_NO_STATISTICS__) 18 unsigned cnt; 19 #endif 20 } l; 21 char __padding[192]; 16 #if !defined(__CFA_NO_STATISTICS__) 17 unsigned cnt; 18 #endif 22 19 }; 23 20 … … 25 22 static inline thread$ * mock_head(const __intrusive_lane_t & this) { 26 23 thread$ * rhead = (thread$ *)( 27 (uintptr_t)( &this. l.anchor ) - __builtin_offsetof( thread$, link )24 (uintptr_t)( &this.anchor ) - __builtin_offsetof( thread$, link ) 28 25 ); 29 26 return rhead; … … 33 30 // returns true of lane was empty before push, false otherwise 34 31 static inline void push( __intrusive_lane_t & this, thread$ * node ) { 35 /* paranoid */ verify( this.l .lock );32 /* paranoid */ verify( this.lock ); 36 33 /* paranoid */ verify( node->link.next == 0p ); 37 34 /* paranoid */ verify( __atomic_load_n(&node->link.ts, __ATOMIC_RELAXED) == MAX ); 38 /* paranoid */ verify( this. l.prev->link.next == 0p );39 /* paranoid */ verify( __atomic_load_n(&this. l.prev->link.ts, __ATOMIC_RELAXED) == MAX );40 if( this. l.anchor.next == 0p ) {41 /* paranoid */ verify( this. l.anchor.next == 0p );42 /* paranoid */ verify( __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED) == MAX );43 /* paranoid */ verify( __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED) != 0 );44 /* paranoid */ verify( this. l.prev == mock_head( this ) );35 /* paranoid */ verify( this.prev->link.next == 0p ); 36 /* paranoid */ verify( __atomic_load_n(&this.prev->link.ts, __ATOMIC_RELAXED) == MAX ); 37 if( this.anchor.next == 0p ) { 38 /* paranoid */ verify( this.anchor.next == 0p ); 39 /* paranoid */ verify( __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED) == MAX ); 40 /* paranoid */ verify( __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED) != 0 ); 41 /* paranoid */ verify( this.prev == mock_head( this ) ); 45 42 } else { 46 /* paranoid */ verify( this. l.anchor.next != 0p );47 /* paranoid */ verify( __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED) != MAX );48 /* paranoid */ verify( __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED) != 0 );49 /* paranoid */ verify( this. l.prev != mock_head( this ) );43 /* paranoid */ verify( this.anchor.next != 0p ); 44 /* paranoid */ verify( __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED) != MAX ); 45 /* paranoid */ verify( __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED) != 0 ); 46 /* paranoid */ verify( this.prev != mock_head( this ) ); 50 47 } 51 48 52 49 // Get the relevant nodes locally 53 this. l.prev->link.next = node;54 __atomic_store_n(&this. l.prev->link.ts, rdtscl(), __ATOMIC_RELAXED);55 this. l.prev = node;50 this.prev->link.next = node; 51 __atomic_store_n(&this.prev->link.ts, rdtscl(), __ATOMIC_RELAXED); 52 this.prev = node; 56 53 #if !defined(__CFA_NO_STATISTICS__) 57 this. l.cnt++;54 this.cnt++; 58 55 #endif 59 56 } … … 63 60 // returns true of lane was empty before push, false otherwise 64 61 static inline [* thread$, unsigned long long] pop( __intrusive_lane_t & this ) { 65 /* paranoid */ verify( this.l .lock );66 /* paranoid */ verify( this. l.anchor.next != 0p );67 /* paranoid */ verify( __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED) != MAX );68 /* paranoid */ verify( __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED) != 0 );62 /* paranoid */ verify( this.lock ); 63 /* paranoid */ verify( this.anchor.next != 0p ); 64 /* paranoid */ verify( __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED) != MAX ); 65 /* paranoid */ verify( __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED) != 0 ); 69 66 70 67 // Get the relevant nodes locally 71 thread$ * node = this. l.anchor.next;72 this. l.anchor.next = node->link.next;73 __atomic_store_n(&this. l.anchor.ts, __atomic_load_n(&node->link.ts, __ATOMIC_RELAXED), __ATOMIC_RELAXED);74 bool is_empty = this. l.anchor.next == 0p;68 thread$ * node = this.anchor.next; 69 this.anchor.next = node->link.next; 70 __atomic_store_n(&this.anchor.ts, __atomic_load_n(&node->link.ts, __ATOMIC_RELAXED), __ATOMIC_RELAXED); 71 bool is_empty = this.anchor.next == 0p; 75 72 node->link.next = 0p; 76 73 __atomic_store_n(&node->link.ts, ULLONG_MAX, __ATOMIC_RELAXED); 77 74 #if !defined(__CFA_NO_STATISTICS__) 78 this. l.cnt--;75 this.cnt--; 79 76 #endif 80 77 81 78 // Update head time stamp 82 if(is_empty) this. l.prev = mock_head( this );79 if(is_empty) this.prev = mock_head( this ); 83 80 84 unsigned long long ats = __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED);81 unsigned long long ats = __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED); 85 82 /* paranoid */ verify( node->link.next == 0p ); 86 83 /* paranoid */ verify( __atomic_load_n(&node->link.ts , __ATOMIC_RELAXED) == MAX ); … … 93 90 // Check whether or not list is empty 94 91 static inline bool is_empty(__intrusive_lane_t & this) { 95 return this. l.anchor.next == 0p;92 return this.anchor.next == 0p; 96 93 } 97 94 … … 99 96 static inline unsigned long long ts(__intrusive_lane_t & this) { 100 97 // Cannot verify 'emptiness' here since it may not be locked 101 /* paranoid */ verify(this. l.anchor.ts != 0);102 /* paranoid */ static_assert(__atomic_always_lock_free(sizeof(this. l.anchor.ts), &this.l.anchor.ts));103 return __atomic_load_n(&this. l.anchor.ts, __ATOMIC_RELAXED);98 /* paranoid */ verify(this.anchor.ts != 0); 99 /* paranoid */ static_assert(__atomic_always_lock_free(sizeof(this.anchor.ts), &this.anchor.ts)); 100 return __atomic_load_n(&this.anchor.ts, __ATOMIC_RELAXED); 104 101 } -
libcfa/src/concurrency/stats.cfa
r4520b77e r12df6fe 46 46 stats->io.submit.fast = 0; 47 47 stats->io.submit.slow = 0; 48 stats->io.submit.eagr = 0;49 stats->io.submit.nblk = 0;50 48 stats->io.flush.external = 0; 51 49 stats->io.flush.dirty = 0; … … 118 116 tally_one( &cltr->io.submit.fast , &proc->io.submit.fast ); 119 117 tally_one( &cltr->io.submit.slow , &proc->io.submit.slow ); 120 tally_one( &cltr->io.submit.eagr , &proc->io.submit.eagr );121 tally_one( &cltr->io.submit.nblk , &proc->io.submit.nblk );122 118 tally_one( &cltr->io.flush.external , &proc->io.flush.external ); 123 119 tally_one( &cltr->io.flush.dirty , &proc->io.flush.dirty ); … … 201 197 sstr | "fast," | eng3(io.submit.slow) | "slow (" | ws(3, 3, avgfasts) | "%)" | nonl; 202 198 } 203 sstr | " - eager" | eng3(io.submit.eagr) | nonl;204 sstr | " - no-wait" | eng3(io.submit.nblk) | nonl;205 199 sstr | nl; 206 200 -
libcfa/src/concurrency/stats.hfa
r4520b77e r12df6fe 92 92 volatile uint64_t fast; 93 93 volatile uint64_t slow; 94 volatile uint64_t eagr;95 volatile uint64_t nblk;96 94 } submit; 97 95 struct { … … 132 130 #endif 133 131 134 struct __attribute__((aligned( 64))) __stats_t {132 struct __attribute__((aligned(128))) __stats_t { 135 133 __stats_readyQ_t ready; 136 134 #if defined(CFA_HAVE_LINUX_IO_URING_H) -
libcfa/src/iostream.cfa
r4520b77e r12df6fe 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 25 18:05:49202213 // Update Count : 135 412 // Last Modified On : Wed Jan 19 08:15:53 2022 13 // Update Count : 1352 14 14 // 15 15 … … 197 197 fmt( os, "%s", buf ); \ 198 198 if ( isfinite( val ) ) { /* if number, print decimal point when no fraction or exponent */ \ 199 for ( i ; 0 ~ @) { \199 for ( int i = 0;; i += 1 ) { \ 200 200 if ( i == len ) { fmt( os, "." ); break; } \ 201 201 if ( buf[i] == '.' || buf[i] == 'e' || buf[i] == 'E' ) break; /* decimal point or scientific ? */ \ -
libcfa/src/rational.cfa
r4520b77e r12df6fe 10 10 // Created On : Wed Apr 6 17:54:28 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 25 18:09:58 202213 // Update Count : 19 412 // Last Modified On : Tue Jul 20 16:30:06 2021 13 // Update Count : 193 14 14 // 15 15 … … 26 26 // rationals. alternative: https://en.wikipedia.org/wiki/Binary_GCD_algorithm 27 27 static T gcd( T a, T b ) { 28 for ( ) {// Euclid's algorithm28 for ( ;; ) { // Euclid's algorithm 29 29 T r = a % b; 30 30 if ( r == (T){0} ) break; … … 246 246 247 247 // find terms until denom gets too big 248 for ( ) {248 for ( ;; ) { 249 249 ai = convert( f ); 250 250 if ( ! (m10 * ai + m11 <= md) ) break; -
libcfa/src/startup.cfa
r4520b77e r12df6fe 41 41 } // __cfaabi_appready_shutdown 42 42 43 void disable_interrupts() __attribute__(( weak )) libcfa_nopreempt libcfa_public {} 44 void enable_interrupts() __attribute__(( weak )) libcfa_nopreempt libcfa_public {} 45 bool poll_interrupts() __attribute__(( weak )) libcfa_nopreempt libcfa_public { return false; } 46 47 __attribute__((visibility("hidden"))) extern void * const __start_cfatext_nopreempt; 48 __attribute__((visibility("hidden"))) extern void * const __stop_cfatext_nopreempt; 49 50 __attribute__((visibility("protected"))) const __cfa_nopreempt_region __libcfa_nopreempt @= { 51 (void * const)&__start_cfatext_nopreempt, 52 (void * const)&__stop_cfatext_nopreempt 53 }; 43 void disable_interrupts() __attribute__(( weak )) libcfa_public {} 44 void enable_interrupts() __attribute__(( weak )) libcfa_public {} 54 45 55 46 -
libcfa/src/stdlib.cfa
r4520b77e r12df6fe 10 10 // Created On : Thu Jan 28 17:10:29 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 25 22:41:14202213 // Update Count : 60 412 // Last Modified On : Thu Feb 10 22:41:39 2022 13 // Update Count : 602 14 14 // 15 15 … … 35 35 T * anew( size_t dim, TT p ) { 36 36 T * arr = alloc( dim ); 37 for ( i; dim) {37 for ( unsigned int i = 0; i < dim; i += 1 ) { 38 38 (arr[i]){ p }; // run constructor 39 39 } // for … … 45 45 if ( arr ) { // ignore null 46 46 size_t dim = malloc_size( arr ) / sizeof( T ); 47 for ( i ; 0 -~= dim - 1 ) {// reverse allocation order, must be unsigned47 for ( int i = dim - 1; i >= 0; i -= 1 ) { // reverse allocation order, must be unsigned 48 48 ^(arr[i]){}; // run destructor 49 49 } // for … … 56 56 if ( arr ) { // ignore null 57 57 size_t dim = malloc_size( arr ) / sizeof( T ); 58 for ( i ; 0 -~= dim - 1 ) {// reverse allocation order, must be unsigned58 for ( int i = dim - 1; i >= 0; i -= 1 ) { // reverse allocation order, must be unsigned 59 59 ^(arr[i]){}; // run destructor 60 60 } // for -
libcfa/src/stdlib.hfa
r4520b77e r12df6fe 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 25 18:07:06 202213 // Update Count : 64 512 // Last Modified On : Mon Apr 18 17:57:36 2022 13 // Update Count : 644 14 14 // 15 15 … … 192 192 memset( (char *)ptr + copy_end, (int)Fill.c, Dim * size - copy_end ); 193 193 } else if ( Fill.tag == 't' ) { 194 for ( i ; copy_end ~ Dim * size ~size ) {194 for ( int i = copy_end; i < Dim * size; i += size ) { 195 195 #pragma GCC diagnostic push 196 196 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -
src/AST/Decl.hpp
r4520b77e r12df6fe 108 108 ObjectDecl( const CodeLocation & loc, const std::string & name, const Type * type, 109 109 const Init * init = nullptr, Storage::Classes storage = {}, 110 Linkage::Spec linkage = Linkage::C forall, const Expr * bitWd = nullptr,110 Linkage::Spec linkage = Linkage::C, const Expr * bitWd = nullptr, 111 111 std::vector< ptr<Attribute> > && attrs = {}, Function::Specs fs = {} ) 112 112 : DeclWithType( loc, name, storage, linkage, std::move(attrs), fs ), type( type ), … … 143 143 FunctionDecl( const CodeLocation & loc, const std::string & name, std::vector<ptr<TypeDecl>>&& forall, 144 144 std::vector<ptr<DeclWithType>>&& params, std::vector<ptr<DeclWithType>>&& returns, 145 CompoundStmt * stmts, Storage::Classes storage = {}, Linkage::Spec linkage = Linkage::C forall,145 CompoundStmt * stmts, Storage::Classes storage = {}, Linkage::Spec linkage = Linkage::C, 146 146 std::vector<ptr<Attribute>>&& attrs = {}, Function::Specs fs = {}, bool isVarArgs = false); 147 147 … … 149 149 std::vector<ptr<TypeDecl>>&& forall, std::vector<ptr<DeclWithType>>&& assertions, 150 150 std::vector<ptr<DeclWithType>>&& params, std::vector<ptr<DeclWithType>>&& returns, 151 CompoundStmt * stmts, Storage::Classes storage = {}, Linkage::Spec linkage = Linkage::C forall,151 CompoundStmt * stmts, Storage::Classes storage = {}, Linkage::Spec linkage = Linkage::C, 152 152 std::vector<ptr<Attribute>>&& attrs = {}, Function::Specs fs = {}, bool isVarArgs = false); 153 153 … … 217 217 218 218 /// convenience accessor to match Type::isComplete() 219 bool isComplete() const{ return sized; }219 bool isComplete() { return sized; } 220 220 221 221 const Decl * accept( Visitor & v ) const override { return v.visit( this ); } -
src/AST/DeclReplacer.cpp
r4520b77e r12df6fe 9 9 // Author : Aaron B. Moss 10 10 // Created On : Wed May 8 13:00:00 2019 11 // Last Modified By : A ndrew Beach12 // Last Modified On : Thr Sep 15 11:55:00 202213 // Update Count : 211 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Wed May 8 13:00:00 2019 13 // Update Count : 1 14 14 // 15 15 16 16 #include "DeclReplacer.hpp" 17 #include "Expr.hpp" 18 #include "Type.hpp" 17 19 18 #include "Expr.hpp"19 20 #include "Pass.hpp" 20 #include "Type.hpp"21 21 22 22 namespace ast { 23 23 24 24 namespace DeclReplacer { 25 namespace { 26 struct DeclReplacer { 27 private: 28 const DeclMap & declMap; 29 const TypeMap & typeMap; 30 bool debug; 25 31 26 namespace { 27 struct DeclReplacer { 28 private: 29 const DeclMap & declMap; 30 const TypeMap & typeMap; 31 bool debug; 32 public: 33 DeclReplacer(const DeclMap & declMap, const TypeMap & typeMap, bool debug) 34 : declMap( declMap ), typeMap( typeMap ), debug( debug ) 35 {} 32 36 33 public: 34 DeclReplacer( const DeclMap & declMap, const TypeMap & typeMap, bool debug ) 35 : declMap( declMap ), typeMap( typeMap ), debug( debug ) 36 {} 37 const ast::VariableExpr * previsit( const ast::VariableExpr * ); 38 const ast::TypeInstType * previsit( const ast::TypeInstType * ); 39 }; 37 40 38 const ast::VariableExpr * previsit( const ast::VariableExpr * ); 39 const ast::TypeInstType * previsit( const ast::TypeInstType * ); 40 }; 41 struct VarExprReplacer { 42 private: 43 const ExprMap & exprMap; 44 45 public: 46 VarExprReplacer(const ExprMap & exprMap): exprMap (exprMap) {} 41 47 42 struct VarExprReplacer {43 private:44 const ExprMap & exprMap;48 const Expr * postvisit (const VariableExpr *); 49 }; 50 } 45 51 46 public: 47 VarExprReplacer( const ExprMap & exprMap ) : exprMap( exprMap ) {} 52 const ast::Node * replace( const ast::Node * node, const DeclMap & declMap, const TypeMap & typeMap, bool debug ) { 53 if(!node) return nullptr; 54 Pass<DeclReplacer> replacer = { declMap, typeMap, debug }; 55 return node->accept( replacer ); 56 } 48 57 49 const Expr * postvisit( const VariableExpr * ); 50 }; 51 } // namespace 58 const ast::Node * replace( const ast::Node * node, const DeclMap & declMap, bool debug ) { 59 TypeMap typeMap; 60 return replace( node, declMap, typeMap, debug ); 61 } 52 62 53 const ast::Node * replace( const ast::Node * node, const DeclMap & declMap, const TypeMap & typeMap, bool debug ) { 54 if(!node) return nullptr; 55 Pass<DeclReplacer> replacer = { declMap, typeMap, debug }; 56 return node->accept( replacer ); 63 const ast::Node * replace( const ast::Node * node, const TypeMap & typeMap, bool debug ) { 64 DeclMap declMap; 65 return replace( node, declMap, typeMap, debug ); 66 } 67 68 const ast::Node * replace( const ast::Node * node, const ExprMap & exprMap) { 69 Pass<VarExprReplacer> replacer = {exprMap}; 70 return node->accept( replacer ); 71 } 72 73 namespace { 74 // replace variable with new node from decl map 75 const ast::VariableExpr * DeclReplacer::previsit( const VariableExpr * varExpr ) { 76 // xxx - assertions and parameters aren't accounted for in this... (i.e. they aren't inserted into the map when it's made, only DeclStmts are) 77 if ( !declMap.count( varExpr->var ) ) return varExpr; 78 79 auto replacement = declMap.at( varExpr->var ); 80 if ( debug ) { 81 std::cerr << "replacing variable reference: " 82 << (void*)varExpr->var.get() << " " << varExpr->var 83 << " with " << (void*)replacement << " " << replacement 84 << std::endl; 85 } 86 auto nexpr = mutate(varExpr); 87 nexpr->var = replacement; 88 return nexpr; 89 } 90 91 const TypeInstType * DeclReplacer::previsit( const TypeInstType * inst ) { 92 if ( !typeMap.count( inst->base ) ) return inst; 93 94 auto replacement = typeMap.at( inst->base ); 95 if ( debug ) { 96 std::cerr << "replacing type reference: " 97 << (void*)inst->base.get() << " " << inst->base 98 << " with " << (void*)replacement << " " << replacement 99 << std::endl; 100 } 101 auto ninst = mutate(inst); 102 ninst->base = replacement; 103 return ninst; 104 } 105 106 const Expr * VarExprReplacer::postvisit( const VariableExpr * expr ) { 107 if (!exprMap.count(expr->var)) return expr; 108 109 return exprMap.at(expr->var); 110 } 111 112 } 57 113 } 58 114 59 const ast::Node * replace( const ast::Node * node, const DeclMap & declMap, bool debug ) {60 TypeMap typeMap;61 return replace( node, declMap, typeMap, debug );62 115 } 63 64 const ast::Node * replace( const ast::Node * node, const TypeMap & typeMap, bool debug ) {65 DeclMap declMap;66 return replace( node, declMap, typeMap, debug );67 }68 69 const ast::Node * replace( const ast::Node * node, const ExprMap & exprMap ) {70 Pass<VarExprReplacer> replacer = {exprMap};71 return node->accept( replacer );72 }73 74 namespace {75 // replace variable with new node from decl map76 const ast::VariableExpr * DeclReplacer::previsit( const VariableExpr * varExpr ) {77 // xxx - assertions and parameters aren't accounted for in this... (i.e. they aren't inserted into the map when it's made, only DeclStmts are)78 if ( !declMap.count( varExpr->var ) ) return varExpr;79 80 auto replacement = declMap.at( varExpr->var );81 if ( debug ) {82 std::cerr << "replacing variable reference: "83 << (void*)varExpr->var.get() << " " << varExpr->var84 << " with " << (void*)replacement << " " << replacement85 << std::endl;86 }87 auto nexpr = mutate(varExpr);88 nexpr->var = replacement;89 return nexpr;90 }91 92 const TypeInstType * DeclReplacer::previsit( const TypeInstType * inst ) {93 if ( !typeMap.count( inst->base ) ) return inst;94 95 auto replacement = typeMap.at( inst->base );96 if ( debug ) {97 std::cerr << "replacing type reference: "98 << (void*)inst->base.get() << " " << inst->base99 << " with " << (void*)replacement << " " << replacement100 << std::endl;101 }102 auto ninst = mutate(inst);103 ninst->base = replacement;104 return ninst;105 }106 107 const Expr * VarExprReplacer::postvisit( const VariableExpr * expr ) {108 if ( !exprMap.count( expr->var ) ) return expr;109 return exprMap.at( expr->var );110 }111 } // namespace112 113 } // namespace DeclReplacer114 115 } // namespace ast116 116 117 117 // Local Variables: // -
src/AST/Pass.hpp
r4520b77e r12df6fe 328 328 struct PureVisitor {}; 329 329 330 struct WithCodeLocation {331 const CodeLocation * location = nullptr;332 };333 334 330 /// Keep track of the polymorphic const TypeSubstitution * typeSubs for the current expression. 335 331 struct WithConstTypeSubstitution { -
src/AST/Pass.impl.hpp
r4520b77e r12df6fe 25 25 #define VISIT_START( node ) \ 26 26 using namespace ast; \ 27 /* back-up the last known code location */ \28 __attribute__((unused)) auto loc_guard = ast::__pass::make_location_guard( core, node, 0 ); \29 27 /* back-up the visit children */ \ 30 28 __attribute__((unused)) ast::__pass::visit_children_guard guard1( ast::__pass::visit_children(core, 0) ); \ … … 599 597 guard_symtab guard { *this }; 600 598 // implicit add __func__ identifier as specified in the C manual 6.4.2.2 601 // This is a C name and so has C linkage.602 599 static ast::ptr< ast::ObjectDecl > func{ new ast::ObjectDecl{ 603 600 CodeLocation{}, "__func__", … … 605 602 new ast::BasicType{ ast::BasicType::Char, ast::CV::Const }, 606 603 nullptr, VariableLen, DynamicDim 607 }, 608 nullptr, 609 ast::Storage::Classes(), 610 ast::Linkage::C, 604 } 611 605 } }; 612 606 __pass::symtab::addId( core, 0, func ); -
src/AST/Pass.proto.hpp
r4520b77e r12df6fe 326 326 } 327 327 328 template< typename core_t, typename node_t >329 static auto make_location_guard( core_t & core, node_t * node, int )330 -> decltype( node->location, ValueGuardPtr<const CodeLocation *>( &core.location ) ) {331 ValueGuardPtr<const CodeLocation *> guard( &core.location );332 core.location = &node->location;333 return guard;334 }335 336 template< typename core_t, typename node_t >337 static auto make_location_guard( core_t &, node_t *, long ) -> int {338 return 0;339 }340 341 328 // Another feature of the templated visitor is that it calls beginScope()/endScope() for compound statement. 342 329 // All passes which have such functions are assumed desire this behaviour -
src/AST/Print.cpp
r4520b77e r12df6fe 33 33 { 34 34 return array<C,sizeof...(T)>{ 35 std::forward<T>(values)...35 forward<T>(values)... 36 36 }; 37 37 } … … 86 86 87 87 static constexpr auto StorageClasses = make_array<const char*>( 88 "extern", "static", "auto", "register", "_ _thread", "_Thread_local"88 "extern", "static", "auto", "register", "_Thread_local" 89 89 ); 90 90 … … 215 215 ++indent; 216 216 ptrToEnum->base->accept( *this ); 217 --indent; 217 --indent; 218 218 } 219 219 … … 1634 1634 // if the wrong size is specified 1635 1635 constexpr array<const char*, 3> Printer::Names::FuncSpecifiers; 1636 constexpr array<const char*, 6> Printer::Names::StorageClasses;1636 constexpr array<const char*, 5> Printer::Names::StorageClasses; 1637 1637 constexpr array<const char*, 6> Printer::Names::Qualifiers; 1638 1638 } -
src/AST/StorageClasses.hpp
r4520b77e r12df6fe 24 24 /// Bitflags for storage classes 25 25 enum { 26 Extern = 1 << 0, 27 Static = 1 << 1, 28 Auto = 1 << 2, 29 Register = 1 << 3, 30 ThreadLocalGcc = 1 << 4, 31 ThreadLocalC11 = 1 << 5, 32 NumClasses = 6 26 Extern = 1 << 0, 27 Static = 1 << 1, 28 Auto = 1 << 2, 29 Register = 1 << 3, 30 ThreadLocal = 1 << 4, 31 NumClasses = 5 33 32 }; 34 33 … … 38 37 unsigned int val; 39 38 struct { 40 bool is_extern : 1; 41 bool is_static : 1; 42 bool is_auto : 1; 43 bool is_register : 1; 44 bool is_threadlocalGcc : 1; 45 bool is_threadlocalC11 : 1; 39 bool is_extern : 1; 40 bool is_static : 1; 41 bool is_auto : 1; 42 bool is_register : 1; 43 bool is_threadlocal : 1; 46 44 }; 47 45 … … 50 48 51 49 constexpr class_flags( unsigned int val = 0 ) : val(val) {} 52 53 bool is_threadlocal_any() { return this->is_threadlocalC11 || this->is_threadlocalGcc; }54 50 }; 55 51 -
src/AST/Type.cpp
r4520b77e r12df6fe 143 143 TraitInstType::TraitInstType( 144 144 const TraitDecl * b, CV::Qualifiers q, std::vector<ptr<Attribute>>&& as ) 145 : BaseInstType( b->name, q, std::move(as) ), base( b ) {}145 : BaseInstType( b->name, q, move(as) ), base( b ) {} 146 146 147 147 // --- TypeInstType … … 149 149 TypeInstType::TypeInstType( const TypeDecl * b, 150 150 CV::Qualifiers q, std::vector<ptr<Attribute>> && as ) 151 : BaseInstType( b->name, q, std::move(as) ), base( b ), kind( b->kind ) {}151 : BaseInstType( b->name, q, move(as) ), base( b ), kind( b->kind ) {} 152 152 153 153 void TypeInstType::set_base( const TypeDecl * b ) { … … 161 161 162 162 TupleType::TupleType( std::vector<ptr<Type>> && ts, CV::Qualifiers q ) 163 : Type( q ), types( std::move(ts) ), members() {163 : Type( q ), types( move(ts) ), members() { 164 164 // This constructor is awkward. `TupleType` needs to contain objects so that members can be 165 165 // named, but members without initializer nodes end up getting constructors, which breaks -
src/AST/Type.hpp
r4520b77e r12df6fe 83 83 template< enum Node::ref_type ref_t > 84 84 void reset_qualifiers( ptr_base< Type, ref_t > & p, CV::Qualifiers q = {} ) { 85 if ( p->qualifiers != q) p.get_and_mutate()->qualifiers = q;85 if ( p->qualifiers.val != q.val ) p.get_and_mutate()->qualifiers = q; 86 86 } 87 87 … … 89 89 template< enum Node::ref_type ref_t > 90 90 void add_qualifiers( ptr_base< Type, ref_t > & p, CV::Qualifiers q ) { 91 if ( ( p->qualifiers & q ) != q) p.get_and_mutate()->qualifiers |= q;91 if ( ( p->qualifiers.val & q.val ) != q.val ) p.get_and_mutate()->qualifiers |= q; 92 92 } 93 93 … … 95 95 template< enum Node::ref_type ref_t > 96 96 void remove_qualifiers( ptr_base< Type, ref_t > & p, CV::Qualifiers q ) { 97 if ( ( p->qualifiers & q) != 0 ) p.get_and_mutate()->qualifiers -= q;97 if ( ( p->qualifiers.val & q.val ) != 0 ) p.get_and_mutate()->qualifiers -= q; 98 98 } 99 99 -
src/Common/Eval.cc
r4520b77e r12df6fe 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 6 12:11:59202213 // Update Count : 11 912 // Last Modified On : Fri Jul 1 08:41:03 2022 13 // Update Count : 117 14 14 // 15 15 … … 217 217 value = arg1.first * arg2.first; 218 218 } else if (fname == "?/?") { 219 if ( arg2.first )value = arg1.first / arg2.first;219 value = arg1.first / arg2.first; 220 220 } else if (fname == "?%?") { 221 if ( arg2.first )value = arg1.first % arg2.first;221 value = arg1.first % arg2.first; 222 222 } else if (fname == "?<<?") { 223 223 value = arg1.first << arg2.first; -
src/Common/ScopedMap.h
r4520b77e r12df6fe 10 10 // Created On : Wed Dec 2 11:37:00 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Feb 15 08:41:28 202213 // Update Count : 512 // Last Modified On : Mon May 21 15:22:40 2018 13 // Update Count : 3 14 14 // 15 15 … … 36 36 37 37 template<typename N> 38 Scope(N && n) : map(), note(std::forward<N>(n)) {}38 Scope(N&& n) : map(), note(std::forward<N>(n)) {} 39 39 40 40 Scope() = default; 41 Scope(const Scope &) = default;42 Scope(Scope &&) = default;43 Scope & operator= (const Scope&) = default;44 Scope & operator= (Scope&&) = default;41 Scope(const Scope&) = default; 42 Scope(Scope&&) = default; 43 Scope& operator= (const Scope&) = default; 44 Scope& operator= (Scope&&) = default; 45 45 }; 46 46 typedef std::vector< Scope > ScopeList; … … 58 58 typedef typename MapType::const_pointer const_pointer; 59 59 60 class iterator : public std::iterator< std::bidirectional_iterator_tag, value_type > { 60 class iterator : public std::iterator< std::bidirectional_iterator_tag, 61 value_type > { 61 62 friend class ScopedMap; 62 63 friend class const_iterator; … … 71 72 72 73 /// Increments on invalid 73 iterator & next_valid() {74 iterator& next_valid() { 74 75 if ( ! is_valid() ) { ++(*this); } 75 76 return *this; … … 77 78 78 79 /// Decrements on invalid 79 iterator & prev_valid() {80 iterator& prev_valid() { 80 81 if ( ! is_valid() ) { --(*this); } 81 82 return *this; 82 83 } 83 84 84 iterator(scope_list & _scopes, const wrapped_iterator &_it, size_type inLevel)85 iterator(scope_list &_scopes, const wrapped_iterator &_it, size_type inLevel) 85 86 : scopes(&_scopes), it(_it), level(inLevel) {} 86 87 public: 87 iterator(const iterator & that) : scopes(that.scopes), it(that.it), level(that.level) {}88 iterator & operator= (const iterator &that) {88 iterator(const iterator &that) : scopes(that.scopes), it(that.it), level(that.level) {} 89 iterator& operator= (const iterator &that) { 89 90 scopes = that.scopes; level = that.level; it = that.it; 90 91 return *this; … … 94 95 pointer operator-> () const { return it.operator->(); } 95 96 96 iterator & operator++ () {97 iterator& operator++ () { 97 98 if ( it == (*scopes)[level].map.end() ) { 98 99 if ( level == 0 ) return *this; … … 106 107 iterator operator++ (int) { iterator tmp = *this; ++(*this); return tmp; } 107 108 108 iterator & operator-- () {109 iterator& operator-- () { 109 110 // may fail if this is the begin iterator; allowed by STL spec 110 111 if ( it == (*scopes)[level].map.begin() ) { … … 117 118 iterator operator-- (int) { iterator tmp = *this; --(*this); return tmp; } 118 119 119 bool operator== (const iterator & that) const {120 bool operator== (const iterator &that) const { 120 121 return scopes == that.scopes && level == that.level && it == that.it; 121 122 } 122 bool operator!= (const iterator & that) const { return !( *this == that ); }123 bool operator!= (const iterator &that) const { return !( *this == that ); } 123 124 124 125 size_type get_level() const { return level; } 125 126 126 Note & get_note() { return (*scopes)[level].note; }127 const Note & get_note() const { return (*scopes)[level].note; }127 Note& get_note() { return (*scopes)[level].note; } 128 const Note& get_note() const { return (*scopes)[level].note; } 128 129 129 130 private: … … 147 148 148 149 /// Increments on invalid 149 const_iterator & next_valid() {150 const_iterator& next_valid() { 150 151 if ( ! is_valid() ) { ++(*this); } 151 152 return *this; … … 153 154 154 155 /// Decrements on invalid 155 const_iterator & prev_valid() {156 const_iterator& prev_valid() { 156 157 if ( ! is_valid() ) { --(*this); } 157 158 return *this; 158 159 } 159 160 160 const_iterator(scope_list const & _scopes, const wrapped_const_iterator &_it, size_type inLevel)161 const_iterator(scope_list const &_scopes, const wrapped_const_iterator &_it, size_type inLevel) 161 162 : scopes(&_scopes), it(_it), level(inLevel) {} 162 163 public: 163 const_iterator(const iterator & that) : scopes(that.scopes), it(that.it), level(that.level) {}164 const_iterator(const const_iterator & that) : scopes(that.scopes), it(that.it), level(that.level) {}165 const_iterator & operator= (const iterator &that) {164 const_iterator(const iterator &that) : scopes(that.scopes), it(that.it), level(that.level) {} 165 const_iterator(const const_iterator &that) : scopes(that.scopes), it(that.it), level(that.level) {} 166 const_iterator& operator= (const iterator &that) { 166 167 scopes = that.scopes; level = that.level; it = that.it; 167 168 return *this; 168 169 } 169 const_iterator & operator= (const const_iterator &that) {170 const_iterator& operator= (const const_iterator &that) { 170 171 scopes = that.scopes; level = that.level; it = that.it; 171 172 return *this; … … 175 176 const_pointer operator-> () { return it.operator->(); } 176 177 177 const_iterator & operator++ () {178 const_iterator& operator++ () { 178 179 if ( it == (*scopes)[level].map.end() ) { 179 180 if ( level == 0 ) return *this; … … 187 188 const_iterator operator++ (int) { const_iterator tmp = *this; ++(*this); return tmp; } 188 189 189 const_iterator & operator-- () {190 const_iterator& operator-- () { 190 191 // may fail if this is the begin iterator; allowed by STL spec 191 192 if ( it == (*scopes)[level].map.begin() ) { … … 198 199 const_iterator operator-- (int) { const_iterator tmp = *this; --(*this); return tmp; } 199 200 200 bool operator== (const const_iterator & that) const {201 bool operator== (const const_iterator &that) const { 201 202 return scopes == that.scopes && level == that.level && it == that.it; 202 203 } 203 bool operator!= (const const_iterator & that) const { return !( *this == that ); }204 bool operator!= (const const_iterator &that) const { return !( *this == that ); } 204 205 205 206 size_type get_level() const { return level; } 206 207 207 const Note & get_note() const { return (*scopes)[level].note; }208 const Note& get_note() const { return (*scopes)[level].note; } 208 209 209 210 private: … … 220 221 // Starts a new scope with the given note 221 222 template<typename N> 222 void beginScope( N && n ) {223 void beginScope( N&& n ) { 223 224 scopes.emplace_back( std::forward<N>(n) ); 224 225 } … … 235 236 /// Constructs with a given note on the outermost scope 236 237 template<typename N> 237 ScopedMap( N && n ) : scopes() { beginScope(std::forward<N>(n)); }238 ScopedMap( N&& n ) : scopes() { beginScope(std::forward<N>(n)); } 238 239 239 240 iterator begin() { return iterator(scopes, scopes.back().map.begin(), currentScope()).next_valid(); } … … 248 249 249 250 /// Gets the note at the given scope 250 Note & getNote() { return scopes.back().note; }251 const Note & getNote() const { return scopes.back().note; }252 Note & getNote( size_type i ) { return scopes[i].note; }253 const Note & getNote( size_type i ) const { return scopes[i].note; }251 Note& getNote() { return scopes.back().note; } 252 const Note& getNote() const { return scopes.back().note; } 253 Note& getNote( size_type i ) { return scopes[i].note; } 254 const Note& getNote( size_type i ) const { return scopes[i].note; } 254 255 255 256 /// Finds the given key in the outermost scope it occurs; returns end() for none such 256 iterator find( const Key & key ) {257 iterator find( const Key &key ) { 257 258 for ( size_type i = scopes.size() - 1; ; --i ) { 258 259 typename MapType::iterator val = scopes[i].map.find( key ); … … 262 263 return end(); 263 264 } 264 const_iterator find( const Key & key ) const {265 const_iterator find( const Key &key ) const { 265 266 return const_iterator( const_cast< ScopedMap< Key, Value, Note >* >(this)->find( key ) ); 266 267 } 267 268 268 269 /// Finds the given key in the provided scope; returns end() for none such 269 iterator findAt( size_type scope, const Key & key ) {270 iterator findAt( size_type scope, const Key& key ) { 270 271 typename MapType::iterator val = scopes[scope].map.find( key ); 271 272 if ( val != scopes[scope].map.end() ) return iterator( scopes, val, scope ); 272 273 return end(); 273 274 } 274 const_iterator findAt( size_type scope, const Key & key ) const {275 const_iterator findAt( size_type scope, const Key& key ) const { 275 276 return const_iterator( const_cast< ScopedMap< Key, Value, Note >* >(this)->findAt( scope, key ) ); 276 277 } 277 278 278 279 /// Finds the given key in the outermost scope inside the given scope where it occurs 279 iterator findNext( const_iterator & it, const Key &key ) {280 iterator findNext( const_iterator &it, const Key &key ) { 280 281 if ( it.level == 0 ) return end(); 281 282 for ( size_type i = it.level - 1; ; --i ) { … … 286 287 return end(); 287 288 } 288 const_iterator findNext( const_iterator & it, const Key &key ) const {289 const_iterator findNext( const_iterator &it, const Key &key ) const { 289 290 return const_iterator( const_cast< ScopedMap< Key, Value, Note >* >(this)->findNext( it, key ) ); 290 291 } … … 292 293 /// Inserts the given key-value pair into the outermost scope 293 294 template< typename value_type_t > 294 std::pair< iterator, bool > insert( value_type_t && value ) {295 std::pair< iterator, bool > insert( value_type_t&& value ) { 295 296 std::pair< typename MapType::iterator, bool > res = scopes.back().map.insert( std::forward<value_type_t>( value ) ); 296 297 return std::make_pair( iterator(scopes, std::move( res.first ), scopes.size()-1), std::move( res.second ) ); … … 298 299 299 300 template< typename value_type_t > 300 std::pair< iterator, bool > insert( iterator at, value_type_t && value ) {301 MapType & scope = (*at.scopes)[ at.level ].map;301 std::pair< iterator, bool > insert( iterator at, value_type_t&& value ) { 302 MapType& scope = (*at.scopes)[ at.level ].map; 302 303 std::pair< typename MapType::iterator, bool > res = scope.insert( std::forward<value_type_t>( value ) ); 303 304 return std::make_pair( iterator(scopes, std::move( res.first ), at.level), std::move( res.second ) ); … … 305 306 306 307 template< typename value_t > 307 std::pair< iterator, bool > insert( const Key & key, value_t&& value ) { return insert( std::make_pair( key, std::forward<value_t>( value ) ) ); }308 std::pair< iterator, bool > insert( const Key &key, value_t&& value ) { return insert( std::make_pair( key, std::forward<value_t>( value ) ) ); } 308 309 309 310 template< typename value_type_t > 310 std::pair< iterator, bool > insertAt( size_type scope, value_type_t && value ) {311 std::pair< iterator, bool > insertAt( size_type scope, value_type_t&& value ) { 311 312 std::pair< typename MapType::iterator, bool > res = scopes.at(scope).map.insert( std::forward<value_type_t>( value ) ); 312 313 return std::make_pair( iterator(scopes, std::move( res.first ), scope), std::move( res.second ) ); … … 314 315 315 316 template< typename value_t > 316 std::pair< iterator, bool > insertAt( size_type scope, const Key & key, value_t&& value ) {317 std::pair< iterator, bool > insertAt( size_type scope, const Key& key, value_t&& value ) { 317 318 return insertAt( scope, std::make_pair( key, std::forward<value_t>( value ) ) ); 318 319 } 319 320 320 Value & operator[] ( const Key &key ) {321 Value& operator[] ( const Key &key ) { 321 322 iterator slot = find( key ); 322 323 if ( slot != end() ) return slot->second; … … 325 326 326 327 iterator erase( iterator pos ) { 327 MapType & scope = (*pos.scopes)[ pos.level ].map;328 const typename iterator::wrapped_iterator & new_it = scope.erase( pos.it );328 MapType& scope = (*pos.scopes)[ pos.level ].map; 329 const typename iterator::wrapped_iterator& new_it = scope.erase( pos.it ); 329 330 iterator it( *pos.scopes, new_it, pos.level ); 330 331 return it.next_valid(); 331 332 } 332 333 333 size_type count( const Key & key ) const {334 size_type count( const Key &key ) const { 334 335 size_type c = 0; 335 336 auto it = find( key ); … … 343 344 return c; 344 345 } 346 345 347 }; 346 348 -
src/Common/utility.h
r4520b77e r12df6fe 322 322 323 323 ValueGuardPtr(T * inRef) : old( inRef ? *inRef : T() ), ref(inRef) {} 324 ValueGuardPtr(const ValueGuardPtr& other) = delete;325 ValueGuardPtr(ValueGuardPtr&& other) : old(other.old), ref(other.ref) { other.ref = nullptr; }326 324 ~ValueGuardPtr() { if( ref ) *ref = old; } 327 325 }; -
src/CompilationState.cc
r4520b77e r12df6fe 31 31 genproto = false, 32 32 deterministic_output = false, 33 useNewAST = true,33 useNewAST = CFA_USE_NEW_AST, 34 34 nomainp = false, 35 35 parsep = false, -
src/Concurrency/Keywords.cc
r4520b77e r12df6fe 508 508 ObjectDecl * vtable_object = Virtual::makeVtableForward( 509 509 "_default_vtable_object_declaration", 510 vtable_decl->makeInst( std::move( poly_args ) ) );510 vtable_decl->makeInst( move( poly_args ) ) ); 511 511 declsToAddBefore.push_back( vtable_object ); 512 512 declsToAddBefore.push_back( … … 681 681 void lock (monitor_t & this) { 682 682 lock(get_monitor(this)); 683 } 683 } 684 684 */ 685 685 FunctionDecl * lock_decl = new FunctionDecl( … … 700 700 CompoundStmt * lock_statement = new CompoundStmt(); 701 701 lock_statement->push_back( 702 new ExprStmt( 702 new ExprStmt( 703 703 new UntypedExpr ( 704 704 new NameExpr( "lock" ), … … 716 716 void unlock (monitor_t & this) { 717 717 unlock(get_monitor(this)); 718 } 718 } 719 719 */ 720 720 FunctionDecl * unlock_decl = new FunctionDecl( … … 736 736 737 737 unlock_statement->push_back( 738 new ExprStmt( 738 new ExprStmt( 739 739 new UntypedExpr( 740 740 new NameExpr( "unlock" ), … … 746 746 ); 747 747 unlock_decl->set_statements( unlock_statement ); 748 748 749 749 // pushes routines to declsToAddAfter to add at a later time 750 750 declsToAddAfter.push_back( lock_decl ); … … 1054 1054 assert( !thread_guard_decl ); 1055 1055 thread_guard_decl = decl; 1056 } 1056 } 1057 1057 else if ( decl->name == "__mutex_stmt_lock_guard" && decl->body ) { 1058 1058 assert( !lock_guard_decl ); … … 1206 1206 new NameExpr( "__get_mutexstmt_lock_type" ), 1207 1207 { args.front()->clone() } 1208 ) 1208 ) 1209 1209 ) 1210 1210 ), … … 1225 1225 1226 1226 StructInstType * lock_guard_struct = new StructInstType( noQualifiers, lock_guard_decl ); 1227 TypeExpr * lock_type_expr = new TypeExpr( 1227 TypeExpr * lock_type_expr = new TypeExpr( 1228 1228 new TypeofType( noQualifiers, new UntypedExpr( 1229 1229 new NameExpr( "__get_mutexstmt_lock_type" ), 1230 1230 { args.front()->clone() } 1231 ) 1232 ) 1231 ) 1232 ) 1233 1233 ); 1234 1234 -
src/Concurrency/KeywordsNew.cpp
r4520b77e r12df6fe 398 398 new ast::ReferenceType( vtable_object->type, ast::CV::Const ), 399 399 new ast::SingleInit( location, 400 new ast::VariableExpr( location, vtable_object ) ) 400 new ast::VariableExpr( location, vtable_object ) ), 401 ast::Storage::Classes(), 402 ast::Linkage::Cforall 401 403 ) 402 404 ); … … 469 471 location, 470 472 "this", 471 new ast::ReferenceType( new ast::StructInstType( decl ) ) 473 new ast::ReferenceType( new ast::StructInstType( decl ) ), 474 nullptr, 475 ast::Storage::Classes(), 476 ast::Linkage::Cforall 472 477 ); 473 478 … … 475 480 location, 476 481 "ret", 477 new ast::PointerType( new ast::StructInstType( type_decl ) ) 482 new ast::PointerType( new ast::StructInstType( type_decl ) ), 483 nullptr, 484 ast::Storage::Classes(), 485 ast::Linkage::Cforall 478 486 ); 479 487 … … 522 530 location, 523 531 field_name, 524 new ast::StructInstType( type_decl ) 532 new ast::StructInstType( type_decl ), 533 nullptr, 534 ast::Storage::Classes(), 535 ast::Linkage::Cforall 525 536 ); 526 537 … … 566 577 location, 567 578 "this", 568 new ast::ReferenceType( new ast::StructInstType( decl ) ) 579 new ast::ReferenceType( new ast::StructInstType( decl ) ), 580 nullptr, 581 ast::Storage::Classes(), 582 ast::Linkage::Cforall 569 583 ); 570 584 … … 1063 1077 ) } 1064 1078 ) 1065 ) 1079 ), 1080 ast::Storage::Classes(), 1081 ast::Linkage::Cforall 1066 1082 ); 1067 1083 … … 1091 1107 {}, 1092 1108 ast::MaybeConstruct 1093 ) 1109 ), 1110 ast::Storage::Classes(), 1111 ast::Linkage::Cforall 1094 1112 )) 1095 1113 ); … … 1143 1161 } 1144 1162 ) 1145 ) 1163 ), 1164 ast::Storage::Classes(), 1165 ast::Linkage::Cforall 1146 1166 ); 1147 1167 … … 1170 1190 {}, 1171 1191 ast::MaybeConstruct 1172 ) 1192 ), 1193 ast::Storage::Classes(), 1194 ast::Linkage::Cforall 1173 1195 )) 1174 1196 ); … … 1274 1296 } 1275 1297 ) 1276 ) 1298 ), 1299 ast::Storage::Classes(), 1300 ast::Linkage::Cforall 1277 1301 ); 1278 1302 … … 1346 1370 {}, 1347 1371 ast::MaybeConstruct 1348 ) 1372 ), 1373 ast::Storage::Classes(), 1374 ast::Linkage::Cforall 1349 1375 ) 1350 1376 ) … … 1487 1513 {}, 1488 1514 ast::MaybeConstruct 1489 ) 1515 ), 1516 ast::Storage::Classes(), 1517 ast::Linkage::Cforall 1490 1518 ) 1491 1519 )); -
src/Concurrency/WaitforNew.cpp
r4520b77e r12df6fe 101 101 namespace { 102 102 103 class GenerateWaitForCore final:103 class GenerateWaitForCore : 104 104 public ast::WithSymbolTable, public ast::WithConstTranslationUnit { 105 105 const ast::FunctionDecl * decl_waitfor = nullptr; -
src/ControlStruct/ExceptDeclNew.cpp
r4520b77e r12df6fe 110 110 "parent", 111 111 new ast::PointerType( 112 new ast::StructInstType( "__cfavir_type_info", ast::CV::Const ) ) 112 new ast::StructInstType( "__cfavir_type_info", ast::CV::Const ) ), 113 nullptr, 114 ast::Storage::Classes(), 115 ast::Linkage::Cforall 113 116 ) ); 114 117 decl->body = true; … … 163 166 location, 164 167 "__cfavir_typeid", 165 new ast::PointerType( typeIdType ) 168 new ast::PointerType( typeIdType ), 169 nullptr, 170 ast::Storage::Classes(), 171 ast::Linkage::Cforall 166 172 ); 167 173 ast::ObjectDecl * size = new ast::ObjectDecl( 168 174 location, 169 175 "size", 170 new ast::TypeInstType( "size_t", ast::TypeDecl::Dtype ) 176 new ast::TypeInstType( "size_t", ast::TypeDecl::Dtype ), 177 nullptr, 178 ast::Storage::Classes(), 179 ast::Linkage::Cforall 171 180 ); 172 181 ast::ObjectDecl * copy = new ast::ObjectDecl( 173 182 location, 174 183 "copy", 175 new ast::PointerType( createCopyFuncType( exceptionName, params ) ) 184 new ast::PointerType( createCopyFuncType( exceptionName, params ) ), 185 nullptr, 186 ast::Storage::Classes(), 187 ast::Linkage::Cforall 176 188 ); 177 189 ast::ObjectDecl * dtor = new ast::ObjectDecl( 178 190 location, 179 191 "^?{}", 180 new ast::PointerType( createDtorFuncType( exceptionName, params ) ) 192 new ast::PointerType( createDtorFuncType( exceptionName, params ) ), 193 nullptr, 194 ast::Storage::Classes(), 195 ast::Linkage::Cforall 181 196 ); 182 197 ast::ObjectDecl * msg = new ast::ObjectDecl( 183 198 location, 184 199 "msg", 185 new ast::PointerType( createMsgFuncType( exceptionName, params ) ) 200 new ast::PointerType( createMsgFuncType( exceptionName, params ) ), 201 nullptr, 202 ast::Storage::Classes(), 203 ast::Linkage::Cforall 186 204 ); 187 205 ast::StructDecl * decl = new ast::StructDecl( … … 211 229 "virtual_table", 212 230 new ast::PointerType( 213 createVTableInstType( exceptionName, params ) ) 231 createVTableInstType( exceptionName, params ) ), 232 nullptr, 233 ast::Storage::Classes(), 234 ast::Linkage::Cforall 214 235 ) ); 215 236 for ( ast::ptr<ast::Decl> const & member : members ) { … … 268 289 "this", 269 290 new ast::PointerType( 270 createExceptionInstType( exceptionName, params ) ) 291 createExceptionInstType( exceptionName, params ) ), 292 nullptr, 293 ast::Storage::Classes(), 294 ast::Linkage::Cforall 271 295 ), 272 296 new ast::ObjectDecl( … … 274 298 "that", 275 299 new ast::PointerType( 276 createExceptionInstType( exceptionName, params ) ) 300 createExceptionInstType( exceptionName, params ) ), 301 nullptr, 302 ast::Storage::Classes(), 303 ast::Linkage::Cforall 277 304 ), 278 305 }, 279 306 { 280 new ast::ObjectDecl( location, "", new ast::VoidType() ), 307 new ast::ObjectDecl( 308 location, 309 "", 310 new ast::VoidType(), 311 nullptr, 312 ast::Storage::Classes(), 313 ast::Linkage::Cforall 314 ), 281 315 }, 282 316 new ast::CompoundStmt( location, { … … 332 366 "this", 333 367 new ast::PointerType( 334 createExceptionInstType( exceptionName, params ) ) 368 createExceptionInstType( exceptionName, params ) ), 369 nullptr, 370 ast::Storage::Classes(), 371 ast::Linkage::Cforall 335 372 ), 336 373 }, … … 340 377 "", 341 378 new ast::PointerType( 342 new ast::BasicType( ast::BasicType::Char, ast::CV::Const ) ) 379 new ast::BasicType( ast::BasicType::Char, ast::CV::Const ) ), 380 nullptr, 381 ast::Storage::Classes(), 382 ast::Linkage::Cforall 343 383 ), 344 384 }, … … 392 432 tableName, 393 433 createVTableInstType( exceptionName, params ), 394 new ast::ListInit( location, std::move( inits ), std::move( dsigs ) ) 434 new ast::ListInit( location, std::move( inits ), std::move( dsigs ) ), 435 ast::Storage::Classes(), 436 ast::Linkage::Cforall 395 437 ); 396 438 } -
src/ControlStruct/ExceptTranslateNew.cpp
r4520b77e r12df6fe 32 32 } 33 33 34 class TranslateThrowsCore final: public ast::WithGuards {34 class TranslateThrowsCore : public ast::WithGuards { 35 35 const ast::ObjectDecl * terminateHandlerExcept; 36 36 enum Context { NoHandler, TerHandler, ResHandler } currentContext; … … 136 136 137 137 138 class TryMutatorCore final{138 class TryMutatorCore { 139 139 // The built in types used in translation. 140 140 const ast::StructDecl * except_decl; … … 190 190 location, 191 191 "__handler_index", 192 new ast::BasicType( ast::BasicType::SignedInt ) 192 new ast::BasicType(ast::BasicType::SignedInt), 193 nullptr, //init 194 ast::Storage::Classes{}, 195 ast::Linkage::Cforall 193 196 ); 194 197 } … … 200 203 location, 201 204 "__exception_inst", 202 new ast::PointerType( new ast::StructInstType( except_decl ) ) 205 new ast::PointerType( 206 new ast::StructInstType( except_decl ) 207 ), 208 nullptr, //init 209 ast::Storage::Classes{}, 210 ast::Linkage::Cforall 203 211 ); 204 212 } -
src/ControlStruct/LabelFixer.cc
r4520b77e r12df6fe 119 119 120 120 // Builds a table that maps a label to its defining statement. 121 std::map<Label, Statement * > * LabelFixer::resolveJumps() {121 std::map<Label, Statement * > * LabelFixer::resolveJumps() throw ( SemanticErrorException ) { 122 122 std::map< Label, Statement * > *ret = new std::map< Label, Statement * >(); 123 123 for ( std::map< Label, Entry * >::iterator i = labelTable.begin(); i != labelTable.end(); ++i ) { -
src/ControlStruct/LabelFixer.h
r4520b77e r12df6fe 33 33 LabelFixer( LabelGenerator *gen = 0 ); 34 34 35 std::map < Label, Statement * > *resolveJumps() ;35 std::map < Label, Statement * > *resolveJumps() throw ( SemanticErrorException ); 36 36 37 37 // Declarations -
src/ControlStruct/MLEMutator.cc
r4520b77e r12df6fe 141 141 142 142 143 Statement *MultiLevelExitMutator::postmutate( BranchStmt *branchStmt ) { 143 Statement *MultiLevelExitMutator::postmutate( BranchStmt *branchStmt ) 144 throw ( SemanticErrorException ) { 144 145 std::string originalTarget = branchStmt->originalTarget; 145 146 -
src/ControlStruct/MLEMutator.h
r4520b77e r12df6fe 41 41 42 42 void premutate( CompoundStmt *cmpndStmt ); 43 Statement * postmutate( BranchStmt *branchStmt ) ;43 Statement * postmutate( BranchStmt *branchStmt ) throw ( SemanticErrorException ); 44 44 void premutate( WhileDoStmt *whileDoStmt ); 45 45 Statement * postmutate( WhileDoStmt *whileDoStmt ); -
src/GenPoly/GenPoly.cc
r4520b77e r12df6fe 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Wed Sep 14 9:24:00 202213 // Update Count : 1 511 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 29 21:45:53 2016 13 // Update Count : 14 14 14 // 15 15 … … 83 83 } 84 84 85 bool hasDynParams( const std::vector<ast::ptr<ast::Expr>> & params, const TyVarMap &tyVars, const ast::TypeSubstitution *typeSubs ) {86 for ( ast::ptr<ast::Expr> const & param : params ) {87 auto paramType = param.as<ast::TypeExpr>();88 assertf( paramType, "Aggregate parameters should be type expressions." );89 if ( isDynType( paramType->type, tyVars, typeSubs ) ) {90 return true;91 }92 }93 return false;94 }95 96 85 /// Checks a parameter list for inclusion of polymorphic parameters; will substitute according to env if present 97 86 bool includesPolyParams( std::list< Expression* >& params, const TypeSubstitution *env ) { … … 209 198 } 210 199 return 0; 211 }212 213 const ast::BaseInstType *isDynType( const ast::Type *type, const TyVarMap &tyVars, const ast::TypeSubstitution *typeSubs ) {214 type = replaceTypeInst( type, typeSubs );215 216 if ( auto inst = dynamic_cast<ast::TypeInstType const *>( type ) ) {217 auto var = tyVars.find( inst->name );218 if ( var != tyVars.end() && var->second.isComplete ) {219 return inst;220 }221 } else if ( auto inst = dynamic_cast<ast::StructInstType const *>( type ) ) {222 if ( hasDynParams( inst->params, tyVars, typeSubs ) ) {223 return inst;224 }225 } else if ( auto inst = dynamic_cast<ast::UnionInstType const *>( type ) ) {226 if ( hasDynParams( inst->params, tyVars, typeSubs ) ) {227 return inst;228 }229 }230 return nullptr;231 200 } 232 201 … … 409 378 inline D* as( B* p ) { return reinterpret_cast<D*>(p); } 410 379 411 template<typename D, typename B>412 inline D const * as( B const * p ) {413 return reinterpret_cast<D const *>( p );414 }415 416 380 /// Flattens a declaration list 417 381 template<typename Output> … … 427 391 for ( Type* ty : src ) { 428 392 ResolvExpr::flatten( ty, out ); 429 }430 }431 432 void flattenList( vector<ast::ptr<ast::Type>> const & src,433 vector<ast::ptr<ast::Type>> & out ) {434 for ( auto const & type : src ) {435 ResolvExpr::flatten( type, out );436 393 } 437 394 } … … 452 409 // if ( is<VoidType>( aparam->get_type() ) || is<VoidType>( bparam->get_type() ) ) continue; 453 410 if ( ! typesPolyCompatible( aparam->get_type(), bparam->get_type() ) ) return false; 454 }455 456 return true;457 }458 459 bool paramListsPolyCompatible(460 std::vector<ast::ptr<ast::Expr>> const & lparams,461 std::vector<ast::ptr<ast::Expr>> const & rparams ) {462 if ( lparams.size() != rparams.size() ) {463 return false;464 }465 466 for ( auto lparam = lparams.begin(), rparam = rparams.begin() ;467 lparam != lparams.end() ; ++lparam, ++rparam ) {468 ast::TypeExpr const * lexpr = lparam->as<ast::TypeExpr>();469 assertf( lexpr, "Aggregate parameters should be type expressions" );470 ast::TypeExpr const * rexpr = rparam->as<ast::TypeExpr>();471 assertf( rexpr, "Aggregate parameters should be type expressions" );472 473 // xxx - might need to let VoidType be a wildcard here too; could have some voids474 // stuffed in for dtype-statics.475 // if ( is<VoidType>( lexpr->type() ) || is<VoidType>( bparam->get_type() ) ) continue;476 if ( !typesPolyCompatible( lexpr->type, rexpr->type ) ) {477 return false;478 }479 411 } 480 412 … … 573 505 } 574 506 575 bool typesPolyCompatible( ast::Type const * lhs, ast::Type const * rhs ) {576 type_index const lid = typeid(*lhs);577 578 // Polymorphic types always match:579 if ( type_index(typeid(ast::TypeInstType)) == lid ) return true;580 581 type_index const rid = typeid(*rhs);582 if ( type_index(typeid(ast::TypeInstType)) == rid ) return true;583 584 // All other types only match if they are the same type:585 if ( lid != rid ) return false;586 587 // So remaining types can be examined case by case.588 // Recurse through type structure (conditions borrowed from Unify.cc).589 590 if ( type_index(typeid(ast::BasicType)) == lid ) {591 return as<ast::BasicType>(lhs)->kind == as<ast::BasicType>(rhs)->kind;592 } else if ( type_index(typeid(ast::PointerType)) == lid ) {593 ast::PointerType const * l = as<ast::PointerType>(lhs);594 ast::PointerType const * r = as<ast::PointerType>(rhs);595 596 // void pointers should match any other pointer type.597 return is<ast::VoidType>( l->base.get() )598 || is<ast::VoidType>( r->base.get() )599 || typesPolyCompatible( l->base.get(), r->base.get() );600 } else if ( type_index(typeid(ast::ReferenceType)) == lid ) {601 ast::ReferenceType const * l = as<ast::ReferenceType>(lhs);602 ast::ReferenceType const * r = as<ast::ReferenceType>(rhs);603 604 // void references should match any other reference type.605 return is<ast::VoidType>( l->base.get() )606 || is<ast::VoidType>( r->base.get() )607 || typesPolyCompatible( l->base.get(), r->base.get() );608 } else if ( type_index(typeid(ast::ArrayType)) == lid ) {609 ast::ArrayType const * l = as<ast::ArrayType>(lhs);610 ast::ArrayType const * r = as<ast::ArrayType>(rhs);611 612 if ( l->isVarLen ) {613 if ( !r->isVarLen ) return false;614 } else {615 if ( r->isVarLen ) return false;616 617 auto lc = l->dimension.as<ast::ConstantExpr>();618 auto rc = r->dimension.as<ast::ConstantExpr>();619 if ( lc && rc && lc->intValue() != rc->intValue() ) {620 return false;621 }622 }623 624 return typesPolyCompatible( l->base.get(), r->base.get() );625 } else if ( type_index(typeid(ast::FunctionType)) == lid ) {626 ast::FunctionType const * l = as<ast::FunctionType>(lhs);627 ast::FunctionType const * r = as<ast::FunctionType>(rhs);628 629 std::vector<ast::ptr<ast::Type>> lparams, rparams;630 flattenList( l->params, lparams );631 flattenList( r->params, rparams );632 if ( lparams.size() != rparams.size() ) return false;633 for ( unsigned i = 0; i < lparams.size(); ++i ) {634 if ( !typesPolyCompatible( lparams[i], rparams[i] ) ) return false;635 }636 637 std::vector<ast::ptr<ast::Type>> lrets, rrets;638 flattenList( l->returns, lrets );639 flattenList( r->returns, rrets );640 if ( lrets.size() != rrets.size() ) return false;641 for ( unsigned i = 0; i < lrets.size(); ++i ) {642 if ( !typesPolyCompatible( lrets[i], rrets[i] ) ) return false;643 }644 return true;645 } else if ( type_index(typeid(ast::StructInstType)) == lid ) {646 ast::StructInstType const * l = as<ast::StructInstType>(lhs);647 ast::StructInstType const * r = as<ast::StructInstType>(rhs);648 649 if ( l->name != r->name ) return false;650 return paramListsPolyCompatible( l->params, r->params );651 } else if ( type_index(typeid(ast::UnionInstType)) == lid ) {652 ast::UnionInstType const * l = as<ast::UnionInstType>(lhs);653 ast::UnionInstType const * r = as<ast::UnionInstType>(rhs);654 655 if ( l->name != r->name ) return false;656 return paramListsPolyCompatible( l->params, r->params );657 } else if ( type_index(typeid(ast::EnumInstType)) == lid ) {658 ast::EnumInstType const * l = as<ast::EnumInstType>(lhs);659 ast::EnumInstType const * r = as<ast::EnumInstType>(rhs);660 661 return l->name == r->name;662 } else if ( type_index(typeid(ast::TraitInstType)) == lid ) {663 ast::TraitInstType const * l = as<ast::TraitInstType>(lhs);664 ast::TraitInstType const * r = as<ast::TraitInstType>(rhs);665 666 return l->name == r->name;667 } else if ( type_index(typeid(ast::TupleType)) == lid ) {668 ast::TupleType const * l = as<ast::TupleType>(lhs);669 ast::TupleType const * r = as<ast::TupleType>(rhs);670 671 std::vector<ast::ptr<ast::Type>> ltypes, rtypes;672 flattenList( l->types, ( ltypes ) );673 flattenList( r->types, ( rtypes ) );674 if ( ltypes.size() != rtypes.size() ) return false;675 676 for ( unsigned i = 0 ; i < ltypes.size() ; ++i ) {677 if ( !typesPolyCompatible( ltypes[i], rtypes[i] ) ) return false;678 }679 return true;680 // The remaining types (VoidType, VarArgsType, ZeroType & OneType)681 // have no variation so will always be equal.682 } else {683 return true;684 }685 }686 687 507 namespace { 688 508 // temporary hack to avoid re-implementing anything related to TyVarMap -
src/GenPoly/GenPoly.h
r4520b77e r12df6fe 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Fri Aug 19 16:03:00 202213 // Update Count : 811 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 22 09:22:57 2017 13 // Update Count : 7 14 14 // 15 15 … … 27 27 namespace GenPoly { 28 28 29 // TODO Via some tricks this works for ast::TypeDecl::Data as well.30 29 typedef ErasableScopedMap< std::string, TypeDecl::Data > TyVarMap; 31 32 30 /// Replaces a TypeInstType by its referrent in the environment, if applicable 33 31 Type* replaceTypeInst( Type* type, const TypeSubstitution* env ); … … 43 41 /// returns dynamic-layout type if is dynamic-layout type in tyVars, NULL otherwise; will look up substitution in env if provided 44 42 ReferenceToType *isDynType( Type *type, const TyVarMap &tyVars, const TypeSubstitution *env = 0 ); 45 const ast::BaseInstType *isDynType( const ast::Type *type, const TyVarMap &tyVars, const ast::TypeSubstitution *typeSubs = 0 );46 43 47 44 /// true iff function has dynamic-layout return type under the given type variable map … … 86 83 /// true iff types are structurally identical, where TypeInstType's match any type. 87 84 bool typesPolyCompatible( Type *aty, Type *bty ); 88 bool typesPolyCompatible( ast::Type const * lhs, ast::Type const * rhs );89 85 90 86 /// true if arg requires boxing given exprTyVars -
src/GenPoly/InstantiateGeneric.h
r4520b77e r12df6fe 19 19 20 20 class Declaration; 21 namespace ast {22 class TranslationUnit;23 }24 21 25 22 namespace GenPoly { 26 /// Replaces all generic types that have static layout with concrete 27 /// instantiations. Types with concrete values for otype parameters will be 28 /// template-expanded, while dtype and ftype parameters will be replaced by 29 /// the appropriate void type. 30 void instantiateGeneric( std::list< Declaration* > &translationUnit ); 31 void instantiateGeneric( ast::TranslationUnit & translationUnit ); 23 /// Replaces all generic types that have static layout with concrete instantiations. 24 /// Types with concrete values for otype parameters will be template-expanded, while 25 /// dtype and ftype parameters will be replaced by the appropriate void type. 26 void instantiateGeneric( std::list< Declaration* > &translationUnit ); 32 27 } // namespace GenPoly 33 28 -
src/GenPoly/ScrubTyVars.cc
r4520b77e r12df6fe 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Fri Aug 19 16:10:00 202213 // Update Count : 411 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Mar 16 15:44:27 2017 13 // Update Count : 3 14 14 // 15 15 16 16 #include <utility> // for pair 17 17 18 #include "AST/Pass.hpp"19 18 #include "GenPoly.h" // for mangleType, TyVarMap, alignof... 20 19 #include "GenPoly/ErasableScopedMap.h" // for ErasableScopedMap<>::const_it... 21 20 #include "ScrubTyVars.h" 22 #include "SymTab/Mangler.h" // for mangle, typeMode23 21 #include "SynTree/Declaration.h" // for TypeDecl, TypeDecl::Data, Typ... 24 22 #include "SynTree/Expression.h" // for Expression (ptr only), NameExpr … … 114 112 return pointer; 115 113 } 116 117 namespace {118 119 enum class ScrubMode {120 FromMap,121 DynamicFromMap,122 All,123 };124 125 struct ScrubTypeVars :126 public ast::WithGuards,127 public ast::WithShortCircuiting,128 public ast::WithVisitorRef<ScrubTypeVars> {129 130 ScrubTypeVars( ScrubMode m, TyVarMap const * tv ) :131 mode ( m ), typeVars( tv ) {}132 133 void previsit( ast::TypeInstType const * ) { visit_children = false; }134 void previsit( ast::StructInstType const * ) { visit_children = false; }135 void previsit( ast::UnionInstType const * ) { visit_children = false; }136 void previsit( ast::SizeofExpr const * expr ) { primeBaseScrub( expr->type ); }137 void previsit( ast::AlignofExpr const * expr ) { primeBaseScrub( expr->type ); }138 void previsit( ast::PointerType const * type ) { primeBaseScrub( type->base ); }139 140 ast::Type const * postvisit( ast::TypeInstType const * type );141 ast::Type const * postvisit( ast::StructInstType const * type );142 ast::Type const * postvisit( ast::UnionInstType const * type );143 ast::Expr const * postvisit( ast::SizeofExpr const * expr );144 ast::Expr const * postvisit( ast::AlignofExpr const * expr );145 ast::Type const * postvisit( ast::PointerType const * type );146 147 private:148 ScrubMode const mode;149 /// Type varriables to scrub.150 TyVarMap const * const typeVars;151 /// Value cached by primeBaseScrub.152 ast::Type const * dynType = nullptr;153 154 /// Returns the type if it should be scrubbed, nullptr otherwise.155 ast::Type const * shouldScrub( ast::Type const * type ) {156 switch ( mode ) {157 case ScrubMode::FromMap:158 return isPolyType( type, *typeVars );159 case ScrubMode::DynamicFromMap:160 return isDynType( type, *typeVars );161 case ScrubMode::All:162 return isPolyType( type );163 default:164 assertf( false, "Invalid ScrubMode in shouldScrub." );165 throw;166 }167 }168 169 void primeBaseScrub( ast::Type const * type ) {170 // Need to determine whether type needs to be scrubbed to171 // determine whether automatic recursion is necessary.172 if ( ast::Type const * t = shouldScrub( type ) ) {173 visit_children = false;174 GuardValue( dynType ) = t;175 }176 }177 178 ast::Type const * postvisitAggregateType(179 ast::BaseInstType const * type ) {180 if ( !shouldScrub( type ) ) return type;181 return new ast::PointerType( new ast::VoidType( type->qualifiers ) );182 }183 };184 185 ast::Type const * ScrubTypeVars::postvisit( ast::TypeInstType const * type ) {186 // This implies that mode == ScrubMode::All.187 if ( !typeVars ) {188 if ( ast::TypeDecl::Ftype == type->kind ) {189 return new ast::PointerType(190 new ast::FunctionType( ast::FixedArgs ) );191 } else {192 return new ast::PointerType(193 new ast::VoidType( type->qualifiers ) );194 }195 }196 197 auto typeVar = typeVars->find( type->name );198 if ( typeVar == typeVars->end() ) {199 return type;200 }201 202 switch ( typeVar->second.kind ) {203 case ast::TypeDecl::Dtype:204 case ast::TypeDecl::Ttype:205 return new ast::PointerType(206 new ast::VoidType( type->qualifiers ) );207 case ast::TypeDecl::Ftype:208 return new ast::PointerType(209 new ast::FunctionType( ast::VariableArgs ) );210 default:211 assertf( false,212 "Unhandled type variable kind: %d", typeVar->second.kind );213 throw; // Just in case the assert is removed, stop here.214 }215 }216 217 ast::Type const * ScrubTypeVars::postvisit( ast::StructInstType const * type ) {218 return postvisitAggregateType( type );219 }220 221 ast::Type const * ScrubTypeVars::postvisit( ast::UnionInstType const * type ) {222 return postvisitAggregateType( type );223 }224 225 ast::Expr const * ScrubTypeVars::postvisit( ast::SizeofExpr const * expr ) {226 // sizeof( T ) becomes the _sizeof_T parameter.227 if ( dynType ) {228 return new ast::NameExpr( expr->location,229 sizeofName( Mangle::mangle( dynType, Mangle::typeMode() ) ) );230 } else {231 return expr;232 }233 }234 235 ast::Expr const * ScrubTypeVars::postvisit( ast::AlignofExpr const * expr ) {236 // alignof( T ) becomes the _alignof_T parameter.237 if ( dynType ) {238 return new ast::NameExpr( expr->location,239 alignofName( Mangle::mangle( dynType, Mangle::typeMode() ) ) );240 } else {241 return expr;242 }243 }244 245 ast::Type const * ScrubTypeVars::postvisit( ast::PointerType const * type ) {246 if ( dynType ) {247 ast::Type * ret = ast::mutate( dynType->accept( *visitor ) );248 ret->qualifiers |= type->qualifiers;249 return ret;250 } else {251 return type;252 }253 }254 255 const ast::Node * scrubTypeVarsBase(256 const ast::Node * target,257 ScrubMode mode, const TyVarMap * typeVars ) {258 if ( ScrubMode::All == mode ) {259 assert( nullptr == typeVars );260 } else {261 assert( nullptr != typeVars );262 }263 ast::Pass<ScrubTypeVars> visitor( mode, typeVars );264 return target->accept( visitor );265 }266 267 } // namespace268 269 template<>270 ast::Node const * scrubAllTypeVars<ast::Node>( const ast::Node * target ) {271 return scrubTypeVarsBase( target, ScrubMode::All, nullptr );272 }273 274 114 } // namespace GenPoly 275 115 -
src/GenPoly/ScrubTyVars.h
r4520b77e r12df6fe 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Fri Aug 19 14:14:00 202213 // Update Count : 311 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 22 09:21:47 2017 13 // Update Count : 2 14 14 // 15 15 … … 18 18 #include <cassert> // for assert 19 19 20 #include "AST/Fwd.hpp" // for Node21 20 #include "Common/PassVisitor.h" 22 21 #include "GenPoly.h" // for TyVarMap, isPolyType, isDynType … … 109 108 } 110 109 111 /// For all polymorphic types, replaces generic types, with the appropriate112 /// void type, and sizeof/alignof expressions with the proper variable.113 template<typename node_t>114 node_t const * scrubAllTypeVars( node_t const * target ) {115 return strict_dynamic_cast<node_t const *>( scrubAllTypeVars<ast::Node>( target ) );116 }117 118 template<>119 ast::Node const * scrubAllTypeVars<ast::Node>( const ast::Node * target );120 121 110 } // namespace GenPoly 122 111 -
src/GenPoly/Specialize.h
r4520b77e r12df6fe 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // Specialize.h -- Generate thunks to specialize polymorphic functions.7 // Specialize.h -- 8 8 // 9 9 // Author : Richard C. Bilson … … 17 17 18 18 #include <list> // for list 19 #include "AST/TranslationUnit.hpp" 19 20 20 21 class Declaration; 21 namespace ast {22 class TranslationUnit;23 }24 22 25 23 namespace GenPoly { -
src/GenPoly/SpecializeNew.cpp
r4520b77e r12df6fe 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // SpecializeNew.cpp -- Generate thunks to specialize polymorphic functions.7 // SpecializeNew.cpp -- 8 8 // 9 9 // Author : Andrew Beach … … 201 201 *formal, *actual, getInferredParams( expr ) ); 202 202 } 203 //for ( auto pair : group_iterate( formal->params, mut->args ) ) { 204 // const ast::ptr<ast::Type> & formal = std::get<0>( pair ); 205 // ast::ptr<ast::Expr> & actual = std::get<1>( pair ); 206 // *actual = doSpecialization( (*actual)->location, *formal, *actual, getInferredParams( expr ) ); 207 //} 203 208 return mut; 204 209 } … … 222 227 } 223 228 224 // Restructures arguments to match the structure of the formal parameters 225 // of the actual function. Returns the next structured argument. 229 // Restructures the arguments to match the structure of the formal parameters 230 // of the actual function. [begin, end) are the exploded arguments. 231 template<typename Iterator, typename OutIterator> 232 void structureArg( const CodeLocation & location, const ast::Type * type, 233 Iterator & begin, Iterator end, OutIterator out ) { 234 if ( auto tuple = dynamic_cast<const ast::TupleType *>( type ) ) { 235 std::vector<ast::ptr<ast::Expr>> exprs; 236 for ( const ast::Type * t : *tuple ) { 237 structureArg( location, t, begin, end, std::back_inserter( exprs ) ); 238 } 239 *out++ = new ast::TupleExpr( location, std::move( exprs ) ); 240 } else { 241 assertf( begin != end, "reached the end of the arguments while structuring" ); 242 *out++ = *begin++; 243 } 244 } 245 246 #if 0 226 247 template<typename Iterator> 227 248 const ast::Expr * structureArg( 228 249 const CodeLocation& location, const ast::ptr<ast::Type> & type, 229 250 Iterator & begin, const Iterator & end ) { 230 if ( auto tuple = type .as<ast::TupleType>() ) {251 if ( auto tuple = type->as<ast::TupleType>() ) { 231 252 std::vector<ast::ptr<ast::Expr>> exprs; 232 for ( const ast:: ptr<ast::Type> &t : *tuple ) {253 for ( const ast::Type * t : *tuple ) { 233 254 exprs.push_back( structureArg( location, t, begin, end ) ); 234 255 } … … 239 260 } 240 261 } 241 242 struct TypeInstFixer final : public ast::WithShortCircuiting { 243 std::map<const ast::TypeDecl *, std::pair<int, int>> typeMap; 244 245 void previsit(const ast::TypeDecl *) { visit_children = false; } 246 const ast::TypeInstType * postvisit(const ast::TypeInstType * typeInst) { 247 if (typeMap.count(typeInst->base)) { 248 ast::TypeInstType * newInst = mutate(typeInst); 249 auto const & pair = typeMap[typeInst->base]; 250 newInst->expr_id = pair.first; 251 newInst->formal_usage = pair.second; 252 return newInst; 253 } 254 return typeInst; 255 } 256 }; 262 #endif 263 264 namespace { 265 struct TypeInstFixer : public ast::WithShortCircuiting { 266 std::map<const ast::TypeDecl *, std::pair<int, int>> typeMap; 267 268 void previsit(const ast::TypeDecl *) { visit_children = false; } 269 const ast::TypeInstType * postvisit(const ast::TypeInstType * typeInst) { 270 if (typeMap.count(typeInst->base)) { 271 ast::TypeInstType * newInst = mutate(typeInst); 272 newInst->expr_id = typeMap[typeInst->base].first; 273 newInst->formal_usage = typeMap[typeInst->base].second; 274 return newInst; 275 } 276 return typeInst; 277 } 278 }; 279 } 257 280 258 281 const ast::Expr * SpecializeCore::createThunkFunction( … … 268 291 // Must replace only occurrences of type variables 269 292 // that occure free in the thunk's type. 293 //ast::TypeSubstitution::ApplyResult<ast::FunctionType> 294 // typeSubs->applyFree( newType ); 270 295 auto result = typeSubs->applyFree( newType ); 271 296 newType = result.node.release(); … … 275 300 using DeclVector = std::vector<ast::ptr<ast::TypeDecl>>; 276 301 302 //const std::string & thunkName = thunkNamer.newName(); 303 //UniqueName paramNamer(thunkName + "Param"); 277 304 UniqueName paramNamer( paramPrefix ); 278 305 306 //auto toParamDecl = [&location, ¶mNamer]( const ast::Type * type ) { 307 // return new ast::ObjectDecl( 308 // location, paramNamer.newName(), ast::deepCopy( type ) ); 309 //}; 310 279 311 // Create new thunk with same signature as formal type. 312 313 // std::map<const ast::TypeDecl *, std::pair<int, int>> typeMap; 280 314 ast::Pass<TypeInstFixer> fixer; 281 315 for (const auto & kv : newType->forall) { 282 316 if (fixer.core.typeMap.count(kv->base)) { 283 std::cerr << location << ' ' << kv->base->name 284 << ' ' << kv->expr_id << '_' << kv->formal_usage 285 << ',' << fixer.core.typeMap[kv->base].first 286 << '_' << fixer.core.typeMap[kv->base].second << std::endl; 317 std::cerr << location << ' ' << kv->base->name << ' ' << kv->expr_id << '_' << kv->formal_usage << ',' 318 << fixer.core.typeMap[kv->base].first << '_' << fixer.core.typeMap[kv->base].second << std::endl; 287 319 assertf(false, "multiple formals in specialize"); 288 320 } … … 290 322 fixer.core.typeMap[kv->base] = std::make_pair(kv->expr_id, kv->formal_usage); 291 323 } 292 } 324 } 293 325 294 326 ast::CompoundStmt * thunkBody = new ast::CompoundStmt( location ); … … 313 345 ); 314 346 347 // thunkFunc->accept(fixer); 315 348 thunkFunc->fixUniqueId(); 349 350 316 351 317 352 // Thunks may be generated and not used, avoid them. … … 340 375 // Name each thunk parameter and explode it. 341 376 // These are then threaded back into the actual function call. 377 //param->name = paramNamer.newName(); 342 378 ast::DeclWithType * mutParam = ast::mutate( param.get() ); 379 // - Should be renamed earlier. - 380 //mutParam->name = paramNamer.newName(); 343 381 explodeSimple( location, new ast::VariableExpr( location, mutParam ), 344 382 std::back_inserter( args ) ); … … 350 388 argBegin = args.begin(), argEnd = args.end(); 351 389 for ( const auto & actualArg : actualType->params ) { 352 app->args.push_back(353 st ructureArg( location, actualArg.get(), argBegin, argEnd) );390 structureArg( location, actualArg.get(), argBegin, argEnd, 391 std::back_inserter( app->args ) ); 354 392 } 355 393 assertf( argBegin == argEnd, "Did not structure all arguments." ); … … 431 469 // Create thunks for the inferred parameters. 432 470 // This is not needed for intrinsic calls, because they aren't 433 // actually passed to the function. It needs to handle explicit params 434 // before inferred params so that explicit params do not recieve a 435 // changed set of inferParams (and change them again). 436 // Alternatively, if order starts to matter then copy expr's inferParams 437 // and pass them to handleExplicitParams. 471 // actually passed 472 // 473 // need to handle explicit params before inferred params so that 474 // explicit params do not recieve a changed set of inferParams (and 475 // change them again) alternatively, if order starts to matter then 476 // copy appExpr's inferParams and pass them to handleExplicitParams. 438 477 ast::ApplicationExpr * mut = handleExplicitParams( expr ); 439 478 if ( !mut->inferred.hasParams() ) { … … 461 500 if ( specialized != expr->arg ) { 462 501 // Assume that the specialization incorporates the cast. 502 std::cerr << expr <<std::endl; 463 503 return specialized; 464 504 } else { -
src/GenPoly/module.mk
r4520b77e r12df6fe 27 27 GenPoly/FindFunction.cc \ 28 28 GenPoly/FindFunction.h \ 29 GenPoly/InstantiateGenericNew.cpp \30 29 GenPoly/InstantiateGeneric.cc \ 31 30 GenPoly/InstantiateGeneric.h \ -
src/InitTweak/FixInitNew.cpp
r4520b77e r12df6fe 595 595 if ( arg && isIntrinsicCallExpr( dtor ) ) { 596 596 return new ast::CommaExpr(loc, arg, new ast::VariableExpr(loc, ret ) ); 597 // return; 597 598 } 598 599 … … 653 654 if ( ! result->isVoid() ) { 654 655 static UniqueName retNamer("_tmp_cp_ret"); 656 // result = result->clone(); 655 657 auto subResult = env->apply( result ).node; 656 658 auto ret = new ast::ObjectDecl(loc, retNamer.newName(), subResult, nullptr ); … … 831 833 } 832 834 835 // stmtsToAddBefore.splice( stmtsToAddBefore.end(), fixer.pass.stmtsToAddBefore ); 836 // stmtsToAddAfter.splice( stmtsToAddAfter.end(), fixer.pass.stmtsToAddAfter ); 833 837 unqMap[mutExpr->id] = mutExpr; 834 838 } else { … … 1345 1349 auto tmp = new ast::ObjectDecl(loc, tempNamer.newName(), callExpr->args.front()->result ); 1346 1350 declsToAddBefore.push_back( tmp ); 1351 // delete ctorExpr; 1347 1352 1348 1353 // build assignment and replace constructor's first argument with new temporary -
src/InitTweak/InitTweak.cc
r4520b77e r12df6fe 27 27 #include "AST/Stmt.hpp" 28 28 #include "AST/Type.hpp" 29 #include "CodeGen/OperatorTable.h" // for isConstructor, isDestructor, isCto...30 29 #include "Common/PassVisitor.h" 31 30 #include "Common/SemanticError.h" // for SemanticError … … 771 770 std::list< Expression * > callExprs; 772 771 collectCtorDtorCalls( stmt, callExprs ); 772 // if ( callExprs.empty() ) return false; // xxx - do I still need this check? 773 773 return std::all_of( callExprs.begin(), callExprs.end(), pred); 774 774 } … … 901 901 } else if ( VariableExpr * varExpr = dynamic_cast< VariableExpr * >( func ) ) { 902 902 return varExpr->get_var()->get_name(); 903 } else if ( CastExpr * castExpr = dynamic_cast< CastExpr * >( func ) ) {903 } else if ( CastExpr * castExpr = dynamic_cast< CastExpr * >( func ) ) { 904 904 return funcName( castExpr->get_arg() ); 905 905 } else if ( MemberExpr * memberExpr = dynamic_cast< MemberExpr * >( func ) ) { … … 923 923 } else if ( const ast::VariableExpr * varExpr = dynamic_cast< const ast::VariableExpr * >( func ) ) { 924 924 return varExpr->var->name; 925 } else if ( const ast::CastExpr * castExpr = dynamic_cast< const ast::CastExpr * >( func ) ) {925 } else if ( const ast::CastExpr * castExpr = dynamic_cast< const ast::CastExpr * >( func ) ) { 926 926 return funcName( castExpr->arg ); 927 927 } else if ( const ast::MemberExpr * memberExpr = dynamic_cast< const ast::MemberExpr * >( func ) ) { … … 991 991 992 992 Type * isPointerType( Type * type ) { 993 return getPointerBase( type ) ? type : nullptr; 993 if ( getPointerBase( type ) ) return type; 994 else return nullptr; 994 995 } 995 996 … … 1013 1014 src = new AddressExpr( src ); 1014 1015 } 1016 // src = new CastExpr( src, new ReferenceType( noQualifiers, src->result->stripReferences()->clone() ) ); 1015 1017 } 1016 1018 return new ApplicationExpr( VariableExpr::functionPointer( assign ), { dst, src } ); … … 1165 1167 } 1166 1168 1169 bool isConstructor( const std::string & str ) { return str == "?{}"; } 1170 bool isDestructor( const std::string & str ) { return str == "^?{}"; } 1171 bool isAssignment( const std::string & str ) { return str == "?=?"; } 1172 bool isCtorDtor( const std::string & str ) { return isConstructor( str ) || isDestructor( str ); } 1173 bool isCtorDtorAssign( const std::string & str ) { return isCtorDtor( str ) || isAssignment( str ); } 1174 1167 1175 const FunctionDecl * isCopyFunction( const Declaration * decl, const std::string & fname ) { 1168 1176 const FunctionDecl * function = dynamic_cast< const FunctionDecl * >( decl ); … … 1184 1192 1185 1193 bool isAssignment( const ast::FunctionDecl * decl ) { 1186 return CodeGen::isAssignment( decl->name ) && isCopyFunction( decl );1194 return isAssignment( decl->name ) && isCopyFunction( decl ); 1187 1195 } 1188 1196 1189 1197 bool isDestructor( const ast::FunctionDecl * decl ) { 1190 return CodeGen::isDestructor( decl->name );1198 return isDestructor( decl->name ); 1191 1199 } 1192 1200 1193 1201 bool isDefaultConstructor( const ast::FunctionDecl * decl ) { 1194 return CodeGen::isConstructor( decl->name ) && 1 == decl->params.size();1202 return isConstructor( decl->name ) && 1 == decl->params.size(); 1195 1203 } 1196 1204 1197 1205 bool isCopyConstructor( const ast::FunctionDecl * decl ) { 1198 return CodeGen::isConstructor( decl->name ) && 2 == decl->params.size();1206 return isConstructor( decl->name ) && 2 == decl->params.size(); 1199 1207 } 1200 1208 … … 1214 1222 } 1215 1223 const FunctionDecl * isDestructor( const Declaration * decl ) { 1216 if ( CodeGen::isDestructor( decl->name ) ) {1224 if ( isDestructor( decl->name ) ) { 1217 1225 return dynamic_cast< const FunctionDecl * >( decl ); 1218 1226 } … … 1220 1228 } 1221 1229 const FunctionDecl * isDefaultConstructor( const Declaration * decl ) { 1222 if ( CodeGen::isConstructor( decl->name ) ) {1230 if ( isConstructor( decl->name ) ) { 1223 1231 if ( const FunctionDecl * func = dynamic_cast< const FunctionDecl * >( decl ) ) { 1224 1232 if ( func->type->parameters.size() == 1 ) { … … 1241 1249 static const char * const tlsd_section = ".tdata" ASM_COMMENT; 1242 1250 void addDataSectionAttribute( ObjectDecl * objDecl ) { 1243 const bool is_tls = objDecl->get_storageClasses().is_threadlocal _any();1251 const bool is_tls = objDecl->get_storageClasses().is_threadlocal; 1244 1252 const char * section = is_tls ? tlsd_section : data_section; 1245 1253 objDecl->attributes.push_back(new Attribute("section", { … … 1249 1257 1250 1258 void addDataSectionAttribute( ast::ObjectDecl * objDecl ) { 1251 const bool is_tls = objDecl->storage.is_threadlocal _any();1259 const bool is_tls = objDecl->storage.is_threadlocal; 1252 1260 const char * section = is_tls ? tlsd_section : data_section; 1253 1261 objDecl->attributes.push_back(new ast::Attribute("section", { -
src/Makefile.am
r4520b77e r12df6fe 71 71 EXTRA_DIST = include/cassert include/optional BasicTypes-gen.cc 72 72 73 AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -Werror=return-type -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O3 -g -std=c++1 7$(TCMALLOCFLAG)73 AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -Werror=return-type -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O3 -g -std=c++14 $(TCMALLOCFLAG) 74 74 AM_LDFLAGS = @HOST_FLAGS@ -Xlinker -export-dynamic 75 75 ARFLAGS = cr -
src/Parser/DeclarationNode.cc
r4520b77e r12df6fe 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 8 17:07:00 202213 // Update Count : 11 8512 // Last Modified On : Wed Jul 14 17:36:57 2021 13 // Update Count : 1154 14 14 // 15 15 … … 128 128 if ( name ) { 129 129 os << *name << ": "; 130 } else { 131 os << "unnamed: "; 130 132 } // if 131 133 … … 152 154 initializer->printOneLine( os ); 153 155 os << " maybe constructed? " << initializer->get_maybeConstructed(); 154 } // if 155 156 for ( Attribute * attr: reverseIterate( attributes ) ) { 157 os << string( indent + 2, ' ' ) << "attr " << attr->name.c_str(); 158 } // for 156 157 } // if 159 158 160 159 os << endl; … … 244 243 newnode->type = new TypeData( TypeData::Aggregate ); 245 244 newnode->type->aggregate.kind = kind; 246 newnode->type->aggregate.name = name == nullptr ? new string( DeclarationNode::anonymous.newName() ) : name;245 newnode->type->aggregate.name = name == nullptr ? new string( DeclarationNode::anonymous.newName() ) : name; 247 246 newnode->type->aggregate.actuals = actuals; 248 247 newnode->type->aggregate.fields = fields; … … 263 262 newnode->type->enumeration.typed = typed; 264 263 if ( base && base->type) { 265 newnode->type->base = base->type; 264 newnode->type->base = base->type; 266 265 } // if 267 266 … … 505 504 } // for 506 505 // src is the new item being added and has a single bit 507 } else if ( ! src->storageClasses.is_threadlocal _any()) { // conflict ?506 } else if ( ! src->storageClasses.is_threadlocal ) { // conflict ? 508 507 appendError( error, string( "conflicting " ) + Type::StorageClassesNames[storageClasses.ffs()] + 509 508 " & " + Type::StorageClassesNames[src->storageClasses.ffs()] ); … … 519 518 storageClasses |= q->storageClasses; 520 519 521 for ( Attribute * attr: reverseIterate( q->attributes ) ) {520 for ( Attribute *attr: reverseIterate( q->attributes ) ) { 522 521 attributes.push_front( attr->clone() ); 523 522 } // for … … 684 683 } // if 685 684 delete o; 686 687 685 return this; 688 686 } -
src/Parser/TypeData.cc
r4520b77e r12df6fe 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 15:12:51 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue May 10 22:36:52 202213 // Update Count : 67 711 // Last Modified By : Henry Xue 12 // Last Modified On : Tue Jul 20 04:10:50 2021 13 // Update Count : 673 14 14 // 15 15 … … 283 283 if ( signedness != DeclarationNode::NoSignedness ) os << DeclarationNode::signednessNames[ signedness ] << " "; 284 284 if ( length != DeclarationNode::NoLength ) os << DeclarationNode::lengthNames[ length ] << " "; 285 if ( complextype != DeclarationNode::NoComplexType ) os << DeclarationNode::complexTypeNames[ complextype ] << " "; 286 if ( basictype != DeclarationNode::NoBasicType ) os << DeclarationNode::basicTypeNames[ basictype ] << " "; 285 if ( complextype == DeclarationNode::NoComplexType ) { // basic type 286 assert( basictype != DeclarationNode::NoBasicType ); 287 os << DeclarationNode::basicTypeNames[ basictype ] << " "; 288 } else { // complex type 289 // handle double _Complex 290 if ( basictype != DeclarationNode::NoBasicType ) os << DeclarationNode::basicTypeNames[ basictype ] << " "; 291 os << DeclarationNode::complexTypeNames[ complextype ] << " "; 292 } // if 287 293 break; 288 294 case Pointer: … … 431 437 __attribute__((fallthrough)); 432 438 #endif 433 // FALL THROUGH434 439 case Typeof: 435 440 os << "type-of expression "; … … 437 442 typeexpr->print( os, indent + 2 ); 438 443 } // if 439 break;440 case Vtable:441 os << "vtable";442 444 break; 443 445 case Builtin: -
src/Parser/TypeData.h
r4520b77e r12df6fe 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 10 22:18:49 202213 // Update Count : 20 312 // Last Modified On : Wed Jul 14 17:44:05 2021 13 // Update Count : 202 14 14 // 15 15 … … 27 27 struct TypeData { 28 28 enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic, 29 SymbolicInst, Tuple, Basetypeof, Typeof, Vtable, Builtin, GlobalScope, Qualified, Unknown };29 SymbolicInst, Tuple, Typeof, Basetypeof, Vtable, Builtin, GlobalScope, Qualified, Unknown }; 30 30 31 31 struct Aggregate_t { -
src/Parser/TypedefTable.cc
r4520b77e r12df6fe 10 10 // Created On : Sat May 16 15:20:13 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Feb 15 08:27:24 202213 // Update Count : 2 7512 // Last Modified On : Wed May 19 08:30:14 2021 13 // Update Count : 262 14 14 // 15 15 … … 18 18 #include <cassert> // for assert 19 19 #include <iostream> 20 using namespace std;21 20 22 21 #if 0 … … 29 28 30 29 debugPrint( 31 static const char *kindName( int kind ) {32 switch ( kind ) {33 case IDENTIFIER: return "identifier";34 case TYPEDIMname: return "typedim";35 case TYPEDEFname: return "typedef";36 case TYPEGENname: return "typegen";37 default:38 cerr << "Error: cfa-cpp internal error, invalid kind of identifier" << endl;39 abort();40 } // switch41 } // kindName42 ) ;30 static const char *kindName( int kind ) { 31 switch ( kind ) { 32 case IDENTIFIER: return "identifier"; 33 case TYPEDIMname: return "typedim"; 34 case TYPEDEFname: return "typedef"; 35 case TYPEGENname: return "typegen"; 36 default: 37 cerr << "Error: cfa-cpp internal error, invalid kind of identifier" << endl; 38 abort(); 39 } // switch 40 } // kindName 41 ) 43 42 44 43 TypedefTable::~TypedefTable() { … … 81 80 82 81 void TypedefTable::addToScope( const string & identifier, int kind, const char * locn __attribute__((unused)) ) { 83 KindTable::size_typescope = kindTable.currentScope();82 auto scope = kindTable.currentScope(); 84 83 debugPrint( cerr << "Adding current at " << locn << " " << identifier << " as " << kindName( kind ) << " scope " << scope << endl ); 85 84 kindTable.insertAt( scope, identifier, kind ); … … 87 86 88 87 void TypedefTable::addToEnclosingScope( const string & identifier, int kind, const char * locn __attribute__((unused)) ) { 89 KindTable::size_typescope = kindTable.currentScope() - 1 - kindTable.getNote( kindTable.currentScope() - 1 ).level;90 // size_typescope = level - kindTable.getNote( kindTable.currentScope() - 1 ).level;88 auto scope = kindTable.currentScope() - 1 - kindTable.getNote( kindTable.currentScope() - 1 ).level; 89 // auto scope = level - kindTable.getNote( kindTable.currentScope() - 1 ).level; 91 90 debugPrint( cerr << "Adding enclosing at " << locn << " " << identifier << " as " << kindName( kind ) << " scope " << scope << " level " << level << " note " << kindTable.getNote( kindTable.currentScope() - 1 ).level << endl ); 92 pair< KindTable::iterator, bool >ret = kindTable.insertAt( scope, identifier, kind );91 auto ret = kindTable.insertAt( scope, identifier, kind ); 93 92 if ( ! ret.second ) ret.first->second = kind; // exists => update 94 93 } // TypedefTable::addToEnclosingScope -
src/Parser/lex.ll
r4520b77e r12df6fe 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Tue Aug 30 18:39:54 202213 * Update Count : 7 6012 * Last Modified On : Sun Jun 20 18:41:09 2021 13 * Update Count : 759 14 14 */ 15 15 … … 314 314 switch { KEYWORD_RETURN(SWITCH); } 315 315 thread { KEYWORD_RETURN(THREAD); } // C11 316 __thread { KEYWORD_RETURN(THREADLOCALGCC); } // GCC 317 _Thread_local { KEYWORD_RETURN(THREADLOCALC11); } // C11 316 _Thread_local { KEYWORD_RETURN(THREADLOCAL); } // C11 318 317 throw { KEYWORD_RETURN(THROW); } // CFA 319 318 throwResume { KEYWORD_RETURN(THROWRESUME); } // CFA -
src/Parser/parser.yy
r4520b77e r12df6fe 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 27 13:21:28 202213 // Update Count : 5 66112 // Last Modified On : Fri Jul 1 15:35:08 2022 13 // Update Count : 5405 14 14 // 15 15 … … 58 58 59 59 // lex uses __null in a boolean context, it's fine. 60 #pragma GCC diagnostic ignored "-Wpragmas"61 60 #pragma GCC diagnostic ignored "-Wparentheses-equality" 62 #pragma GCC diagnostic warning "-Wpragmas"63 61 64 62 extern DeclarationNode * parseTree; … … 199 197 } // fieldDecl 200 198 201 #define NEW_ZERO new ExpressionNode( build_constantInteger( *new string( "0" ) ) )202 #define NEW_ONE new ExpressionNode( build_constantInteger( *new string( "1" ) ) )203 #define UPDOWN( compop, left, right ) (compop == OperKinds::LThan || compop == OperKinds::LEThan ? left : right)204 #define MISSING_ANON_FIELD "Missing loop fields with an anonymous loop index is meaningless as loop index is unavailable in loop body."205 #define MISSING_LOW "Missing low value for up-to range so index is uninitialized."206 #define MISSING_HIGH "Missing high value for down-to range so index is uninitialized."207 208 ForCtrl * forCtrl( DeclarationNode * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) {209 if ( index->initializer ) {210 SemanticError( yylloc, "Direct initialization disallowed. Use instead: type var; initialization ~ comparison ~ increment." );211 } // if212 if ( index->next ) {213 SemanticError( yylloc, "Multiple loop indexes disallowed in for-loop declaration." );214 } // if215 return new ForCtrl( index->addInitializer( new InitializerNode( start ) ),216 // NULL comp/inc => leave blank217 comp ? new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index->name ) ) ), comp ) ) : nullptr,218 inc ? new ExpressionNode( build_binary_val( compop == OperKinds::LThan || compop == OperKinds::LEThan ? // choose += or -= for upto/downto219 OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index->name ) ) ), inc ) ) : nullptr );220 } // forCtrl221 222 199 ForCtrl * forCtrl( ExpressionNode * type, string * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) { 223 200 ConstantExpr * constant = dynamic_cast<ConstantExpr *>(type->expr.get()); … … 229 206 distAttr( DeclarationNode::newTypeof( type, true ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ), 230 207 // NULL comp/inc => leave blank 231 comp ? new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ) : nullptr,208 comp ? new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ) : 0, 232 209 inc ? new ExpressionNode( build_binary_val( compop == OperKinds::LThan || compop == OperKinds::LEThan ? // choose += or -= for upto/downto 233 OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) : nullptr);210 OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) : 0 ); 234 211 } // forCtrl 235 212 … … 295 272 %token TYPEDEF 296 273 %token EXTERN STATIC AUTO REGISTER 297 %token THREADLOCAL GCC THREADLOCALC11 // GCC,C11274 %token THREADLOCAL // C11 298 275 %token INLINE FORTRAN // C99, extension ISO/IEC 9899:1999 Section J.5.9(1) 299 276 %token NORETURN // C11 … … 369 346 %type<ifctl> conditional_declaration 370 347 %type<fctl> for_control_expression for_control_expression_list 371 %type<compop> updown updowneq downupdowneq348 %type<compop> inclexcl 372 349 %type<en> subrange 373 350 %type<decl> asm_name_opt … … 1262 1239 iteration_statement: 1263 1240 WHILE '(' ')' statement %prec THEN // CFA => while ( 1 ) 1264 { $$ = new StatementNode( build_while( new CondCtl( nullptr, NEW_ONE), maybe_build_compound( $4 ) ) ); }1241 { $$ = new StatementNode( build_while( new CondCtl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ), maybe_build_compound( $4 ) ) ); } 1265 1242 | WHILE '(' ')' statement ELSE statement // CFA 1266 1243 { 1267 $$ = new StatementNode( build_while( new CondCtl( nullptr, NEW_ONE), maybe_build_compound( $4 ) ) );1244 $$ = new StatementNode( build_while( new CondCtl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ), maybe_build_compound( $4 ) ) ); 1268 1245 SemanticWarning( yylloc, Warning::SuperfluousElse, "" ); 1269 1246 } … … 1273 1250 { $$ = new StatementNode( build_while( $3, maybe_build_compound( $5 ), $7 ) ); } 1274 1251 | DO statement WHILE '(' ')' ';' // CFA => do while( 1 ) 1275 { $$ = new StatementNode( build_do_while( NEW_ONE, maybe_build_compound( $2 ) ) ); }1252 { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), maybe_build_compound( $2 ) ) ); } 1276 1253 | DO statement WHILE '(' ')' ELSE statement // CFA 1277 1254 { 1278 $$ = new StatementNode( build_do_while( NEW_ONE, maybe_build_compound( $2 ) ) );1255 $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), maybe_build_compound( $2 ) ) ); 1279 1256 SemanticWarning( yylloc, Warning::SuperfluousElse, "" ); 1280 1257 } … … 1327 1304 { $$ = new ForCtrl( $1, $2, $4 ); } 1328 1305 1329 | '@' ';' comma_expression // CFA, empty loop-index 1330 { $$ = new ForCtrl( (ExpressionNode *)nullptr, $3, nullptr ); } 1331 | '@' ';' comma_expression ';' comma_expression // CFA, empty loop-index 1332 { $$ = new ForCtrl( (ExpressionNode *)nullptr, $3, $5 ); } 1333 1334 | comma_expression // CFA, anonymous loop-index 1335 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), NEW_ZERO, OperKinds::LThan, $1->clone(), NEW_ONE ); } 1336 | downupdowneq comma_expression // CFA, anonymous loop-index 1337 { $$ = forCtrl( $2, new string( DeclarationNode::anonymous.newName() ), UPDOWN( $1, NEW_ZERO, $2->clone() ), $1, UPDOWN( $1, $2->clone(), NEW_ZERO ), NEW_ONE ); } 1338 1339 | comma_expression updowneq comma_expression // CFA, anonymous loop-index 1340 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), UPDOWN( $2, $1->clone(), $3 ), $2, UPDOWN( $2, $3->clone(), $1->clone() ), NEW_ONE ); } 1341 | '@' updowneq comma_expression // CFA, anonymous loop-index 1342 { 1343 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1344 else $$ = forCtrl( $3, new string( DeclarationNode::anonymous.newName() ), $3->clone(), $2, nullptr, NEW_ONE ); 1345 } 1346 | comma_expression updowneq '@' // CFA, anonymous loop-index 1347 { 1348 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1349 else { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1350 } 1351 | comma_expression updowneq comma_expression '~' comma_expression // CFA, anonymous loop-index 1352 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), UPDOWN( $2, $1->clone(), $3 ), $2, UPDOWN( $2, $3->clone(), $1->clone() ), $5 ); } 1353 | '@' updowneq comma_expression '~' comma_expression // CFA, anonymous loop-index 1354 { 1355 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1356 else $$ = forCtrl( $3, new string( DeclarationNode::anonymous.newName() ), $3->clone(), $2, nullptr, $5 ); 1357 } 1358 | comma_expression updowneq '@' '~' comma_expression // CFA, anonymous loop-index 1359 { 1360 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1361 else { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1362 } 1363 | comma_expression updowneq comma_expression '~' '@' // CFA, error 1364 { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1365 | '@' updowneq '@' // CFA, error 1366 { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1367 | '@' updowneq comma_expression '~' '@' // CFA, error 1368 { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1369 | comma_expression updowneq '@' '~' '@' // CFA, error 1370 { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1371 | '@' updowneq '@' '~' '@' // CFA, error 1372 { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1373 1306 | comma_expression // CFA 1307 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1308 OperKinds::LThan, $1->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1309 | '=' comma_expression // CFA 1310 { $$ = forCtrl( $2, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1311 OperKinds::LEThan, $2->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1312 | comma_expression inclexcl comma_expression // CFA 1313 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1314 | comma_expression inclexcl comma_expression '~' comma_expression // CFA 1315 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, $5 ); } 1316 | comma_expression ';' // CFA 1317 { $$ = forCtrl( new ExpressionNode( build_constantInteger( *new string( "0u" ) ) ), $1, nullptr, OperKinds::LThan, nullptr, nullptr ); } 1374 1318 | comma_expression ';' comma_expression // CFA 1375 { $$ = forCtrl( $3, $1, NEW_ZERO, OperKinds::LThan, $3->clone(), NEW_ONE ); } 1376 | comma_expression ';' downupdowneq comma_expression // CFA 1377 { $$ = forCtrl( $4, $1, UPDOWN( $3, NEW_ZERO, $4->clone() ), $3, UPDOWN( $3, $4->clone(), NEW_ZERO ), NEW_ONE ); } 1378 1379 | comma_expression ';' comma_expression updowneq comma_expression // CFA 1380 { $$ = forCtrl( $3, $1, UPDOWN( $4, $3->clone(), $5 ), $4, UPDOWN( $4, $5->clone(), $3->clone() ), NEW_ONE ); } 1381 | comma_expression ';' '@' updowneq comma_expression // CFA 1382 { 1383 if ( $4 == OperKinds::LThan || $4 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1384 else $$ = forCtrl( $5, $1, $5->clone(), $4, nullptr, NEW_ONE ); 1385 } 1386 | comma_expression ';' comma_expression updowneq '@' // CFA 1387 { 1388 if ( $4 == OperKinds::GThan || $4 == OperKinds::GEThan ) { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1389 else if ( $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing high value is meaningless. Use \"~\"." ); $$ = nullptr; } 1390 else $$ = forCtrl( $3, $1, $3->clone(), $4, nullptr, NEW_ONE ); 1391 } 1392 | comma_expression ';' '@' updowneq '@' // CFA, error 1393 { SemanticError( yylloc, "Missing low/high value for up/down-to range so index is uninitialized." ); $$ = nullptr; } 1394 1395 | comma_expression ';' comma_expression updowneq comma_expression '~' comma_expression // CFA 1396 { $$ = forCtrl( $3, $1, UPDOWN( $4, $3->clone(), $5 ), $4, UPDOWN( $4, $5->clone(), $3->clone() ), $7 ); } 1397 | comma_expression ';' '@' updowneq comma_expression '~' comma_expression // CFA, error 1398 { 1399 if ( $4 == OperKinds::LThan || $4 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1400 else $$ = forCtrl( $5, $1, $5->clone(), $4, nullptr, $7 ); 1401 } 1402 | comma_expression ';' comma_expression updowneq '@' '~' comma_expression // CFA 1403 { 1404 if ( $4 == OperKinds::GThan || $4 == OperKinds::GEThan ) { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1405 else if ( $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing high value is meaningless. Use \"~\"." ); $$ = nullptr; } 1406 else $$ = forCtrl( $3, $1, $3->clone(), $4, nullptr, $7 ); 1407 } 1408 | comma_expression ';' comma_expression updowneq comma_expression '~' '@' // CFA 1409 { $$ = forCtrl( $3, $1, UPDOWN( $4, $3->clone(), $5 ), $4, UPDOWN( $4, $5->clone(), $3->clone() ), nullptr ); } 1410 | comma_expression ';' '@' updowneq comma_expression '~' '@' // CFA, error 1411 { 1412 if ( $4 == OperKinds::LThan || $4 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1413 else $$ = forCtrl( $5, $1, $5->clone(), $4, nullptr, nullptr ); 1414 } 1415 | comma_expression ';' comma_expression updowneq '@' '~' '@' // CFA 1416 { 1417 if ( $4 == OperKinds::GThan || $4 == OperKinds::GEThan ) { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1418 else if ( $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing high value is meaningless. Use \"~\"." ); $$ = nullptr; } 1419 else $$ = forCtrl( $3, $1, $3->clone(), $4, nullptr, nullptr ); 1420 } 1421 | comma_expression ';' '@' updowneq '@' '~' '@' // CFA 1422 { SemanticError( yylloc, "Missing low/high value for up/down-to range so index is uninitialized." ); $$ = nullptr; } 1423 1424 | declaration comma_expression // CFA 1425 { $$ = forCtrl( $1, NEW_ZERO, OperKinds::LThan, $2, NEW_ONE ); } 1426 | declaration downupdowneq comma_expression // CFA 1427 { $$ = forCtrl( $1, UPDOWN( $2, NEW_ZERO, $3 ), $2, UPDOWN( $2, $3->clone(), NEW_ZERO ), NEW_ONE ); } 1428 1429 | declaration comma_expression updowneq comma_expression // CFA 1430 { $$ = forCtrl( $1, UPDOWN( $3, $2->clone(), $4 ), $3, UPDOWN( $3, $4->clone(), $2->clone() ), NEW_ONE ); } 1431 | declaration '@' updowneq comma_expression // CFA 1432 { 1433 if ( $3 == OperKinds::LThan || $3 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1434 else $$ = forCtrl( $1, $4, $3, nullptr, NEW_ONE ); 1435 } 1436 | declaration comma_expression updowneq '@' // CFA 1437 { 1438 if ( $3 == OperKinds::GThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1439 else if ( $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing high value is meaningless. Use \"~\"." ); $$ = nullptr; } 1440 else $$ = forCtrl( $1, $2, $3, nullptr, NEW_ONE ); 1441 } 1442 1443 | declaration comma_expression updowneq comma_expression '~' comma_expression // CFA 1444 { $$ = forCtrl( $1, UPDOWN( $3, $2, $4 ), $3, UPDOWN( $3, $4->clone(), $2->clone() ), $6 ); } 1445 | declaration '@' updowneq comma_expression '~' comma_expression // CFA 1446 { 1447 if ( $3 == OperKinds::LThan || $3 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1448 else $$ = forCtrl( $1, $4, $3, nullptr, $6 ); 1449 } 1450 | declaration comma_expression updowneq '@' '~' comma_expression // CFA 1451 { 1452 if ( $3 == OperKinds::GThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1453 else if ( $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing high value is meaningless. Use \"~\"." ); $$ = nullptr; } 1454 else $$ = forCtrl( $1, $2, $3, nullptr, $6 ); 1455 } 1456 | declaration comma_expression updowneq comma_expression '~' '@' // CFA 1457 { $$ = forCtrl( $1, UPDOWN( $3, $2, $4 ), $3, UPDOWN( $3, $4->clone(), $2->clone() ), nullptr ); } 1458 | declaration '@' updowneq comma_expression '~' '@' // CFA 1459 { 1460 if ( $3 == OperKinds::LThan || $3 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_LOW ); $$ = nullptr; } 1461 else $$ = forCtrl( $1, $4, $3, nullptr, nullptr ); 1462 } 1463 | declaration comma_expression updowneq '@' '~' '@' // CFA 1464 { 1465 if ( $3 == OperKinds::GThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1466 else if ( $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing high value is meaningless. Use \"~\"." ); $$ = nullptr; } 1467 else $$ = forCtrl( $1, $2, $3, nullptr, nullptr ); 1468 } 1469 | declaration '@' updowneq '@' '~' '@' // CFA, error 1470 { SemanticError( yylloc, "Missing low/high value for up/down-to range so index is uninitialized." ); $$ = nullptr; } 1319 { $$ = forCtrl( $3, $1, new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1320 OperKinds::LThan, $3->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1321 | comma_expression ';' '=' comma_expression // CFA 1322 { $$ = forCtrl( $4, $1, new ExpressionNode( build_constantInteger( *new string( "0" ) ) ), 1323 OperKinds::LEThan, $4->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1324 | comma_expression ';' comma_expression inclexcl comma_expression // CFA 1325 { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1326 | comma_expression ';' comma_expression inclexcl comma_expression '~' comma_expression // CFA 1327 { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, $7 ); } 1471 1328 1472 1329 | comma_expression ';' TYPEDEFname // CFA, array type 1473 1330 { 1474 SemanticError( yylloc, "Type iterator is currently unimplemented." ); $$ = nullptr; 1475 //$$ = forCtrl( new ExpressionNode( build_varref( $3 ) ), $1, nullptr, OperKinds::Range, nullptr, nullptr ); 1476 } 1477 | comma_expression ';' downupdowneq TYPEDEFname // CFA, array type 1478 { 1479 if ( $3 == OperKinds::LEThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, "All enumation ranges are equal (all values). Remove \"=~\"." ); $$ = nullptr; } 1480 SemanticError( yylloc, "Type iterator is currently unimplemented." ); $$ = nullptr; 1481 } 1331 SemanticError( yylloc, "Array interator is currently unimplemented." ); $$ = nullptr; 1332 $$ = forCtrl( new ExpressionNode( build_varref( $3 ) ), $1, nullptr, OperKinds::Range, nullptr, nullptr ); 1333 } 1334 1335 // There is a S/R conflicit if ~ and -~ are factored out. 1336 | comma_expression ';' comma_expression '~' '@' // CFA 1337 { $$ = forCtrl( $3, $1, $3->clone(), OperKinds::LThan, nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1338 | comma_expression ';' comma_expression ErangeDown '@' // CFA 1339 { $$ = forCtrl( $3, $1, $3->clone(), OperKinds::GThan, nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); } 1340 | comma_expression ';' comma_expression '~' '@' '~' comma_expression // CFA 1341 { $$ = forCtrl( $3, $1, $3->clone(), OperKinds::LThan, nullptr, $7 ); } 1342 | comma_expression ';' comma_expression ErangeDown '@' '~' comma_expression // CFA 1343 { $$ = forCtrl( $3, $1, $3->clone(), OperKinds::GThan, nullptr, $7 ); } 1344 | comma_expression ';' comma_expression '~' '@' '~' '@' // CFA 1345 { $$ = forCtrl( $3, $1, $3->clone(), OperKinds::LThan, nullptr, nullptr ); } 1482 1346 ; 1483 1347 1484 downupdowneq:1485 ErangeDown1486 { $$ = OperKinds:: GThan; }1348 inclexcl: 1349 '~' 1350 { $$ = OperKinds::LThan; } 1487 1351 | ErangeUpEq 1488 1352 { $$ = OperKinds::LEThan; } 1489 | ErangeDownEq1490 { $$ = OperKinds::GEThan; }1491 ;1492 1493 updown:1494 '~'1495 { $$ = OperKinds::LThan; }1496 1353 | ErangeDown 1497 1354 { $$ = OperKinds::GThan; } 1498 ;1499 1500 updowneq:1501 updown1502 | ErangeUpEq1503 { $$ = OperKinds::LEThan; }1504 1355 | ErangeDownEq 1505 1356 { $$ = OperKinds::GEThan; } … … 2084 1935 | REGISTER 2085 1936 { $$ = DeclarationNode::newStorageClass( Type::Register ); } 2086 | THREADLOCALGCC // GCC 2087 { $$ = DeclarationNode::newStorageClass( Type::ThreadlocalGcc ); } 2088 | THREADLOCALC11 // C11 2089 { $$ = DeclarationNode::newStorageClass( Type::ThreadlocalC11 ); } 1937 | THREADLOCAL // C11 1938 { $$ = DeclarationNode::newStorageClass( Type::Threadlocal ); } 2090 1939 // Put function specifiers here to simplify parsing rules, but separate them semantically. 2091 1940 | INLINE // C99 -
src/ResolvExpr/CandidateFinder.cpp
r4520b77e r12df6fe 269 269 unsigned nextArg, unsigned tupleStart = 0, Cost cost = Cost::zero, 270 270 unsigned nextExpl = 0, unsigned explAlt = 0 ) 271 : parent(parent), expr( expr ), cost( cost ), env( std::move( env ) ), need( std::move( need ) ),272 have( std::move( have ) ), open( std::move( open ) ), nextArg( nextArg ), tupleStart( tupleStart ),271 : parent(parent), expr( expr ), cost( cost ), env( move( env ) ), need( move( need ) ), 272 have( move( have ) ), open( move( open ) ), nextArg( nextArg ), tupleStart( tupleStart ), 273 273 nextExpl( nextExpl ), explAlt( explAlt ) {} 274 274 … … 276 276 const ArgPack & o, ast::TypeEnvironment && env, ast::AssertionSet && need, 277 277 ast::AssertionSet && have, ast::OpenVarSet && open, unsigned nextArg, Cost added ) 278 : parent( o.parent ), expr( o.expr ), cost( o.cost + added ), env( std::move( env ) ),279 need( std::move( need ) ), have( std::move( have ) ), open( std::move( open ) ), nextArg( nextArg ),278 : parent( o.parent ), expr( o.expr ), cost( o.cost + added ), env( move( env ) ), 279 need( move( need ) ), have( move( have ) ), open( move( open ) ), nextArg( nextArg ), 280 280 tupleStart( o.tupleStart ), nextExpl( 0 ), explAlt( 0 ) {} 281 281 … … 301 301 // reset pack to appropriate tuple 302 302 std::vector< ast::ptr< ast::Expr > > exprv( exprs.begin(), exprs.end() ); 303 expr = new ast::TupleExpr{ expr->location, std::move( exprv ) };303 expr = new ast::TupleExpr{ expr->location, move( exprv ) }; 304 304 tupleStart = pack->tupleStart - 1; 305 305 parent = pack->parent; … … 404 404 newResult.open, symtab ) 405 405 ) { 406 finalResults.emplace_back( std::move( newResult ) );406 finalResults.emplace_back( move( newResult ) ); 407 407 } 408 408 … … 423 423 if ( expl.exprs.empty() ) { 424 424 results.emplace_back( 425 results[i], std::move( env ), copy( results[i].need ),426 copy( results[i].have ), std::move( open ), nextArg + 1, expl.cost );425 results[i], move( env ), copy( results[i].need ), 426 copy( results[i].have ), move( open ), nextArg + 1, expl.cost ); 427 427 428 428 continue; … … 431 431 // add new result 432 432 results.emplace_back( 433 i, expl.exprs.front(), std::move( env ), copy( results[i].need ),434 copy( results[i].have ), std::move( open ), nextArg + 1, nTuples,433 i, expl.exprs.front(), move( env ), copy( results[i].need ), 434 copy( results[i].have ), move( open ), nextArg + 1, nTuples, 435 435 expl.cost, expl.exprs.size() == 1 ? 0 : 1, j ); 436 436 } … … 444 444 // splice final results onto results 445 445 for ( std::size_t i = 0; i < finalResults.size(); ++i ) { 446 results.emplace_back( std::move( finalResults[i] ) );446 results.emplace_back( move( finalResults[i] ) ); 447 447 } 448 448 return ! finalResults.empty(); … … 478 478 479 479 results.emplace_back( 480 i, expr, std::move( env ), std::move( need ), std::move( have ), std::move( open ), nextArg,480 i, expr, move( env ), move( need ), move( have ), move( open ), nextArg, 481 481 nTuples, Cost::zero, nextExpl, results[i].explAlt ); 482 482 } … … 494 494 if ( unify( paramType, cnst->result, env, need, have, open, symtab ) ) { 495 495 results.emplace_back( 496 i, new ast::DefaultArgExpr{ cnst->location, cnst }, std::move( env ),497 std::move( need ), std::move( have ), std::move( open ), nextArg, nTuples );496 i, new ast::DefaultArgExpr{ cnst->location, cnst }, move( env ), 497 move( need ), move( have ), move( open ), nextArg, nTuples ); 498 498 } 499 499 } … … 516 516 if ( expl.exprs.empty() ) { 517 517 results.emplace_back( 518 results[i], std::move( env ), std::move( need ), std::move( have ), std::move( open ),518 results[i], move( env ), move( need ), move( have ), move( open ), 519 519 nextArg + 1, expl.cost ); 520 520 … … 538 538 // add new result 539 539 results.emplace_back( 540 i, expr, std::move( env ), std::move( need ), std::move( have ), std::move( open ),540 i, expr, move( env ), move( need ), move( have ), move( open ), 541 541 nextArg + 1, nTuples, expl.cost, expl.exprs.size() == 1 ? 0 : 1, j ); 542 542 } … … 576 576 restructureCast( idx, toType->getComponent( i ), isGenerated ) ); 577 577 } 578 return new ast::TupleExpr{ arg->location, std::move( components ) };578 return new ast::TupleExpr{ arg->location, move( components ) }; 579 579 } else { 580 580 // handle normally … … 672 672 } 673 673 std::vector< ast::ptr< ast::Expr > > vargs( args.begin(), args.end() ); 674 appExpr->args = std::move( vargs );674 appExpr->args = move( vargs ); 675 675 // build and validate new candidate 676 676 auto newCand = … … 783 783 if ( expl.exprs.empty() ) { 784 784 results.emplace_back( 785 results[i], std::move( env ), copy( results[i].need ),786 copy( results[i].have ), std::move( open ), nextArg + 1,785 results[i], move( env ), copy( results[i].need ), 786 copy( results[i].have ), move( open ), nextArg + 1, 787 787 expl.cost ); 788 788 … … 792 792 // add new result 793 793 results.emplace_back( 794 i, expl.exprs.front(), std::move( env ), copy( results[i].need ),795 copy( results[i].have ), std::move( open ), nextArg + 1, 0, expl.cost,794 i, expl.exprs.front(), move( env ), copy( results[i].need ), 795 copy( results[i].have ), move( open ), nextArg + 1, 0, expl.cost, 796 796 expl.exprs.size() == 1 ? 0 : 1, j ); 797 797 } … … 843 843 // as a member expression 844 844 addAnonConversions( newCand ); 845 candidates.emplace_back( std::move( newCand ) );845 candidates.emplace_back( move( newCand ) ); 846 846 } 847 847 } … … 991 991 funcE.emplace_back( *func, symtab ); 992 992 } 993 argExpansions.emplace_front( std::move( funcE ) );993 argExpansions.emplace_front( move( funcE ) ); 994 994 995 995 for ( const CandidateRef & op : opFinder ) { … … 1035 1035 if ( cvtCost != Cost::infinity ) { 1036 1036 withFunc->cvtCost = cvtCost; 1037 candidates.emplace_back( std::move( withFunc ) );1038 } 1039 } 1040 found = std::move( candidates );1037 candidates.emplace_back( move( withFunc ) ); 1038 } 1039 } 1040 found = move( candidates ); 1041 1041 1042 1042 // use a new list so that candidates are not examined by addAnonConversions twice … … 1136 1136 CandidateRef newCand = std::make_shared<Candidate>( 1137 1137 restructureCast( cand->expr, toType, castExpr->isGenerated ), 1138 copy( cand->env ), std::move( open ), std::move( need ), cand->cost,1138 copy( cand->env ), move( open ), move( need ), cand->cost, 1139 1139 cand->cost + thisCost ); 1140 1140 inferParameters( newCand, matches ); … … 1290 1290 // as a name expression 1291 1291 addAnonConversions( newCand ); 1292 candidates.emplace_back( std::move( newCand ) );1292 candidates.emplace_back( move( newCand ) ); 1293 1293 } 1294 1294 } … … 1399 1399 new ast::LogicalExpr{ 1400 1400 logicalExpr->location, r1->expr, r2->expr, logicalExpr->isAnd }, 1401 std::move( env ), std::move( open ), std::move( need ), r1->cost + r2->cost );1401 move( env ), move( open ), move( need ), r1->cost + r2->cost ); 1402 1402 } 1403 1403 } … … 1457 1457 // output candidate 1458 1458 CandidateRef newCand = std::make_shared<Candidate>( 1459 newExpr, std::move( env ), std::move( open ), std::move( need ), cost );1459 newExpr, move( env ), move( open ), move( need ), cost ); 1460 1460 inferParameters( newCand, candidates ); 1461 1461 } … … 1524 1524 // add candidate 1525 1525 CandidateRef newCand = std::make_shared<Candidate>( 1526 newExpr, std::move( env ), std::move( open ), std::move( need ),1526 newExpr, move( env ), move( open ), move( need ), 1527 1527 r1->cost + r2->cost ); 1528 1528 inferParameters( newCand, candidates ); … … 1553 1553 1554 1554 addCandidate( 1555 new ast::TupleExpr{ tupleExpr->location, std::move( exprs ) },1556 std::move( env ), std::move( open ), std::move( need ), sumCost( subs ) );1555 new ast::TupleExpr{ tupleExpr->location, move( exprs ) }, 1556 move( env ), move( open ), move( need ), sumCost( subs ) ); 1557 1557 } 1558 1558 } … … 1640 1640 initExpr->location, restructureCast( cand->expr, toType ), 1641 1641 initAlt.designation }, 1642 std::move(env), std::move( open ), std::move( need ), cand->cost, thisCost );1642 move(env), move( open ), move( need ), cand->cost, thisCost ); 1643 1643 inferParameters( newCand, matches ); 1644 1644 } … … 1773 1773 cand->env.applyFree( newResult ); 1774 1774 cand->expr = ast::mutate_field( 1775 cand->expr.get(), &ast::Expr::result, std::move( newResult ) );1775 cand->expr.get(), &ast::Expr::result, move( newResult ) ); 1776 1776 1777 1777 out.emplace_back( cand ); … … 1859 1859 1860 1860 auto oldsize = candidates.size(); 1861 candidates = std::move( pruned );1861 candidates = move( pruned ); 1862 1862 1863 1863 PRINT( -
src/ResolvExpr/Resolver.cc
r4520b77e r12df6fe 1542 1542 } 1543 1543 1544 1544 1545 const ast::StaticAssertDecl * Resolver_new::previsit( 1545 1546 const ast::StaticAssertDecl * assertDecl … … 1553 1554 const PtrType * handlePtrType( const PtrType * type, const ResolveContext & context ) { 1554 1555 if ( type->dimension ) { 1555 const ast::Type * sizeType = context.global.sizeType.get();1556 ast::ptr< ast::Type > sizeType = context.global.sizeType; 1556 1557 ast::ptr< ast::Expr > dimension = findSingleExpression( type->dimension, sizeType, context ); 1557 1558 assertf(dimension->env->empty(), "array dimension expr has nonempty env"); 1558 1559 dimension.get_and_mutate()->env = nullptr; 1559 ast::mutate_field( type, &PtrType::dimension, dimension ); 1560 ast::mutate_field( 1561 type, &PtrType::dimension, 1562 dimension); 1560 1563 } 1561 1564 return type; -
src/SymTab/Autogen.cc
r4520b77e r12df6fe 258 258 } 259 259 260 /// Given type T, generate type of default ctor/dtor, i.e. function type void (*) (T &).260 /// 261 261 ast::FunctionDecl * genDefaultFunc(const CodeLocation loc, const std::string fname, const ast::Type * paramType, bool maybePolymorphic) { 262 262 std::vector<ast::ptr<ast::TypeDecl>> typeParams; 263 263 if (maybePolymorphic) typeParams = getGenericParams(paramType); 264 264 auto dstParam = new ast::ObjectDecl(loc, "_dst", new ast::ReferenceType(paramType), nullptr, {}, ast::Linkage::Cforall); 265 return new ast::FunctionDecl(loc, fname, std::move(typeParams), {dstParam}, {}, new ast::CompoundStmt(loc) , {}, ast::Linkage::Cforall);265 return new ast::FunctionDecl(loc, fname, std::move(typeParams), {dstParam}, {}, new ast::CompoundStmt(loc)); 266 266 } 267 267 -
src/SynTree/Statement.cc
r4520b77e r12df6fe 105 105 }; 106 106 107 BranchStmt::BranchStmt( Label target, Type type ) :107 BranchStmt::BranchStmt( Label target, Type type ) throw ( SemanticErrorException ) : 108 108 Statement(), originalTarget( target ), target( target ), computedTarget( nullptr ), type( type ) { 109 109 //actually this is a syntactic error signaled by the parser … … 113 113 } 114 114 115 BranchStmt::BranchStmt( Expression * computedTarget, Type type ) :115 BranchStmt::BranchStmt( Expression * computedTarget, Type type ) throw ( SemanticErrorException ) : 116 116 Statement(), computedTarget( computedTarget ), type( type ) { 117 117 if ( type != BranchStmt::Goto || computedTarget == nullptr ) { … … 211 211 } 212 212 213 CaseStmt::CaseStmt( Expression * condition, const list<Statement *> & statements, bool deflt ) :213 CaseStmt::CaseStmt( Expression * condition, const list<Statement *> & statements, bool deflt ) throw ( SemanticErrorException ) : 214 214 Statement(), condition( condition ), stmts( statements ), _isDefault( deflt ) { 215 215 if ( isDefault() && condition != nullptr ) SemanticError( condition, "default case with condition: " ); … … 575 575 } 576 576 577 MutexStmt::MutexStmt( Statement * stmt, const list<Expression *> mutexObjs ) 577 MutexStmt::MutexStmt( Statement * stmt, const list<Expression *> mutexObjs ) 578 578 : Statement(), stmt( stmt ), mutexObjs( mutexObjs ) { } 579 579 -
src/SynTree/Statement.h
r4520b77e r12df6fe 200 200 std::list<Statement *> stmts; 201 201 202 CaseStmt( Expression * conditions, const std::list<Statement *> & stmts, bool isdef = false ) ;202 CaseStmt( Expression * conditions, const std::list<Statement *> & stmts, bool isdef = false ) throw (SemanticErrorException); 203 203 CaseStmt( const CaseStmt & other ); 204 204 virtual ~CaseStmt(); … … 289 289 Type type; 290 290 291 BranchStmt( Label target, Type ) ;292 BranchStmt( Expression * computedTarget, Type ) ;291 BranchStmt( Label target, Type ) throw (SemanticErrorException); 292 BranchStmt( Expression * computedTarget, Type ) throw (SemanticErrorException); 293 293 294 294 Label get_originalTarget() { return originalTarget; } -
src/SynTree/Type.cc
r4520b77e r12df6fe 80 80 // These must remain in the same order as the corresponding bit fields. 81 81 const char * Type::FuncSpecifiersNames[] = { "inline", "_Noreturn", "fortran" }; 82 const char * Type::StorageClassesNames[] = { "extern", "static", "auto", "register", "_ _thread", "_Thread_local" };82 const char * Type::StorageClassesNames[] = { "extern", "static", "auto", "register", "_Thread_local" }; 83 83 const char * Type::QualifiersNames[] = { "const", "restrict", "volatile", "mutex", "_Atomic" }; 84 84 -
src/SynTree/Type.h
r4520b77e r12df6fe 84 84 }; // FuncSpecifiers 85 85 86 enum { Extern = 1 << 0, Static = 1 << 1, Auto = 1 << 2, Register = 1 << 3, Threadlocal Gcc = 1 << 4, ThreadlocalC11 = 1 << 5, NumStorageClass = 6};86 enum { Extern = 1 << 0, Static = 1 << 1, Auto = 1 << 2, Register = 1 << 3, Threadlocal = 1 << 4, NumStorageClass = 5 }; 87 87 static const char * StorageClassesNames[]; 88 88 union StorageClasses { … … 93 93 bool is_auto : 1; 94 94 bool is_register : 1; 95 bool is_threadlocalGcc : 1; 96 bool is_threadlocalC11 : 1; 95 bool is_threadlocal : 1; 97 96 }; 98 97 … … 101 100 // equality (==, !=) works implicitly on first field "val", relational operations are undefined. 102 101 BFCommon( StorageClasses, NumStorageClass ) 103 104 bool is_threadlocal_any() { return this->is_threadlocalC11 || this->is_threadlocalGcc; }105 102 }; // StorageClasses 106 103 -
src/Tuples/TupleExpansionNew.cpp
r4520b77e r12df6fe 9 9 // Author : Henry Xue 10 10 // Created On : Mon Aug 23 15:36:09 2021 11 // Last Modified By : Andrew Beach12 // Last Modified On : Mon Aug 15 17:00:00 202213 // Update Count : 311 // Last Modified By : Henry Xue 12 // Last Modified On : Mon Aug 23 15:36:09 2021 13 // Update Count : 1 14 14 // 15 15 16 16 #include "Tuples.h" 17 17 18 #include "AST/Pass.hpp"19 #include "Common/ScopedMap.h"20 21 18 namespace Tuples { 22 23 19 namespace { 24 25 struct MemberTupleExpander final : public ast::WithShortCircuiting, public ast::WithVisitorRef< MemberTupleExpander > { 26 void previsit( const ast::UntypedMemberExpr * ) { visit_children = false; } 27 const ast::Expr * postvisit( const ast::UntypedMemberExpr * memberExpr ); 28 }; 29 30 struct UniqueExprExpander final : public ast::WithDeclsToAdd<> { 31 const ast::Expr * postvisit( const ast::UniqueExpr * unqExpr ); 32 std::map< int, ast::ptr<ast::Expr> > decls; // not vector, because order added may not be increasing order 33 }; 34 35 /// given a expression representing the member and an expression representing the aggregate, 36 /// reconstructs a flattened UntypedMemberExpr with the right precedence 37 const ast::Expr * reconstructMemberExpr( const ast::Expr * member, const ast::Expr * aggr, const CodeLocation & loc ) { 38 if ( auto memberExpr = dynamic_cast< const ast::UntypedMemberExpr * >( member ) ) { 39 // construct a new UntypedMemberExpr with the correct structure , and recursively 40 // expand that member expression. 41 ast::Pass< MemberTupleExpander > expander; 42 auto inner = new ast::UntypedMemberExpr( loc, memberExpr->aggregate, aggr ); 43 auto newMemberExpr = new ast::UntypedMemberExpr( loc, memberExpr->member, inner ); 44 return newMemberExpr->accept( expander ); 45 } else { 46 // not a member expression, so there is nothing to do but attach and return 47 return new ast::UntypedMemberExpr( loc, member, aggr ); 48 } 49 } 50 51 const ast::Expr * MemberTupleExpander::postvisit( const ast::UntypedMemberExpr * memberExpr ) { 52 const CodeLocation loc = memberExpr->location; 53 if ( auto tupleExpr = memberExpr->member.as< ast::UntypedTupleExpr >() ) { 54 auto mutExpr = mutate( tupleExpr ); 55 ast::ptr< ast::Expr > aggr = memberExpr->aggregate->accept( *visitor ); 56 // aggregate expressions which might be impure must be wrapped in unique expressions 57 if ( Tuples::maybeImpureIgnoreUnique( memberExpr->aggregate ) ) aggr = new ast::UniqueExpr( loc, aggr ); 58 for ( auto & expr : mutExpr->exprs ) { 59 expr = reconstructMemberExpr( expr, aggr, loc ); 60 } 61 return mutExpr; 62 } else { 63 // there may be a tuple expr buried in the aggregate 64 return new ast::UntypedMemberExpr( loc, memberExpr->member, memberExpr->aggregate->accept( *visitor ) ); 65 } 66 } 67 68 const ast::Expr * UniqueExprExpander::postvisit( const ast::UniqueExpr * unqExpr ) { 69 const CodeLocation loc = unqExpr->location; 70 const int id = unqExpr->id; 71 72 // on first time visiting a unique expr with a particular ID, generate the expression that replaces all UniqueExprs with that ID, 73 // and lookup on subsequent hits. This ensures that all unique exprs with the same ID reference the same variable. 74 if ( ! decls.count( id ) ) { 75 ast::ptr< ast::Expr > assignUnq; 76 const ast::VariableExpr * var = unqExpr->var; 77 if ( unqExpr->object ) { 78 // an object was generated to represent this unique expression -- it should be added to the list of declarations now 79 declsToAddBefore.push_back( unqExpr->object.as< ast::Decl >() ); 80 // deep copy required due to unresolved issues with UniqueExpr 81 assignUnq = ast::UntypedExpr::createAssign( loc, var, unqExpr->expr ); 82 } else { 83 const auto commaExpr = unqExpr->expr.strict_as< ast::CommaExpr >(); 84 assignUnq = commaExpr->arg1; 85 } 86 auto finished = new ast::ObjectDecl( loc, toString( "_unq", id, "_finished_" ), new ast::BasicType( ast::BasicType::Kind::Bool ), 87 new ast::SingleInit( loc, ast::ConstantExpr::from_int( loc, 0 ) ), {}, ast::Linkage::Cforall ); 88 declsToAddBefore.push_back( finished ); 89 // (finished ? _unq_expr_N : (_unq_expr_N = <unqExpr->get_expr()>, finished = 1, _unq_expr_N)) 90 // This pattern ensures that each unique expression is evaluated once, regardless of evaluation order of the generated C code. 91 auto assignFinished = ast::UntypedExpr::createAssign( loc, new ast::VariableExpr( loc, finished ), 92 ast::ConstantExpr::from_int( loc, 1 ) ); 93 auto condExpr = new ast::ConditionalExpr( loc, new ast::VariableExpr( loc, finished ), var, 94 new ast::CommaExpr( loc, new ast::CommaExpr( loc, assignUnq, assignFinished ), var ) ); 95 condExpr->result = var->result; 96 condExpr->env = unqExpr->env; 97 decls[id] = condExpr; 98 } 99 return ast::deepCopy(decls[id].get()); 100 } 101 102 /// Replaces Tuple Assign & Index Expressions, and Tuple Types. 103 struct TupleMainExpander final : 104 public ast::WithGuards, 105 public ast::WithVisitorRef<TupleMainExpander>, 106 public ast::WithDeclsToAdd<> { 107 ast::Expr const * postvisit( ast::TupleAssignExpr const * expr ) { 108 // Just move the env on the new top level expression. 109 return ast::mutate_field( expr->stmtExpr.get(), 110 &ast::TupleAssignExpr::env, expr->env.get() ); 111 } 112 113 void previsit( ast::ParseNode const * node ) { 114 GuardValue( location ) = &node->location; 115 } 116 117 void previsit( ast::CompoundStmt const * stmt ) { 118 previsit( (ast::ParseNode const *)stmt ); 119 GuardScope( typeMap ); 120 } 121 122 ast::Expr const * postvisit( ast::Expr const * expr ) { 123 if ( nullptr == expr->env ) { 124 return expr; 125 } 126 // TypeSubstitutions are never visited in the new Pass template, 127 // so it is done manually here, where all types have to be replaced. 128 return ast::mutate_field( expr, &ast::Expr::env, 129 expr->env->accept( *visitor ) ); 130 } 131 132 ast::Type const * postvisit( ast::TupleType const * type ) { 133 assert( location ); 134 unsigned tupleSize = type->size(); 135 if ( !typeMap.count( tupleSize ) ) { 136 ast::StructDecl * decl = new ast::StructDecl( *location, 137 toString( "_tuple", tupleSize, "_" ) 138 ); 139 decl->body = true; 140 141 for ( size_t i = 0 ; i < tupleSize ; ++i ) { 142 ast::TypeDecl * typeParam = new ast::TypeDecl( *location, 143 toString( "tuple_param_", tupleSize, "_", i ), 144 ast::Storage::Classes(), 145 nullptr, 146 ast::TypeDecl::Dtype, 147 true 148 ); 149 ast::ObjectDecl * member = new ast::ObjectDecl( *location, 150 toString( "field_", i ), 151 new ast::TypeInstType( typeParam ) 152 ); 153 decl->params.push_back( typeParam ); 154 decl->members.push_back( member ); 155 } 156 157 // Empty structures are not standard C. Add a dummy field to 158 // empty tuples to silence warnings when a compound literal 159 // `_tuple0_` is created. 160 if ( tupleSize == 0 ) { 161 decl->members.push_back( 162 new ast::ObjectDecl( *location, 163 "dummy", 164 new ast::BasicType( ast::BasicType::SignedInt ), 165 nullptr, 166 ast::Storage::Classes(), 167 // Does this have to be a C linkage? 168 ast::Linkage::C 169 ) 170 ); 171 } 172 typeMap[tupleSize] = decl; 173 declsToAddBefore.push_back( decl ); 174 } 175 176 ast::StructDecl const * decl = typeMap[ tupleSize ]; 177 ast::StructInstType * newType = 178 new ast::StructInstType( decl, type->qualifiers ); 179 for ( auto pair : group_iterate( type->types, decl->params ) ) { 180 ast::Type const * t = std::get<0>( pair ); 181 newType->params.push_back( 182 new ast::TypeExpr( *location, ast::deepCopy( t ) ) ); 183 } 184 return newType; 185 } 186 187 ast::Expr const * postvisit( ast::TupleIndexExpr const * expr ) { 188 CodeLocation const & location = expr->location; 189 ast::Expr const * tuple = expr->tuple.get(); 190 assert( tuple ); 191 unsigned int index = expr->index; 192 ast::TypeSubstitution const * env = expr->env.get(); 193 194 if ( auto tupleExpr = dynamic_cast<ast::TupleExpr const *>( tuple ) ) { 195 // Optimization: If it is a definitely pure tuple expr, 196 // then it can reduce to the only relevant component. 197 if ( !maybeImpureIgnoreUnique( tupleExpr ) ) { 198 assert( index < tupleExpr->exprs.size() ); 199 ast::ptr<ast::Expr> const & expr = 200 *std::next( tupleExpr->exprs.begin(), index ); 201 ast::Expr * ret = ast::mutate( expr.get() ); 202 ret->env = env; 203 return ret; 204 } 205 } 206 207 auto type = tuple->result.strict_as<ast::StructInstType>(); 208 ast::StructDecl const * structDecl = type->base; 209 assert( index < structDecl->members.size() ); 210 ast::ptr<ast::Decl> const & member = 211 *std::next( structDecl->members.begin(), index ); 212 ast::MemberExpr * memberExpr = new ast::MemberExpr( location, 213 member.strict_as<ast::DeclWithType>(), tuple ); 214 memberExpr->env = env; 215 return memberExpr; 216 } 217 private: 218 ScopedMap< int, ast::StructDecl const * > typeMap; 219 CodeLocation const * location = nullptr; 220 }; 221 222 ast::Expr const * replaceTupleExpr( 223 CodeLocation const & location, 224 ast::Type const * result, 225 std::vector<ast::ptr<ast::Expr>> const & exprs, 226 ast::TypeSubstitution const * env ) { 227 assert( result ); 228 // A void result: It doesn't need to produce a value for cascading, 229 // just output a chain of comma exprs. 230 if ( result->isVoid() ) { 231 assert( !exprs.empty() ); 232 std::vector<ast::ptr<ast::Expr>>::const_iterator iter = exprs.begin(); 233 ast::Expr * expr = new ast::CastExpr( *iter++ ); 234 for ( ; iter != exprs.end() ; ++iter ) { 235 expr = new ast::CommaExpr( location, 236 expr, new ast::CastExpr( *iter ) ); 237 } 238 expr->env = env; 239 return expr; 240 // Typed tuple expression: Produce a compound literal which performs 241 // each of the expressions as a distinct part of its initializer. The 242 // produced compound literal may be used as part of another expression. 243 } else { 244 auto inits = map_range<std::vector<ast::ptr<ast::Init>>>( exprs, 245 []( ast::Expr const * expr ) { 246 return new ast::SingleInit( expr->location, expr ); 247 } 248 ); 249 ast::Expr * expr = new ast::CompoundLiteralExpr( location, 250 result, new ast::ListInit( location, std::move( inits ) ) ); 251 expr->env = env; 252 return expr; 253 } 254 } 255 256 struct TupleExprExpander final { 257 ast::Expr const * postvisit( ast::TupleExpr const * expr ) { 258 return replaceTupleExpr( expr->location, 259 expr->result, expr->exprs, expr->env ); 260 } 261 }; 262 20 struct MemberTupleExpander final : public ast::WithShortCircuiting, public ast::WithVisitorRef< MemberTupleExpander > { 21 void previsit( const ast::UntypedMemberExpr * ) { visit_children = false; } 22 const ast::Expr * postvisit( const ast::UntypedMemberExpr * memberExpr ); 23 }; 24 struct UniqueExprExpander final : public ast::WithDeclsToAdd<> { 25 const ast::Expr * postvisit( const ast::UniqueExpr * unqExpr ); 26 std::map< int, ast::ptr<ast::Expr> > decls; // not vector, because order added may not be increasing order 27 }; 263 28 } // namespace 264 29 … … 267 32 } 268 33 34 namespace { 35 namespace { 36 /// given a expression representing the member and an expression representing the aggregate, 37 /// reconstructs a flattened UntypedMemberExpr with the right precedence 38 const ast::Expr * reconstructMemberExpr( const ast::Expr * member, const ast::Expr * aggr, const CodeLocation & loc ) { 39 if ( auto memberExpr = dynamic_cast< const ast::UntypedMemberExpr * >( member ) ) { 40 // construct a new UntypedMemberExpr with the correct structure , and recursively 41 // expand that member expression. 42 ast::Pass< MemberTupleExpander > expander; 43 auto inner = new ast::UntypedMemberExpr( loc, memberExpr->aggregate, aggr ); 44 auto newMemberExpr = new ast::UntypedMemberExpr( loc, memberExpr->member, inner ); 45 //delete memberExpr; 46 return newMemberExpr->accept( expander ); 47 } else { 48 // not a member expression, so there is nothing to do but attach and return 49 return new ast::UntypedMemberExpr( loc, member, aggr ); 50 } 51 } 52 } 53 54 const ast::Expr * MemberTupleExpander::postvisit( const ast::UntypedMemberExpr * memberExpr ) { 55 const CodeLocation loc = memberExpr->location; 56 if ( auto tupleExpr = memberExpr->member.as< ast::UntypedTupleExpr >() ) { 57 auto mutExpr = mutate( tupleExpr ); 58 ast::ptr< ast::Expr > aggr = memberExpr->aggregate->accept( *visitor ); 59 // aggregate expressions which might be impure must be wrapped in unique expressions 60 if ( Tuples::maybeImpureIgnoreUnique( memberExpr->aggregate ) ) aggr = new ast::UniqueExpr( loc, aggr ); 61 for ( auto & expr : mutExpr->exprs ) { 62 expr = reconstructMemberExpr( expr, aggr, loc ); 63 } 64 //delete aggr; 65 return mutExpr; 66 } else { 67 // there may be a tuple expr buried in the aggregate 68 return new ast::UntypedMemberExpr( loc, memberExpr->member, memberExpr->aggregate->accept( *visitor ) ); 69 } 70 } 71 } // namespace 72 269 73 void expandUniqueExpr( ast::TranslationUnit & translationUnit ) { 270 74 ast::Pass< UniqueExprExpander >::run( translationUnit ); 271 75 } 272 76 273 void expandTuples( ast::TranslationUnit & translationUnit ) { 274 // These can't just be combined simply (there might be a way with work). 275 ast::Pass<TupleMainExpander>::run( translationUnit ); 276 ast::Pass<TupleExprExpander>::run( translationUnit ); 277 } 77 namespace { 78 const ast::Expr * UniqueExprExpander::postvisit( const ast::UniqueExpr * unqExpr ) { 79 const CodeLocation loc = unqExpr->location; 80 const int id = unqExpr->id; 278 81 82 // on first time visiting a unique expr with a particular ID, generate the expression that replaces all UniqueExprs with that ID, 83 // and lookup on subsequent hits. This ensures that all unique exprs with the same ID reference the same variable. 84 if ( ! decls.count( id ) ) { 85 ast::ptr< ast::Expr > assignUnq; 86 const ast::VariableExpr * var = unqExpr->var; 87 if ( unqExpr->object ) { 88 // an object was generated to represent this unique expression -- it should be added to the list of declarations now 89 declsToAddBefore.push_back( unqExpr->object.as< ast::Decl >() ); 90 // deep copy required due to unresolved issues with UniqueExpr 91 assignUnq = ast::UntypedExpr::createAssign( loc, var, unqExpr->expr ); 92 } else { 93 const auto commaExpr = unqExpr->expr.strict_as< ast::CommaExpr >(); 94 assignUnq = commaExpr->arg1; 95 } 96 auto finished = new ast::ObjectDecl( loc, toString( "_unq", id, "_finished_" ), new ast::BasicType( ast::BasicType::Kind::Bool ), 97 new ast::SingleInit( loc, ast::ConstantExpr::from_int( loc, 0 ) ), {}, ast::Linkage::Cforall ); 98 declsToAddBefore.push_back( finished ); 99 // (finished ? _unq_expr_N : (_unq_expr_N = <unqExpr->get_expr()>, finished = 1, _unq_expr_N)) 100 // This pattern ensures that each unique expression is evaluated once, regardless of evaluation order of the generated C code. 101 auto assignFinished = ast::UntypedExpr::createAssign( loc, new ast::VariableExpr( loc, finished ), 102 ast::ConstantExpr::from_int( loc, 1 ) ); 103 auto condExpr = new ast::ConditionalExpr( loc, new ast::VariableExpr( loc, finished ), var, 104 new ast::CommaExpr( loc, new ast::CommaExpr( loc, assignUnq, assignFinished ), var ) ); 105 condExpr->result = var->result; 106 condExpr->env = unqExpr->env; 107 decls[id] = condExpr; 108 } 109 //delete unqExpr; 110 return ast::deepCopy(decls[id].get()); 111 } 112 } // namespace 279 113 } // namespace Tuples -
src/Tuples/Tuples.h
r4520b77e r12df6fe 32 32 void handleTupleAssignment( ResolvExpr::AlternativeFinder & currentFinder, UntypedExpr * assign, 33 33 std::vector< ResolvExpr::AlternativeFinder >& args ); 34 void handleTupleAssignment( 35 ResolvExpr::CandidateFinder & finder, const ast::UntypedExpr * assign, 34 void handleTupleAssignment( 35 ResolvExpr::CandidateFinder & finder, const ast::UntypedExpr * assign, 36 36 std::vector< ResolvExpr::CandidateFinder > & args ); 37 37 … … 43 43 /// replaces tuple-related elements, such as TupleType, TupleExpr, TupleAssignExpr, etc. 44 44 void expandTuples( std::list< Declaration * > & translationUnit ); 45 void expandTuples( ast::TranslationUnit & translaionUnit );46 45 47 46 /// replaces UniqueExprs with a temporary variable and one call -
src/Validate/Autogen.cpp
r4520b77e r12df6fe 377 377 ast::ObjectDecl * FuncGenerator::dstParam() const { 378 378 return new ast::ObjectDecl( getLocation(), "_dst", 379 new ast::ReferenceType( ast::deepCopy( type ) ) ); 379 new ast::ReferenceType( ast::deepCopy( type ) ), 380 nullptr, {}, ast::Linkage::Cforall ); 380 381 } 381 382 382 383 ast::ObjectDecl * FuncGenerator::srcParam() const { 383 384 return new ast::ObjectDecl( getLocation(), "_src", 384 ast::deepCopy( type ) ); 385 ast::deepCopy( type ), 386 nullptr, {}, ast::Linkage::Cforall ); 385 387 } 386 388 … … 434 436 ast::ObjectDecl * param = new ast::ObjectDecl( 435 437 getLocation(), member->name, paramType ); 438 param->linkage = ast::Linkage::Cforall; 436 439 for ( auto & attr : member->attributes ) { 437 440 if ( attr->isValidOnFuncParam() ) { -
src/Virtual/ExpandCasts.cc
r4520b77e r12df6fe 10 10 // Created On : Mon Jul 24 13:59:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Thu Aug 11 12:06:00 202213 // Update Count : 512 // Last Modified On : Fri Jul 31 10:29:00 2020 13 // Update Count : 4 14 14 // 15 15 … … 20 20 #include <string> // for string, allocator, operator==, ope... 21 21 22 #include "AST/Decl.hpp"23 #include "AST/Expr.hpp"24 #include "AST/Pass.hpp"25 22 #include "Common/PassVisitor.h" // for PassVisitor 26 23 #include "Common/ScopedMap.h" // for ScopedMap … … 35 32 namespace Virtual { 36 33 37 namespace { 38 39 bool is_prefix( const std::string & prefix, const std::string& entire ) { 34 static bool is_prefix( const std::string & prefix, const std::string& entire ) { 40 35 size_t const p_size = prefix.size(); 41 36 return (p_size < entire.size() && prefix == entire.substr(0, p_size)); 42 37 } 43 38 44 bool is_type_id_object( const ObjectDecl * objectDecl ) {39 static bool is_type_id_object( const ObjectDecl * objectDecl ) { 45 40 const std::string & objectName = objectDecl->name; 46 41 return is_prefix( "__cfatid_", objectName ); 47 }48 49 bool is_type_id_object( const ast::ObjectDecl * decl ) {50 return is_prefix( "__cfatid_", decl->name );51 42 } 52 43 … … 133 124 } 134 125 } 126 127 namespace { 135 128 136 129 /// Better error locations for generated casts. … … 236 229 } 237 230 231 } // namespace 232 238 233 Expression * VirtualCastCore::postmutate( VirtualCastExpr * castExpr ) { 239 234 assertf( castExpr->result, "Virtual Cast target not found before expansion." ); … … 270 265 } 271 266 272 /// Better error locations for generated casts. 273 // TODO: Does the improved distribution of code locations make this unneeded? 274 CodeLocation castLocation( const ast::VirtualCastExpr * castExpr ) { 275 if ( castExpr->location.isSet() ) { 276 return castExpr->location; 277 } else if ( castExpr->arg->location.isSet() ) { 278 return castExpr->arg->location; 279 } else { 280 return CodeLocation(); 267 void expandCasts( std::list< Declaration * > & translationUnit ) { 268 PassVisitor<VirtualCastCore> translator; 269 mutateAll( translationUnit, translator ); 281 270 } 282 271 } 283 284 [[noreturn]] void castError( ast::VirtualCastExpr const * castExpr, std::string const & message ) {285 SemanticError( castLocation( castExpr ), message );286 }287 288 class TypeIdTable final {289 ScopedMap<std::string, ast::ObjectDecl const *> instances;290 public:291 void enterScope() { instances.beginScope(); }292 void leaveScope() { instances.endScope(); }293 294 // Attempt to insert an instance into the map. If there is a conflict,295 // returns the previous declaration for error messages.296 ast::ObjectDecl const * insert( ast::ObjectDecl const * typeIdDecl ) {297 std::string const & mangledName =298 Mangle::mangle( typeIdDecl->type, Mangle::typeMode() );299 ast::ObjectDecl const *& value = instances[ mangledName ];300 if ( value ) {301 if ( typeIdDecl->storage.is_extern ) {302 return nullptr;303 } else if ( !value->storage.is_extern ) {304 return value;305 }306 }307 value = typeIdDecl;308 return nullptr;309 }310 311 ast::ObjectDecl const * lookup( ast::Type const * typeIdType ) {312 std::string const & mangledName =313 Mangle::mangle( typeIdType, Mangle::typeMode() );314 auto const it = instances.find( mangledName );315 return ( instances.end() == it ) ? nullptr : it->second;316 }317 };318 319 struct ExpandCastsCore final {320 void previsit( ast::FunctionDecl const * decl );321 void previsit( ast::StructDecl const * decl );322 void previsit( ast::ObjectDecl const * decl );323 ast::Expr const * postvisit( ast::VirtualCastExpr const * expr );324 325 ast::CastExpr const * cast_to_type_id(326 ast::Expr const * expr, unsigned int level_of_indirection );327 328 ast::FunctionDecl const * vcast_decl = nullptr;329 ast::StructDecl const * info_decl = nullptr;330 331 TypeIdTable symtab;332 };333 334 void ExpandCastsCore::previsit( ast::FunctionDecl const * decl ) {335 if ( !vcast_decl && "__cfavir_virtual_cast" == decl->name ) {336 vcast_decl = decl;337 }338 }339 340 void ExpandCastsCore::previsit( ast::StructDecl const * decl ) {341 if ( !info_decl && decl->body && "__cfavir_type_info" == decl->name ) {342 info_decl = decl;343 }344 }345 346 void ExpandCastsCore::previsit( ast::ObjectDecl const * decl ) {347 if ( is_type_id_object( decl ) ) {348 // Multiple definitions should be fine because of linkonce.349 symtab.insert( decl );350 }351 }352 353 /// Get the base type from a pointer or reference.354 ast::Type const * getBaseType( ast::ptr<ast::Type> const & type ) {355 if ( auto target = type.as<ast::PointerType>() ) {356 return target->base.get();357 } else if ( auto target = type.as<ast::ReferenceType>() ) {358 return target->base.get();359 } else {360 return nullptr;361 }362 }363 364 /// Copy newType, but give the copy the params of the oldType.365 ast::StructInstType * polyCopy(366 ast::StructInstType const * oldType,367 ast::StructInstType const * newType ) {368 assert( oldType->params.size() == newType->params.size() );369 ast::StructInstType * retType = ast::deepCopy( newType );370 if ( ! oldType->params.empty() ) {371 retType->params.clear();372 for ( auto oldParams : oldType->params ) {373 retType->params.push_back( ast::deepCopy( oldParams ) );374 }375 }376 return retType;377 }378 379 /// Follow the "head" field of the structure to get the type that is pointed380 /// to by that field.381 ast::StructInstType const * followHeadPointerType(382 CodeLocation const & errorLocation,383 ast::StructInstType const * oldType,384 std::string const & fieldName ) {385 ast::StructDecl const * oldDecl = oldType->base;386 assert( oldDecl );387 388 // Helper function for throwing semantic errors.389 auto throwError = [&fieldName, &errorLocation, &oldDecl](390 std::string const & message ) {391 std::string const & context = "While following head pointer of " +392 oldDecl->name + " named '" + fieldName + "': ";393 SemanticError( errorLocation, context + message );394 };395 396 if ( oldDecl->members.empty() ) {397 throwError( "Type has no fields." );398 }399 ast::ptr<ast::Decl> const & memberDecl = oldDecl->members.front();400 assert( memberDecl );401 ast::ObjectDecl const * fieldDecl = memberDecl.as<ast::ObjectDecl>();402 assert( fieldDecl );403 if ( fieldName != fieldDecl->name ) {404 throwError( "Head field did not have expected name." );405 }406 407 ast::ptr<ast::Type> const & fieldType = fieldDecl->type;408 if ( nullptr == fieldType ) {409 throwError( "Could not get head field." );410 }411 auto ptrType = fieldType.as<ast::PointerType>();412 if ( nullptr == ptrType ) {413 throwError( "First field is not a pointer type." );414 }415 assert( ptrType->base );416 auto newType = ptrType->base.as<ast::StructInstType>();417 if ( nullptr == newType ) {418 throwError( "First field does not point to a structure type." );419 }420 421 return polyCopy( oldType, newType );422 }423 424 /// Get the type-id type from a virtual type.425 ast::StructInstType const * getTypeIdType(426 CodeLocation const & errorLocation,427 ast::Type const * type ) {428 auto typeInst = dynamic_cast<ast::StructInstType const *>( type );429 if ( nullptr == typeInst ) {430 return nullptr;431 }432 ast::ptr<ast::StructInstType> tableInst =433 followHeadPointerType( errorLocation, typeInst, "virtual_table" );434 if ( nullptr == tableInst ) {435 return nullptr;436 }437 ast::StructInstType const * typeIdInst =438 followHeadPointerType( errorLocation, tableInst, "__cfavir_typeid" );439 return typeIdInst;440 }441 442 ast::Expr const * ExpandCastsCore::postvisit(443 ast::VirtualCastExpr const * expr ) {444 assertf( expr->result, "Virtual cast target not found before expansion." );445 446 assert( vcast_decl );447 assert( info_decl );448 449 ast::Type const * base_type = getBaseType( expr->result );450 if ( nullptr == base_type ) {451 castError( expr, "Virtual cast target must be a pointer or reference type." );452 }453 ast::StructInstType const * type_id_type =454 getTypeIdType( castLocation( expr ), base_type );455 if ( nullptr == type_id_type ) {456 castError( expr, "Ill formed virtual cast target type." );457 }458 ast::ObjectDecl const * type_id = symtab.lookup( type_id_type );459 if ( nullptr == type_id ) {460 // I'm trying to give a different error for polymorpic types as461 // different things can go wrong there.462 if ( type_id_type->params.empty() ) {463 castError( expr, "Virtual cast does not target a virtual type." );464 } else {465 castError( expr, "Virtual cast does not target a type with a "466 "type id (possible missing virtual table)." );467 }468 }469 470 return new ast::CastExpr( expr->location,471 new ast::ApplicationExpr( expr->location,472 ast::VariableExpr::functionPointer( expr->location, vcast_decl ),473 {474 cast_to_type_id(475 new ast::AddressExpr( expr->location,476 new ast::VariableExpr( expr->location, type_id ) ),477 1 ),478 cast_to_type_id( expr->arg, 2 ),479 }480 ),481 ast::deepCopy( expr->result )482 );483 }484 485 ast::CastExpr const * ExpandCastsCore::cast_to_type_id(486 ast::Expr const * expr, unsigned int level_of_indirection ) {487 assert( info_decl );488 ast::Type * type = new ast::StructInstType( info_decl, ast::CV::Const );489 for ( unsigned int i = 0 ; i < level_of_indirection ; ++i ) {490 type = new ast::PointerType( type );491 }492 return new ast::CastExpr( expr->location, expr, type );493 }494 495 } // namespace496 497 void expandCasts( std::list< Declaration * > & translationUnit ) {498 PassVisitor<VirtualCastCore> translator;499 mutateAll( translationUnit, translator );500 }501 502 void expandCasts( ast::TranslationUnit & translationUnit ) {503 ast::Pass<ExpandCastsCore>::run( translationUnit );504 }505 506 } // namespace Virtual -
src/Virtual/ExpandCasts.h
r4520b77e r12df6fe 10 10 // Created On : Mon Jul 24 13:54:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Jul 29 14:40:00 202213 // Update Count : 112 // Last Modified On : Tus Jul 25 14:51:00 2017 13 // Update Count : 0 14 14 // 15 15 … … 19 19 20 20 class Declaration; 21 namespace ast {22 class TranslationUnit;23 }24 21 25 22 namespace Virtual { 26 void expandCasts( std::list< Declaration * > & translationUnit ); 27 void expandCasts( ast::TranslationUnit & translationUnit ); 28 // Breaks all virtual cast nodes up into translatable nodes. 23 void expandCasts( std::list< Declaration * > & translationUnit ); 24 // Breaks all virtual cast nodes up into translatable nodes. 29 25 30 // Later this might just set some information so it can happen at CodeGen.26 // Later this might just set some information so it can happen at CodeGen. 31 27 32 28 } -
src/config.h.in
r4520b77e r12df6fe 27 27 /* Location of cfa install. */ 28 28 #undef CFA_PREFIX 29 30 /* Sets whether or not to use the new-ast, this is adefault value and can be 31 overrided by --old-ast and --new-ast */ 32 #undef CFA_USE_NEW_AST 29 33 30 34 /* Major.Minor */ -
src/main.cc
r4520b77e r12df6fe 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Thu Sep 15 13:58:00 202213 // Update Count : 67 812 // Last Modified On : Mon Jul 18 11:08:00 2022 13 // Update Count : 676 14 14 // 15 15 … … 38 38 #include "CodeGen/Generate.h" // for generate 39 39 #include "CodeGen/LinkOnce.h" // for translateLinkOnce 40 #include "CodeTools/DeclStats.h" // for printDeclStats 41 #include "CodeTools/ResolvProtoDump.h" // for dumpAsResolvProto 40 42 #include "CodeTools/TrackLoc.h" // for fillLocations 41 43 #include "Common/CodeLocationTools.hpp" // for forceFillCodeLocations … … 43 45 #include "Common/DeclStats.hpp" // for printDeclStats 44 46 #include "Common/ResolvProtoDump.hpp" // for dumpAsResolverProto 45 #include "Common/Stats.h" // for Stats 47 #include "Common/Stats.h" 48 #include "Common/PassVisitor.h" 49 #include "Common/SemanticError.h" // for SemanticError 46 50 #include "Common/UnimplementedError.h" // for UnimplementedError 47 51 #include "Common/utility.h" // for deleteAll, filter, printAll … … 49 53 #include "Concurrency/Waitfor.h" // for generateWaitfor 50 54 #include "ControlStruct/ExceptDecl.h" // for translateExcept 51 #include "ControlStruct/ExceptTranslate.h" // for translate Throws, translat...55 #include "ControlStruct/ExceptTranslate.h" // for translateEHM 52 56 #include "ControlStruct/FixLabels.hpp" // for fixLabels 53 57 #include "ControlStruct/HoistControlDecls.hpp" // hoistControlDecls 58 #include "ControlStruct/Mutate.h" // for mutate 54 59 #include "GenPoly/Box.h" // for box 55 60 #include "GenPoly/InstantiateGeneric.h" // for instantiateGeneric … … 61 66 #include "Parser/ParseNode.h" // for DeclarationNode, buildList 62 67 #include "Parser/TypedefTable.h" // for TypedefTable 68 #include "ResolvExpr/AlternativePrinter.h" // for AlternativePrinter 63 69 #include "ResolvExpr/CandidatePrinter.hpp" // for printCandidates 64 70 #include "ResolvExpr/Resolver.h" // for resolve 71 #include "SymTab/Validate.h" // for validate 72 #include "SymTab/ValidateType.h" // for linkReferenceToTypes 65 73 #include "SynTree/LinkageSpec.h" // for Spec, Cforall, Intrinsic 66 74 #include "SynTree/Declaration.h" // for Declaration 75 #include "SynTree/Visitor.h" // for acceptAll 67 76 #include "Tuples/Tuples.h" // for expandMemberTuples, expan... 68 77 #include "Validate/Autogen.hpp" // for autogenerateRoutines … … 321 330 Stats::Time::StopBlock(); 322 331 323 if (Stats::Counters::enabled) { 324 ast::pass_visitor_stats.avg = Stats::Counters::build<Stats::Counters::AverageCounter<double>>("Average Depth - New"); 325 ast::pass_visitor_stats.max = Stats::Counters::build<Stats::Counters::MaxCounter<double>>("Max depth - New"); 332 if( useNewAST ) { 333 if (Stats::Counters::enabled) { 334 ast::pass_visitor_stats.avg = Stats::Counters::build<Stats::Counters::AverageCounter<double>>("Average Depth - New"); 335 ast::pass_visitor_stats.max = Stats::Counters::build<Stats::Counters::MaxCounter<double>>("Max depth - New"); 336 } 337 auto transUnit = convert( move( translationUnit ) ); 338 339 forceFillCodeLocations( transUnit ); 340 341 PASS( "Translate Exception Declarations", ControlStruct::translateExcept( transUnit ) ); 342 if ( exdeclp ) { 343 dump( move( transUnit ) ); 344 return EXIT_SUCCESS; 345 } 346 347 PASS( "Verify Ctor, Dtor & Assign", Validate::verifyCtorDtorAssign( transUnit ) ); 348 PASS( "Hoist Type Decls", Validate::hoistTypeDecls( transUnit ) ); 349 // Hoist Type Decls pulls some declarations out of contexts where 350 // locations are not tracked. Perhaps they should be, but for now 351 // the full fill solves it. 352 forceFillCodeLocations( transUnit ); 353 354 PASS( "Replace Typedefs", Validate::replaceTypedef( transUnit ) ); 355 PASS( "Fix Return Types", Validate::fixReturnTypes( transUnit ) ); 356 PASS( "Enum and Pointer Decay", Validate::decayEnumsAndPointers( transUnit ) ); 357 358 PASS( "Link Reference To Types", Validate::linkReferenceToTypes( transUnit ) ); 359 360 PASS( "Fix Qualified Types", Validate::fixQualifiedTypes( transUnit ) ); 361 PASS( "Hoist Struct", Validate::hoistStruct( transUnit ) ); 362 PASS( "Eliminate Typedef", Validate::eliminateTypedef( transUnit ) ); 363 PASS( "Validate Generic Parameters", Validate::fillGenericParameters( transUnit ) ); 364 PASS( "Translate Dimensions", Validate::translateDimensionParameters( transUnit ) ); 365 PASS( "Check Function Returns", Validate::checkReturnStatements( transUnit ) ); 366 PASS( "Fix Return Statements", InitTweak::fixReturnStatements( transUnit ) ); 367 PASS( "Implement Concurrent Keywords", Concurrency::implementKeywords( transUnit ) ); 368 PASS( "Forall Pointer Decay", Validate::decayForallPointers( transUnit ) ); 369 PASS( "Hoist Control Declarations", ControlStruct::hoistControlDecls( transUnit ) ); 370 371 PASS( "Generate Autogen Routines", Validate::autogenerateRoutines( transUnit ) ); 372 373 PASS( "Implement Mutex", Concurrency::implementMutex( transUnit ) ); 374 PASS( "Implement Thread Start", Concurrency::implementThreadStarter( transUnit ) ); 375 PASS( "Compound Literal", Validate::handleCompoundLiterals( transUnit ) ); 376 PASS( "Set Length From Initializer", Validate::setLengthFromInitializer( transUnit ) ); 377 PASS( "Find Global Decls", Validate::findGlobalDecls( transUnit ) ); 378 PASS( "Fix Label Address", Validate::fixLabelAddresses( transUnit ) ); 379 380 if ( symtabp ) { 381 return EXIT_SUCCESS; 382 } // if 383 384 if ( expraltp ) { 385 ResolvExpr::printCandidates( transUnit ); 386 return EXIT_SUCCESS; 387 } // if 388 389 if ( validp ) { 390 dump( move( transUnit ) ); 391 return EXIT_SUCCESS; 392 } // if 393 394 PASS( "Translate Throws", ControlStruct::translateThrows( transUnit ) ); 395 PASS( "Fix Labels", ControlStruct::fixLabels( transUnit ) ); 396 PASS( "Fix Names", CodeGen::fixNames( transUnit ) ); 397 PASS( "Gen Init", InitTweak::genInit( transUnit ) ); 398 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( transUnit ) ); 399 400 if ( libcfap ) { 401 // Generate the bodies of cfa library functions. 402 LibCfa::makeLibCfa( transUnit ); 403 } // if 404 405 if ( declstatsp ) { 406 printDeclStats( transUnit ); 407 return EXIT_SUCCESS; 408 } // if 409 410 if ( bresolvep ) { 411 dump( move( transUnit ) ); 412 return EXIT_SUCCESS; 413 } // if 414 415 if ( resolvprotop ) { 416 dumpAsResolverProto( transUnit ); 417 return EXIT_SUCCESS; 418 } // if 419 420 PASS( "Resolve", ResolvExpr::resolve( transUnit ) ); 421 if ( exprp ) { 422 dump( move( transUnit ) ); 423 return EXIT_SUCCESS; 424 } // if 425 426 forceFillCodeLocations( transUnit ); 427 428 PASS( "Fix Init", InitTweak::fix(transUnit, buildingLibrary())); 429 430 // fix ObjectDecl - replaces ConstructorInit nodes 431 if ( ctorinitp ) { 432 dump( move( transUnit ) ); 433 return EXIT_SUCCESS; 434 } // if 435 436 // Currently not working due to unresolved issues with UniqueExpr 437 PASS( "Expand Unique Expr", Tuples::expandUniqueExpr( transUnit ) ); // xxx - is this the right place for this? want to expand ASAP so tha, sequent passes don't need to worry about double-visiting a unique expr - needs to go after InitTweak::fix so that copy constructed return declarations are reused 438 439 PASS( "Translate Tries", ControlStruct::translateTries( transUnit ) ); 440 PASS( "Gen Waitfor", Concurrency::generateWaitFor( transUnit ) ); 441 PASS( "Convert Specializations", GenPoly::convertSpecializations( transUnit ) ); // needs to happen before tuple types are expanded 442 443 444 translationUnit = convert( move( transUnit ) ); 445 } else { 446 PASS( "Translate Exception Declarations", ControlStruct::translateExcept( translationUnit ) ); 447 if ( exdeclp ) { 448 dump( translationUnit ); 449 return EXIT_SUCCESS; 450 } // if 451 452 // add the assignment statement after the initialization of a type parameter 453 PASS( "Validate", SymTab::validate( translationUnit ) ); 454 455 if ( symtabp ) { 456 deleteAll( translationUnit ); 457 return EXIT_SUCCESS; 458 } // if 459 460 if ( expraltp ) { 461 PassVisitor<ResolvExpr::AlternativePrinter> printer( cout ); 462 acceptAll( translationUnit, printer ); 463 return EXIT_SUCCESS; 464 } // if 465 466 if ( validp ) { 467 dump( translationUnit ); 468 return EXIT_SUCCESS; 469 } // if 470 471 PASS( "Translate Throws", ControlStruct::translateThrows( translationUnit ) ); 472 PASS( "Fix Labels", ControlStruct::fixLabels( translationUnit ) ); 473 PASS( "Fix Names", CodeGen::fixNames( translationUnit ) ); 474 PASS( "Gen Init", InitTweak::genInit( translationUnit ) ); 475 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( translationUnit ) ); 476 477 if ( libcfap ) { 478 // Generate the bodies of cfa library functions. 479 LibCfa::makeLibCfa( translationUnit ); 480 } // if 481 482 if ( declstatsp ) { 483 CodeTools::printDeclStats( translationUnit ); 484 deleteAll( translationUnit ); 485 return EXIT_SUCCESS; 486 } // if 487 488 if ( bresolvep ) { 489 dump( translationUnit ); 490 return EXIT_SUCCESS; 491 } // if 492 493 CodeTools::fillLocations( translationUnit ); 494 495 if ( resolvprotop ) { 496 CodeTools::dumpAsResolvProto( translationUnit ); 497 return EXIT_SUCCESS; 498 } // if 499 500 PASS( "Resolve", ResolvExpr::resolve( translationUnit ) ); 501 if ( exprp ) { 502 dump( translationUnit ); 503 return EXIT_SUCCESS; 504 } 505 506 PASS( "Fix Init", InitTweak::fix( translationUnit, buildingLibrary() ) ); 507 508 // fix ObjectDecl - replaces ConstructorInit nodes 509 if ( ctorinitp ) { 510 dump ( translationUnit ); 511 return EXIT_SUCCESS; 512 } // if 513 514 PASS( "Expand Unique Expr", Tuples::expandUniqueExpr( translationUnit ) ); // xxx - is this the right place for this? want to expand ASAP so tha, sequent passes don't need to worry about double-visiting a unique expr - needs to go after InitTweak::fix so that copy constructed return declarations are reused 515 PASS( "Translate Tries", ControlStruct::translateTries( translationUnit ) ); 516 PASS( "Gen Waitfor", Concurrency::generateWaitFor( translationUnit ) ); 517 PASS( "Convert Specializations", GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded 518 326 519 } 327 auto transUnit = convert( std::move( translationUnit ) ); 328 329 forceFillCodeLocations( transUnit ); 330 331 PASS( "Translate Exception Declarations", ControlStruct::translateExcept( transUnit ) ); 332 if ( exdeclp ) { 333 dump( std::move( transUnit ) ); 520 521 522 // PASS( "Convert Specializations", GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded 523 524 PASS( "Expand Tuples", Tuples::expandTuples( translationUnit ) ); // xxx - is this the right place for this? 525 526 if ( tuplep ) { 527 dump( translationUnit ); 334 528 return EXIT_SUCCESS; 335 } 336 337 PASS( "Verify Ctor, Dtor & Assign", Validate::verifyCtorDtorAssign( transUnit ) ); 338 PASS( "Hoist Type Decls", Validate::hoistTypeDecls( transUnit ) ); 339 // Hoist Type Decls pulls some declarations out of contexts where 340 // locations are not tracked. Perhaps they should be, but for now 341 // the full fill solves it. 342 forceFillCodeLocations( transUnit ); 343 344 PASS( "Replace Typedefs", Validate::replaceTypedef( transUnit ) ); 345 PASS( "Fix Return Types", Validate::fixReturnTypes( transUnit ) ); 346 PASS( "Enum and Pointer Decay", Validate::decayEnumsAndPointers( transUnit ) ); 347 348 PASS( "Link Reference To Types", Validate::linkReferenceToTypes( transUnit ) ); 349 350 PASS( "Fix Qualified Types", Validate::fixQualifiedTypes( transUnit ) ); 351 PASS( "Hoist Struct", Validate::hoistStruct( transUnit ) ); 352 PASS( "Eliminate Typedef", Validate::eliminateTypedef( transUnit ) ); 353 PASS( "Validate Generic Parameters", Validate::fillGenericParameters( transUnit ) ); 354 PASS( "Translate Dimensions", Validate::translateDimensionParameters( transUnit ) ); 355 PASS( "Check Function Returns", Validate::checkReturnStatements( transUnit ) ); 356 PASS( "Fix Return Statements", InitTweak::fixReturnStatements( transUnit ) ); 357 PASS( "Implement Concurrent Keywords", Concurrency::implementKeywords( transUnit ) ); 358 PASS( "Forall Pointer Decay", Validate::decayForallPointers( transUnit ) ); 359 PASS( "Hoist Control Declarations", ControlStruct::hoistControlDecls( transUnit ) ); 360 361 PASS( "Generate Autogen Routines", Validate::autogenerateRoutines( transUnit ) ); 362 363 PASS( "Implement Mutex", Concurrency::implementMutex( transUnit ) ); 364 PASS( "Implement Thread Start", Concurrency::implementThreadStarter( transUnit ) ); 365 PASS( "Compound Literal", Validate::handleCompoundLiterals( transUnit ) ); 366 PASS( "Set Length From Initializer", Validate::setLengthFromInitializer( transUnit ) ); 367 PASS( "Find Global Decls", Validate::findGlobalDecls( transUnit ) ); 368 PASS( "Fix Label Address", Validate::fixLabelAddresses( transUnit ) ); 369 370 if ( symtabp ) { 371 return EXIT_SUCCESS; 372 } // if 373 374 if ( expraltp ) { 375 ResolvExpr::printCandidates( transUnit ); 376 return EXIT_SUCCESS; 377 } // if 378 379 if ( validp ) { 380 dump( std::move( transUnit ) ); 381 return EXIT_SUCCESS; 382 } // if 383 384 PASS( "Translate Throws", ControlStruct::translateThrows( transUnit ) ); 385 PASS( "Fix Labels", ControlStruct::fixLabels( transUnit ) ); 386 PASS( "Fix Names", CodeGen::fixNames( transUnit ) ); 387 PASS( "Gen Init", InitTweak::genInit( transUnit ) ); 388 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( transUnit ) ); 389 390 if ( libcfap ) { 391 // Generate the bodies of cfa library functions. 392 LibCfa::makeLibCfa( transUnit ); 393 } // if 394 395 if ( declstatsp ) { 396 printDeclStats( transUnit ); 397 return EXIT_SUCCESS; 398 } // if 399 400 if ( bresolvep ) { 401 dump( std::move( transUnit ) ); 402 return EXIT_SUCCESS; 403 } // if 404 405 if ( resolvprotop ) { 406 dumpAsResolverProto( transUnit ); 407 return EXIT_SUCCESS; 408 } // if 409 410 PASS( "Resolve", ResolvExpr::resolve( transUnit ) ); 411 if ( exprp ) { 412 dump( std::move( transUnit ) ); 413 return EXIT_SUCCESS; 414 } // if 415 416 forceFillCodeLocations( transUnit ); 417 418 PASS( "Fix Init", InitTweak::fix(transUnit, buildingLibrary())); 419 420 // fix ObjectDecl - replaces ConstructorInit nodes 421 if ( ctorinitp ) { 422 dump( std::move( transUnit ) ); 423 return EXIT_SUCCESS; 424 } // if 425 426 // Currently not working due to unresolved issues with UniqueExpr 427 PASS( "Expand Unique Expr", Tuples::expandUniqueExpr( transUnit ) ); // xxx - is this the right place for this? want to expand ASAP so tha, sequent passes don't need to worry about double-visiting a unique expr - needs to go after InitTweak::fix so that copy constructed return declarations are reused 428 429 PASS( "Translate Tries", ControlStruct::translateTries( transUnit ) ); 430 PASS( "Gen Waitfor", Concurrency::generateWaitFor( transUnit ) ); 431 432 // Needs to happen before tuple types are expanded. 433 PASS( "Convert Specializations", GenPoly::convertSpecializations( transUnit ) ); 434 435 PASS( "Expand Tuples", Tuples::expandTuples( transUnit ) ); 436 437 if ( tuplep ) { 438 dump( std::move( transUnit ) ); 439 return EXIT_SUCCESS; 440 } // if 441 442 // Must come after Translate Tries. 443 PASS( "Virtual Expand Casts", Virtual::expandCasts( transUnit ) ); 444 445 PASS( "Instantiate Generics", GenPoly::instantiateGeneric( transUnit ) ); 446 447 translationUnit = convert( std::move( transUnit ) ); 448 529 } // if 530 531 PASS( "Virtual Expand Casts", Virtual::expandCasts( translationUnit ) ); // Must come after translateEHM 532 533 PASS( "Instantiate Generics", GenPoly::instantiateGeneric( translationUnit ) ); 449 534 if ( genericsp ) { 450 535 dump( translationUnit ); … … 529 614 530 615 531 static const char optstring[] = ":c:ghlLmNnpd P:S:twW:D:";616 static const char optstring[] = ":c:ghlLmNnpdOAP:S:twW:D:"; 532 617 533 618 enum { PreludeDir = 128 }; … … 543 628 { "prototypes", no_argument, nullptr, 'p' }, 544 629 { "deterministic-out", no_argument, nullptr, 'd' }, 630 { "old-ast", no_argument, nullptr, 'O'}, 631 { "new-ast", no_argument, nullptr, 'A'}, 545 632 { "print", required_argument, nullptr, 'P' }, 546 633 { "prelude-dir", required_argument, nullptr, PreludeDir }, … … 564 651 "do not generate prelude prototypes => prelude not printed", // -p 565 652 "only print deterministic output", // -d 653 "Use the old-ast", // -O 654 "Use the new-ast", // -A 566 655 "print", // -P 567 656 "<directory> prelude directory for debug/nodebug", // no flag … … 672 761 deterministic_output = true; 673 762 break; 763 case 'O': // don't print non-deterministic output 764 useNewAST = false; 765 break; 766 case 'A': // don't print non-deterministic output 767 useNewAST = true; 768 break; 674 769 case 'P': // print options 675 770 for ( int i = 0;; i += 1 ) { … … 788 883 789 884 static void dump( ast::TranslationUnit && transUnit, ostream & out ) { 790 std::list< Declaration * > translationUnit = convert( std::move( transUnit ) );885 std::list< Declaration * > translationUnit = convert( move( transUnit ) ); 791 886 dump( translationUnit, out ); 792 887 } -
tests/.expect/declarationSpecifier.arm64.txt
r4520b77e r12df6fe 735 735 } 736 736 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; 737 _Thread_local signed int _X3x37i_1;738 __thread signed int _X3x38i_1;739 737 static inline volatile const signed int _X3f11Fi___1(); 740 738 static inline volatile const signed int _X3f12Fi___1(); -
tests/.expect/declarationSpecifier.x64.txt
r4520b77e r12df6fe 735 735 } 736 736 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; 737 _Thread_local signed int _X3x37i_1;738 __thread signed int _X3x38i_1;739 737 static inline volatile const signed int _X3f11Fi___1(); 740 738 static inline volatile const signed int _X3f12Fi___1(); -
tests/.expect/declarationSpecifier.x86.txt
r4520b77e r12df6fe 735 735 } 736 736 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; 737 _Thread_local signed int _X3x37i_1;738 __thread signed int _X3x38i_1;739 737 static inline volatile const signed int _X3f11Fi___1(); 740 738 static inline volatile const signed int _X3f12Fi___1(); -
tests/.expect/loop_else.txt
r4520b77e r12df6fe 33 33 0 1 2 3 4 5 6 7 8 9 else 34 34 0 1 2 3 4 5 6 7 8 9 10 else 35 10 9 8 7 6 5 4 3 2 1 0else35 10 9 8 7 6 5 4 3 2 1 else 36 36 37 37 3 6 9 else 38 39 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else 40 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else 41 42 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else 43 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else 44 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else 45 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else 46 47 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else 48 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else 49 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else 50 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else 38 51 39 52 0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 else … … 50 63 0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else 51 64 0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else 52 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else53 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else54 55 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else56 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else57 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else58 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else59 60 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else61 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else62 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else63 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else64 -
tests/.expect/loopctrl.txt
r4520b77e r12df6fe 31 31 0 1 2 3 4 5 6 7 8 9 32 32 0 1 2 3 4 5 6 7 8 9 10 33 10 9 8 7 6 5 4 3 2 1 033 10 9 8 7 6 5 4 3 2 1 34 34 35 35 3 6 9 36 37 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 38 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 39 40 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 41 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 42 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10) 43 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10) 44 45 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1) 46 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1) 47 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0) 48 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0) 36 49 37 50 0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 … … 48 61 0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 49 62 0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 50 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)51 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)52 53 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)54 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)55 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)56 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)57 58 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)59 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)60 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)61 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)62 63 A A A A A A A A A A64 B B B B B B B B B B B65 C C C C C C C C C C66 D D D D D D D D D D D67 A A A A A A A A A A68 B B B B B B B B B B B69 C C C C C C C C C C70 D D D D D D D D D D D71 A A A A A72 B B B B B B73 C C C C C74 D D D D D D75 0 1 2 3 4 5 6 7 8 976 0 1 2 3 4 5 6 7 8 9 1077 10 9 8 7 6 5 4 3 2 178 10 9 8 7 6 5 4 3 2 1 079 0 1 2 3 4 5 6 7 8 980 0 1 2 3 4 5 6 7 8 9 1081 10 9 8 7 6 5 4 3 2 182 10 9 8 7 6 5 4 3 2 1 083 0 2 4 6 884 0 2 4 6 8 1085 10 8 6 4 286 10 8 6 4 2 087 0 1 2 3 4 5 6 7 8 988 0 1 2 3 4 5 6 7 8 989 0 1 2 3 4 5 6 7 8 9 1090 10 9 8 7 6 5 4 3 2 191 10 9 8 7 6 5 4 3 2 1 092 0 1 2 3 4 5 6 7 8 993 0 1 2 3 4 5 6 7 8 9 1094 10 9 8 7 6 5 4 3 2 195 10 9 8 7 6 5 4 3 2 1 096 0 2 4 6 897 0 2 4 6 8 1098 10 8 6 4 299 10 8 6 4 2 0100 0 1 2 3 4 5 6 7 8 9101 0 -1 -2 -3 -4 -5 -6 -7 -8 -9102 0 2 4 6 8103 0 -2 -4 -6 -8104 0 1 2 3 4 5 6 7 8 9105 0 2 4 6 8106 0 -2 -4 -6 -8107 0 2 4 6 8108 0 -2 -4 -6 -8109 0 1 2 3 4 5 6 7 8 9 -
tests/Makefile.am
r4520b77e r12df6fe 54 54 55 55 # adjust CC to current flags 56 CC = LC_ALL=C $(if $(DISTCC_CFA_PATH),distcc $(DISTCC_CFA_PATH) ${ARCH_FLAGS} ,$(TARGET_CFA) ${DEBUG_FLAGS} ${ARCH_FLAGS})56 CC = LC_ALL=C $(if $(DISTCC_CFA_PATH),distcc $(DISTCC_CFA_PATH) ${ARCH_FLAGS} ${AST_FLAGS},$(TARGET_CFA) ${DEBUG_FLAGS} ${ARCH_FLAGS} ${AST_FLAGS}) 57 57 CFACC = $(CC) 58 58 … … 61 61 62 62 # adjusted CC but without the actual distcc call 63 CFACCLOCAL = $(if $(DISTCC_CFA_PATH),$(DISTCC_CFA_PATH) ${ARCH_FLAGS} ,$(TARGET_CFA) ${DEBUG_FLAGS} ${ARCH_FLAGS})63 CFACCLOCAL = $(if $(DISTCC_CFA_PATH),$(DISTCC_CFA_PATH) ${ARCH_FLAGS} ${AST_FLAGS},$(TARGET_CFA) ${DEBUG_FLAGS} ${ARCH_FLAGS} ${AST_FLAGS}) 64 64 CFACCLINK = $(CFACCLOCAL) -quiet $(if $(test), 2> $(test), ) $($(shell echo "${@}_FLAGSLD" | sed 's/-\|\//_/g')) 65 65 -
tests/concurrent/clib.c
r4520b77e r12df6fe 8 8 } 9 9 10 _Thread_local struct drand48_data buffer = { 0 };10 thread_local struct drand48_data buffer = { 0 }; 11 11 int myrand() { 12 12 long int result; -
tests/concurrent/clib_tls.c
r4520b77e r12df6fe 14 14 15 15 16 __threadint checkval = 0xBAADF00D;16 thread_local int checkval = 0xBAADF00D; 17 17 18 18 void init(void * ) { -
tests/concurrent/park/contention.cfa
r4520b77e r12df6fe 2 2 #include <thread.hfa> 3 3 4 __threaddrand48_data buffer = { 0 };4 thread_local drand48_data buffer = { 0 }; 5 5 int myrand() { 6 6 long int result; -
tests/config.py.in
r4520b77e r12df6fe 9 9 HOSTARCH = "@host_cpu@" 10 10 DISTRIBUTE = @HAS_DISTCC@ 11 NEWAST = @DEFAULT_NEW_AST@ -
tests/declarationSpecifier.cfa
r4520b77e r12df6fe 1 // 1 // 2 2 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo 3 3 // 4 4 // The contents of this file are covered under the licence agreement in the 5 5 // file "LICENCE" distributed with Cforall. 6 // 7 // declarationSpecifier.cfa -- 8 // 6 // 7 // declarationSpecifier.cfa -- 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:21:04 2016 … … 12 12 // Last Modified On : Tue Apr 30 18:20:36 2019 13 13 // Update Count : 4 14 // 14 // 15 15 16 16 typedef short int Int; … … 51 51 struct { Int i; } const static volatile x35; 52 52 struct { Int i; } const volatile static x36; 53 54 _Thread_local int x37;55 __thread int x38;56 53 57 54 static inline const volatile int f11(); -
tests/heap.cfa
r4520b77e r12df6fe 10 10 // Created On : Tue Nov 6 17:54:56 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 10 09:57:01 202213 // Update Count : 8612 // Last Modified On : Tue Dec 15 12:11:51 2020 13 // Update Count : 79 14 14 // 15 15 … … 26 26 // return __CFA_DEFAULT_PREEMPTION__; 27 27 // } 28 29 size_t default_heap_expansion() { 30 return 10 * 1024 * 1024; 31 } // default_heap_expansion 32 33 size_t default_mmap_start() { 34 return 512 * 1024 + 1; 35 } // default_mmap_start 28 36 29 37 thread Worker { … … 58 66 for ( k; i ) locns[i][k] = '\345'; 59 67 } // for 60 for ( i; -~= NoOfAllocs - 1) {68 for ( i; NoOfAllocs - 1 -~= 0 ) { 61 69 //sout | (void *)locns[i]; 62 70 for ( k; i ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage2" ); … … 91 99 92 100 for ( i; NoOfMmaps ) { 93 size_t s = i + malloc_mmap_start(); // cross over point101 size_t s = i + default_mmap_start(); // cross over point 94 102 char * area = (char *)malloc( s ); 95 103 area[0] = '\345'; area[s - 1] = '\345'; // fill first/last … … 99 107 100 108 for ( i; NoOfMmaps ) { 101 size_t s = i + malloc_mmap_start(); // cross over point109 size_t s = i + default_mmap_start(); // cross over point 102 110 locns[i] = (char *)malloc( s ); 103 111 locns[i][0] = '\345'; locns[i][s - 1] = '\345'; // fill first/last … … 105 113 } // for 106 114 for ( i; NoOfMmaps ) { 107 size_t s = i + malloc_mmap_start(); // cross over point115 size_t s = i + default_mmap_start(); // cross over point 108 116 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 109 117 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "malloc/free corrupt storage" ); … … 143 151 144 152 for ( i; NoOfMmaps ) { 145 size_t s = i + malloc_mmap_start(); // cross over point153 size_t s = i + default_mmap_start(); // cross over point 146 154 char * area = (char *)calloc( 1, s ); 147 155 if ( area[0] != '\0' || area[s - 1] != '\0' ) abort( "calloc/free corrupt storage4.1" ); … … 154 162 155 163 for ( i; NoOfMmaps ) { 156 size_t s = i + malloc_mmap_start(); // cross over point164 size_t s = i + default_mmap_start(); // cross over point 157 165 locns[i] = (char *)calloc( 1, s ); 158 166 if ( locns[i][0] != '\0' || locns[i][s - 1] != '\0' || … … 163 171 } // for 164 172 for ( i; NoOfMmaps ) { 165 size_t s = i + malloc_mmap_start(); // cross over point173 size_t s = i + default_mmap_start(); // cross over point 166 174 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 167 175 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "calloc/free corrupt storage6" ); … … 190 198 //sout | alignments[a]; 191 199 for ( i; 1 ~ NoOfMmaps ) { 192 size_t s = i + malloc_mmap_start(); // cross over point200 size_t s = i + default_mmap_start(); // cross over point 193 201 char * area = (char *)memalign( a, s ); 194 202 //sout | i | area; … … 224 232 for ( i; 2 ~ NoOfAllocs ~ 12 ) { 225 233 // initial N byte allocation 226 size_t s = i + malloc_mmap_start(); // cross over point234 size_t s = i + default_mmap_start(); // cross over point 227 235 char * area = (char *)malloc( s ); 228 236 area[0] = '\345'; area[s - 1] = '\345'; // fill first/penultimate byte … … 261 269 for ( i; 2 ~ NoOfAllocs ~ 12 ) { 262 270 // initial N byte allocation 263 size_t s = i + malloc_mmap_start(); // cross over point271 size_t s = i + default_mmap_start(); // cross over point 264 272 char * area = (char *)malloc( s ); 265 273 area[0] = '\345'; area[s - 1] = '\345'; // fill first/penultimate byte … … 299 307 for ( i; 1 ~ 10_000 ~ 12 ) { 300 308 // initial N byte allocation 301 size_t s = i + malloc_mmap_start(); // cross over point309 size_t s = i + default_mmap_start(); // cross over point 302 310 char * area = (char *)calloc( 1, s ); 303 311 if ( area[0] != '\0' || area[s - 1] != '\0' || … … 473 481 474 482 int main() { 475 enum { NoOfWorkers = 4 };483 const unsigned int NoOfWorkers = 4; 476 484 { 477 485 processor processors[NoOfWorkers - 1] __attribute__(( unused )); // more than one processor -
tests/io/away_fair.cfa
r4520b77e r12df6fe 60 60 struct io_uring_sqe * sqe; 61 61 __u32 idx; 62 struct io_context$* ctx = cfa_io_allocate(&sqe, &idx, 1);62 struct $io_context * ctx = cfa_io_allocate(&sqe, &idx, 1); 63 63 64 64 zero_sqe(sqe); -
tests/io/comp_fair.cfa
r4520b77e r12df6fe 27 27 28 28 struct { 29 barrier & bar;30 int pipe[2];29 barrier & bar; 30 int pipe[2]; 31 31 32 32 } globals; … … 65 65 thread Reader {}; 66 66 void main(Reader & this) { 67 char thrash[1]; 68 bool do_read = has_user_level_blocking( (fptr_t)async_read ); 67 bool do_read = has_user_level_blocking( (fptr_t)async_read ); 69 68 70 for(TIMES) { 71 io_future_t f; 72 if ( do_read ) { 73 async_read(f, globals.pipe[0], thrash, 1, 0); 74 } else { 75 fulfil(f, 0); // If we don't have user-level blocking just play along 76 } 69 for(TIMES) { 70 io_future_t f; 71 if ( do_read ) { 72 char thrash[1]; 73 async_read(f, globals.pipe[0], thrash, 1, 0); 74 } else { 75 fulfil(f, 0); // If we don't have user-level blocking just play along 76 } 77 77 78 block( globals.bar );78 block( globals.bar ); 79 79 80 80 yield( prng( this, 15 ) ); 81 81 82 unsigned i = __atomic_add_fetch( &counter, 1, __ATOMIC_SEQ_CST );82 unsigned i = __atomic_add_fetch( &counter, 1, __ATOMIC_SEQ_CST ); 83 83 if(0 == (i % 100)) sout | i; 84 84 85 wait( f );85 wait( f ); 86 86 87 if(f.result < 0)88 abort | "Read error" | -f.result | ":" | strerror(-f.result);87 if(f.result < 0) 88 abort | "Read error" | -f.result | ":" | strerror(-f.result); 89 89 90 block( globals.bar );91 }90 block( globals.bar ); 91 } 92 92 } 93 93 … … 97 97 thread Writer {}; 98 98 void main(Writer & this) { 99 for(TIMES) {100 block( globals.bar );99 for(TIMES) { 100 block( globals.bar ); 101 101 102 sleep( 1`us );102 sleep( 1`us ); 103 103 104 char buf[1] = { '+' };105 int ret = write( globals.pipe[1], buf, 1 );106 if(ret < 0)107 abort | "Write error" | errno | ":" | strerror(errno);104 char buf[1] = { '+' }; 105 int ret = write( globals.pipe[1], buf, 1 ); 106 if(ret < 0) 107 abort | "Write error" | errno | ":" | strerror(errno); 108 108 109 block( globals.bar );110 }109 block( globals.bar ); 110 } 111 111 } 112 112 … … 122 122 123 123 int main() { 124 barrier bar = { 2 };125 &globals.bar = &bar;126 int ret = pipe(globals.pipe);127 if(ret != 0)128 abort | "Pipe error" | errno | ":" | strerror(errno);124 barrier bar = { 2 }; 125 &globals.bar = &bar; 126 int ret = pipe(globals.pipe); 127 if(ret != 0) 128 abort | "Pipe error" | errno | ":" | strerror(errno); 129 129 130 130 processor p; … … 134 134 Spinner s; 135 135 Reader ior; 136 Writer iow;136 Writer iow; 137 137 } 138 138 sout | "done"; -
tests/loop_else.cfa
r4520b77e r12df6fe 20 20 21 21 int main() { 22 // Test some loop options. 22 sout | nlOff; // turn off auto newline 23 while () { sout | "empty"; break; } else { sout | "else"; } sout | nl; 24 do { sout | "empty"; break; } while () else { sout | "else"; } sout | nl; 25 for () { sout | "empty"; break; } else { sout | "else"; } sout | nl | nl; 23 26 24 sout | nlOff; // turn off auto newline 25 while () { sout | "empty"; break; } else { sout | "else"; } sout | nl; 26 do { sout | "empty"; break; } while () else { sout | "else"; } sout | nl; 27 for () { sout | "empty"; break; } else { sout | "else"; } sout | nl | nl; 27 do { sout | "false"; } while (false) else { sout | "else"; } sout | nl | nl; 28 28 29 do { sout | "false"; } while (false) else { sout | "else"; } sout | nl | nl; 30 31 for ( 0 ) { sout | "A"; } else { sout | "else"; } sout | "zero" | nl; 29 for ( 0 ) { sout | "A"; } else { sout | "else"; } sout | "zero" | nl; 32 30 for ( 1 ) { sout | "A"; } else { sout | "else"; } sout | nl; 33 for ( 10 ) { sout | "A"; } else { sout | "else"; } sout | nl;34 for ( ~= 10 ) { sout | "A"; } else { sout | "else"; } sout | nl;31 for ( 10 ) { sout | "A"; } else { sout | "else"; } sout | nl; 32 for ( = 10 ) { sout | "A"; } else { sout | "else"; } sout | nl; 35 33 for ( 1 ~= 10 ~ 2 ) { sout | "B"; } else { sout | "else"; } sout | nl; 36 for ( 1 -~= 10~ 2 ) { sout | "C"; } else { sout | "else"; } sout | nl;34 for ( 10 -~= 1 ~ 2 ) { sout | "C"; } else { sout | "else"; } sout | nl; 37 35 for ( 0.5 ~ 5.5 ) { sout | "D"; } else { sout | "else"; } sout | nl; 38 for ( 0.5 -~ 5.5 ) { sout | "E"; } else { sout | "else"; } sout | nl | nl;36 for ( 5.5 -~ 0.5 ) { sout | "E"; } else { sout | "else"; } sout | nl | nl; 39 37 40 38 for ( i; 10 ) { sout | i; } else { sout | "else"; } sout | nl; 41 for ( i; ~= 10 ) { sout | i; } else { sout | "else"; } sout | nl;39 for ( i; = 10 ) { sout | i; } else { sout | "else"; } sout | nl; 42 40 for ( i; 1 ~= 10 ~ 2 ) { sout | i; } else { sout | "else"; } sout | nl; 43 for ( i; 1 -~= 10~ 2 ) { sout | i; } else { sout | "else"; } sout | nl;41 for ( i; 10 -~= 1 ~ 2 ) { sout | i; } else { sout | "else"; } sout | nl; 44 42 for ( i; 0.5 ~ 5.5 ) { sout | i; } else { sout | "else"; } sout | nl; 45 for ( i; 0.5 -~ 5.5 ) { sout | i; } else { sout | "else"; } sout | nl;43 for ( i; 5.5 -~ 0.5 ) { sout | i; } else { sout | "else"; } sout | nl; 46 44 for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } else { sout | "else"; } sout | nl; 47 for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } else { sout | "else"; } sout | nl | nl;45 for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; } else { sout | "else"; } sout | nl | nl; 48 46 49 47 // @ means do nothing … … 52 50 sout | i; 53 51 } else { sout | "else"; } sout | nl; 54 for ( i; @ -~ 10) {52 for ( i; 10 -~ @ ) { 55 53 if ( i < 0 ) break; 56 54 sout | i; … … 65 63 i += 1.7; 66 64 } else { sout | "else"; } sout | nl; 67 for ( i; @ -~ 10~ 2 ) {65 for ( i; 10 -~ @ ~ 2 ) { 68 66 if ( i < 0 ) break; 69 67 sout | i; … … 78 76 for ( N ) { sout | "N"; } else { sout | "else"; } sout | nl; 79 77 for ( i; N ) { sout | i; } else { sout | "else"; } sout | nl; 80 for ( i; ~= N ) { sout | i; } else { sout | "else"; } sout | nl;81 for ( i; -~= N) { sout | i; } else { sout | "else"; } sout | nl | nl;78 for ( i; = N ) { sout | i; } else { sout | "else"; } sout | nl; 79 for ( i; N -~ 0 ) { sout | i; } else { sout | "else"; } sout | nl | nl; 82 80 83 81 const int start = 3, comp = 10, inc = 2; 84 82 for ( i; start ~ comp ~ inc + 1 ) { sout | i; } else { sout | "else"; } sout | nl | nl; 85 86 for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl;87 for ( i; 10 : j; @ -~ -5 ) { sout | i | j; } else { sout | "else"; } sout | nl;88 for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl;89 for ( i; 10 : j; @ -~ -5 ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;90 91 for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;92 for ( j; @ -~ -5 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;93 for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;94 for ( j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;95 96 for ( j; @ -~ -5 ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } else { sout | "else"; } sout | nl;97 for ( j; @ -~ -5 ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;98 for ( k; 1.5 ~ @ : j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;99 83 100 84 for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } else { sout | "else"; } sout | nl; … … 106 90 for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl; 107 91 sout | nl; 108 for ( s; (S){0} -~ (S){10,10} ) { sout | s; } else { sout | "else"; } sout | nl; 109 for ( s; (S){0} -~ (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl; 110 for ( s; (S){0} -~= (S){10,10} ) { sout | s; } else { sout | "else"; } sout | nl; 111 for ( s; (S){0} -~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl | nl; 92 for ( s; (S){10,10} -~ (S){0} ) { sout | s; } else { sout | "else"; } sout | nl; 93 for ( s; (S){10,10} -~ (S){0} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl; 94 for ( s; (S){10,10} -~= (S){0} ) { sout | s; } else { sout | "else"; } sout | nl; 95 for ( s; (S){10,10} -~= (S){0} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl | nl; 96 97 for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl; 98 for ( i; 10 : j; -5 -~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl; 99 for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl; 100 for ( i; 10 : j; -5 -~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl; 101 102 for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl; 103 for ( j; -5 -~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl; 104 for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl; 105 for ( j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl; 106 107 for ( j; -5 -~ @ ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } else { sout | "else"; } sout | nl; 108 for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl; 109 for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl; 112 110 } -
tests/loopctrl.cfa
r4520b77e r12df6fe 10 10 // Created On : Wed Aug 8 18:32:59 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 11 23:04:35 202213 // Update Count : 1 6012 // Last Modified On : Thu Dec 12 17:55:26 2019 13 // Update Count : 108 14 14 // 15 15 16 16 #include <fstream.hfa> 17 18 void fred() {19 // Test all possible loop syntax.20 21 int s = 0, c = 10, i = 2;22 23 for ( c ) { sout | "A"; } sout | nl;24 for ( ~= c ) { sout | "B"; } sout | nl;25 for ( -~ c ) { sout | "C"; } sout | nl;26 for ( -~= c ) { sout | "D"; } sout | nl;27 28 for ( s ~ c ) { sout | "A"; } sout | nl;29 for ( s ~= c ) { sout | "B"; } sout | nl;30 for ( s -~ c ) { sout | "C"; } sout | nl;31 for ( s -~= c ) { sout | "D"; } sout | nl;32 33 for ( s ~ c ~ i ) { sout | "A"; } sout | nl;34 for ( s ~= c ~ i ) { sout | "B"; } sout | nl;35 for ( s -~ c ~ i ) { sout | "C"; } sout | nl;36 for ( s -~= c ~ i ) { sout | "D"; } sout | nl;37 38 for ( j; c ) { sout | j; } sout | nl;39 for ( j; ~= c ) { sout | j; } sout | nl;40 for ( j; -~ c ) { sout | j; } sout | nl;41 for ( j; -~= c ) { sout | j; } sout | nl;42 43 for ( j; s ~ c ) { sout | j; } sout | nl;44 for ( j; s ~= c ) { sout | j; } sout | nl;45 for ( j; s -~ c ) { sout | j; } sout | nl;46 for ( j; s -~= c ) { sout | j; } sout | nl;47 48 for ( j; s ~ c ~ i ) { sout | j; } sout | nl;49 for ( j; s ~= c ~ i ) { sout | j; } sout | nl;50 for ( j; s -~ c ~ i ) { sout | j; } sout | nl;51 for ( j; s -~= c ~ i ) { sout | j; } sout | nl;52 53 // CANNOT DIRECTLY INITIALIZE INDEX VARIABLE, ONLY SINGLE LOOP INDEX VARIABLE IN DECLARATION54 55 for ( j; c ) { sout | j; } sout | nl;56 for ( int j; c ) { sout | j; } sout | nl;57 for ( int j; ~= c ) { sout | j; } sout | nl;58 for ( int j; -~ c ) { sout | j; } sout | nl;59 for ( int j; -~= c ) { sout | j; } sout | nl;60 61 for ( int j; s ~ c ) { sout | j; } sout | nl;62 for ( int j; s ~= c ) { sout | j; } sout | nl;63 for ( int j; s -~ c ) { sout | j; } sout | nl;64 for ( int j; s -~= c ) { sout | j; } sout | nl;65 66 for ( int j; s ~ c ~ i ) { sout | j; } sout | nl;67 for ( int j; s ~= c ~ i ) { sout | j; } sout | nl;68 for ( int j; s -~ c ~ i ) { sout | j; } sout | nl;69 for ( int j; s -~= c ~ i ) { sout | j; } sout | nl;70 71 for ( j; s ~ @ ) { if ( j == 10 ) break; sout | j; } sout | nl;72 for ( j; @ -~ s ) { if ( j == -10 ) break; sout | j; } sout | nl;73 for ( j; s ~ @ ~ i ) { if ( j == 10 ) break; sout | j; } sout | nl;74 for ( j; @ -~ s ~ i ) { if ( j == -10 ) break; sout | j; } sout | nl;75 for ( j; s ~ @ ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; } sout | nl;76 77 for ( int j; s ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; } sout | nl;78 for ( int j; @ -~ s ) { if ( j == -10 ) break; sout | j; j -= 1; } sout | nl;79 for ( int j; s ~ @ ~ i ) { if ( j == 10 ) break; sout | j; } sout | nl;80 for ( int j; @ -~ s ~ i ) { if ( j == -10 ) break; sout | j; } sout | nl;81 for ( int j; s ~ @ ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; } sout | nl;82 83 // enum E { A, B, C, D };84 // for ( e; A ~= C ) { sout | j; }85 // for ( e; A ~= D ) { sout | j; }86 // for ( e; A -~= D ~ 2 ) { sout | j; }87 // for ( e; E ) { sout | j; }88 // for ( e; -~ E ) { sout | j; }89 }90 17 91 18 struct S { int i, j; }; … … 108 35 109 36 int main() { 110 // Test some loop options.111 112 37 sout | nlOff; // turn off auto newline 113 38 while () { sout | "empty"; break; } sout | nl; … … 118 43 for ( 1 ) { sout | "A"; } sout | nl; 119 44 for ( 10 ) { sout | "A"; } sout | nl; 120 for ( ~= 10 ) { sout | "A"; } sout | nl;45 for ( = 10 ) { sout | "A"; } sout | nl; 121 46 for ( 1 ~= 10 ~ 2 ) { sout | "B"; } sout | nl; 122 for ( 1 -~= 10~ 2 ) { sout | "C"; } sout | nl;47 for ( 10 -~= 1 ~ 2 ) { sout | "C"; } sout | nl; 123 48 for ( 0.5 ~ 5.5 ) { sout | "D"; } sout | nl; 124 for ( 0.5 -~ 5.5 ) { sout | "E"; } sout | nl | nl;49 for ( 5.5 -~ 0.5 ) { sout | "E"; } sout | nl | nl; 125 50 126 51 for ( i; 10 ) { sout | i; } sout | nl; 127 for ( i; ~= 10 ) { sout | i; } sout | nl;52 for ( i; = 10 ) { sout | i; } sout | nl; 128 53 for ( i; 1 ~= 10 ~ 2 ) { sout | i; } sout | nl; 129 for ( i; 1 -~= 10~ 2 ) { sout | i; } sout | nl;54 for ( i; 10 -~= 1 ~ 2 ) { sout | i; } sout | nl; 130 55 for ( i; 0.5 ~ 5.5 ) { sout | i; } sout | nl; 131 for ( i; 0.5 -~ 5.5 ) { sout | i; } sout | nl;56 for ( i; 5.5 -~ 0.5 ) { sout | i; } sout | nl; 132 57 for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } sout | nl; 133 for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } sout | nl | nl;58 for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; } sout | nl | nl; 134 59 135 60 // @ means do nothing … … 138 63 sout | i; 139 64 } sout | nl; 140 for ( i; @ -~ 10) {65 for ( i; 10 -~ @ ) { 141 66 if ( i < 0 ) break; 142 67 sout | i; … … 151 76 i += 1.7; 152 77 } sout | nl; 153 for ( i; @ -~ 10~ 2 ) {78 for ( i; 10 -~ @ ~ 2 ) { 154 79 if ( i < 0 ) break; 155 80 sout | i; … … 164 89 for ( N ) { sout | "N"; } sout | nl; 165 90 for ( i; N ) { sout | i; } sout | nl; 166 for ( i; ~= N ) { sout | i; } sout | nl;167 for ( i; -~= N) { sout | i; } sout | nl | nl;91 for ( i; = N ) { sout | i; } sout | nl; 92 for ( i; N -~ 0 ) { sout | i; } sout | nl | nl; 168 93 169 94 const int start = 3, comp = 10, inc = 2; 170 95 for ( i; start ~ comp ~ inc + 1 ) { sout | i; } sout | nl | nl; 171 172 for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } sout | nl;173 for ( i; 10 : j; @ -~ -5 ) { sout | i | j; } sout | nl;174 for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } sout | nl;175 for ( i; 10 : j; @ -~ -5 ~ 2 ) { sout | i | j; } sout | nl | nl;176 177 for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } sout | nl;178 for ( j; @ -~ -5 : i; 10 ) { sout | i | j; } sout | nl;179 for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl;180 for ( j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j; } sout | nl | nl;181 182 for ( j; @ -~ -5 ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } sout | nl;183 for ( j; @ -~ -5 ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl;184 for ( k; 1.5 ~ @ : j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl;185 96 186 97 for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } sout | nl; … … 192 103 for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl; 193 104 sout | nl; 194 for ( s; (S){ 0} -~ (S){10,10} ) { sout | s; } sout | nl;195 for ( s; (S){ 0} -~ (S){10,10} ~ (S){1} ) { sout | s; } sout | nl;196 for ( s; (S){ 0} -~= (S){10,10} ) { sout | s; } sout | nl;197 for ( s; (S){ 0} -~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl | nl;105 for ( s; (S){10,10} -~ (S){0} ) { sout | s; } sout | nl; 106 for ( s; (S){10,10} -~ (S){0} ~ (S){1} ) { sout | s; } sout | nl; 107 for ( s; (S){10,10} -~= (S){0} ) { sout | s; } sout | nl; 108 for ( s; (S){10,10} -~= (S){0} ~ (S){1} ) { sout | s; } sout | nl | nl; 198 109 199 fred(); 110 for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } sout | nl; 111 for ( i; 10 : j; -5 -~ @ ) { sout | i | j; } sout | nl; 112 for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } sout | nl; 113 for ( i; 10 : j; -5 -~ @ ~ 2 ) { sout | i | j; } sout | nl | nl; 114 115 for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } sout | nl; 116 for ( j; -5 -~ @ : i; 10 ) { sout | i | j; } sout | nl; 117 for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl; 118 for ( j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl | nl; 119 120 for ( j; -5 -~ @ ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } sout | nl; 121 for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl; 122 for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl; 200 123 } 201 124 -
tests/pybin/settings.py
r4520b77e r12df6fe 97 97 self.path = "debug" if value else "nodebug" 98 98 99 class AST: 100 def __init__(self, ast): 101 if ast == "new": 102 self.target = ast 103 self.string = "New AST" 104 self.flags = """AST_FLAGS=-XCFA,--new-ast""" 105 elif ast == "old": 106 self.target = ast 107 self.string = "Old AST" 108 self.flags = """AST_FLAGS=-XCFA,--old-ast""" 109 elif ast == None: 110 self.target = "new" if config.NEWAST else "old" 111 self.string = "Default AST (%s)" % self.target 112 self.flags = """AST_FLAGS=""" 113 else: 114 print("""ERROR: Invalid ast configuration, must be "old", "new" or left unspecified, was %s""" % (value), file=sys.stderr) 115 sys.exit(1) 116 117 def filter(self, tests): 118 119 return [test for test in tests if not test.astv or self.target == test.astv] 120 99 121 class Install: 100 122 def __init__(self, value): … … 119 141 120 142 def init( options ): 143 global all_ast 121 144 global all_arch 122 145 global all_debug 123 146 global all_install 147 global ast 124 148 global arch 125 149 global debug … … 136 160 global timeout2gdb 137 161 162 all_ast = [AST(o) for o in list(dict.fromkeys(options.ast ))] if options.ast else [AST(None)] 138 163 all_arch = [Architecture(o) for o in list(dict.fromkeys(options.arch ))] if options.arch else [Architecture(None)] 139 164 all_debug = [Debug(o) for o in list(dict.fromkeys(options.debug ))] -
tests/pybin/test_run.py
r4520b77e r12df6fe 11 11 self.path = '' 12 12 self.arch = '' 13 self.astv = '' 13 14 14 15 def toString(self): 15 return "{:25s} ({:5s} arch : {:s})".format( self.name, self.arch if self.archelse "Any", self.target() )16 return "{:25s} ({:5s} arch, {:s} ast: {:s})".format( self.name, self.arch if self.arch else "Any", self.astv if self.astv else "Any", self.target() ) 16 17 17 18 def prepare(self): … … 21 22 def expect(self): 22 23 arch = '' if not self.arch else ".%s" % self.arch 23 return os.path.normpath( os.path.join(settings.SRCDIR , self.path, ".expect", "%s%s.txt" % (self.name,arch)) ) 24 astv = '' if not self.astv else ".nast" if self.astv == "new" else ".oast" 25 return os.path.normpath( os.path.join(settings.SRCDIR , self.path, ".expect", "%s%s%s.txt" % (self.name,astv,arch)) ) 24 26 25 27 def error_log(self): … … 56 58 57 59 @staticmethod 58 def new_target(target, arch ):60 def new_target(target, arch, astv): 59 61 test = Test() 60 62 test.name = os.path.basename(target) 61 63 test.path = os.path.relpath (os.path.dirname(target), settings.SRCDIR) 62 64 test.arch = arch.target if arch else '' 65 test.astv = astv.target if astv else '' 63 66 return test 64 67 -
tests/pybin/tools.py
r4520b77e r12df6fe 182 182 '-s' if silent else None, 183 183 test_param, 184 settings.ast.flags, 184 185 settings.arch.flags, 185 186 settings.debug.flags, -
tests/quotedKeyword.cfa
r4520b77e r12df6fe 31 31 ``__int128, ``__label__, ``long, ``lvalue, ``_Noreturn, ``__builtin_offsetof, ``otype, ``register, ``restrict, 32 32 ``__restrict, ``__restrict__, ``return, ``short, ``signed, ``__signed, ``__signed__, ``sizeof, ``static, 33 ``_Static_assert, ``struct, ``switch, ``_ thread, ``_Thread_local, ``throw, ``throwResume, ``trait, ``try, ``typedef,33 ``_Static_assert, ``struct, ``switch, ``_Thread_local, ``throw, ``throwResume, ``trait, ``try, ``typedef, 34 34 ``typeof, ``__typeof, ``__typeof__, ``union, ``unsigned, ``__builtin_va_list, ``void, ``volatile, ``__volatile, 35 35 ``__volatile__, ``while; -
tests/test.py
r4520b77e r12df6fe 23 23 24 24 def match_test(path): 25 match = re.search("^%s\/([\w\/\-_]*).expect\/([\w\-_]+)(\. [\w\-_]+)?\.txt$" % settings.SRCDIR, path)25 match = re.search("^%s\/([\w\/\-_]*).expect\/([\w\-_]+)(\.nast|\.oast)?(\.[\w\-_]+)?\.txt$" % settings.SRCDIR, path) 26 26 if match : 27 27 test = Test() 28 28 test.name = match.group(2) 29 29 test.path = match.group(1) 30 test.arch = match.group(3)[1:] if match.group(3) else None 30 test.arch = match.group(4)[1:] if match.group(4) else None 31 32 astv = match.group(3)[1:] if match.group(3) else None 33 if astv == 'oast': 34 test.astv = 'old' 35 elif astv == 'nast': 36 test.astv = 'new' 37 elif astv: 38 print('ERROR: "%s", expect file has astv but it is not "nast" or "oast"' % testname, file=sys.stderr) 39 sys.exit(1) 31 40 32 41 expected.append(test) … … 72 81 # this is a valid name, let's check if it already exists 73 82 found = [test for test in all_tests if canonical_path( test.target() ) == testname] 74 setup = itertools.product(settings.all_arch if options.arch else [None] )83 setup = itertools.product(settings.all_arch if options.arch else [None], settings.all_ast if options.ast else [None]) 75 84 if not found: 76 # it's a new name, create it according to the name and specified architecture 77 tests.extend( [Test.new_target(testname, arch ) for archin setup] )85 # it's a new name, create it according to the name and specified architecture/ast version 86 tests.extend( [Test.new_target(testname, arch, ast) for arch, ast in setup] ) 78 87 elif len(found) == 1 and not found[0].arch: 79 88 # we found a single test, the user better be wanting to create a cross platform test 80 89 if options.arch: 81 90 print('ERROR: "%s", test has no specified architecture but --arch was specified, ignoring it' % testname, file=sys.stderr) 91 elif options.ast: 92 print('ERROR: "%s", test has no specified ast version but --ast was specified, ignoring it' % testname, file=sys.stderr) 82 93 else: 83 94 tests.append( found[0] ) 84 95 else: 85 96 # this test is already cross platform, just add a test for each platform the user asked 86 tests.extend( [Test.new_target(testname, arch ) for archin setup] )97 tests.extend( [Test.new_target(testname, arch, ast) for arch, ast in setup] ) 87 98 88 99 # print a warning if it users didn't ask for a specific architecture … … 91 102 print('WARNING: "%s", test has architecture specific expected files but --arch was not specified, regenerating only for current host' % testname, file=sys.stderr) 92 103 104 105 # print a warning if it users didn't ask for a specific ast version 106 found_astv = [f.astv for f in found if f.astv] 107 if found_astv and not options.ast: 108 print('WARNING: "%s", test has ast version specific expected files but --ast was not specified, regenerating only for current ast' % testname, file=sys.stderr) 109 93 110 else : 94 111 print('ERROR: "%s", tests are not allowed to end with a C/C++/CFA extension, ignoring it' % testname, file=sys.stderr) … … 110 127 # create a parser with the arguments for the tests script 111 128 parser = argparse.ArgumentParser(description='Script which runs cforall tests') 129 parser.add_argument('--ast', help='Test for specific ast', type=comma_separated(str), default=None) 112 130 parser.add_argument('--arch', help='Test for specific architecture', type=comma_separated(str), default=None) 113 131 parser.add_argument('--debug', help='Run all tests in debug or release', type=comma_separated(yes_no), default='yes') … … 333 351 334 352 # print the possible options 335 print("-h --help --debug --dry-run --list --a rch --all --regenerate-expected --archive-errors --install --timeout --global-timeout --timeout-with-gdb -j --jobs -I --include -E --exclude --continue ", end='')353 print("-h --help --debug --dry-run --list --ast=new --ast=old --arch --all --regenerate-expected --archive-errors --install --timeout --global-timeout --timeout-with-gdb -j --jobs -I --include -E --exclude --continue ", end='') 336 354 print(" ".join(map(lambda t: "%s" % (t.target()), tests))) 337 355 … … 404 422 # for each build configurations, run the test 405 423 with Timed() as total_dur: 406 for arch, debug, install in itertools.product(settings.all_arch, settings.all_debug, settings.all_install): 424 for ast, arch, debug, install in itertools.product(settings.all_ast, settings.all_arch, settings.all_debug, settings.all_install): 425 settings.ast = ast 407 426 settings.arch = arch 408 427 settings.debug = debug … … 411 430 # filter out the tests for a different architecture 412 431 # tests are the same across debug/install 413 local_tests = settings.arch.filter( tests ) 432 local_tests = settings.ast.filter( tests ) 433 local_tests = settings.arch.filter( local_tests ) 414 434 415 435 # check the build configuration works … … 418 438 419 439 # print configuration 420 print('%s %i tests on %i cores (%s - %s)' % (440 print('%s %i tests on %i cores (%s:%s - %s)' % ( 421 441 'Regenerating' if settings.generating else 'Running', 422 442 len(local_tests), 423 443 jobs, 444 settings.ast.string, 424 445 settings.arch.string, 425 446 settings.debug.string
Note:
See TracChangeset
for help on using the changeset viewer.