Changeset 71cf630
- Timestamp:
- Aug 16, 2022, 4:04:47 PM (3 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation
- Children:
- aec2c022
- Parents:
- 741e22c (diff), 17c6edeb (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Files:
-
- 8 added
- 54 edited
-
benchmark/io/http/main.cfa (modified) (1 diff)
-
benchmark/io/http/printer.cfa (modified) (4 diffs)
-
benchmark/io/http/printer.hfa (modified) (1 diff)
-
benchmark/io/http/protocol.cfa (modified) (7 diffs)
-
benchmark/io/http/protocol.hfa (modified) (1 diff)
-
benchmark/io/http/socket.cfa (modified) (2 diffs)
-
benchmark/io/http/worker.cfa (modified) (11 diffs)
-
benchmark/io/http/worker.hfa (modified) (1 diff)
-
benchmark/plot.py (modified) (9 diffs)
-
benchmark/process-trun.py (modified) (1 diff)
-
doc/bibliography/pl.bib (modified) (2 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/Makefile (modified) (8 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 (added)
-
doc/theses/thierry_delisle_PhD/thesis/data/churn.nasus (added)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.noshare.jax (added)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.noshare.nasus (added)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.share.jax (added)
-
doc/theses/thierry_delisle_PhD/thesis/data/locality.share.nasus (added)
-
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 (modified) (1 diff)
-
doc/theses/thierry_delisle_PhD/thesis/data/swbsrv.25gb.cfa.bak (added)
-
doc/theses/thierry_delisle_PhD/thesis/local.bib (modified) (5 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/conclusion.tex (added)
-
doc/theses/thierry_delisle_PhD/thesis/text/core.tex (modified) (6 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/eval_macro.tex (modified) (6 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/eval_micro.tex (modified) (20 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/existing.tex (modified) (6 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/front.tex (modified) (3 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/intro.tex (modified) (5 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/io.tex (modified) (4 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/practice.tex (modified) (4 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/text/runtime.tex (modified) (2 diffs)
-
doc/theses/thierry_delisle_PhD/thesis/thesis.tex (modified) (2 diffs)
-
libcfa/src/concurrency/io.cfa (modified) (20 diffs)
-
libcfa/src/concurrency/io/call.cfa.in (modified) (2 diffs)
-
libcfa/src/concurrency/io/setup.cfa (modified) (10 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) (4 diffs)
-
libcfa/src/concurrency/kernel/cluster.cfa (modified) (1 diff)
-
libcfa/src/concurrency/kernel/private.hfa (modified) (1 diff)
-
src/Common/Eval.cc (modified) (2 diffs)
-
src/Common/ScopedMap.h (modified) (24 diffs)
-
src/Parser/DeclarationNode.cc (modified) (6 diffs)
-
src/Parser/TypeData.cc (modified) (4 diffs)
-
src/Parser/TypeData.h (modified) (2 diffs)
-
src/Parser/TypedefTable.cc (modified) (5 diffs)
-
src/Parser/parser.yy (modified) (9 diffs)
-
src/Tuples/TupleExpansionNew.cpp (modified) (6 diffs)
-
src/Virtual/ExpandCasts.cc (modified) (6 diffs)
-
src/Virtual/ExpandCasts.h (modified) (2 diffs)
-
src/main.cc (modified) (3 diffs)
-
tests/.expect/loop_else.txt (modified) (2 diffs)
-
tests/.expect/loopctrl.txt (modified) (2 diffs)
-
tests/heap.cfa (modified) (14 diffs)
-
tests/io/away_fair.cfa (modified) (1 diff)
-
tests/loop_else.cfa (modified) (5 diffs)
-
tests/loopctrl.cfa (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
benchmark/io/http/main.cfa
r741e22c r71cf630 163 163 { 164 164 int pipe_cnt = options.clopts.nworkers * 2; 165 // int pipe_cnt = 0; 165 166 int pipe_off; 166 167 int * fds; -
benchmark/io/http/printer.cfa
r741e22c r71cf630 2 2 #include "options.hfa" 3 3 4 #include <clock.hfa> 4 5 #include <fstream.hfa> 5 6 #include <stats.hfa> … … 22 23 to.maxfd = max( to.maxfd, from.maxfd); 23 24 to.close += from.close; from.close = 0; 25 to.error += from.error; from.error = 0; 24 26 to.calls += from.calls; from.calls = 0; 27 to.eagain += from.eagain; from.eagain = 0; 25 28 to.tries += from.tries; from.tries = 0; 26 29 to.header += from.header; from.header = 0; … … 80 83 uint64_t accp_open = this.stats.accpt.accepts; 81 84 uint64_t accp_clse = this.stats.send.close; 85 uint64_t accp_errs = this.stats.send.error; 82 86 uint64_t accp_live = accp_open - accp_clse; 83 87 88 sout | "-----" | time() | "-----"; 84 89 sout | "----- Acceptor Stats -----"; 85 sout | "accepts : " | eng3(accp_open) |"opened," | eng3(accp_clse) |"closed," | eng3(accp_live) |"live ";90 sout | "accepts : " | eng3(accp_open) |"opened," | eng3(accp_clse) |"closed," | eng3(accp_live) |"live," | eng3(accp_errs) |"errors"; 86 91 sout | "accept : " | eng3(this.stats.accpt.accepts) | "calls," | eng3(this.stats.accpt.eagains) | "eagains," | eng3(this.stats.accpt.creates) | " thrds"; 87 92 sout | nl; … … 89 94 sout | "----- Connection Stats -----"; 90 95 sout | "max fd : " | this.stats.send.maxfd; 91 sout | "sendfile : " | eng3(calls) | "calls," | eng3(tries) | "tries (" | ratio | " try/call) ";96 sout | "sendfile : " | eng3(calls) | "calls," | eng3(tries) | "tries (" | ratio | " try/call)," | eng3(this.stats.send.eagain) | "eagains"; 92 97 sout | " " | eng3(header) | "header," | eng3(splcin) | "splice in," | eng3(splcot) | "splice out"; 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 }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 // } 98 103 } 99 104 -
benchmark/io/http/printer.hfa
r741e22c r71cf630 12 12 volatile uint64_t maxfd; 13 13 volatile uint64_t close; 14 volatile uint64_t error; 14 15 volatile uint64_t calls; 16 volatile uint64_t eagain; 15 17 volatile uint64_t tries; 16 18 volatile uint64_t header; -
benchmark/io/http/protocol.cfa
r741e22c r71cf630 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); 20 21 // #include <linux/io_uring.h> 21 22 } … … 30 31 #define PLAINTEXT_NOCOPY 31 32 // #define LINKED_IO 33 #define TRUE_SENDFILE 32 34 33 35 static inline __s32 wait_res( io_future_t & this ) { … … 71 73 int ret = cfa_send(fd, it, len, 0, CFA_IO_LAZY); 72 74 if( ret < 0 ) { 73 if( errno == ECONNRESET || errno == EPIPE ) { close(fd); return -ECONNRESET; } 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 } 74 80 75 81 abort( "'answer error' error: (%d) %s\n", (int)errno, strerror(errno) ); … … 83 89 } 84 90 85 int answer_error( int fd, HttpCode code ) {86 /* paranoid */ assert( code < KNOWN_CODES && code != OK200 );87 int idx = (int)code;88 return answer( fd, http_msgs[idx]->msg, http_msgs[idx]->len );89 }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 // } 90 96 91 97 static int fill_header(char * it, size_t size) { … … 103 109 } 104 110 105 #if defined(PLAINTEXT_NOCOPY)106 int answer_plaintext( int fd ) {107 return answer(fd, http_msgs[OK200_PlainText]->msg, http_msgs[OK200_PlainText]->len); // +1 cause snprintf doesn't count nullterminator108 }109 #elif defined(PLAINTEXT_MEMCPY)110 #define TEXTSIZE 15111 int answer_plaintext( int fd ) {112 char text[] = "Hello, World!\n\n";113 char ts[] = xstr(TEXTSIZE) " \n\n";114 _Static_assert(sizeof(text) - 1 == TEXTSIZE);115 char buffer[512 + TEXTSIZE];116 char * it = buffer;117 memcpy(it, http_msgs[OK200]->msg, http_msgs[OK200]->len);118 it += http_msgs[OK200]->len;119 int len = http_msgs[OK200]->len;120 memcpy(it, ts, sizeof(ts) - 1);121 it += sizeof(ts) - 1;122 len += sizeof(ts) - 1;123 memcpy(it, text, TEXTSIZE);124 return answer(fd, buffer, len + TEXTSIZE);125 }126 #elif defined(PLAINTEXT_1WRITE)127 int answer_plaintext( int fd ) {128 char text[] = "Hello, World!\n\n";129 char buffer[512 + sizeof(text)];130 char * it = buffer;131 memcpy(it, http_msgs[OK200]->msg, http_msgs[OK200]->len);132 it += http_msgs[OK200]->len;133 int len = http_msgs[OK200]->len;134 int r = snprintf(it, 512 - len, "%d \n\n", sizeof(text));135 it += r;136 len += r;137 memcpy(it, text, sizeof(text));138 return answer(fd, buffer, len + sizeof(text));139 }140 #else141 int answer_plaintext( int fd ) {142 char text[] = "Hello, World!\n\n";143 int ret = answer_header(fd, sizeof(text));144 if( ret < 0 ) return ret;145 return answer(fd, text, sizeof(text));146 }147 #endif148 149 int answer_empty( int fd ) {150 return answer_header(fd, 0);151 }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 // } 152 158 153 159 static int sendfile( int pipe[2], int fd, int ans_fd, size_t count, sendfile_stats_t & stats ) { … … 161 167 if(zipf_idx < 0) mutex(serr) serr | "SENDFILE" | count | " greated than biggest zipf file"; 162 168 163 164 unsigned sflags = SPLICE_F_MOVE; // | SPLICE_F_MORE; 165 off_t offset = 0; 166 ssize_t ret; 167 SPLICE1: while(count > 0) { 168 stats.tries++; 169 // ret = cfa_splice(ans_fd, &offset, pipe[1], 0p, count, sflags, CFA_IO_LAZY); 170 ret = splice(ans_fd, &offset, pipe[1], 0p, count, sflags); 171 if( ret <= 0 ) { 172 if( errno == ECONNRESET ) return -ECONNRESET; 173 if( errno == EPIPE ) return -EPIPE; 174 abort( "splice [0] error: %d (%d) %s\n", ret, (int)errno, strerror(errno) ); 175 } 176 count -= ret; 177 stats.splcin++; 178 if(count > 0) stats.avgrd[zipf_idx].calls++; 179 stats.avgrd[zipf_idx].bytes += ret; 180 181 size_t in_pipe = ret; 182 SPLICE2: while(in_pipe > 0) { 183 // ret = cfa_splice(pipe[0], 0p, fd, 0p, in_pipe, sflags, CFA_IO_LAZY); 184 ret = splice(pipe[0], 0p, fd, 0p, in_pipe, sflags); 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); 185 179 if( ret <= 0 ) { 186 if( errno == ECONNRESET ) return -ECONNRESET; 187 if( errno == EPIPE ) return -EPIPE; 188 abort( "splice [1] error: %d (%d) %s\n", ret, (int)errno, strerror(errno) ); 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) ); 189 191 } 190 stats.splcot++; 191 in_pipe -= ret; 192 } 193 194 } 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 195 241 return count; 196 242 } 197 243 198 enum FSM_STATE {199 Initial,200 Retry,201 Error,202 Done,203 };204 205 struct FSM_Result {206 FSM_STATE state;207 int error;208 };209 210 static inline void ?{}(FSM_Result & this) { this.state = Initial; this.error = 0; }211 static inline bool is_error(FSM_Result & this) { return Error == this.state; }212 static inline bool is_done(FSM_Result & this) { return Done == this.state; }213 214 static inline int error(FSM_Result & this, int error) {215 this.error = error;216 this.state = Error;217 return error;218 }219 220 static inline int done(FSM_Result & this) {221 this.state = Done;222 return 0;223 }224 225 static inline int retry(FSM_Result & this) {226 this.state = Retry;227 return 0;228 }229 230 static inline int need(FSM_Result & this) {231 switch(this.state) {232 case Initial:233 case Retry:234 return 1;235 case Error:236 if(this.error == 0) mutex(serr) serr | "State marked error but code is 0";237 case Done:238 return 0;239 }240 }241 242 // Generator that handles sending the header243 generator header_g {244 io_future_t f;245 const char * next;246 int fd; size_t len;247 FSM_Result res;248 };249 250 static inline void ?{}(header_g & this, int fd, const char * it, size_t len ) {251 this.next = it;252 this.fd = fd;253 this.len = len;254 }255 256 static inline void fill(header_g & this, struct io_uring_sqe * sqe) {257 zero_sqe(sqe);258 sqe->opcode = IORING_OP_SEND;259 sqe->user_data = (uintptr_t)&this.f;260 sqe->flags = IOSQE_IO_LINK;261 sqe->fd = this.fd;262 sqe->addr = (uintptr_t)this.next;263 sqe->len = this.len;264 }265 266 static inline int error(header_g & this, int error) {267 int ret = close(this.fd);268 if( ret != 0 ) {269 mutex(serr) serr | "Failed to close fd" | errno;270 }271 return error(this.res, error);272 }273 274 static inline int wait_and_process(header_g & this, sendfile_stats_t & stats) {275 wait(this.f);276 277 // Did something crazy happen?278 if(this.f.result > this.len) {279 mutex(serr) serr | "HEADER sent too much!";280 return error(this, -ERANGE);281 }282 283 // Something failed?284 if(this.f.result < 0) {285 int error = -this.f.result;286 if( error == ECONNRESET ) return error(this, -ECONNRESET);287 if( error == EPIPE ) return error(this, -EPIPE);288 if( error == ECANCELED ) {289 mutex(serr) serr | "HEADER was cancelled, WTF!";290 return error(this, -ECONNRESET);291 }292 if( error == EAGAIN || error == EWOULDBLOCK) {293 mutex(serr) serr | "HEADER got eagain, WTF!";294 return error(this, -ECONNRESET);295 }296 }297 298 // Done?299 if(this.f.result == this.len) {300 return done(this.res);301 }302 303 stats.header++;304 305 // It must be a Short read306 this.len -= this.f.result;307 this.next += this.f.result;308 reset(this.f);309 return retry(this.res);310 }311 312 // Generator that handles splicing in a file313 struct splice_in_t {314 io_future_t f;315 int fd; int pipe; size_t len; off_t off;316 short zipf_idx;317 FSM_Result res;318 };319 320 static inline void ?{}(splice_in_t & this, int fd, int pipe, size_t len) {321 this.fd = fd;322 this.pipe = pipe;323 this.len = len;324 this.off = 0;325 this.zipf_idx = -1;326 STATS: for(i; zipf_cnts) {327 if(len <= zipf_sizes[i]) {328 this.zipf_idx = i;329 break STATS;330 }331 }332 if(this.zipf_idx < 0) mutex(serr) serr | "SPLICE IN" | len | " greated than biggest zipf file";333 }334 335 static inline void fill(splice_in_t & this, struct io_uring_sqe * sqe) {336 zero_sqe(sqe);337 sqe->opcode = IORING_OP_SPLICE;338 sqe->user_data = (uintptr_t)&this.f;339 sqe->flags = 0;340 sqe->splice_fd_in = this.fd;341 sqe->splice_off_in = this.off;342 sqe->fd = this.pipe;343 sqe->off = (__u64)-1;344 sqe->len = this.len;345 sqe->splice_flags = SPLICE_F_MOVE;346 }347 348 static inline int wait_and_process(splice_in_t & this, sendfile_stats_t & stats ) {349 wait(this.f);350 351 // Something failed?352 if(this.f.result < 0) {353 int error = -this.f.result;354 if( error == ECONNRESET ) return error(this.res, -ECONNRESET);355 if( error == EPIPE ) return error(this.res, -EPIPE);356 if( error == ECANCELED ) {357 mutex(serr) serr | "SPLICE IN was cancelled, WTF!";358 return error(this.res, -ECONNRESET);359 }360 if( error == EAGAIN || error == EWOULDBLOCK) {361 mutex(serr) serr | "SPLICE IN got eagain, WTF!";362 return error(this.res, -ECONNRESET);363 }364 mutex(serr) serr | "SPLICE IN got" | error | ", WTF!";365 return error(this.res, -ECONNRESET);366 }367 368 // Did something crazy happen?369 if(this.f.result > this.len) {370 mutex(serr) serr | "SPLICE IN spliced too much!";371 return error(this.res, -ERANGE);372 }373 374 // Done?375 if(this.f.result == this.len) {376 return done(this.res);377 }378 379 stats.splcin++;380 stats.avgrd[this.zipf_idx].calls++;381 stats.avgrd[this.zipf_idx].bytes += this.f.result;382 383 // It must be a Short read384 this.len -= this.f.result;385 this.off += this.f.result;386 reset(this.f);387 return retry(this.res);388 }389 390 generator splice_out_g {391 io_future_t f;392 int pipe; int fd; size_t len;393 FSM_Result res;394 };395 396 static inline void ?{}(splice_out_g & this, int pipe, int fd, size_t len) {397 this.pipe = pipe;398 this.fd = fd;399 this.len = len;400 }401 402 static inline void fill(splice_out_g & this, struct io_uring_sqe * sqe) {403 zero_sqe(sqe);404 sqe->opcode = IORING_OP_SPLICE;405 sqe->user_data = (uintptr_t)&this.f;406 sqe->flags = 0;407 sqe->splice_fd_in = this.pipe;408 sqe->splice_off_in = (__u64)-1;409 sqe->fd = this.fd;410 sqe->off = (__u64)-1;411 sqe->len = this.len;412 sqe->splice_flags = SPLICE_F_MOVE;413 }414 415 static inline int error(splice_out_g & this, int error) {416 int ret = close(this.fd);417 if( ret != 0 ) {418 mutex(serr) serr | "Failed to close fd" | errno;419 }420 return error(this.res, error);421 }422 423 static inline void wait_and_process(splice_out_g & this, sendfile_stats_t & stats ) {424 wait(this.f);425 426 // Something failed?427 if(this.f.result < 0) {428 int error = -this.f.result;429 if( error == ECONNRESET ) return error(this, -ECONNRESET);430 if( error == EPIPE ) return error(this, -EPIPE);431 if( error == ECANCELED ) {432 this.f.result = 0;433 goto SHORT_WRITE;434 }435 if( error == EAGAIN || error == EWOULDBLOCK) {436 mutex(serr) serr | "SPLICE OUT got eagain, WTF!";437 return error(this, -ECONNRESET);438 }439 mutex(serr) serr | "SPLICE OUT got" | error | ", WTF!";440 return error(this, -ECONNRESET);441 }442 443 // Did something crazy happen?444 if(this.f.result > this.len) {445 mutex(serr) serr | "SPLICE OUT spliced too much!" | this.f.result | ">" | this.len;446 return error(this.res, -ERANGE);447 }448 449 // Done?450 if(this.f.result == this.len) {451 return done(this.res);452 }453 454 SHORT_WRITE:455 stats.splcot++;456 457 // It must be a Short Write458 this.len -= this.f.result;459 reset(this.f);460 return retry(this.res);461 }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 // } 462 508 463 509 int answer_sendfile( int pipe[2], int fd, int ans_fd, size_t fsize, sendfile_stats_t & stats ) { 464 510 stats.calls++; 465 511 #if defined(LINKED_IO) 466 char buffer[512]; 467 int len = fill_header(buffer, fsize); 468 header_g header = { fd, buffer, len }; 469 splice_in_t splice_in = { ans_fd, pipe[1], fsize }; 470 splice_out_g splice_out = { pipe[0], fd, fsize }; 471 472 RETRY_LOOP: for() { 473 stats.tries++; 474 int have = need(header.res) + need(splice_in.res) + 1; 475 int idx = 0; 476 struct io_uring_sqe * sqes[3]; 477 __u32 idxs[3]; 478 struct $io_context * ctx = cfa_io_allocate(sqes, idxs, have); 479 480 if(need(splice_in.res)) { fill(splice_in, sqes[idx++]); } 481 if(need( header.res)) { fill(header , sqes[idx++]); } 482 fill(splice_out, sqes[idx]); 483 484 // Submit everything 485 asm volatile("": : :"memory"); 486 cfa_io_submit( ctx, idxs, have, false ); 487 488 // wait for the results 489 // Always wait for splice-in to complete as 490 // we may need to kill the connection if it fails 491 // If it already completed, this is a no-op 492 wait_and_process(splice_in, stats); 493 494 if(is_error(splice_in.res)) { 495 if(splice_in.res.error == -EPIPE) return -ECONNRESET; 496 mutex(serr) serr | "SPLICE IN failed with" | splice_in.res.error; 497 close(fd); 498 } 499 500 // Process the other 2 501 wait_and_process(header, stats); 502 wait_and_process(splice_out, stats); 503 504 if(is_done(splice_out.res)) { 505 break RETRY_LOOP; 506 } 507 508 // We need to wait for the completion if 509 // - both completed 510 // - the header failed 511 // - 512 513 if( is_error(header.res) 514 || is_error(splice_in.res) 515 || is_error(splice_out.res)) { 516 return -ECONNRESET; 517 } 518 } 519 520 return len + fsize; 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; 521 568 #else 522 569 int ret = answer_header(fd, fsize); 523 if( ret < 0 ) { close(fd);return ret; }570 if( ret < 0 ) { return ret; } 524 571 return sendfile(pipe, fd, ans_fd, fsize, stats); 525 572 #endif … … 541 588 } 542 589 // int ret = read(fd, (void*)it, count); 543 if(ret == 0 ) { close(fd); return [OK200, true, 0, 0]; } 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 } 544 595 if(ret < 0 ) { 545 if( errno == ECONNRESET ) { close(fd); return [E408, true, 0, 0]; } 546 if( errno == EPIPE ) { close(fd); return [E408, true, 0, 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 } 547 601 abort( "read error: (%d) %s\n", (int)errno, strerror(errno) ); 548 602 } -
benchmark/io/http/protocol.hfa
r741e22c r71cf630 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
r741e22c r71cf630 8 8 #include <sys/socket.h> 9 9 #include <netinet/in.h> 10 #include <netinet/tcp.h> 10 11 } 11 12 … … 33 34 } 34 35 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 35 44 if(options.socket.reuseport) { 36 int value = 1;37 45 // if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const void*)&on, sizeof(on))) 38 46 // abort( "setsockopt SO_REUSEADDR error: (%d) %s\n", (int)errno, strerror(errno) ); 39 if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, & value, sizeof(int)) < 0)47 if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, &on, sizeof(on)) < 0) 40 48 abort( "setsockopt SO_REUSEPORT error: (%d) %s\n", (int)errno, strerror(errno) ); 41 49 } -
benchmark/io/http/worker.cfa
r741e22c r71cf630 14 14 #include "filecache.hfa" 15 15 16 static const unsigned long long period = 5 0_000_000;16 static const unsigned long long period = 5_000_000; 17 17 18 18 //============================================================================================= … … 33 33 34 34 // if we are done, break out of the loop 35 if( closed ) break REQUEST; 35 if( closed ) { 36 if( code != OK200 ) this.stats.sendfile.error++; 37 break REQUEST; 38 } 36 39 37 40 // If this wasn't a request retrun 400 38 41 if( code != OK200 ) { 39 sout | "=== Invalid Request :" | code_val(code) | "===";40 answer_error(fd, code);41 continue REQUEST;42 } 43 44 if(0 == strncmp(file, "plaintext", min(name_size, sizeof("plaintext") ))) {45 if( options.log ) mutex(sout) sout | "=== Request for /plaintext ===";46 47 int ret = answer_plaintext(fd);48 if( ret == -ECONNRESET ) break REQUEST;49 50 if( options.log ) mutex(sout) sout | "=== Answer sent ===";51 continue REQUEST;52 }53 54 if(0 == strncmp(file, "ping", min(name_size, sizeof("ping") ))) {55 if( options.log ) mutex(sout) sout | "=== Request for /ping ===";56 57 // Send the header58 int ret = answer_empty(fd);59 if( ret == -ECONNRESET ) break REQUEST;60 61 if( options.log ) mutex(sout) sout | "=== Answer sent ===";62 continue REQUEST;63 }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 header 61 // 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 // } 64 67 65 68 if( options.log ) { … … 70 73 71 74 if( !options.file_cache.path ) { 72 if( options.log ) { 73 sout | "=== File Not Found (" | nonl; 74 write(sout, file, name_size); 75 sout | ") ==="; 76 } 77 answer_error(fd, E405); 78 continue REQUEST; 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; 79 83 } 80 84 … … 86 90 // If we can't find the file, return 404 87 91 if( ans_fd < 0 ) { 88 if( options.log ) { 89 sout | "=== File Not Found (" | nonl; 90 write(sout, file, name_size); 91 sout | ") ==="; 92 } 93 answer_error(fd, E404); 94 continue REQUEST; 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; 95 100 } 96 101 … … 98 103 int ret = answer_sendfile( this.pipe, fd, ans_fd, count, this.stats.sendfile ); 99 104 if(ret < 0) { 100 if( ret == -ECONNABORTED ) break REQUEST; 101 if( ret == -ECONNRESET ) break REQUEST; 102 if( ret == -EPIPE ) break REQUEST; 103 abort( "sendfile error: %d (%d) %s\n", ret, (int)errno, strerror(errno) ); 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) ); 104 110 } 105 111 … … 107 113 } 108 114 115 this.stats.sendfile.close++; 116 109 117 if (stats_thrd) { 110 unsigned long long next = rdtscl();111 if(next > (last + period)) {118 // unsigned long long next = rdtscl(); 119 // if(next > (last + period)) { 112 120 if(try_lock(stats_thrd->stats.lock __cfaabi_dbg_ctx2)) { 113 121 push(this.stats.sendfile, stats_thrd->stats.send); 114 122 unlock(stats_thrd->stats.lock); 115 last = next;116 } 117 }123 // last = next; 124 } 125 // } 118 126 } 119 127 } … … 144 152 if(this.done) break; 145 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 146 160 if( options.log ) mutex(sout) sout | "=== New connection" | fd | "" | ", waiting for requests ==="; 147 161 size_t len = options.socket.buflen; … … 149 163 handle_connection( this.conn, fd, buffer, len, 0p, last ); 150 164 this.conn.stats.sendfile.maxfd = max(this.conn.stats.sendfile.maxfd, fd); 151 this.conn.stats.sendfile.close++;152 165 153 166 if( options.log ) mutex(sout) sout | "=== Connection closed ==="; … … 172 185 /* paranoid */ assert( this.conn.pipe[1] != -1 ); 173 186 this.conn.stats.sendfile.maxfd = max(this.conn.pipe[0], this.conn.pipe[1]); 187 // this.conn.stats.sendfile.maxfd = 0; 174 188 for() { 175 189 size_t len = options.socket.buflen; … … 220 234 p = pop(*this.queue); 221 235 if(p) break; 236 // abort( "Too few threads" ); 222 237 yield(); 223 238 this.stats.creates++; … … 288 303 289 304 if (stats_thrd) { 290 unsigned long long next = rdtscl();291 if(next > (last + period)) {305 // unsigned long long next = rdtscl(); 306 // if(next > (last + period)) { 292 307 if(try_lock(stats_thrd->stats.lock)) { 293 308 push(this.stats, stats_thrd->stats.accpt); 294 309 unlock(stats_thrd->stats.lock); 295 last = next;310 // last = next; 296 311 } 297 }312 // } 298 313 } 299 314 -
benchmark/io/http/worker.hfa
r741e22c r71cf630 34 34 int flags; 35 35 volatile bool done; 36 acceptor_stats_t stats; 36 37 }; 37 38 void ?{}( AcceptWorker & this); -
benchmark/plot.py
r741e22c r71cf630 18 18 import statistics 19 19 import sys 20 20 import time 21 22 import matplotlib 21 23 import matplotlib.pyplot as plt 22 from matplotlib.ticker import EngFormatter 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" 23 33 24 34 class Field: … … 32 42 field_names = { 33 43 "ns per ops" : Field('ns' , 0, False), 34 "Number of processors" : Field('' , 1, False),44 "Number of processors" : Field('' , 1, "exact"), 35 45 "Ops per procs" : Field('Ops' , 0, False), 36 46 "Ops per threads" : Field('Ops' , 0, False), 37 "ns per ops/procs" : Field('' , 0, False, _name = " Latency (ns $/$ (Processor $\\times$ Operation))" ),47 "ns per ops/procs" : Field('' , 0, False, _name = "ns $\\times$ (Processor $/$ Total Ops)" ), 38 48 "Number of threads" : Field('' , 1, False), 39 49 "Total Operations(ops)" : Field('Ops' , 0, False), … … 45 55 "Target QPS" : Field('' , 0, False), 46 56 "Actual QPS" : Field('' , 0, False), 47 "Average Read Latency" : Field('s' , 0, True, _factor = 0.000001),57 "Average Read Latency" : Field('s' , 0, False, _factor = 0.000001), 48 58 "Median Read Latency" : Field('s' , 0, True, _factor = 0.000001), 49 59 "Tail Read Latency" : Field('s' , 0, True, _factor = 0.000001), … … 51 61 "Median Update Latency" : Field('s' , 0, True, _factor = 0.000001), 52 62 "Tail Update Latency" : Field('s' , 0, True, _factor = 0.000001), 53 "Update Ratio" : Field(' \%', 0, False),63 "Update Ratio" : Field('%' , 0, False), 54 64 "Request Rate" : Field('req/s' , 0, False), 55 65 "Data Rate" : Field('b/s' , 0, False, _factor = 1000 * 1000, _name = "Response Throughput"), 66 "Errors" : Field('%' , 0, False), 56 67 } 57 68 … … 66 77 for entry in in_data: 67 78 name = entry[0] 79 if options.filter and not name.startswith(options.filter): 80 continue 81 68 82 if not name in series: 69 83 series[name] = {'x':[], 'y':[]} … … 123 137 elif field_names[x].log: 124 138 ax.set_xscale('log') 139 if field_names[x].log == "exact": 140 xvals = set() 141 for s in series.values(): 142 xvals |= set(s['x']) 143 ax.set_xticks(sorted(xvals)) 144 ax.get_xaxis().set_major_formatter(ScalarFormatter()) 145 plt.xticks(rotation = 45) 125 146 else: 126 147 plt.xlim(field_names[x].min, mx + 0.25) … … 138 159 139 160 print("Results Ready") 161 start = time.time() 140 162 if options.out: 141 163 plt.savefig(options.out, bbox_inches='tight') 142 164 else: 143 165 plt.show() 166 end = time.time() 167 print("Took {}".format(fmtDur(end - start))) 144 168 145 169 … … 155 179 parser.add_argument('--logy', action='store_true', help="if set, makes the y-axis logscale") 156 180 parser.add_argument('--MaxY', nargs='?', type=int, help="maximum value of the y-axis") 181 parser.add_argument('--filter', nargs='?', type=str, default="", help="if not empty, only print series that start with specified filter") 157 182 158 183 options = parser.parse_args() 184 185 # if not options.out: 186 # matplotlib.use('SVG') 159 187 160 188 # ================================================================================ … … 178 206 fields.add(label) 179 207 180 # find the common prefix on series for removal 208 # filter out the series if needed 209 if options.filter: 210 series = set(filter(lambda elem: elem.startswith(options.filter), series)) 211 212 # find the common prefix on series for removal (only if no filter) 181 213 prefix = os.path.commonprefix(list(series)) 182 214 -
benchmark/process-trun.py
r741e22c r71cf630 65 65 'ActRateC': float(vals[16]), 66 66 'ActRate': float(vals[17]), 67 'Err Rate':float(vals[18]),67 'Error Rate': float(vals[18]), 68 68 'SamplesT': float(vals[19]), 69 69 'SamplesR': float(vals[20]) -
doc/bibliography/pl.bib
r741e22c r71cf630 7837 7837 } 7838 7838 7839 @misc{Tokio, 7840 contributer = {pabuhr@plg}, 7841 key = {Tokio}, 7842 title = {{T}okio Asynchronous Runtime for {R}ust}, 7843 author = {Tokio}, 7844 howpublished= {\href{https://tokio.rs}{https://\-tokio.rs}}, 7845 } 7846 7839 7847 @misc{Bumbulis90, 7840 7848 keywords = {parameter inference, ForceN}, … … 8152 8160 doi = {10.1145/3379483}, 8153 8161 journal = {Proc. ACM Meas. Anal. Comput. Syst.}, 8154 month = mar,8162 month = jun, 8155 8163 numpages = {30}, 8156 8164 } -
doc/theses/thierry_delisle_PhD/thesis/Makefile
r741e22c r71cf630 26 26 eval_micro \ 27 27 eval_macro \ 28 conclusion \ 28 29 }} 29 30 … … 54 55 result.yield.nasus.ops \ 55 56 result.churn.jax.ops \ 57 result.churn.nasus.ops \ 58 result.locality.share.jax.ops \ 59 result.locality.share.nasus.ops \ 60 result.locality.noshare.jax.ops \ 61 result.locality.noshare.nasus.ops \ 56 62 result.cycle.jax.ns \ 57 63 result.cycle.nasus.ns \ … … 59 65 result.yield.nasus.ns \ 60 66 result.churn.jax.ns \ 67 result.churn.nasus.ns \ 68 result.locality.share.jax.ns \ 69 result.locality.share.nasus.ns \ 70 result.locality.noshare.jax.ns \ 71 result.locality.noshare.nasus.ns \ 61 72 result.cycle.low.jax.ops \ 62 73 result.cycle.low.nasus.ops \ … … 64 75 result.yield.low.nasus.ops \ 65 76 result.churn.low.jax.ops \ 77 result.churn.low.nasus.ops \ 66 78 result.cycle.low.jax.ns \ 67 79 result.cycle.low.nasus.ns \ … … 69 81 result.yield.low.nasus.ns \ 70 82 result.churn.low.jax.ns \ 71 result.memcd.updt.qps \ 72 result.memcd.updt.lat \ 83 result.churn.low.nasus.ns \ 73 84 result.memcd.rate.qps \ 74 85 result.memcd.rate.99th \ 86 result.memcd.forall.qps \ 87 result.memcd.forall.lat \ 88 result.memcd.fibre.qps \ 89 result.memcd.fibre.lat \ 90 result.memcd.vanilla.qps \ 91 result.memcd.vanilla.lat \ 75 92 result.swbsrv.25gb \ 93 result.swbsrv.25gb.err \ 76 94 SQMS 77 95 … … 162 180 yield_jax_ops_FLAGS = --MaxY=1000000000 163 181 yield_low_jax_ops_FLAGS = --MaxY=1000000000 164 yield_jax_ns_FLAGS = --MaxY=1500 165 yield_low_jax_ns_FLAGS = --MaxY=1500 182 yield_jax_ns_FLAGS = --MaxY=4000 183 yield_low_jax_ns_FLAGS = --MaxY=4000 184 185 yield_nasus_ops_FLAGS = --MaxY=1500000000 186 yield_low_nasus_ops_FLAGS = --MaxY=1500000000 187 yield_nasus_ns_FLAGS = --MaxY=1500 188 yield_low_nasus_ns_FLAGS = --MaxY=1500 189 190 churn_jax_ops_FLAGS = --MaxY=50000000 191 churn_low_jax_ops_FLAGS = --MaxY=50000000 192 churn_jax_ns_FLAGS = --MaxY=20000 193 churn_low_jax_ns_FLAGS = --MaxY=20000 194 195 churn_nasus_ops_FLAGS = --MaxY=75000000 196 churn_low_nasus_ops_FLAGS = --MaxY=75000000 197 churn_nasus_ns_FLAGS = --MaxY=20000 198 churn_low_nasus_ns_FLAGS = --MaxY=20000 166 199 167 200 build/result.%.ns.svg : data/% Makefile ../../../../benchmark/plot.py | ${Build} … … 171 204 ../../../../benchmark/plot.py -f $< -o $@ -y "Ops per second" $($(subst .,_,$*)_ops_FLAGS) 172 205 173 build/result.memcd.updt.qps.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}174 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Update Ratio"175 176 build/result.memcd.updt.lat.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build}177 ../../../../benchmark/plot.py -f $< -o $@ -y "Average Read Latency" -x "Update Ratio"178 179 206 build/result.memcd.rate.qps.svg : data/memcd.rate Makefile ../../../../benchmark/plot.py | ${Build} 180 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" 207 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" --MaxY=750000 181 208 182 209 build/result.memcd.rate.99th.svg : data/memcd.rate Makefile ../../../../benchmark/plot.py | ${Build} 183 210 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" 184 211 212 build/result.memcd.forall.qps.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build} 213 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" --filter forall --MaxY=700000 214 215 build/result.memcd.forall.lat.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build} 216 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" --filter forall --MaxY=1 217 218 build/result.memcd.vanilla.qps.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build} 219 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" --filter vanilla --MaxY=700000 220 221 build/result.memcd.vanilla.lat.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build} 222 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" --filter vanilla --MaxY=1 223 224 build/result.memcd.fibre.qps.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build} 225 ../../../../benchmark/plot.py -f $< -o $@ -y "Actual QPS" -x "Target QPS" --filter fibre --MaxY=700000 226 227 build/result.memcd.fibre.lat.svg : data/memcd.updt Makefile ../../../../benchmark/plot.py | ${Build} 228 ../../../../benchmark/plot.py -f $< -o $@ -y "Tail Read Latency" -x "Target QPS" --filter fibre --MaxY=1 229 185 230 build/swbsrv.% : data/swbsrv.%.nginx data/swbsrv.%.cfa Makefile ../../../../benchmark/process-trun.py | ${Build} 186 231 ../../../../benchmark/process-trun.py --out $@ $^ … … 188 233 build/result.swbsrv.%.svg : build/swbsrv.% Makefile ../../../../benchmark/plot.py | ${Build} 189 234 ../../../../benchmark/plot.py -f $< -o $@ -y "Data Rate" -x "Request Rate" 235 236 build/result.swbsrv.%.err.svg : build/swbsrv.% Makefile ../../../../benchmark/plot.py | ${Build} 237 ../../../../benchmark/plot.py -f $< -o $@ -y "Errors" -x "Request Rate" 190 238 191 239 ## pstex with inverted colors -
doc/theses/thierry_delisle_PhD/thesis/data/churn.jax
r741e22c r71cf630 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}]]1 [["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30028.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 775087297.0, "Total blocks": 404231307.0, "Ops per second": 25811832.87, "ns per ops": 38.74, "Ops per threads": 40369.0, "Ops per procs": 4036913.0, "Ops/sec/procs": 134436.63, "ns per ops/procs": 7438.45}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30061.688608, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 543388831.0, "Total blocks": 199631300.0, "Ops per second": 18075792.02, "ns per ops": 55.32, "Ops per threads": 56603.0, "Ops per procs": 5660300.0, "Ops/sec/procs": 188289.5, "ns per ops/procs": 5310.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30019.153973, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 352793765.0, "Total blocks": 143605059.0, "Ops per second": 11752288.73, "ns per ops": 85.09, "Ops per threads": 146997.0, "Ops per procs": 14699740.0, "Ops/sec/procs": 489678.7, "ns per ops/procs": 2042.16}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30027.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 512527014.0, "Ops per second": 17084233.0, "ns per ops": 58.0, "Ops per threads": 53388.0, "Ops per procs": 5338823.0, "Ops/sec/procs": 177960.0, "ns per ops/procs": 5624.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30027.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 503331584.0, "Ops per second": 16777719.0, "ns per ops": 59.0, "Ops per threads": 52430.0, "Ops per procs": 5243037.0, "Ops/sec/procs": 174767.0, "ns per ops/procs": 5727.0}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 783222911.0, "Total blocks": 408475998.0, "Ops per second": 26070681.19, "ns per ops": 38.36, "Ops per threads": 40792.0, "Ops per procs": 4079285.0, "Ops/sec/procs": 135784.8, "ns per ops/procs": 7364.6}],["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)": 160059884.0, "Ops per second": 5328609.11, "ns per ops": 187.67, "Ops per threads": 400149.0, "Ops per procs": 40014971.0, "Ops/sec/procs": 1332152.28, "ns per ops/procs": 750.66}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30010.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 792336457.0, "Total blocks": 415790249.0, "Ops per second": 26401856.27, "ns per ops": 37.88, "Ops per threads": 41267.0, "Ops per procs": 4126752.0, "Ops/sec/procs": 137509.67, "ns per ops/procs": 7272.22}],["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)": 155445492.0, "Ops per second": 5174967.48, "ns per ops": 193.24, "Ops per threads": 388613.0, "Ops per procs": 38861373.0, "Ops/sec/procs": 1293741.87, "ns per ops/procs": 772.95}],["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)": 408159929.0, "Ops per second": 13605330.0, "ns per ops": 73.0, "Ops per threads": 56688.0, "Ops per procs": 5668887.0, "Ops/sec/procs": 188962.0, "ns per ops/procs": 5297.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30027.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 487339699.0, "Ops per second": 16244656.0, "ns per ops": 61.0, "Ops per threads": 50764.0, "Ops per procs": 5076455.0, "Ops/sec/procs": 169215.0, "ns per ops/procs": 5915.0}],["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)": 135283736.0, "Ops per second": 4503912.36, "ns per ops": 222.03, "Ops per threads": 169104.0, "Ops per procs": 16910467.0, "Ops/sec/procs": 562989.04, "ns per ops/procs": 1776.23}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 375990442.0, "Total blocks": 204683717.0, "Ops per second": 12518702.65, "ns per ops": 79.88, "Ops per threads": 156662.0, "Ops per procs": 15666268.0, "Ops/sec/procs": 521612.61, "ns per ops/procs": 1917.13}],["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)": 545210188.0, "Total blocks": 303103740.0, "Ops per second": 18120059.32, "ns per ops": 55.19, "Ops per threads": 113585.0, "Ops per procs": 11358545.0, "Ops/sec/procs": 377501.24, "ns per ops/procs": 2649.0}],["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)": 216943841.0, "Ops per second": 7231461.0, "ns per ops": 138.0, "Ops per threads": 271179.0, "Ops per procs": 27117980.0, "Ops/sec/procs": 903932.0, "ns per ops/procs": 1107.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)": 296405716.0, "Total blocks": 152607514.0, "Ops per second": 9869934.72, "ns per ops": 101.32, "Ops per threads": 185253.0, "Ops per procs": 18525357.0, "Ops/sec/procs": 616870.92, "ns per ops/procs": 1621.08}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30022.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 694369635.0, "Ops per second": 23128465.11, "ns per ops": 43.24, "Ops per threads": 96440.0, "Ops per procs": 9644022.0, "Ops/sec/procs": 321228.68, "ns per ops/procs": 3113.05}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30052.127905, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 467817207.0, "Total blocks": 2799374.0, "Ops per second": 15566857.98, "ns per ops": 64.24, "Ops per threads": 2339086.0, "Ops per procs": 233908603.0, "Ops/sec/procs": 7783428.99, "ns per ops/procs": 128.48}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30062.953207, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 712197789.0, "Total blocks": 208822882.0, "Ops per second": 23690213.8, "ns per ops": 42.21, "Ops per threads": 148374.0, "Ops per procs": 14837453.0, "Ops/sec/procs": 493546.12, "ns per ops/procs": 2026.15}],["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)": 986417269.0, "Ops per second": 32880575.0, "ns per ops": 30.0, "Ops per threads": 51375.0, "Ops per procs": 5137589.0, "Ops/sec/procs": 171252.0, "ns per ops/procs": 5840.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30074.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 201149877.0, "Ops per second": 6688427.28, "ns per ops": 149.51, "Ops per threads": 20953.0, "Ops per procs": 2095311.0, "Ops/sec/procs": 69671.12, "ns per ops/procs": 14353.15}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30025.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 472492168.0, "Ops per second": 15749738.0, "ns per ops": 63.0, "Ops per threads": 49217.0, "Ops per procs": 4921793.0, "Ops/sec/procs": 164059.0, "ns per ops/procs": 6100.0}],["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)": 251920172.0, "Ops per second": 8386055.25, "ns per ops": 119.25, "Ops per threads": 104966.0, "Ops per procs": 10496673.0, "Ops/sec/procs": 349418.97, "ns per ops/procs": 2861.89}],["rdq-churn-tokio", "./rdq-churn-tokio -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": 6.0, "Total Operations(ops)": 172701039.0, "Ops per second": 5756701.0, "ns per ops": 173.0, "Ops per threads": 863505.0, "Ops per procs": 86350519.0, "Ops/sec/procs": 2878350.0, "ns per ops/procs": 347.0}],["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)": 135806420.0, "Total blocks": 82215722.0, "Ops per second": 4512342.79, "ns per ops": 221.61, "Ops per threads": 339516.0, "Ops per procs": 33951605.0, "Ops/sec/procs": 1128085.7, "ns per ops/procs": 886.46}],["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)": 457624314.0, "Ops per second": 15231124.17, "ns per ops": 65.66, "Ops per threads": 23834.0, "Ops per procs": 2383459.0, "Ops/sec/procs": 79328.77, "ns per ops/procs": 12605.77}],["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)": 554873159.0, "Total blocks": 305543980.0, "Ops per second": 18441195.37, "ns per ops": 54.23, "Ops per threads": 115598.0, "Ops per procs": 11559857.0, "Ops/sec/procs": 384191.57, "ns per ops/procs": 2602.87}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.31041, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 453264749.0, "Total blocks": 6565476.0, "Ops per second": 15083027.76, "ns per ops": 66.3, "Ops per threads": 2266323.0, "Ops per procs": 226632374.0, "Ops/sec/procs": 7541513.88, "ns per ops/procs": 132.6}],["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)": 131650327.0, "Ops per second": 4383846.14, "ns per ops": 228.11, "Ops per threads": 164562.0, "Ops per procs": 16456290.0, "Ops/sec/procs": 547980.77, "ns per ops/procs": 1824.88}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30058.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 470012231.0, "Ops per second": 15636753.0, "ns per ops": 63.95, "Ops per threads": 32639.0, "Ops per procs": 3263973.0, "Ops/sec/procs": 108588.56, "ns per ops/procs": 9209.07}],["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)": 424245709.0, "Ops per second": 14141523.0, "ns per ops": 70.0, "Ops per threads": 58923.0, "Ops per procs": 5892301.0, "Ops/sec/procs": 196410.0, "ns per ops/procs": 5099.0}],["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)": 368453841.0, "Ops per second": 12262693.32, "ns per ops": 81.55, "Ops per threads": 76761.0, "Ops per procs": 7676121.0, "Ops/sec/procs": 255472.78, "ns per ops/procs": 3914.31}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30062.140188, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 684141485.0, "Total blocks": 248502568.0, "Ops per second": 22757577.5, "ns per ops": 43.94, "Ops per threads": 142529.0, "Ops per procs": 14252947.0, "Ops/sec/procs": 474116.2, "ns per ops/procs": 2109.19}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30078.901127, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 300801344.0, "Total blocks": 123853239.0, "Ops per second": 10000410.01, "ns per ops": 100.0, "Ops per threads": 188000.0, "Ops per procs": 18800084.0, "Ops/sec/procs": 625025.63, "ns per ops/procs": 1599.93}],["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)": 376164338.0, "Total blocks": 204665143.0, "Ops per second": 12525429.52, "ns per ops": 79.84, "Ops per threads": 156735.0, "Ops per procs": 15673514.0, "Ops/sec/procs": 521892.9, "ns per ops/procs": 1916.1}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30060.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 319541309.0, "Ops per second": 10651376.0, "ns per ops": 94.0, "Ops per threads": 199713.0, "Ops per procs": 19971331.0, "Ops/sec/procs": 665711.0, "ns per ops/procs": 1505.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30079.141425, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 295232797.0, "Total blocks": 110900678.0, "Ops per second": 9815200.27, "ns per ops": 101.88, "Ops per threads": 184520.0, "Ops per procs": 18452049.0, "Ops/sec/procs": 613450.02, "ns per ops/procs": 1630.12}],["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)": 296563233.0, "Total blocks": 152340919.0, "Ops per second": 9875531.26, "ns per ops": 101.26, "Ops per threads": 185352.0, "Ops per procs": 18535202.0, "Ops/sec/procs": 617220.7, "ns per ops/procs": 1620.17}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30002.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 985856666.0, "Ops per second": 32861888.0, "ns per ops": 30.0, "Ops per threads": 51346.0, "Ops per procs": 5134670.0, "Ops/sec/procs": 171155.0, "ns per ops/procs": 5843.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30007.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 998189774.0, "Ops per second": 33272992.0, "ns per ops": 30.0, "Ops per threads": 51989.0, "Ops per procs": 5198905.0, "Ops/sec/procs": 173296.0, "ns per ops/procs": 5771.0}],["rdq-churn-go", "./rdq-churn-go -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)": 245078750.0, "Ops per second": 8158085.75, "ns per ops": 122.58, "Ops per threads": 102116.0, "Ops per procs": 10211614.0, "Ops/sec/procs": 339920.24, "ns per ops/procs": 2941.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)": 192000591.0, "Total blocks": 0.0, "Ops per second": 6394281.39, "ns per ops": 156.39, "Ops per threads": 1920005.0, "Ops per procs": 192000591.0, "Ops/sec/procs": 6394281.39, "ns per ops/procs": 156.39}],["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)": 136006630.0, "Ops per second": 4533328.82, "ns per ops": 220.59, "Ops per threads": 1360066.0, "Ops per procs": 136006630.0, "Ops/sec/procs": 4533328.82, "ns per ops/procs": 220.59}],["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)": 192361692.0, "Total blocks": 0.0, "Ops per second": 6406293.39, "ns per ops": 156.1, "Ops per threads": 1923616.0, "Ops per procs": 192361692.0, "Ops/sec/procs": 6406293.39, "ns per ops/procs": 156.1}],["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)": 460261703.0, "Ops per second": 15342056.0, "ns per ops": 65.0, "Ops per threads": 4602617.0, "Ops per procs": 460261703.0, "Ops/sec/procs": 15342056.0, "ns per ops/procs": 65.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30046.030706, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 647200348.0, "Total blocks": 197301204.0, "Ops per second": 21540294.43, "ns per ops": 46.42, "Ops per threads": 33708.0, "Ops per procs": 3370835.0, "Ops/sec/procs": 112189.03, "ns per ops/procs": 8913.53}],["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)": 836897804.0, "Ops per second": 27896593.0, "ns per ops": 35.0, "Ops per threads": 58117.0, "Ops per procs": 5811790.0, "Ops/sec/procs": 193726.0, "ns per ops/procs": 5162.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30031.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 157805979.0, "Total blocks": 87396338.0, "Ops per second": 5254667.45, "ns per ops": 190.31, "Ops per threads": 197257.0, "Ops per procs": 19725747.0, "Ops/sec/procs": 656833.43, "ns per ops/procs": 1522.46}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30028.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 186781894.0, "Ops per second": 6226063.0, "ns per ops": 160.0, "Ops per threads": 933909.0, "Ops per procs": 93390947.0, "Ops/sec/procs": 3113031.0, "ns per ops/procs": 321.0}],["rdq-churn-fibre", "./rdq-churn-fibre -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": 8.0, "Total Operations(ops)": 162169417.0, "Total blocks": 87662797.0, "Ops per second": 5401302.93, "ns per ops": 185.14, "Ops per threads": 202711.0, "Ops per procs": 20271177.0, "Ops/sec/procs": 675162.87, "ns per ops/procs": 1481.12}],["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)": 142536673.0, "Ops per second": 4745964.92, "ns per ops": 210.71, "Ops per threads": 178170.0, "Ops per procs": 17817084.0, "Ops/sec/procs": 593245.62, "ns per ops/procs": 1685.64}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30036.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 483037285.0, "Ops per second": 16081495.56, "ns per ops": 62.18, "Ops per threads": 33544.0, "Ops per procs": 3354425.0, "Ops/sec/procs": 111677.05, "ns per ops/procs": 8954.39}],["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)": 977159836.0, "Ops per second": 32571994.0, "ns per ops": 30.0, "Ops per threads": 50893.0, "Ops per procs": 5089374.0, "Ops/sec/procs": 169645.0, "ns per ops/procs": 5895.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30071.391844, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 414077131.0, "Total blocks": 163209730.0, "Ops per second": 13769802.65, "ns per ops": 72.62, "Ops per threads": 57510.0, "Ops per procs": 5751071.0, "Ops/sec/procs": 191247.26, "ns per ops/procs": 5228.83}],["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)": 137584581.0, "Ops per second": 4583678.86, "ns per ops": 218.17, "Ops per threads": 1375845.0, "Ops per procs": 137584581.0, "Ops/sec/procs": 4583678.86, "ns per ops/procs": 218.17}],["rdq-churn-fibre", "./rdq-churn-fibre -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": 16.0, "Total Operations(ops)": 266894786.0, "Total blocks": 135518665.0, "Ops per second": 8880272.12, "ns per ops": 112.61, "Ops per threads": 166809.0, "Ops per procs": 16680924.0, "Ops/sec/procs": 555017.01, "ns per ops/procs": 1801.75}],["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)": 465600611.0, "Ops per second": 15498522.7, "ns per ops": 64.52, "Ops per threads": 32333.0, "Ops per procs": 3233337.0, "Ops/sec/procs": 107628.63, "ns per ops/procs": 9291.21}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30042.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 488868938.0, "Total blocks": 261283346.0, "Ops per second": 16272639.91, "ns per ops": 61.45, "Ops per threads": 50923.0, "Ops per procs": 5092384.0, "Ops/sec/procs": 169506.67, "ns per ops/procs": 5899.47}],["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)": 232582304.0, "Ops per second": 7730307.17, "ns per ops": 129.36, "Ops per threads": 24227.0, "Ops per procs": 2422732.0, "Ops/sec/procs": 80524.03, "ns per ops/procs": 12418.65}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30079.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 183230624.0, "Ops per second": 6091572.05, "ns per ops": 164.16, "Ops per threads": 19086.0, "Ops per procs": 1908652.0, "Ops/sec/procs": 63453.88, "ns per ops/procs": 15759.48}],["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)": 192396324.0, "Total blocks": 0.0, "Ops per second": 6407436.98, "ns per ops": 156.07, "Ops per threads": 1923963.0, "Ops per procs": 192396324.0, "Ops/sec/procs": 6407436.98, "ns per ops/procs": 156.07}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30067.964155, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 494289464.0, "Total blocks": 181620434.0, "Ops per second": 16439073.21, "ns per ops": 60.83, "Ops per threads": 68651.0, "Ops per procs": 6865131.0, "Ops/sec/procs": 228320.46, "ns per ops/procs": 4379.81}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 481529161.0, "Total blocks": 260563600.0, "Ops per second": 16023902.26, "ns per ops": 62.41, "Ops per threads": 50159.0, "Ops per procs": 5015928.0, "Ops/sec/procs": 166915.65, "ns per ops/procs": 5991.05}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30017.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 534842996.0, "Ops per second": 17828099.0, "ns per ops": 56.0, "Ops per threads": 111425.0, "Ops per procs": 11142562.0, "Ops/sec/procs": 371418.0, "ns per ops/procs": 2693.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30058.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 476822183.0, "Total blocks": 254732896.0, "Ops per second": 15862947.55, "ns per ops": 63.04, "Ops per threads": 49668.0, "Ops per procs": 4966897.0, "Ops/sec/procs": 165239.04, "ns per ops/procs": 6051.84}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30072.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 264210299.0, "Ops per second": 8785813.75, "ns per ops": 113.82, "Ops per threads": 27521.0, "Ops per procs": 2752190.0, "Ops/sec/procs": 91518.89, "ns per ops/procs": 10926.71}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30056.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 407465726.0, "Ops per second": 13582190.0, "ns per ops": 73.0, "Ops per threads": 56592.0, "Ops per procs": 5659246.0, "Ops/sec/procs": 188641.0, "ns per ops/procs": 5311.0}],["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)": 306541991.0, "Ops per second": 10218066.0, "ns per ops": 98.0, "Ops per threads": 191588.0, "Ops per procs": 19158874.0, "Ops/sec/procs": 638629.0, "ns per ops/procs": 1569.0}],["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)": 390845899.0, "Total blocks": 206060873.0, "Ops per second": 12996953.06, "ns per ops": 76.94, "Ops per threads": 54284.0, "Ops per procs": 5428415.0, "Ops/sec/procs": 180513.24, "ns per ops/procs": 5539.76}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30095.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 167495069.0, "Ops per second": 5583168.0, "ns per ops": 179.0, "Ops per threads": 837475.0, "Ops per procs": 83747534.0, "Ops/sec/procs": 2791584.0, "ns per ops/procs": 359.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30038.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 780552772.0, "Total blocks": 407043017.0, "Ops per second": 25984742.95, "ns per ops": 38.48, "Ops per threads": 40653.0, "Ops per procs": 4065379.0, "Ops/sec/procs": 135337.2, "ns per ops/procs": 7388.95}],["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)": 448309460.0, "Ops per second": 14919021.52, "ns per ops": 67.03, "Ops per threads": 23349.0, "Ops per procs": 2334945.0, "Ops/sec/procs": 77703.24, "ns per ops/procs": 12869.48}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30066.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 169263964.0, "Ops per second": 5642132.0, "ns per ops": 177.0, "Ops per threads": 423159.0, "Ops per procs": 42315991.0, "Ops/sec/procs": 1410533.0, "ns per ops/procs": 710.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.54681, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 159223231.0, "Total blocks": 70044695.0, "Ops per second": 5297632.15, "ns per ops": 188.76, "Ops per threads": 398058.0, "Ops per procs": 39805807.0, "Ops/sec/procs": 1324408.04, "ns per ops/procs": 755.05}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30094.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 548287465.0, "Total blocks": 305089836.0, "Ops per second": 18218870.01, "ns per ops": 54.89, "Ops per threads": 114226.0, "Ops per procs": 11422655.0, "Ops/sec/procs": 379559.79, "ns per ops/procs": 2634.63}],["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)": 120049888.0, "Ops per second": 3998568.36, "ns per ops": 250.09, "Ops per threads": 600249.0, "Ops per procs": 60024944.0, "Ops/sec/procs": 1999284.18, "ns per ops/procs": 500.18}],["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)": 279911096.0, "Total blocks": 144090777.0, "Ops per second": 9318425.82, "ns per ops": 107.31, "Ops per threads": 174944.0, "Ops per procs": 17494443.0, "Ops/sec/procs": 582401.61, "ns per ops/procs": 1717.03}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30087.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 545643335.0, "Total blocks": 303234090.0, "Ops per second": 18135277.06, "ns per ops": 55.14, "Ops per threads": 113675.0, "Ops per procs": 11367569.0, "Ops/sec/procs": 377818.27, "ns per ops/procs": 2646.78}],["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)": 460793792.0, "Ops per second": 15359793.0, "ns per ops": 65.0, "Ops per threads": 4607937.0, "Ops per procs": 460793792.0, "Ops/sec/procs": 15359793.0, "ns per ops/procs": 65.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30029.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 639376150.0, "Total blocks": 355973512.0, "Ops per second": 21291911.7, "ns per ops": 46.97, "Ops per threads": 44401.0, "Ops per procs": 4440112.0, "Ops/sec/procs": 147860.5, "ns per ops/procs": 6763.13}],["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)": 502488599.0, "Ops per second": 16749619.0, "ns per ops": 59.0, "Ops per threads": 209370.0, "Ops per procs": 20937024.0, "Ops/sec/procs": 697900.0, "ns per ops/procs": 1433.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.753483, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 196376229.0, "Total blocks": 84755954.0, "Ops per second": 6532644.94, "ns per ops": 153.08, "Ops per threads": 245470.0, "Ops per procs": 24547028.0, "Ops/sec/procs": 816580.62, "ns per ops/procs": 1224.62}],["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)": 192462187.0, "Total blocks": 0.0, "Ops per second": 6409675.84, "ns per ops": 156.01, "Ops per threads": 1924621.0, "Ops per procs": 192462187.0, "Ops/sec/procs": 6409675.84, "ns per ops/procs": 156.01}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.469266, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 195057481.0, "Total blocks": 81540497.0, "Ops per second": 6488836.86, "ns per ops": 154.11, "Ops per threads": 243821.0, "Ops per procs": 24382185.0, "Ops/sec/procs": 811104.61, "ns per ops/procs": 1232.89}],["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)": 258207887.0, "Ops per second": 8595455.81, "ns per ops": 116.34, "Ops per threads": 107586.0, "Ops per procs": 10758661.0, "Ops/sec/procs": 358143.99, "ns per ops/procs": 2792.17}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.529478, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1200693899.0, "Total blocks": 0.0, "Ops per second": 39957161.39, "ns per ops": 25.03, "Ops per threads": 12006938.0, "Ops per procs": 1200693899.0, "Ops/sec/procs": 39957161.39, "ns per ops/procs": 25.03}],["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)": 152340100.0, "Ops per second": 5071775.49, "ns per ops": 197.17, "Ops per threads": 380850.0, "Ops per procs": 38085025.0, "Ops/sec/procs": 1267943.87, "ns per ops/procs": 788.68}],["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)": 363680107.0, "Ops per second": 12104730.4, "ns per ops": 82.61, "Ops per threads": 75766.0, "Ops per procs": 7576668.0, "Ops/sec/procs": 252181.88, "ns per ops/procs": 3965.39}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30018.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 219206821.0, "Ops per second": 7306894.0, "ns per ops": 136.0, "Ops per threads": 274008.0, "Ops per procs": 27400852.0, "Ops/sec/procs": 913361.0, "ns per ops/procs": 1095.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30061.375289, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 194529838.0, "Total blocks": 68866518.0, "Ops per second": 6471089.1, "ns per ops": 154.53, "Ops per threads": 243162.0, "Ops per procs": 24316229.0, "Ops/sec/procs": 808886.14, "ns per ops/procs": 1236.27}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30067.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 165199556.0, "Ops per second": 5506651.0, "ns per ops": 182.0, "Ops per threads": 412998.0, "Ops per procs": 41299889.0, "Ops/sec/procs": 1376662.0, "ns per ops/procs": 728.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30075.828843, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 305067043.0, "Total blocks": 83273164.0, "Ops per second": 10143263.04, "ns per ops": 98.59, "Ops per threads": 190666.0, "Ops per procs": 19066690.0, "Ops/sec/procs": 633953.94, "ns per ops/procs": 1577.4}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.764871, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 289494693.0, "Total blocks": 109101776.0, "Ops per second": 9624873.86, "ns per ops": 103.9, "Ops per threads": 180934.0, "Ops per procs": 18093418.0, "Ops/sec/procs": 601554.62, "ns per ops/procs": 1662.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30030.83888, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 541865124.0, "Total blocks": 205413772.0, "Ops per second": 18043622.63, "ns per ops": 55.42, "Ops per threads": 56444.0, "Ops per procs": 5644428.0, "Ops/sec/procs": 187954.4, "ns per ops/procs": 5320.44}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30066.052024, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 454836529.0, "Total blocks": 177066242.0, "Ops per second": 15127910.0, "ns per ops": 66.1, "Ops per threads": 63171.0, "Ops per procs": 6317174.0, "Ops/sec/procs": 210109.86, "ns per ops/procs": 4759.41}],["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)": 286016526.0, "Total blocks": 146655192.0, "Ops per second": 9522815.05, "ns per ops": 105.01, "Ops per threads": 178760.0, "Ops per procs": 17876032.0, "Ops/sec/procs": 595175.94, "ns per ops/procs": 1680.18}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.394183, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1204052659.0, "Total blocks": 0.0, "Ops per second": 40067782.53, "ns per ops": 24.96, "Ops per threads": 12040526.0, "Ops per procs": 1204052659.0, "Ops/sec/procs": 40067782.53, "ns per ops/procs": 24.96}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30023.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 449633736.0, "Ops per second": 14987791.0, "ns per ops": 66.0, "Ops per threads": 93673.0, "Ops per procs": 9367369.0, "Ops/sec/procs": 312245.0, "ns per ops/procs": 3205.0}],["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)": 964183374.0, "Ops per second": 32139445.0, "ns per ops": 31.0, "Ops per threads": 50217.0, "Ops per procs": 5021788.0, "Ops/sec/procs": 167392.0, "ns per ops/procs": 5975.0}],["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)": 148994839.0, "Ops per second": 4960021.53, "ns per ops": 201.61, "Ops per threads": 372487.0, "Ops per procs": 37248709.0, "Ops/sec/procs": 1240005.38, "ns per ops/procs": 806.45}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30080.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 306111541.0, "Ops per second": 10203718.0, "ns per ops": 98.0, "Ops per threads": 191319.0, "Ops per procs": 19131971.0, "Ops/sec/procs": 637732.0, "ns per ops/procs": 1572.0}],["rdq-churn-go", "./rdq-churn-go -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30020.0, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 136454614.0, "Ops per second": 4545369.67, "ns per ops": 220.0, "Ops per threads": 1364546.0, "Ops per procs": 136454614.0, "Ops/sec/procs": 4545369.67, "ns per ops/procs": 220.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.794231, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 470118191.0, "Total blocks": 465415.0, "Ops per second": 15643598.1, "ns per ops": 63.92, "Ops per threads": 2350590.0, "Ops per procs": 235059095.0, "Ops/sec/procs": 7821799.05, "ns per ops/procs": 127.85}],["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)": 374214236.0, "Ops per second": 12463931.77, "ns per ops": 80.23, "Ops per threads": 51974.0, "Ops per procs": 5197419.0, "Ops/sec/procs": 173110.16, "ns per ops/procs": 5776.67}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30057.455305, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 201526415.0, "Total blocks": 87867813.0, "Ops per second": 6704706.47, "ns per ops": 149.15, "Ops per threads": 251908.0, "Ops per procs": 25190801.0, "Ops/sec/procs": 838088.31, "ns per ops/procs": 1193.19}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.253735, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1197873059.0, "Total blocks": 919451.0, "Ops per second": 39862327.61, "ns per ops": 25.09, "Ops per threads": 11978730.0, "Ops per procs": 1197873059.0, "Ops/sec/procs": 39862327.61, "ns per ops/procs": 25.09}],["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)": 86167528.0, "Total blocks": 43085002.0, "Ops per second": 2865884.79, "ns per ops": 348.93, "Ops per threads": 430837.0, "Ops per procs": 43083764.0, "Ops/sec/procs": 1432942.39, "ns per ops/procs": 697.86}],["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)": 477080806.0, "Ops per second": 15884834.46, "ns per ops": 62.95, "Ops per threads": 33130.0, "Ops per procs": 3313061.0, "Ops/sec/procs": 110311.35, "ns per ops/procs": 9065.25}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30028.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 238388075.0, "Ops per second": 7938689.1, "ns per ops": 125.97, "Ops per threads": 148992.0, "Ops per procs": 14899254.0, "Ops/sec/procs": 496168.07, "ns per ops/procs": 2015.45}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30026.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 504676820.0, "Ops per second": 16822560.0, "ns per ops": 59.0, "Ops per threads": 52570.0, "Ops per procs": 5257050.0, "Ops/sec/procs": 175235.0, "ns per ops/procs": 5711.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)": 977592543.0, "Ops per second": 32586418.0, "ns per ops": 30.0, "Ops per threads": 50916.0, "Ops per procs": 5091627.0, "Ops/sec/procs": 169720.0, "ns per ops/procs": 5893.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30026.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 495309015.0, "Ops per second": 16510300.0, "ns per ops": 60.0, "Ops per threads": 51594.0, "Ops per procs": 5159468.0, "Ops/sec/procs": 171982.0, "ns per ops/procs": 5819.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)": 191397456.0, "Total blocks": 0.0, "Ops per second": 6374155.6, "ns per ops": 156.88, "Ops per threads": 1913974.0, "Ops per procs": 191397456.0, "Ops/sec/procs": 6374155.6, "ns per ops/procs": 156.88}],["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)": 246979799.0, "Ops per second": 8222922.06, "ns per ops": 121.61, "Ops per threads": 102908.0, "Ops per procs": 10290824.0, "Ops/sec/procs": 342621.75, "ns per ops/procs": 2918.67}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.292739, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1187784620.0, "Total blocks": 2470292.0, "Ops per second": 39526557.37, "ns per ops": 25.3, "Ops per threads": 11877846.0, "Ops per procs": 1187784620.0, "Ops/sec/procs": 39526557.37, "ns per ops/procs": 25.3}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30020.845884, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 376354571.0, "Total blocks": 142182402.0, "Ops per second": 12536441.26, "ns per ops": 79.77, "Ops per threads": 156814.0, "Ops per procs": 15681440.0, "Ops/sec/procs": 522351.72, "ns per ops/procs": 1914.42}],["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)": 318547803.0, "Ops per second": 10618260.0, "ns per ops": 94.0, "Ops per threads": 199092.0, "Ops per procs": 19909237.0, "Ops/sec/procs": 663641.0, "ns per ops/procs": 1510.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30071.338569, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 511724220.0, "Total blocks": 207717416.0, "Ops per second": 17017008.37, "ns per ops": 58.76, "Ops per threads": 35536.0, "Ops per procs": 3553640.0, "Ops/sec/procs": 118173.67, "ns per ops/procs": 8462.12}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30029.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 500329525.0, "Ops per second": 16677650.0, "ns per ops": 60.0, "Ops per threads": 208470.0, "Ops per procs": 20847063.0, "Ops/sec/procs": 694902.0, "ns per ops/procs": 1440.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30030.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 647617727.0, "Total blocks": 359903343.0, "Ops per second": 21565594.22, "ns per ops": 46.37, "Ops per threads": 44973.0, "Ops per procs": 4497345.0, "Ops/sec/procs": 149761.07, "ns per ops/procs": 6677.3}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30022.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 495118687.0, "Ops per second": 16503956.0, "ns per ops": 60.0, "Ops per threads": 51574.0, "Ops per procs": 5157486.0, "Ops/sec/procs": 171916.0, "ns per ops/procs": 5821.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)": 541243015.0, "Ops per second": 18015433.56, "ns per ops": 55.51, "Ops per threads": 37586.0, "Ops per procs": 3758632.0, "Ops/sec/procs": 125107.18, "ns per ops/procs": 7993.15}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30088.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 634992974.0, "Total blocks": 353748737.0, "Ops per second": 21104180.93, "ns per ops": 47.38, "Ops per threads": 44096.0, "Ops per procs": 4409673.0, "Ops/sec/procs": 146556.81, "ns per ops/procs": 6823.29}],["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)": 231116171.0, "Ops per second": 7696412.79, "ns per ops": 129.93, "Ops per threads": 144447.0, "Ops per procs": 14444760.0, "Ops/sec/procs": 481025.8, "ns per ops/procs": 2078.89}],["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)": 438751128.0, "Ops per second": 14603629.88, "ns per ops": 68.48, "Ops per threads": 22851.0, "Ops per procs": 2285162.0, "Ops/sec/procs": 76060.57, "ns per ops/procs": 13147.42}],["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)": 147419543.0, "Ops per second": 4908213.15, "ns per ops": 203.74, "Ops per threads": 184274.0, "Ops per procs": 18427442.0, "Ops/sec/procs": 613526.64, "ns per ops/procs": 1629.92}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.157553, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 170567978.0, "Total blocks": 42637093.0, "Ops per second": 5675164.99, "ns per ops": 176.21, "Ops per threads": 426419.0, "Ops per procs": 42641994.0, "Ops/sec/procs": 1418791.25, "ns per ops/procs": 704.83}],["rdq-churn-go", "./rdq-churn-go -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 369775986.0, "Ops per second": 12311253.1, "ns per ops": 81.23, "Ops per threads": 51357.0, "Ops per procs": 5135777.0, "Ops/sec/procs": 170989.63, "ns per ops/procs": 5848.31}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30029.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 492978704.0, "Ops per second": 16432623.0, "ns per ops": 60.0, "Ops per threads": 51351.0, "Ops per procs": 5135194.0, "Ops/sec/procs": 171173.0, "ns per ops/procs": 5847.0}],["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)": 151142575.0, "Ops per second": 5031514.74, "ns per ops": 198.75, "Ops per threads": 377856.0, "Ops per procs": 37785643.0, "Ops/sec/procs": 1257878.69, "ns per ops/procs": 794.99}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30096.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 482932491.0, "Total blocks": 257863450.0, "Ops per second": 16045923.41, "ns per ops": 62.32, "Ops per threads": 50305.0, "Ops per procs": 5030546.0, "Ops/sec/procs": 167145.04, "ns per ops/procs": 5982.83}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.071195, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1203986312.0, "Total blocks": 0.0, "Ops per second": 40066005.31, "ns per ops": 24.96, "Ops per threads": 12039863.0, "Ops per procs": 1203986312.0, "Ops/sec/procs": 40066005.31, "ns per ops/procs": 24.96}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30082.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 198539012.0, "Ops per second": 6599923.85, "ns per ops": 151.52, "Ops per threads": 20681.0, "Ops per procs": 2068114.0, "Ops/sec/procs": 68749.21, "ns per ops/procs": 14545.62}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.899298, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 446967606.0, "Total blocks": 48916.0, "Ops per second": 14873189.93, "ns per ops": 67.24, "Ops per threads": 2234838.0, "Ops per procs": 223483803.0, "Ops/sec/procs": 7436594.96, "ns per ops/procs": 134.47}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30062.745864, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 478054167.0, "Total blocks": 178645952.0, "Ops per second": 15901879.66, "ns per ops": 62.89, "Ops per threads": 66396.0, "Ops per procs": 6639641.0, "Ops/sec/procs": 220859.44, "ns per ops/procs": 4527.77}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30035.387004, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 566672479.0, "Total blocks": 209011802.0, "Ops per second": 18866827.95, "ns per ops": 53.0, "Ops per threads": 59028.0, "Ops per procs": 5902838.0, "Ops/sec/procs": 196529.46, "ns per ops/procs": 5088.3}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.223512, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 206419013.0, "Total blocks": 87921384.0, "Ops per second": 6866848.91, "ns per ops": 145.63, "Ops per threads": 258023.0, "Ops per procs": 25802376.0, "Ops/sec/procs": 858356.11, "ns per ops/procs": 1165.02}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30076.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 392486528.0, "Total blocks": 207495688.0, "Ops per second": 13049802.21, "ns per ops": 76.63, "Ops per threads": 54512.0, "Ops per procs": 5451201.0, "Ops/sec/procs": 181247.25, "ns per ops/procs": 5517.33}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30070.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 307230846.0, "Ops per second": 10241028.0, "ns per ops": 97.0, "Ops per threads": 192019.0, "Ops per procs": 19201927.0, "Ops/sec/procs": 640064.0, "ns per ops/procs": 1566.0}],["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)": 835704330.0, "Ops per second": 27856811.0, "ns per ops": 35.0, "Ops per threads": 58035.0, "Ops per procs": 5803502.0, "Ops/sec/procs": 193450.0, "ns per ops/procs": 5169.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30012.923037, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 658361902.0, "Total blocks": 266135679.0, "Ops per second": 21935947.43, "ns per ops": 45.59, "Ops per threads": 34289.0, "Ops per procs": 3428968.0, "Ops/sec/procs": 114249.73, "ns per ops/procs": 8752.76}],["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)": 119650446.0, "Ops per second": 3984884.53, "ns per ops": 250.95, "Ops per threads": 598252.0, "Ops per procs": 59825223.0, "Ops/sec/procs": 1992442.27, "ns per ops/procs": 501.9}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30019.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 479142569.0, "Ops per second": 15971418.0, "ns per ops": 62.0, "Ops per threads": 199642.0, "Ops per procs": 19964273.0, "Ops/sec/procs": 665475.0, "ns per ops/procs": 1503.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30055.314794, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 502566679.0, "Total blocks": 186364010.0, "Ops per second": 16721391.29, "ns per ops": 59.8, "Ops per threads": 52350.0, "Ops per procs": 5235069.0, "Ops/sec/procs": 174181.16, "ns per ops/procs": 5741.15}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30068.077935, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 610919550.0, "Total blocks": 246532604.0, "Ops per second": 20317878.36, "ns per ops": 49.22, "Ops per threads": 31818.0, "Ops per procs": 3181872.0, "Ops/sec/procs": 105822.28, "ns per ops/procs": 9449.81}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30056.122428, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 620146795.0, "Total blocks": 249660833.0, "Ops per second": 20632960.77, "ns per ops": 48.47, "Ops per threads": 32299.0, "Ops per procs": 3229931.0, "Ops/sec/procs": 107463.34, "ns per ops/procs": 9305.5}],["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)": 133896912.0, "Total blocks": 80980739.0, "Ops per second": 4449096.09, "ns per ops": 224.76, "Ops per threads": 334742.0, "Ops per procs": 33474228.0, "Ops/sec/procs": 1112274.02, "ns per ops/procs": 899.06}],["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)": 360514092.0, "Ops per second": 11999501.06, "ns per ops": 83.34, "Ops per threads": 75107.0, "Ops per procs": 7510710.0, "Ops/sec/procs": 249989.61, "ns per ops/procs": 4000.17}],["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)": 493803985.0, "Ops per second": 16460132.0, "ns per ops": 60.0, "Ops per threads": 205751.0, "Ops per procs": 20575166.0, "Ops/sec/procs": 685838.0, "ns per ops/procs": 1459.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30062.870226, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 204710634.0, "Total blocks": 85439800.0, "Ops per second": 6809417.48, "ns per ops": 146.86, "Ops per threads": 255888.0, "Ops per procs": 25588829.0, "Ops/sec/procs": 851177.18, "ns per ops/procs": 1174.84}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.874177, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 173294990.0, "Total blocks": 43331642.0, "Ops per second": 5765761.09, "ns per ops": 173.44, "Ops per threads": 433237.0, "Ops per procs": 43323747.0, "Ops/sec/procs": 1441440.27, "ns per ops/procs": 693.75}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30018.299612, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 373225080.0, "Total blocks": 137404001.0, "Ops per second": 12433251.88, "ns per ops": 80.43, "Ops per threads": 155510.0, "Ops per procs": 15551045.0, "Ops/sec/procs": 518052.16, "ns per ops/procs": 1930.31}],["rdq-churn-tokio", "./rdq-churn-tokio -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": 6.0, "Total Operations(ops)": 217462358.0, "Ops per second": 7248745.0, "ns per ops": 138.0, "Ops per threads": 271827.0, "Ops per procs": 27182794.0, "Ops/sec/procs": 906093.0, "ns per ops/procs": 1104.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30009.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 188096159.0, "Ops per second": 6269871.0, "ns per ops": 159.0, "Ops per threads": 940480.0, "Ops per procs": 94048079.0, "Ops/sec/procs": 3134935.0, "ns per ops/procs": 319.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.834728, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 186939143.0, "Total blocks": 46076772.0, "Ops per second": 6218694.35, "ns per ops": 160.81, "Ops per threads": 233673.0, "Ops per procs": 23367392.0, "Ops/sec/procs": 777336.79, "ns per ops/procs": 1286.44}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30001.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 989297787.0, "Ops per second": 32976592.0, "ns per ops": 30.0, "Ops per threads": 51525.0, "Ops per procs": 5152592.0, "Ops/sec/procs": 171753.0, "ns per ops/procs": 5822.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30053.408887, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 553396244.0, "Total blocks": 162014917.0, "Ops per second": 18413759.52, "ns per ops": 54.31, "Ops per threads": 57645.0, "Ops per procs": 5764544.0, "Ops/sec/procs": 191809.99, "ns per ops/procs": 5213.49}],["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)": 238479693.0, "Ops per second": 7940583.26, "ns per ops": 125.94, "Ops per threads": 149049.0, "Ops per procs": 14904980.0, "Ops/sec/procs": 496286.45, "ns per ops/procs": 2014.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30056.837293, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 707411810.0, "Total blocks": 283381817.0, "Ops per second": 23535803.29, "ns per ops": 42.49, "Ops per threads": 147377.0, "Ops per procs": 14737746.0, "Ops/sec/procs": 490329.24, "ns per ops/procs": 2039.45}],["rdq-churn-go", "./rdq-churn-go -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30052.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 371411084.0, "Ops per second": 12358696.75, "ns per ops": 80.91, "Ops per threads": 77377.0, "Ops per procs": 7737730.0, "Ops/sec/procs": 257472.85, "ns per ops/procs": 3883.9}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30062.097202, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 201687788.0, "Total blocks": 59344651.0, "Ops per second": 6709039.18, "ns per ops": 149.05, "Ops per threads": 252109.0, "Ops per procs": 25210973.0, "Ops/sec/procs": 838629.9, "ns per ops/procs": 1192.42}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30000.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 119060083.0, "Total blocks": 70682342.0, "Ops per second": 3968643.91, "ns per ops": 251.98, "Ops per threads": 297650.0, "Ops per procs": 29765020.0, "Ops/sec/procs": 992160.98, "ns per ops/procs": 1007.9}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30059.76376, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 222352008.0, "Total blocks": 92637850.0, "Ops per second": 7396997.85, "ns per ops": 135.19, "Ops per threads": 277940.0, "Ops per procs": 27794001.0, "Ops/sec/procs": 924624.73, "ns per ops/procs": 1081.52}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30038.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 454672093.0, "Ops per second": 15136329.41, "ns per ops": 66.07, "Ops per threads": 23680.0, "Ops per procs": 2368083.0, "Ops/sec/procs": 78835.05, "ns per ops/procs": 12684.71}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30015.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 650367787.0, "Total blocks": 361182691.0, "Ops per second": 21667684.19, "ns per ops": 46.15, "Ops per threads": 45164.0, "Ops per procs": 4516442.0, "Ops/sec/procs": 150470.03, "ns per ops/procs": 6645.84}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30049.117235, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 519247476.0, "Total blocks": 210109901.0, "Ops per second": 17279957.74, "ns per ops": 57.87, "Ops per threads": 36058.0, "Ops per procs": 3605885.0, "Ops/sec/procs": 119999.71, "ns per ops/procs": 8333.35}],["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)": 164325404.0, "Ops per second": 5470716.4, "ns per ops": 182.79, "Ops per threads": 410813.0, "Ops per procs": 41081351.0, "Ops/sec/procs": 1367679.1, "ns per ops/procs": 731.17}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30010.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 778808571.0, "Total blocks": 406521151.0, "Ops per second": 25951512.3, "ns per ops": 38.53, "Ops per threads": 40562.0, "Ops per procs": 4056294.0, "Ops/sec/procs": 135164.13, "ns per ops/procs": 7398.41}],["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)": 489486580.0, "Ops per second": 16316219.0, "ns per ops": 61.0, "Ops per threads": 203952.0, "Ops per procs": 20395274.0, "Ops/sec/procs": 679842.0, "ns per ops/procs": 1471.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30061.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 309900584.0, "Total blocks": 162977303.0, "Ops per second": 10308925.22, "ns per ops": 97.0, "Ops per threads": 129125.0, "Ops per procs": 12912524.0, "Ops/sec/procs": 429538.55, "ns per ops/procs": 2328.08}],["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)": 179720294.0, "Total blocks": 96843418.0, "Ops per second": 5987819.66, "ns per ops": 167.01, "Ops per threads": 224650.0, "Ops per procs": 22465036.0, "Ops/sec/procs": 748477.46, "ns per ops/procs": 1336.05}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30021.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 460989142.0, "Total blocks": 246234357.0, "Ops per second": 15355532.87, "ns per ops": 65.12, "Ops per threads": 48019.0, "Ops per procs": 4801970.0, "Ops/sec/procs": 159953.47, "ns per ops/procs": 6251.82}],["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)": 307146630.0, "Ops per second": 10238221.0, "ns per ops": 97.0, "Ops per threads": 191966.0, "Ops per procs": 19196664.0, "Ops/sec/procs": 639888.0, "ns per ops/procs": 1565.0}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30040.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 461100702.0, "Ops per second": 15349302.39, "ns per ops": 65.15, "Ops per threads": 24015.0, "Ops per procs": 2401566.0, "Ops/sec/procs": 79944.28, "ns per ops/procs": 12508.71}],["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)": 136056382.0, "Ops per second": 4534984.0, "ns per ops": 220.51, "Ops per threads": 1360563.0, "Ops per procs": 136056382.0, "Ops/sec/procs": 4534984.0, "ns per ops/procs": 220.51}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.541712, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 519014098.0, "Total blocks": 3462246.0, "Ops per second": 17270797.72, "ns per ops": 57.9, "Ops per threads": 2595070.0, "Ops per procs": 259507049.0, "Ops/sec/procs": 8635398.86, "ns per ops/procs": 115.8}],["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)": 390493938.0, "Total blocks": 207020698.0, "Ops per second": 12988246.71, "ns per ops": 76.99, "Ops per threads": 54235.0, "Ops per procs": 5423526.0, "Ops/sec/procs": 180392.32, "ns per ops/procs": 5543.47}],["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)": 966872282.0, "Ops per second": 32229076.0, "ns per ops": 31.0, "Ops per threads": 50357.0, "Ops per procs": 5035793.0, "Ops/sec/procs": 167859.0, "ns per ops/procs": 5958.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30007.55481, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 628651333.0, "Total blocks": 246069418.0, "Ops per second": 20949768.72, "ns per ops": 47.73, "Ops per threads": 32742.0, "Ops per procs": 3274225.0, "Ops/sec/procs": 109113.38, "ns per ops/procs": 9164.78}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.896609, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 150429352.0, "Total blocks": 65667762.0, "Ops per second": 5005152.87, "ns per ops": 199.79, "Ops per threads": 376073.0, "Ops per procs": 37607338.0, "Ops/sec/procs": 1251288.22, "ns per ops/procs": 799.18}],["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)": 260263199.0, "Ops per second": 8664378.13, "ns per ops": 115.42, "Ops per threads": 108442.0, "Ops per procs": 10844299.0, "Ops/sec/procs": 361015.76, "ns per ops/procs": 2769.96}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30026.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 478216060.0, "Total blocks": 255553438.0, "Ops per second": 15926719.51, "ns per ops": 62.79, "Ops per threads": 49814.0, "Ops per procs": 4981417.0, "Ops/sec/procs": 165903.33, "ns per ops/procs": 6027.61}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30063.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 393440861.0, "Total blocks": 208657474.0, "Ops per second": 13086788.68, "ns per ops": 76.41, "Ops per threads": 54644.0, "Ops per procs": 5464456.0, "Ops/sec/procs": 181760.95, "ns per ops/procs": 5501.73}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30064.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 650182886.0, "Total blocks": 358920338.0, "Ops per second": 21626484.18, "ns per ops": 46.24, "Ops per threads": 45151.0, "Ops per procs": 4515158.0, "Ops/sec/procs": 150183.92, "ns per ops/procs": 6658.5}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30089.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 180914644.0, "Ops per second": 6030488.0, "ns per ops": 166.0, "Ops per threads": 904573.0, "Ops per procs": 90457322.0, "Ops/sec/procs": 3015244.0, "ns per ops/procs": 332.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)": 365406877.0, "Ops per second": 12160710.56, "ns per ops": 82.23, "Ops per threads": 76126.0, "Ops per procs": 7612643.0, "Ops/sec/procs": 253348.14, "ns per ops/procs": 3947.14}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30027.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 795530283.0, "Total blocks": 417327755.0, "Ops per second": 26493129.69, "ns per ops": 37.75, "Ops per threads": 41433.0, "Ops per procs": 4143386.0, "Ops/sec/procs": 137985.05, "ns per ops/procs": 7247.16}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30034.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 422477163.0, "Ops per second": 14082572.0, "ns per ops": 71.0, "Ops per threads": 58677.0, "Ops per procs": 5867738.0, "Ops/sec/procs": 195591.0, "ns per ops/procs": 5118.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30011.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 592781334.0, "Ops per second": 19759377.0, "ns per ops": 50.0, "Ops per threads": 123496.0, "Ops per procs": 12349611.0, "Ops/sec/procs": 411653.0, "ns per ops/procs": 2430.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30078.579584, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 490965905.0, "Total blocks": 195509201.0, "Ops per second": 16322775.6, "ns per ops": 61.26, "Ops per threads": 68189.0, "Ops per procs": 6818970.0, "Ops/sec/procs": 226705.22, "ns per ops/procs": 4411.02}],["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)": 136695609.0, "Ops per second": 4556268.78, "ns per ops": 219.48, "Ops per threads": 1366956.0, "Ops per procs": 136695609.0, "Ops/sec/procs": 4556268.78, "ns per ops/procs": 219.48}],["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)": 460244850.0, "Ops per second": 15341495.0, "ns per ops": 65.0, "Ops per threads": 4602448.0, "Ops per procs": 460244850.0, "Ops/sec/procs": 15341495.0, "ns per ops/procs": 65.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30033.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 376014949.0, "Total blocks": 204508896.0, "Ops per second": 12519978.53, "ns per ops": 79.87, "Ops per threads": 156672.0, "Ops per procs": 15667289.0, "Ops/sec/procs": 521665.77, "ns per ops/procs": 1916.94}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30038.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 402993152.0, "Ops per second": 13433105.0, "ns per ops": 74.0, "Ops per threads": 55971.0, "Ops per procs": 5597127.0, "Ops/sec/procs": 186570.0, "ns per ops/procs": 5366.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30086.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 164835473.0, "Ops per second": 5494515.0, "ns per ops": 182.0, "Ops per threads": 412088.0, "Ops per procs": 41208868.0, "Ops/sec/procs": 1373628.0, "ns per ops/procs": 730.0}],["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)": 175148256.0, "Ops per second": 5822477.81, "ns per ops": 171.75, "Ops per threads": 18244.0, "Ops per procs": 1824461.0, "Ops/sec/procs": 60650.81, "ns per ops/procs": 16487.83}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30078.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 391819015.0, "Total blocks": 207323273.0, "Ops per second": 13026668.87, "ns per ops": 76.77, "Ops per threads": 54419.0, "Ops per procs": 5441930.0, "Ops/sec/procs": 180925.96, "ns per ops/procs": 5527.12}],["rdq-churn-fibre", "./rdq-churn-fibre -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30040.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 295663167.0, "Total blocks": 151946241.0, "Ops per second": 9842120.52, "ns per ops": 101.6, "Ops per threads": 184789.0, "Ops per procs": 18478947.0, "Ops/sec/procs": 615132.53, "ns per ops/procs": 1625.67}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30078.123814, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 274883339.0, "Total blocks": 106512031.0, "Ops per second": 9138978.9, "ns per ops": 109.42, "Ops per threads": 171802.0, "Ops per procs": 17180208.0, "Ops/sec/procs": 571186.18, "ns per ops/procs": 1750.74}],["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)": 178648995.0, "Total blocks": 96170898.0, "Ops per second": 5952100.58, "ns per ops": 168.01, "Ops per threads": 223311.0, "Ops per procs": 22331124.0, "Ops/sec/procs": 744012.57, "ns per ops/procs": 1344.06}],["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)": 835606985.0, "Ops per second": 27853566.0, "ns per ops": 35.0, "Ops per threads": 58028.0, "Ops per procs": 5802826.0, "Ops/sec/procs": 193427.0, "ns per ops/procs": 5171.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30056.800334, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 719997513.0, "Total blocks": 283175891.0, "Ops per second": 23954562.86, "ns per ops": 41.75, "Ops per threads": 149999.0, "Ops per procs": 14999948.0, "Ops/sec/procs": 499053.39, "ns per ops/procs": 2003.79}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30010.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 998307858.0, "Ops per second": 33276928.0, "ns per ops": 30.0, "Ops per threads": 51995.0, "Ops per procs": 5199520.0, "Ops/sec/procs": 173317.0, "ns per ops/procs": 5771.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30049.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 497523982.0, "Ops per second": 16556849.89, "ns per ops": 60.4, "Ops per threads": 34550.0, "Ops per procs": 3455027.0, "Ops/sec/procs": 114978.12, "ns per ops/procs": 8697.31}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30075.390263, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 290705388.0, "Total blocks": 112773831.0, "Ops per second": 9665889.14, "ns per ops": 103.46, "Ops per threads": 181690.0, "Ops per procs": 18169086.0, "Ops/sec/procs": 604118.07, "ns per ops/procs": 1655.31}],["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)": 87539469.0, "Total blocks": 43771194.0, "Ops per second": 2911485.15, "ns per ops": 343.47, "Ops per threads": 437697.0, "Ops per procs": 43769734.0, "Ops/sec/procs": 1455742.58, "ns per ops/procs": 686.93}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30038.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 464947823.0, "Ops per second": 15478155.83, "ns per ops": 64.61, "Ops per threads": 32288.0, "Ops per procs": 3228804.0, "Ops/sec/procs": 107487.19, "ns per ops/procs": 9303.43}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30060.189864, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 701678862.0, "Total blocks": 245054987.0, "Ops per second": 23342462.74, "ns per ops": 42.84, "Ops per threads": 146183.0, "Ops per procs": 14618309.0, "Ops/sec/procs": 486301.31, "ns per ops/procs": 2056.34}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30038.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 414658007.0, "Ops per second": 13821933.0, "ns per ops": 72.0, "Ops per threads": 57591.0, "Ops per procs": 5759138.0, "Ops/sec/procs": 191971.0, "ns per ops/procs": 5215.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30084.619943, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 450337025.0, "Total blocks": 165496311.0, "Ops per second": 14969011.6, "ns per ops": 66.8, "Ops per threads": 62546.0, "Ops per procs": 6254680.0, "Ops/sec/procs": 207902.94, "ns per ops/procs": 4809.94}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30020.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 661384847.0, "Total blocks": 367806835.0, "Ops per second": 22031210.77, "ns per ops": 45.39, "Ops per threads": 45929.0, "Ops per procs": 4592950.0, "Ops/sec/procs": 152994.52, "ns per ops/procs": 6536.18}],["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)": 84215611.0, "Total blocks": 42109082.0, "Ops per second": 2800897.63, "ns per ops": 357.03, "Ops per threads": 421078.0, "Ops per procs": 42107805.0, "Ops/sec/procs": 1400448.81, "ns per ops/procs": 714.06}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30023.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 495024495.0, "Ops per second": 16500816.0, "ns per ops": 60.0, "Ops per threads": 206260.0, "Ops per procs": 20626020.0, "Ops/sec/procs": 687534.0, "ns per ops/procs": 1455.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)": 297381525.0, "Total blocks": 153066217.0, "Ops per second": 9902453.11, "ns per ops": 100.99, "Ops per threads": 185863.0, "Ops per procs": 18586345.0, "Ops/sec/procs": 618903.32, "ns per ops/procs": 1615.76}],["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)": 819127556.0, "Ops per second": 27304251.0, "ns per ops": 36.0, "Ops per threads": 56883.0, "Ops per procs": 5688385.0, "Ops/sec/procs": 189612.0, "ns per ops/procs": 5273.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.898838, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 297891997.0, "Total blocks": 109881649.0, "Ops per second": 9904016.19, "ns per ops": 100.97, "Ops per threads": 186182.0, "Ops per procs": 18618249.0, "Ops/sec/procs": 619001.01, "ns per ops/procs": 1615.51}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30063.809346, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 532086307.0, "Total blocks": 221255408.0, "Ops per second": 17698565.77, "ns per ops": 56.5, "Ops per threads": 36950.0, "Ops per procs": 3695043.0, "Ops/sec/procs": 122906.71, "ns per ops/procs": 8136.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)": 120240877.0, "Ops per second": 4004738.2, "ns per ops": 249.7, "Ops per threads": 601204.0, "Ops per procs": 60120438.0, "Ops/sec/procs": 2002369.1, "ns per ops/procs": 499.41}],["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)": 222000095.0, "Ops per second": 7392417.44, "ns per ops": 135.27, "Ops per threads": 138750.0, "Ops per procs": 13875005.0, "Ops/sec/procs": 462026.09, "ns per ops/procs": 2164.38}],["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)": 576213370.0, "Ops per second": 19207112.0, "ns per ops": 52.0, "Ops per threads": 120044.0, "Ops per procs": 12004445.0, "Ops/sec/procs": 400148.0, "ns per ops/procs": 2499.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30019.886862, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 368550923.0, "Total blocks": 151740389.0, "Ops per second": 12276892.47, "ns per ops": 81.45, "Ops per threads": 153562.0, "Ops per procs": 15356288.0, "Ops/sec/procs": 511537.19, "ns per ops/procs": 1954.89}],["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)": 213679380.0, "Ops per second": 7115252.22, "ns per ops": 140.54, "Ops per threads": 133549.0, "Ops per procs": 13354961.0, "Ops/sec/procs": 444703.26, "ns per ops/procs": 2248.69}],["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)": 134277573.0, "Ops per second": 4470883.52, "ns per ops": 223.67, "Ops per threads": 167846.0, "Ops per procs": 16784696.0, "Ops/sec/procs": 558860.44, "ns per ops/procs": 1789.36}],["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)": 360953725.0, "Ops per second": 12012364.73, "ns per ops": 83.25, "Ops per threads": 75198.0, "Ops per procs": 7519869.0, "Ops/sec/procs": 250257.6, "ns per ops/procs": 3995.88}],["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)": 363466694.0, "Total blocks": 198744099.0, "Ops per second": 12100515.83, "ns per ops": 82.64, "Ops per threads": 151444.0, "Ops per procs": 15144445.0, "Ops/sec/procs": 504188.16, "ns per ops/procs": 1983.39}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30052.003616, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 451311639.0, "Total blocks": 2448009.0, "Ops per second": 15017688.83, "ns per ops": 66.59, "Ops per threads": 2256558.0, "Ops per procs": 225655819.0, "Ops/sec/procs": 7508844.41, "ns per ops/procs": 133.18}],["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)": 258621333.0, "Ops per second": 8610721.96, "ns per ops": 116.13, "Ops per threads": 107758.0, "Ops per procs": 10775888.0, "Ops/sec/procs": 358780.08, "ns per ops/procs": 2787.22}],["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)": 252103223.0, "Ops per second": 8393212.59, "ns per ops": 119.14, "Ops per threads": 105043.0, "Ops per procs": 10504300.0, "Ops/sec/procs": 349717.19, "ns per ops/procs": 2859.45}],["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)": 179318716.0, "Ops per second": 5962225.11, "ns per ops": 167.72, "Ops per threads": 18679.0, "Ops per procs": 1867903.0, "Ops/sec/procs": 62106.51, "ns per ops/procs": 16101.37}],["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)": 354770205.0, "Total blocks": 190161787.0, "Ops per second": 11810679.2, "ns per ops": 84.67, "Ops per threads": 147820.0, "Ops per procs": 14782091.0, "Ops/sec/procs": 492111.63, "ns per ops/procs": 2032.06}],["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)": 427358834.0, "Ops per second": 14245294.0, "ns per ops": 70.0, "Ops per threads": 59355.0, "Ops per procs": 5935539.0, "Ops/sec/procs": 197851.0, "ns per ops/procs": 5059.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)": 118595276.0, "Ops per second": 3950060.13, "ns per ops": 253.16, "Ops per threads": 592976.0, "Ops per procs": 59297638.0, "Ops/sec/procs": 1975030.06, "ns per ops/procs": 506.32}],["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)": 151192302.0, "Ops per second": 5033349.49, "ns per ops": 198.67, "Ops per threads": 377980.0, "Ops per procs": 37798075.0, "Ops/sec/procs": 1258337.37, "ns per ops/procs": 794.7}],["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)": 489474892.0, "Ops per second": 16315829.0, "ns per ops": 61.0, "Ops per threads": 203947.0, "Ops per procs": 20394787.0, "Ops/sec/procs": 679826.0, "ns per ops/procs": 1472.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)": 157108677.0, "Ops per second": 5230846.47, "ns per ops": 191.17, "Ops per threads": 196385.0, "Ops per procs": 19638584.0, "Ops/sec/procs": 653855.81, "ns per ops/procs": 1529.39}],["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)": 833355646.0, "Ops per second": 27778521.0, "ns per ops": 36.0, "Ops per threads": 57871.0, "Ops per procs": 5787191.0, "Ops/sec/procs": 192906.0, "ns per ops/procs": 5185.0}],["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)": 166908823.0, "Ops per second": 5563627.0, "ns per ops": 180.0, "Ops per threads": 417272.0, "Ops per procs": 41727205.0, "Ops/sec/procs": 1390906.0, "ns per ops/procs": 720.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30050.848195, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 453245685.0, "Total blocks": 8754185.0, "Ops per second": 15082625.36, "ns per ops": 66.3, "Ops per threads": 2266228.0, "Ops per procs": 226622842.0, "Ops/sec/procs": 7541312.68, "ns per ops/procs": 132.6}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30037.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 429924964.0, "Ops per second": 14330832.0, "ns per ops": 69.0, "Ops per threads": 59711.0, "Ops per procs": 5971180.0, "Ops/sec/procs": 199039.0, "ns per ops/procs": 5030.0}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30038.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 454633307.0, "Ops per second": 15135144.96, "ns per ops": 66.07, "Ops per threads": 31571.0, "Ops per procs": 3157175.0, "Ops/sec/procs": 105105.17, "ns per ops/procs": 9514.28}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.166048, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1203343059.0, "Total blocks": 0.0, "Ops per second": 40044472.87, "ns per ops": 24.97, "Ops per threads": 12033430.0, "Ops per procs": 1203343059.0, "Ops/sec/procs": 40044472.87, "ns per ops/procs": 24.97}],["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)": 223987548.0, "Ops per second": 7466251.0, "ns per ops": 134.0, "Ops per threads": 279984.0, "Ops per procs": 27998443.0, "Ops/sec/procs": 933281.0, "ns per ops/procs": 1072.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.576501, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 335680092.0, "Total blocks": 126090058.0, "Ops per second": 11181294.63, "ns per ops": 89.44, "Ops per threads": 139866.0, "Ops per procs": 13986670.0, "Ops/sec/procs": 465887.28, "ns per ops/procs": 2146.44}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30098.735706, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 537147968.0, "Total blocks": 216861523.0, "Ops per second": 17846197.04, "ns per ops": 56.03, "Ops per threads": 37301.0, "Ops per procs": 3730194.0, "Ops/sec/procs": 123931.92, "ns per ops/procs": 8068.95}],["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)": 224188139.0, "Ops per second": 7466357.04, "ns per ops": 133.93, "Ops per threads": 140117.0, "Ops per procs": 14011758.0, "Ops/sec/procs": 466647.31, "ns per ops/procs": 2142.95}],["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)": 180060386.0, "Total blocks": 97118665.0, "Ops per second": 5998687.41, "ns per ops": 166.7, "Ops per threads": 225075.0, "Ops per procs": 22507548.0, "Ops/sec/procs": 749835.93, "ns per ops/procs": 1333.63}],["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)": 361971693.0, "Ops per second": 12055325.88, "ns per ops": 82.95, "Ops per threads": 50273.0, "Ops per procs": 5027384.0, "Ops/sec/procs": 167435.08, "ns per ops/procs": 5972.46}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 346753917.0, "Total blocks": 185859244.0, "Ops per second": 11542759.34, "ns per ops": 86.63, "Ops per threads": 144480.0, "Ops per procs": 14448079.0, "Ops/sec/procs": 480948.31, "ns per ops/procs": 2079.23}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.35337, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 211184628.0, "Total blocks": 89543027.0, "Ops per second": 7025354.14, "ns per ops": 142.34, "Ops per threads": 263980.0, "Ops per procs": 26398078.0, "Ops/sec/procs": 878169.27, "ns per ops/procs": 1138.73}],["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)": 143753366.0, "Total blocks": 86925579.0, "Ops per second": 4776980.56, "ns per ops": 209.34, "Ops per threads": 359383.0, "Ops per procs": 35938341.0, "Ops/sec/procs": 1194245.14, "ns per ops/procs": 837.35}],["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)": 256513936.0, "Ops per second": 8539099.61, "ns per ops": 117.11, "Ops per threads": 106880.0, "Ops per procs": 10688080.0, "Ops/sec/procs": 355795.82, "ns per ops/procs": 2810.6}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.217559, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1191471061.0, "Total blocks": 1330770.0, "Ops per second": 39649332.28, "ns per ops": 25.22, "Ops per threads": 11914710.0, "Ops per procs": 1191471061.0, "Ops/sec/procs": 39649332.28, "ns per ops/procs": 25.22}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30049.789372, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 554932737.0, "Total blocks": 191922530.0, "Ops per second": 18467109.04, "ns per ops": 54.15, "Ops per threads": 38536.0, "Ops per procs": 3853699.0, "Ops/sec/procs": 128243.81, "ns per ops/procs": 7797.65}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30062.13595, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 202750516.0, "Total blocks": 71965211.0, "Ops per second": 6744381.58, "ns per ops": 148.27, "Ops per threads": 253438.0, "Ops per procs": 25343814.0, "Ops/sec/procs": 843047.7, "ns per ops/procs": 1186.17}],["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)": 317570660.0, "Ops per second": 10585688.0, "ns per ops": 94.0, "Ops per threads": 198481.0, "Ops per procs": 19848166.0, "Ops/sec/procs": 661605.0, "ns per ops/procs": 1514.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.910043, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 453290817.0, "Total blocks": 1854188.0, "Ops per second": 15083594.23, "ns per ops": 66.3, "Ops per threads": 2266454.0, "Ops per procs": 226645408.0, "Ops/sec/procs": 7541797.12, "ns per ops/procs": 132.59}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30040.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 149664937.0, "Ops per second": 4982078.11, "ns per ops": 200.72, "Ops per threads": 374162.0, "Ops per procs": 37416234.0, "Ops/sec/procs": 1245519.53, "ns per ops/procs": 802.88}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30095.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 486012141.0, "Total blocks": 259186868.0, "Ops per second": 16148796.6, "ns per ops": 61.92, "Ops per threads": 50626.0, "Ops per procs": 5062626.0, "Ops/sec/procs": 168216.63, "ns per ops/procs": 5944.72}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30051.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 405648381.0, "Total blocks": 214551337.0, "Ops per second": 13498538.49, "ns per ops": 74.08, "Ops per threads": 56340.0, "Ops per procs": 5634005.0, "Ops/sec/procs": 187479.7, "ns per ops/procs": 5333.91}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30096.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 635261238.0, "Total blocks": 352786326.0, "Ops per second": 21107308.15, "ns per ops": 47.38, "Ops per threads": 44115.0, "Ops per procs": 4411536.0, "Ops/sec/procs": 146578.53, "ns per ops/procs": 6822.28}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30019.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 489212975.0, "Ops per second": 16307099.0, "ns per ops": 61.0, "Ops per threads": 203838.0, "Ops per procs": 20383873.0, "Ops/sec/procs": 679462.0, "ns per ops/procs": 1472.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30021.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 491620536.0, "Ops per second": 16387351.0, "ns per ops": 61.0, "Ops per threads": 102420.0, "Ops per procs": 10242094.0, "Ops/sec/procs": 341403.0, "ns per ops/procs": 2931.0}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 295180165.0, "Total blocks": 151695423.0, "Ops per second": 9828257.14, "ns per ops": 101.75, "Ops per threads": 184487.0, "Ops per procs": 18448760.0, "Ops/sec/procs": 614266.07, "ns per ops/procs": 1627.96}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 220472099.0, "Ops per second": 7349069.0, "ns per ops": 136.0, "Ops per threads": 275590.0, "Ops per procs": 27559012.0, "Ops/sec/procs": 918633.0, "ns per ops/procs": 1090.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)": 351956354.0, "Total blocks": 188710844.0, "Ops per second": 11716625.66, "ns per ops": 85.35, "Ops per threads": 146648.0, "Ops per procs": 14664848.0, "Ops/sec/procs": 488192.74, "ns per ops/procs": 2048.37}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30030.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 484251626.0, "Ops per second": 16141720.0, "ns per ops": 62.0, "Ops per threads": 100885.0, "Ops per procs": 10088575.0, "Ops/sec/procs": 336285.0, "ns per ops/procs": 2976.0}],["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)": 638967782.0, "Ops per second": 21277352.41, "ns per ops": 47.0, "Ops per threads": 88745.0, "Ops per procs": 8874552.0, "Ops/sec/procs": 295518.78, "ns per ops/procs": 3383.88}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.593328, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 156804544.0, "Total blocks": 74816955.0, "Ops per second": 5217150.18, "ns per ops": 191.68, "Ops per threads": 392011.0, "Ops per procs": 39201136.0, "Ops/sec/procs": 1304287.54, "ns per ops/procs": 766.7}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.477463, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 447361740.0, "Total blocks": 804301.0, "Ops per second": 14886514.0, "ns per ops": 67.17, "Ops per threads": 2236808.0, "Ops per procs": 223680870.0, "Ops/sec/procs": 7443257.0, "ns per ops/procs": 134.35}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30031.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 485692115.0, "Ops per second": 16189737.0, "ns per ops": 61.0, "Ops per threads": 50592.0, "Ops per procs": 5059292.0, "Ops/sec/procs": 168643.0, "ns per ops/procs": 5935.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)": 133951887.0, "Ops per second": 4459984.78, "ns per ops": 224.22, "Ops per threads": 167439.0, "Ops per procs": 16743985.0, "Ops/sec/procs": 557498.1, "ns per ops/procs": 1793.73}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.202142, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 295448454.0, "Total blocks": 127016909.0, "Ops per second": 9823003.24, "ns per ops": 101.8, "Ops per threads": 184655.0, "Ops per procs": 18465528.0, "Ops/sec/procs": 613937.7, "ns per ops/procs": 1628.83}],["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)": 415518029.0, "Ops per second": 13838265.52, "ns per ops": 72.26, "Ops per threads": 57710.0, "Ops per procs": 5771083.0, "Ops/sec/procs": 192198.13, "ns per ops/procs": 5202.96}],["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)": 218068235.0, "Ops per second": 7268941.0, "ns per ops": 137.0, "Ops per threads": 272585.0, "Ops per procs": 27258529.0, "Ops/sec/procs": 908617.0, "ns per ops/procs": 1101.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30002.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 967980836.0, "Ops per second": 32266027.0, "ns per ops": 30.0, "Ops per threads": 50415.0, "Ops per procs": 5041566.0, "Ops/sec/procs": 168052.0, "ns per ops/procs": 5950.0}],["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)": 621485773.0, "Ops per second": 20697560.72, "ns per ops": 48.31, "Ops per threads": 86317.0, "Ops per procs": 8631746.0, "Ops/sec/procs": 287466.12, "ns per ops/procs": 3478.67}],["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)": 155994127.0, "Ops per second": 5194060.14, "ns per ops": 192.53, "Ops per threads": 194992.0, "Ops per procs": 19499265.0, "Ops/sec/procs": 649257.52, "ns per ops/procs": 1540.22}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30069.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 648391912.0, "Total blocks": 360593314.0, "Ops per second": 21562876.49, "ns per ops": 46.38, "Ops per threads": 45027.0, "Ops per procs": 4502721.0, "Ops/sec/procs": 149742.2, "ns per ops/procs": 6678.15}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30016.464045, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 585048196.0, "Total blocks": 241029283.0, "Ops per second": 19490909.89, "ns per ops": 51.31, "Ops per threads": 30471.0, "Ops per procs": 3047126.0, "Ops/sec/procs": 101515.16, "ns per ops/procs": 9850.75}],["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)": 185779358.0, "Ops per second": 6192645.0, "ns per ops": 161.0, "Ops per threads": 928896.0, "Ops per procs": 92889679.0, "Ops/sec/procs": 3096322.0, "ns per ops/procs": 323.0}],["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)": 306368555.0, "Ops per second": 10212285.0, "ns per ops": 98.0, "Ops per threads": 191480.0, "Ops per procs": 19148034.0, "Ops/sec/procs": 638267.0, "ns per ops/procs": 1570.0}],["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)": 367957104.0, "Ops per second": 12246040.41, "ns per ops": 81.66, "Ops per threads": 76657.0, "Ops per procs": 7665773.0, "Ops/sec/procs": 255125.84, "ns per ops/procs": 3919.63}],["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)": 216218063.0, "Ops per second": 7200051.01, "ns per ops": 138.89, "Ops per threads": 135136.0, "Ops per procs": 13513628.0, "Ops/sec/procs": 450003.19, "ns per ops/procs": 2222.21}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30025.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 118397368.0, "Ops per second": 3943178.95, "ns per ops": 253.6, "Ops per threads": 591986.0, "Ops per procs": 59198684.0, "Ops/sec/procs": 1971589.48, "ns per ops/procs": 507.2}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30078.265793, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 293185383.0, "Total blocks": 112209049.0, "Ops per second": 9747416.46, "ns per ops": 102.59, "Ops per threads": 183240.0, "Ops per procs": 18324086.0, "Ops/sec/procs": 609213.53, "ns per ops/procs": 1641.46}],["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)": 686637253.0, "Ops per second": 22864579.22, "ns per ops": 43.74, "Ops per threads": 95366.0, "Ops per procs": 9536628.0, "Ops/sec/procs": 317563.6, "ns per ops/procs": 3148.98}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30035.28097, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 518287679.0, "Total blocks": 199952052.0, "Ops per second": 17255962.4, "ns per ops": 57.95, "Ops per threads": 53988.0, "Ops per procs": 5398829.0, "Ops/sec/procs": 179749.61, "ns per ops/procs": 5563.3}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30052.113055, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 662990250.0, "Total blocks": 242148809.0, "Ops per second": 22061352.18, "ns per ops": 45.33, "Ops per threads": 138122.0, "Ops per procs": 13812296.0, "Ops/sec/procs": 459611.5, "ns per ops/procs": 2175.75}],["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)": 366049203.0, "Ops per second": 12182154.2, "ns per ops": 82.09, "Ops per threads": 76260.0, "Ops per procs": 7626025.0, "Ops/sec/procs": 253794.88, "ns per ops/procs": 3940.19}],["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)": 144508007.0, "Ops per second": 4810832.12, "ns per ops": 207.86, "Ops per threads": 180635.0, "Ops per procs": 18063500.0, "Ops/sec/procs": 601354.02, "ns per ops/procs": 1662.91}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30095.286527, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 569654633.0, "Total blocks": 223488744.0, "Ops per second": 18928367.15, "ns per ops": 52.83, "Ops per threads": 39559.0, "Ops per procs": 3955934.0, "Ops/sec/procs": 131446.99, "ns per ops/procs": 7607.63}],["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)": 444077233.0, "Ops per second": 14782259.76, "ns per ops": 67.65, "Ops per threads": 30838.0, "Ops per procs": 3083869.0, "Ops/sec/procs": 102654.58, "ns per ops/procs": 9741.41}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 176607855.0, "Ops per second": 5886928.0, "ns per ops": 170.0, "Ops per threads": 883039.0, "Ops per procs": 88303927.0, "Ops/sec/procs": 2943464.0, "ns per ops/procs": 340.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30082.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 650094122.0, "Total blocks": 361602989.0, "Ops per second": 21610556.29, "ns per ops": 46.27, "Ops per threads": 45145.0, "Ops per procs": 4514542.0, "Ops/sec/procs": 150073.31, "ns per ops/procs": 6663.41}],["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)": 231429181.0, "Ops per second": 7707226.52, "ns per ops": 129.75, "Ops per threads": 144643.0, "Ops per procs": 14464323.0, "Ops/sec/procs": 481701.66, "ns per ops/procs": 2075.97}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 161432893.0, "Total blocks": 87321068.0, "Ops per second": 5374769.9, "ns per ops": 186.05, "Ops per threads": 201791.0, "Ops per procs": 20179111.0, "Ops/sec/procs": 671846.24, "ns per ops/procs": 1488.44}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30048.794962, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 547667800.0, "Total blocks": 202267056.0, "Ops per second": 18225948.85, "ns per ops": 54.87, "Ops per threads": 57048.0, "Ops per procs": 5704872.0, "Ops/sec/procs": 189853.63, "ns per ops/procs": 5267.22}],["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)": 841709635.0, "Ops per second": 28056987.0, "ns per ops": 35.0, "Ops per threads": 58452.0, "Ops per procs": 5845205.0, "Ops/sec/procs": 194840.0, "ns per ops/procs": 5133.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30033.50335, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 553080283.0, "Total blocks": 206590418.0, "Ops per second": 18415443.47, "ns per ops": 54.3, "Ops per threads": 38408.0, "Ops per procs": 3840835.0, "Ops/sec/procs": 127885.02, "ns per ops/procs": 7819.52}],["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)": 143703241.0, "Ops per second": 4784646.74, "ns per ops": 209.0, "Ops per threads": 179629.0, "Ops per procs": 17962905.0, "Ops/sec/procs": 598080.84, "ns per ops/procs": 1672.01}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30026.964502, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 543013048.0, "Total blocks": 218812100.0, "Ops per second": 18084180.57, "ns per ops": 55.3, "Ops per threads": 37709.0, "Ops per procs": 3770923.0, "Ops/sec/procs": 125584.59, "ns per ops/procs": 7962.76}],["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)": 222380161.0, "Ops per second": 7405416.38, "ns per ops": 135.04, "Ops per threads": 138987.0, "Ops per procs": 13898760.0, "Ops/sec/procs": 462838.52, "ns per ops/procs": 2160.58}],["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)": 218649601.0, "Ops per second": 7281546.78, "ns per ops": 137.33, "Ops per threads": 136656.0, "Ops per procs": 13665600.0, "Ops/sec/procs": 455096.67, "ns per ops/procs": 2197.34}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30055.410932, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 494167663.0, "Total blocks": 184581990.0, "Ops per second": 16441886.76, "ns per ops": 60.82, "Ops per threads": 68634.0, "Ops per procs": 6863439.0, "Ops/sec/procs": 228359.54, "ns per ops/procs": 4379.06}],["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)": 118798632.0, "Ops per second": 3957296.34, "ns per ops": 252.7, "Ops per threads": 593993.0, "Ops per procs": 59399316.0, "Ops/sec/procs": 1978648.17, "ns per ops/procs": 505.4}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30026.673081, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 561258054.0, "Total blocks": 199394662.0, "Ops per second": 18691982.71, "ns per ops": 53.5, "Ops per threads": 58464.0, "Ops per procs": 5846438.0, "Ops/sec/procs": 194708.15, "ns per ops/procs": 5135.89}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.167793, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 455320726.0, "Total blocks": 3932383.0, "Ops per second": 15151515.21, "ns per ops": 66.0, "Ops per threads": 2276603.0, "Ops per procs": 227660363.0, "Ops/sec/procs": 7575757.61, "ns per ops/procs": 132.0}],["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)": 120523896.0, "Total blocks": 71597726.0, "Ops per second": 4004154.95, "ns per ops": 249.74, "Ops per threads": 301309.0, "Ops per procs": 30130974.0, "Ops/sec/procs": 1001038.74, "ns per ops/procs": 998.96}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30083.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 318138317.0, "Ops per second": 10604610.0, "ns per ops": 94.0, "Ops per threads": 198836.0, "Ops per procs": 19883644.0, "Ops/sec/procs": 662788.0, "ns per ops/procs": 1512.0}],["rdq-churn-go", "./rdq-churn-go -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)": 136522993.0, "Ops per second": 4546746.46, "ns per ops": 219.94, "Ops per threads": 1365229.0, "Ops per procs": 136522993.0, "Ops/sec/procs": 4546746.46, "ns per ops/procs": 219.94}],["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)": 506799324.0, "Total blocks": 278949440.0, "Ops per second": 16837136.67, "ns per ops": 59.39, "Ops per threads": 105583.0, "Ops per procs": 10558319.0, "Ops/sec/procs": 350773.68, "ns per ops/procs": 2850.84}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 500621559.0, "Ops per second": 16687385.0, "ns per ops": 59.0, "Ops per threads": 52148.0, "Ops per procs": 5214807.0, "Ops/sec/procs": 173826.0, "ns per ops/procs": 5756.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30077.47981, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 287320119.0, "Total blocks": 108882567.0, "Ops per second": 9552666.01, "ns per ops": 104.68, "Ops per threads": 179575.0, "Ops per procs": 17957507.0, "Ops/sec/procs": 597041.63, "ns per ops/procs": 1674.93}],["rdq-churn-go", "./rdq-churn-go -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30024.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 239583176.0, "Ops per second": 7979631.4, "ns per ops": 125.32, "Ops per threads": 149739.0, "Ops per procs": 14973948.0, "Ops/sec/procs": 498726.96, "ns per ops/procs": 2005.11}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30060.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 167239503.0, "Ops per second": 5574650.0, "ns per ops": 179.0, "Ops per threads": 418098.0, "Ops per procs": 41809875.0, "Ops/sec/procs": 1393662.0, "ns per ops/procs": 718.0}],["rdq-churn-fibre", "./rdq-churn-fibre -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": 48.0, "Total Operations(ops)": 503519362.0, "Total blocks": 277419786.0, "Ops per second": 16782920.93, "ns per ops": 59.58, "Ops per threads": 104899.0, "Ops per procs": 10489986.0, "Ops/sec/procs": 349644.19, "ns per ops/procs": 2860.05}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30049.349784, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 717076122.0, "Total blocks": 274220017.0, "Ops per second": 23863282.47, "ns per ops": 41.91, "Ops per threads": 149390.0, "Ops per procs": 14939085.0, "Ops/sec/procs": 497151.72, "ns per ops/procs": 2011.46}],["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)": 364413042.0, "Ops per second": 12129000.29, "ns per ops": 82.45, "Ops per threads": 75919.0, "Ops per procs": 7591938.0, "Ops/sec/procs": 252687.51, "ns per ops/procs": 3957.46}],["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)": 453636692.0, "Ops per second": 15096967.31, "ns per ops": 66.24, "Ops per threads": 23626.0, "Ops per procs": 2362691.0, "Ops/sec/procs": 78630.04, "ns per ops/procs": 12717.79}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 150252490.0, "Ops per second": 5004153.72, "ns per ops": 199.83, "Ops per threads": 187815.0, "Ops per procs": 18781561.0, "Ops/sec/procs": 625519.21, "ns per ops/procs": 1598.67}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30052.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 403300680.0, "Total blocks": 211142254.0, "Ops per second": 13420091.18, "ns per ops": 74.52, "Ops per threads": 56013.0, "Ops per procs": 5601398.0, "Ops/sec/procs": 186390.16, "ns per ops/procs": 5365.09}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.584234, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 151976230.0, "Total blocks": 72512868.0, "Ops per second": 5056673.84, "ns per ops": 197.76, "Ops per threads": 379940.0, "Ops per procs": 37994057.0, "Ops/sec/procs": 1264168.46, "ns per ops/procs": 791.03}],["rdq-churn-go", "./rdq-churn-go -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": 72.0, "Total Operations(ops)": 384058417.0, "Ops per second": 12791616.7, "ns per ops": 78.18, "Ops per threads": 53341.0, "Ops per procs": 5334144.0, "Ops/sec/procs": 177661.34, "ns per ops/procs": 5628.69}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30049.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 224235663.0, "Ops per second": 7474522.0, "ns per ops": 134.0, "Ops per threads": 280294.0, "Ops per procs": 28029457.0, "Ops/sec/procs": 934315.0, "ns per ops/procs": 1072.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.90884, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 457146378.0, "Total blocks": 4354283.0, "Ops per second": 15211891.55, "ns per ops": 65.74, "Ops per threads": 2285731.0, "Ops per procs": 228573189.0, "Ops/sec/procs": 7605945.77, "ns per ops/procs": 131.48}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30092.947204, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 445395114.0, "Total blocks": 160695648.0, "Ops per second": 14800647.84, "ns per ops": 67.56, "Ops per threads": 61860.0, "Ops per procs": 6186043.0, "Ops/sec/procs": 205564.55, "ns per ops/procs": 4864.65}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30069.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 316535439.0, "Ops per second": 10551181.0, "ns per ops": 94.0, "Ops per threads": 197834.0, "Ops per procs": 19783464.0, "Ops/sec/procs": 659448.0, "ns per ops/procs": 1519.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30029.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 499478438.0, "Ops per second": 16649281.0, "ns per ops": 60.0, "Ops per threads": 52029.0, "Ops per procs": 5202900.0, "Ops/sec/procs": 173430.0, "ns per ops/procs": 5771.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30074.09714, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 449729842.0, "Total blocks": 164692498.0, "Ops per second": 14954059.63, "ns per ops": 66.87, "Ops per threads": 62462.0, "Ops per procs": 6246247.0, "Ops/sec/procs": 207695.27, "ns per ops/procs": 4814.75}],["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)": 839569012.0, "Ops per second": 27985633.0, "ns per ops": 35.0, "Ops per threads": 58303.0, "Ops per procs": 5830340.0, "Ops/sec/procs": 194344.0, "ns per ops/procs": 5146.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30052.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 407664001.0, "Ops per second": 13588800.0, "ns per ops": 73.0, "Ops per threads": 56620.0, "Ops per procs": 5662000.0, "Ops/sec/procs": 188733.0, "ns per ops/procs": 5307.0}],["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)": 473430603.0, "Ops per second": 15753366.08, "ns per ops": 63.48, "Ops per threads": 24657.0, "Ops per procs": 2465784.0, "Ops/sec/procs": 82048.78, "ns per ops/procs": 12187.87}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30075.423217, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 274612732.0, "Total blocks": 93168104.0, "Ops per second": 9130801.92, "ns per ops": 109.52, "Ops per threads": 171632.0, "Ops per procs": 17163295.0, "Ops/sec/procs": 570675.12, "ns per ops/procs": 1752.31}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30085.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 410586760.0, "Total blocks": 216454604.0, "Ops per second": 13647384.27, "ns per ops": 73.27, "Ops per threads": 57025.0, "Ops per procs": 5702593.0, "Ops/sec/procs": 189547.0, "ns per ops/procs": 5275.74}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30059.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 404725482.0, "Total blocks": 213051228.0, "Ops per second": 13464248.53, "ns per ops": 74.27, "Ops per threads": 56211.0, "Ops per procs": 5621187.0, "Ops/sec/procs": 187003.45, "ns per ops/procs": 5347.5}],["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)": 479035717.0, "Total blocks": 255720322.0, "Ops per second": 15963538.86, "ns per ops": 62.64, "Ops per threads": 49899.0, "Ops per procs": 4989955.0, "Ops/sec/procs": 166286.86, "ns per ops/procs": 6013.7}],["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)": 136409693.0, "Ops per second": 4546748.4, "ns per ops": 219.94, "Ops per threads": 1364096.0, "Ops per procs": 136409693.0, "Ops/sec/procs": 4546748.4, "ns per ops/procs": 219.94}],["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)": 210974431.0, "Ops per second": 7025455.59, "ns per ops": 142.34, "Ops per threads": 131859.0, "Ops per procs": 13185901.0, "Ops/sec/procs": 439090.97, "ns per ops/procs": 2277.43}],["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)": 549104700.0, "Total blocks": 304859004.0, "Ops per second": 18250896.3, "ns per ops": 54.79, "Ops per threads": 114396.0, "Ops per procs": 11439681.0, "Ops/sec/procs": 380227.01, "ns per ops/procs": 2630.01}],["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)": 546325320.0, "Total blocks": 303485414.0, "Ops per second": 18155163.43, "ns per ops": 55.08, "Ops per threads": 113817.0, "Ops per procs": 11381777.0, "Ops/sec/procs": 378232.57, "ns per ops/procs": 2643.88}],["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)": 230101579.0, "Ops per second": 7661004.77, "ns per ops": 130.53, "Ops per threads": 143813.0, "Ops per procs": 14381348.0, "Ops/sec/procs": 478812.8, "ns per ops/procs": 2088.5}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30089.519404, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 431748437.0, "Total blocks": 174784846.0, "Ops per second": 14348798.04, "ns per ops": 69.69, "Ops per threads": 59965.0, "Ops per procs": 5996506.0, "Ops/sec/procs": 199288.86, "ns per ops/procs": 5017.84}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.732024, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1203302068.0, "Total blocks": 0.0, "Ops per second": 40043687.15, "ns per ops": 24.97, "Ops per threads": 12033020.0, "Ops per procs": 1203302068.0, "Ops/sec/procs": 40043687.15, "ns per ops/procs": 24.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.856, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 513190925.0, "Total blocks": 1211761.0, "Ops per second": 17076846.27, "ns per ops": 58.56, "Ops per threads": 2565954.0, "Ops per procs": 256595462.0, "Ops/sec/procs": 8538423.13, "ns per ops/procs": 117.12}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30025.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 480420317.0, "Ops per second": 16014010.0, "ns per ops": 62.0, "Ops per threads": 200175.0, "Ops per procs": 20017513.0, "Ops/sec/procs": 667250.0, "ns per ops/procs": 1499.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)": 192408701.0, "Total blocks": 0.0, "Ops per second": 6407823.67, "ns per ops": 156.06, "Ops per threads": 1924087.0, "Ops per procs": 192408701.0, "Ops/sec/procs": 6407823.67, "ns per ops/procs": 156.06}],["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)": 179762652.0, "Total blocks": 96977070.0, "Ops per second": 5989325.7, "ns per ops": 166.96, "Ops per threads": 224703.0, "Ops per procs": 22470331.0, "Ops/sec/procs": 748665.71, "ns per ops/procs": 1335.71}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.291468, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 366641766.0, "Total blocks": 142397645.0, "Ops per second": 12212724.64, "ns per ops": 81.88, "Ops per threads": 152767.0, "Ops per procs": 15276740.0, "Ops/sec/procs": 508863.53, "ns per ops/procs": 1965.16}],["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)": 161349221.0, "Ops per second": 5371852.47, "ns per ops": 186.16, "Ops per threads": 403373.0, "Ops per procs": 40337305.0, "Ops/sec/procs": 1342963.12, "ns per ops/procs": 744.62}],["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)": 192278499.0, "Total blocks": 0.0, "Ops per second": 6403513.47, "ns per ops": 156.16, "Ops per threads": 1922784.0, "Ops per procs": 192278499.0, "Ops/sec/procs": 6403513.47, "ns per ops/procs": 156.16}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30059.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 319580917.0, "Ops per second": 10652697.0, "ns per ops": 94.0, "Ops per threads": 199738.0, "Ops per procs": 19973807.0, "Ops/sec/procs": 665793.0, "ns per ops/procs": 1504.0}],["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)": 546907675.0, "Total blocks": 303993585.0, "Ops per second": 18176654.38, "ns per ops": 55.02, "Ops per threads": 113939.0, "Ops per procs": 11393909.0, "Ops/sec/procs": 378680.3, "ns per ops/procs": 2640.75}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30048.044701, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 686275241.0, "Total blocks": 260725338.0, "Ops per second": 22839264.51, "ns per ops": 43.78, "Ops per threads": 142974.0, "Ops per procs": 14297400.0, "Ops/sec/procs": 475818.01, "ns per ops/procs": 2101.64}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30007.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 224118185.0, "Ops per second": 7470606.0, "ns per ops": 133.0, "Ops per threads": 280147.0, "Ops per procs": 28014773.0, "Ops/sec/procs": 933825.0, "ns per ops/procs": 1071.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30032.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 780039424.0, "Total blocks": 406598221.0, "Ops per second": 25972987.05, "ns per ops": 38.5, "Ops per threads": 40627.0, "Ops per procs": 4062705.0, "Ops/sec/procs": 135275.97, "ns per ops/procs": 7392.3}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30064.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 766518642.0, "Total blocks": 399561533.0, "Ops per second": 25495430.01, "ns per ops": 39.22, "Ops per threads": 39922.0, "Ops per procs": 3992284.0, "Ops/sec/procs": 132788.7, "ns per ops/procs": 7530.76}],["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)": 369220616.0, "Ops per second": 12287825.46, "ns per ops": 81.38, "Ops per threads": 76920.0, "Ops per procs": 7692096.0, "Ops/sec/procs": 255996.36, "ns per ops/procs": 3906.31}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30077.98976, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 550661432.0, "Total blocks": 233427204.0, "Ops per second": 18307787.07, "ns per ops": 54.62, "Ops per threads": 28680.0, "Ops per procs": 2868028.0, "Ops/sec/procs": 95353.06, "ns per ops/procs": 10487.34}],["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)": 151781081.0, "Ops per second": 5054147.27, "ns per ops": 197.86, "Ops per threads": 189726.0, "Ops per procs": 18972635.0, "Ops/sec/procs": 631768.41, "ns per ops/procs": 1582.86}],["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)": 489172969.0, "Ops per second": 16305765.0, "ns per ops": 61.0, "Ops per threads": 203822.0, "Ops per procs": 20382207.0, "Ops/sec/procs": 679406.0, "ns per ops/procs": 1472.0}],["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)": 168558017.0, "Ops per second": 5618600.0, "ns per ops": 178.0, "Ops per threads": 421395.0, "Ops per procs": 42139504.0, "Ops/sec/procs": 1404650.0, "ns per ops/procs": 713.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)": 368478476.0, "Ops per second": 12262314.16, "ns per ops": 81.55, "Ops per threads": 76766.0, "Ops per procs": 7676634.0, "Ops/sec/procs": 255464.88, "ns per ops/procs": 3914.43}],["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)": 251031652.0, "Ops per second": 8357450.51, "ns per ops": 119.65, "Ops per threads": 104596.0, "Ops per procs": 10459652.0, "Ops/sec/procs": 348227.1, "ns per ops/procs": 2871.69}],["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)": 411007153.0, "Ops per second": 13700238.0, "ns per ops": 73.0, "Ops per threads": 57084.0, "Ops per procs": 5708432.0, "Ops/sec/procs": 190281.0, "ns per ops/procs": 5263.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)": 192508166.0, "Total blocks": 0.0, "Ops per second": 6411255.09, "ns per ops": 155.98, "Ops per threads": 1925081.0, "Ops per procs": 192508166.0, "Ops/sec/procs": 6411255.09, "ns per ops/procs": 155.98}],["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)": 217098912.0, "Ops per second": 7236630.0, "ns per ops": 138.0, "Ops per threads": 271373.0, "Ops per procs": 27137364.0, "Ops/sec/procs": 904578.0, "ns per ops/procs": 1106.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30060.266647, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 520281745.0, "Total blocks": 193469152.0, "Ops per second": 17307955.09, "ns per ops": 57.78, "Ops per threads": 54196.0, "Ops per procs": 5419601.0, "Ops/sec/procs": 180291.2, "ns per ops/procs": 5546.58}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30038.825862, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 639542051.0, "Total blocks": 195130995.0, "Ops per second": 21290514.28, "ns per ops": 46.97, "Ops per threads": 33309.0, "Ops per procs": 3330948.0, "Ops/sec/procs": 110888.1, "ns per ops/procs": 9018.1}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30037.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 420965320.0, "Ops per second": 14032177.0, "ns per ops": 71.0, "Ops per threads": 58467.0, "Ops per procs": 5846740.0, "Ops/sec/procs": 194891.0, "ns per ops/procs": 5137.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)": 135120420.0, "Ops per second": 4503778.84, "ns per ops": 222.04, "Ops per threads": 1351204.0, "Ops per procs": 135120420.0, "Ops/sec/procs": 4503778.84, "ns per ops/procs": 222.04}],["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)": 180394539.0, "Total blocks": 97365389.0, "Ops per second": 6010539.2, "ns per ops": 166.37, "Ops per threads": 225493.0, "Ops per procs": 22549317.0, "Ops/sec/procs": 751317.4, "ns per ops/procs": 1331.0}],["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)": 234195932.0, "Ops per second": 7799415.34, "ns per ops": 128.21, "Ops per threads": 146372.0, "Ops per procs": 14637245.0, "Ops/sec/procs": 487463.46, "ns per ops/procs": 2051.44}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30040.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 432389881.0, "Ops per second": 14393327.27, "ns per ops": 69.48, "Ops per threads": 22520.0, "Ops per procs": 2252030.0, "Ops/sec/procs": 74965.25, "ns per ops/procs": 13339.51}],["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)": 237983574.0, "Ops per second": 7925620.93, "ns per ops": 126.17, "Ops per threads": 148739.0, "Ops per procs": 14873973.0, "Ops/sec/procs": 495351.31, "ns per ops/procs": 2018.77}],["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)": 192551687.0, "Total blocks": 0.0, "Ops per second": 6412604.61, "ns per ops": 155.94, "Ops per threads": 1925516.0, "Ops per procs": 192551687.0, "Ops/sec/procs": 6412604.61, "ns per ops/procs": 155.94}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30047.902625, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 436006175.0, "Total blocks": 172685130.0, "Ops per second": 14510369.67, "ns per ops": 68.92, "Ops per threads": 60556.0, "Ops per procs": 6055641.0, "Ops/sec/procs": 201532.91, "ns per ops/procs": 4961.97}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30054.730213, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 174550924.0, "Total blocks": 43636476.0, "Ops per second": 5807768.79, "ns per ops": 172.18, "Ops per threads": 436377.0, "Ops per procs": 43637731.0, "Ops/sec/procs": 1451942.2, "ns per ops/procs": 688.73}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.661686, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 509144612.0, "Total blocks": 3468721.0, "Ops per second": 16942311.45, "ns per ops": 59.02, "Ops per threads": 2545723.0, "Ops per procs": 254572306.0, "Ops/sec/procs": 8471155.73, "ns per ops/procs": 118.05}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30060.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 171086534.0, "Ops per second": 5702884.0, "ns per ops": 175.0, "Ops per threads": 427716.0, "Ops per procs": 42771633.0, "Ops/sec/procs": 1425721.0, "ns per ops/procs": 702.0}],["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)": 153220970.0, "Ops per second": 5100937.13, "ns per ops": 196.04, "Ops per threads": 383052.0, "Ops per procs": 38305242.0, "Ops/sec/procs": 1275234.28, "ns per ops/procs": 784.17}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.143262, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 139908678.0, "Total blocks": 66492307.0, "Ops per second": 4655066.08, "ns per ops": 214.82, "Ops per threads": 349771.0, "Ops per procs": 34977169.0, "Ops/sec/procs": 1163766.52, "ns per ops/procs": 859.28}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30045.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 388406248.0, "Ops per second": 12946874.0, "ns per ops": 77.0, "Ops per threads": 53945.0, "Ops per procs": 5394531.0, "Ops/sec/procs": 179817.0, "ns per ops/procs": 5569.0}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30031.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 147741060.0, "Ops per second": 4919542.56, "ns per ops": 203.27, "Ops per threads": 369352.0, "Ops per procs": 36935265.0, "Ops/sec/procs": 1229885.64, "ns per ops/procs": 813.08}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.139224, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1201558746.0, "Total blocks": 48188.0, "Ops per second": 39985130.75, "ns per ops": 25.01, "Ops per threads": 12015587.0, "Ops per procs": 1201558746.0, "Ops/sec/procs": 39985130.75, "ns per ops/procs": 25.01}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30053.438807, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 764383665.0, "Total blocks": 276217432.0, "Ops per second": 25434149.81, "ns per ops": 39.32, "Ops per threads": 159246.0, "Ops per procs": 15924659.0, "Ops/sec/procs": 529878.12, "ns per ops/procs": 1887.23}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 220456710.0, "Ops per second": 7348557.0, "ns per ops": 136.0, "Ops per threads": 275570.0, "Ops per procs": 27557088.0, "Ops/sec/procs": 918569.0, "ns per ops/procs": 1089.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)": 460834385.0, "Ops per second": 15361146.0, "ns per ops": 65.0, "Ops per threads": 4608343.0, "Ops per procs": 460834385.0, "Ops/sec/procs": 15361146.0, "ns per ops/procs": 65.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.963027, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 348654768.0, "Total blocks": 127740860.0, "Ops per second": 11613323.48, "ns per ops": 86.11, "Ops per threads": 145272.0, "Ops per procs": 14527282.0, "Ops/sec/procs": 483888.48, "ns per ops/procs": 2066.59}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 344867790.0, "Total blocks": 182853485.0, "Ops per second": 11480219.83, "ns per ops": 87.11, "Ops per threads": 143694.0, "Ops per procs": 14369491.0, "Ops/sec/procs": 478342.49, "ns per ops/procs": 2090.55}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30018.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 584025738.0, "Ops per second": 19467524.0, "ns per ops": 51.0, "Ops per threads": 121672.0, "Ops per procs": 12167202.0, "Ops/sec/procs": 405573.0, "ns per ops/procs": 2467.0}],["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)": 275522323.0, "Total blocks": 139885510.0, "Ops per second": 9172643.35, "ns per ops": 109.02, "Ops per threads": 172201.0, "Ops per procs": 17220145.0, "Ops/sec/procs": 573290.21, "ns per ops/procs": 1744.32}],["rdq-churn-go", "./rdq-churn-go -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30033.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 249537493.0, "Ops per second": 8308716.77, "ns per ops": 120.36, "Ops per threads": 103973.0, "Ops per procs": 10397395.0, "Ops/sec/procs": 346196.53, "ns per ops/procs": 2888.53}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30066.25612, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 470495820.0, "Total blocks": 174985413.0, "Ops per second": 15648633.41, "ns per ops": 63.9, "Ops per threads": 65346.0, "Ops per procs": 6534664.0, "Ops/sec/procs": 217342.13, "ns per ops/procs": 4601.04}],["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)": 135422869.0, "Total blocks": 82057107.0, "Ops per second": 4499857.7, "ns per ops": 222.23, "Ops per threads": 338557.0, "Ops per procs": 33855717.0, "Ops/sec/procs": 1124964.42, "ns per ops/procs": 888.92}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30039.595314, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 622528463.0, "Total blocks": 241935300.0, "Ops per second": 20723596.86, "ns per ops": 48.25, "Ops per threads": 32423.0, "Ops per procs": 3242335.0, "Ops/sec/procs": 107935.4, "ns per ops/procs": 9264.8}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30010.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 832431123.0, "Ops per second": 27747704.0, "ns per ops": 36.0, "Ops per threads": 57807.0, "Ops per procs": 5780771.0, "Ops/sec/procs": 192692.0, "ns per ops/procs": 5191.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30084.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 403400629.0, "Total blocks": 211866068.0, "Ops per second": 13408988.85, "ns per ops": 74.58, "Ops per threads": 56027.0, "Ops per procs": 5602786.0, "Ops/sec/procs": 186235.96, "ns per ops/procs": 5369.53}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30025.603656, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 559680215.0, "Total blocks": 207513229.0, "Ops per second": 18640098.68, "ns per ops": 53.65, "Ops per threads": 58300.0, "Ops per procs": 5830002.0, "Ops/sec/procs": 194167.69, "ns per ops/procs": 5150.19}],["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)": 460859354.0, "Ops per second": 15361978.0, "ns per ops": 65.0, "Ops per threads": 4608593.0, "Ops per procs": 460859354.0, "Ops/sec/procs": 15361978.0, "ns per ops/procs": 65.0}],["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)": 506104297.0, "Total blocks": 278804829.0, "Ops per second": 16814745.59, "ns per ops": 59.47, "Ops per threads": 105438.0, "Ops per procs": 10543839.0, "Ops/sec/procs": 350307.2, "ns per ops/procs": 2854.64}],["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)": 180383551.0, "Ops per second": 5995394.97, "ns per ops": 166.79, "Ops per threads": 18789.0, "Ops per procs": 1878995.0, "Ops/sec/procs": 62452.03, "ns per ops/procs": 16012.29}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30044.620866, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 659407644.0, "Total blocks": 263217603.0, "Ops per second": 21947610.75, "ns per ops": 45.56, "Ops per threads": 34344.0, "Ops per procs": 3434414.0, "Ops/sec/procs": 114310.47, "ns per ops/procs": 8748.11}],["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)": 192551754.0, "Total blocks": 0.0, "Ops per second": 6412595.41, "ns per ops": 155.94, "Ops per threads": 1925517.0, "Ops per procs": 192551754.0, "Ops/sec/procs": 6412595.41, "ns per ops/procs": 155.94}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.022076, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 148097981.0, "Total blocks": 70656487.0, "Ops per second": 4927561.88, "ns per ops": 202.94, "Ops per threads": 370244.0, "Ops per procs": 37024495.0, "Ops/sec/procs": 1231890.47, "ns per ops/procs": 811.76}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30011.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 591273090.0, "Ops per second": 19709103.0, "ns per ops": 50.0, "Ops per threads": 123181.0, "Ops per procs": 12318189.0, "Ops/sec/procs": 410606.0, "ns per ops/procs": 2436.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.250692, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 146432067.0, "Total blocks": 69689176.0, "Ops per second": 4872096.01, "ns per ops": 205.25, "Ops per threads": 366080.0, "Ops per procs": 36608016.0, "Ops/sec/procs": 1218024.0, "ns per ops/procs": 821.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30059.108827, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 470109958.0, "Total blocks": 178952564.0, "Ops per second": 15639517.48, "ns per ops": 63.94, "Ops per threads": 65293.0, "Ops per procs": 6529304.0, "Ops/sec/procs": 217215.52, "ns per ops/procs": 4603.72}],["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)": 297665501.0, "Total blocks": 153299544.0, "Ops per second": 9911873.91, "ns per ops": 100.89, "Ops per threads": 186040.0, "Ops per procs": 18604093.0, "Ops/sec/procs": 619492.12, "ns per ops/procs": 1614.23}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30043.531403, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 600490304.0, "Total blocks": 235484020.0, "Ops per second": 19987340.9, "ns per ops": 50.03, "Ops per threads": 41700.0, "Ops per procs": 4170071.0, "Ops/sec/procs": 138800.98, "ns per ops/procs": 7204.56}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30036.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 410597024.0, "Ops per second": 13686567.0, "ns per ops": 73.0, "Ops per threads": 57027.0, "Ops per procs": 5702736.0, "Ops/sec/procs": 190091.0, "ns per ops/procs": 5266.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 515524891.0, "Ops per second": 17184163.0, "ns per ops": 58.0, "Ops per threads": 53700.0, "Ops per procs": 5370050.0, "Ops/sec/procs": 179001.0, "ns per ops/procs": 5590.0}],["rdq-churn-fibre", "./rdq-churn-fibre -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": 96.0, "Total Operations(ops)": 475786004.0, "Total blocks": 252002313.0, "Ops per second": 15855671.1, "ns per ops": 63.07, "Ops per threads": 49561.0, "Ops per procs": 4956104.0, "Ops/sec/procs": 165163.24, "ns per ops/procs": 6054.62}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30031.908586, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 630058044.0, "Total blocks": 246439654.0, "Ops per second": 20979620.47, "ns per ops": 47.67, "Ops per threads": 32815.0, "Ops per procs": 3281552.0, "Ops/sec/procs": 109268.86, "ns per ops/procs": 9151.74}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30028.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 481142242.0, "Ops per second": 16038074.0, "ns per ops": 62.0, "Ops per threads": 200475.0, "Ops per procs": 20047593.0, "Ops/sec/procs": 668253.0, "ns per ops/procs": 1497.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)": 119728039.0, "Ops per second": 3988180.77, "ns per ops": 250.74, "Ops per threads": 598640.0, "Ops per procs": 59864019.0, "Ops/sec/procs": 1994090.39, "ns per ops/procs": 501.48}],["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)": 295962201.0, "Total blocks": 152162900.0, "Ops per second": 9854893.53, "ns per ops": 101.47, "Ops per threads": 184976.0, "Ops per procs": 18497637.0, "Ops/sec/procs": 615930.85, "ns per ops/procs": 1623.56}],["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)": 136197300.0, "Ops per second": 4539671.37, "ns per ops": 220.28, "Ops per threads": 1361973.0, "Ops per procs": 136197300.0, "Ops/sec/procs": 4539671.37, "ns per ops/procs": 220.28}],["rdq-churn-fibre", "./rdq-churn-fibre -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30023.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 168324118.0, "Total blocks": 91661768.0, "Ops per second": 5606387.16, "ns per ops": 178.37, "Ops per threads": 210405.0, "Ops per procs": 21040514.0, "Ops/sec/procs": 700798.39, "ns per ops/procs": 1426.94}],["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)": 136334753.0, "Ops per second": 4544249.33, "ns per ops": 220.06, "Ops per threads": 1363347.0, "Ops per procs": 136334753.0, "Ops/sec/procs": 4544249.33, "ns per ops/procs": 220.06}],["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)": 119086238.0, "Ops per second": 3966301.68, "ns per ops": 252.12, "Ops per threads": 595431.0, "Ops per procs": 59543119.0, "Ops/sec/procs": 1983150.84, "ns per ops/procs": 504.25}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30031.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 222435516.0, "Ops per second": 7414517.0, "ns per ops": 135.0, "Ops per threads": 278044.0, "Ops per procs": 27804439.0, "Ops/sec/procs": 926814.0, "ns per ops/procs": 1080.0}],["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)": 83916392.0, "Total blocks": 41958959.0, "Ops per second": 2790719.03, "ns per ops": 358.33, "Ops per threads": 419581.0, "Ops per procs": 41958196.0, "Ops/sec/procs": 1395359.51, "ns per ops/procs": 716.66}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.870883, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 164607492.0, "Total blocks": 70920731.0, "Ops per second": 5476716.77, "ns per ops": 182.59, "Ops per threads": 411518.0, "Ops per procs": 41151873.0, "Ops/sec/procs": 1369179.19, "ns per ops/procs": 730.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.236823, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 201529808.0, "Total blocks": 84857606.0, "Ops per second": 6704198.95, "ns per ops": 149.16, "Ops per threads": 251912.0, "Ops per procs": 25191226.0, "Ops/sec/procs": 838024.87, "ns per ops/procs": 1193.28}],["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)": 840143003.0, "Ops per second": 28004766.0, "ns per ops": 35.0, "Ops per threads": 58343.0, "Ops per procs": 5834326.0, "Ops/sec/procs": 194477.0, "ns per ops/procs": 5143.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.925477, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 352878671.0, "Total blocks": 142203864.0, "Ops per second": 11754031.94, "ns per ops": 85.08, "Ops per threads": 147032.0, "Ops per procs": 14703277.0, "Ops/sec/procs": 489751.33, "ns per ops/procs": 2041.85}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30065.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 90194985.0, "Total blocks": 45098289.0, "Ops per second": 2999965.64, "ns per ops": 333.34, "Ops per threads": 450974.0, "Ops per procs": 45097492.0, "Ops/sec/procs": 1499982.82, "ns per ops/procs": 666.67}],["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)": 500343296.0, "Ops per second": 16678109.0, "ns per ops": 59.0, "Ops per threads": 52119.0, "Ops per procs": 5211909.0, "Ops/sec/procs": 173730.0, "ns per ops/procs": 5758.0}],["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)": 175180667.0, "Total blocks": 94784128.0, "Ops per second": 5835222.83, "ns per ops": 171.37, "Ops per threads": 218975.0, "Ops per procs": 21897583.0, "Ops/sec/procs": 729402.85, "ns per ops/procs": 1370.98}],["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)": 83081069.0, "Total blocks": 41541254.0, "Ops per second": 2762961.84, "ns per ops": 361.93, "Ops per threads": 415405.0, "Ops per procs": 41540534.0, "Ops/sec/procs": 1381480.92, "ns per ops/procs": 723.86}],["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)": 821300496.0, "Ops per second": 27376683.0, "ns per ops": 36.0, "Ops per threads": 57034.0, "Ops per procs": 5703475.0, "Ops/sec/procs": 190115.0, "ns per ops/procs": 5260.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30000.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 500612696.0, "Total blocks": 275756116.0, "Ops per second": 16686723.46, "ns per ops": 59.93, "Ops per threads": 104294.0, "Ops per procs": 10429431.0, "Ops/sec/procs": 347640.07, "ns per ops/procs": 2876.54}],["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)": 661980983.0, "Total blocks": 366126464.0, "Ops per second": 22002319.14, "ns per ops": 45.45, "Ops per threads": 45970.0, "Ops per procs": 4597090.0, "Ops/sec/procs": 152793.88, "ns per ops/procs": 6544.76}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.122702, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1202828808.0, "Total blocks": 215949.0, "Ops per second": 40027417.52, "ns per ops": 24.98, "Ops per threads": 12028288.0, "Ops per procs": 1202828808.0, "Ops/sec/procs": 40027417.52, "ns per ops/procs": 24.98}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30060.245147, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 701602348.0, "Total blocks": 264282622.0, "Ops per second": 23339874.46, "ns per ops": 42.85, "Ops per threads": 146167.0, "Ops per procs": 14616715.0, "Ops/sec/procs": 486247.38, "ns per ops/procs": 2056.57}],["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)": 87903474.0, "Total blocks": 43952899.0, "Ops per second": 2923647.37, "ns per ops": 342.04, "Ops per threads": 439517.0, "Ops per procs": 43951737.0, "Ops/sec/procs": 1461823.69, "ns per ops/procs": 684.08}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30084.428668, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 612081203.0, "Total blocks": 251211309.0, "Ops per second": 20345448.8, "ns per ops": 49.15, "Ops per threads": 31879.0, "Ops per procs": 3187922.0, "Ops/sec/procs": 105965.88, "ns per ops/procs": 9437.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30076.783803, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 294334592.0, "Total blocks": 124235654.0, "Ops per second": 9786105.92, "ns per ops": 102.19, "Ops per threads": 183959.0, "Ops per procs": 18395912.0, "Ops/sec/procs": 611631.62, "ns per ops/procs": 1634.97}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30058.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 477746427.0, "Total blocks": 255533482.0, "Ops per second": 15893845.89, "ns per ops": 62.92, "Ops per threads": 49765.0, "Ops per procs": 4976525.0, "Ops/sec/procs": 165560.89, "ns per ops/procs": 6040.07}],["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)": 179493744.0, "Total blocks": 96798499.0, "Ops per second": 5979029.7, "ns per ops": 167.25, "Ops per threads": 224367.0, "Ops per procs": 22436718.0, "Ops/sec/procs": 747378.71, "ns per ops/procs": 1338.01}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30019.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 503912435.0, "Ops per second": 16797081.0, "ns per ops": 59.0, "Ops per threads": 52490.0, "Ops per procs": 5249087.0, "Ops/sec/procs": 174969.0, "ns per ops/procs": 5719.0}],["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)": 646388282.0, "Ops per second": 21525773.98, "ns per ops": 46.46, "Ops per threads": 89776.0, "Ops per procs": 8977615.0, "Ops/sec/procs": 298969.08, "ns per ops/procs": 3344.83}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30019.674334, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 341419072.0, "Total blocks": 136890326.0, "Ops per second": 11373177.08, "ns per ops": 87.93, "Ops per threads": 142257.0, "Ops per procs": 14225794.0, "Ops/sec/procs": 473882.38, "ns per ops/procs": 2110.23}],["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)": 117705686.0, "Ops per second": 3920387.28, "ns per ops": 255.08, "Ops per threads": 588528.0, "Ops per procs": 58852843.0, "Ops/sec/procs": 1960193.64, "ns per ops/procs": 510.15}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30056.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 220996430.0, "Ops per second": 7366547.0, "ns per ops": 136.0, "Ops per threads": 276245.0, "Ops per procs": 27624553.0, "Ops/sec/procs": 920818.0, "ns per ops/procs": 1088.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)": 119628109.0, "Ops per second": 3984482.26, "ns per ops": 250.97, "Ops per threads": 598140.0, "Ops per procs": 59814054.0, "Ops/sec/procs": 1992241.13, "ns per ops/procs": 501.95}],["rdq-churn-go", "./rdq-churn-go -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30060.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 454587693.0, "Ops per second": 15122315.43, "ns per ops": 66.13, "Ops per threads": 23676.0, "Ops per procs": 2367644.0, "Ops/sec/procs": 78762.06, "ns per ops/procs": 12696.47}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30030.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 547744780.0, "Total blocks": 304355050.0, "Ops per second": 18239819.45, "ns per ops": 54.83, "Ops per threads": 114113.0, "Ops per procs": 11411349.0, "Ops/sec/procs": 379996.24, "ns per ops/procs": 2631.61}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30059.589771, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 186604395.0, "Total blocks": 83295232.0, "Ops per second": 6207815.76, "ns per ops": 161.09, "Ops per threads": 233255.0, "Ops per procs": 23325549.0, "Ops/sec/procs": 775976.97, "ns per ops/procs": 1288.7}],["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)": 133769930.0, "Total blocks": 81014656.0, "Ops per second": 4444919.33, "ns per ops": 224.98, "Ops per threads": 334424.0, "Ops per procs": 33442482.0, "Ops/sec/procs": 1111229.83, "ns per ops/procs": 899.9}],["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)": 460687687.0, "Ops per second": 15356256.0, "ns per ops": 65.0, "Ops per threads": 4606876.0, "Ops per procs": 460687687.0, "Ops/sec/procs": 15356256.0, "ns per ops/procs": 65.0}],["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)": 135654554.0, "Total blocks": 82159792.0, "Ops per second": 4507767.92, "ns per ops": 221.84, "Ops per threads": 339136.0, "Ops per procs": 33913638.0, "Ops/sec/procs": 1126941.98, "ns per ops/procs": 887.36}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30034.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 459461903.0, "Ops per second": 15315396.0, "ns per ops": 65.0, "Ops per threads": 95721.0, "Ops per procs": 9572122.0, "Ops/sec/procs": 319070.0, "ns per ops/procs": 3137.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30094.481119, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 545307853.0, "Total blocks": 216162896.0, "Ops per second": 18119862.27, "ns per ops": 55.19, "Ops per threads": 37868.0, "Ops per procs": 3786860.0, "Ops/sec/procs": 125832.38, "ns per ops/procs": 7947.08}],["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)": 460491082.0, "Ops per second": 15349702.0, "ns per ops": 65.0, "Ops per threads": 4604910.0, "Ops per procs": 460491082.0, "Ops/sec/procs": 15349702.0, "ns per ops/procs": 65.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30065.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 87676299.0, "Total blocks": 43839148.0, "Ops per second": 2916177.41, "ns per ops": 342.91, "Ops per threads": 438381.0, "Ops per procs": 43838149.0, "Ops/sec/procs": 1458088.71, "ns per ops/procs": 685.83}],["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)": 356608988.0, "Ops per second": 11876048.4, "ns per ops": 84.2, "Ops per threads": 49529.0, "Ops per procs": 4952902.0, "Ops/sec/procs": 164945.12, "ns per ops/procs": 6062.62}],["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)": 177202973.0, "Ops per second": 5906765.0, "ns per ops": 169.0, "Ops per threads": 886014.0, "Ops per procs": 88601486.0, "Ops/sec/procs": 2953382.0, "ns per ops/procs": 338.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30065.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 87966257.0, "Total blocks": 43983966.0, "Ops per second": 2925833.08, "ns per ops": 341.78, "Ops per threads": 439831.0, "Ops per procs": 43983128.0, "Ops/sec/procs": 1462916.54, "ns per ops/procs": 683.57}],["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)": 647191409.0, "Total blocks": 360156884.0, "Ops per second": 21502460.73, "ns per ops": 46.51, "Ops per threads": 44943.0, "Ops per procs": 4494384.0, "Ops/sec/procs": 149322.64, "ns per ops/procs": 6696.91}],["rdq-churn-go", "./rdq-churn-go -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30040.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 159541992.0, "Ops per second": 5310866.49, "ns per ops": 188.29, "Ops per threads": 398854.0, "Ops per procs": 39885498.0, "Ops/sec/procs": 1327716.62, "ns per ops/procs": 753.17}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30032.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 761341360.0, "Total blocks": 399393870.0, "Ops per second": 25350679.46, "ns per ops": 39.45, "Ops per threads": 39653.0, "Ops per procs": 3965319.0, "Ops/sec/procs": 132034.79, "ns per ops/procs": 7573.76}],["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)": 168451360.0, "Ops per second": 5615045.0, "ns per ops": 178.0, "Ops per threads": 421128.0, "Ops per procs": 42112840.0, "Ops/sec/procs": 1403761.0, "ns per ops/procs": 714.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30096.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 665689370.0, "Total blocks": 375371525.0, "Ops per second": 22118234.55, "ns per ops": 45.21, "Ops per threads": 46228.0, "Ops per procs": 4622842.0, "Ops/sec/procs": 153598.85, "ns per ops/procs": 6510.47}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30055.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 354906234.0, "Ops per second": 11808204.11, "ns per ops": 84.69, "Ops per threads": 36969.0, "Ops per procs": 3696939.0, "Ops/sec/procs": 123002.13, "ns per ops/procs": 8129.94}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30025.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 221130057.0, "Ops per second": 7371001.0, "ns per ops": 135.0, "Ops per threads": 276412.0, "Ops per procs": 27641257.0, "Ops/sec/procs": 921375.0, "ns per ops/procs": 1086.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)": 118441600.0, "Ops per second": 3944922.48, "ns per ops": 253.49, "Ops per threads": 592208.0, "Ops per procs": 59220800.0, "Ops/sec/procs": 1972461.24, "ns per ops/procs": 506.98}],["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)": 135880223.0, "Ops per second": 4529119.31, "ns per ops": 220.79, "Ops per threads": 1358802.0, "Ops per procs": 135880223.0, "Ops/sec/procs": 4529119.31, "ns per ops/procs": 220.79}],["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)": 460236807.0, "Ops per second": 15341226.0, "ns per ops": 65.0, "Ops per threads": 4602368.0, "Ops per procs": 460236807.0, "Ops/sec/procs": 15341226.0, "ns per ops/procs": 65.0}],["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)": 474576187.0, "Ops per second": 15798460.11, "ns per ops": 63.3, "Ops per threads": 32956.0, "Ops per procs": 3295667.0, "Ops/sec/procs": 109711.53, "ns per ops/procs": 9114.81}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30018.847889, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 373721253.0, "Total blocks": 147400726.0, "Ops per second": 12449553.51, "ns per ops": 80.32, "Ops per threads": 155717.0, "Ops per procs": 15571718.0, "Ops/sec/procs": 518731.4, "ns per ops/procs": 1927.78}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30023.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 464554355.0, "Ops per second": 15485145.0, "ns per ops": 64.0, "Ops per threads": 96782.0, "Ops per procs": 9678215.0, "Ops/sec/procs": 322607.0, "ns per ops/procs": 3102.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.536077, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 150237929.0, "Total blocks": 71852696.0, "Ops per second": 4998677.4, "ns per ops": 200.05, "Ops per threads": 375594.0, "Ops per procs": 37559482.0, "Ops/sec/procs": 1249669.35, "ns per ops/procs": 800.21}],["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)": 968176632.0, "Ops per second": 32272554.0, "ns per ops": 30.0, "Ops per threads": 50425.0, "Ops per procs": 5042586.0, "Ops/sec/procs": 168086.0, "ns per ops/procs": 5950.0}],["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)": 804402642.0, "Ops per second": 26813421.0, "ns per ops": 37.0, "Ops per threads": 55861.0, "Ops per procs": 5586129.0, "Ops/sec/procs": 186204.0, "ns per ops/procs": 5371.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30025.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 473211737.0, "Ops per second": 15773724.0, "ns per ops": 63.0, "Ops per threads": 197171.0, "Ops per procs": 19717155.0, "Ops/sec/procs": 657238.0, "ns per ops/procs": 1522.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.740251, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 271871433.0, "Total blocks": 65699952.0, "Ops per second": 9044069.8, "ns per ops": 110.57, "Ops per threads": 339839.0, "Ops per procs": 33983929.0, "Ops/sec/procs": 1130508.72, "ns per ops/procs": 884.56}],["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)": 460859342.0, "Ops per second": 15361978.0, "ns per ops": 65.0, "Ops per threads": 4608593.0, "Ops per procs": 460859342.0, "Ops/sec/procs": 15361978.0, "ns per ops/procs": 65.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30051.620044, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 483983889.0, "Total blocks": 602711.0, "Ops per second": 16105084.79, "ns per ops": 62.09, "Ops per threads": 2419919.0, "Ops per procs": 241991944.0, "Ops/sec/procs": 8052542.4, "ns per ops/procs": 124.18}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.208613, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1201956961.0, "Total blocks": 51944.0, "Ops per second": 39998290.08, "ns per ops": 25.0, "Ops per threads": 12019569.0, "Ops per procs": 1201956961.0, "Ops/sec/procs": 39998290.08, "ns per ops/procs": 25.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30078.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 183083603.0, "Ops per second": 6102786.0, "ns per ops": 164.0, "Ops per threads": 915418.0, "Ops per procs": 91541801.0, "Ops/sec/procs": 3051393.0, "ns per ops/procs": 328.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30099.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 505567041.0, "Total blocks": 278301401.0, "Ops per second": 16796392.46, "ns per ops": 59.54, "Ops per threads": 105326.0, "Ops per procs": 10532646.0, "Ops/sec/procs": 349924.84, "ns per ops/procs": 2857.76}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30020.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 796549363.0, "Total blocks": 418984418.0, "Ops per second": 26533847.23, "ns per ops": 37.69, "Ops per threads": 41486.0, "Ops per procs": 4148694.0, "Ops/sec/procs": 138197.12, "ns per ops/procs": 7236.04}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 789386502.0, "Total blocks": 415122174.0, "Ops per second": 26270653.92, "ns per ops": 38.07, "Ops per threads": 41113.0, "Ops per procs": 4111388.0, "Ops/sec/procs": 136826.32, "ns per ops/procs": 7308.54}],["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)": 293331384.0, "Total blocks": 151133801.0, "Ops per second": 9767127.12, "ns per ops": 102.38, "Ops per threads": 183332.0, "Ops per procs": 18333211.0, "Ops/sec/procs": 610445.45, "ns per ops/procs": 1638.15}],["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)": 135651798.0, "Ops per second": 4521501.13, "ns per ops": 221.17, "Ops per threads": 1356517.0, "Ops per procs": 135651798.0, "Ops/sec/procs": 4521501.13, "ns per ops/procs": 221.17}],["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)": 275236578.0, "Total blocks": 139727371.0, "Ops per second": 9162995.43, "ns per ops": 109.13, "Ops per threads": 172022.0, "Ops per procs": 17202286.0, "Ops/sec/procs": 572687.21, "ns per ops/procs": 1746.15}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30056.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 221536923.0, "Ops per second": 7384564.0, "ns per ops": 135.0, "Ops per threads": 276921.0, "Ops per procs": 27692115.0, "Ops/sec/procs": 923070.0, "ns per ops/procs": 1085.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30033.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 375198936.0, "Total blocks": 204178016.0, "Ops per second": 12492879.26, "ns per ops": 80.05, "Ops per threads": 156332.0, "Ops per procs": 15633289.0, "Ops/sec/procs": 520536.64, "ns per ops/procs": 1921.09}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30093.303697, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 651299427.0, "Total blocks": 265214200.0, "Ops per second": 21642669.53, "ns per ops": 46.21, "Ops per threads": 33921.0, "Ops per procs": 3392184.0, "Ops/sec/procs": 112722.24, "ns per ops/procs": 8871.37}],["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)": 449899327.0, "Ops per second": 14975316.07, "ns per ops": 66.78, "Ops per threads": 23432.0, "Ops per procs": 2343225.0, "Ops/sec/procs": 77996.44, "ns per ops/procs": 12821.1}],["rdq-churn-go", "./rdq-churn-go -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30027.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 118421786.0, "Ops per second": 3943820.08, "ns per ops": 253.56, "Ops per threads": 592108.0, "Ops per procs": 59210893.0, "Ops/sec/procs": 1971910.04, "ns per ops/procs": 507.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)": 135892970.0, "Ops per second": 4529538.45, "ns per ops": 220.77, "Ops per threads": 1358929.0, "Ops per procs": 135892970.0, "Ops/sec/procs": 4529538.45, "ns per ops/procs": 220.77}],["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)": 460286648.0, "Ops per second": 15342888.0, "ns per ops": 65.0, "Ops per threads": 4602866.0, "Ops per procs": 460286648.0, "Ops/sec/procs": 15342888.0, "ns per ops/procs": 65.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)": 87334526.0, "Total blocks": 43668323.0, "Ops per second": 2904753.11, "ns per ops": 344.26, "Ops per threads": 436672.0, "Ops per procs": 43667263.0, "Ops/sec/procs": 1452376.56, "ns per ops/procs": 688.53}],["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)": 741095299.0, "Ops per second": 24678140.57, "ns per ops": 40.52, "Ops per threads": 102929.0, "Ops per procs": 10292990.0, "Ops/sec/procs": 342751.95, "ns per ops/procs": 2917.56}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.457934, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 150676091.0, "Total blocks": 71935390.0, "Ops per second": 5013268.85, "ns per ops": 199.47, "Ops per threads": 376690.0, "Ops per procs": 37669022.0, "Ops/sec/procs": 1253317.21, "ns per ops/procs": 797.88}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30063.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 391598940.0, "Total blocks": 206889133.0, "Ops per second": 13025785.52, "ns per ops": 76.77, "Ops per threads": 54388.0, "Ops per procs": 5438874.0, "Ops/sec/procs": 180913.69, "ns per ops/procs": 5527.5}],["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)": 652612113.0, "Total blocks": 363156653.0, "Ops per second": 21688961.18, "ns per ops": 46.11, "Ops per threads": 45320.0, "Ops per procs": 4532028.0, "Ops/sec/procs": 150617.79, "ns per ops/procs": 6639.32}],["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)": 138756786.0, "Ops per second": 4619575.56, "ns per ops": 216.47, "Ops per threads": 173445.0, "Ops per procs": 17344598.0, "Ops/sec/procs": 577446.95, "ns per ops/procs": 1731.76}],["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)": 85803402.0, "Total blocks": 42903267.0, "Ops per second": 2853758.01, "ns per ops": 350.42, "Ops per threads": 429017.0, "Ops per procs": 42901701.0, "Ops/sec/procs": 1426879.01, "ns per ops/procs": 700.83}],["rdq-churn-tokio", "./rdq-churn-tokio -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": 6.0, "Total Operations(ops)": 161091880.0, "Ops per second": 5369729.0, "ns per ops": 186.0, "Ops per threads": 402729.0, "Ops per procs": 40272970.0, "Ops/sec/procs": 1342432.0, "ns per ops/procs": 747.0}],["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)": 459415438.0, "Total blocks": 244812779.0, "Ops per second": 15294876.94, "ns per ops": 65.38, "Ops per threads": 47855.0, "Ops per procs": 4785577.0, "Ops/sec/procs": 159321.63, "ns per ops/procs": 6276.61}],["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)": 192434695.0, "Total blocks": 0.0, "Ops per second": 6408693.9, "ns per ops": 156.04, "Ops per threads": 1924346.0, "Ops per procs": 192434695.0, "Ops/sec/procs": 6408693.9, "ns per ops/procs": 156.04}],["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)": 247779497.0, "Ops per second": 8241667.03, "ns per ops": 121.33, "Ops per threads": 25810.0, "Ops per procs": 2581036.0, "Ops/sec/procs": 85850.7, "ns per ops/procs": 11648.13}],["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)": 361439845.0, "Ops per second": 12029471.57, "ns per ops": 83.13, "Ops per threads": 75299.0, "Ops per procs": 7529996.0, "Ops/sec/procs": 250613.99, "ns per ops/procs": 3990.2}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30027.32212, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 550084059.0, "Total blocks": 219224618.0, "Ops per second": 18319451.09, "ns per ops": 54.59, "Ops per threads": 38200.0, "Ops per procs": 3820028.0, "Ops/sec/procs": 127218.41, "ns per ops/procs": 7860.5}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30001.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 474753877.0, "Total blocks": 252536334.0, "Ops per second": 15824074.36, "ns per ops": 63.19, "Ops per threads": 49453.0, "Ops per procs": 4945352.0, "Ops/sec/procs": 164834.11, "ns per ops/procs": 6066.71}],["rdq-churn-tokio", "./rdq-churn-tokio -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": 6.0, "Total Operations(ops)": 190577302.0, "Ops per second": 6352576.0, "ns per ops": 157.0, "Ops per threads": 952886.0, "Ops per procs": 95288651.0, "Ops/sec/procs": 3176288.0, "ns per ops/procs": 315.0}],["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)": 473908378.0, "Ops per second": 15772093.54, "ns per ops": 63.4, "Ops per threads": 24682.0, "Ops per procs": 2468272.0, "Ops/sec/procs": 82146.32, "ns per ops/procs": 12173.4}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30058.254308, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 603961379.0, "Total blocks": 231948294.0, "Ops per second": 20093029.12, "ns per ops": 49.77, "Ops per threads": 41941.0, "Ops per procs": 4194176.0, "Ops/sec/procs": 139534.92, "ns per ops/procs": 7166.66}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30076.293572, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 293341421.0, "Total blocks": 108768494.0, "Ops per second": 9753243.71, "ns per ops": 102.53, "Ops per threads": 183338.0, "Ops per procs": 18333838.0, "Ops/sec/procs": 609577.73, "ns per ops/procs": 1640.48}],["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)": 163513045.0, "Total blocks": 88564650.0, "Ops per second": 5446502.26, "ns per ops": 183.6, "Ops per threads": 204391.0, "Ops per procs": 20439130.0, "Ops/sec/procs": 680812.78, "ns per ops/procs": 1468.83}],["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)": 261124684.0, "Ops per second": 8693562.33, "ns per ops": 115.03, "Ops per threads": 108801.0, "Ops per procs": 10880195.0, "Ops/sec/procs": 362231.76, "ns per ops/procs": 2760.66}],["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)": 135836583.0, "Ops per second": 4527661.59, "ns per ops": 220.86, "Ops per threads": 1358365.0, "Ops per procs": 135836583.0, "Ops/sec/procs": 4527661.59, "ns per ops/procs": 220.86}],["rdq-churn-fibre", "./rdq-churn-fibre -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30009.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 465629080.0, "Total blocks": 246326915.0, "Ops per second": 15515958.89, "ns per ops": 64.45, "Ops per threads": 48503.0, "Ops per procs": 4850302.0, "Ops/sec/procs": 161624.57, "ns per ops/procs": 6187.18}],["rdq-churn-tokio", "./rdq-churn-tokio -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30011.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 6.0, "Total Operations(ops)": 805137941.0, "Ops per second": 26837931.0, "ns per ops": 37.0, "Ops per threads": 55912.0, "Ops per procs": 5591235.0, "Ops/sec/procs": 186374.0, "ns per ops/procs": 5367.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)": 161494954.0, "Total blocks": 87372340.0, "Ops per second": 5377104.82, "ns per ops": 185.97, "Ops per threads": 201868.0, "Ops per procs": 20186869.0, "Ops/sec/procs": 672138.1, "ns per ops/procs": 1487.79}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30078.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 780859964.0, "Total blocks": 408047601.0, "Ops per second": 25961057.89, "ns per ops": 38.52, "Ops per threads": 40669.0, "Ops per procs": 4066978.0, "Ops/sec/procs": 135213.84, "ns per ops/procs": 7395.69}],["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)": 120561852.0, "Ops per second": 4015481.46, "ns per ops": 249.04, "Ops per threads": 602809.0, "Ops per procs": 60280926.0, "Ops/sec/procs": 2007740.73, "ns per ops/procs": 498.07}],["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)": 87172413.0, "Total blocks": 43587486.0, "Ops per second": 2899313.35, "ns per ops": 344.91, "Ops per threads": 435862.0, "Ops per procs": 43586206.0, "Ops/sec/procs": 1449656.68, "ns per ops/procs": 689.82}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30033.879539, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 518084721.0, "Total blocks": 210937934.0, "Ops per second": 17250009.95, "ns per ops": 57.97, "Ops per threads": 53967.0, "Ops per procs": 5396715.0, "Ops/sec/procs": 179687.6, "ns per ops/procs": 5565.22}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30023.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 481809053.0, "Ops per second": 16060301.0, "ns per ops": 62.0, "Ops per threads": 100376.0, "Ops per procs": 10037688.0, "Ops/sec/procs": 334589.0, "ns per ops/procs": 2991.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)": 354906174.0, "Ops per second": 11812390.73, "ns per ops": 84.66, "Ops per threads": 73938.0, "Ops per procs": 7393878.0, "Ops/sec/procs": 246091.47, "ns per ops/procs": 4063.53}],["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)": 135692522.0, "Total blocks": 82122490.0, "Ops per second": 4508846.12, "ns per ops": 221.79, "Ops per threads": 339231.0, "Ops per procs": 33923130.0, "Ops/sec/procs": 1127211.53, "ns per ops/procs": 887.14}],["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)": 192121982.0, "Total blocks": 0.0, "Ops per second": 6398283.77, "ns per ops": 156.29, "Ops per threads": 1921219.0, "Ops per procs": 192121982.0, "Ops/sec/procs": 6398283.77, "ns per ops/procs": 156.29}],["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)": 655524600.0, "Ops per second": 21829370.73, "ns per ops": 45.81, "Ops per threads": 91045.0, "Ops per procs": 9104508.0, "Ops/sec/procs": 303185.7, "ns per ops/procs": 3298.31}],["rdq-churn-go", "./rdq-churn-go -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30031.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 166049363.0, "Ops per second": 5529143.12, "ns per ops": 180.86, "Ops per threads": 207561.0, "Ops per procs": 20756170.0, "Ops/sec/procs": 691142.89, "ns per ops/procs": 1446.88}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30032.639168, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 490409744.0, "Total blocks": 178494650.0, "Ops per second": 16329225.72, "ns per ops": 61.24, "Ops per threads": 51084.0, "Ops per procs": 5108434.0, "Ops/sec/procs": 170096.1, "ns per ops/procs": 5879.03}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30060.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 350275251.0, "Ops per second": 11652465.85, "ns per ops": 85.82, "Ops per threads": 36487.0, "Ops per procs": 3648700.0, "Ops/sec/procs": 121379.85, "ns per ops/procs": 8238.6}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30051.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 167331922.0, "Ops per second": 5577730.0, "ns per ops": 179.0, "Ops per threads": 418329.0, "Ops per procs": 41832980.0, "Ops/sec/procs": 1394432.0, "ns per ops/procs": 718.0}],["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)": 464509707.0, "Ops per second": 15455726.31, "ns per ops": 64.7, "Ops per threads": 24193.0, "Ops per procs": 2419321.0, "Ops/sec/procs": 80498.57, "ns per ops/procs": 12422.58}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30059.297676, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 680052336.0, "Total blocks": 265356728.0, "Ops per second": 22623693.45, "ns per ops": 44.2, "Ops per threads": 141677.0, "Ops per procs": 14167757.0, "Ops/sec/procs": 471326.95, "ns per ops/procs": 2121.67}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30097.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 783698996.0, "Total blocks": 412040075.0, "Ops per second": 26038922.75, "ns per ops": 38.4, "Ops per threads": 40817.0, "Ops per procs": 4081765.0, "Ops/sec/procs": 135619.39, "ns per ops/procs": 7373.58}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30056.623082, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 483760927.0, "Total blocks": 178815274.0, "Ops per second": 16094985.98, "ns per ops": 62.13, "Ops per threads": 50391.0, "Ops per procs": 5039176.0, "Ops/sec/procs": 167656.1, "ns per ops/procs": 5964.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)": 460843734.0, "Ops per second": 15361457.0, "ns per ops": 65.0, "Ops per threads": 4608437.0, "Ops per procs": 460843734.0, "Ops/sec/procs": 15361457.0, "ns per ops/procs": 65.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)": 853146365.0, "Ops per second": 28438212.0, "ns per ops": 35.0, "Ops per threads": 59246.0, "Ops per procs": 5924627.0, "Ops/sec/procs": 197487.0, "ns per ops/procs": 5064.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)": 191613466.0, "Total blocks": 0.0, "Ops per second": 6381358.35, "ns per ops": 156.71, "Ops per threads": 1916134.0, "Ops per procs": 191613466.0, "Ops/sec/procs": 6381358.35, "ns per ops/procs": 156.71}],["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)": 385708035.0, "Total blocks": 206190831.0, "Ops per second": 12843149.99, "ns per ops": 77.86, "Ops per threads": 160711.0, "Ops per procs": 16071168.0, "Ops/sec/procs": 535131.25, "ns per ops/procs": 1868.7}],["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)": 297264694.0, "Total blocks": 152983098.0, "Ops per second": 9897601.54, "ns per ops": 101.03, "Ops per threads": 185790.0, "Ops per procs": 18579043.0, "Ops/sec/procs": 618600.1, "ns per ops/procs": 1616.55}],["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)": 598367970.0, "Ops per second": 19924835.25, "ns per ops": 50.19, "Ops per threads": 83106.0, "Ops per procs": 8310666.0, "Ops/sec/procs": 276733.82, "ns per ops/procs": 3613.58}],["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)": 474153312.0, "Total blocks": 251502796.0, "Ops per second": 15799744.81, "ns per ops": 63.29, "Ops per threads": 49390.0, "Ops per procs": 4939097.0, "Ops/sec/procs": 164580.68, "ns per ops/procs": 6076.05}],["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)": 354065693.0, "Total blocks": 189823872.0, "Ops per second": 11787533.48, "ns per ops": 84.84, "Ops per threads": 147527.0, "Ops per procs": 14752737.0, "Ops/sec/procs": 491147.23, "ns per ops/procs": 2036.05}],["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)": 143942139.0, "Total blocks": 87123317.0, "Ops per second": 4783730.82, "ns per ops": 209.04, "Ops per threads": 359855.0, "Ops per procs": 35985534.0, "Ops/sec/procs": 1195932.71, "ns per ops/procs": 836.17}],["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)": 460080702.0, "Ops per second": 15336023.0, "ns per ops": 65.0, "Ops per threads": 4600807.0, "Ops per procs": 460080702.0, "Ops/sec/procs": 15336023.0, "ns per ops/procs": 65.0}],["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)": 827600886.0, "Ops per second": 27586696.0, "ns per ops": 36.0, "Ops per threads": 57472.0, "Ops per procs": 5747228.0, "Ops/sec/procs": 191574.0, "ns per ops/procs": 5220.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30061.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 663977574.0, "Total blocks": 367223529.0, "Ops per second": 22087484.9, "ns per ops": 45.27, "Ops per threads": 46109.0, "Ops per procs": 4610955.0, "Ops/sec/procs": 153385.31, "ns per ops/procs": 6519.53}],["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)": 262598965.0, "Ops per second": 8743165.73, "ns per ops": 114.38, "Ops per threads": 109416.0, "Ops per procs": 10941623.0, "Ops/sec/procs": 364298.57, "ns per ops/procs": 2745.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30075.65204, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 287188886.0, "Total blocks": 120172030.0, "Ops per second": 9548883.12, "ns per ops": 104.72, "Ops per threads": 179493.0, "Ops per procs": 17949305.0, "Ops/sec/procs": 596805.19, "ns per ops/procs": 1675.59}],["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)": 118572409.0, "Ops per second": 3949264.45, "ns per ops": 253.21, "Ops per threads": 592862.0, "Ops per procs": 59286204.0, "Ops/sec/procs": 1974632.23, "ns per ops/procs": 506.42}],["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)": 425917799.0, "Ops per second": 14174525.29, "ns per ops": 70.55, "Ops per threads": 22183.0, "Ops per procs": 2218321.0, "Ops/sec/procs": 73825.65, "ns per ops/procs": 13545.43}],["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)": 192385955.0, "Total blocks": 0.0, "Ops per second": 6407103.73, "ns per ops": 156.08, "Ops per threads": 1923859.0, "Ops per procs": 192385955.0, "Ops/sec/procs": 6407103.73, "ns per ops/procs": 156.08}],["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)": 505553181.0, "Total blocks": 278507634.0, "Ops per second": 16796353.94, "ns per ops": 59.54, "Ops per threads": 105323.0, "Ops per procs": 10532357.0, "Ops/sec/procs": 349924.04, "ns per ops/procs": 2857.76}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30032.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 463416837.0, "Ops per second": 15430364.78, "ns per ops": 64.81, "Ops per threads": 32181.0, "Ops per procs": 3218172.0, "Ops/sec/procs": 107155.31, "ns per ops/procs": 9332.25}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30077.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 166984133.0, "Ops per second": 5566137.0, "ns per ops": 180.0, "Ops per threads": 417460.0, "Ops per procs": 41746033.0, "Ops/sec/procs": 1391534.0, "ns per ops/procs": 720.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.954851, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 348020909.0, "Total blocks": 104971749.0, "Ops per second": 11592213.46, "ns per ops": 86.26, "Ops per threads": 145008.0, "Ops per procs": 14500871.0, "Ops/sec/procs": 483008.89, "ns per ops/procs": 2070.36}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30018.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 576177043.0, "Ops per second": 19205901.0, "ns per ops": 52.0, "Ops per threads": 120036.0, "Ops per procs": 12003688.0, "Ops/sec/procs": 400122.0, "ns per ops/procs": 2500.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30015.405675, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 350621509.0, "Total blocks": 130891083.0, "Ops per second": 11681384.98, "ns per ops": 85.61, "Ops per threads": 146092.0, "Ops per procs": 14609229.0, "Ops/sec/procs": 486724.37, "ns per ops/procs": 2054.55}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30034.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 466380104.0, "Ops per second": 15546003.0, "ns per ops": 64.0, "Ops per threads": 97162.0, "Ops per procs": 9716252.0, "Ops/sec/procs": 323875.0, "ns per ops/procs": 3091.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)": 191369161.0, "Total blocks": 0.0, "Ops per second": 6373216.7, "ns per ops": 156.91, "Ops per threads": 1913691.0, "Ops per procs": 191369161.0, "Ops/sec/procs": 6373216.7, "ns per ops/procs": 156.91}],["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)": 460360000.0, "Ops per second": 15345333.0, "ns per ops": 65.0, "Ops per threads": 4603600.0, "Ops per procs": 460360000.0, "Ops/sec/procs": 15345333.0, "ns per ops/procs": 65.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30089.778422, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 556922386.0, "Total blocks": 201876391.0, "Ops per second": 18508690.17, "ns per ops": 54.03, "Ops per threads": 58012.0, "Ops per procs": 5801274.0, "Ops/sec/procs": 192798.86, "ns per ops/procs": 5186.75}],["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)": 488909454.0, "Ops per second": 16276633.91, "ns per ops": 61.44, "Ops per threads": 33952.0, "Ops per procs": 3395204.0, "Ops/sec/procs": 113032.18, "ns per ops/procs": 8847.04}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30090.339562, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 527063540.0, "Total blocks": 202633473.0, "Ops per second": 17516038.29, "ns per ops": 57.09, "Ops per threads": 36601.0, "Ops per procs": 3660163.0, "Ops/sec/procs": 121639.15, "ns per ops/procs": 8221.04}],["rdq-churn-cfa", "./rdq-churn-cfa -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30033.657948, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 557197606.0, "Total blocks": 207231371.0, "Ops per second": 18552438.97, "ns per ops": 53.9, "Ops per threads": 58041.0, "Ops per procs": 5804141.0, "Ops/sec/procs": 193254.57, "ns per ops/procs": 5174.52}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30055.662461, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 733201298.0, "Total blocks": 284343482.0, "Ops per second": 24394780.82, "ns per ops": 40.99, "Ops per threads": 152750.0, "Ops per procs": 15275027.0, "Ops/sec/procs": 508224.6, "ns per ops/procs": 1967.63}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30064.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 770184116.0, "Total blocks": 401376424.0, "Ops per second": 25617862.88, "ns per ops": 39.04, "Ops per threads": 40113.0, "Ops per procs": 4011375.0, "Ops/sec/procs": 133426.37, "ns per ops/procs": 7494.77}],["rdq-churn-go", "./rdq-churn-go -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30048.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 476315076.0, "Ops per second": 15851802.81, "ns per ops": 63.08, "Ops per threads": 33077.0, "Ops per procs": 3307743.0, "Ops/sec/procs": 110081.96, "ns per ops/procs": 9084.14}],["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)": 466203932.0, "Ops per second": 15518361.35, "ns per ops": 64.44, "Ops per threads": 32375.0, "Ops per procs": 3237527.0, "Ops/sec/procs": 107766.4, "ns per ops/procs": 9279.33}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30022.177715, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 330348726.0, "Total blocks": 122384506.0, "Ops per second": 11003489.79, "ns per ops": 90.88, "Ops per threads": 137645.0, "Ops per procs": 13764530.0, "Ops/sec/procs": 458478.74, "ns per ops/procs": 2181.13}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 375840315.0, "Total blocks": 204571796.0, "Ops per second": 12513698.22, "ns per ops": 79.91, "Ops per threads": 156600.0, "Ops per procs": 15660013.0, "Ops/sec/procs": 521404.09, "ns per ops/procs": 1917.9}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.280357, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1199665058.0, "Total blocks": 655572.0, "Ops per second": 39921925.64, "ns per ops": 25.05, "Ops per threads": 11996650.0, "Ops per procs": 1199665058.0, "Ops/sec/procs": 39921925.64, "ns per ops/procs": 25.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)": 478223828.0, "Ops per second": 15920898.02, "ns per ops": 62.81, "Ops per threads": 33209.0, "Ops per procs": 3320998.0, "Ops/sec/procs": 110561.79, "ns per ops/procs": 9044.72}],["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)": 179893177.0, "Ops per second": 5979099.39, "ns per ops": 167.25, "Ops per threads": 18738.0, "Ops per procs": 1873887.0, "Ops/sec/procs": 62282.29, "ns per ops/procs": 16055.93}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30062.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 404122785.0, "Total blocks": 212091412.0, "Ops per second": 13442835.08, "ns per ops": 74.39, "Ops per threads": 56128.0, "Ops per procs": 5612816.0, "Ops/sec/procs": 186706.04, "ns per ops/procs": 5356.01}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30061.861936, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 682338462.0, "Total blocks": 239897520.0, "Ops per second": 22697811.05, "ns per ops": 44.06, "Ops per threads": 142153.0, "Ops per procs": 14215384.0, "Ops/sec/procs": 472871.06, "ns per ops/procs": 2114.74}],["rdq-churn-cfa", "./rdq-churn-cfa -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30075.925845, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 16.0, "Total Operations(ops)": 287247533.0, "Total blocks": 96871302.0, "Ops per second": 9550746.15, "ns per ops": 104.7, "Ops per threads": 179529.0, "Ops per procs": 17952970.0, "Ops/sec/procs": 596921.63, "ns per ops/procs": 1675.26}],["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)": 144598199.0, "Total blocks": 87394734.0, "Ops per second": 4805584.54, "ns per ops": 208.09, "Ops per threads": 361495.0, "Ops per procs": 36149549.0, "Ops/sec/procs": 1201396.14, "ns per ops/procs": 832.36}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 354571727.0, "Total blocks": 190102011.0, "Ops per second": 11804684.81, "ns per ops": 84.71, "Ops per threads": 147738.0, "Ops per procs": 14773821.0, "Ops/sec/procs": 491861.87, "ns per ops/procs": 2033.09}],["rdq-churn-tokio", "./rdq-churn-tokio -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": 6.0, "Total Operations(ops)": 171630531.0, "Ops per second": 5721017.0, "ns per ops": 174.0, "Ops per threads": 858152.0, "Ops per procs": 85815265.0, "Ops/sec/procs": 2860508.0, "ns per ops/procs": 349.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30064.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 312305592.0, "Ops per second": 10410186.0, "ns per ops": 96.0, "Ops per threads": 195190.0, "Ops per procs": 19519099.0, "Ops/sec/procs": 650636.0, "ns per ops/procs": 1540.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30035.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 393803380.0, "Ops per second": 13126779.0, "ns per ops": 76.0, "Ops per threads": 54694.0, "Ops per procs": 5469491.0, "Ops/sec/procs": 182316.0, "ns per ops/procs": 5491.0}],["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)": 971273762.0, "Ops per second": 32375792.0, "ns per ops": 30.0, "Ops per threads": 50587.0, "Ops per procs": 5058717.0, "Ops/sec/procs": 168623.0, "ns per ops/procs": 5932.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)": 145313016.0, "Ops per second": 4837861.84, "ns per ops": 206.7, "Ops per threads": 363282.0, "Ops per procs": 36328254.0, "Ops/sec/procs": 1209465.46, "ns per ops/procs": 826.81}],["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)": 318535162.0, "Ops per second": 10617838.0, "ns per ops": 94.0, "Ops per threads": 199084.0, "Ops per procs": 19908447.0, "Ops/sec/procs": 663614.0, "ns per ops/procs": 1509.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30032.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 174874521.0, "Ops per second": 5829150.0, "ns per ops": 171.0, "Ops per threads": 874372.0, "Ops per procs": 87437260.0, "Ops/sec/procs": 2914575.0, "ns per ops/procs": 343.0}],["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)": 134713084.0, "Total blocks": 81514132.0, "Ops per second": 4476450.69, "ns per ops": 223.39, "Ops per threads": 336782.0, "Ops per procs": 33678271.0, "Ops/sec/procs": 1119112.67, "ns per ops/procs": 893.57}],["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)": 256000674.0, "Ops per second": 8523401.04, "ns per ops": 117.32, "Ops per threads": 106666.0, "Ops per procs": 10666694.0, "Ops/sec/procs": 355141.71, "ns per ops/procs": 2815.78}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30059.93427, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 476341340.0, "Total blocks": 188284432.0, "Ops per second": 15846386.61, "ns per ops": 63.11, "Ops per threads": 66158.0, "Ops per procs": 6615851.0, "Ops/sec/procs": 220088.7, "ns per ops/procs": 4543.62}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30049.828564, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1204060815.0, "Total blocks": 0.0, "Ops per second": 40068808.13, "ns per ops": 24.96, "Ops per threads": 12040608.0, "Ops per procs": 1204060815.0, "Ops/sec/procs": 40068808.13, "ns per ops/procs": 24.96}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30070.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 168384341.0, "Ops per second": 5612811.0, "ns per ops": 178.0, "Ops per threads": 420960.0, "Ops per procs": 42096085.0, "Ops/sec/procs": 1403202.0, "ns per ops/procs": 714.0}],["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)": 169494475.0, "Ops per second": 5649815.0, "ns per ops": 177.0, "Ops per threads": 423736.0, "Ops per procs": 42373618.0, "Ops/sec/procs": 1412453.0, "ns per ops/procs": 709.0}],["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)": 441873605.0, "Ops per second": 14702306.41, "ns per ops": 68.02, "Ops per threads": 23014.0, "Ops per procs": 2301425.0, "Ops/sec/procs": 76574.51, "ns per ops/procs": 13059.18}],["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)": 497668235.0, "Ops per second": 16588941.0, "ns per ops": 60.0, "Ops per threads": 207361.0, "Ops per procs": 20736176.0, "Ops/sec/procs": 691205.0, "ns per ops/procs": 1447.0}],["rdq-churn-tokio", "./rdq-churn-tokio -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": 6.0, "Total Operations(ops)": 184108502.0, "Ops per second": 6136950.0, "ns per ops": 163.0, "Ops per threads": 920542.0, "Ops per procs": 92054251.0, "Ops/sec/procs": 3068475.0, "ns per ops/procs": 326.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30064.30244, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 631469231.0, "Total blocks": 263575889.0, "Ops per second": 21003954.18, "ns per ops": 47.61, "Ops per threads": 32889.0, "Ops per procs": 3288902.0, "Ops/sec/procs": 109395.59, "ns per ops/procs": 9141.14}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30080.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 314955581.0, "Ops per second": 10498519.0, "ns per ops": 95.0, "Ops per threads": 196847.0, "Ops per procs": 19684723.0, "Ops/sec/procs": 656157.0, "ns per ops/procs": 1528.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30024.349476, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 580967189.0, "Total blocks": 235396046.0, "Ops per second": 19349867.66, "ns per ops": 51.68, "Ops per threads": 40344.0, "Ops per procs": 4034494.0, "Ops/sec/procs": 134374.08, "ns per ops/procs": 7441.91}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30019.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 500465866.0, "Ops per second": 16682195.0, "ns per ops": 59.0, "Ops per threads": 208527.0, "Ops per procs": 20852744.0, "Ops/sec/procs": 695091.0, "ns per ops/procs": 1439.0}],["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)": 551265668.0, "Ops per second": 18361370.61, "ns per ops": 54.46, "Ops per threads": 76564.0, "Ops per procs": 7656467.0, "Ops/sec/procs": 255019.04, "ns per ops/procs": 3921.28}],["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)": 135560227.0, "Ops per second": 4518432.01, "ns per ops": 221.32, "Ops per threads": 1355602.0, "Ops per procs": 135560227.0, "Ops/sec/procs": 4518432.01, "ns per ops/procs": 221.32}],["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)": 226756617.0, "Ops per second": 7541079.35, "ns per ops": 132.61, "Ops per threads": 23620.0, "Ops per procs": 2362048.0, "Ops/sec/procs": 78552.91, "ns per ops/procs": 12730.27}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30053.784374, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 153136376.0, "Total blocks": 67265888.0, "Ops per second": 5095410.75, "ns per ops": 196.26, "Ops per threads": 382840.0, "Ops per procs": 38284094.0, "Ops/sec/procs": 1273852.69, "ns per ops/procs": 785.02}],["rdq-churn-tokio", "./rdq-churn-tokio -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30028.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 6.0, "Total Operations(ops)": 486323830.0, "Ops per second": 16210794.0, "ns per ops": 61.0, "Ops per threads": 50658.0, "Ops per procs": 5065873.0, "Ops/sec/procs": 168862.0, "ns per ops/procs": 5927.0}],["rdq-churn-go", "./rdq-churn-go -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)": 453044323.0, "Ops per second": 15072650.6, "ns per ops": 66.35, "Ops per threads": 23596.0, "Ops per procs": 2359605.0, "Ops/sec/procs": 78503.39, "ns per ops/procs": 12738.3}],["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)": 162579906.0, "Ops per second": 5412944.62, "ns per ops": 184.74, "Ops per threads": 406449.0, "Ops per procs": 40644976.0, "Ops/sec/procs": 1353236.16, "ns per ops/procs": 738.97}],["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)": 84758248.0, "Total blocks": 42380709.0, "Ops per second": 2818986.54, "ns per ops": 354.74, "Ops per threads": 423791.0, "Ops per procs": 42379124.0, "Ops/sec/procs": 1409493.27, "ns per ops/procs": 709.47}],["rdq-churn-fibre", "./rdq-churn-fibre -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30080.0, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 640135652.0, "Total blocks": 355948707.0, "Ops per second": 21280883.32, "ns per ops": 46.99, "Ops per threads": 44453.0, "Ops per procs": 4445386.0, "Ops/sec/procs": 147783.91, "ns per ops/procs": 6766.64}],["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)": 392847400.0, "Total blocks": 207204652.0, "Ops per second": 13066885.81, "ns per ops": 76.53, "Ops per threads": 54562.0, "Ops per procs": 5456213.0, "Ops/sec/procs": 181484.53, "ns per ops/procs": 5510.11}],["rdq-churn-tokio", "./rdq-churn-tokio -p 16 -d 30 -s 16 -t 1600", {"Duration (ms)": 30064.0, "Number of processors": 16.0, "Number of threads": 1600.0, "Number of spots": 6.0, "Total Operations(ops)": 308185457.0, "Ops per second": 10272848.0, "ns per ops": 97.0, "Ops per threads": 192615.0, "Ops per procs": 19261591.0, "Ops/sec/procs": 642053.0, "ns per ops/procs": 1560.0}],["rdq-churn-fibre", "./rdq-churn-fibre -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": 2.0, "Total Operations(ops)": 86972977.0, "Total blocks": 43487492.0, "Ops per second": 2892250.66, "ns per ops": 345.75, "Ops per threads": 434864.0, "Ops per procs": 43486488.0, "Ops/sec/procs": 1446125.33, "ns per ops/procs": 691.5}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30021.282957, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 351538941.0, "Total blocks": 130264829.0, "Ops per second": 11709657.5, "ns per ops": 85.4, "Ops per threads": 146474.0, "Ops per procs": 14647455.0, "Ops/sec/procs": 487902.4, "ns per ops/procs": 2049.59}],["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)": 135637678.0, "Total blocks": 82085825.0, "Ops per second": 4507166.19, "ns per ops": 221.87, "Ops per threads": 339094.0, "Ops per procs": 33909419.0, "Ops/sec/procs": 1126791.55, "ns per ops/procs": 887.48}],["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)": 367750303.0, "Ops per second": 12238791.25, "ns per ops": 81.71, "Ops per threads": 76614.0, "Ops per procs": 7661464.0, "Ops/sec/procs": 254974.82, "ns per ops/procs": 3921.96}],["rdq-churn-cfa", "./rdq-churn-cfa -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30056.573132, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 616364894.0, "Total blocks": 240048443.0, "Ops per second": 20506825.29, "ns per ops": 48.76, "Ops per threads": 32102.0, "Ops per procs": 3210233.0, "Ops/sec/procs": 106806.38, "ns per ops/procs": 9362.74}],["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)": 973715763.0, "Ops per second": 32457192.0, "ns per ops": 30.0, "Ops per threads": 50714.0, "Ops per procs": 5071436.0, "Ops/sec/procs": 169047.0, "ns per ops/procs": 5917.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30060.212988, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 8.0, "Total Operations(ops)": 193417811.0, "Total blocks": 64066561.0, "Ops per second": 6434345.99, "ns per ops": 155.42, "Ops per threads": 241772.0, "Ops per procs": 24177226.0, "Ops/sec/procs": 804293.25, "ns per ops/procs": 1243.33}],["rdq-churn-tokio", "./rdq-churn-tokio -p 8 -d 30 -s 8 -t 800", {"Duration (ms)": 30031.0, "Number of processors": 8.0, "Number of threads": 800.0, "Number of spots": 6.0, "Total Operations(ops)": 219620247.0, "Ops per second": 7320674.0, "ns per ops": 136.0, "Ops per threads": 274525.0, "Ops per procs": 27452530.0, "Ops/sec/procs": 915084.0, "ns per ops/procs": 1093.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)": 157339685.0, "Ops per second": 5238400.87, "ns per ops": 190.9, "Ops per threads": 393349.0, "Ops per procs": 39334921.0, "Ops/sec/procs": 1309600.22, "ns per ops/procs": 763.59}],["rdq-churn-fibre", "./rdq-churn-fibre -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30098.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 134479830.0, "Total blocks": 81429519.0, "Ops per second": 4468043.72, "ns per ops": 223.81, "Ops per threads": 336199.0, "Ops per procs": 33619957.0, "Ops/sec/procs": 1117010.93, "ns per ops/procs": 895.25}],["rdq-churn-fibre", "./rdq-churn-fibre -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)": 477001990.0, "Total blocks": 252277537.0, "Ops per second": 15863510.4, "ns per ops": 63.04, "Ops per threads": 49687.0, "Ops per procs": 4968770.0, "Ops/sec/procs": 165244.9, "ns per ops/procs": 6051.62}],["rdq-churn-tokio", "./rdq-churn-tokio -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30014.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 6.0, "Total Operations(ops)": 494691312.0, "Ops per second": 16489710.0, "ns per ops": 60.0, "Ops per threads": 206121.0, "Ops per procs": 20612138.0, "Ops/sec/procs": 687071.0, "ns per ops/procs": 1456.0}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30082.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 197294098.0, "Ops per second": 6558437.18, "ns per ops": 152.48, "Ops per threads": 20551.0, "Ops per procs": 2055146.0, "Ops/sec/procs": 68317.05, "ns per ops/procs": 14637.63}],["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)": 174340625.0, "Total blocks": 94005398.0, "Ops per second": 5808236.14, "ns per ops": 172.17, "Ops per threads": 217925.0, "Ops per procs": 21792578.0, "Ops/sec/procs": 726029.52, "ns per ops/procs": 1377.35}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30087.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 404262239.0, "Total blocks": 211641011.0, "Ops per second": 13436012.95, "ns per ops": 74.43, "Ops per threads": 56147.0, "Ops per procs": 5614753.0, "Ops/sec/procs": 186611.29, "ns per ops/procs": 5358.73}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.037404, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1193218192.0, "Total blocks": 1474194.0, "Ops per second": 39707710.71, "ns per ops": 25.18, "Ops per threads": 11932181.0, "Ops per procs": 1193218192.0, "Ops/sec/procs": 39707710.71, "ns per ops/procs": 25.18}],["rdq-churn-fibre", "./rdq-churn-fibre -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30093.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 394272350.0, "Total blocks": 207455576.0, "Ops per second": 13101633.38, "ns per ops": 76.33, "Ops per threads": 54760.0, "Ops per procs": 5476004.0, "Ops/sec/procs": 181967.13, "ns per ops/procs": 5495.5}],["rdq-churn-cfa", "./rdq-churn-cfa -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30020.950814, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 362966011.0, "Total blocks": 130934681.0, "Ops per second": 12090423.56, "ns per ops": 82.71, "Ops per threads": 151235.0, "Ops per procs": 15123583.0, "Ops/sec/procs": 503767.65, "ns per ops/procs": 1985.04}],["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)": 165932832.0, "Total blocks": 92020586.0, "Ops per second": 5526025.01, "ns per ops": 180.96, "Ops per threads": 207416.0, "Ops per procs": 20741604.0, "Ops/sec/procs": 690753.13, "ns per ops/procs": 1447.7}],["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)": 88501649.0, "Total blocks": 44251365.0, "Ops per second": 2943542.85, "ns per ops": 339.73, "Ops per threads": 442508.0, "Ops per procs": 44250824.0, "Ops/sec/procs": 1471771.42, "ns per ops/procs": 679.45}],["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)": 546885800.0, "Total blocks": 304023647.0, "Ops per second": 18228202.84, "ns per ops": 54.86, "Ops per threads": 113934.0, "Ops per procs": 11393454.0, "Ops/sec/procs": 379754.23, "ns per ops/procs": 2633.28}],["rdq-churn-tokio", "./rdq-churn-tokio -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30039.0, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 6.0, "Total Operations(ops)": 412069999.0, "Ops per second": 13735666.0, "ns per ops": 72.0, "Ops per threads": 57231.0, "Ops per procs": 5723194.0, "Ops/sec/procs": 190773.0, "ns per ops/procs": 5248.0}],["rdq-churn-fibre", "./rdq-churn-fibre -p 24 -d 30 -s 24 -t 2400", {"Duration (ms)": 30055.0, "Number of processors": 24.0, "Number of threads": 2400.0, "Number of spots": 24.0, "Total Operations(ops)": 307296948.0, "Total blocks": 161618478.0, "Ops per second": 10224240.12, "ns per ops": 97.81, "Ops per threads": 128040.0, "Ops per procs": 12804039.0, "Ops/sec/procs": 426010.0, "ns per ops/procs": 2347.36}],["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)": 171028659.0, "Ops per second": 5700955.0, "ns per ops": 175.0, "Ops per threads": 427571.0, "Ops per procs": 42757164.0, "Ops/sec/procs": 1425238.0, "ns per ops/procs": 703.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)": 368690696.0, "Ops per second": 12271933.03, "ns per ops": 81.49, "Ops per threads": 76810.0, "Ops per procs": 7681056.0, "Ops/sec/procs": 255665.27, "ns per ops/procs": 3911.36}],["rdq-churn-cfa", "./rdq-churn-cfa -p 72 -d 30 -s 72 -t 7200", {"Duration (ms)": 30054.459266, "Number of processors": 72.0, "Number of threads": 7200.0, "Number of spots": 72.0, "Total Operations(ops)": 470979769.0, "Total blocks": 181177829.0, "Ops per second": 15670878.15, "ns per ops": 63.81, "Ops per threads": 65413.0, "Ops per procs": 6541385.0, "Ops/sec/procs": 217651.09, "ns per ops/procs": 4594.51}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30037.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 176151716.0, "Ops per second": 5871723.0, "ns per ops": 170.0, "Ops per threads": 880758.0, "Ops per procs": 88075858.0, "Ops/sec/procs": 2935861.0, "ns per ops/procs": 341.0}],["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)": 247880056.0, "Ops per second": 8252639.58, "ns per ops": 121.17, "Ops per threads": 103283.0, "Ops per procs": 10328335.0, "Ops/sec/procs": 343859.98, "ns per ops/procs": 2908.16}],["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)": 285527060.0, "Total blocks": 146769951.0, "Ops per second": 9506302.59, "ns per ops": 105.19, "Ops per threads": 178454.0, "Ops per procs": 17845441.0, "Ops/sec/procs": 594143.91, "ns per ops/procs": 1683.09}],["rdq-churn-go", "./rdq-churn-go -p 96 -d 30 -s 96 -t 9600", {"Duration (ms)": 30056.0, "Number of processors": 96.0, "Number of threads": 9600.0, "Number of spots": 96.0, "Total Operations(ops)": 340053734.0, "Ops per second": 11313806.71, "ns per ops": 88.39, "Ops per threads": 35422.0, "Ops per procs": 3542226.0, "Ops/sec/procs": 117852.15, "ns per ops/procs": 8485.21}],["rdq-churn-cfa", "./rdq-churn-cfa -p 1 -d 30 -s 1 -t 100", {"Duration (ms)": 30050.10734, "Number of processors": 1.0, "Number of threads": 100.0, "Number of spots": 1.0, "Total Operations(ops)": 1191272046.0, "Total blocks": 1293104.0, "Ops per second": 39642854.93, "ns per ops": 25.23, "Ops per threads": 11912720.0, "Ops per procs": 1191272046.0, "Ops/sec/procs": 39642854.93, "ns per ops/procs": 25.23}],["rdq-churn-cfa", "./rdq-churn-cfa -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30052.326769, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 2.0, "Total Operations(ops)": 489557015.0, "Total blocks": 132294.0, "Ops per second": 16290153.46, "ns per ops": 61.39, "Ops per threads": 2447785.0, "Ops per procs": 244778507.0, "Ops/sec/procs": 8145076.73, "ns per ops/procs": 122.77}],["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)": 589752944.0, "Ops per second": 19658431.0, "ns per ops": 50.0, "Ops per threads": 122865.0, "Ops per procs": 12286519.0, "Ops/sec/procs": 409550.0, "ns per ops/procs": 2442.0}],["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)": 261936489.0, "Ops per second": 8720521.75, "ns per ops": 114.67, "Ops per threads": 109140.0, "Ops per procs": 10914020.0, "Ops/sec/procs": 363355.07, "ns per ops/procs": 2752.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)": 459213128.0, "Ops per second": 15307104.0, "ns per ops": 65.0, "Ops per threads": 4592131.0, "Ops per procs": 459213128.0, "Ops/sec/procs": 15307104.0, "ns per ops/procs": 65.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30063.338204, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 688751153.0, "Total blocks": 276536804.0, "Ops per second": 22910002.49, "ns per ops": 43.65, "Ops per threads": 143489.0, "Ops per procs": 14348982.0, "Ops/sec/procs": 477291.72, "ns per ops/procs": 2095.15}],["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)": 119642677.0, "Ops per second": 3984779.33, "ns per ops": 250.95, "Ops per threads": 598213.0, "Ops per procs": 59821338.0, "Ops/sec/procs": 1992389.66, "ns per ops/procs": 501.91}],["rdq-churn-tokio", "./rdq-churn-tokio -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30013.0, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 6.0, "Total Operations(ops)": 590241148.0, "Ops per second": 19674704.0, "ns per ops": 50.0, "Ops per threads": 122966.0, "Ops per procs": 12296690.0, "Ops/sec/procs": 409889.0, "ns per ops/procs": 2440.0}],["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)": 143493906.0, "Total blocks": 86710433.0, "Ops per second": 4768855.1, "ns per ops": 209.69, "Ops per threads": 358734.0, "Ops per procs": 35873476.0, "Ops/sec/procs": 1192213.78, "ns per ops/procs": 838.78}],["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)": 833603473.0, "Ops per second": 27786782.0, "ns per ops": 35.0, "Ops per threads": 57889.0, "Ops per procs": 5788913.0, "Ops/sec/procs": 192963.0, "ns per ops/procs": 5183.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30051.33861, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 4.0, "Total Operations(ops)": 158049598.0, "Total blocks": 69513492.0, "Ops per second": 5259319.73, "ns per ops": 190.14, "Ops per threads": 395123.0, "Ops per procs": 39512399.0, "Ops/sec/procs": 1314829.93, "ns per ops/procs": 760.55}],["rdq-churn-fibre", "./rdq-churn-fibre -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30053.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 192.0, "Total Operations(ops)": 787446382.0, "Total blocks": 410857495.0, "Ops per second": 26201572.37, "ns per ops": 38.17, "Ops per threads": 41012.0, "Ops per procs": 4101283.0, "Ops/sec/procs": 136466.52, "ns per ops/procs": 7327.8}],["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)": 141109188.0, "Ops per second": 4698170.61, "ns per ops": 212.85, "Ops per threads": 176386.0, "Ops per procs": 17638648.0, "Ops/sec/procs": 587271.33, "ns per ops/procs": 1702.79}],["rdq-churn-tokio", "./rdq-churn-tokio -p 2 -d 30 -s 2 -t 200", {"Duration (ms)": 30057.0, "Number of processors": 2.0, "Number of threads": 200.0, "Number of spots": 6.0, "Total Operations(ops)": 175141388.0, "Ops per second": 5838046.0, "ns per ops": 171.0, "Ops per threads": 875706.0, "Ops per procs": 87570694.0, "Ops/sec/procs": 2919023.0, "ns per ops/procs": 343.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)": 460147782.0, "Ops per second": 15338259.0, "ns per ops": 65.0, "Ops per threads": 4601477.0, "Ops per procs": 460147782.0, "Ops/sec/procs": 15338259.0, "ns per ops/procs": 65.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 144 -d 30 -s 144 -t 14400", {"Duration (ms)": 30011.752423, "Number of processors": 144.0, "Number of threads": 14400.0, "Number of spots": 144.0, "Total Operations(ops)": 535670591.0, "Total blocks": 218979085.0, "Ops per second": 17848694.19, "ns per ops": 56.03, "Ops per threads": 37199.0, "Ops per procs": 3719934.0, "Ops/sec/procs": 123949.27, "ns per ops/procs": 8067.82}],["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)": 987916613.0, "Ops per second": 32930553.0, "ns per ops": 30.0, "Ops per threads": 51453.0, "Ops per procs": 5145399.0, "Ops/sec/procs": 171513.0, "ns per ops/procs": 5831.0}],["rdq-churn-tokio", "./rdq-churn-tokio -p 4 -d 30 -s 4 -t 400", {"Duration (ms)": 30055.0, "Number of processors": 4.0, "Number of threads": 400.0, "Number of spots": 6.0, "Total Operations(ops)": 168342479.0, "Ops per second": 5611415.0, "ns per ops": 178.0, "Ops per threads": 420856.0, "Ops per procs": 42085619.0, "Ops/sec/procs": 1402853.0, "ns per ops/procs": 714.0}],["rdq-churn-cfa", "./rdq-churn-cfa -p 48 -d 30 -s 48 -t 4800", {"Duration (ms)": 30056.291934, "Number of processors": 48.0, "Number of threads": 4800.0, "Number of spots": 48.0, "Total Operations(ops)": 723920777.0, "Total blocks": 287926681.0, "Ops per second": 24085498.59, "ns per ops": 41.52, "Ops per threads": 150816.0, "Ops per procs": 15081682.0, "Ops/sec/procs": 501781.22, "ns per ops/procs": 1992.9}],["rdq-churn-tokio", "./rdq-churn-tokio -p 192 -d 30 -s 192 -t 19200", {"Duration (ms)": 30002.0, "Number of processors": 192.0, "Number of threads": 19200.0, "Number of spots": 6.0, "Total Operations(ops)": 975733286.0, "Ops per second": 32524442.0, "ns per ops": 30.0, "Ops per threads": 50819.0, "Ops per procs": 5081944.0, "Ops/sec/procs": 169398.0, "ns per ops/procs": 5903.0}]] -
doc/theses/thierry_delisle_PhD/thesis/data/churn.low.jax
r741e22c r71cf630 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}]]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}]] -
doc/theses/thierry_delisle_PhD/thesis/data/memcd.rate
r741e22c r71cf630 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}]]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}]] -
doc/theses/thierry_delisle_PhD/thesis/data/memcd.updt
r741e22c r71cf630 1 [["f ibre", "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}]]1 [["forall-10", "memcached forall-10", {"Target QPS": 700000, "Actual QPS": 578924.8, "Average Read Latency": 15545.5, "Median Read Latency": 13115.7, "Tail Read Latency": 28338.2, "Average Update Latency": 15746.6, "Median Update Latency": 13118.4, "Tail Update Latency": 28653.3}], ["forall-10", "memcached forall-10", {"Target QPS": 400000, "Actual QPS": 400656.5, "Average Read Latency": 164.0, "Median Read Latency": 122.0, "Tail Read Latency": 581.3, "Average Update Latency": 169.6, "Median Update Latency": 125.1, "Tail Update Latency": 553.4}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 300000, "Actual QPS": 300199.9, "Average Read Latency": 100.9, "Median Read Latency": 94.7, "Tail Read Latency": 186.8, "Average Update Latency": 103.8, "Median Update Latency": 97.7, "Tail Update Latency": 190.9}], ["forall-10", "memcached forall-10", {"Target QPS": 100000, "Actual QPS": 100366.1, "Average Read Latency": 99.0, "Median Read Latency": 94.1, "Tail Read Latency": 152.2, "Average Update Latency": 103.1, "Median Update Latency": 100.7, "Tail Update Latency": 156.1}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 700000, "Actual QPS": 590674.8, "Average Read Latency": 22247.4, "Median Read Latency": 13313.2, "Tail Read Latency": 248625.5, "Average Update Latency": 20593.0, "Median Update Latency": 13300.6, "Tail Update Latency": 237617.9}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 600000, "Actual QPS": 566735.3, "Average Read Latency": 10672.0, "Median Read Latency": 7637.9, "Tail Read Latency": 224454.0, "Average Update Latency": 11869.1, "Median Update Latency": 7323.8, "Tail Update Latency": 230793.0}], ["forall-05", "memcached forall-05", {"Target QPS": 400000, "Actual QPS": 400535.7, "Average Read Latency": 163.1, "Median Read Latency": 119.5, "Tail Read Latency": 551.4, "Average Update Latency": 174.7, "Median Update Latency": 123.2, "Tail Update Latency": 586.8}], ["forall-03", "memcached forall-03", {"Target QPS": 600000, "Actual QPS": 560072.7, "Average Read Latency": 13637.9, "Median Read Latency": 12864.9, "Tail Read Latency": 28209.5, "Average Update Latency": 13406.8, "Median Update Latency": 12867.2, "Tail Update Latency": 28868.1}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 600000, "Actual QPS": 562460.7, "Average Read Latency": 11754.1, "Median Read Latency": 5071.5, "Tail Read Latency": 228337.4, "Average Update Latency": 10343.8, "Median Update Latency": 6548.4, "Tail Update Latency": 224874.5}], ["forall-05", "memcached forall-05", {"Target QPS": 800000, "Actual QPS": 544413.4, "Average Read Latency": 14249.5, "Median Read Latency": 13941.7, "Tail Read Latency": 28831.2, "Average Update Latency": 14600.8, "Median Update Latency": 13988.4, "Tail Update Latency": 28923.8}], ["fibre-10", "memcached fibre-10", {"Target QPS": 400000, "Actual QPS": 400130.7, "Average Read Latency": 279.6, "Median Read Latency": 123.9, "Tail Read Latency": 3561.8, "Average Update Latency": 307.3, "Median Update Latency": 125.7, "Tail Update Latency": 4770.7}], ["forall-03", "memcached forall-03", {"Target QPS": 700000, "Actual QPS": 540491.3, "Average Read Latency": 14058.0, "Median Read Latency": 13527.6, "Tail Read Latency": 28914.8, "Average Update Latency": 14959.5, "Median Update Latency": 13525.5, "Tail Update Latency": 53791.3}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 300000, "Actual QPS": 300409.4, "Average Read Latency": 104.5, "Median Read Latency": 96.8, "Tail Read Latency": 207.1, "Average Update Latency": 111.5, "Median Update Latency": 100.6, "Tail Update Latency": 218.0}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 100000, "Actual QPS": 100259.4, "Average Read Latency": 91.0, "Median Read Latency": 88.7, "Tail Read Latency": 135.1, "Average Update Latency": 97.7, "Median Update Latency": 95.6, "Tail Update Latency": 145.1}], ["fibre-10", "memcached fibre-10", {"Target QPS": 800000, "Actual QPS": 494450.0, "Average Read Latency": 27290.2, "Median Read Latency": 14703.7, "Tail Read Latency": 315692.4, "Average Update Latency": 27472.3, "Median Update Latency": 14189.5, "Tail Update Latency": 304255.4}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 500000, "Actual QPS": 497580.9, "Average Read Latency": 6898.2, "Median Read Latency": 4451.5, "Tail Read Latency": 20297.3, "Average Update Latency": 6599.2, "Median Update Latency": 479.2, "Tail Update Latency": 17628.7}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 800000, "Actual QPS": 586577.9, "Average Read Latency": 29074.9, "Median Read Latency": 26283.6, "Tail Read Latency": 219645.7, "Average Update Latency": 29128.9, "Median Update Latency": 26476.8, "Tail Update Latency": 219446.3}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 200000, "Actual QPS": 200482.7, "Average Read Latency": 89.0, "Median Read Latency": 86.0, "Tail Read Latency": 139.9, "Average Update Latency": 93.0, "Median Update Latency": 89.8, "Tail Update Latency": 144.9}], ["forall-03", "memcached forall-03", {"Target QPS": 400000, "Actual QPS": 400172.3, "Average Read Latency": 162.7, "Median Read Latency": 120.2, "Tail Read Latency": 537.4, "Average Update Latency": 170.1, "Median Update Latency": 123.3, "Tail Update Latency": 563.3}], ["forall-50", "memcached forall-50", {"Target QPS": 700000, "Actual QPS": 547201.1, "Average Read Latency": 14858.2, "Median Read Latency": 14122.0, "Tail Read Latency": 30264.6, "Average Update Latency": 15705.0, "Median Update Latency": 14154.7, "Tail Update Latency": 35124.2}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 200000, "Actual QPS": 200133.9, "Average Read Latency": 90.5, "Median Read Latency": 87.0, "Tail Read Latency": 144.4, "Average Update Latency": 94.8, "Median Update Latency": 92.2, "Tail Update Latency": 146.9}], ["fibre-10", "memcached fibre-10", {"Target QPS": 600000, "Actual QPS": 505621.8, "Average Read Latency": 25887.6, "Median Read Latency": 17109.8, "Tail Read Latency": 258402.0, "Average Update Latency": 26413.0, "Median Update Latency": 16961.2, "Tail Update Latency": 261833.5}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 400000, "Actual QPS": 400320.0, "Average Read Latency": 117.2, "Median Read Latency": 103.9, "Tail Read Latency": 299.9, "Average Update Latency": 121.2, "Median Update Latency": 106.3, "Tail Update Latency": 282.5}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 200000, "Actual QPS": 200364.9, "Average Read Latency": 88.2, "Median Read Latency": 85.1, "Tail Read Latency": 137.9, "Average Update Latency": 92.0, "Median Update Latency": 89.2, "Tail Update Latency": 140.5}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 500000, "Actual QPS": 499435.9, "Average Read Latency": 5700.9, "Median Read Latency": 246.2, "Tail Read Latency": 12449.3, "Average Update Latency": 5585.3, "Median Update Latency": 242.5, "Tail Update Latency": 12446.5}], ["forall-03", "memcached forall-03", {"Target QPS": 600000, "Actual QPS": 553135.0, "Average Read Latency": 15120.1, "Median Read Latency": 10074.2, "Tail Read Latency": 226396.8, "Average Update Latency": 15928.5, "Median Update Latency": 10052.8, "Tail Update Latency": 228722.8}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 800000, "Actual QPS": 574703.5, "Average Read Latency": 37166.0, "Median Read Latency": 35804.8, "Tail Read Latency": 88204.7, "Average Update Latency": 36635.2, "Median Update Latency": 35408.6, "Tail Update Latency": 85909.4}], ["forall-10", "memcached forall-10", {"Target QPS": 800000, "Actual QPS": 560826.6, "Average Read Latency": 14123.1, "Median Read Latency": 13526.4, "Tail Read Latency": 25784.2, "Average Update Latency": 14137.1, "Median Update Latency": 13470.3, "Tail Update Latency": 26087.3}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 100000, "Actual QPS": 100214.7, "Average Read Latency": 98.7, "Median Read Latency": 87.8, "Tail Read Latency": 138.9, "Average Update Latency": 110.6, "Median Update Latency": 94.2, "Tail Update Latency": 145.4}], ["fibre-50", "memcached fibre-50", {"Target QPS": 100000, "Actual QPS": 100322.4, "Average Read Latency": 95.9, "Median Read Latency": 94.0, "Tail Read Latency": 142.8, "Average Update Latency": 101.0, "Median Update Latency": 99.6, "Tail Update Latency": 151.6}], ["fibre-10", "memcached fibre-10", {"Target QPS": 800000, "Actual QPS": 504109.5, "Average Read Latency": 19733.4, "Median Read Latency": 12687.0, "Tail Read Latency": 233637.1, "Average Update Latency": 20973.1, "Median Update Latency": 13344.9, "Tail Update Latency": 238811.3}], ["fibre-03", "memcached fibre-03", {"Target QPS": 500000, "Actual QPS": 477643.3, "Average Read Latency": 17326.6, "Median Read Latency": 11445.3, "Tail Read Latency": 234304.9, "Average Update Latency": 17684.8, "Median Update Latency": 11695.8, "Tail Update Latency": 234802.2}], ["fibre-03", "memcached fibre-03", {"Target QPS": 100000, "Actual QPS": 100152.8, "Average Read Latency": 96.3, "Median Read Latency": 92.6, "Tail Read Latency": 153.3, "Average Update Latency": 99.8, "Median Update Latency": 98.1, "Tail Update Latency": 153.4}], ["forall-05", "memcached forall-05", {"Target QPS": 800000, "Actual QPS": 554351.8, "Average Read Latency": 16034.5, "Median Read Latency": 13806.4, "Tail Read Latency": 30631.5, "Average Update Latency": 15214.1, "Median Update Latency": 13806.7, "Tail Update Latency": 30041.8}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 200000, "Actual QPS": 200275.1, "Average Read Latency": 88.4, "Median Read Latency": 85.3, "Tail Read Latency": 131.6, "Average Update Latency": 96.8, "Median Update Latency": 88.8, "Tail Update Latency": 141.1}], ["forall-10", "memcached forall-10", {"Target QPS": 300000, "Actual QPS": 300082.2, "Average Read Latency": 109.8, "Median Read Latency": 100.8, "Tail Read Latency": 251.5, "Average Update Latency": 113.5, "Median Update Latency": 104.1, "Tail Update Latency": 264.1}], ["fibre-05", "memcached fibre-05", {"Target QPS": 600000, "Actual QPS": 502609.1, "Average Read Latency": 22126.5, "Median Read Latency": 12956.8, "Tail Read Latency": 288254.6, "Average Update Latency": 21427.2, "Median Update Latency": 12802.4, "Tail Update Latency": 269115.4}], ["forall-50", "memcached forall-50", {"Target QPS": 100000, "Actual QPS": 100322.8, "Average Read Latency": 97.8, "Median Read Latency": 93.3, "Tail Read Latency": 146.4, "Average Update Latency": 103.7, "Median Update Latency": 100.4, "Tail Update Latency": 154.8}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 800000, "Actual QPS": 592119.2, "Average Read Latency": 30146.0, "Median Read Latency": 29456.8, "Tail Read Latency": 69404.1, "Average Update Latency": 29495.6, "Median Update Latency": 28699.5, "Tail Update Latency": 69346.7}], ["fibre-50", "memcached fibre-50", {"Target QPS": 700000, "Actual QPS": 491137.4, "Average Read Latency": 26552.9, "Median Read Latency": 15054.5, "Tail Read Latency": 276484.9, "Average Update Latency": 26897.3, "Median Update Latency": 15060.1, "Tail Update Latency": 277637.8}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 100000, "Actual QPS": 100290.0, "Average Read Latency": 87.1, "Median Read Latency": 84.2, "Tail Read Latency": 125.9, "Average Update Latency": 92.0, "Median Update Latency": 89.7, "Tail Update Latency": 135.4}], ["fibre-50", "memcached fibre-50", {"Target QPS": 600000, "Actual QPS": 497511.4, "Average Read Latency": 23561.8, "Median Read Latency": 13972.7, "Tail Read Latency": 264362.4, "Average Update Latency": 24575.9, "Median Update Latency": 14111.1, "Tail Update Latency": 283913.5}], ["fibre-50", "memcached fibre-50", {"Target QPS": 800000, "Actual QPS": 496108.4, "Average Read Latency": 22136.0, "Median Read Latency": 13145.8, "Tail Read Latency": 239616.4, "Average Update Latency": 24106.6, "Median Update Latency": 13241.7, "Tail Update Latency": 290431.8}], ["forall-10", "memcached forall-10", {"Target QPS": 700000, "Actual QPS": 574150.2, "Average Read Latency": 16939.7, "Median Read Latency": 12934.7, "Tail Read Latency": 33133.0, "Average Update Latency": 16103.9, "Median Update Latency": 12984.8, "Tail Update Latency": 30380.4}], ["fibre-50", "memcached fibre-50", {"Target QPS": 500000, "Actual QPS": 480452.0, "Average Read Latency": 19308.7, "Median Read Latency": 13500.5, "Tail Read Latency": 233531.4, "Average Update Latency": 20494.3, "Median Update Latency": 13460.3, "Tail Update Latency": 236190.2}], ["forall-50", "memcached forall-50", {"Target QPS": 800000, "Actual QPS": 550343.0, "Average Read Latency": 14474.6, "Median Read Latency": 13070.6, "Tail Read Latency": 27075.3, "Average Update Latency": 14463.9, "Median Update Latency": 13166.3, "Tail Update Latency": 28846.0}], ["fibre-03", "memcached fibre-03", {"Target QPS": 200000, "Actual QPS": 200198.9, "Average Read Latency": 99.3, "Median Read Latency": 94.5, "Tail Read Latency": 188.6, "Average Update Latency": 102.3, "Median Update Latency": 98.2, "Tail Update Latency": 181.2}], ["forall-50", "memcached forall-50", {"Target QPS": 600000, "Actual QPS": 574905.9, "Average Read Latency": 13572.0, "Median Read Latency": 12575.8, "Tail Read Latency": 28619.8, "Average Update Latency": 13745.5, "Median Update Latency": 12576.4, "Tail Update Latency": 30408.4}], ["fibre-50", "memcached fibre-50", {"Target QPS": 400000, "Actual QPS": 400271.7, "Average Read Latency": 803.4, "Median Read Latency": 126.1, "Tail Read Latency": 13307.5, "Average Update Latency": 1219.0, "Median Update Latency": 127.9, "Tail Update Latency": 15221.5}], ["fibre-05", "memcached fibre-05", {"Target QPS": 200000, "Actual QPS": 200263.9, "Average Read Latency": 102.2, "Median Read Latency": 94.0, "Tail Read Latency": 175.4, "Average Update Latency": 111.2, "Median Update Latency": 97.6, "Tail Update Latency": 189.9}], ["forall-05", "memcached forall-05", {"Target QPS": 600000, "Actual QPS": 536793.4, "Average Read Latency": 14902.7, "Median Read Latency": 11434.2, "Tail Read Latency": 211495.6, "Average Update Latency": 15061.0, "Median Update Latency": 11623.7, "Tail Update Latency": 213634.9}], ["fibre-50", "memcached fibre-50", {"Target QPS": 800000, "Actual QPS": 520372.6, "Average Read Latency": 24761.6, "Median Read Latency": 17372.4, "Tail Read Latency": 250977.0, "Average Update Latency": 26031.2, "Median Update Latency": 17906.7, "Tail Update Latency": 259306.7}], ["forall-50", "memcached forall-50", {"Target QPS": 700000, "Actual QPS": 551122.2, "Average Read Latency": 15189.1, "Median Read Latency": 14351.9, "Tail Read Latency": 28673.5, "Average Update Latency": 16248.3, "Median Update Latency": 14397.1, "Tail Update Latency": 34103.5}], ["forall-10", "memcached forall-10", {"Target QPS": 500000, "Actual QPS": 496854.7, "Average Read Latency": 7268.8, "Median Read Latency": 1345.0, "Tail Read Latency": 205016.8, "Average Update Latency": 6543.1, "Median Update Latency": 1185.2, "Tail Update Latency": 16529.3}], ["fibre-50", "memcached fibre-50", {"Target QPS": 200000, "Actual QPS": 200165.8, "Average Read Latency": 98.6, "Median Read Latency": 94.3, "Tail Read Latency": 176.2, "Average Update Latency": 102.1, "Median Update Latency": 97.8, "Tail Update Latency": 175.0}], ["fibre-50", "memcached fibre-50", {"Target QPS": 300000, "Actual QPS": 300271.1, "Average Read Latency": 142.7, "Median Read Latency": 99.4, "Tail Read Latency": 364.5, "Average Update Latency": 182.4, "Median Update Latency": 102.0, "Tail Update Latency": 341.2}], ["forall-03", "memcached forall-03", {"Target QPS": 800000, "Actual QPS": 538932.7, "Average Read Latency": 14293.5, "Median Read Latency": 13876.8, "Tail Read Latency": 29123.2, "Average Update Latency": 15087.9, "Median Update Latency": 13812.3, "Tail Update Latency": 39682.0}], ["forall-10", "memcached forall-10", {"Target QPS": 600000, "Actual QPS": 554949.9, "Average Read Latency": 16344.6, "Median Read Latency": 10745.9, "Tail Read Latency": 226845.2, "Average Update Latency": 16724.4, "Median Update Latency": 10636.5, "Tail Update Latency": 227209.1}], ["fibre-05", "memcached fibre-05", {"Target QPS": 500000, "Actual QPS": 482442.9, "Average Read Latency": 19030.5, "Median Read Latency": 12748.5, "Tail Read Latency": 236100.5, "Average Update Latency": 19078.3, "Median Update Latency": 12999.7, "Tail Update Latency": 236390.7}], ["fibre-03", "memcached fibre-03", {"Target QPS": 800000, "Actual QPS": 526409.1, "Average Read Latency": 20960.4, "Median Read Latency": 13515.1, "Tail Read Latency": 236882.5, "Average Update Latency": 20133.3, "Median Update Latency": 13111.2, "Tail Update Latency": 236268.0}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 100000, "Actual QPS": 100322.9, "Average Read Latency": 90.7, "Median Read Latency": 87.8, "Tail Read Latency": 140.4, "Average Update Latency": 96.8, "Median Update Latency": 94.5, "Tail Update Latency": 148.5}], ["fibre-03", "memcached fibre-03", {"Target QPS": 400000, "Actual QPS": 400309.0, "Average Read Latency": 354.2, "Median Read Latency": 130.8, "Tail Read Latency": 5204.2, "Average Update Latency": 415.6, "Median Update Latency": 134.4, "Tail Update Latency": 8007.6}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 600000, "Actual QPS": 561579.4, "Average Read Latency": 10142.1, "Median Read Latency": 6048.9, "Tail Read Latency": 227482.4, "Average Update Latency": 11686.0, "Median Update Latency": 6750.2, "Tail Update Latency": 231104.2}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 800000, "Actual QPS": 582548.5, "Average Read Latency": 32272.9, "Median Read Latency": 31346.4, "Tail Read Latency": 80986.4, "Average Update Latency": 32023.1, "Median Update Latency": 31813.0, "Tail Update Latency": 77064.8}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 800000, "Actual QPS": 585258.0, "Average Read Latency": 30898.2, "Median Read Latency": 29618.1, "Tail Read Latency": 74921.3, "Average Update Latency": 30783.7, "Median Update Latency": 29917.0, "Tail Update Latency": 76411.1}], ["forall-03", "memcached forall-03", {"Target QPS": 500000, "Actual QPS": 496757.1, "Average Read Latency": 7022.6, "Median Read Latency": 660.8, "Tail Read Latency": 16524.8, "Average Update Latency": 7067.6, "Median Update Latency": 756.8, "Tail Update Latency": 28492.6}], ["fibre-05", "memcached fibre-05", {"Target QPS": 400000, "Actual QPS": 400287.6, "Average Read Latency": 439.8, "Median Read Latency": 129.1, "Tail Read Latency": 7233.2, "Average Update Latency": 574.7, "Median Update Latency": 132.5, "Tail Update Latency": 11012.8}], ["forall-10", "memcached forall-10", {"Target QPS": 400000, "Actual QPS": 400128.6, "Average Read Latency": 170.3, "Median Read Latency": 122.1, "Tail Read Latency": 553.8, "Average Update Latency": 174.8, "Median Update Latency": 126.2, "Tail Update Latency": 588.0}], ["fibre-10", "memcached fibre-10", {"Target QPS": 200000, "Actual QPS": 200294.6, "Average Read Latency": 103.7, "Median Read Latency": 98.4, "Tail Read Latency": 197.2, "Average Update Latency": 106.6, "Median Update Latency": 101.4, "Tail Update Latency": 202.3}], ["forall-05", "memcached forall-05", {"Target QPS": 700000, "Actual QPS": 574713.0, "Average Read Latency": 15967.6, "Median Read Latency": 12767.8, "Tail Read Latency": 29032.0, "Average Update Latency": 16043.7, "Median Update Latency": 12729.9, "Tail Update Latency": 30898.8}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 500000, "Actual QPS": 498882.2, "Average Read Latency": 5359.3, "Median Read Latency": 198.7, "Tail Read Latency": 12366.1, "Average Update Latency": 5532.1, "Median Update Latency": 203.1, "Tail Update Latency": 12402.3}], ["fibre-10", "memcached fibre-10", {"Target QPS": 100000, "Actual QPS": 100289.6, "Average Read Latency": 96.6, "Median Read Latency": 94.7, "Tail Read Latency": 145.7, "Average Update Latency": 101.8, "Median Update Latency": 99.3, "Tail Update Latency": 157.1}], ["forall-03", "memcached forall-03", {"Target QPS": 300000, "Actual QPS": 300099.2, "Average Read Latency": 119.2, "Median Read Latency": 99.6, "Tail Read Latency": 269.3, "Average Update Latency": 117.7, "Median Update Latency": 103.9, "Tail Update Latency": 265.7}], ["forall-05", "memcached forall-05", {"Target QPS": 400000, "Actual QPS": 400549.5, "Average Read Latency": 171.1, "Median Read Latency": 122.8, "Tail Read Latency": 584.9, "Average Update Latency": 178.9, "Median Update Latency": 128.8, "Tail Update Latency": 579.3}], ["forall-50", "memcached forall-50", {"Target QPS": 300000, "Actual QPS": 300276.2, "Average Read Latency": 108.7, "Median Read Latency": 99.2, "Tail Read Latency": 244.3, "Average Update Latency": 115.5, "Median Update Latency": 104.0, "Tail Update Latency": 259.2}], ["fibre-10", "memcached fibre-10", {"Target QPS": 700000, "Actual QPS": 520490.9, "Average Read Latency": 21809.6, "Median Read Latency": 14661.4, "Tail Read Latency": 242948.2, "Average Update Latency": 19916.9, "Median Update Latency": 14518.3, "Tail Update Latency": 235161.7}], ["forall-50", "memcached forall-50", {"Target QPS": 200000, "Actual QPS": 200495.8, "Average Read Latency": 101.5, "Median Read Latency": 95.7, "Tail Read Latency": 205.3, "Average Update Latency": 107.3, "Median Update Latency": 101.0, "Tail Update Latency": 212.1}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 100000, "Actual QPS": 100292.4, "Average Read Latency": 88.9, "Median Read Latency": 86.3, "Tail Read Latency": 132.4, "Average Update Latency": 100.0, "Median Update Latency": 92.8, "Tail Update Latency": 149.4}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 700000, "Actual QPS": 586933.0, "Average Read Latency": 21597.2, "Median Read Latency": 13045.3, "Tail Read Latency": 239922.7, "Average Update Latency": 21560.9, "Median Update Latency": 13005.2, "Tail Update Latency": 242205.3}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 400000, "Actual QPS": 399855.0, "Average Read Latency": 115.1, "Median Read Latency": 102.1, "Tail Read Latency": 300.6, "Average Update Latency": 120.0, "Median Update Latency": 105.7, "Tail Update Latency": 317.4}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 200000, "Actual QPS": 200646.8, "Average Read Latency": 90.4, "Median Read Latency": 87.0, "Tail Read Latency": 144.9, "Average Update Latency": 94.5, "Median Update Latency": 91.6, "Tail Update Latency": 142.9}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 800000, "Actual QPS": 589620.6, "Average Read Latency": 30742.0, "Median Read Latency": 29064.1, "Tail Read Latency": 81951.8, "Average Update Latency": 30723.8, "Median Update Latency": 29273.2, "Tail Update Latency": 79021.8}], ["forall-10", "memcached forall-10", {"Target QPS": 200000, "Actual QPS": 200435.0, "Average Read Latency": 109.4, "Median Read Latency": 96.4, "Tail Read Latency": 225.7, "Average Update Latency": 109.5, "Median Update Latency": 101.3, "Tail Update Latency": 221.6}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 500000, "Actual QPS": 499078.3, "Average Read Latency": 5020.9, "Median Read Latency": 200.6, "Tail Read Latency": 12363.2, "Average Update Latency": 5052.2, "Median Update Latency": 211.4, "Tail Update Latency": 12372.4}], ["fibre-03", "memcached fibre-03", {"Target QPS": 700000, "Actual QPS": 515280.5, "Average Read Latency": 14375.3, "Median Read Latency": 9364.8, "Tail Read Latency": 230807.6, "Average Update Latency": 15385.6, "Median Update Latency": 9523.5, "Tail Update Latency": 234891.9}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 500000, "Actual QPS": 498237.9, "Average Read Latency": 5900.4, "Median Read Latency": 282.0, "Tail Read Latency": 12478.6, "Average Update Latency": 5674.9, "Median Update Latency": 398.1, "Tail Update Latency": 12476.7}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 700000, "Actual QPS": 591351.0, "Average Read Latency": 20163.0, "Median Read Latency": 13245.7, "Tail Read Latency": 241499.3, "Average Update Latency": 19016.3, "Median Update Latency": 13173.7, "Tail Update Latency": 234730.6}], ["fibre-03", "memcached fibre-03", {"Target QPS": 700000, "Actual QPS": 500826.6, "Average Read Latency": 18291.7, "Median Read Latency": 13374.9, "Tail Read Latency": 235063.1, "Average Update Latency": 18423.0, "Median Update Latency": 13315.2, "Tail Update Latency": 236337.1}], ["forall-03", "memcached forall-03", {"Target QPS": 100000, "Actual QPS": 100193.3, "Average Read Latency": 100.9, "Median Read Latency": 93.6, "Tail Read Latency": 176.4, "Average Update Latency": 105.6, "Median Update Latency": 101.8, "Tail Update Latency": 185.8}], ["fibre-50", "memcached fibre-50", {"Target QPS": 100000, "Actual QPS": 100384.1, "Average Read Latency": 106.4, "Median Read Latency": 96.3, "Tail Read Latency": 152.4, "Average Update Latency": 112.1, "Median Update Latency": 101.1, "Tail Update Latency": 157.3}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 300000, "Actual QPS": 300361.8, "Average Read Latency": 101.4, "Median Read Latency": 95.1, "Tail Read Latency": 193.0, "Average Update Latency": 105.9, "Median Update Latency": 98.8, "Tail Update Latency": 194.9}], ["fibre-50", "memcached fibre-50", {"Target QPS": 700000, "Actual QPS": 509392.0, "Average Read Latency": 22893.6, "Median Read Latency": 15688.3, "Tail Read Latency": 234951.5, "Average Update Latency": 25849.0, "Median Update Latency": 16202.2, "Tail Update Latency": 255076.2}], ["fibre-50", "memcached fibre-50", {"Target QPS": 200000, "Actual QPS": 200574.3, "Average Read Latency": 102.3, "Median Read Latency": 96.2, "Tail Read Latency": 191.4, "Average Update Latency": 105.3, "Median Update Latency": 99.8, "Tail Update Latency": 205.9}], ["fibre-10", "memcached fibre-10", {"Target QPS": 400000, "Actual QPS": 400141.7, "Average Read Latency": 451.4, "Median Read Latency": 127.5, "Tail Read Latency": 7564.3, "Average Update Latency": 596.5, "Median Update Latency": 128.8, "Tail Update Latency": 11365.6}], ["fibre-03", "memcached fibre-03", {"Target QPS": 800000, "Actual QPS": 513436.7, "Average Read Latency": 24972.6, "Median Read Latency": 17242.9, "Tail Read Latency": 236950.2, "Average Update Latency": 25755.6, "Median Update Latency": 17450.7, "Tail Update Latency": 246826.5}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 300000, "Actual QPS": 300297.2, "Average Read Latency": 102.4, "Median Read Latency": 95.3, "Tail Read Latency": 195.1, "Average Update Latency": 104.9, "Median Update Latency": 99.4, "Tail Update Latency": 195.5}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 300000, "Actual QPS": 300357.8, "Average Read Latency": 105.2, "Median Read Latency": 98.0, "Tail Read Latency": 207.8, "Average Update Latency": 107.7, "Median Update Latency": 101.3, "Tail Update Latency": 207.1}], ["forall-50", "memcached forall-50", {"Target QPS": 500000, "Actual QPS": 492931.4, "Average Read Latency": 7439.2, "Median Read Latency": 658.8, "Tail Read Latency": 200755.0, "Average Update Latency": 8234.3, "Median Update Latency": 849.0, "Tail Update Latency": 207909.0}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 300000, "Actual QPS": 299955.3, "Average Read Latency": 101.6, "Median Read Latency": 94.7, "Tail Read Latency": 185.3, "Average Update Latency": 105.6, "Median Update Latency": 98.2, "Tail Update Latency": 195.5}], ["forall-03", "memcached forall-03", {"Target QPS": 800000, "Actual QPS": 548681.8, "Average Read Latency": 14767.8, "Median Read Latency": 14551.7, "Tail Read Latency": 26767.3, "Average Update Latency": 14971.7, "Median Update Latency": 14572.2, "Tail Update Latency": 28569.4}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 600000, "Actual QPS": 555752.9, "Average Read Latency": 11281.4, "Median Read Latency": 6958.2, "Tail Read Latency": 228269.2, "Average Update Latency": 10101.9, "Median Update Latency": 7548.8, "Tail Update Latency": 226009.4}], ["forall-10", "memcached forall-10", {"Target QPS": 600000, "Actual QPS": 554812.9, "Average Read Latency": 15363.8, "Median Read Latency": 13042.6, "Tail Read Latency": 50422.9, "Average Update Latency": 16288.5, "Median Update Latency": 13047.3, "Tail Update Latency": 93654.7}], ["fibre-03", "memcached fibre-03", {"Target QPS": 300000, "Actual QPS": 300233.3, "Average Read Latency": 162.3, "Median Read Latency": 106.6, "Tail Read Latency": 391.9, "Average Update Latency": 149.3, "Median Update Latency": 110.5, "Tail Update Latency": 326.0}], ["fibre-05", "memcached fibre-05", {"Target QPS": 400000, "Actual QPS": 400451.2, "Average Read Latency": 481.7, "Median Read Latency": 122.4, "Tail Read Latency": 8950.9, "Average Update Latency": 613.7, "Median Update Latency": 125.0, "Tail Update Latency": 11722.6}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 400000, "Actual QPS": 400248.2, "Average Read Latency": 117.9, "Median Read Latency": 102.6, "Tail Read Latency": 313.0, "Average Update Latency": 125.5, "Median Update Latency": 107.1, "Tail Update Latency": 319.9}], ["fibre-10", "memcached fibre-10", {"Target QPS": 300000, "Actual QPS": 300152.1, "Average Read Latency": 148.1, "Median Read Latency": 99.7, "Tail Read Latency": 655.4, "Average Update Latency": 182.8, "Median Update Latency": 103.1, "Tail Update Latency": 1915.3}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 100000, "Actual QPS": 100197.2, "Average Read Latency": 89.6, "Median Read Latency": 87.1, "Tail Read Latency": 136.6, "Average Update Latency": 95.9, "Median Update Latency": 94.0, "Tail Update Latency": 141.3}], ["forall-05", "memcached forall-05", {"Target QPS": 200000, "Actual QPS": 200338.3, "Average Read Latency": 99.9, "Median Read Latency": 94.3, "Tail Read Latency": 198.9, "Average Update Latency": 104.7, "Median Update Latency": 98.8, "Tail Update Latency": 211.3}], ["fibre-03", "memcached fibre-03", {"Target QPS": 300000, "Actual QPS": 300203.9, "Average Read Latency": 138.7, "Median Read Latency": 105.3, "Tail Read Latency": 410.4, "Average Update Latency": 151.6, "Median Update Latency": 108.7, "Tail Update Latency": 348.0}], ["fibre-10", "memcached fibre-10", {"Target QPS": 600000, "Actual QPS": 513762.9, "Average Read Latency": 20017.4, "Median Read Latency": 13956.1, "Tail Read Latency": 238947.8, "Average Update Latency": 20998.7, "Median Update Latency": 14147.1, "Tail Update Latency": 239873.0}], ["forall-10", "memcached forall-10", {"Target QPS": 200000, "Actual QPS": 200087.8, "Average Read Latency": 102.7, "Median Read Latency": 96.0, "Tail Read Latency": 210.9, "Average Update Latency": 107.8, "Median Update Latency": 100.9, "Tail Update Latency": 231.9}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 400000, "Actual QPS": 400297.7, "Average Read Latency": 125.9, "Median Read Latency": 106.9, "Tail Read Latency": 301.7, "Average Update Latency": 128.5, "Median Update Latency": 110.1, "Tail Update Latency": 317.6}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 200000, "Actual QPS": 200377.8, "Average Read Latency": 87.3, "Median Read Latency": 84.4, "Tail Read Latency": 134.4, "Average Update Latency": 91.2, "Median Update Latency": 88.1, "Tail Update Latency": 144.0}], ["fibre-10", "memcached fibre-10", {"Target QPS": 100000, "Actual QPS": 100148.9, "Average Read Latency": 93.2, "Median Read Latency": 91.7, "Tail Read Latency": 139.1, "Average Update Latency": 98.1, "Median Update Latency": 96.4, "Tail Update Latency": 141.1}], ["forall-03", "memcached forall-03", {"Target QPS": 500000, "Actual QPS": 496583.6, "Average Read Latency": 8174.0, "Median Read Latency": 1955.3, "Tail Read Latency": 213148.3, "Average Update Latency": 7597.5, "Median Update Latency": 1080.4, "Tail Update Latency": 208611.0}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 500000, "Actual QPS": 499586.6, "Average Read Latency": 5764.5, "Median Read Latency": 460.0, "Tail Read Latency": 12519.6, "Average Update Latency": 5895.7, "Median Update Latency": 371.8, "Tail Update Latency": 12629.8}], ["fibre-03", "memcached fibre-03", {"Target QPS": 400000, "Actual QPS": 400538.5, "Average Read Latency": 310.2, "Median Read Latency": 123.3, "Tail Read Latency": 5618.0, "Average Update Latency": 437.2, "Median Update Latency": 127.5, "Tail Update Latency": 8481.1}], ["forall-50", "memcached forall-50", {"Target QPS": 400000, "Actual QPS": 400000.7, "Average Read Latency": 178.6, "Median Read Latency": 122.2, "Tail Read Latency": 577.3, "Average Update Latency": 177.1, "Median Update Latency": 126.8, "Tail Update Latency": 579.6}], ["forall-03", "memcached forall-03", {"Target QPS": 200000, "Actual QPS": 200182.8, "Average Read Latency": 100.0, "Median Read Latency": 94.7, "Tail Read Latency": 210.4, "Average Update Latency": 106.4, "Median Update Latency": 100.1, "Tail Update Latency": 223.4}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 100000, "Actual QPS": 100362.3, "Average Read Latency": 86.4, "Median Read Latency": 84.3, "Tail Read Latency": 128.2, "Average Update Latency": 92.7, "Median Update Latency": 90.8, "Tail Update Latency": 136.1}], ["forall-05", "memcached forall-05", {"Target QPS": 200000, "Actual QPS": 200239.5, "Average Read Latency": 105.5, "Median Read Latency": 97.7, "Tail Read Latency": 232.3, "Average Update Latency": 110.7, "Median Update Latency": 103.2, "Tail Update Latency": 256.2}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 600000, "Actual QPS": 567500.9, "Average Read Latency": 9787.7, "Median Read Latency": 4918.6, "Tail Read Latency": 224253.6, "Average Update Latency": 10084.1, "Median Update Latency": 4912.8, "Tail Update Latency": 223792.6}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 600000, "Actual QPS": 567401.0, "Average Read Latency": 12093.6, "Median Read Latency": 7584.0, "Tail Read Latency": 227011.3, "Average Update Latency": 12151.0, "Median Update Latency": 7849.4, "Tail Update Latency": 227527.1}], ["fibre-05", "memcached fibre-05", {"Target QPS": 100000, "Actual QPS": 100280.5, "Average Read Latency": 95.2, "Median Read Latency": 93.1, "Tail Read Latency": 145.3, "Average Update Latency": 100.3, "Median Update Latency": 97.9, "Tail Update Latency": 151.7}], ["fibre-05", "memcached fibre-05", {"Target QPS": 800000, "Actual QPS": 507832.5, "Average Read Latency": 25356.0, "Median Read Latency": 14150.2, "Tail Read Latency": 299156.2, "Average Update Latency": 25223.2, "Median Update Latency": 14075.7, "Tail Update Latency": 292415.6}], ["forall-03", "memcached forall-03", {"Target QPS": 200000, "Actual QPS": 200078.2, "Average Read Latency": 103.4, "Median Read Latency": 96.9, "Tail Read Latency": 213.4, "Average Update Latency": 108.2, "Median Update Latency": 102.4, "Tail Update Latency": 218.0}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 500000, "Actual QPS": 499485.4, "Average Read Latency": 5539.4, "Median Read Latency": 206.9, "Tail Read Latency": 12457.2, "Average Update Latency": 5141.3, "Median Update Latency": 295.9, "Tail Update Latency": 12363.4}], ["fibre-03", "memcached fibre-03", {"Target QPS": 600000, "Actual QPS": 513848.7, "Average Read Latency": 25447.7, "Median Read Latency": 17419.6, "Tail Read Latency": 246475.0, "Average Update Latency": 25704.2, "Median Update Latency": 17383.5, "Tail Update Latency": 250157.9}], ["fibre-50", "memcached fibre-50", {"Target QPS": 300000, "Actual QPS": 300236.0, "Average Read Latency": 119.1, "Median Read Latency": 98.7, "Tail Read Latency": 253.2, "Average Update Latency": 127.0, "Median Update Latency": 101.8, "Tail Update Latency": 278.7}], ["fibre-03", "memcached fibre-03", {"Target QPS": 200000, "Actual QPS": 200144.4, "Average Read Latency": 109.9, "Median Read Latency": 98.3, "Tail Read Latency": 185.2, "Average Update Latency": 122.4, "Median Update Latency": 102.1, "Tail Update Latency": 187.2}], ["fibre-50", "memcached fibre-50", {"Target QPS": 600000, "Actual QPS": 501622.5, "Average Read Latency": 25130.7, "Median Read Latency": 19197.1, "Tail Read Latency": 239144.8, "Average Update Latency": 25969.8, "Median Update Latency": 19290.2, "Tail Update Latency": 246584.3}], ["fibre-50", "memcached fibre-50", {"Target QPS": 400000, "Actual QPS": 399943.8, "Average Read Latency": 286.1, "Median Read Latency": 126.4, "Tail Read Latency": 3854.3, "Average Update Latency": 352.4, "Median Update Latency": 127.3, "Tail Update Latency": 5556.8}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 700000, "Actual QPS": 590538.8, "Average Read Latency": 21280.1, "Median Read Latency": 13138.4, "Tail Read Latency": 245956.1, "Average Update Latency": 21876.4, "Median Update Latency": 13239.3, "Tail Update Latency": 249978.9}], ["forall-50", "memcached forall-50", {"Target QPS": 400000, "Actual QPS": 400251.7, "Average Read Latency": 164.5, "Median Read Latency": 117.8, "Tail Read Latency": 524.7, "Average Update Latency": 167.2, "Median Update Latency": 123.0, "Tail Update Latency": 530.1}], ["forall-05", "memcached forall-05", {"Target QPS": 500000, "Actual QPS": 493271.3, "Average Read Latency": 7493.6, "Median Read Latency": 812.8, "Tail Read Latency": 207246.3, "Average Update Latency": 8184.9, "Median Update Latency": 809.5, "Tail Update Latency": 215555.9}], ["forall-50", "memcached forall-50", {"Target QPS": 200000, "Actual QPS": 200362.4, "Average Read Latency": 116.5, "Median Read Latency": 96.9, "Tail Read Latency": 204.6, "Average Update Latency": 118.6, "Median Update Latency": 102.2, "Tail Update Latency": 209.3}], ["fibre-10", "memcached fibre-10", {"Target QPS": 500000, "Actual QPS": 483419.8, "Average Read Latency": 13303.0, "Median Read Latency": 9585.5, "Tail Read Latency": 226038.8, "Average Update Latency": 14377.3, "Median Update Latency": 9468.2, "Tail Update Latency": 230538.4}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 700000, "Actual QPS": 583004.3, "Average Read Latency": 23129.1, "Median Read Latency": 14377.1, "Tail Read Latency": 236450.5, "Average Update Latency": 23524.7, "Median Update Latency": 14233.4, "Tail Update Latency": 242959.1}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 700000, "Actual QPS": 586711.4, "Average Read Latency": 20524.2, "Median Read Latency": 12918.9, "Tail Read Latency": 239079.0, "Average Update Latency": 20465.5, "Median Update Latency": 12685.6, "Tail Update Latency": 238025.4}], ["forall-50", "memcached forall-50", {"Target QPS": 100000, "Actual QPS": 100108.2, "Average Read Latency": 108.8, "Median Read Latency": 93.3, "Tail Read Latency": 152.4, "Average Update Latency": 145.2, "Median Update Latency": 100.4, "Tail Update Latency": 181.8}], ["forall-50", "memcached forall-50", {"Target QPS": 600000, "Actual QPS": 542466.3, "Average Read Latency": 14992.6, "Median Read Latency": 13428.8, "Tail Read Latency": 48820.9, "Average Update Latency": 16068.3, "Median Update Latency": 13479.3, "Tail Update Latency": 94086.5}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 400000, "Actual QPS": 400183.3, "Average Read Latency": 116.4, "Median Read Latency": 103.7, "Tail Read Latency": 297.4, "Average Update Latency": 118.8, "Median Update Latency": 105.9, "Tail Update Latency": 291.7}], ["fibre-05", "memcached fibre-05", {"Target QPS": 600000, "Actual QPS": 509527.1, "Average Read Latency": 24353.3, "Median Read Latency": 16750.3, "Tail Read Latency": 236780.0, "Average Update Latency": 25152.5, "Median Update Latency": 16585.5, "Tail Update Latency": 249339.2}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 800000, "Actual QPS": 581395.9, "Average Read Latency": 33017.2, "Median Read Latency": 30304.2, "Tail Read Latency": 93752.0, "Average Update Latency": 32034.6, "Median Update Latency": 30695.7, "Tail Update Latency": 88616.3}], ["fibre-05", "memcached fibre-05", {"Target QPS": 500000, "Actual QPS": 484789.5, "Average Read Latency": 19290.6, "Median Read Latency": 13917.3, "Tail Read Latency": 229120.8, "Average Update Latency": 20124.2, "Median Update Latency": 13726.0, "Tail Update Latency": 234758.9}], ["forall-50", "memcached forall-50", {"Target QPS": 300000, "Actual QPS": 300134.1, "Average Read Latency": 120.3, "Median Read Latency": 107.1, "Tail Read Latency": 298.4, "Average Update Latency": 123.4, "Median Update Latency": 111.7, "Tail Update Latency": 315.2}], ["fibre-10", "memcached fibre-10", {"Target QPS": 200000, "Actual QPS": 200180.0, "Average Read Latency": 103.3, "Median Read Latency": 93.8, "Tail Read Latency": 175.8, "Average Update Latency": 110.6, "Median Update Latency": 97.0, "Tail Update Latency": 195.5}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 400000, "Actual QPS": 400483.3, "Average Read Latency": 114.9, "Median Read Latency": 103.5, "Tail Read Latency": 271.8, "Average Update Latency": 119.2, "Median Update Latency": 107.2, "Tail Update Latency": 273.5}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 300000, "Actual QPS": 300183.2, "Average Read Latency": 102.2, "Median Read Latency": 95.4, "Tail Read Latency": 191.8, "Average Update Latency": 104.3, "Median Update Latency": 98.2, "Tail Update Latency": 192.7}], ["fibre-05", "memcached fibre-05", {"Target QPS": 700000, "Actual QPS": 501004.9, "Average Read Latency": 23405.5, "Median Read Latency": 14056.8, "Tail Read Latency": 248987.9, "Average Update Latency": 23970.6, "Median Update Latency": 14218.9, "Tail Update Latency": 255571.2}], ["forall-05", "memcached forall-05", {"Target QPS": 700000, "Actual QPS": 557739.7, "Average Read Latency": 15137.5, "Median Read Latency": 13248.4, "Tail Read Latency": 30152.0, "Average Update Latency": 16433.8, "Median Update Latency": 13263.5, "Tail Update Latency": 32184.0}], ["forall-10", "memcached forall-10", {"Target QPS": 100000, "Actual QPS": 100299.4, "Average Read Latency": 98.6, "Median Read Latency": 94.5, "Tail Read Latency": 153.4, "Average Update Latency": 102.3, "Median Update Latency": 100.1, "Tail Update Latency": 157.3}], ["forall-50", "memcached forall-50", {"Target QPS": 500000, "Actual QPS": 498217.7, "Average Read Latency": 6993.8, "Median Read Latency": 823.6, "Tail Read Latency": 19185.7, "Average Update Latency": 7045.5, "Median Update Latency": 788.3, "Tail Update Latency": 198748.8}], ["forall-03", "memcached forall-03", {"Target QPS": 300000, "Actual QPS": 300496.1, "Average Read Latency": 121.6, "Median Read Latency": 108.0, "Tail Read Latency": 306.3, "Average Update Latency": 124.5, "Median Update Latency": 111.7, "Tail Update Latency": 292.5}], ["forall-10", "memcached forall-10", {"Target QPS": 800000, "Actual QPS": 567804.3, "Average Read Latency": 14394.3, "Median Read Latency": 13540.3, "Tail Read Latency": 27479.7, "Average Update Latency": 14514.9, "Median Update Latency": 13583.9, "Tail Update Latency": 27703.7}], ["forall-03", "memcached forall-03", {"Target QPS": 400000, "Actual QPS": 400374.0, "Average Read Latency": 157.9, "Median Read Latency": 120.9, "Tail Read Latency": 500.0, "Average Update Latency": 176.7, "Median Update Latency": 125.6, "Tail Update Latency": 525.8}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 700000, "Actual QPS": 591944.7, "Average Read Latency": 19579.0, "Median Read Latency": 12737.3, "Tail Read Latency": 228331.0, "Average Update Latency": 20965.8, "Median Update Latency": 12871.9, "Tail Update Latency": 235805.9}], ["forall-50", "memcached forall-50", {"Target QPS": 800000, "Actual QPS": 554497.3, "Average Read Latency": 14399.2, "Median Read Latency": 13489.5, "Tail Read Latency": 27769.2, "Average Update Latency": 14513.3, "Median Update Latency": 13507.0, "Tail Update Latency": 28472.9}], ["forall-05", "memcached forall-05", {"Target QPS": 600000, "Actual QPS": 560009.8, "Average Read Latency": 17097.1, "Median Read Latency": 10981.0, "Tail Read Latency": 228700.3, "Average Update Latency": 17390.8, "Median Update Latency": 11019.3, "Tail Update Latency": 228423.6}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 100000, "Actual QPS": 100371.2, "Average Read Latency": 90.2, "Median Read Latency": 87.2, "Tail Read Latency": 136.1, "Average Update Latency": 95.3, "Median Update Latency": 93.3, "Tail Update Latency": 140.7}], ["forall-05", "memcached forall-05", {"Target QPS": 300000, "Actual QPS": 300497.5, "Average Read Latency": 119.0, "Median Read Latency": 106.3, "Tail Read Latency": 277.0, "Average Update Latency": 123.3, "Median Update Latency": 110.9, "Tail Update Latency": 291.2}], ["forall-03", "memcached forall-03", {"Target QPS": 700000, "Actual QPS": 570966.7, "Average Read Latency": 14108.6, "Median Read Latency": 13417.2, "Tail Read Latency": 27094.5, "Average Update Latency": 14240.9, "Median Update Latency": 13416.6, "Tail Update Latency": 27842.0}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 400000, "Actual QPS": 400208.5, "Average Read Latency": 140.7, "Median Read Latency": 106.6, "Tail Read Latency": 613.3, "Average Update Latency": 142.6, "Median Update Latency": 109.7, "Tail Update Latency": 593.9}], ["fibre-05", "memcached fibre-05", {"Target QPS": 800000, "Actual QPS": 499851.3, "Average Read Latency": 23810.7, "Median Read Latency": 12976.7, "Tail Read Latency": 312200.9, "Average Update Latency": 23245.6, "Median Update Latency": 12979.2, "Tail Update Latency": 297088.1}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 200000, "Actual QPS": 200257.1, "Average Read Latency": 89.3, "Median Read Latency": 86.2, "Tail Read Latency": 137.0, "Average Update Latency": 92.9, "Median Update Latency": 90.1, "Tail Update Latency": 141.3}], ["fibre-05", "memcached fibre-05", {"Target QPS": 700000, "Actual QPS": 508273.2, "Average Read Latency": 21468.4, "Median Read Latency": 12346.2, "Tail Read Latency": 341454.9, "Average Update Latency": 22664.4, "Median Update Latency": 12156.8, "Tail Update Latency": 350233.6}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 600000, "Actual QPS": 567127.5, "Average Read Latency": 10341.4, "Median Read Latency": 3719.6, "Tail Read Latency": 225817.0, "Average Update Latency": 10631.8, "Median Update Latency": 3565.4, "Tail Update Latency": 228918.9}], ["forall-05", "memcached forall-05", {"Target QPS": 500000, "Actual QPS": 496460.7, "Average Read Latency": 6854.4, "Median Read Latency": 836.1, "Tail Read Latency": 31460.1, "Average Update Latency": 6655.6, "Median Update Latency": 680.5, "Tail Update Latency": 18883.1}], ["forall-05", "memcached forall-05", {"Target QPS": 300000, "Actual QPS": 300223.4, "Average Read Latency": 127.1, "Median Read Latency": 108.1, "Tail Read Latency": 306.3, "Average Update Latency": 129.9, "Median Update Latency": 112.2, "Tail Update Latency": 299.3}], ["fibre-05", "memcached fibre-05", {"Target QPS": 100000, "Actual QPS": 100311.6, "Average Read Latency": 93.1, "Median Read Latency": 91.2, "Tail Read Latency": 137.3, "Average Update Latency": 98.1, "Median Update Latency": 95.9, "Tail Update Latency": 142.7}], ["fibre-03", "memcached fibre-03", {"Target QPS": 100000, "Actual QPS": 100208.6, "Average Read Latency": 106.7, "Median Read Latency": 95.3, "Tail Read Latency": 155.2, "Average Update Latency": 115.3, "Median Update Latency": 100.7, "Tail Update Latency": 169.1}], ["fibre-50", "memcached fibre-50", {"Target QPS": 500000, "Actual QPS": 481032.0, "Average Read Latency": 15843.1, "Median Read Latency": 9799.0, "Tail Read Latency": 232564.2, "Average Update Latency": 14998.7, "Median Update Latency": 9709.7, "Tail Update Latency": 231557.6}], ["fibre-10", "memcached fibre-10", {"Target QPS": 300000, "Actual QPS": 300306.8, "Average Read Latency": 111.0, "Median Read Latency": 100.0, "Tail Read Latency": 230.7, "Average Update Latency": 114.4, "Median Update Latency": 102.5, "Tail Update Latency": 227.1}], ["fibre-05", "memcached fibre-05", {"Target QPS": 200000, "Actual QPS": 200142.5, "Average Read Latency": 101.6, "Median Read Latency": 97.1, "Tail Read Latency": 182.8, "Average Update Latency": 104.9, "Median Update Latency": 100.4, "Tail Update Latency": 185.1}], ["fibre-05", "memcached fibre-05", {"Target QPS": 300000, "Actual QPS": 300553.8, "Average Read Latency": 108.9, "Median Read Latency": 97.7, "Tail Read Latency": 224.0, "Average Update Latency": 121.1, "Median Update Latency": 100.6, "Tail Update Latency": 230.7}], ["vanilla-05", "memcached vanilla-05", {"Target QPS": 500000, "Actual QPS": 498863.1, "Average Read Latency": 5511.9, "Median Read Latency": 266.4, "Tail Read Latency": 12358.0, "Average Update Latency": 5555.9, "Median Update Latency": 356.1, "Tail Update Latency": 12376.6}], ["forall-05", "memcached forall-05", {"Target QPS": 100000, "Actual QPS": 100445.8, "Average Read Latency": 99.7, "Median Read Latency": 95.2, "Tail Read Latency": 153.1, "Average Update Latency": 108.2, "Median Update Latency": 102.0, "Tail Update Latency": 161.2}], ["forall-05", "memcached forall-05", {"Target QPS": 100000, "Actual QPS": 100211.9, "Average Read Latency": 97.8, "Median Read Latency": 93.2, "Tail Read Latency": 152.8, "Average Update Latency": 106.1, "Median Update Latency": 100.7, "Tail Update Latency": 171.7}], ["forall-10", "memcached forall-10", {"Target QPS": 500000, "Actual QPS": 493410.2, "Average Read Latency": 8782.3, "Median Read Latency": 3870.8, "Tail Read Latency": 220042.9, "Average Update Latency": 8010.1, "Median Update Latency": 4518.4, "Tail Update Latency": 203017.0}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 300000, "Actual QPS": 300175.0, "Average Read Latency": 101.1, "Median Read Latency": 94.2, "Tail Read Latency": 187.8, "Average Update Latency": 104.1, "Median Update Latency": 96.9, "Tail Update Latency": 190.1}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 400000, "Actual QPS": 400419.2, "Average Read Latency": 165.7, "Median Read Latency": 113.2, "Tail Read Latency": 742.6, "Average Update Latency": 169.7, "Median Update Latency": 115.2, "Tail Update Latency": 753.7}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 600000, "Actual QPS": 562187.4, "Average Read Latency": 11826.2, "Median Read Latency": 6992.8, "Tail Read Latency": 233008.4, "Average Update Latency": 11652.2, "Median Update Latency": 5357.3, "Tail Update Latency": 232596.2}], ["forall-10", "memcached forall-10", {"Target QPS": 300000, "Actual QPS": 299860.1, "Average Read Latency": 108.4, "Median Read Latency": 97.7, "Tail Read Latency": 254.3, "Average Update Latency": 112.7, "Median Update Latency": 102.6, "Tail Update Latency": 261.8}], ["vanilla-03", "memcached vanilla-03", {"Target QPS": 800000, "Actual QPS": 587202.2, "Average Read Latency": 31625.7, "Median Read Latency": 31009.8, "Tail Read Latency": 72087.5, "Average Update Latency": 31891.9, "Median Update Latency": 31211.7, "Tail Update Latency": 73411.3}], ["vanilla-10", "memcached vanilla-10", {"Target QPS": 200000, "Actual QPS": 200347.5, "Average Read Latency": 90.7, "Median Read Latency": 87.4, "Tail Read Latency": 143.4, "Average Update Latency": 95.5, "Median Update Latency": 92.4, "Tail Update Latency": 147.4}], ["vanilla-50", "memcached vanilla-50", {"Target QPS": 700000, "Actual QPS": 588863.2, "Average Read Latency": 21018.0, "Median Read Latency": 12493.8, "Tail Read Latency": 245429.0, "Average Update Latency": 19455.5, "Median Update Latency": 12660.3, "Tail Update Latency": 234455.2}], ["fibre-10", "memcached fibre-10", {"Target QPS": 500000, "Actual QPS": 481437.2, "Average Read Latency": 17571.8, "Median Read Latency": 11447.7, "Tail Read Latency": 233279.9, "Average Update Latency": 17895.6, "Median Update Latency": 11361.0, "Tail Update Latency": 231800.2}], ["forall-03", "memcached forall-03", {"Target QPS": 100000, "Actual QPS": 100178.6, "Average Read Latency": 102.4, "Median Read Latency": 93.4, "Tail Read Latency": 176.3, "Average Update Latency": 104.1, "Median Update Latency": 100.3, "Tail Update Latency": 180.7}], ["fibre-03", "memcached fibre-03", {"Target QPS": 600000, "Actual QPS": 509451.1, "Average Read Latency": 26833.5, "Median Read Latency": 20512.5, "Tail Read Latency": 248912.5, "Average Update Latency": 26959.9, "Median Update Latency": 20108.2, "Tail Update Latency": 255770.8}], ["fibre-10", "memcached fibre-10", {"Target QPS": 700000, "Actual QPS": 492843.5, "Average Read Latency": 25377.5, "Median Read Latency": 14857.4, "Tail Read Latency": 336408.8, "Average Update Latency": 26147.1, "Median Update Latency": 14868.7, "Tail Update Latency": 308630.0}], ["fibre-03", "memcached fibre-03", {"Target QPS": 500000, "Actual QPS": 481085.4, "Average Read Latency": 14389.4, "Median Read Latency": 9696.1, "Tail Read Latency": 229417.2, "Average Update Latency": 14718.7, "Median Update Latency": 9770.5, "Tail Update Latency": 228572.0}], ["fibre-05", "memcached fibre-05", {"Target QPS": 300000, "Actual QPS": 300385.8, "Average Read Latency": 122.6, "Median Read Latency": 99.5, "Tail Read Latency": 260.0, "Average Update Latency": 177.8, "Median Update Latency": 102.3, "Tail Update Latency": 316.7}]] -
doc/theses/thierry_delisle_PhD/thesis/data/swbsrv.25gb.cfa
r741e22c r71cf630 1 Run and Block are the number of processes in those states. 2 User, Sys and Wait are the average CPU utilization on the server. 3 Qlen is the average established connection queue length. 4 PktsIn packet arrival rate and PktsOut the packet departure rate 5 at the server (in packets/second). 6 KB/s is the average disk throughput in Kilobytes/second. 7 SPS is the average number of disk seeks per second. 8 (Except where stated otherwise, each quantity is the average of 9 approx. 20 samples per test run.) 10 11 _Ready_Queue ______CPU_Util_____ Syscl Lstn ________Network_____________ _Disk_I/O_ QDrops QDrops/s 12 Run Block Wait User Sys 1/sec Qlen PktsIn PktsOut Rxmit KB/s SPS 13 10000 2 0 0 24 71 0 -1 51587.8 -0.0 18446744073709551615 -1 -1 3 0.0 14 15000 3 0 0 33 61 0 -1 103208.6 -0.0 18446744073709551615 -1 -1 1 0.0 15 20000 3 1 0 41 52 0 -1 103302.6 -0.0 18446744073709551615 -1 -1 0 0.0 16 25000 4 1 0 49 42 0 -1 155151.5 -0.0 18446744073709551615 -1 -1 3 0.0 17 30000 5 0 0 54 37 0 -1 154927.2 -0.0 18446744073709551615 -1 -1 2 0.0 18 35000 5 1 0 59 31 0 -1 206649.5 -0.0 18446744073709551615 -1 -1 0 0.0 19 40000 6 0 0 64 26 0 -1 206362.8 -0.0 18446744073709551615 -1 -1 2 0.0 20 45000 6 0 0 68 22 0 -1 257603.9 -0.0 18446744073709551615 -1 -1 0 0.0 21 50000 7 1 0 71 19 0 -1 256337.3 -0.0 18446744073709551615 -1 -1 1 0.0 22 52500 7 0 0 72 19 0 -1 307467.8 -0.0 18446744073709551615 -1 -1 1 0.0 23 55000 7 0 0 73 18 0 -1 306704.5 -0.0 18446744073709551615 -1 -1 0 0.0 24 57500 5 1 0 55 39 0 -1 222251.6 -0.0 18446744073709551615 -1 -1 1404719 4148.9 25 60000 1 1 0 4 95 0 -1 26951.8 -0.0 18446744073709551615 -1 -1 6607576 20336.9 26 62500 0 1 0 3 97 0 -1 19908.1 -0.0 18446744073709551615 -1 -1 6783394 21719.6 27 65000 0 0 0 2 97 0 -1 19863.1 -0.0 18446744073709551615 -1 -1 8051709 23061.5 28 70000 0 0 0 3 97 0 -1 17097.3 -0.0 18446744073709551615 -1 -1 8184302 25190.2 29 30 The first five columns are the actual request rate, min, avg, max reply 31 rate and the stddev of the reply rate, the last four columns being computed 32 across multiple clients. 33 Response time components are: connect, first response, data transfer times, 34 followed by the aggregated values (across multiple clients) for mean 35 connection time (Total), standard deviation (Std), median (Med - bogus aggregate), 36 followed by the min and max response time measured across all clients. 37 Data is the network bandwidth consumed by HTTP payload (headers & data). 38 Err is the percentage of requests resulting in a network error on the client. 39 Reqs is the maximum number of outstanding requests on the client. 40 TSmpl is the total number of reply rate samples. 41 RSmpl is the average number of response times samples 42 . 1 Frankenstein results 43 2 44 3 Combined connection times 45 4 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 46 5 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 47 10000.0 1277 9512 10515 1768 0.2 0.2 0.3 8022.0 8022.0 7722 0.2 18120 1137.6 0.0 11897 1302.1 9492.2 0.0 1060 26996 48 15000.0 1825 14433 15731 2364 0.2 0.2 0.3 8022.1 9825.0 7722 0.3 18125 1727.1 0.0 17641 1977.0 14412.6 0.0 1397 53992 49 20000.0 2232 18974 20836 3646 0.2 0.2 0.3 8022.3 12684.2 7722 0.2 18130 2271.8 0.0 23315 2600.4 18956.2 0.0 1063 53992 50 25000.0 2791 23932 26010 4184 0.2 0.3 0.3 8022.5 13100.4 7722 0.3 18163 2863.5 0.0 28891 3277.9 23894.0 0.0 1264 80988 51 30000.0 3275 28462 30908 5452 0.2 0.3 0.3 8022.8 15361.8 7722 0.2 18124 3405.3 0.0 34502 3897.9 28414.5 0.0 1063 80988 52 35000.0 3649 33392 35934 6055 0.2 0.3 0.4 8023.1 15535.7 7722 0.3 18131 3998.3 0.0 40048 4577.0 33363.2 0.0 1208 107984 53 40000.0 3998 37882 41092 7407 0.3 0.4 0.4 8023.5 17485.3 7723 0.3 21106 4538.3 0.0 45592 5195.3 37870.1 0.0 1065 107984 54 45000.0 4490 42842 45986 7951 0.3 0.4 0.4 8024.0 17577.6 7723 0.3 21104 5132.4 0.0 51081 5875.1 42827.3 0.0 1177 134979 55 50000.0 4969 47353 51109 9252 0.3 0.5 0.5 8025.0 19322.9 7724 0.3 21106 5672.3 0.0 56620 6493.2 47331.3 0.0 1065 134979 56 52500.0 5243 50049 53503 9147 0.3 0.6 0.5 8026.2 19379.5 7725 0.3 18169 5994.9 0.0 59383 6862.4 50025.1 0.0 1209 161975 57 55000.0 5773 52387 56178 9626 0.3 0.8 0.6 8027.9 20976.5 7726 0.3 18161 6266.8 0.0 62196 7173.2 52290.6 0.0 1155 161975 58 57500.0 0 39873 58547 25800 1.1 54.3 20.5 8425.6 25937.3 7739 0.3 50488 4768.6 29.2 140969 7654.4 40649.3 2235.6 1083 118439 59 60000.0 0 2724 56647 10229 89.0 710.7 301.7 12505.1 87879.3 11059 0.3 47890 318.3 96.0 147374 7977.6 3479.2 7654.8 1039 10531 60 62500.0 0 1381 37905 5861 264.8 1252.2 532.0 13969.0 111405.4 14628 0.3 45325 157.3 98.2 148024 8298.8 2168.0 8148.0 998 6657 61 65000.0 0 814 28032 3948 304.3 1867.3 543.0 13461.1 126895.7 15062 0.2 45961 91.2 99.0 144054 8660.8 1561.5 8570.8 1116 5190 62 70000.0 0 284 9397 1356 302.6 3702.9 1319.6 14025.2 185599.6 13013 0.3 44400 26.5 99.6 124641 9307.2 997.8 9269.7 1039 2440 63 64 65 Client 1.1 connection times 66 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 67 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 68 625.0 86 597 654 114 0.2 0.2 0.3 8011.7 6151.1 7722 0.3 18111 71.8 0.0 734 81.9 597.0 0.0 66 26996 69 937.5 131 906 983 149 0.2 0.2 0.3 8011.9 6151.1 7722 0.3 18112 108.9 0.0 1089 124.2 905.4 0.0 87 53992 70 1250.0 95 1177 1298 258 0.2 0.2 0.3 8012.1 6151.3 7722 0.3 18124 143.3 0.0 1445 163.3 1190.6 0.0 67 53992 71 1562.5 217 1497 1624 270 0.2 0.3 0.3 8012.3 6151.4 7722 0.3 18143 180.3 0.0 1791 205.5 1498.3 0.0 79 80988 72 1875.0 143 1766 1937 382 0.2 0.3 0.3 8012.5 6151.5 7722 0.3 18118 214.4 0.0 2139 244.4 1781.6 0.0 67 80988 73 2187.5 170 2075 2248 418 0.2 0.3 0.3 8012.8 6151.6 7722 0.3 18117 251.5 0.0 2493 286.7 2090.2 0.0 76 107984 74 2500.0 195 2355 2580 503 0.3 0.4 0.4 8013.3 6151.9 7722 0.3 18141 285.5 0.0 2841 325.5 2372.5 0.0 67 107984 75 2812.5 215 2664 2868 539 0.3 0.4 0.4 8013.8 6152.3 7724 0.3 18131 322.7 0.0 3195 367.9 2681.7 0.0 74 134979 76 3125.0 239 2943 3216 625 0.3 0.5 0.4 8014.7 6152.8 7724 0.3 18138 356.6 0.0 3547 406.6 2963.7 0.0 67 134979 77 3281.2 252 3113 3366 618 0.3 0.6 0.5 8015.9 6153.6 7724 0.3 18137 376.8 0.0 3721 429.6 3131.4 0.0 76 161975 78 3437.5 172 3241 3532 688 0.3 0.8 0.6 8017.8 6154.8 7726 0.3 18160 393.9 0.0 3900 449.0 3273.2 0.0 73 161975 79 3593.8 0 2485 3670 1615 1.1 54.7 20.6 8425.5 6871.0 7738 0.3 47400 299.7 29.2 8822 478.4 2542.4 108.9 68 118436 80 3750.0 0 175 3385 652 90.9 714.4 304.8 12687.2 11068.7 11082 0.3 46223 20.4 96.0 9250 498.6 219.4 357.7 65 10531 81 3906.2 0 90 2409 361 283.3 1245.2 520.0 14114.9 11275.0 15202 0.3 44068 10.1 98.2 9299 518.6 137.1 366.0 63 6643 82 4062.5 0 55 1820 254 313.0 1869.6 543.1 13640.9 10448.2 15616 0.3 44025 6.0 99.0 9051 541.3 98.3 430.3 70 5188 83 4375.0 0 22 564 98 299.1 3694.9 1271.5 14114.9 11009.1 13014 0.3 44400 1.8 99.6 7843 581.7 62.5 433.1 65 2396 84 85 86 Client 1.2 connection times 87 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 88 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 89 625.0 40 589 657 132 0.2 0.2 0.3 8020.8 6156.2 7722 0.3 18116 70.7 0.0 745 81.2 592.0 0.0 67 26996 90 937.5 59 896 978 173 0.2 0.2 0.3 8020.9 6156.2 7722 0.3 18116 107.5 0.0 1087 123.4 899.7 0.0 88 53992 91 1250.0 86 1177 1292 258 0.2 0.3 0.3 8021.2 6156.3 7722 0.3 18121 141.4 0.0 1433 162.4 1183.6 0.0 67 53992 92 1562.5 214 1496 1609 269 0.2 0.3 0.3 8021.4 6156.4 7722 0.3 18146 178.3 0.0 1798 204.8 1492.6 0.0 79 80988 93 1875.0 136 1766 1927 381 0.2 0.3 0.3 8021.6 6156.5 7722 0.3 18124 212.1 0.0 2150 243.5 1775.2 0.0 67 80988 94 2187.5 163 2075 2234 418 0.2 0.3 0.4 8021.9 6156.7 7722 0.3 18124 249.1 0.0 2498 286.0 2084.8 0.0 76 107984 95 2500.0 189 2354 2557 503 0.3 0.4 0.4 8022.4 6157.0 7722 0.3 18141 282.7 0.0 2844 324.7 2366.7 0.0 67 107984 96 2812.5 214 2664 2879 539 0.3 0.4 0.4 8022.8 6157.3 7724 0.3 18134 319.8 0.0 3193 367.2 2676.8 0.0 74 134979 97 3125.0 240 2943 3183 626 0.3 0.5 0.5 8023.7 6157.8 7724 0.3 18134 353.4 0.0 3532 405.8 2958.5 0.0 67 134979 98 3281.2 254 3112 3330 618 0.3 0.6 0.5 8025.0 6158.7 7724 0.3 18150 373.5 0.0 3712 429.0 3127.0 0.0 76 161975 99 3437.5 182 3241 3502 688 0.4 0.8 0.6 8026.9 6159.9 7726 0.3 18156 390.5 0.0 3893 448.4 3268.7 0.0 73 161975 100 3593.8 0 2483 3655 1614 1.2 54.9 20.4 8424.7 6870.6 7740 0.3 47223 297.0 29.2 8827 478.4 2540.7 108.2 68 118448 101 3750.0 0 174 3420 643 83.8 720.1 300.9 12571.2 11151.3 11076 0.3 46735 19.7 96.0 9249 498.6 218.0 355.4 65 10544 102 3906.2 0 88 2401 354 275.3 1271.3 516.0 13886.4 11148.3 14654 0.3 44190 9.4 98.2 9271 518.6 135.0 363.6 63 6658 103 4062.5 0 53 1671 243 306.0 1882.4 521.9 13073.7 10541.3 14536 0.3 42533 5.1 98.9 8929 541.3 96.6 427.3 70 5172 104 4375.0 0 21 584 96 293.9 3695.9 1336.6 14068.7 11450.8 13014 0.3 44027 1.6 99.6 7787 581.7 62.3 430.2 65 2400 105 106 107 Client 2.1 connection times 108 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 109 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 110 625.0 86 597 669 107 0.2 0.2 0.3 8021.7 6154.5 7722 0.3 18113 72.4 0.0 744 82.2 599.0 0.0 66 26996 111 937.5 129 906 978 140 0.2 0.2 0.3 8021.8 6154.6 7722 0.3 18115 109.7 0.0 1092 124.5 907.6 0.0 87 53992 112 1250.0 172 1194 1296 211 0.2 0.2 0.3 8022.0 6154.7 7722 0.3 18118 144.2 0.0 1457 163.7 1193.6 0.0 66 53992 113 1562.5 214 1497 1618 261 0.2 0.3 0.3 8022.2 6154.8 7722 0.3 18141 181.3 0.0 1803 205.9 1500.8 0.0 79 80988 114 1875.0 258 1791 1922 314 0.2 0.3 0.3 8022.5 6154.9 7722 0.3 18123 215.6 0.0 2145 244.8 1784.6 0.0 66 80988 115 2187.5 117 2075 2251 410 0.2 0.3 0.4 8022.8 6155.1 7722 0.3 18126 252.8 0.0 2497 287.1 2092.8 0.0 76 107984 116 2500.0 141 2354 2564 496 0.3 0.4 0.4 8023.3 6155.4 7722 0.3 18446 287.0 0.0 2846 325.9 2375.4 0.0 67 107984 117 2812.5 169 2664 2852 532 0.3 0.4 0.4 8023.9 6155.8 7724 0.3 18135 324.3 0.0 3178 368.2 2684.4 0.0 74 134979 118 3125.0 192 2943 3168 618 0.3 0.5 0.5 8024.8 6156.3 7724 0.3 18135 358.4 0.0 3518 407.0 2966.6 0.0 67 134979 119 3281.2 205 3112 3322 612 0.3 0.6 0.5 8026.1 6157.2 7724 0.3 18145 378.6 0.0 3691 429.9 3134.0 0.0 76 161975 120 3437.5 471 3284 3492 578 0.4 0.8 0.6 8028.2 6158.5 7726 0.3 18159 395.8 0.0 3861 449.4 3275.9 0.0 72 161975 121 3593.8 0 2484 3630 1612 1.2 53.6 20.8 8436.8 6889.9 7740 0.3 50387 300.3 29.2 8837 478.4 2541.7 108.2 68 118443 122 3750.0 0 173 3489 641 96.3 700.3 292.2 12527.0 11001.5 11076 0.3 46998 20.0 96.0 9234 498.6 218.2 355.5 65 10501 123 3906.2 0 88 2549 366 264.6 1257.5 553.0 14273.2 11334.8 14932 0.3 44356 9.7 98.2 9314 518.7 136.0 363.7 63 6678 124 4062.5 0 52 1604 239 321.3 1889.2 564.4 13658.2 10618.4 15276 0.3 44600 5.5 99.0 9018 541.3 96.9 427.6 70 5134 125 4375.0 0 21 576 93 295.7 3743.5 1319.0 14053.8 11082.0 13012 0.3 43172 1.5 99.6 7776 581.7 62.4 430.3 65 2442 126 127 128 Client 2.2 connection times 129 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 130 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 131 625.0 66 588 648 115 0.2 0.2 0.3 8036.0 6165.2 7722 0.3 18115 71.0 0.0 810 81.2 592.0 0.0 67 26996 132 937.5 97 896 1051 155 0.2 0.2 0.3 8036.1 6165.2 7722 0.3 18115 107.8 0.0 1201 123.4 899.5 0.0 88 53992 133 1250.0 121 1177 1357 236 0.2 0.2 0.3 8036.3 6165.4 7722 0.3 18125 141.8 0.0 1559 162.3 1183.0 0.0 67 53992 134 1562.5 214 1496 1699 249 0.2 0.3 0.3 8036.5 6165.4 7722 0.3 18143 178.8 0.0 1901 204.7 1491.8 0.0 79 80988 135 1875.0 169 1765 1996 359 0.2 0.3 0.3 8036.8 6165.6 7722 0.3 18124 212.7 0.0 2229 243.4 1774.0 0.0 67 80988 136 2187.5 191 2074 2307 396 0.2 0.3 0.4 8037.1 6165.8 7722 0.3 18130 249.8 0.0 2577 285.8 2083.5 0.0 76 107984 137 2500.0 215 2354 2615 481 0.3 0.4 0.4 8037.5 6166.0 7724 0.3 18144 283.5 0.0 2923 324.4 2364.9 0.0 67 107984 138 2812.5 237 2663 2936 518 0.3 0.4 0.4 8038.0 6166.3 7724 0.3 21104 320.6 0.0 3255 366.9 2674.8 0.0 74 134979 139 3125.0 259 2942 3242 604 0.3 0.5 0.5 8038.9 6166.9 7724 0.3 18131 354.4 0.0 3601 405.5 2956.1 0.0 67 134979 140 3281.2 273 3112 3402 599 0.4 0.7 0.5 8040.8 6168.1 7726 0.3 18169 374.6 0.0 3774 428.6 3124.6 0.0 76 161975 141 3437.5 198 3240 3542 669 0.3 0.8 0.6 8041.9 6168.8 7726 0.3 18148 391.5 0.0 3954 448.0 3266.1 0.0 73 161975 142 3593.8 0 2480 3703 1612 1.1 53.6 20.2 8421.1 6870.4 7740 0.3 50488 297.4 29.2 8764 478.4 2537.6 108.0 68 118425 143 3750.0 0 169 3368 620 82.8 714.6 300.3 12327.3 11077.0 10824 0.3 47379 19.2 95.9 9130 498.6 214.5 355.1 65 10498 144 3906.2 0 86 2605 370 261.4 1258.1 528.3 13671.9 11223.2 13516 0.3 42975 9.7 98.1 9145 518.7 133.8 363.2 63 6693 145 4062.5 0 52 1482 233 322.8 1845.2 548.2 13257.1 10553.3 14654 0.3 42694 5.5 98.9 8926 541.3 96.1 427.3 70 5133 146 4375.0 0 20 568 90 288.9 3752.0 1321.9 14064.0 11148.8 13012 0.3 43222 1.6 99.6 7770 581.7 62.3 430.2 65 2446 147 148 149 Client 3.1 connection times 150 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 151 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 152 625.0 61 588 660 121 0.2 0.2 0.3 8013.7 6149.6 7722 0.3 18114 70.9 0.0 735 81.2 591.9 0.0 67 26996 153 937.5 76 896 973 161 0.2 0.2 0.3 8013.8 6149.7 7722 0.3 18118 107.7 0.0 1102 123.4 899.4 0.0 88 53992 154 1250.0 92 1176 1288 245 0.2 0.2 0.3 8014.1 6149.8 7722 0.3 18124 141.7 0.0 1444 162.3 1182.9 0.0 67 53992 155 1562.5 214 1496 1604 257 0.2 0.3 0.3 8014.3 6149.9 7722 0.3 18138 178.7 0.0 1793 204.6 1491.7 0.0 79 80988 156 1875.0 127 1765 1920 369 0.2 0.3 0.3 8014.5 6150.0 7722 0.3 18124 212.5 0.0 2145 243.3 1773.9 0.0 67 80988 157 2187.5 151 2074 2228 406 0.3 0.3 0.3 8014.8 6150.2 7722 0.3 18124 249.5 0.0 2490 285.8 2083.4 0.0 76 107984 158 2500.0 173 2353 2549 492 0.3 0.4 0.4 8015.2 6150.4 7722 0.3 21106 283.3 0.0 2822 324.4 2364.8 0.0 67 107984 159 2812.5 191 2663 2852 529 0.3 0.4 0.4 8015.7 6150.7 7722 0.3 18126 320.4 0.0 3159 366.9 2674.7 0.0 74 134979 160 3125.0 206 2942 3180 616 0.3 0.5 0.4 8016.6 6151.3 7724 0.3 21106 354.1 0.0 3503 405.5 2956.0 0.0 67 134979 161 3281.2 217 3111 3324 610 0.3 0.6 0.5 8017.7 6152.0 7724 0.3 18142 374.3 0.0 3670 428.6 3124.6 0.0 76 161975 162 3437.5 471 3282 3493 578 0.4 0.8 0.6 8020.1 6153.5 7726 0.3 18153 391.2 0.0 3837 448.0 3266.1 0.0 72 161975 163 3593.8 0 2482 3636 1612 1.1 54.2 20.1 8412.5 6846.9 7738 0.3 50168 297.5 29.2 8814 478.4 2540.4 108.1 68 118448 164 3750.0 0 172 3490 630 89.8 705.7 304.5 12512.9 11033.5 11072 0.3 46722 19.6 96.0 9200 498.6 217.5 355.2 65 10524 165 3906.2 0 88 2730 386 225.6 1239.9 532.4 13908.2 11351.2 14456 0.3 44721 10.0 98.2 9223 518.7 136.1 363.4 63 6739 166 4062.5 0 52 1416 235 323.2 1867.0 541.0 13546.0 10566.6 15506 0.3 43006 5.7 99.0 9028 541.3 97.4 427.4 70 5100 167 4375.0 0 20 571 89 319.2 3710.8 1361.1 14371.0 11377.3 13014 0.3 42560 1.5 99.6 7823 581.7 62.5 430.2 65 2434 168 169 170 Client 3.2 connection times 171 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 172 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 173 625.0 86 597 652 112 0.2 0.2 0.3 8025.5 6160.9 7722 0.3 18113 71.0 0.0 731 81.5 594.1 0.0 66 26996 174 937.5 128 905 979 147 0.2 0.2 0.3 8025.6 6160.9 7722 0.3 18122 107.7 0.0 1107 123.6 901.1 0.0 87 53992 175 1250.0 69 1177 1297 258 0.2 0.2 0.3 8025.8 6161.0 7722 0.3 18130 141.6 0.0 1464 162.6 1185.1 0.0 67 53992 176 1562.5 211 1496 1624 270 0.2 0.3 0.3 8026.0 6161.1 7722 0.3 18149 178.5 0.0 1805 204.9 1493.6 0.0 79 80988 177 1875.0 101 1765 1944 384 0.2 0.3 0.3 8026.3 6161.3 7722 0.3 18120 212.2 0.0 2177 243.7 1776.2 0.0 67 80988 178 2187.5 120 2074 2263 422 0.2 0.3 0.4 8026.5 6161.4 7722 0.3 18123 249.2 0.0 2528 286.1 2085.4 0.0 76 107984 179 2500.0 141 2353 2592 509 0.2 0.4 0.4 8026.9 6161.6 7722 0.3 18141 282.8 0.0 2874 324.7 2367.0 0.0 67 107984 180 2812.5 160 2663 2899 546 0.3 0.4 0.4 8027.6 6162.1 7722 0.3 18128 319.8 0.0 3235 367.2 2676.7 0.0 74 134979 181 3125.0 178 2941 3214 634 0.3 0.5 0.5 8028.4 6162.6 7724 0.3 18134 353.5 0.0 3565 405.8 2958.2 0.0 67 134979 182 3281.2 186 3111 3369 627 0.3 0.6 0.5 8029.4 6163.2 7724 0.3 18135 373.6 0.0 3734 428.9 3126.6 0.0 76 161975 183 3437.5 471 3283 3526 594 0.3 0.8 0.6 8031.4 6164.5 7726 0.3 18154 390.5 0.0 3903 448.3 3268.1 0.0 72 161975 184 3593.8 0 2482 3683 1614 1.1 54.8 20.7 8439.9 6883.8 7738 0.3 48900 297.4 29.3 8876 478.4 2541.5 108.3 68 118431 185 3750.0 0 172 3495 629 92.5 725.7 311.6 12731.8 11151.0 11088 0.3 47483 20.1 96.0 9309 498.6 218.3 355.4 65 10535 186 3906.2 0 87 2678 383 225.4 1240.2 529.6 13866.1 11284.7 14446 0.3 44019 10.0 98.2 9229 518.7 135.8 363.3 63 6745 187 4062.5 0 51 1368 232 327.4 1871.2 529.6 13399.5 10567.9 14714 0.3 42144 5.7 99.0 9024 541.3 97.0 427.4 70 5073 188 4375.0 0 19 559 85 319.9 3729.7 1297.1 13697.3 11293.6 13012 0.3 42992 1.7 99.6 7767 581.7 61.9 430.0 65 2424 189 190 191 Client 4.1 connection times 192 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 193 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 194 625.0 73 588 659 118 0.2 0.2 0.3 8015.7 6145.3 7722 0.3 18114 71.3 0.0 734 81.2 591.6 0.0 67 26996 195 937.5 101 895 988 159 0.2 0.2 0.3 8015.8 6145.3 7722 0.3 18116 108.4 0.0 1107 123.3 899.2 0.0 88 53992 196 1250.0 116 1176 1321 243 0.2 0.2 0.3 8016.0 6145.4 7722 0.3 18124 142.6 0.0 1471 162.2 1182.6 0.0 67 53992 197 1562.5 214 1496 1632 254 0.2 0.3 0.3 8016.2 6145.5 7722 0.3 18161 179.8 0.0 1805 204.6 1491.5 0.0 79 80988 198 1875.0 148 1764 1918 367 0.2 0.3 0.3 8016.5 6145.7 7722 0.3 18122 213.8 0.0 2136 243.3 1773.6 0.0 67 80988 199 2187.5 168 2074 2226 404 0.2 0.3 0.3 8016.7 6145.8 7722 0.3 18127 251.1 0.0 2474 285.8 2083.1 0.0 76 107984 200 2500.0 186 2353 2543 490 0.3 0.4 0.4 8017.2 6146.1 7722 0.3 18134 285.0 0.0 2813 324.4 2364.5 0.0 67 107984 201 2812.5 205 2662 2851 528 0.3 0.4 0.4 8017.6 6146.3 7724 0.3 18132 322.4 0.0 3167 366.9 2674.4 0.0 74 134979 202 3125.0 220 2941 3170 615 0.3 0.5 0.5 8018.9 6147.2 7724 0.3 18139 356.3 0.0 3514 405.5 2955.7 0.0 67 134979 203 3281.2 229 3111 3313 609 0.3 0.6 0.5 8020.0 6147.9 7724 0.3 18149 376.6 0.0 3690 428.6 3124.3 0.0 76 161975 204 3437.5 472 3282 3501 576 0.3 0.8 0.6 8021.4 6148.7 7726 0.3 18149 393.7 0.0 3883 448.0 3265.7 0.0 72 161975 205 3593.8 0 2480 3660 1614 1.1 54.0 20.3 8406.5 6850.7 7738 0.3 49329 299.9 29.2 8766 478.4 2539.4 108.0 68 118411 206 3750.0 0 170 3496 624 86.9 711.6 300.9 12384.3 11035.7 11070 0.3 46879 20.1 95.9 9170 498.6 216.2 355.0 65 10543 207 3906.2 0 87 2542 377 265.1 1260.8 535.0 13867.3 11421.0 14636 0.3 44238 10.1 98.2 9208 518.6 134.9 363.3 62 6653 208 4062.5 0 51 1487 232 298.1 1887.7 546.8 13419.2 10655.9 14838 0.2 44201 5.8 99.0 8991 541.3 97.2 427.3 70 5180 209 4375.0 0 18 565 85 299.0 3704.6 1298.3 13895.5 11243.4 13012 0.3 43041 1.8 99.6 7788 581.7 62.2 430.0 65 2440 210 211 212 Client 4.2 connection times 213 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 214 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 215 625.0 86 596 663 106 0.2 0.2 0.3 8021.6 6155.9 7722 0.3 18115 71.1 0.0 740 81.3 592.3 0.0 66 26996 216 937.5 57 895 982 166 0.2 0.2 0.3 8021.7 6155.9 7722 0.3 18116 107.9 0.0 1086 123.4 899.7 0.0 88 53992 217 1250.0 68 1176 1298 250 0.2 0.2 0.3 8021.9 6156.0 7722 0.3 18120 142.0 0.0 1431 162.3 1183.3 0.0 67 53992 218 1562.5 214 1496 1603 258 0.2 0.3 0.3 8022.2 6156.2 7722 0.3 18134 179.0 0.0 1783 204.7 1492.1 0.0 79 80988 219 1875.0 90 1764 1919 374 0.2 0.3 0.3 8022.4 6156.3 7722 0.3 18123 212.9 0.0 2132 243.4 1774.4 0.0 67 80988 220 2187.5 104 2074 2228 411 0.2 0.3 0.4 8022.7 6156.4 7722 0.3 18125 250.0 0.0 2481 285.9 2083.8 0.0 76 107984 221 2500.0 117 2352 2546 497 0.3 0.4 0.4 8023.1 6156.7 7722 0.3 18143 283.7 0.0 2822 324.5 2365.2 0.0 67 107984 222 2812.5 131 2662 2853 534 0.3 0.4 0.4 8023.7 6157.1 7724 0.3 18129 320.9 0.0 3173 367.0 2675.2 0.0 74 134979 223 3125.0 148 2941 3161 622 0.3 0.5 0.5 8024.6 6157.6 7724 0.3 18130 354.7 0.0 3523 405.6 2956.4 0.0 67 134979 224 3281.2 158 3110 3319 615 0.3 0.6 0.5 8025.9 6158.4 7724 0.3 18143 374.9 0.0 3691 428.7 3125.0 0.0 76 161975 225 3437.5 472 3282 3480 578 0.3 0.8 0.6 8027.5 6159.5 7726 0.3 18161 391.9 0.0 3863 448.1 3266.5 0.0 72 161975 226 3593.8 0 2481 3640 1615 1.1 54.2 20.2 8420.0 6854.9 7740 0.3 48928 298.5 29.2 8774 478.4 2541.3 108.0 68 118430 227 3750.0 0 171 3563 634 86.7 707.2 298.5 12458.3 10994.4 11070 0.3 47219 20.1 95.9 9198 498.6 218.3 355.0 65 10518 228 3906.2 0 88 2505 381 263.2 1256.1 537.1 14183.9 11327.2 14768 0.3 41638 10.0 98.2 9304 518.7 136.8 363.4 62 6631 229 4062.5 0 51 1611 238 294.9 1864.5 534.6 13687.2 10426.2 15640 0.3 44206 5.8 99.0 9078 541.3 98.2 427.4 70 5213 230 4375.0 0 18 559 82 310.7 3695.1 1402.9 14372.4 11412.5 13014 0.3 42507 1.7 99.6 7819 581.7 62.5 430.0 65 2457 231 232 233 Client 5.1 connection times 234 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 235 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 236 625.0 86 596 657 102 0.2 0.2 0.3 8017.0 6146.8 7722 0.3 18113 70.6 0.0 736 81.3 592.5 0.0 66 26996 237 937.5 129 905 965 137 0.2 0.2 0.3 8017.2 6146.9 7722 0.3 18125 107.2 0.0 1089 123.4 899.8 0.0 87 53992 238 1250.0 172 1193 1288 209 0.2 0.2 0.3 8017.4 6147.0 7722 0.3 18122 141.0 0.0 1441 162.3 1183.5 0.0 66 53992 239 1562.5 214 1496 1610 257 0.2 0.3 0.3 8017.6 6147.1 7722 0.3 18150 177.8 0.0 1786 204.7 1492.2 0.0 79 80988 240 1875.0 257 1789 1920 313 0.2 0.3 0.3 8017.8 6147.2 7722 0.3 18119 211.4 0.0 2134 243.4 1774.5 0.0 66 80988 241 2187.5 300 2099 2243 344 0.2 0.3 0.3 8018.1 6147.4 7722 0.3 18129 248.3 0.0 2489 285.9 2083.9 0.0 75 107984 242 2500.0 144 2352 2572 497 0.3 0.4 0.4 8018.6 6147.7 7722 0.3 18139 281.9 0.0 2845 324.5 2365.4 0.0 67 107984 243 2812.5 158 2662 2879 534 0.3 0.4 0.4 8019.0 6147.9 7722 0.3 18135 318.8 0.0 3192 367.0 2675.3 0.0 74 134979 244 3125.0 172 2940 3197 622 0.3 0.5 0.4 8019.9 6148.5 7724 0.3 18132 352.3 0.0 3535 405.6 2956.6 0.0 67 134979 245 3281.2 180 3110 3338 616 0.3 0.6 0.5 8021.2 6149.3 7724 0.3 18157 372.4 0.0 3711 428.7 3125.1 0.0 76 161975 246 3437.5 472 3282 3509 579 0.4 0.8 0.6 8022.9 6150.3 7726 0.3 18156 389.2 0.0 3877 448.1 3266.6 0.0 72 161975 247 3593.8 0 2480 3660 1616 1.1 54.8 21.1 8430.2 6883.0 7738 0.3 49891 296.3 29.2 8841 478.4 2540.6 108.1 68 118466 248 3750.0 0 170 3583 630 88.5 714.9 310.1 12570.8 11089.2 11078 0.3 47758 19.5 96.0 9247 498.6 217.4 355.1 65 10544 249 3906.2 0 86 2310 370 290.1 1236.7 523.9 13855.8 11274.2 14418 0.3 43618 9.5 98.2 9237 518.7 134.6 363.4 62 6515 250 4062.5 0 50 1718 238 301.5 1894.9 560.2 13501.5 10562.6 14878 0.3 42224 5.4 99.0 9007 541.3 97.4 427.2 70 5254 251 4375.0 0 18 569 82 303.1 3659.2 1270.8 13752.2 11044.6 13012 0.3 43482 1.6 99.6 7757 581.7 62.7 429.9 65 2499 252 253 254 Client 5.2 connection times 255 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 256 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 257 625.0 88 596 652 106 0.2 0.2 0.3 8019.1 6152.6 7722 0.3 18114 70.1 0.0 734 81.1 591.5 0.0 66 26996 258 937.5 132 905 990 142 0.2 0.2 0.3 8019.1 6152.8 7722 0.3 18115 106.5 0.0 1097 123.3 899.1 0.0 87 53992 259 1250.0 177 1193 1291 213 0.2 0.2 0.3 8019.3 6152.9 7722 0.3 18128 140.1 0.0 1438 162.2 1182.5 0.0 66 53992 260 1562.5 201 1496 1605 262 0.2 0.3 0.3 8019.5 6153.0 7722 0.3 18163 176.7 0.0 1803 204.6 1491.4 0.0 79 80988 261 1875.0 265 1789 1928 318 0.2 0.3 0.3 8019.8 6153.2 7722 0.3 18122 210.2 0.0 2161 243.3 1773.5 0.0 66 80988 262 2187.5 310 2099 2240 348 0.2 0.3 0.4 8020.0 6153.3 7722 0.3 18122 246.9 0.0 2493 285.8 2083.1 0.0 75 107984 263 2500.0 354 2386 2557 422 0.3 0.4 0.4 8020.4 6153.5 7722 0.3 18134 280.2 0.0 2843 324.4 2364.4 0.0 66 107984 264 2812.5 397 2696 2876 452 0.3 0.4 0.4 8021.0 6153.9 7722 0.3 18133 316.9 0.0 3180 366.9 2674.4 0.0 73 134979 265 3125.0 441 2982 3202 527 0.3 0.5 0.4 8021.8 6154.5 7724 0.3 18143 350.3 0.0 3531 405.5 2955.6 0.0 66 134979 266 3281.2 463 3149 3359 520 0.3 0.6 0.5 8022.9 6155.1 7724 0.3 18146 370.2 0.0 3712 428.6 3124.2 0.0 75 161975 267 3437.5 481 3282 3516 583 0.3 0.7 0.6 8024.5 6156.2 7726 0.3 18144 387.0 0.0 3899 448.0 3265.7 0.0 72 161975 268 3593.8 0 2481 3678 1618 1.1 53.5 20.6 8425.4 6865.9 7738 0.3 48989 294.8 29.2 8797 478.4 2541.8 108.0 68 118421 269 3750.0 0 170 3636 639 89.3 706.5 301.8 12555.1 11006.1 11076 0.3 46598 19.8 96.0 9203 498.6 218.6 355.1 65 10504 270 3906.2 0 86 2176 369 279.9 1251.5 517.6 13901.3 11398.4 14832 0.3 44513 9.6 98.2 9252 518.7 135.3 363.3 62 6506 271 4062.5 0 50 1872 247 300.6 1875.6 531.2 13595.9 10384.0 15372 0.3 44080 5.6 99.0 9042 541.3 98.1 427.3 70 5220 272 4375.0 0 17 591 82 295.2 3623.4 1354.8 14226.1 11280.5 13012 0.3 43830 1.6 99.6 7785 581.7 62.7 430.0 65 2514 273 274 275 Client 6.1 connection times 276 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 277 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 278 625.0 96 596 651 106 0.2 0.2 0.3 8021.1 6158.7 7722 0.3 18118 71.8 0.0 732 81.1 591.5 0.0 66 26996 279 937.5 143 905 962 142 0.2 0.2 0.3 8021.2 6158.7 7722 0.3 18115 109.1 0.0 1073 123.3 899.1 0.0 87 53992 280 1250.0 191 1193 1288 215 0.2 0.2 0.3 8021.4 6158.8 7722 0.3 18121 143.6 0.0 1430 162.2 1182.5 0.0 66 53992 281 1562.5 148 1495 1618 264 0.2 0.3 0.3 8021.6 6158.9 7722 0.3 18146 181.1 0.0 1781 204.6 1491.4 0.0 79 80988 282 1875.0 286 1789 1920 321 0.2 0.3 0.3 8021.9 6159.0 7722 0.3 18124 215.3 0.0 2147 243.3 1773.5 0.0 66 80988 283 2187.5 334 2100 2238 352 0.2 0.3 0.4 8022.2 6159.2 7722 0.3 18125 252.9 0.0 2486 285.8 2083.0 0.0 75 107984 284 2500.0 380 2386 2554 426 0.2 0.4 0.4 8022.6 6159.5 7722 0.3 18132 287.0 0.0 2822 324.3 2364.4 0.0 66 107984 285 2812.5 428 2696 2858 456 0.3 0.4 0.4 8023.1 6159.7 7722 0.3 18133 324.7 0.0 3174 366.9 2674.4 0.0 73 134979 286 3125.0 475 2982 3176 530 0.3 0.5 0.5 8024.2 6160.4 7724 0.3 18135 358.8 0.0 3530 405.5 2955.6 0.0 66 134979 287 3281.2 499 3150 3338 523 0.3 0.6 0.5 8025.3 6161.2 7724 0.3 18142 379.3 0.0 3701 428.6 3124.2 0.0 75 161975 288 3437.5 421 3282 3496 587 0.3 0.8 0.6 8027.0 6162.2 7726 0.3 18153 396.5 0.0 3879 448.0 3265.7 0.0 72 161975 289 3593.8 0 2479 3659 1620 1.1 54.0 20.9 8428.2 6890.9 7738 0.3 46603 302.4 29.2 8810 478.4 2540.2 108.1 68 118413 290 3750.0 0 169 3649 636 91.3 709.5 302.1 12469.1 11075.2 11072 0.3 47776 20.6 96.0 9207 498.6 217.0 355.0 65 10539 291 3906.2 0 85 2056 362 263.6 1248.8 544.0 13952.9 11274.7 14642 0.3 44526 10.4 98.2 9259 518.7 135.2 363.3 62 6772 292 4062.5 0 50 1998 256 293.3 1837.1 527.5 13286.6 10510.1 14826 0.3 45961 6.2 99.0 8989 541.3 97.4 427.2 70 5178 293 4375.0 0 16 609 81 293.7 3716.3 1359.9 14154.1 11362.8 13014 0.3 42710 1.8 99.6 7781 581.7 62.1 430.0 65 2423 294 295 296 Client 6.2 connection times 297 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 298 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 299 625.0 104 597 652 102 0.2 0.2 0.3 8016.0 6156.4 7722 0.3 18113 70.4 0.0 762 81.2 592.0 0.0 66 26996 300 937.5 158 905 994 135 0.2 0.2 0.3 8016.1 6156.4 7722 0.3 18116 107.0 0.0 1121 123.4 899.5 0.0 87 53992 301 1250.0 210 1193 1335 205 0.2 0.2 0.3 8016.3 6156.5 7722 0.3 18114 140.8 0.0 1498 162.3 1183.0 0.0 66 53992 302 1562.5 125 1496 1677 257 0.2 0.3 0.3 8016.5 6156.6 7722 0.3 18146 177.5 0.0 1844 204.7 1491.9 0.0 79 80988 303 1875.0 316 1790 1939 309 0.2 0.3 0.3 8016.8 6156.8 7722 0.3 18116 211.1 0.0 2195 243.4 1774.1 0.0 66 80988 304 2187.5 369 2100 2256 340 0.2 0.3 0.4 8017.1 6156.9 7722 0.3 18122 247.9 0.0 2544 285.8 2083.5 0.0 75 107984 305 2500.0 423 2386 2595 412 0.3 0.4 0.4 8017.5 6157.2 7722 0.3 18137 281.4 0.0 2901 324.4 2364.9 0.0 66 107984 306 2812.5 474 2697 2894 443 0.3 0.4 0.4 8018.0 6157.5 7722 0.3 18140 318.3 0.0 3237 366.9 2674.9 0.0 73 134979 307 3125.0 526 2983 3229 516 0.3 0.5 0.5 8018.9 6158.1 7724 0.3 18144 351.8 0.0 3559 405.5 2956.1 0.0 66 134979 308 3281.2 553 3150 3356 510 0.3 0.6 0.5 8020.2 6158.9 7724 0.3 18154 371.8 0.0 3734 428.6 3124.7 0.0 75 161975 309 3437.5 392 3282 3558 577 0.3 0.8 0.6 8021.7 6159.8 7726 0.3 18148 388.7 0.0 3905 448.1 3266.2 0.0 72 161975 310 3593.8 0 2516 3649 1604 1.1 54.2 20.4 8409.0 6868.9 7738 0.3 50430 296.1 29.2 8766 478.4 2540.0 107.9 67 118432 311 3750.0 0 168 3638 640 88.9 705.1 296.7 12346.3 11051.0 11070 0.3 46420 19.8 95.9 9159 498.6 216.7 354.9 65 10550 312 3906.2 0 86 2050 362 258.4 1251.2 552.6 13957.6 11336.6 14218 0.3 44202 10.1 98.1 9193 518.6 135.6 363.1 62 6777 313 4062.5 0 50 2096 266 291.5 1855.8 544.2 13557.3 10700.9 15132 0.3 43819 5.9 99.0 9030 541.3 98.1 427.3 70 5153 314 4375.0 0 16 629 81 297.8 3789.3 1319.6 13971.5 11312.1 13012 0.3 41685 1.6 99.6 7764 581.7 61.7 430.0 65 2376 315 316 317 Client 7.1 connection times 318 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 319 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 320 625.0 91 597 660 104 0.2 0.2 0.3 8021.9 6151.7 7722 0.3 18115 71.7 0.0 737 81.5 594.2 0.0 66 26996 321 937.5 147 905 978 137 0.2 0.2 0.3 8022.1 6151.7 7722 0.3 18118 108.8 0.0 1091 123.7 901.4 0.0 87 53992 322 1250.0 199 1193 1300 208 0.2 0.2 0.3 8022.3 6151.9 7722 0.3 18127 143.1 0.0 1451 162.7 1185.8 0.0 66 53992 323 1562.5 108 1496 1628 260 0.2 0.3 0.3 8022.6 6152.0 7722 0.3 18139 180.3 0.0 1810 205.0 1494.5 0.0 79 80988 324 1875.0 281 1790 1930 311 0.2 0.3 0.3 8022.8 6152.1 7722 0.3 18122 214.5 0.0 2158 243.8 1777.5 0.0 66 80988 325 2187.5 329 2100 2236 341 0.2 0.3 0.3 8023.0 6152.3 7722 0.3 18125 251.8 0.0 2508 286.3 2086.8 0.0 75 107984 326 2500.0 385 2386 2580 414 0.3 0.4 0.4 8023.5 6152.6 7722 0.3 18140 285.8 0.0 2860 325.0 2368.9 0.0 66 107984 327 2812.5 436 2697 2872 444 0.3 0.4 0.4 8024.0 6152.8 7722 0.3 18130 323.2 0.0 3209 367.5 2678.8 0.0 73 134979 328 3125.0 485 2983 3209 518 0.3 0.5 0.5 8025.2 6153.6 7724 0.3 18137 357.2 0.0 3567 406.2 2960.8 0.0 66 134979 329 3281.2 516 3150 3348 511 0.4 0.6 0.5 8026.4 6154.4 7724 0.3 18148 377.5 0.0 3733 429.2 3129.0 0.0 75 161975 330 3437.5 313 3282 3533 580 0.3 0.8 0.6 8028.0 6155.3 7726 0.3 18148 394.7 0.0 3908 448.7 3270.8 0.0 72 161975 331 3593.8 0 2516 3670 1607 1.1 54.0 20.0 8412.0 6855.4 7738 0.3 48610 299.6 29.2 8732 478.4 2540.2 107.9 67 118442 332 3750.0 0 169 3677 648 86.3 707.5 300.5 12458.0 11137.2 11070 0.3 47538 19.7 95.9 9146 498.6 217.6 354.9 65 10533 333 3906.2 0 86 2159 362 256.0 1262.3 539.0 14096.0 11355.2 14990 0.3 44332 9.7 98.2 9277 518.7 136.4 363.3 62 6681 334 4062.5 0 50 2028 260 331.4 1896.4 557.5 13722.5 10617.5 15768 0.3 44108 5.6 99.0 9029 541.3 97.5 427.3 69 5135 335 4375.0 0 16 657 84 281.8 3657.0 1304.5 13928.2 11064.3 13014 0.3 42950 1.6 99.6 7806 581.7 62.7 430.0 65 2494 336 337 338 Client 7.2 connection times 339 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 340 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 341 625.0 100 596 668 106 0.2 0.2 0.3 8015.7 6146.3 7722 0.3 18117 70.0 0.0 746 81.2 591.8 0.0 66 26996 342 937.5 144 905 987 140 0.2 0.2 0.3 8015.8 6146.4 7722 0.3 18116 106.4 0.0 1107 123.4 899.3 0.0 87 53992 343 1250.0 186 1193 1308 212 0.2 0.2 0.3 8016.0 6146.5 7722 0.3 18121 139.9 0.0 1471 162.3 1182.8 0.0 66 53992 344 1562.5 119 1495 1636 264 0.2 0.3 0.3 8016.2 6146.6 7722 0.3 18149 176.5 0.0 1802 204.6 1491.7 0.0 79 80988 345 1875.0 266 1789 1948 317 0.2 0.3 0.3 8016.5 6146.7 7722 0.3 18119 209.8 0.0 2165 243.3 1773.8 0.0 66 80988 346 2187.5 308 2100 2261 348 0.3 0.3 0.3 8016.8 6146.9 7722 0.3 18122 246.4 0.0 2512 285.8 2083.3 0.0 75 107984 347 2500.0 353 2386 2583 421 0.3 0.4 0.4 8017.4 6147.2 7722 0.3 18137 279.7 0.0 2854 324.4 2364.7 0.0 66 107984 348 2812.5 397 2696 2887 452 0.3 0.4 0.4 8017.8 6147.5 7724 0.3 18135 316.4 0.0 3183 366.9 2674.7 0.0 73 134979 349 3125.0 440 2982 3202 526 0.3 0.5 0.5 8018.9 6148.2 7724 0.3 18140 349.7 0.0 3535 405.5 2955.9 0.0 66 134979 350 3281.2 462 3149 3357 520 0.3 0.6 0.5 8019.9 6148.8 7724 0.3 18150 369.6 0.0 3703 428.6 3124.5 0.0 75 161975 351 3437.5 294 3281 3508 589 0.3 0.8 0.6 8021.6 6149.9 7726 0.3 18143 386.4 0.0 3880 448.0 3266.0 0.0 72 161975 352 3593.8 0 2514 3666 1610 1.1 54.4 20.5 8421.0 6862.5 7738 0.3 48544 293.7 29.2 8850 478.4 2539.6 108.2 67 118441 353 3750.0 0 166 3652 650 86.6 713.6 299.4 12454.8 10992.4 11074 0.3 47890 19.2 96.0 9247 498.6 216.2 355.1 65 10540 354 3906.2 0 84 2179 354 246.5 1255.8 535.9 13905.8 11294.1 14688 0.3 45325 9.5 98.2 9274 518.7 135.2 363.3 62 6709 355 4062.5 0 48 1962 255 327.6 1891.6 536.2 13217.2 10589.1 14906 0.3 43132 5.5 98.9 8951 541.3 96.8 427.1 69 5148 356 4375.0 0 15 634 80 286.2 3664.5 1298.9 13653.6 11236.8 13012 0.3 42438 1.6 99.6 7760 581.7 62.4 429.8 65 2492 357 358 359 Client 8.1 connection times 360 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 361 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 362 625.0 53 596 652 111 0.2 0.2 0.3 8032.1 6157.1 7722 0.2 18120 71.7 0.0 733 81.7 595.8 0.0 66 26996 363 937.5 83 905 968 144 0.2 0.2 0.3 8032.2 6157.1 7722 0.3 18117 108.6 0.0 1097 123.8 902.6 0.0 87 53992 364 1250.0 127 1193 1284 216 0.2 0.2 0.3 8032.4 6157.3 7722 0.2 18121 142.8 0.0 1439 162.9 1187.4 0.0 66 53992 365 1562.5 70 1495 1615 269 0.2 0.3 0.3 8032.7 6157.4 7722 0.3 18143 179.9 0.0 1790 205.2 1495.8 0.0 79 80988 366 1875.0 212 1790 1923 320 0.2 0.3 0.3 8032.9 6157.5 7722 0.3 18121 214.0 0.0 2148 244.1 1779.1 0.0 66 80988 367 2187.5 258 2100 2244 351 0.2 0.3 0.3 8033.2 6157.7 7722 0.3 18131 251.2 0.0 2494 286.5 2088.2 0.0 75 107984 368 2500.0 304 2386 2560 425 0.3 0.4 0.4 8033.6 6157.9 7722 0.3 18145 285.1 0.0 2854 325.2 2370.5 0.0 66 107984 369 2812.5 347 2696 2873 455 0.3 0.4 0.4 8034.1 6158.2 7724 0.3 18137 322.4 0.0 3185 367.7 2680.3 0.0 73 134979 370 3125.0 382 2982 3185 530 0.3 0.5 0.5 8035.0 6158.9 7724 0.3 18134 356.3 0.0 3538 406.4 2962.4 0.0 66 134979 371 3281.2 405 3149 3339 523 0.3 0.6 0.5 8036.3 6159.6 7726 0.3 18147 376.5 0.0 3715 429.4 3130.3 0.0 75 161975 372 3437.5 254 3281 3490 593 0.3 0.8 0.6 8038.0 6160.7 7726 0.3 18154 393.6 0.0 3885 448.9 3272.2 0.0 72 161975 373 3593.8 0 2516 3644 1609 1.1 55.3 20.8 8444.8 6876.8 7742 0.3 48414 299.4 29.2 8855 478.4 2542.0 108.1 67 118446 374 3750.0 0 168 3637 660 91.1 703.0 303.0 12566.8 11031.1 11078 0.3 46928 20.2 96.0 9231 498.6 218.7 355.1 65 10528 375 3906.2 0 84 2267 355 292.5 1252.0 521.7 14119.2 11283.8 15228 0.3 45141 9.5 98.2 9304 518.7 135.7 363.4 62 6562 376 4062.5 0 50 1996 264 246.0 1841.8 541.0 13519.1 10404.5 14838 0.3 44685 5.8 99.0 9024 541.3 99.4 427.2 69 5377 377 4375.0 0 14 600 76 328.0 3701.0 1311.9 14164.0 11343.5 13014 0.3 43076 1.8 99.6 7809 581.7 62.6 430.0 65 2416 378 379 380 Client 8.2 connection times 381 Rate Min Mean Max Std Conn Resp Xfer Total Std Med Min Max Data Errs Reqs ActRate ActRate ErrRate Samples 382 req/s ______replies/s___________ __________________msec__________________________________ Mb/s % creq/s req/s err/s TSmpl RSmpl 383 625.0 76 596 660 104 0.2 0.2 0.3 8042.4 6163.8 7722 0.3 18115 71.1 0.0 744 81.3 593.0 0.0 66 26996 384 937.5 111 905 974 138 0.2 0.2 0.3 8042.5 6163.8 7722 0.3 18115 107.9 0.0 1095 123.5 900.2 0.0 87 53992 385 1250.0 152 1193 1297 210 0.2 0.2 0.3 8042.7 6163.9 7722 0.3 18122 141.9 0.0 1443 162.4 1184.0 0.0 66 53992 386 1562.5 92 1495 1607 263 0.2 0.3 0.3 8042.9 6164.0 7722 0.3 18133 179.0 0.0 1796 204.8 1492.7 0.0 79 80988 387 1875.0 219 1789 1917 314 0.2 0.3 0.3 8043.2 6164.2 7722 0.2 18119 212.8 0.0 2141 243.5 1775.0 0.0 66 80988 388 2187.5 258 2099 2231 345 0.2 0.3 0.4 8043.5 6164.3 7722 0.3 18119 249.9 0.0 2484 285.9 2084.4 0.0 75 107984 389 2500.0 298 2385 2546 418 0.3 0.4 0.4 8044.0 6164.6 7724 0.3 18134 283.7 0.0 2828 324.6 2365.9 0.0 66 107984 390 2812.5 332 2696 2858 449 0.3 0.4 0.4 8044.3 6164.8 7724 0.3 18127 320.8 0.0 3166 367.1 2675.8 0.0 73 134979 391 3125.0 366 2982 3174 524 0.3 0.5 0.5 8045.5 6165.6 7724 0.3 18449 354.5 0.0 3522 405.7 2957.1 0.0 66 134979 392 3281.2 389 3149 3322 517 0.3 0.6 0.5 8046.8 6166.4 7726 0.3 18154 374.7 0.0 3691 428.8 3125.6 0.0 75 161975 393 3437.5 237 3280 3498 588 0.3 0.8 0.6 8048.0 6167.2 7726 0.3 18156 391.7 0.0 3869 448.2 3267.1 0.0 72 161975 394 3593.8 0 2513 3643 1608 1.1 55.4 21.1 8451.5 6902.2 7740 0.3 48445 298.6 29.2 8838 478.4 2539.9 108.1 67 118491 395 3750.0 0 168 3469 652 92.8 711.6 299.7 12461.2 11090.3 11070 0.3 45804 20.3 96.0 9194 498.6 216.6 355.1 64 10559 396 3906.2 0 82 2288 348 285.5 1247.1 525.4 13945.4 11373.8 14426 0.3 44533 10.0 98.2 9235 518.7 134.5 363.3 62 6558 397 4062.5 0 49 1902 256 269.8 1806.2 561.3 13297.4 10589.2 14494 0.3 42320 6.1 98.9 8937 541.3 99.1 426.9 69 5375 398 4375.0 0 14 563 72 329.8 3709.2 1284.8 13923.8 11166.9 13012 0.3 43634 1.7 99.6 7806 581.7 62.3 430.0 64 2384 6 10000.0 1277 9512 10515 1767 0.2 0.2 0.2 8021.9 8021.9 7722 0.2 18125 1148.5 0.0 11897 1302.1 9492.2 0.0 1060 26996 7 15000.0 1825 14433 15729 2364 0.2 0.2 0.2 8022.0 9824.9 7722 0.1 18126 1744.0 0.0 17642 1977.0 14412.6 0.0 1397 53992 8 20000.0 2232 18974 20839 3646 0.2 0.3 0.2 8022.2 12684.0 7722 0.2 18124 2293.4 0.0 23315 2600.4 18956.2 0.0 1063 53992 9 25000.0 2787 23932 26010 4184 0.2 0.3 0.2 8022.3 13100.1 7722 0.2 18124 2890.8 0.0 28889 3277.9 23894.1 0.0 1264 80988 10 30000.0 3275 28462 30908 5452 0.2 0.4 0.2 8022.6 15361.5 7722 0.1 18197 3437.7 0.0 34502 3897.9 28414.5 0.0 1063 80988 11 35000.0 3648 33392 35934 6055 0.2 0.4 0.2 8022.9 15535.4 7722 0.2 18132 4036.5 0.0 40047 4577.0 33363.1 0.0 1208 107984 12 40000.0 3998 37882 41093 7406 0.2 0.5 0.2 8023.4 17485.0 7723 0.2 18152 4581.9 0.0 45591 5195.3 37870.2 0.0 1065 107984 13 45000.0 4491 42842 45986 7951 0.3 0.6 0.3 8024.1 17577.4 7723 0.2 18318 5181.8 0.0 51085 5875.1 42827.3 0.0 1177 134979 14 50000.0 4969 47353 51110 9252 0.3 0.7 0.3 8025.0 19322.7 7724 0.2 18146 5726.4 0.0 56619 6493.2 47331.4 0.0 1065 134979 15 52500.0 5242 50049 53503 9148 0.3 0.8 0.3 8025.6 19379.1 7724 0.2 18149 6052.4 0.0 59382 6862.5 50025.4 0.0 1209 161975 16 55000.0 5587 52380 56451 9661 0.3 0.9 0.5 8028.0 8028.0 7724 0.2 18758 6266.8 0.0 62515 7173.3 52290.9 0.0 1155 161975 17 57500.0 5580 54607 58551 10383 0.3 0.7 0.4 8025.6 8025.6 7724 0.2 18455 6536.9 0.0 64950 7482.6 54545.7 0.0 1108 161975 18 62500.0 4413 53224 58418 10682 1654.3 305.6 14.1 12008.5 12008.6 12646 0.2 37768 6373.2 8.2 107766 7944.1 53193.0 649.8 1044 148722 19 65000.0 4612 53287 59272 9958 1925.6 326.1 16.7 12446.7 12446.7 12790 0.2 37717 6379.3 12.2 114627 8317.6 53282.5 1014.2 1163 165907 20 70000.0 2993 52332 60086 10555 2218.7 351.7 21.6 12958.3 12958.3 13112 0.2 39314 6257.9 19.0 126510 8850.2 52401.5 1678.8 1093 153114 -
doc/theses/thierry_delisle_PhD/thesis/local.bib
r741e22c r71cf630 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 461 431 462 % -------------------------------------------------- 432 463 % ULE FreeBSD scheduler … … 582 613 } 583 614 615 @misc{apache, 616 key = {Apache Software Foundation}, 617 title = {{T}he {A}pache Web Server}, 618 howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}}, 619 note = "[Online; accessed 6-June-2022]" 620 } 621 622 @misc{memcached, 623 key = {Brad Fitzpatrick}, 624 title = {{M}emcached}, 625 year = {2003}, 626 howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}}, 627 note = "[Online; accessed 6-June-2022]" 628 } 629 630 @misc{libuv, 631 author = {libuv team}, 632 title = {libuv: Asynchronous I/O made simple.}, 633 howpublished = {\href{https://libuv.org/}{https://\-libuv.org/}}, 634 note = "[Online; accessed 5-August-2022]" 635 } 636 637 @misc{SeriallyReusable, 638 author = {IBM}, 639 title = {Serially reusable programs}, 640 month = mar, 641 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}}, 642 year = 2021, 643 } 644 645 @misc{GITHUB:mutilate, 646 title = {Mutilate: high-performance memcached load generator }, 647 author = { Jacob Leverich }, 648 howpublished = {\href{https://github.com/leverich/mutilate}{https://\-github.com/\-leverich/\-mutilate}}, 649 version = {Change-Id: d65c6ef7c2f78ae05a9db3e37d7f6ddff1c0af64} 650 } 651 652 % -------------------------------------------------- 653 % Tech documents 654 @techreport{rfc:tcp, 655 title={Transmission control protocol}, 656 author={Postel, Jon}, 657 year={1981} 658 } 659 660 @manual{win:priority, 661 key = {TaskSettings Priority}, 662 title = {TaskSettings.Priority property}, 663 year = "2020", 664 month = "September", 665 howpublished = {\href{https://docs.microsoft.com/en-us/windows/win32/taskschd/tasksettings-priority}{https://\-docs.microsoft.com/\-en-us/\-windows/\-win32/\-taskschd/\-tasksettings-priority}}, 666 note = "[Online; accessed 5-August-2022]" 667 } 668 669 @manual{win:overlap, 670 key = {Synchronous and Asynchronous IO}, 671 title = {Synchronous and Asynchronous I\/O}, 672 year = "2021", 673 month = "March", 674 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}}, 675 note = "[Online; accessed 5-August-2022]" 676 } 677 678 @book{russinovich2009windows, 679 title={Windows Internals}, 680 author={Russinovich, M.E. and Solomon, D.A. and Ionescu, A.}, 681 isbn={9780735625303}, 682 lccn={2009927697}, 683 series={Developer Reference Series}, 684 url={https://books.google.ca/books?id=SfglSQAACAAJ}, 685 year={2009}, 686 publisher={Microsoft Press} 687 } 688 689 @manual{apple:gcd, 690 key = {Grand Central Dispatch}, 691 title = {Grand Central Dispatch}, 692 year = "2022", 693 author = {Apple Inc.}, 694 howpublished = {https://developer.apple.com/documentation/DISPATCH}, 695 note = "[Online; accessed 5-August-2022]" 696 } 697 698 @techreport{apple:gcd2, 699 key = {Grand Central Dispatch}, 700 title = {Grand Central Dispatch, A better way to do multicore.}, 701 year = "2009", 702 month = "August", 703 author = {Apple Inc.}, 704 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}}, 705 note = "[Online; accessed 5-August-2022]" 706 } 707 708 584 709 % -------------------------------------------------- 585 710 % Man Pages … … 619 744 } 620 745 746 @manual{MAN:sendfile, 747 key = "sendfile", 748 title = "sendfile(2) Linux User's Manual", 749 year = "2017", 750 month = "September", 751 } 752 753 @manual{MAN:splice, 754 key = "splice", 755 title = "splice(2) Linux User's Manual", 756 year = "2019", 757 month = "May", 758 } 759 621 760 @manual{MAN:aio, 622 761 key = "aio", … … 709 848 } 710 849 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 850 @misc{wiki:ma, 851 author = "{Wikipedia contributors}", 852 title = "Bin packing problem --- {W}ikipedia{,} The Free Encyclopedia", 853 year = "2022", 854 howpublished = "\href{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average}{https://\-en.wikipedia.org/\-wiki/\-Moving\_average\#Exponential\_moving\_average}", 855 note = "[Online; accessed 5-August-2022]" 856 } 857 858 @misc{wiki:jni, 859 author = "{Wikipedia contributors}", 860 title = "Java Native Interface --- {W}ikipedia{,} The Free Encyclopedia", 861 year = "2021", 862 howpublished = "\href{https://en.wikipedia.org/wiki/Java_Native_Interface}{https://\-en.wikipedia.org/\-wiki/\-Java\_Native\_Interface}", 863 note = "[Online; accessed 5-August-2022]" 864 } 865 866 @misc{wiki:zipf, 867 author = "{Wikipedia contributors}", 868 title = "Zipf's law --- {W}ikipedia{,} The Free Encyclopedia", 869 year = "2021", 870 howpublished = "\href{https://en.wikipedia.org/wiki/Zipf%27s_law}{https://\-en.wikipedia.org/\-wiki/\-Zipf\%27s\-\_law}", 871 note = "[Online; accessed 5-August-2022]" 872 } 873 874 875 % -------------------------------------------------- 876 % True Misc 732 877 @misc{AIORant, 733 878 author = "Linus Torvalds", … … 739 884 } 740 885 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 } 886 @misc{xkcd:dynamicentropy, 887 author = "Randall Munroe", 888 title = "2318: Dynamic Entropy", 889 year = "2020", 890 month = "June", 891 howpublished = "\href{https://xkcd.com/2318/}", 892 note = "[Online; accessed 10-June-2020]" 893 } 894 895 @misc{go:safepoints, 896 author = "The Go Programming Language", 897 title = "src/runtime/preempt.go", 898 howpublished = {\href{https://go.dev/src/runtime/preempt.go}}, 899 note = "[Online; accessed 5-August-2022]" 900 } 901 902 @misc{go:cgo, 903 author = "The Go Programming Language", 904 title = "cgo", 905 howpublished = {\href{https://pkg.go.dev/cmd/cgo}}, 906 note = "[Online; accessed 5-August-2022]" 907 } -
doc/theses/thierry_delisle_PhD/thesis/text/core.tex
r741e22c r71cf630 15 15 For threading, a simple and common execution mental-model is the ``Ideal multi-tasking CPU'' : 16 16 17 \begin{displayquote}[Linux CFS\cit {https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt}]17 \begin{displayquote}[Linux CFS\cite{MAN:linux/cfs}] 18 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} … … 183 183 This suggests to the following approach: 184 184 185 \subsection{Dynamic Entropy}\cit {https://xkcd.com/2318/}185 \subsection{Dynamic Entropy}\cite{xkcd:dynamicentropy} 186 186 The Relaxed-FIFO approach can be made to handle the case of mostly empty subqueues by tweaking the \glsxtrlong{prng}. 187 187 The \glsxtrshort{prng} state can be seen as containing a list of all the future subqueues that will be accessed. 188 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.189 Luckily, bidirectional \glsxtrshort{prng} algorithms do exist, \eg some Linear Congruential Generators\cite{wiki:lcg} 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} … … 208 208 The alternative is to do it the other way around. 209 209 210 \section{Work Stealing++} 210 \section{Work Stealing++}\label{helping} 211 211 To add stronger fairness guarantees to work stealing a few changes are needed. 212 212 First, the relaxed-FIFO algorithm has fundamentally better fairness because each \proc always monitors all subqueues. … … 220 220 \input{base.pstex_t} 221 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. 222 Each \gls{proc} can access all of the subqueues. 223 223 Each \at is timestamped when enqueued.} 224 224 \label{fig:base} … … 245 245 \end{figure} 246 246 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}.247 A simple solution to this problem is to use an exponential moving average\cite{wiki:ma} (MA) instead of a raw timestamps, shown in Figure~\ref{fig:base-ma}. 248 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 249 Therefore, the exponential moving average is actually an exponential moving average of how long each dequeued \at has waited. … … 261 261 The good news is that this problem can be mitigated 262 262 263 \subsection{Redundant Timestamps} 263 \subsection{Redundant Timestamps}\ref{relaxedtimes} 264 264 The problem with polling remote subqueues is that correctness is critical. 265 265 There must be a consensus among \procs on which subqueues hold which \ats, as the \ats are in constant motion. -
doc/theses/thierry_delisle_PhD/thesis/text/eval_macro.tex
r741e22c r71cf630 10 10 11 11 \section{Memcached} 12 Memcached~\cit{memcached} is an in memory key-value store that is used in many production environments, \eg \cit{Berk Atikoglu et al., Workload Analysis of a Large-Scale Key-Value Store, 13 SIGMETRICS 2012}. 14 This also server also has the notable added benefit that there exists a full-featured front-end for performance testing called @mutilate@~\cit{mutilate}. 12 Memcached~\cite{memcached} is an in memory key-value store that is used in many production environments, \eg \cite{atikoglu2012workload}. 13 This also server also has the notable added benefit that there exists a full-featured front-end for performance testing called @mutilate@~\cite{GITHUB:mutilate}. 15 14 Experimenting on memcached allows for a simple test of the \CFA runtime as a whole, it will exercise the scheduler, the idle-sleep mechanism, as well the \io subsystem for sockets. 16 15 This experiment does not exercise the \io subsytem with regards to disk operations. 17 The experiments compare 3 different varitions of memcached:18 \begin{itemize}19 \item \emph{vanilla}: the official release of memcached, version~1.6.9.20 \item \emph{fibre}: a modification of vanilla which uses the thread per connection model on top of the libfibre runtime~\cite{DBLP:journals/pomacs/KarstenB20}.21 \item \emph{cfa}: a modification of the fibre webserver that replaces the libfibre runtime with \CFA.22 \end{itemize}23 16 24 17 \subsection{Benchmark Environment} … … 31 24 The network route uses 1 Mellanox SX1012 10/40 Gigabit Ethernet cluster switch. 32 25 33 \subsection{Throughput} 26 \subsection{Memcached with threads per connection} 27 Comparing against memcached using a user-level runtime only really make sense if the server actually uses this threading model. 28 Indeed, evaluating a user-level runtime with 1 \at per \proc is not meaningful since it does not exercise the runtime, it simply adds some overhead to the underlying OS scheduler. 29 30 One approach is to use a webserver that uses a thread-per-connection model, where each incoming connection is served by a single \at in a strict 1-to-1 pairing. 31 This models adds flexibility to the implementation, as the serving logic can now block on user-level primitives without affecting other connections. 32 33 Memcached is not built according to a thread-per-connection model, but there exists a port of it that is, which was built for libfibre in \cite{DBLP:journals/pomacs/KarstenB20}. 34 Therefore this version can both be compared to the original version and to a port to the \CFA runtime. 35 36 As such, this memcached experiment compares 3 different varitions of memcached: 37 \begin{itemize} 38 \item \emph{vanilla}: the official release of memcached, version~1.6.9. 39 \item \emph{fibre}: a modification of vanilla which uses the thread per connection model on top of the libfibre runtime~\cite{DBLP:journals/pomacs/KarstenB20}. 40 \item \emph{cfa}: a modification of the fibre webserver that replaces the libfibre runtime with \CFA. 41 \end{itemize} 42 43 \subsection{Throughput} \label{memcd:tput} 34 44 \begin{figure} 35 45 \centering … … 62 72 \begin{figure} 63 73 \centering 64 \input{result.memcd.updt.qps.pstex_t} 65 \caption[Churn Benchmark : Throughput on Intel]{Churn Benchmark : Throughput on Intel\smallskip\newline Description} 66 \label{fig:memcd:updt:qps} 67 \end{figure} 68 69 \begin{figure} 70 \centering 71 \input{result.memcd.updt.lat.pstex_t} 72 \caption[Churn Benchmark : Throughput on Intel]{Churn Benchmark : Throughput on Intel\smallskip\newline Description} 73 \label{fig:memcd:updt:lat} 74 \subfloat[][Throughput]{ 75 \input{result.memcd.forall.qps.pstex_t} 76 } 77 78 \subfloat[][Latency]{ 79 \input{result.memcd.forall.lat.pstex_t} 80 } 81 \caption[forall Latency results at different update rates]{forall Latency results at different update rates\smallskip\newline Description} 82 \label{fig:memcd:updt:forall} 83 \end{figure} 84 85 \begin{figure} 86 \centering 87 \subfloat[][Throughput]{ 88 \input{result.memcd.fibre.qps.pstex_t} 89 } 90 91 \subfloat[][Latency]{ 92 \input{result.memcd.fibre.lat.pstex_t} 93 } 94 \caption[fibre Latency results at different update rates]{fibre Latency results at different update rates\smallskip\newline Description} 95 \label{fig:memcd:updt:fibre} 96 \end{figure} 97 98 \begin{figure} 99 \centering 100 \subfloat[][Throughput]{ 101 \input{result.memcd.vanilla.qps.pstex_t} 102 } 103 104 \subfloat[][Latency]{ 105 \input{result.memcd.vanilla.lat.pstex_t} 106 } 107 \caption[vanilla Latency results at different update rates]{vanilla Latency results at different update rates\smallskip\newline Description} 108 \label{fig:memcd:updt:vanilla} 74 109 \end{figure} 75 110 … … 79 114 The memcached experiment has two aspects of the \io subsystem it does not exercise, accepting new connections and interacting with disks. 80 115 On the other hand, static webservers, servers that offer static webpages, do stress disk \io since they serve files from disk\footnote{Dynamic webservers, which construct pages as they are sent, are not as interesting since the construction of the pages do not exercise the runtime in a meaningfully different way.}. 81 The static webserver experiments will compare NGINX with a custom webserver developped for this experiment. 116 The static webserver experiments will compare NGINX~\cit{nginx} with a custom webserver developped for this experiment. 117 118 \subsection{\CFA webserver} 119 Unlike the memcached experiment, the webserver experiment relies on a custom designed webserver. 120 It is a simple thread-per-connection webserver where a fixed number of \ats are created upfront. 121 Each of the \at calls @accept@, through @io_uring@, on the listening port and handle the incomming connection once accepted. 122 Most of the implementation is fairly straight forward however the inclusion of file \io introduces a new challenge that had to be hacked around. 123 124 Normally, webservers use @sendfile@\cite{MAN:sendfile} to send files over the socket. 125 @io_uring@ does not support @sendfile@, it supports @splice@\cite{MAN:splice} instead, which is strictly more powerful. 126 However, because of how linux implements file \io, see Subsection~\ref{ononblock}, @io_uring@'s implementation must delegate calls to splice to worker threads inside the kernel. 127 As of Linux 5.13, @io_uring@ caps the numer of these worker threads to @RLIMIT_NPROC@ and therefore, when tens of thousands of splice requests are made, it can create tens of thousands of \glspl{kthrd}. 128 Such a high number of \glspl{kthrd} is more than Linux can handle in this scenario so performance suffers significantly. 129 For this reason, the \CFA webserver calls @sendfile@ directly. 130 This approach works up to a certain point, but once the server approaches saturation, it leads to a new problem. 131 132 When the saturation point of the server is attained, latency will increase and inevitably some client connections will timeout. 133 As these clients close there connections, the server must close these sockets without delay so the OS can reclaim the resources used by these connections. 134 Indeed, until they are closed on the server end, the connection will linger in the CLOSE-WAIT tcp state~\cite{rfc:tcp} and the tcp buffers will be preserved. 135 However, this poses a problem using blocking @sendfile@ calls. 136 The calls can block if they do not have suffcient memory, which can be caused by having too many connections in the CLOSE-WAIT state. 137 Since blocking in calls to @sendfile@ blocks the \proc rather than the \at, this prevents other connections from closing their sockets. 138 This leads to a vicious cycle where timeouts lead to @sendfile@ calls running out of resources, which lead to more timeouts. 139 140 Normally, this is address by marking the sockets as non-blocking and using @epoll@ to wait for sockets to have sufficient resources. 141 However, since @io_uring@ respects non-blocking semantics marking all sockets as non-blocking effectively circumvents the @io_uring@ subsystem entirely. 142 For this reason, the \CFA webserver sets and resets the @O_NONBLOCK@ flag before and after any calls to @sendfile@. 143 Normally @epoll@ would also be used when these calls to @sendfile@ return @EAGAIN@, but since this would not help in the evaluation of the \CFA runtime, the \CFA webserver simply yields and retries in these cases. 144 145 It is important to state that in Linux 5.15 @io_uring@ introduces the ability for users to limit the number of worker threads that are created, through the @IORING_REGISTER_IOWQ_MAX_WORKERS@ option. 146 However, as of writing this document Ubuntu does not have a stable release of Linux 5.15. 147 There exists versions of the kernel that are currently under testing, but these caused unrelated but nevertheless prohibitive issues in this experiment. 148 Presumably, the new kernel would remove the need for the hack described above, as it would allow connections in the CLOSE-WAIT state to be closed even while the calls to @splice@/@sendfile@ are underway. 149 However, since this could not be tested, this is purely a conjecture at this point. 82 150 83 151 \subsection{Benchmark Environment} … … 87 155 These CPUs has only 8 \glspl{hthrd} enabled by grub, which is sufficient to achieve line rate. 88 156 This cpus each have 64 KB, 256 KiB and 8 MB of L1, L2 and L3 caches respectively. 157 The kernel is setup to limit the memory at 25Gb. 89 158 90 159 The client machines each have two 2.8 GHz Xeon CPUs, and four one-gigabit Ethernet cards. … … 95 164 \todo{switch} 96 165 97 98 99 166 \subsection{Throughput} 100 \begin{figure} 101 \centering 102 \input{result.swbsrv.25gb.pstex_t} 103 \caption[Static Webserver Benchmark : Throughput]{Static Webserver Benchmark : Throughput\smallskip\newline } 167 To measure the throughput of both webservers, each server is loaded with over 30,000 files making over 4.5 Gigabytes in total. 168 Each client runs httperf~\cit{httperf} which establishes a connection, does an http request for one or more files, closes the connection and repeats the process. 169 The connections and requests are made according to a Zipfian distribution~\cite{zipf}. 170 Throughput is measured by aggregating the results from httperf of all the clients. 171 \begin{figure} 172 \subfloat[][Throughput]{ 173 \input{result.swbsrv.25gb.pstex_t} 174 \label{fig:swbsrv:ops} 175 } 176 177 \subfloat[][Rate of Errors]{ 178 \input{result.swbsrv.25gb.err.pstex_t} 179 \label{fig:swbsrv:err} 180 } 181 \caption[Static Webserver Benchmark : Throughput]{Static Webserver Benchmark : Throughput\smallskip\newline Throughput vs request rate for short lived connections connections.} 104 182 \label{fig:swbsrv} 105 183 \end{figure} 106 107 Networked ZIPF 108 109 Nginx : 5Gb still good, 4Gb starts to suffer 110 111 Cforall : 10Gb too high, 4 Gb too low 184 Figure~\ref{fig:swbsrv} shows the results comparing \CFA to NGINX in terms of throughput. 185 These results are fairly straight forward. 186 Both servers achieve the same throughput until around 57,500 requests per seconds. 187 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 desired rate. 188 Once the saturation point is reached, both servers are still very close. 189 NGINX achieves slightly better throughtput. 190 However, Figure~\ref{fig:swbsrv:err} shows the rate of errors, a gross approximation of tail latency, where \CFA achives notably fewet errors once the machine reaches saturation. 191 This suggest that \CFA is slightly more fair and NGINX may sloghtly sacrifice some fairness for improved throughtput. 192 It demonstrate that the \CFA webserver described above is able to match the performance of NGINX up-to and beyond the saturation point of the machine. 193 194 \subsection{Disk Operations} 195 The throughput was made using a server with 25gb of memory, this was sufficient to hold the entire fileset in addition to all the code and data needed to run the webserver and the reste of the machine. 196 Previous work like \cit{Cite Ashif's stuff} demonstrate that an interesting follow-up experiment is to rerun the same throughput experiment but allowing significantly less memory on the machine. 197 If the machine is constrained enough, it will force the OS to evict files from the file cache and cause calls to @sendfile@ to have to read from disk. 198 However, what these low memory experiments demonstrate is how the memory footprint of the webserver affects the performance. 199 However, since what I am to evaluate in this thesis is the runtime of \CFA, I diceded to forgo experiments on low memory server. 200 The implementation of the webserver itself is simply too impactful to be an interesting evaluation of the underlying runtime. -
doc/theses/thierry_delisle_PhD/thesis/text/eval_micro.tex
r741e22c r71cf630 4 4 This chapter presents five different experimental setup, evaluating some of the basic features of \CFA's scheduler. 5 5 6 \section{Benchmark Environment} 6 \section{Benchmark Environment}\label{microenv} 7 7 All benchmarks are run on two distinct hardware platforms. 8 8 \begin{description} … … 32 32 \centering 33 33 \input{cycle.pstex_t} 34 \caption[Cycle benchmark]{Cycle benchmark\smallskip\newline Each \ gls{at} unparks the next \gls{at}in the cycle before parking itself.}34 \caption[Cycle benchmark]{Cycle benchmark\smallskip\newline Each \at unparks the next \at in the cycle before parking itself.} 35 35 \label{fig:cycle} 36 36 \end{figure} 37 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 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 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}.39 However, yielding can be treated as a special case and some aspects of the scheduler can be optimized away since the number of ready \ats does not change. 40 Not all systems perform this type of optimization, but those that do have an artificial performance benefit because the yield becomes a \emph{nop}. 41 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.42 This benchmark arranges a number of \ats into a ring, as seen in Figure~\ref{fig:cycle}, where the ring is a circular singly-linked list. 43 At runtime, each \at unparks the next \at before parking itself. 44 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. 45 46 Hence, the underlying runtime cannot rely on the number of ready \ats staying constant over the duration of the experiment. 47 In fact, the total number of \ats waiting on the ready queue is expected to vary because of the delay between the next \at unparking and the current \at parking. 48 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.) 49 As well, the size of the cycle is also decided based on this delay. 50 Note that, an unpark is like a V on a semaphore, so the subsequent park (P) may not block. 51 If this happens, the scheduler push and pop are avoided and the results of the experiment would be skewed. 52 Because of time-slicing or because cycles can be spread over multiple \procs, a small cycle may see the chain of unparks go full circle before the first \at parks. 53 Every runtime system must handle this race and but cannot optimized away the ready-queue pushes and pops if the cycle is long enough. 54 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. 53 55 Finally, to further mitigate any underlying push/pop optimizations, especially on SMP machines, multiple rings are created in the experiment. 54 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 56 58 57 Figure~\ref{fig:cycle:code} shows the pseudo code for this benchmark. … … 64 63 count := 0 65 64 for { 65 @this.next.wake()@ 66 66 @wait()@ 67 @this.next.wake()@68 67 count ++ 69 68 if must_stop() { break } … … 103 102 \label{fig:cycle:jax:low:ns} 104 103 } 105 \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 count. For Throughput higher is better, for Scalability lower is better. }104 \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 count. For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 106 105 \label{fig:cycle:jax} 107 106 \end{figure} … … 125 124 \input{result.cycle.nasus.ns.pstex_t} 126 125 } 127 126 \label{fig:cycle:nasus:ns} 128 127 } 129 128 \subfloat[][Scalability, 1 cycle per \proc]{ … … 133 132 \label{fig:cycle:nasus:low:ns} 134 133 } 135 \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 count. For Throughput higher is better, for Scalability lower is better. }134 \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 count. For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 136 135 \label{fig:cycle:nasus} 137 136 \end{figure} 138 137 Figure~\ref{fig:cycle:jax} and Figure~\ref{fig:cycle:nasus} shows the throughput as a function of \proc count on Intel and AMD respectively, where each cycle has 5 \ats. 139 138 The graphs show traditional throughput on the top row and \newterm{scalability} on the bottom row. 140 Where scalability uses the same data but the Y axis is calculated as th roughput over the number of \procs.139 Where scalability uses the same data but the Y axis is calculated as the number of \procs over the throughput. 141 140 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. 142 141 The left column shows results for 100 cycles per \proc, enough cycles to always keep every \proc busy. … … 144 143 The distinction 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. 145 144 145 The experiment was run 15 times for each series and processor count and the \emph{$\times$}s on the graph show all of the results obtained. 146 Each series also has a solid and two dashed lines highlighting the median, maximum and minimum result respectively. 147 This presentation offers an overview of the distribution of the results for each series. 148 149 The experimental setup uses taskset to limit the placement of \glspl{kthrd} by the operating system. 150 As mentioned in Section~\ref{microenv}, the experiement is setup to prioritize running on 2 \glspl{hthrd} per core before running on multiple sockets. 151 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 but \emph{with} hyperthreading. 152 This pattern is repeated between 49 and 96, between 97 and 144, and between 145 and 192. 153 On AMD, the same algorithm is used, but the machine only has 2 sockets. 154 So hyperthreading\footnote{Hyperthreading normally refers specifically to the technique used by Intel, however here it is loosely used to refer to AMD's equivalent feature.} is used when the \proc count reach 65 and 193. 155 156 Figure~\ref{fig:cycle:jax:ops} and Figure~\ref{fig:cycle:jax:ns} show that for 100 cycles per \proc, \CFA, Go and Tokio all obtain effectively the same performance. 157 Libfibre is slightly behind in this case but still scales decently. 158 As a result of the \gls{kthrd} placement, we can see that additional \procs from 25 to 48 offer less performance improvements for all runtimes. 159 As expected, this pattern repeats between \proc count 72 and 96. 146 160 The performance goal of \CFA is to obtain equivalent performance to other, less fair schedulers and that is what results show. 147 161 Figure~\ref{fig:cycle:jax:ops} and \ref{fig:cycle:jax:ns} show very good throughput and scalability for all runtimes. 148 The experimental setup prioritizes running on 2 \glspl{hthrd} per core before running on multiple sockets. 149 The effect of that setup is seen from 25 to 48 \procs, running on 24 core with 2 \glspl{hthrd} per core. 150 This effect is again repeated from 73 and 96 \procs, where it happens on the second CPU. 151 When running only a single cycle, most runtime achieve lower throughput because of the idle-sleep mechanism. 152 In Figure~\ref{fig:cycle:jax:ops} and \ref{fig:cycle:jax:ns} 153 154 Figure~\ref{fig:cycle:nasus} show effectively the same story happening on AMD as it does on Intel. 155 The different performance bumps due to cache topology happen at different locations and there is a little more variability. 156 However, in all cases \CFA is still competitive with other runtimes. 157 162 163 When running only a single cycle, the story is slightly different. 164 \CFA and tokio obtain very smiliar results overall, but tokio shows notably more variations in the results. 165 While \CFA, Go and tokio achive equivalent performance with 100 cycles per \proc, with only 1 cycle per \proc Go achieves slightly better performance. 166 This difference in throughput and scalability is due to the idle-sleep mechanism. 167 With very few cycles, stealing or helping can cause a cascade of tasks migration and trick \proc into very short idle sleeps. 168 Both effect will negatively affect performance. 169 170 An interesting and unusual result is that libfibre achieves better performance with fewer cycle. 171 This suggest that the cascade effect is never present in libfibre and that some bottleneck disappears in this context. 172 However, I did not investigate this result any deeper. 173 174 Figure~\ref{fig:cycle:nasus} show a similar story happening on AMD as it does on Intel. 175 The different performance improvements and plateaus due to cache topology appear at the expected \proc counts of 64, 128 and 192, for the same reasons as on Intel. 176 Unlike Intel, on AMD all 4 runtimes achieve very similar throughput and scalability for 100 cycles per \proc. 177 178 In the 1 cycle per \proc experiment, the same performance increase for libfibre is visible. 179 However, unlike on Intel, tokio achieves the same performance as Go rather than \CFA. 180 This leaves \CFA trailing behind in this particular case, but only at hight core counts. 181 Presumably this is because in this case, \emph{any} helping is likely to cause a cascade of \procs running out of work and attempting to steal. 182 Since this effect is only problematic in cases with 1 \at per \proc it is not very meaningful for the general performance. 183 184 The conclusion from both architectures is that all of the compared runtime have fairly equivalent performance in this scenario. 185 Which demonstrate that in this case \CFA achieves equivalent performance. 158 186 159 187 \section{Yield} 160 188 For completion, the classic yield benchmark is included. 161 This benchmark is simpler than the cycle test: it creates many \ glspl{at}that call @yield@.189 This benchmark is simpler than the cycle test: it creates many \ats that call @yield@. 162 190 As mentioned, this benchmark may not be representative because of optimization shortcuts in @yield@. 163 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.191 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. 164 192 This scenario can put a strain on the idle-sleep handling compared to scenarios where there is plenty of work. 165 193 Figure~\ref{fig:yield:code} shows pseudo code for this benchmark, where the @wait/next.wake@ is replaced by @yield@. … … 208 236 \label{fig:yield:jax:low:ns} 209 237 } 210 \caption[Yield Benchmark on Intel]{Yield Benchmark on Intel\smallskip\newline Throughput and Scalability as a function of \proc count, using 1 \ats per \proc. For Throughput higher is better, for Scalability lower is better. }238 \caption[Yield Benchmark on Intel]{Yield Benchmark on Intel\smallskip\newline Throughput and Scalability as a function of \proc count, using 1 \ats per \proc. For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 211 239 \label{fig:yield:jax} 212 240 \end{figure} … … 230 258 \input{result.yield.nasus.ns.pstex_t} 231 259 } 232 260 \label{fig:yield:nasus:ns} 233 261 } 234 262 \subfloat[][Scalability, 1 \at per \proc]{ … … 238 266 \label{fig:yield:nasus:low:ns} 239 267 } 240 \caption[Yield Benchmark on AMD]{Yield Benchmark on AMD\smallskip\newline Throughput and Scalability as a function of \proc count, using 1 \ats per \proc. For Throughput higher is better, for Scalability lower is better. }268 \caption[Yield Benchmark on AMD]{Yield Benchmark on AMD\smallskip\newline Throughput and Scalability as a function of \proc count, using 1 \ats per \proc. For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 241 269 \label{fig:yield:nasus} 242 270 \end{figure} 243 244 Figure~\ref{fig:yield:jax} shows the throughput as a function of \proc count, where each run uses 100 \ats per \proc. 271 Figure~\ref{fig:yield:jax} shows the throughput as a function of \proc count on Intel. 245 272 It is fairly obvious why I claim this benchmark is more artificial. 246 273 The throughput is dominated by the mechanism used to handle the @yield@. 247 \CFA does not have special handling for @yield@ and achieves very similar performance to the cycle benchmark. 248 Libfibre uses the fact that @yield@ doesn't change the number of ready fibres and by-passes the idle-sleep mechanism entirely, producing significantly better throughput. 249 Go puts yielding goroutines on a secondary global ready-queue, giving them lower priority. 250 The result is that multiple \glspl{hthrd} contend for the global queue and performance suffers drastically. 251 Based on the scalability, Tokio obtains the same poor performance and therefore it is likely it handles @yield@ in a similar fashion. 274 \CFA does not have special handling for @yield@ but the experiment requires less synchronization. 275 As a result achieves better performance than the cycle benchmark, but still comparable. 252 276 253 277 When the number of \ats is reduce to 1 per \proc, the cost of idle sleep also comes into play in a very significant way. 254 If anything causes a \at migration, where two \ats end-up on the same ready-queue, work-stealing will start occuring and c ause every \atto shuffle around.278 If anything causes a \at migration, where two \ats end-up on the same ready-queue, work-stealing will start occuring and could cause several \ats to shuffle around. 255 279 In the process, several \procs can go to sleep transiently if they fail to find where the \ats were shuffled to. 256 280 In \CFA, spurious bursts of latency can trick a \proc into helping, triggering this effect. 257 However, since user-level threading with equal number of \ats and \procs is a somewhat degenerate case, especially when ctxswitching very often, this result is not particularly meaningful and is only included for completness. 281 However, since user-level threading with equal number of \ats and \procs is a somewhat degenerate case, especially when context-switching very often, this result is not particularly meaningful and is only included for completness. 282 283 Libfibre uses the fact that @yield@ doesn't change the number of ready fibres and by-passes the idle-sleep mechanism entirely, producing significantly better throughput. 284 Additionally, when only running 1 \at per \proc, libfibre optimizes further and forgoes the context-switch entirely. 285 This results in incredible performance results comparing to the other runtimes. 286 287 In stark contrast with libfibre, Go puts yielding goroutines on a secondary global ready-queue, giving them lower priority. 288 The result is that multiple \glspl{hthrd} contend for the global queue and performance suffers drastically. 289 Based on the scalability, Tokio obtains the similarly poor performance and therefore it is likely it handles @yield@ in a similar fashion. 290 However, it must be doing something different since it does scale at low \proc count. 258 291 259 292 Again, Figure~\ref{fig:yield:nasus} show effectively the same story happening on AMD as it does on Intel. … … 265 298 \section{Churn} 266 299 The Cycle and Yield benchmark represent an \emph{easy} scenario for a scheduler, \eg an embarrassingly parallel application. 267 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.268 269 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.270 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 globalqueue.271 This dequeuing results in either contention on the remote queue and/or \glspl{rmr} on \gls{at}data structure.272 In either case, this benchmark aims to highlight howeach scheduler handles these cases, since both cases can lead to performance degradation if not handled correctly.300 In these benchmarks, \ats can be easily partitioned over the different \procs upfront and none of the \ats communicate with each other. 301 302 The Churn benchmark represents more chaotic executions, where there is more communication among \ats but no apparent relation between the last \proc on which a \at ran and blocked, and the \proc that subsequently unblocks it. 303 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 place it on a remote queue. 304 This enqueuing results in either contention on the remote queue and/or \glspl{rmr} on the \at data structure. 305 In either case, this benchmark aims to measure how well each scheduler handles these cases, since both cases can lead to performance degradation if not handled correctly. 273 306 274 307 This benchmark uses a fixed-size array of counting semaphores. 275 Each \ gls{at}picks a random semaphore, @V@s it to unblock any \at waiting, and then @P@s on the semaphore.276 This creates a flow where \ glspl{at}push each other out of the semaphores before being pushed out themselves.277 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}.308 Each \at picks a random semaphore, @V@s it to unblock any \at waiting, and then @P@s on the semaphore. 309 This creates a flow where \ats push each other out of the semaphores before being pushed out themselves. 310 For this benchmark to work, the number of \ats must be equal or greater than the number of semaphores plus the number of \procs. 278 311 Note, the nature of these semaphores mean the counter can go beyond 1, which can lead to nonblocking calls to @P@. 279 312 Figure~\ref{fig:churn:code} shows pseudo code for this benchmark, where the @yield@ is replaced by @V@ and @P@. … … 298 331 299 332 \subsection{Results} 300 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.301 302 333 \begin{figure} 303 334 \subfloat[][Throughput, 100 \ats per \proc]{ … … 307 338 \label{fig:churn:jax:ops} 308 339 } 309 \subfloat[][Throughput, 1\ats per \proc]{340 \subfloat[][Throughput, 2 \ats per \proc]{ 310 341 \resizebox{0.5\linewidth}{!}{ 311 342 \input{result.churn.low.jax.ops.pstex_t} … … 318 349 \input{result.churn.jax.ns.pstex_t} 319 350 } 320 321 } 322 \subfloat[][Latency, 1\ats per \proc]{351 \label{fig:churn:jax:ns} 352 } 353 \subfloat[][Latency, 2 \ats per \proc]{ 323 354 \resizebox{0.5\linewidth}{!}{ 324 355 \input{result.churn.low.jax.ns.pstex_t} … … 326 357 \label{fig:churn:jax:low:ns} 327 358 } 328 \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. 329 Throughput is the total operation per second across all cores. Latency is the duration of each operation.} 359 \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. For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 330 360 \label{fig:churn:jax} 331 361 \end{figure} 332 362 333 \todo{results discussion} 363 \begin{figure} 364 \subfloat[][Throughput, 100 \ats per \proc]{ 365 \resizebox{0.5\linewidth}{!}{ 366 \input{result.churn.nasus.ops.pstex_t} 367 } 368 \label{fig:churn:nasus:ops} 369 } 370 \subfloat[][Throughput, 2 \ats per \proc]{ 371 \resizebox{0.5\linewidth}{!}{ 372 \input{result.churn.low.nasus.ops.pstex_t} 373 } 374 \label{fig:churn:nasus:low:ops} 375 } 376 377 \subfloat[][Latency, 100 \ats per \proc]{ 378 \resizebox{0.5\linewidth}{!}{ 379 \input{result.churn.nasus.ns.pstex_t} 380 } 381 \label{fig:churn:nasus:ns} 382 } 383 \subfloat[][Latency, 2 \ats per \proc]{ 384 \resizebox{0.5\linewidth}{!}{ 385 \input{result.churn.low.nasus.ns.pstex_t} 386 } 387 \label{fig:churn:nasus:low:ns} 388 } 389 \caption[Churn Benchmark on AMD]{\centering Churn Benchmark on AMD\smallskip\newline Throughput and latency of the Churn on the benchmark on the AMD machine. 390 For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 391 \label{fig:churn:nasus} 392 \end{figure} 393 Figure~\ref{fig:churn:jax} and Figure~\ref{fig:churn:nasus} show the throughput as a function of \proc count on Intel and AMD respectively. 394 It uses the same representation as the previous benchmark : 15 runs where the dashed line show the extremums and the solid line the median. 395 The performance cost of crossing the cache boundaries is still visible at the same \proc count. 396 However, this benchmark has performance dominated by the cache traffic as \proc are constantly accessing the eachother's data. 397 Scalability is notably worst than the previous benchmarks since there is inherently more communication between processors. 398 Indeed, once the number of \glspl{hthrd} goes beyond a single socket, performance ceases to improve. 399 An interesting aspect to note here is that the runtimes differ in how they handle this situation. 400 Indeed, when a \proc unparks a \at that was last run on a different \proc, the \at could be appended to the ready-queue local \proc or to the ready-queue of the remote \proc, which previously ran the \at. 401 \CFA, tokio and Go all use the approach of unparking to the local \proc while Libfibre unparks to the remote \proc. 402 In this particular benchmark, the inherent chaos of the benchmark in addition to small memory footprint means neither approach wins over the other. 403 404 Like for the cycle benchmark, here all runtimes achieve fairly similar performance. 405 Performance improves as long as all \procs fit on a single socket. 406 Beyond that performance starts to suffer from increased caching costs. 407 408 Indeed on Figures~\ref{fig:churn:jax:ops} and \ref{fig:churn:jax:ns} show that with 1 and 100 \ats per \proc, \CFA, libfibre, Go and tokio achieve effectively equivalent performance for most \proc count. 409 410 However, Figure~\ref{fig:churn:nasus} again shows a somewhat different story on AMD. 411 While \CFA, libfibre, and tokio achieve effectively equivalent performance for most \proc count, Go starts with better scaling at very low \proc counts but then performance quickly plateaus, resulting in worse performance at higher \proc counts. 412 This performance difference is visible at both high and low \at counts. 413 414 One possible explanation for this difference is that since Go has very few available concurrent primitives, a channel was used instead of a semaphore. 415 On paper a semaphore can be replaced by a channel and with zero-sized objects passed along equivalent performance could be expected. 416 However, in practice there can be implementation difference between the two. 417 This is especially true if the semaphore count can get somewhat high. 418 Note that this replacement is also made in the cycle benchmark, however in that context it did not seem to have a notable impact. 419 420 As second possible explanation is that Go may sometimes use the heap when allocating variables based on the result of escape analysis of the code. 421 It is possible that variables that should be placed on the stack are placed on the heap. 422 This could cause extra pointer chasing in the benchmark, heightning locality effects. 423 Depending on how the heap is structure, this could also lead to false sharing. 424 425 The objective of this benchmark is to demonstrate that unparking \ats from remote \procs do not cause too much contention on the local queues. 426 Indeed, the fact all runtimes achieve some scaling at lower \proc count demontrate that migrations do not need to be serialized. 427 Again these result demonstrate \CFA achieves satisfactory performance. 334 428 335 429 \section{Locality} 336 337 \todo{code, setup, results} 430 \begin{figure} 431 \begin{cfa} 432 Thread.main() { 433 count := 0 434 for { 435 r := random() % len(spots) 436 // go through the array 437 @work( a )@ 438 spots[r].V() 439 spots[r].P() 440 count ++ 441 if must_stop() { break } 442 } 443 global.count += count 444 } 445 \end{cfa} 446 \begin{cfa} 447 Thread.main() { 448 count := 0 449 for { 450 r := random() % len(spots) 451 // go through the array 452 @work( a )@ 453 // pass array to next thread 454 spots[r].V( @a@ ) 455 @a = @spots[r].P() 456 count ++ 457 if must_stop() { break } 458 } 459 global.count += count 460 } 461 \end{cfa} 462 \caption[Locality Benchmark : Pseudo Code]{Locality Benchmark : Pseudo Code} 463 \label{fig:locality:code} 464 \end{figure} 465 As mentionned in the churn benchmark, when unparking a \at, it is possible to either unpark to the local or remote ready-queue. 466 \footnote{It is also possible to unpark to a third unrelated ready-queue, but without additional knowledge about the situation, there is little to suggest this would not degrade performance.} 467 The locality experiment includes two variations of the churn benchmark, where an array of data is added. 468 In both variations, before @V@ing the semaphore, each \at increment random cells inside the array. 469 The @share@ variation then passes the array to the shadow-queue of the semaphore, transferring ownership of the array to the woken thread. 470 In the @noshare@ variation the array is not passed on and each thread continously accesses its private array. 471 472 The objective here is to highlight the different decision made by the runtime when unparking. 473 Since each thread unparks a random semaphore, it means that it is unlikely that a \at will be unparked from the last \proc it ran on. 474 In the @share@ version, this means that unparking the \at on the local \proc is appropriate since the data was last modified on that \proc. 475 In the @noshare@ version, the unparking the \at on the remote \proc is the appropriate approach. 476 477 The expectation for this benchmark is to see a performance inversion, where runtimes will fare notably better in the variation which matches their unparking policy. 478 This should lead to \CFA, Go and Tokio achieving better performance in @share@ while libfibre achieves better performance in @noshare@. 479 Indeed, \CFA, Go and Tokio have the default policy of unpark \ats on the local \proc, where as libfibre has the default policy of unparks \ats wherever they last ran. 480 481 \subsection{Results} 482 \begin{figure} 483 \subfloat[][Throughput share]{ 484 \resizebox{0.5\linewidth}{!}{ 485 \input{result.locality.share.jax.ops.pstex_t} 486 } 487 \label{fig:locality:jax:share:ops} 488 } 489 \subfloat[][Throughput noshare]{ 490 \resizebox{0.5\linewidth}{!}{ 491 \input{result.locality.noshare.jax.ops.pstex_t} 492 } 493 \label{fig:locality:jax:noshare:ops} 494 } 495 496 \subfloat[][Scalability share]{ 497 \resizebox{0.5\linewidth}{!}{ 498 \input{result.locality.share.jax.ns.pstex_t} 499 } 500 \label{fig:locality:jax:share:ns} 501 } 502 \subfloat[][Scalability noshare]{ 503 \resizebox{0.5\linewidth}{!}{ 504 \input{result.locality.noshare.jax.ns.pstex_t} 505 } 506 \label{fig:locality:jax:noshare:ns} 507 } 508 \caption[Locality Benchmark on Intel]{Locality Benchmark on Intel\smallskip\newline Throughput and Scalability as a function of \proc count. For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 509 \label{fig:locality:jax} 510 \end{figure} 511 \begin{figure} 512 \subfloat[][Throughput share]{ 513 \resizebox{0.5\linewidth}{!}{ 514 \input{result.locality.share.nasus.ops.pstex_t} 515 } 516 \label{fig:locality:nasus:share:ops} 517 } 518 \subfloat[][Throughput noshare]{ 519 \resizebox{0.5\linewidth}{!}{ 520 \input{result.locality.noshare.nasus.ops.pstex_t} 521 } 522 \label{fig:locality:nasus:noshare:ops} 523 } 524 525 \subfloat[][Scalability share]{ 526 \resizebox{0.5\linewidth}{!}{ 527 \input{result.locality.share.nasus.ns.pstex_t} 528 } 529 \label{fig:locality:nasus:share:ns} 530 } 531 \subfloat[][Scalability noshare]{ 532 \resizebox{0.5\linewidth}{!}{ 533 \input{result.locality.noshare.nasus.ns.pstex_t} 534 } 535 \label{fig:locality:nasus:noshare:ns} 536 } 537 \caption[Locality Benchmark on AMD]{Locality Benchmark on AMD\smallskip\newline Throughput and Scalability as a function of \proc count. For Throughput higher is better, for Scalability lower is better. Each series represent 15 independent runs, the dotted lines are extremums while the solid line is the medium.} 538 \label{fig:locality:nasus} 539 \end{figure} 540 541 Figure~\ref{fig:locality:jax} and \ref{fig:locality:nasus} shows the results on Intel and AMD respectively. 542 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@. 543 544 On Intel, Figure~\ref{fig:locality:jax} shows Go trailing behind the 3 other runtimes. 545 On the left of the figure showing the results for the shared variation, where \CFA and tokio slightly outperform libfibre as expected. 546 And correspondingly on the right, we see the expected performance inversion where libfibre now outperforms \CFA and tokio. 547 Otherwise the results are similar to the churn benchmark, with lower throughtput due to the array processing. 548 Presumably the reason why Go trails behind are the same as in Figure~\ref{fig:churn:nasus}. 549 550 Figure~\ref{fig:locality:nasus} shows the same experiment on AMD. 551 \todo{why is cfa slower?} 552 Again, we see the same story, where tokio and libfibre swap places and Go trails behind. 338 553 339 554 \section{Transfer} 340 555 The last benchmark is more of an experiment than a benchmark. 341 556 It tests the behaviour of the schedulers for a misbehaved workload. 342 In this workload, one of the \ gls{at}is selected at random to be the leader.343 The leader then spins in a tight loop until it has observed that all other \ glspl{at}have acknowledged its leadership.344 The leader \ gls{at} then picks a new \gls{at} to be the ``spinner''and the cycle repeats.345 The benchmark comes in two flavours for the non-leader \ glspl{at}:557 In this workload, one of the \at is selected at random to be the leader. 558 The leader then spins in a tight loop until it has observed that all other \ats have acknowledged its leadership. 559 The leader \at then picks a new \at to be the next leader and the cycle repeats. 560 The benchmark comes in two flavours for the non-leader \ats: 346 561 once they acknowledged the leader, they either block on a semaphore or spin yielding. 347 562 348 563 The experiment is designed to evaluate the short-term load-balancing of a scheduler. 349 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.350 This problem occurs because the spinning \ gls{at} is effectively preventing the \gls{proc} from running any other \glspl{thrd}.351 In the semaphore flavour, the number of runnable \ glspl{at}eventually dwindles down to only the leader.352 This scenario is a simpler case to handle for schedulers since \ glspl{proc}eventually run out of work.353 In the yielding flavour, the number of runnable \ glspl{at}stays constant.564 Indeed, schedulers where the runnable \ats are partitioned on the \procs may need to balance the \ats for this experiment to terminate. 565 This problem occurs because the spinning \at is effectively preventing the \proc from running any other \at. 566 In the semaphore flavour, the number of runnable \ats eventually dwindles down to only the leader. 567 This scenario is a simpler case to handle for schedulers since \procs eventually run out of work. 568 In the yielding flavour, the number of runnable \ats stays constant. 354 569 This scenario is a harder case to handle because corrective measures must be taken even when work is available. 355 570 Note, runtime systems with preemption circumvent this problem by forcing the spinner to yield. 356 571 357 \todo{code, setup, results} 572 In both flavours, the experiment effectively measures how long it takes for all \ats to run once after a given synchronization point. 573 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: 574 $ \frac{CSL + SL}{NP - 1}$, where $CSL$ is the context switch latency, $SL$ is the cost for enqueuing and dequeuing a \at and $NP$ is the number of \procs. 575 However, if the scheduler allows \ats to run many times before other \ats are able to run once, this delay will increase. 576 The semaphore version is an approximation of the strictly FIFO scheduling, where none of the \ats \emph{attempt} to run more than once. 577 The benchmark effectively provides the fairness guarantee in this case. 578 In the yielding version however, the benchmark provides no such guarantee, which means the scheduler has full responsability and any unfairness will be measurable. 579 580 While this is a fairly artificial scenario, it requires only a few simple pieces. 581 The yielding version of this simply creates a scenario where a \at runs uninterrupted in a saturated system, and starvation has an easily measured impact. 582 However, \emph{any} \at that runs uninterrupted for a significant period of time in a saturated system could lead to this kind of starvation. 358 583 359 584 \begin{figure} … … 365 590 return 366 591 } 367 368 592 // Wait for everyone to acknowledge my leadership 369 593 start: = timeNow() … … 374 598 } 375 599 } 376 377 600 // pick next leader 378 601 leader := threads[ prng() % len(threads) ] 379 380 602 // wake every one 381 603 if ! exhaust { … … 385 607 } 386 608 } 387 388 609 Thread.wait() { 389 610 this.idx_seen := lead_idx … … 391 612 else { yield() } 392 613 } 393 394 614 Thread.main() { 395 615 while !done { … … 404 624 405 625 \subsection{Results} 406 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. 407 408 \todo{results discussion} 626 \begin{figure} 627 \begin{centering} 628 \begin{tabular}{r | c c c c | c c c c } 629 Machine & \multicolumn{4}{c |}{Intel} & \multicolumn{4}{c}{AMD} \\ 630 Variation & \multicolumn{2}{c}{Park} & \multicolumn{2}{c |}{Yield} & \multicolumn{2}{c}{Park} & \multicolumn{2}{c}{Yield} \\ 631 \procs & 2 & 192 & 2 & 192 & 2 & 256 & 2 & 256 \\ 632 \hline 633 \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 \\ 634 libfibre & 127 $\mu$s & ~33.5 ms & DNC & DNC & 156 $\mu$s & ~36.7 ms & DNC & DNC \\ 635 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 \\ 636 tokio & 289 $\mu$s & 180.6 ms & DNC & DNC & 157 $\mu$s & 111.0 ms & DNC & DNC 637 \end{tabular} 638 \end{centering} 639 \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. 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. } 640 \label{fig:transfer:res} 641 \end{figure} 642 Figure~\ref{fig:transfer:res} shows the result for the transfer benchmark with 2 \procs and all \procs, where each experiement runs 100 \at per \proc. 643 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. 644 As such, data points that are the on the same order of magnitude as eachother should be basically considered equal. 645 The takeaway of this experiement is the presence of very large differences. 646 The semaphore variation is denoted ``Park'', where the number of \ats dwindles down as the new leader is acknowledged. 647 The yielding variation is denoted ``Yield''. 648 The experiement was only run for the extremums of the number of cores since the scaling per core behaves like previous experiements. 649 This experiments clearly demonstrate that while the other runtimes achieve similar performance in previous benchmarks, here \CFA achieves significantly better fairness. 650 The semaphore variation serves as a control group, where all runtimes are expected to transfer leadership fairly quickly. 651 Since \ats block after acknowledging the leader, this experiment effectively measures how quickly \procs can steal \ats from the \proc running leader. 652 Figure~\ref{fig:transfer:res} shows that while Go and Tokio are slower, all runtime achieve decent latency. 653 However, the yielding variation shows an entirely different picture. 654 Since libfibre and tokio have a traditional work-stealing scheduler, \procs that have \ats on their local queues will never steal from other \procs. 655 The result is that the experiement simply does not complete for these runtime. 656 Without \procs stealing from the \proc running the leader, the experiment will simply never terminate. 657 Go manages to complete the experiement because it adds preemption on top of classic work-stealing. 658 However, since preemption is fairly costly it achieves significantly worst performance. 659 In contrast, \CFA achieves equivalent performance in both variations, demonstrating very good fairness. 660 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. -
doc/theses/thierry_delisle_PhD/thesis/text/existing.tex
r741e22c r71cf630 14 14 15 15 \section{Naming Convention} 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. 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 … … 28 28 \section{Dynamic Scheduling} 29 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. 30 Hence, unlike static scheduling, \ats dependencies are conditional and detected at runtime. 31 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 32 Furthermore, each \ats has the responsibility of adding dependent \ats back into the system once dependencies are fulfilled. … … 51 51 Most common operating systems use some variant on priorities with overlaps and dynamic priority adjustments. 52 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.53 \cite{win:priority}, 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} … … 137 137 The scheduler may also temporarily adjust priorities after certain effects like the completion of I/O requests. 138 138 139 \todo{load balancing} 139 In~\cite{russinovich2009windows}, Chapter 1 section ``Processes, Threads, and Jobs'' discusses the scheduling policy more in depth. 140 Multicore scheduling is based on a combination of priorities, preferred \proc. 141 Each \at is assigned an \newterm{ideal} \proc using a round-robin policy. 142 \Gls{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. 143 This is similar to a variation of work stealing, where the stealing \proc restore the \at to its original \proc after running it, but with priorities added onto the mix. 140 144 141 145 \paragraph{Apple OS X} … … 156 160 \paragraph{Go}\label{GoSafePoint} 157 161 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}. 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.162 Preemption is present, but only at safe-points,~\cite{go:safepoints} which are inserted detection code at various frequent access boundaries. 159 163 160 164 The algorithm is as follows : … … 199 203 200 204 \paragraph{Grand Central Dispatch} 201 An Apple\cit {Official GCD source} API that offers task parallelism~\cite{wiki:taskparallel}.205 An Apple\cite{apple:gcd} API that offers task parallelism~\cite{wiki:taskparallel}. 202 206 Its distinctive aspect is multiple ``Dispatch Queues'', some of which are created by programmers. 203 207 Each queue has its own local ordering guarantees, \eg \ats on queue $A$ are executed in \emph{FIFO} order. 204 208 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. 209 While the documentation only gives limited insight into the scheduling and load balancing approach, \cite{apple:gcd2} suggests an approach fairly classic; 210 Where each \proc has a queue of \newterm{blocks} to run, effectively \ats, and they drain their respective queues in \glsxtrshort{fifo}. 211 They seem to add the concept of dependent queues with clear ordering, where a executing a block ends-up scheduling more blocks. 212 In terms of semantics, these Dispatch Queues seem to be very similar to Intel\textregistered ~TBB @execute()@ and predecessor semantics. 210 213 211 214 \paragraph{LibFibre} -
doc/theses/thierry_delisle_PhD/thesis/text/front.tex
r741e22c r71cf630 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 laration Page as provided by the GSO108 % The following is a sample Declaration Page as provided by the GSO 109 109 % December 13th, 2006. It is designed for an electronic thesis. 110 110 \noindent … … 124 124 125 125 User-Level threading (M:N) is gaining popularity over kernel-level threading (1:1) in many programming languages. 126 The user -levelapproach is often a better mechanism to express complex concurrent applications by efficiently running 10,000+ threads on multi-core systems.127 Indeed, over-partitioning into small work-units significantly eases load balancing while providing user threads for each unit of work offers greater freedom to the programmer.126 The user threading approach is often a better mechanism to express complex concurrent applications by efficiently running 10,000+ threads on multi-core 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 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 of the question of how many kernel threads are needed and when should the need be re-evaliated. 130 Furthermore, the scheduler must prevent kernel threads from blocking, otherwise user-thread parallelism drops, and put idle kernel-threads to sleep to avoid wasted resources. 129 which begs of 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 kernel-threads be put to sleep to avoid wasting CPU resources. 131 132 Finally, the scheduling system must provide fairness to prevent a user thread from monopolizing a kernel thread; 132 otherwise other user threads can experience short/long term starvation or kernel threads can deadlock waiting for events to occur .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. 133 134 134 135 This thesis analyses multiple scheduler systems, where each system attempts to fulfill the necessary requirements for user-level threading. 135 The predominant technique for manage high levels of concurrency is sharding the ready-queue with one queue per kernel-threads and using some form of work stealing/sharing to dynamically rebalance workload shifts. 136 Fairness can be handled through preemption or ad-hoc solutions, which leads to coarse-grained fairness and pathological cases. 136 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. 137 137 Preventing kernel blocking is accomplish 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 139 After selecting specific approaches to these scheduling issues, a complete implementation was created and tested in the \CFA (C-for-all) runtime system. 138 Fairness is handled through preemption and/or ad-hoc solutions, which leads to coarse-grained fairness with some pathological cases. 139 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. 140 141 \CFA is a modern extension of C using user-level threading as its fundamental threading model. 141 142 As one of its primary goals, \CFA aims to offer increased safety and productivity without sacrificing performance. 142 143 The new scheduler achieves this goal by demonstrating equivalent performance to work-stealing schedulers while offering better fairness. 143 This is achieved through several optimization that successfully eliminate the cost of the additional fairness, some of these optimization relying on interesting hardware optimizations present on most modern cpus. 144 This work also includes support for user-level \io, allowing programmers to have many more user-threads blocking on \io operations than there are \glspl{kthrd}. 145 The implementation is based on @io_uring@, a recent addition to the Linux kernel, and achieves the same performance and fairness. 146 To complete the picture, the idle sleep mechanism that goes along is presented. 147 148 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 of the application. 149 149 150 150 \cleardoublepage … … 155 155 \begin{center}\textbf{Acknowledgements}\end{center} 156 156 157 \todo{Acknowledgements} 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. 158 164 \cleardoublepage 159 165 -
doc/theses/thierry_delisle_PhD/thesis/text/intro.tex
r741e22c r71cf630 1 1 \chapter{Introduction}\label{intro} 2 \section{\CFA programming language}3 2 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.}. 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 multi-core 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 of 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. 10 12 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. 13 This thesis analyses multiple scheduler systems, where each system attempts to fulfill the necessary 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 accomplish 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. 17 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. 21 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 affect 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 13 30 14 31 \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 ontoprocessors in an efficient manner, called \newterm{scheduling}.17 These systems are normally \newterm{open}, meaning new work arrives from an external source or isspawned 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.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 in an efficient manner, 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 A general-purpose dynamic-scheduler for an open system cannot anticipate work requests, so its performance is rarely optimal. 38 Even with complete knowledge of arrive 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. 23 40 24 41 Scheduling occurs at discreet points when there are transitions in a system. … … 27 44 \input{executionStates.pstex_t} 28 45 \end{center} 29 These \newterm{state transition}s are initiated in response to events (\Index{interrupt}s):46 These \newterm{state transition}s are initiated in response to events, \eg blocking, interrupts, errors: 30 47 \begin{itemize} 31 48 \item 32 49 entering the system (new $\rightarrow$ ready) 50 \item 51 scheduler assigns a thread to a computing resource, \eg CPU (ready $\rightarrow$ running) 33 52 \item 34 53 timer alarm for preemption (running $\rightarrow$ ready) … … 36 55 long term delay versus spinning (running $\rightarrow$ blocked) 37 56 \item 38 blocking ends, \ienetwork or I/O completion (blocked $\rightarrow$ ready)57 completion of delay, \eg network or I/O completion (blocked $\rightarrow$ ready) 39 58 \item 40 normal completion or error, \ie segment fault (running $\rightarrow$ halted) 41 \item 42 scheduler assigns a thread to a resource (ready $\rightarrow$ running) 59 normal completion or error, \eg segment fault (running $\rightarrow$ halted) 43 60 \end{itemize} 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 .61 Key to scheduling is that a thread cannot bypass the ``ready'' state during a transition so the scheduler maintains complete control of the system, \ie no self-scheduling among threads. 45 62 46 63 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}. 47 64 Ready queues organize threads for scheduling, which indirectly organizes the work to be performed. 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). 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). 50 66 \begin{center} 51 67 \begin{tabular}{l|l} … … 55 71 \end{tabular} 56 72 \end{center} 57 Beyond these two schedulers are a host of options, \ ie adding an optional global, shared queue to MQMS.73 Beyond these two schedulers are a host of options, \eg adding an global shared queue to MQMS or adding multiple private queues with distinc characteristics. 58 74 59 The three major optimization criteria for a scheduler are:75 Once there are multiple resources and ready queues, a scheduler is faced with three major optimization criteria: 60 76 \begin{enumerate}[leftmargin=*] 61 77 \item … … 70 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. 71 87 When a system has a large number of independently executing threads, affinity becomes difficult because of \newterm{thread churn}. 72 That is, threads must be scheduled on multipleprocessors to obtain high processors utilization because the number of threads $\ggg$ processors.88 That is, threads must be scheduled on different processors to obtain high processors utilization because the number of threads $\ggg$ processors. 73 89 74 90 \item 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. 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 increases significantly with the number of processors access\-ing a shared object. 80 94 \end{enumerate} 81 95 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. 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. 86 101 87 Significant research effort has also looked at load sharing/stealing among queues, when a ready queue is too long or short, respectively.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. 88 103 These approaches attempt to perform better load-balancing at the cost of affinity and contention. 89 Load sharing/stealing schedulers attempt to push/pull work units to/from other ready queues 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. 90 106 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. 107 \section{\CFA programming language} 108 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. 94 118 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). 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 of the application. 95 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. 96 129 97 130 \section{Contributions}\label{s:Contributions} 98 This work provides the following contributions in the area of user-level scheduling in an advanced programming-language runtime-system:131 This work provides the following scheduling contributions for advanced \gls{uthrding} runtime-systems: 99 132 \begin{enumerate}[leftmargin=*] 100 133 \item 101 134 A scalable scheduling algorithm that offers progress guarantees. 102 135 \item 136 Support for user-level \glsxtrshort{io} capabilities based on Linux's @io_uring@. 137 \item 103 138 An algorithm for load-balancing and idle sleep of processors, including NUMA awareness. 104 139 \item 105 Support for user-level \glsxtrshort{io} capabilities based on Linux's @io_uring@. 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. 106 145 \end{enumerate} -
doc/theses/thierry_delisle_PhD/thesis/text/io.tex
r741e22c r71cf630 1 \chapter{User Level \io} 1 \chapter{User Level \io}\label{userio} 2 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 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. … … 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}} 8 \subsection{\lstinline{O_NONBLOCK}}\label{ononblock} 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}. … … 141 141 In the worst case, where all \glspl{thrd} are consistently blocking on \io, it devolves into 1-to-1 threading. 142 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.143 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. 144 144 This advantage is especially relevant for languages like Go, which offer a homogeneous \glsxtrshort{api} across all platforms. 145 145 As opposed to C, which has a very limited standard api for \io, \eg, the C standard library has no networking. … … 148 148 These options effectively fall into two broad camps: waiting for \io to be ready versus waiting for \io to complete. 149 149 All operating systems that support asynchronous \io must offer an interface along one of these lines, but the details vary drastically. 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@.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)~\cite{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@. 151 151 152 152 For this project, I selected @io_uring@, in large parts because of its generality. -
doc/theses/thierry_delisle_PhD/thesis/text/practice.tex
r741e22c r71cf630 60 60 To achieve this goal requires each reader to have its own memory to mark as locked and unlocked. 61 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.62 The write acquires the global lock, guaranteeing mutual exclusion among writers, and then acquires each of the local reader locks. 63 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 65 64 Figure~\ref{f:SpecializedReadersWriterLock} shows the outline for this specialized readers-writer lock. 66 65 The lock in nonblocking, so both readers and writers spin while the lock is held. 67 \todo{finish explanation} 66 This very wide sharding strategy means that readers have very good locality, since they only ever need to access two memory location. 68 67 69 68 \begin{figure} … … 113 112 However, this third challenge is outside the scope of this thesis because developing a general heuristic is complex enough to justify its own work. 114 113 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 115 An interesting sub-part of this heuristic is what to do with bursts of \ats that become ready. 116 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. … … 137 137 138 138 \subsection{Event FDs} 139 Another interesting approach is to use an event file descriptor\cit {eventfd}.139 Another interesting approach is to use an event file descriptor\cite{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 141 Indeed, all reads and writes must use a word-sized values, \ie 64 or 32 bits. … … 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 {benaphore} in front of the event @fd@.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\cite{schillings1996engineering} in front of the event @fd@. 220 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 221 A \proc begins its idle sleep by adding itself to the idle list before searching for an \at. -
doc/theses/thierry_delisle_PhD/thesis/text/runtime.tex
r741e22c r71cf630 1 \chapter{\CFA Runtime} 1 \chapter{\CFA Runtime}\label{cfaruntime} 2 2 This chapter presents an overview of the capabilities of the \CFA runtime prior to this thesis work. 3 3 … … 62 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 {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.64 Languages like Go and Java, which have strict interoperability with C\cite{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. 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: -
doc/theses/thierry_delisle_PhD/thesis/thesis.tex
r741e22c r71cf630 247 247 \input{text/eval_macro.tex} 248 248 \part{Conclusion \& Annexes} 249 \input{text/conclusion.tex} 250 249 251 250 252 %---------------------------------------------------------------------- … … 280 282 % Appendices 281 283 282 % The \appendix statement indicates the beginning of the appendices.283 \appendix284 % Add an un-numbered title page before the appendices and a line in the Table of Contents285 \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 Contents292 % ======================================================================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 figure303 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 off309 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 save313 print -dpdf plot.pdf % Save as PDF314 \end{verbatim}284 % % The \appendix statement indicates the beginning of the appendices. 285 % \appendix 286 % % Add an un-numbered title page before the appendices and a line in the Table of Contents 287 % \chapter*{APPENDICES} 288 % \addcontentsline{toc}{chapter}{APPENDICES} 289 % % Appendices are just more chapters, with different labeling (letters instead of numbers). 290 % %====================================================================== 291 % \chapter[PDF Plots From Matlab]{Matlab Code for Making a PDF Plot} 292 % \label{AppendixA} 293 % % Tip 4: Example of how to get a shorter chapter title for the Table of Contents 294 % %====================================================================== 295 % \section{Using the GUI} 296 % 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. 297 298 % To set the figure size and to save as PDF or other file formats, click the Export Setup button in the figure Property Editor. 299 300 % \section{From the Command Line} 301 % All figure properties can also be manipulated from the command line. Here's an example: 302 % \begin{verbatim} 303 % x=[0:0.1:pi]; 304 % hold on % Plot multiple traces on one figure 305 % plot(x,sin(x)) 306 % plot(x,cos(x),'--r') 307 % plot(x,tan(x),'.-g') 308 % title('Some Trig Functions Over 0 to \pi') % Note LaTeX markup! 309 % legend('{\it sin}(x)','{\it cos}(x)','{\it tan}(x)') 310 % hold off 311 % set(gca,'Ylim',[-3 3]) % Adjust Y limits of "current axes" 312 % set(gcf,'Units','inches') % Set figure size units of "current figure" 313 % set(gcf,'Position',[0,0,6,4]) % Set figure width (6 in.) and height (4 in.) 314 % cd n:\thesis\plots % Select where to save 315 % print -dpdf plot.pdf % Save as PDF 316 % \end{verbatim} 315 317 316 318 % GLOSSARIES (Lists of definitions, abbreviations, symbols, etc. provided by the glossaries-extra package) -
libcfa/src/concurrency/io.cfa
r741e22c r71cf630 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 ); … … 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 … … 434 434 __STATS__( true, if(!lazy) io.submit.eagr += 1; ) 435 435 processor * proc = __cfaabi_tls.this_processor; 436 $io_context* ctx = proc->io.ctx;436 io_context$ * ctx = proc->io.ctx; 437 437 /* paranoid */ verify( __cfaabi_tls.this_processor ); 438 438 /* paranoid */ verify( ctx ); … … 465 465 // by io_uring 466 466 // This cannot be done by multiple threads 467 static __u32 __release_sqes( struct $io_context& ctx ) {467 static __u32 __release_sqes( struct io_context$ & ctx ) { 468 468 const __u32 mask = *ctx.sq.mask; 469 469 … … 538 538 } 539 539 540 static $io_context * __ioarbiter_allocate( $io_arbiter& this, __u32 idxs[], __u32 want ) {540 static io_context$ * __ioarbiter_allocate( io_arbiter$ & this, __u32 idxs[], __u32 want ) { 541 541 // __cfadbg_print_safe(io, "Kernel I/O : arbiter allocating\n"); 542 542 … … 557 557 } 558 558 559 static void __ioarbiter_notify( $io_arbiter & this, $io_context* ctx ) {559 static void __ioarbiter_notify( io_arbiter$ & this, io_context$ * ctx ) { 560 560 /* paranoid */ verify( !empty(this.pending.queue) ); 561 561 … … 587 587 } 588 588 589 static void __ioarbiter_notify( $io_context& ctx ) {589 static void __ioarbiter_notify( io_context$ & ctx ) { 590 590 if(!empty( ctx.arbiter->pending )) { 591 591 __ioarbiter_notify( *ctx.arbiter, &ctx ); … … 594 594 595 595 // Simply append to the pending 596 static void __ioarbiter_submit( $io_context* ctx, __u32 idxs[], __u32 have, bool lazy ) {596 static void __ioarbiter_submit( io_context$ * ctx, __u32 idxs[], __u32 have, bool lazy ) { 597 597 __cfadbg_print_safe(io, "Kernel I/O : submitting %u from the arbiter to context %u\n", have, ctx->fd); 598 598 … … 618 618 } 619 619 620 static void __ioarbiter_flush( $io_context& ctx ) {620 static void __ioarbiter_flush( io_context$ & ctx ) { 621 621 if(!empty( ctx.ext_sq )) { 622 622 __STATS__( false, io.flush.external += 1; ) … … 642 642 #if defined(CFA_WITH_IO_URING_IDLE) 643 643 bool __kernel_read(processor * proc, io_future_t & future, iovec & iov, int fd) { 644 $io_context* ctx = proc->io.ctx;644 io_context$ * ctx = proc->io.ctx; 645 645 /* paranoid */ verify( ! __preemption_enabled() ); 646 646 /* paranoid */ verify( proc == __cfaabi_tls.this_processor ); -
libcfa/src/concurrency/io/call.cfa.in
r741e22c r71cf630 75 75 ; 76 76 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)));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))); 79 79 #endif 80 80 … … 200 200 __u32 idx; 201 201 struct io_uring_sqe * sqe; 202 struct $io_context* ctx = cfa_io_allocate( &sqe, &idx, 1 );202 struct io_context$ * ctx = cfa_io_allocate( &sqe, &idx, 1 ); 203 203 204 204 sqe->opcode = IORING_OP_{op}; -
libcfa/src/concurrency/io/setup.cfa
r741e22c r71cf630 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; … … 270 270 } 271 271 272 static void __io_uring_teardown( $io_context& this ) {272 static void __io_uring_teardown( io_context$ & this ) { 273 273 // Shutdown the io rings 274 274 struct __sub_ring_t & sq = this.sq; … … 313 313 // I/O Context Sleep 314 314 //============================================================================================= 315 // static inline void __epoll_ctl( $io_context& ctx, int op, const char * error) {315 // static inline void __epoll_ctl(io_context$ & ctx, int op, const char * error) { 316 316 // struct epoll_event ev; 317 317 // ev.events = EPOLLIN | EPOLLONESHOT; … … 323 323 // } 324 324 325 // static void __epoll_register( $io_context& ctx) {325 // static void __epoll_register(io_context$ & ctx) { 326 326 // __epoll_ctl(ctx, EPOLL_CTL_ADD, "ADD"); 327 327 // } 328 328 329 // static void __epoll_unregister( $io_context& ctx) {329 // static void __epoll_unregister(io_context$ & ctx) { 330 330 // // Read the current epoch so we know when to stop 331 331 // size_t curr = __atomic_load_n(&iopoll.epoch, __ATOMIC_SEQ_CST); … … 346 346 // } 347 347 348 // void __ioctx_prepare_block( $io_context& ctx) {348 // void __ioctx_prepare_block(io_context$ & ctx) { 349 349 // __cfadbg_print_safe(io_core, "Kernel I/O - epoll : Re-arming io poller %d (%p)\n", ctx.fd, &ctx); 350 350 // __epoll_ctl(ctx, EPOLL_CTL_MOD, "REARM"); … … 355 355 // I/O Context Misc Setup 356 356 //============================================================================================= 357 void ?{}( $io_arbiter& this ) {357 void ?{}( io_arbiter$ & this ) { 358 358 this.pending.empty = true; 359 359 } 360 360 361 void ^?{}( $io_arbiter& mutex this ) {}362 363 $io_arbiter* create(void) {361 void ^?{}( io_arbiter$ & mutex this ) {} 362 363 io_arbiter$ * create(void) { 364 364 return new(); 365 365 } 366 void destroy( $io_arbiter* arbiter) {366 void destroy(io_arbiter$ * arbiter) { 367 367 delete(arbiter); 368 368 } -
libcfa/src/concurrency/io/types.hfa
r741e22c r71cf630 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(64))) 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 monitor __attribute__((aligned(64))) 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
r741e22c r71cf630 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
r741e22c r71cf630 305 305 RUNNING: while(true) { 306 306 thrd_dst->preempted = __NO_PREEMPTION; 307 thrd_dst->state = Active;308 307 309 308 // Update global state 310 309 kernelTLS().this_thread = thrd_dst; 310 311 // Update the state after setting this_thread 312 // so that the debugger can find all active threads 313 // in tls storage 314 thrd_dst->state = Active; 311 315 312 316 /* paranoid */ verify( ! __preemption_enabled() ); … … 335 339 /* paranoid */ verify( ! __preemption_enabled() ); 336 340 337 // Reset global state338 kernelTLS().this_thread = 0p;339 340 341 // We just finished running a thread, there are a few things that could have happened. 341 342 // 1 - Regular case : the thread has blocked and now one has scheduled it yet. … … 346 347 347 348 if(unlikely(thrd_dst->preempted != __NO_PREEMPTION)) { 349 // Reset the this_thread now that we know 350 // the state isn't active anymore 351 kernelTLS().this_thread = 0p; 352 348 353 // The thread was preempted, reschedule it and reset the flag 349 354 schedule_thread$( thrd_dst, UNPARK_LOCAL ); … … 352 357 353 358 if(unlikely(thrd_dst->state == Halting)) { 359 // Reset the this_thread now that we know 360 // the state isn't active anymore 361 kernelTLS().this_thread = 0p; 362 354 363 // The thread has halted, it should never be scheduled/run again 355 364 // finish the thread … … 360 369 /* paranoid */ verify( thrd_dst->state == Active ); 361 370 thrd_dst->state = Blocked; 371 372 // Reset the this_thread now that we know 373 // the state isn't active anymore 374 kernelTLS().this_thread = 0p; 362 375 363 376 // set state of processor coroutine to active and the thread to inactive -
libcfa/src/concurrency/kernel.hfa
r741e22c r71cf630 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 { … … 113 113 114 114 struct { 115 $io_context* ctx;115 io_context$ * ctx; 116 116 unsigned target; 117 117 volatile bool pending; … … 230 230 struct { 231 231 // Array of $io_ 232 $io_context** data;232 io_context$ ** data; 233 233 234 234 // Time since subqueues were processed … … 267 267 268 268 struct { 269 $io_arbiter* arbiter;269 io_arbiter$ * arbiter; 270 270 io_context_params params; 271 271 } io; -
libcfa/src/concurrency/kernel/cluster.cfa
r741e22c r71cf630 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) { -
libcfa/src/concurrency/kernel/private.hfa
r741e22c r71cf630 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 //======================================================================= -
src/Common/Eval.cc
r741e22c r71cf630 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 1 08:41:03202213 // Update Count : 11 712 // Last Modified On : Sat Aug 6 12:11:59 2022 13 // Update Count : 119 14 14 // 15 15 … … 217 217 value = arg1.first * arg2.first; 218 218 } else if (fname == "?/?") { 219 value = arg1.first / arg2.first;219 if ( arg2.first ) value = arg1.first / arg2.first; 220 220 } else if (fname == "?%?") { 221 value = arg1.first % arg2.first;221 if ( arg2.first ) value = arg1.first % arg2.first; 222 222 } else if (fname == "?<<?") { 223 223 value = arg1.first << arg2.first; -
src/Common/ScopedMap.h
r741e22c r71cf630 10 10 // Created On : Wed Dec 2 11:37:00 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 21 15:22:40 201813 // Update Count : 312 // Last Modified On : Tue Feb 15 08:41:28 2022 13 // Update Count : 5 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, 61 value_type > { 60 class iterator : public std::iterator< std::bidirectional_iterator_tag, value_type > { 62 61 friend class ScopedMap; 63 62 friend class const_iterator; … … 72 71 73 72 /// Increments on invalid 74 iterator & next_valid() {73 iterator & next_valid() { 75 74 if ( ! is_valid() ) { ++(*this); } 76 75 return *this; … … 78 77 79 78 /// Decrements on invalid 80 iterator & prev_valid() {79 iterator & prev_valid() { 81 80 if ( ! is_valid() ) { --(*this); } 82 81 return *this; 83 82 } 84 83 85 iterator(scope_list & _scopes, const wrapped_iterator &_it, size_type inLevel)84 iterator(scope_list & _scopes, const wrapped_iterator & _it, size_type inLevel) 86 85 : scopes(&_scopes), it(_it), level(inLevel) {} 87 86 public: 88 iterator(const iterator & that) : scopes(that.scopes), it(that.it), level(that.level) {}89 iterator & operator= (const iterator &that) {87 iterator(const iterator & that) : scopes(that.scopes), it(that.it), level(that.level) {} 88 iterator & operator= (const iterator & that) { 90 89 scopes = that.scopes; level = that.level; it = that.it; 91 90 return *this; … … 95 94 pointer operator-> () const { return it.operator->(); } 96 95 97 iterator & operator++ () {96 iterator & operator++ () { 98 97 if ( it == (*scopes)[level].map.end() ) { 99 98 if ( level == 0 ) return *this; … … 107 106 iterator operator++ (int) { iterator tmp = *this; ++(*this); return tmp; } 108 107 109 iterator & operator-- () {108 iterator & operator-- () { 110 109 // may fail if this is the begin iterator; allowed by STL spec 111 110 if ( it == (*scopes)[level].map.begin() ) { … … 118 117 iterator operator-- (int) { iterator tmp = *this; --(*this); return tmp; } 119 118 120 bool operator== (const iterator & that) const {119 bool operator== (const iterator & that) const { 121 120 return scopes == that.scopes && level == that.level && it == that.it; 122 121 } 123 bool operator!= (const iterator & that) const { return !( *this == that ); }122 bool operator!= (const iterator & that) const { return !( *this == that ); } 124 123 125 124 size_type get_level() const { return level; } 126 125 127 Note & get_note() { return (*scopes)[level].note; }128 const Note & get_note() const { return (*scopes)[level].note; }126 Note & get_note() { return (*scopes)[level].note; } 127 const Note & get_note() const { return (*scopes)[level].note; } 129 128 130 129 private: … … 148 147 149 148 /// Increments on invalid 150 const_iterator & next_valid() {149 const_iterator & next_valid() { 151 150 if ( ! is_valid() ) { ++(*this); } 152 151 return *this; … … 154 153 155 154 /// Decrements on invalid 156 const_iterator & prev_valid() {155 const_iterator & prev_valid() { 157 156 if ( ! is_valid() ) { --(*this); } 158 157 return *this; 159 158 } 160 159 161 const_iterator(scope_list const & _scopes, const wrapped_const_iterator &_it, size_type inLevel)160 const_iterator(scope_list const & _scopes, const wrapped_const_iterator & _it, size_type inLevel) 162 161 : scopes(&_scopes), it(_it), level(inLevel) {} 163 162 public: 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) {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) { 167 166 scopes = that.scopes; level = that.level; it = that.it; 168 167 return *this; 169 168 } 170 const_iterator & operator= (const const_iterator &that) {169 const_iterator & operator= (const const_iterator & that) { 171 170 scopes = that.scopes; level = that.level; it = that.it; 172 171 return *this; … … 176 175 const_pointer operator-> () { return it.operator->(); } 177 176 178 const_iterator & operator++ () {177 const_iterator & operator++ () { 179 178 if ( it == (*scopes)[level].map.end() ) { 180 179 if ( level == 0 ) return *this; … … 188 187 const_iterator operator++ (int) { const_iterator tmp = *this; ++(*this); return tmp; } 189 188 190 const_iterator & operator-- () {189 const_iterator & operator-- () { 191 190 // may fail if this is the begin iterator; allowed by STL spec 192 191 if ( it == (*scopes)[level].map.begin() ) { … … 199 198 const_iterator operator-- (int) { const_iterator tmp = *this; --(*this); return tmp; } 200 199 201 bool operator== (const const_iterator & that) const {200 bool operator== (const const_iterator & that) const { 202 201 return scopes == that.scopes && level == that.level && it == that.it; 203 202 } 204 bool operator!= (const const_iterator & that) const { return !( *this == that ); }203 bool operator!= (const const_iterator & that) const { return !( *this == that ); } 205 204 206 205 size_type get_level() const { return level; } 207 206 208 const Note & get_note() const { return (*scopes)[level].note; }207 const Note & get_note() const { return (*scopes)[level].note; } 209 208 210 209 private: … … 221 220 // Starts a new scope with the given note 222 221 template<typename N> 223 void beginScope( N && n ) {222 void beginScope( N && n ) { 224 223 scopes.emplace_back( std::forward<N>(n) ); 225 224 } … … 236 235 /// Constructs with a given note on the outermost scope 237 236 template<typename N> 238 ScopedMap( N && n ) : scopes() { beginScope(std::forward<N>(n)); }237 ScopedMap( N && n ) : scopes() { beginScope(std::forward<N>(n)); } 239 238 240 239 iterator begin() { return iterator(scopes, scopes.back().map.begin(), currentScope()).next_valid(); } … … 249 248 250 249 /// Gets the note at the given scope 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; }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; } 255 254 256 255 /// Finds the given key in the outermost scope it occurs; returns end() for none such 257 iterator find( const Key & key ) {256 iterator find( const Key & key ) { 258 257 for ( size_type i = scopes.size() - 1; ; --i ) { 259 258 typename MapType::iterator val = scopes[i].map.find( key ); … … 263 262 return end(); 264 263 } 265 const_iterator find( const Key & key ) const {264 const_iterator find( const Key & key ) const { 266 265 return const_iterator( const_cast< ScopedMap< Key, Value, Note >* >(this)->find( key ) ); 267 266 } 268 267 269 268 /// Finds the given key in the provided scope; returns end() for none such 270 iterator findAt( size_type scope, const Key & key ) {269 iterator findAt( size_type scope, const Key & key ) { 271 270 typename MapType::iterator val = scopes[scope].map.find( key ); 272 271 if ( val != scopes[scope].map.end() ) return iterator( scopes, val, scope ); 273 272 return end(); 274 273 } 275 const_iterator findAt( size_type scope, const Key & key ) const {274 const_iterator findAt( size_type scope, const Key & key ) const { 276 275 return const_iterator( const_cast< ScopedMap< Key, Value, Note >* >(this)->findAt( scope, key ) ); 277 276 } 278 277 279 278 /// Finds the given key in the outermost scope inside the given scope where it occurs 280 iterator findNext( const_iterator & it, const Key &key ) {279 iterator findNext( const_iterator & it, const Key & key ) { 281 280 if ( it.level == 0 ) return end(); 282 281 for ( size_type i = it.level - 1; ; --i ) { … … 287 286 return end(); 288 287 } 289 const_iterator findNext( const_iterator & it, const Key &key ) const {288 const_iterator findNext( const_iterator & it, const Key & key ) const { 290 289 return const_iterator( const_cast< ScopedMap< Key, Value, Note >* >(this)->findNext( it, key ) ); 291 290 } … … 293 292 /// Inserts the given key-value pair into the outermost scope 294 293 template< typename value_type_t > 295 std::pair< iterator, bool > insert( value_type_t && value ) {294 std::pair< iterator, bool > insert( value_type_t && value ) { 296 295 std::pair< typename MapType::iterator, bool > res = scopes.back().map.insert( std::forward<value_type_t>( value ) ); 297 296 return std::make_pair( iterator(scopes, std::move( res.first ), scopes.size()-1), std::move( res.second ) ); … … 299 298 300 299 template< typename value_type_t > 301 std::pair< iterator, bool > insert( iterator at, value_type_t && value ) {302 MapType & scope = (*at.scopes)[ at.level ].map;300 std::pair< iterator, bool > insert( iterator at, value_type_t && value ) { 301 MapType & scope = (*at.scopes)[ at.level ].map; 303 302 std::pair< typename MapType::iterator, bool > res = scope.insert( std::forward<value_type_t>( value ) ); 304 303 return std::make_pair( iterator(scopes, std::move( res.first ), at.level), std::move( res.second ) ); … … 306 305 307 306 template< typename value_t > 308 std::pair< iterator, bool > insert( const Key & key, value_t&& value ) { return insert( std::make_pair( key, std::forward<value_t>( value ) ) ); }307 std::pair< iterator, bool > insert( const Key & key, value_t && value ) { return insert( std::make_pair( key, std::forward<value_t>( value ) ) ); } 309 308 310 309 template< typename value_type_t > 311 std::pair< iterator, bool > insertAt( size_type scope, value_type_t && value ) {310 std::pair< iterator, bool > insertAt( size_type scope, value_type_t && value ) { 312 311 std::pair< typename MapType::iterator, bool > res = scopes.at(scope).map.insert( std::forward<value_type_t>( value ) ); 313 312 return std::make_pair( iterator(scopes, std::move( res.first ), scope), std::move( res.second ) ); … … 315 314 316 315 template< typename value_t > 317 std::pair< iterator, bool > insertAt( size_type scope, const Key & key, value_t&& value ) {316 std::pair< iterator, bool > insertAt( size_type scope, const Key & key, value_t && value ) { 318 317 return insertAt( scope, std::make_pair( key, std::forward<value_t>( value ) ) ); 319 318 } 320 319 321 Value & operator[] ( const Key &key ) {320 Value & operator[] ( const Key & key ) { 322 321 iterator slot = find( key ); 323 322 if ( slot != end() ) return slot->second; … … 326 325 327 326 iterator erase( iterator pos ) { 328 MapType & scope = (*pos.scopes)[ pos.level ].map;329 const typename iterator::wrapped_iterator & new_it = scope.erase( pos.it );327 MapType & scope = (*pos.scopes)[ pos.level ].map; 328 const typename iterator::wrapped_iterator & new_it = scope.erase( pos.it ); 330 329 iterator it( *pos.scopes, new_it, pos.level ); 331 330 return it.next_valid(); 332 331 } 333 332 334 size_type count( const Key & key ) const {333 size_type count( const Key & key ) const { 335 334 size_type c = 0; 336 335 auto it = find( key ); … … 344 343 return c; 345 344 } 346 347 345 }; 348 346 -
src/Parser/DeclarationNode.cc
r741e22c r71cf630 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 14 17:36:57 202113 // Update Count : 11 5412 // Last Modified On : Mon Aug 8 17:07:00 2022 13 // Update Count : 1185 14 14 // 15 15 … … 128 128 if ( name ) { 129 129 os << *name << ": "; 130 } else {131 os << "unnamed: ";132 130 } // if 133 131 … … 154 152 initializer->printOneLine( os ); 155 153 os << " maybe constructed? " << initializer->get_maybeConstructed(); 156 157 } // if 154 } // if 155 156 for ( Attribute * attr: reverseIterate( attributes ) ) { 157 os << string( indent + 2, ' ' ) << "attr " << attr->name.c_str(); 158 } // for 158 159 159 160 os << endl; … … 243 244 newnode->type = new TypeData( TypeData::Aggregate ); 244 245 newnode->type->aggregate.kind = kind; 245 newnode->type->aggregate.name = name == nullptr ? new string( DeclarationNode::anonymous.newName() ) : name;246 newnode->type->aggregate.name = name == nullptr ? new string( DeclarationNode::anonymous.newName() ) : name; 246 247 newnode->type->aggregate.actuals = actuals; 247 248 newnode->type->aggregate.fields = fields; … … 518 519 storageClasses |= q->storageClasses; 519 520 520 for ( Attribute * attr: reverseIterate( q->attributes ) ) {521 for ( Attribute * attr: reverseIterate( q->attributes ) ) { 521 522 attributes.push_front( attr->clone() ); 522 523 } // for … … 683 684 } // if 684 685 delete o; 686 685 687 return this; 686 688 } -
src/Parser/TypeData.cc
r741e22c r71cf630 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 15:12:51 2015 11 // Last Modified By : Henry Xue12 // Last Modified On : Tue Jul 20 04:10:50 202113 // Update Count : 67 311 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 10 22:36:52 2022 13 // Update Count : 677 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 ) { // 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 285 if ( complextype != DeclarationNode::NoComplexType ) os << DeclarationNode::complexTypeNames[ complextype ] << " "; 286 if ( basictype != DeclarationNode::NoBasicType ) os << DeclarationNode::basicTypeNames[ basictype ] << " "; 293 287 break; 294 288 case Pointer: … … 437 431 __attribute__((fallthrough)); 438 432 #endif 433 // FALL THROUGH 439 434 case Typeof: 440 435 os << "type-of expression "; … … 442 437 typeexpr->print( os, indent + 2 ); 443 438 } // if 439 break; 440 case Vtable: 441 os << "vtable"; 444 442 break; 445 443 case Builtin: -
src/Parser/TypeData.h
r741e22c r71cf630 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 14 17:44:05 202113 // Update Count : 20 212 // Last Modified On : Tue May 10 22:18:49 2022 13 // Update Count : 203 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, Typeof, Basetypeof, Vtable, Builtin, GlobalScope, Qualified, Unknown };29 SymbolicInst, Tuple, Basetypeof, Typeof, Vtable, Builtin, GlobalScope, Qualified, Unknown }; 30 30 31 31 struct Aggregate_t { -
src/Parser/TypedefTable.cc
r741e22c r71cf630 10 10 // Created On : Sat May 16 15:20:13 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 19 08:30:14 202113 // Update Count : 2 6212 // Last Modified On : Tue Feb 15 08:27:24 2022 13 // Update Count : 275 14 14 // 15 15 … … 18 18 #include <cassert> // for assert 19 19 #include <iostream> 20 using namespace std; 20 21 21 22 #if 0 … … 28 29 29 30 debugPrint( 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 } // switch40 } // kindName41 ) 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 } // switch 41 } // kindName 42 ); 42 43 43 44 TypedefTable::~TypedefTable() { … … 80 81 81 82 void TypedefTable::addToScope( const string & identifier, int kind, const char * locn __attribute__((unused)) ) { 82 autoscope = kindTable.currentScope();83 KindTable::size_type scope = kindTable.currentScope(); 83 84 debugPrint( cerr << "Adding current at " << locn << " " << identifier << " as " << kindName( kind ) << " scope " << scope << endl ); 84 85 kindTable.insertAt( scope, identifier, kind ); … … 86 87 87 88 void TypedefTable::addToEnclosingScope( const string & identifier, int kind, const char * locn __attribute__((unused)) ) { 88 autoscope = kindTable.currentScope() - 1 - kindTable.getNote( kindTable.currentScope() - 1 ).level;89 // autoscope = level - kindTable.getNote( kindTable.currentScope() - 1 ).level;89 KindTable::size_type scope = kindTable.currentScope() - 1 - kindTable.getNote( kindTable.currentScope() - 1 ).level; 90 // size_type scope = level - kindTable.getNote( kindTable.currentScope() - 1 ).level; 90 91 debugPrint( cerr << "Adding enclosing at " << locn << " " << identifier << " as " << kindName( kind ) << " scope " << scope << " level " << level << " note " << kindTable.getNote( kindTable.currentScope() - 1 ).level << endl ); 91 autoret = kindTable.insertAt( scope, identifier, kind );92 pair< KindTable::iterator, bool > ret = kindTable.insertAt( scope, identifier, kind ); 92 93 if ( ! ret.second ) ret.first->second = kind; // exists => update 93 94 } // TypedefTable::addToEnclosingScope -
src/Parser/parser.yy
r741e22c r71cf630 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 1 15:35:08 202213 // Update Count : 5 40512 // Last Modified On : Fri Aug 12 07:59:58 2022 13 // Update Count : 5649 14 14 // 15 15 … … 58 58 59 59 // lex uses __null in a boolean context, it's fine. 60 #pragma GCC diagnostic ignored "-Wparentheses-equality"60 //#pragma GCC diagnostic ignored "-Wparentheses-equality" 61 61 62 62 extern DeclarationNode * parseTree; … … 197 197 } // fieldDecl 198 198 199 #define NEW_ZERO new ExpressionNode( build_constantInteger( *new string( "0" ) ) ) 200 #define NEW_ONE new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) 201 #define UPDOWN( compop, left, right ) (compop == OperKinds::LThan || compop == OperKinds::LEThan ? left : right) 202 203 ForCtrl * forCtrl( DeclarationNode * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) { 204 if ( index->initializer ) { 205 SemanticError( yylloc, "Direct initialization disallowed. Use instead: type var; initialization ~ comparison ~ increment." ); 206 } // if 207 if ( index->next ) { 208 SemanticError( yylloc, "Multiple loop indexes disallowed in for-loop declaration." ); 209 } // if 210 return new ForCtrl( index->addInitializer( new InitializerNode( start ) ), 211 // NULL comp/inc => leave blank 212 comp ? new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index->name ) ) ), comp ) ) : nullptr, 213 inc ? new ExpressionNode( build_binary_val( compop == OperKinds::LThan || compop == OperKinds::LEThan ? // choose += or -= for upto/downto 214 OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index->name ) ) ), inc ) ) : nullptr ); 215 } // forCtrl 216 199 217 ForCtrl * forCtrl( ExpressionNode * type, string * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) { 200 218 ConstantExpr * constant = dynamic_cast<ConstantExpr *>(type->expr.get()); … … 206 224 distAttr( DeclarationNode::newTypeof( type, true ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ), 207 225 // NULL comp/inc => leave blank 208 comp ? new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ) : 0,226 comp ? new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ) : nullptr, 209 227 inc ? new ExpressionNode( build_binary_val( compop == OperKinds::LThan || compop == OperKinds::LEThan ? // choose += or -= for upto/downto 210 OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) : 0);228 OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) : nullptr ); 211 229 } // forCtrl 212 230 … … 346 364 %type<ifctl> conditional_declaration 347 365 %type<fctl> for_control_expression for_control_expression_list 348 %type<compop> inclexcl366 %type<compop> updown updowneq downupdowneq 349 367 %type<en> subrange 350 368 %type<decl> asm_name_opt … … 1239 1257 iteration_statement: 1240 1258 WHILE '(' ')' statement %prec THEN // CFA => while ( 1 ) 1241 { $$ = new StatementNode( build_while( new CondCtl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) )), maybe_build_compound( $4 ) ) ); }1259 { $$ = new StatementNode( build_while( new CondCtl( nullptr, NEW_ONE ), maybe_build_compound( $4 ) ) ); } 1242 1260 | WHILE '(' ')' statement ELSE statement // CFA 1243 1261 { 1244 $$ = new StatementNode( build_while( new CondCtl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) )), maybe_build_compound( $4 ) ) );1262 $$ = new StatementNode( build_while( new CondCtl( nullptr, NEW_ONE ), maybe_build_compound( $4 ) ) ); 1245 1263 SemanticWarning( yylloc, Warning::SuperfluousElse, "" ); 1246 1264 } … … 1250 1268 { $$ = new StatementNode( build_while( $3, maybe_build_compound( $5 ), $7 ) ); } 1251 1269 | DO statement WHILE '(' ')' ';' // CFA => do while( 1 ) 1252 { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), maybe_build_compound( $2 ) ) ); }1270 { $$ = new StatementNode( build_do_while( NEW_ONE, maybe_build_compound( $2 ) ) ); } 1253 1271 | DO statement WHILE '(' ')' ELSE statement // CFA 1254 1272 { 1255 $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), maybe_build_compound( $2 ) ) );1273 $$ = new StatementNode( build_do_while( NEW_ONE, maybe_build_compound( $2 ) ) ); 1256 1274 SemanticWarning( yylloc, Warning::SuperfluousElse, "" ); 1257 1275 } … … 1305 1323 1306 1324 | 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 ); } 1325 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), NEW_ZERO, OperKinds::LThan, $1->clone(), NEW_ONE ); } 1326 | downupdowneq comma_expression // CFA 1327 { $$ = forCtrl( $2, new string( DeclarationNode::anonymous.newName() ), UPDOWN( $1, NEW_ZERO, $2->clone() ), $1, UPDOWN( $1, $2->clone(), NEW_ZERO ), NEW_ONE ); } 1328 1329 | comma_expression updowneq comma_expression // CFA 1330 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), UPDOWN( $2, $1->clone(), $3 ), $2, UPDOWN( $2, $3->clone(), $1->clone() ), NEW_ONE ); } 1331 | '@' updowneq comma_expression // CFA 1332 { 1333 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1334 else $$ = forCtrl( $3, new string( DeclarationNode::anonymous.newName() ), $3->clone(), $2, nullptr, NEW_ONE ); 1335 } 1336 | comma_expression updowneq '@' // CFA 1337 { 1338 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing comparison ('@') with an anonymous loop index is meaningless." ); $$ = nullptr; } 1339 else { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1340 } 1341 | comma_expression updowneq comma_expression '~' comma_expression // CFA 1342 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), UPDOWN( $2, $1->clone(), $3 ), $2, UPDOWN( $2, $3->clone(), $1->clone() ), $5 ); } 1343 | '@' updowneq comma_expression '~' comma_expression // CFA 1344 { 1345 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1346 else $$ = forCtrl( $3, new string( DeclarationNode::anonymous.newName() ), $3->clone(), $2, nullptr, $5 ); 1347 } 1348 | comma_expression updowneq '@' '~' comma_expression // CFA 1349 { 1350 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing comparison ('@') with an anonymous loop index is meaningless." ); $$ = nullptr; } 1351 else { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1352 } 1353 | comma_expression updowneq comma_expression '~' '@' // CFA, error 1354 { SemanticError( yylloc, "Missing increment ('@') with an anonymous loop index is meaningless." ); $$ = nullptr; } 1355 | '@' updowneq comma_expression '~' '@' // CFA, error 1356 { SemanticError( yylloc, "Missing loop fields ('@') with an anonymous loop index is meaningless." ); $$ = nullptr; } 1357 | comma_expression updowneq '@' '~' '@' // CFA, error 1358 { SemanticError( yylloc, "Missing loop fields ('@') with an anonymous loop index is meaningless." ); $$ = nullptr; } 1359 | '@' updowneq '@' '~' '@' // CFA, error 1360 { SemanticError( yylloc, "Missing loop fields ('@') with an anonymous loop index is meaningless." ); $$ = nullptr; } 1361 1318 1362 | comma_expression ';' comma_expression // CFA 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 ); } 1363 { $$ = forCtrl( $3, $1, NEW_ZERO, OperKinds::LThan, $3->clone(), NEW_ONE ); } 1364 | comma_expression ';' downupdowneq comma_expression // CFA 1365 { $$ = forCtrl( $4, $1, UPDOWN( $3, NEW_ZERO, $4->clone() ), $3, UPDOWN( $3, $4->clone(), NEW_ZERO ), NEW_ONE ); } 1366 1367 | comma_expression ';' comma_expression updowneq comma_expression // CFA 1368 { $$ = forCtrl( $3, $1, UPDOWN( $4, $3->clone(), $5 ), $4, UPDOWN( $4, $5->clone(), $3->clone() ), NEW_ONE ); } 1369 | comma_expression ';' '@' updowneq comma_expression // CFA 1370 { 1371 if ( $4 == OperKinds::LThan || $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1372 else $$ = forCtrl( $5, $1, $5->clone(), $4, nullptr, NEW_ONE ); 1373 } 1374 | comma_expression ';' comma_expression updowneq '@' // CFA 1375 { 1376 if ( $4 == OperKinds::GThan || $4 == OperKinds::GEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1377 else if ( $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing comparison is meaningless. Use \"~\"." ); $$ = nullptr; } 1378 else $$ = forCtrl( $3, $1, $3->clone(), $4, nullptr, NEW_ONE ); 1379 } 1380 | comma_expression ';' '@' updowneq '@' // CFA, error 1381 { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1382 1383 | comma_expression ';' comma_expression updowneq comma_expression '~' comma_expression // CFA 1384 { $$ = forCtrl( $3, $1, UPDOWN( $4, $3->clone(), $5 ), $4, UPDOWN( $4, $5->clone(), $3->clone() ), $7 ); } 1385 | comma_expression ';' '@' updowneq comma_expression '~' comma_expression // CFA, error 1386 { 1387 if ( $4 == OperKinds::LThan || $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1388 else $$ = forCtrl( $5, $1, $5->clone(), $4, nullptr, $7 ); 1389 } 1390 | comma_expression ';' comma_expression updowneq '@' '~' comma_expression // CFA 1391 { 1392 if ( $4 == OperKinds::GThan || $4 == OperKinds::GEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1393 else if ( $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing comparison is meaningless. Use \"~\"." ); $$ = nullptr; } 1394 else $$ = forCtrl( $3, $1, $3->clone(), $4, nullptr, $7 ); 1395 } 1396 | comma_expression ';' comma_expression updowneq comma_expression '~' '@' // CFA 1397 { $$ = forCtrl( $3, $1, UPDOWN( $4, $3->clone(), $5 ), $4, UPDOWN( $4, $5->clone(), $3->clone() ), nullptr ); } 1398 | comma_expression ';' '@' updowneq comma_expression '~' '@' // CFA, error 1399 { 1400 if ( $4 == OperKinds::LThan || $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1401 else $$ = forCtrl( $5, $1, $5->clone(), $4, nullptr, nullptr ); 1402 } 1403 | comma_expression ';' comma_expression updowneq '@' '~' '@' // CFA 1404 { 1405 if ( $4 == OperKinds::GThan || $4 == OperKinds::GEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1406 else if ( $4 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing comparison is meaningless. Use \"~\"." ); $$ = nullptr; } 1407 else $$ = forCtrl( $3, $1, $3->clone(), $4, nullptr, nullptr ); 1408 } 1409 | comma_expression ';' '@' updowneq '@' '~' '@' // CFA 1410 { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1411 1412 | declaration comma_expression // CFA 1413 { $$ = forCtrl( $1, NEW_ZERO, OperKinds::LThan, $2, NEW_ONE ); } 1414 | declaration downupdowneq comma_expression // CFA 1415 { $$ = forCtrl( $1, UPDOWN( $2, NEW_ZERO, $3 ), $2, UPDOWN( $2, $3->clone(), NEW_ZERO ), NEW_ONE ); } 1416 1417 | declaration comma_expression updowneq comma_expression // CFA 1418 { $$ = forCtrl( $1, UPDOWN( $3, $2->clone(), $4 ), $3, UPDOWN( $3, $4->clone(), $2->clone() ), NEW_ONE ); } 1419 | declaration '@' updowneq comma_expression // CFA 1420 { 1421 if ( $3 == OperKinds::LThan || $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1422 else $$ = forCtrl( $1, $4, $3, nullptr, NEW_ONE ); 1423 } 1424 | declaration comma_expression updowneq '@' // CFA 1425 { 1426 if ( $3 == OperKinds::GThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1427 else if ( $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing comparison is meaningless. Use \"~\"." ); $$ = nullptr; } 1428 else $$ = forCtrl( $1, $2, $3, nullptr, NEW_ONE ); 1429 } 1430 1431 | declaration comma_expression updowneq comma_expression '~' comma_expression // CFA 1432 { $$ = forCtrl( $1, UPDOWN( $3, $2, $4 ), $3, UPDOWN( $3, $4->clone(), $2->clone() ), $6 ); } 1433 | declaration '@' updowneq comma_expression '~' comma_expression // CFA 1434 { 1435 if ( $3 == OperKinds::LThan || $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1436 else $$ = forCtrl( $1, $4, $3, nullptr, $6 ); 1437 } 1438 | declaration comma_expression updowneq '@' '~' comma_expression // CFA 1439 { 1440 if ( $3 == OperKinds::GThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1441 else if ( $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing comparison is meaningless. Use \"~\"." ); $$ = nullptr; } 1442 else $$ = forCtrl( $1, $2, $3, nullptr, $6 ); 1443 } 1444 | declaration comma_expression updowneq comma_expression '~' '@' // CFA 1445 { $$ = forCtrl( $1, UPDOWN( $3, $2, $4 ), $3, UPDOWN( $3, $4->clone(), $2->clone() ), nullptr ); } 1446 | declaration '@' updowneq comma_expression '~' '@' // CFA 1447 { 1448 if ( $3 == OperKinds::LThan || $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1449 else $$ = forCtrl( $1, $4, $3, nullptr, nullptr ); 1450 } 1451 | declaration comma_expression updowneq '@' '~' '@' // CFA 1452 { 1453 if ( $3 == OperKinds::GThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1454 else if ( $3 == OperKinds::LEThan ) { SemanticError( yylloc, "Equality with missing comparison is meaningless. Use \"~\"." ); $$ = nullptr; } 1455 else $$ = forCtrl( $1, $2, $3, nullptr, nullptr ); 1456 } 1457 | declaration '@' updowneq '@' '~' '@' // CFA, error 1458 { SemanticError( yylloc, "Missing start value so cannot compare." ); $$ = nullptr; } 1328 1459 1329 1460 | comma_expression ';' TYPEDEFname // CFA, array type 1330 1461 { 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 ); } 1462 SemanticError( yylloc, "Type iterator is currently unimplemented." ); $$ = nullptr; 1463 //$$ = forCtrl( new ExpressionNode( build_varref( $3 ) ), $1, nullptr, OperKinds::Range, nullptr, nullptr ); 1464 } 1465 | comma_expression ';' downupdowneq TYPEDEFname // CFA, array type 1466 { 1467 if ( $3 == OperKinds::LEThan || $3 == OperKinds::GEThan ) { SemanticError( yylloc, "All enumation ranges are equal (all values). Remove \"=~\"." ); $$ = nullptr; } 1468 SemanticError( yylloc, "Type iterator is currently unimplemented." ); $$ = nullptr; 1469 } 1346 1470 ; 1347 1471 1348 inclexcl: 1472 downupdowneq: 1473 ErangeDown 1474 { $$ = OperKinds::GThan; } 1475 | ErangeUpEq 1476 { $$ = OperKinds::LEThan; } 1477 | ErangeDownEq 1478 { $$ = OperKinds::GEThan; } 1479 ; 1480 1481 updown: 1349 1482 '~' 1350 1483 { $$ = OperKinds::LThan; } 1484 | ErangeDown 1485 { $$ = OperKinds::GThan; } 1486 ; 1487 1488 updowneq: 1489 updown 1351 1490 | ErangeUpEq 1352 1491 { $$ = OperKinds::LEThan; } 1353 | ErangeDown1354 { $$ = OperKinds::GThan; }1355 1492 | ErangeDownEq 1356 1493 { $$ = OperKinds::GEThan; } … … 2395 2532 '{' enumerator_list comma_opt '}' 2396 2533 { $$ = DeclarationNode::newEnum( $3->name, $5, true )->addQualifiers( $2 ); } 2534 | ENUM '(' ')' attribute_list_opt '{' enumerator_list comma_opt '}' 2535 { SemanticError( yylloc, "Unvalued enumerated type is currently unimplemented." ); $$ = nullptr; } 2397 2536 | ENUM '(' cfa_abstract_parameter_declaration ')' attribute_list_opt '{' enumerator_list comma_opt '}' 2398 2537 { -
src/Tuples/TupleExpansionNew.cpp
r741e22c r71cf630 10 10 // Created On : Mon Aug 23 15:36:09 2021 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Mon Jul 29 14:06:00 202213 // Update Count : 212 // Last Modified On : Mon Aug 15 17:00:00 2022 13 // Update Count : 3 14 14 // 15 15 … … 100 100 } 101 101 102 struct TupleAssignExpander { 102 /// Replaces Tuple Assign & Index Expressions, and Tuple Types. 103 struct TupleMainExpander : 104 public ast::WithGuards, 105 public ast::WithVisitorRef<TupleMainExpander>, 106 public ast::WithDeclsToAdd<> { 103 107 ast::Expr const * postvisit( ast::TupleAssignExpr const * expr ) { 104 108 // Just move the env on the new top level expression. … … 106 110 &ast::TupleAssignExpr::env, expr->env.get() ); 107 111 } 108 }; 109 110 struct TupleTypeReplacer : 111 public ast::WithGuards, 112 public ast::WithVisitorRef<TupleTypeReplacer>, 113 public ast::WithDeclsToAdd<> { 112 114 113 void previsit( ast::ParseNode const * node ) { 115 114 GuardValue( location ) = &node->location; … … 185 184 return newType; 186 185 } 187 private: 188 ScopedMap< int, ast::StructDecl const * > typeMap; 189 CodeLocation const * location = nullptr; 190 }; 191 192 struct TupleIndexExpander { 186 193 187 ast::Expr const * postvisit( ast::TupleIndexExpr const * expr ) { 194 188 CodeLocation const & location = expr->location; … … 221 215 return memberExpr; 222 216 } 217 private: 218 ScopedMap< int, ast::StructDecl const * > typeMap; 219 CodeLocation const * location = nullptr; 223 220 }; 224 221 … … 275 272 276 273 void expandTuples( ast::TranslationUnit & translationUnit ) { 277 // These may not have to be seperate passes. 278 ast::Pass<TupleAssignExpander>::run( translationUnit ); 279 ast::Pass<TupleTypeReplacer>::run( translationUnit ); 280 ast::Pass<TupleIndexExpander>::run( translationUnit ); 274 // These can't just be combined simply (there might be a way with work). 275 ast::Pass<TupleMainExpander>::run( translationUnit ); 281 276 ast::Pass<TupleExprExpander>::run( translationUnit ); 282 277 } -
src/Virtual/ExpandCasts.cc
r741e22c r71cf630 10 10 // Created On : Mon Jul 24 13:59:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Jul 31 10:29:00 202013 // Update Count : 412 // Last Modified On : Thu Aug 11 12:06:00 2022 13 // Update Count : 5 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" 22 25 #include "Common/PassVisitor.h" // for PassVisitor 23 26 #include "Common/ScopedMap.h" // for ScopedMap … … 32 35 namespace Virtual { 33 36 34 static bool is_prefix( const std::string & prefix, const std::string& entire ) { 37 namespace { 38 39 bool is_prefix( const std::string & prefix, const std::string& entire ) { 35 40 size_t const p_size = prefix.size(); 36 41 return (p_size < entire.size() && prefix == entire.substr(0, p_size)); 37 42 } 38 43 39 staticbool is_type_id_object( const ObjectDecl * objectDecl ) {44 bool is_type_id_object( const ObjectDecl * objectDecl ) { 40 45 const std::string & objectName = objectDecl->name; 41 46 return is_prefix( "__cfatid_", objectName ); 47 } 48 49 bool is_type_id_object( const ast::ObjectDecl * decl ) { 50 return is_prefix( "__cfatid_", decl->name ); 42 51 } 43 52 … … 124 133 } 125 134 } 126 127 namespace {128 135 129 136 /// Better error locations for generated casts. … … 229 236 } 230 237 231 } // namespace232 233 238 Expression * VirtualCastCore::postmutate( VirtualCastExpr * castExpr ) { 234 239 assertf( castExpr->result, "Virtual Cast target not found before expansion." ); … … 265 270 } 266 271 267 void expandCasts( std::list< Declaration * > & translationUnit ) { 268 PassVisitor<VirtualCastCore> translator; 269 mutateAll( translationUnit, translator ); 270 } 271 } 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(); 281 } 282 } 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 { 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 ast::StructInstType * polyCopy( 365 ast::StructInstType const * oldType, 366 ast::StructInstType const * newType ) { 367 assert( oldType->params.size() == newType->params.size() ); 368 ast::StructInstType * retType = ast::deepCopy( newType ); 369 if ( ! oldType->params.empty() ) { 370 retType->params.clear(); 371 for ( auto oldParams : oldType->params ) { 372 retType->params.push_back( ast::deepCopy( oldParams ) ); 373 } 374 } 375 return retType; 376 } 377 378 /// Follow the "head" field of the structure to get the type that is pointed 379 /// to by that field. 380 ast::StructInstType const * followHeadPointerType( 381 CodeLocation const & errorLocation, 382 ast::StructInstType const * oldType, 383 std::string const & fieldName ) { 384 ast::StructDecl const * oldDecl = oldType->base; 385 assert( oldDecl ); 386 387 // Helper function for throwing semantic errors. 388 auto throwError = [&fieldName, &errorLocation, &oldDecl]( 389 std::string const & message ) { 390 std::string const & context = "While following head pointer of " + 391 oldDecl->name + " named '" + fieldName + "': "; 392 SemanticError( errorLocation, context + message ); 393 }; 394 395 if ( oldDecl->members.empty() ) { 396 throwError( "Type has no fields." ); 397 } 398 ast::ptr<ast::Decl> const & memberDecl = oldDecl->members.front(); 399 assert( memberDecl ); 400 ast::ObjectDecl const * fieldDecl = memberDecl.as<ast::ObjectDecl>(); 401 assert( fieldDecl ); 402 if ( fieldName != fieldDecl->name ) { 403 throwError( "Head field did not have expected name." ); 404 } 405 406 ast::ptr<ast::Type> const & fieldType = fieldDecl->type; 407 if ( nullptr == fieldType ) { 408 throwError( "Could not get head field." ); 409 } 410 auto ptrType = fieldType.as<ast::PointerType>(); 411 if ( nullptr == ptrType ) { 412 throwError( "First field is not a pointer type." ); 413 } 414 assert( ptrType->base ); 415 auto newType = ptrType->base.as<ast::StructInstType>(); 416 if ( nullptr == newType ) { 417 throwError( "First field does not point to a structure type." ); 418 } 419 420 return polyCopy( oldType, newType ); 421 } 422 423 /// Get the type-id type from a virtual type. 424 ast::StructInstType const * getTypeIdType( 425 CodeLocation const & errorLocation, 426 ast::Type const * type ) { 427 auto typeInst = dynamic_cast<ast::StructInstType const *>( type ); 428 if ( nullptr == typeInst ) { 429 return nullptr; 430 } 431 ast::ptr<ast::StructInstType> tableInst = 432 followHeadPointerType( errorLocation, typeInst, "virtual_table" ); 433 if ( nullptr == tableInst ) { 434 return nullptr; 435 } 436 ast::StructInstType const * typeIdInst = 437 followHeadPointerType( errorLocation, tableInst, "__cfavir_typeid" ); 438 return typeIdInst; 439 } 440 441 ast::Expr const * ExpandCastsCore::postvisit( 442 ast::VirtualCastExpr const * expr ) { 443 assertf( expr->result, "Virtual cast target not found before expansion." ); 444 445 assert( vcast_decl ); 446 assert( info_decl ); 447 448 ast::Type const * base_type = getBaseType( expr->result ); 449 if ( nullptr == base_type ) { 450 castError( expr, "Virtual cast target must be a pointer or reference type." ); 451 } 452 ast::StructInstType const * type_id_type = 453 getTypeIdType( castLocation( expr ), base_type ); 454 if ( nullptr == type_id_type ) { 455 castError( expr, "Ill formed virtual cast target type." ); 456 } 457 ast::ObjectDecl const * type_id = symtab.lookup( type_id_type ); 458 if ( nullptr == type_id ) { 459 // I'm trying to give a different error for polymorpic types as 460 // different things can go wrong there. 461 if ( type_id_type->params.empty() ) { 462 castError( expr, "Virtual cast does not target a virtual type." ); 463 } else { 464 castError( expr, "Virtual cast does not target a type with a " 465 "type id (possible missing virtual table)." ); 466 } 467 } 468 469 return new ast::CastExpr( expr->location, 470 new ast::ApplicationExpr( expr->location, 471 ast::VariableExpr::functionPointer( expr->location, vcast_decl ), 472 { 473 cast_to_type_id( 474 new ast::AddressExpr( expr->location, 475 new ast::VariableExpr( expr->location, type_id ) ), 476 1 ), 477 cast_to_type_id( expr->arg, 2 ), 478 } 479 ), 480 ast::deepCopy( expr->result ) 481 ); 482 } 483 484 ast::CastExpr const * ExpandCastsCore::cast_to_type_id( 485 ast::Expr const * expr, unsigned int level_of_indirection ) { 486 assert( info_decl ); 487 ast::Type * type = new ast::StructInstType( info_decl, ast::CV::Const ); 488 for ( unsigned int i = 0 ; i < level_of_indirection ; ++i ) { 489 type = new ast::PointerType( type ); 490 } 491 return new ast::CastExpr( expr->location, expr, type ); 492 } 493 494 } // namespace 495 496 void expandCasts( std::list< Declaration * > & translationUnit ) { 497 PassVisitor<VirtualCastCore> translator; 498 mutateAll( translationUnit, translator ); 499 } 500 501 void expandCasts( ast::TranslationUnit & translationUnit ) { 502 ast::Pass<ExpandCastsCore>::run( translationUnit ); 503 } 504 505 } // namespace Virtual -
src/Virtual/ExpandCasts.h
r741e22c r71cf630 10 10 // Created On : Mon Jul 24 13:54:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Tus Jul 25 14:51:00 201713 // Update Count : 012 // Last Modified On : Fri Jul 29 14:40:00 2022 13 // Update Count : 1 14 14 // 15 15 … … 19 19 20 20 class Declaration; 21 namespace ast { 22 class TranslationUnit; 23 } 21 24 22 25 namespace Virtual { 23 void expandCasts( std::list< Declaration * > & translationUnit ); 24 // Breaks all virtual cast nodes up into translatable nodes. 26 void expandCasts( std::list< Declaration * > & translationUnit ); 27 void expandCasts( ast::TranslationUnit & translationUnit ); 28 // Breaks all virtual cast nodes up into translatable nodes. 25 29 26 // Later this might just set some information so it can happen at CodeGen.30 // Later this might just set some information so it can happen at CodeGen. 27 31 28 32 } -
src/main.cc
r741e22c r71cf630 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Mon Jul 18 11:08:00 202213 // Update Count : 67 612 // Last Modified On : Thu 11 12:18:00 2022 13 // Update Count : 677 14 14 // 15 15 … … 445 445 PASS( "Expand Tuples", Tuples::expandTuples( transUnit ) ); 446 446 447 if ( tuplep ) { 448 dump( move( transUnit ) ); 449 return EXIT_SUCCESS; 450 } // if 451 452 // Must come after Translate Tries. 453 PASS( "Virtual Expand Casts", Virtual::expandCasts( transUnit ) ); 454 447 455 translationUnit = convert( move( transUnit ) ); 448 456 } else { … … 520 528 PASS( "Convert Specializations", GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded 521 529 PASS( "Expand Tuples", Tuples::expandTuples( translationUnit ) ); // xxx - is this the right place for this? 530 531 if ( tuplep ) { 532 dump( translationUnit ); 533 return EXIT_SUCCESS; 534 } // if 535 536 PASS( "Virtual Expand Casts", Virtual::expandCasts( translationUnit ) ); // Must come after translateEHM 522 537 } 523 524 if ( tuplep ) {525 dump( translationUnit );526 return EXIT_SUCCESS;527 } // if528 529 PASS( "Virtual Expand Casts", Virtual::expandCasts( translationUnit ) ); // Must come after translateEHM530 538 531 539 PASS( "Instantiate Generics", GenPoly::instantiateGeneric( translationUnit ) ); -
tests/.expect/loop_else.txt
r741e22c r71cf630 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 else35 10 9 8 7 6 5 4 3 2 1 0 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)else40 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else41 42 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else43 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else44 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else45 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else46 47 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else48 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else49 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else50 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else51 38 52 39 0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 else … … 63 50 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 64 51 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)else 53 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else 54 55 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else 56 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else 57 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else 58 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)else 59 60 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else 61 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)else 62 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else 63 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else 64 -
tests/.expect/loopctrl.txt
r741e22c r71cf630 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 33 10 9 8 7 6 5 4 3 2 1 0 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)49 36 50 37 0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 … … 61 48 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 62 49 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 A 64 B B B B B B B B B B B 65 C C C C C C C C C C 66 D D D D D D D D D D D 67 A A A A A A A A A A 68 B B B B B B B B B B B 69 C C C C C C C C C C 70 D D D D D D D D D D D 71 A A A A A 72 B B B B B B 73 C C C C C 74 D D D D D D 75 0 1 2 3 4 5 6 7 8 9 76 0 1 2 3 4 5 6 7 8 9 10 77 10 9 8 7 6 5 4 3 2 1 78 10 9 8 7 6 5 4 3 2 1 0 79 0 1 2 3 4 5 6 7 8 9 80 0 1 2 3 4 5 6 7 8 9 10 81 10 9 8 7 6 5 4 3 2 1 82 10 9 8 7 6 5 4 3 2 1 0 83 0 2 4 6 8 84 0 2 4 6 8 10 85 10 8 6 4 2 86 10 8 6 4 2 0 87 0 1 2 3 4 5 6 7 8 9 88 0 1 2 3 4 5 6 7 8 9 89 0 1 2 3 4 5 6 7 8 9 10 90 10 9 8 7 6 5 4 3 2 1 91 10 9 8 7 6 5 4 3 2 1 0 92 0 1 2 3 4 5 6 7 8 9 93 0 1 2 3 4 5 6 7 8 9 10 94 10 9 8 7 6 5 4 3 2 1 95 10 9 8 7 6 5 4 3 2 1 0 96 0 2 4 6 8 97 0 2 4 6 8 10 98 10 8 6 4 2 99 10 8 6 4 2 0 100 0 1 2 3 4 5 6 7 8 9 101 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 102 0 2 4 6 8 103 0 -2 -4 -6 -8 104 0 1 2 3 4 5 6 7 8 9 105 0 2 4 6 8 106 0 -2 -4 -6 -8 107 0 2 4 6 8 108 0 -2 -4 -6 -8 109 0 1 2 3 4 5 6 7 8 9 -
tests/heap.cfa
r741e22c r71cf630 10 10 // Created On : Tue Nov 6 17:54:56 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 15 12:11:51 202013 // Update Count : 7912 // Last Modified On : Wed Aug 10 09:57:01 2022 13 // Update Count : 86 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_expansion32 33 size_t default_mmap_start() {34 return 512 * 1024 + 1;35 } // default_mmap_start36 28 37 29 thread Worker { … … 66 58 for ( k; i ) locns[i][k] = '\345'; 67 59 } // for 68 for ( i; NoOfAllocs - 1 -~= 0) {60 for ( i; -~= NoOfAllocs - 1 ) { 69 61 //sout | (void *)locns[i]; 70 62 for ( k; i ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage2" ); … … 99 91 100 92 for ( i; NoOfMmaps ) { 101 size_t s = i + default_mmap_start(); // cross over point93 size_t s = i + malloc_mmap_start(); // cross over point 102 94 char * area = (char *)malloc( s ); 103 95 area[0] = '\345'; area[s - 1] = '\345'; // fill first/last … … 107 99 108 100 for ( i; NoOfMmaps ) { 109 size_t s = i + default_mmap_start(); // cross over point101 size_t s = i + malloc_mmap_start(); // cross over point 110 102 locns[i] = (char *)malloc( s ); 111 103 locns[i][0] = '\345'; locns[i][s - 1] = '\345'; // fill first/last … … 113 105 } // for 114 106 for ( i; NoOfMmaps ) { 115 size_t s = i + default_mmap_start(); // cross over point107 size_t s = i + malloc_mmap_start(); // cross over point 116 108 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 117 109 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "malloc/free corrupt storage" ); … … 151 143 152 144 for ( i; NoOfMmaps ) { 153 size_t s = i + default_mmap_start(); // cross over point145 size_t s = i + malloc_mmap_start(); // cross over point 154 146 char * area = (char *)calloc( 1, s ); 155 147 if ( area[0] != '\0' || area[s - 1] != '\0' ) abort( "calloc/free corrupt storage4.1" ); … … 162 154 163 155 for ( i; NoOfMmaps ) { 164 size_t s = i + default_mmap_start(); // cross over point156 size_t s = i + malloc_mmap_start(); // cross over point 165 157 locns[i] = (char *)calloc( 1, s ); 166 158 if ( locns[i][0] != '\0' || locns[i][s - 1] != '\0' || … … 171 163 } // for 172 164 for ( i; NoOfMmaps ) { 173 size_t s = i + default_mmap_start(); // cross over point165 size_t s = i + malloc_mmap_start(); // cross over point 174 166 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 175 167 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "calloc/free corrupt storage6" ); … … 198 190 //sout | alignments[a]; 199 191 for ( i; 1 ~ NoOfMmaps ) { 200 size_t s = i + default_mmap_start(); // cross over point192 size_t s = i + malloc_mmap_start(); // cross over point 201 193 char * area = (char *)memalign( a, s ); 202 194 //sout | i | area; … … 232 224 for ( i; 2 ~ NoOfAllocs ~ 12 ) { 233 225 // initial N byte allocation 234 size_t s = i + default_mmap_start(); // cross over point226 size_t s = i + malloc_mmap_start(); // cross over point 235 227 char * area = (char *)malloc( s ); 236 228 area[0] = '\345'; area[s - 1] = '\345'; // fill first/penultimate byte … … 269 261 for ( i; 2 ~ NoOfAllocs ~ 12 ) { 270 262 // initial N byte allocation 271 size_t s = i + default_mmap_start(); // cross over point263 size_t s = i + malloc_mmap_start(); // cross over point 272 264 char * area = (char *)malloc( s ); 273 265 area[0] = '\345'; area[s - 1] = '\345'; // fill first/penultimate byte … … 307 299 for ( i; 1 ~ 10_000 ~ 12 ) { 308 300 // initial N byte allocation 309 size_t s = i + default_mmap_start(); // cross over point301 size_t s = i + malloc_mmap_start(); // cross over point 310 302 char * area = (char *)calloc( 1, s ); 311 303 if ( area[0] != '\0' || area[s - 1] != '\0' || … … 481 473 482 474 int main() { 483 const unsigned int NoOfWorkers = 4;475 enum { NoOfWorkers = 4 }; 484 476 { 485 477 processor processors[NoOfWorkers - 1] __attribute__(( unused )); // more than one processor -
tests/io/away_fair.cfa
r741e22c r71cf630 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/loop_else.cfa
r741e22c r71cf630 20 20 21 21 int main() { 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; 22 // Test some loop options. 26 23 27 do { sout | "false"; } while (false) else { sout | "else"; } sout | nl | nl; 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; 28 28 29 for ( 0 ) { sout | "A"; } else { sout | "else"; } sout | "zero" | nl; 29 do { sout | "false"; } while (false) else { sout | "else"; } sout | nl | nl; 30 31 for ( 0 ) { sout | "A"; } else { sout | "else"; } sout | "zero" | nl; 30 32 for ( 1 ) { 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;33 for ( 10 ) { sout | "A"; } else { sout | "else"; } sout | nl; 34 for ( ~= 10 ) { sout | "A"; } else { sout | "else"; } sout | nl; 33 35 for ( 1 ~= 10 ~ 2 ) { sout | "B"; } else { sout | "else"; } sout | nl; 34 for ( 1 0 -~= 1~ 2 ) { sout | "C"; } else { sout | "else"; } sout | nl;36 for ( 1 -~= 10 ~ 2 ) { sout | "C"; } else { sout | "else"; } sout | nl; 35 37 for ( 0.5 ~ 5.5 ) { sout | "D"; } else { sout | "else"; } sout | nl; 36 for ( 5.5 -~ 0.5 ) { sout | "E"; } else { sout | "else"; } sout | nl | nl;38 for ( 0.5 -~ 5.5 ) { sout | "E"; } else { sout | "else"; } sout | nl | nl; 37 39 38 40 for ( i; 10 ) { sout | i; } else { sout | "else"; } sout | nl; 39 for ( i; = 10 ) { sout | i; } else { sout | "else"; } sout | nl;41 for ( i; ~= 10 ) { sout | i; } else { sout | "else"; } sout | nl; 40 42 for ( i; 1 ~= 10 ~ 2 ) { sout | i; } else { sout | "else"; } sout | nl; 41 for ( i; 1 0 -~= 1~ 2 ) { sout | i; } else { sout | "else"; } sout | nl;43 for ( i; 1 -~= 10 ~ 2 ) { sout | i; } else { sout | "else"; } sout | nl; 42 44 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;45 for ( i; 0.5 -~ 5.5 ) { sout | i; } else { sout | "else"; } sout | nl; 44 46 for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } else { sout | "else"; } sout | nl; 45 for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; } else { sout | "else"; } sout | nl | nl;47 for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } else { sout | "else"; } sout | nl | nl; 46 48 47 49 // @ means do nothing … … 50 52 sout | i; 51 53 } else { sout | "else"; } sout | nl; 52 for ( i; 10 -~ @) {54 for ( i; @ -~ 10 ) { 53 55 if ( i < 0 ) break; 54 56 sout | i; … … 63 65 i += 1.7; 64 66 } else { sout | "else"; } sout | nl; 65 for ( i; 10 -~ @~ 2 ) {67 for ( i; @ -~ 10 ~ 2 ) { 66 68 if ( i < 0 ) break; 67 69 sout | i; … … 76 78 for ( N ) { sout | "N"; } else { sout | "else"; } sout | nl; 77 79 for ( i; N ) { sout | i; } else { sout | "else"; } sout | 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;80 for ( i; ~= N ) { sout | i; } else { sout | "else"; } sout | nl; 81 for ( i; -~= N ) { sout | i; } else { sout | "else"; } sout | nl | nl; 80 82 81 83 const int start = 3, comp = 10, inc = 2; 82 84 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; 83 99 84 100 for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } else { sout | "else"; } sout | nl; … … 90 106 for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl; 91 107 sout | 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; 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; 110 112 } -
tests/loopctrl.cfa
r741e22c r71cf630 10 10 // Created On : Wed Aug 8 18:32:59 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Dec 12 17:55:26 201913 // Update Count : 1 0812 // Last Modified On : Thu Aug 11 23:04:35 2022 13 // Update Count : 160 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 DECLARATION 54 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 } 17 90 18 91 struct S { int i, j; }; … … 35 108 36 109 int main() { 110 // Test some loop options. 111 37 112 sout | nlOff; // turn off auto newline 38 113 while () { sout | "empty"; break; } sout | nl; … … 43 118 for ( 1 ) { sout | "A"; } sout | nl; 44 119 for ( 10 ) { sout | "A"; } sout | nl; 45 for ( = 10 ) { sout | "A"; } sout | nl;120 for ( ~= 10 ) { sout | "A"; } sout | nl; 46 121 for ( 1 ~= 10 ~ 2 ) { sout | "B"; } sout | nl; 47 for ( 1 0 -~= 1~ 2 ) { sout | "C"; } sout | nl;122 for ( 1 -~= 10 ~ 2 ) { sout | "C"; } sout | nl; 48 123 for ( 0.5 ~ 5.5 ) { sout | "D"; } sout | nl; 49 for ( 5.5 -~ 0.5 ) { sout | "E"; } sout | nl | nl;124 for ( 0.5 -~ 5.5 ) { sout | "E"; } sout | nl | nl; 50 125 51 126 for ( i; 10 ) { sout | i; } sout | nl; 52 for ( i; = 10 ) { sout | i; } sout | nl;127 for ( i; ~= 10 ) { sout | i; } sout | nl; 53 128 for ( i; 1 ~= 10 ~ 2 ) { sout | i; } sout | nl; 54 for ( i; 1 0 -~= 1~ 2 ) { sout | i; } sout | nl;129 for ( i; 1 -~= 10 ~ 2 ) { sout | i; } sout | nl; 55 130 for ( i; 0.5 ~ 5.5 ) { sout | i; } sout | nl; 56 for ( i; 5.5 -~ 0.5 ) { sout | i; } sout | nl;131 for ( i; 0.5 -~ 5.5 ) { sout | i; } sout | nl; 57 132 for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } sout | nl; 58 for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; } sout | nl | nl;133 for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } sout | nl | nl; 59 134 60 135 // @ means do nothing … … 63 138 sout | i; 64 139 } sout | nl; 65 for ( i; 10 -~ @) {140 for ( i; @ -~ 10 ) { 66 141 if ( i < 0 ) break; 67 142 sout | i; … … 76 151 i += 1.7; 77 152 } sout | nl; 78 for ( i; 10 -~ @~ 2 ) {153 for ( i; @ -~ 10 ~ 2 ) { 79 154 if ( i < 0 ) break; 80 155 sout | i; … … 89 164 for ( N ) { sout | "N"; } sout | nl; 90 165 for ( i; N ) { sout | i; } sout | nl; 91 for ( i; = N ) { sout | i; } sout | nl;92 for ( i; N -~ 0) { sout | i; } sout | nl | nl;166 for ( i; ~= N ) { sout | i; } sout | nl; 167 for ( i; -~= N ) { sout | i; } sout | nl | nl; 93 168 94 169 const int start = 3, comp = 10, inc = 2; 95 170 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; 96 185 97 186 for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } sout | nl; … … 103 192 for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl; 104 193 sout | 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; 109 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; 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; 198 199 fred(); 123 200 } 124 201
Note:
See TracChangeset
for help on using the changeset viewer.