Updated S3 API Benchmark (markdown)

Chris Lu 2020-11-17 20:06:54 -08:00
parent 3106ed9ad8
commit 80a46579a0

@ -4,64 +4,67 @@ Found this https://github.com/markhpc/hsbench tool which seems easy to use.
Here are my results on my laptop.
```
benchmark$ hsbench -a accesstoken -s secret -z 4K -d 10 -t 10 -b 10 -u http://localhost:8333 -m "cxipgdx" -bp "hsbench-"
2020/11/17 12:40:22 Hotsauce S3 Benchmark Version 0.1
2020/11/17 12:40:22 Parameters:
2020/11/17 12:40:22 url=http://localhost:8333
2020/11/17 12:40:22 object_prefix=
2020/11/17 12:40:22 bucket_prefix=hsbench-
2020/11/17 12:40:22 region=us-east-1
2020/11/17 12:40:22 modes=cxipgdx
2020/11/17 12:40:22 output=
2020/11/17 12:40:22 json_output=
2020/11/17 12:40:22 max_keys=1000
2020/11/17 12:40:22 object_count=-1
2020/11/17 12:40:22 bucket_count=10
2020/11/17 12:40:22 duration=10
2020/11/17 12:40:22 threads=10
2020/11/17 12:40:22 loops=1
2020/11/17 12:40:22 size=4K
2020/11/17 12:40:22 interval=1.000000
2020/11/17 12:40:22 Running Loop 0 BUCKET CLEAR TEST
2020/11/17 12:40:22 Loop: 0, Int: TOTAL, Dur(s): 0.0, Mode: BCLR, Ops: 0, MB/s: 0.00, IO/s: 0, Lat(ms): [ min: 0.0, avg: 0.0, 99%: 0.0, max: 0.0 ], Slowdowns: 0
2020/11/17 12:40:22 Running Loop 0 BUCKET DELETE TEST
2020/11/17 12:40:22 Loop: 0, Int: TOTAL, Dur(s): 0.0, Mode: BDEL, Ops: 0, MB/s: 0.00, IO/s: 0, Lat(ms): [ min: 0.0, avg: 0.0, 99%: 0.0, max: 0.0 ], Slowdowns: 0
2020/11/17 12:40:22 Running Loop 0 BUCKET INIT TEST
2020/11/17 12:40:22 Loop: 0, Int: TOTAL, Dur(s): 0.0, Mode: BINIT, Ops: 10, MB/s: 0.00, IO/s: 3301, Lat(ms): [ min: 1.7, avg: 2.5, 99%: 2.9, max: 2.9 ], Slowdowns: 0
2020/11/17 12:40:22 Running Loop 0 OBJECT PUT TEST
2020/11/17 12:40:24 Loop: 0, Int: 0, Dur(s): 1.0, Mode: PUT, Ops: 2775, MB/s: 10.84, IO/s: 2775, Lat(ms): [ min: 1.4, avg: 3.5, 99%: 42.7, max: 114.4 ], Slowdowns: 0
2020/11/17 12:40:24 Loop: 0, Int: 1, Dur(s): 1.0, Mode: PUT, Ops: 3617, MB/s: 14.13, IO/s: 3617, Lat(ms): [ min: 1.4, avg: 2.8, 99%: 24.4, max: 87.9 ], Slowdowns: 0
2020/11/17 12:40:25 Loop: 0, Int: 2, Dur(s): 1.0, Mode: PUT, Ops: 3551, MB/s: 13.87, IO/s: 3551, Lat(ms): [ min: 1.3, avg: 2.8, 99%: 24.6, max: 58.4 ], Slowdowns: 0
2020/11/17 12:40:26 Loop: 0, Int: 3, Dur(s): 1.0, Mode: PUT, Ops: 4019, MB/s: 15.70, IO/s: 4019, Lat(ms): [ min: 1.3, avg: 2.5, 99%: 5.7, max: 96.0 ], Slowdowns: 0
2020/11/17 12:40:27 Loop: 0, Int: 4, Dur(s): 1.0, Mode: PUT, Ops: 3852, MB/s: 15.05, IO/s: 3852, Lat(ms): [ min: 1.4, avg: 2.6, 99%: 5.8, max: 54.3 ], Slowdowns: 0
2020/11/17 12:40:28 Loop: 0, Int: 5, Dur(s): 1.0, Mode: PUT, Ops: 3998, MB/s: 15.62, IO/s: 3998, Lat(ms): [ min: 1.4, avg: 2.5, 99%: 5.2, max: 60.0 ], Slowdowns: 0
2020/11/17 12:40:29 Loop: 0, Int: 6, Dur(s): 1.0, Mode: PUT, Ops: 3935, MB/s: 15.37, IO/s: 3935, Lat(ms): [ min: 1.3, avg: 2.4, 99%: 5.4, max: 50.5 ], Slowdowns: 0
2020/11/17 12:40:30 Loop: 0, Int: 7, Dur(s): 1.0, Mode: PUT, Ops: 3935, MB/s: 15.37, IO/s: 3935, Lat(ms): [ min: 1.4, avg: 2.6, 99%: 23.3, max: 47.6 ], Slowdowns: 0
2020/11/17 12:40:31 Loop: 0, Int: 8, Dur(s): 1.0, Mode: PUT, Ops: 3872, MB/s: 15.12, IO/s: 3872, Lat(ms): [ min: 1.3, avg: 2.6, 99%: 22.2, max: 48.9 ], Slowdowns: 0
2020/11/17 12:40:32 Loop: 0, Int: 9, Dur(s): 1.0, Mode: PUT, Ops: 3761, MB/s: 14.69, IO/s: 3761, Lat(ms): [ min: 1.4, avg: 2.7, 99%: 6.0, max: 52.6 ], Slowdowns: 0
2020/11/17 12:40:32 Loop: 0, Int: TOTAL, Dur(s): 10.0, Mode: PUT, Ops: 37325, MB/s: 14.58, IO/s: 3732, Lat(ms): [ min: 1.3, avg: 2.7, 99%: 22.3, max: 114.4 ], Slowdowns: 0
2020/11/17 12:40:32 Running Loop 0 OBJECT GET TEST
2020/11/17 12:40:33 Loop: 0, Int: 0, Dur(s): 1.0, Mode: GET, Ops: 4769, MB/s: 18.63, IO/s: 4769, Lat(ms): [ min: 1.0, avg: 2.0, 99%: 3.0, max: 105.2 ], Slowdowns: 0
2020/11/17 12:40:34 Loop: 0, Int: 1, Dur(s): 1.0, Mode: GET, Ops: 4999, MB/s: 19.53, IO/s: 4999, Lat(ms): [ min: 1.1, avg: 2.0, 99%: 3.0, max: 104.5 ], Slowdowns: 0
2020/11/17 12:40:35 Loop: 0, Int: 2, Dur(s): 1.0, Mode: GET, Ops: 4771, MB/s: 18.64, IO/s: 4771, Lat(ms): [ min: 1.1, avg: 2.1, 99%: 3.0, max: 48.1 ], Slowdowns: 0
2020/11/17 12:40:36 Loop: 0, Int: 3, Dur(s): 1.0, Mode: GET, Ops: 4790, MB/s: 18.71, IO/s: 4790, Lat(ms): [ min: 1.0, avg: 2.1, 99%: 3.1, max: 67.3 ], Slowdowns: 0
2020/11/17 12:40:37 Loop: 0, Int: 4, Dur(s): 1.0, Mode: GET, Ops: 4795, MB/s: 18.73, IO/s: 4795, Lat(ms): [ min: 1.1, avg: 2.0, 99%: 3.1, max: 29.7 ], Slowdowns: 0
2020/11/17 12:40:38 Loop: 0, Int: 5, Dur(s): 1.0, Mode: GET, Ops: 4593, MB/s: 17.94, IO/s: 4593, Lat(ms): [ min: 1.1, avg: 2.1, 99%: 3.2, max: 40.0 ], Slowdowns: 0
2020/11/17 12:40:39 Loop: 0, Int: 6, Dur(s): 1.0, Mode: GET, Ops: 4650, MB/s: 18.16, IO/s: 4650, Lat(ms): [ min: 1.1, avg: 2.1, 99%: 3.2, max: 29.1 ], Slowdowns: 0
2020/11/17 12:40:40 Loop: 0, Int: TOTAL, Dur(s): 7.8, Mode: GET, Ops: 37325, MB/s: 18.65, IO/s: 4775, Lat(ms): [ min: 1.0, avg: 2.1, 99%: 3.1, max: 105.2 ], Slowdowns: 0
2020/11/17 12:40:40 Running Loop 0 OBJECT DELETE TEST
2020/11/17 12:40:41 Loop: 0, Int: 0, Dur(s): 1.0, Mode: DEL, Ops: 302, MB/s: 1.18, IO/s: 302, Lat(ms): [ min: 20.8, avg: 32.7, 99%: 52.3, max: 54.6 ], Slowdowns: 0
2020/11/17 12:40:42 Loop: 0, Int: 1, Dur(s): 1.0, Mode: DEL, Ops: 307, MB/s: 1.20, IO/s: 307, Lat(ms): [ min: 21.4, avg: 32.2, 99%: 54.0, max: 55.8 ], Slowdowns: 0
2020/11/17 12:40:43 Loop: 0, Int: 2, Dur(s): 1.0, Mode: DEL, Ops: 311, MB/s: 1.21, IO/s: 311, Lat(ms): [ min: 19.8, avg: 32.2, 99%: 51.5, max: 53.3 ], Slowdowns: 0
2020/11/17 12:40:44 Loop: 0, Int: 3, Dur(s): 1.0, Mode: DEL, Ops: 309, MB/s: 1.21, IO/s: 309, Lat(ms): [ min: 20.5, avg: 32.7, 99%: 65.4, max: 68.2 ], Slowdowns: 0
2020/11/17 12:40:45 Loop: 0, Int: 4, Dur(s): 1.0, Mode: DEL, Ops: 310, MB/s: 1.21, IO/s: 310, Lat(ms): [ min: 21.7, avg: 32.3, 99%: 62.5, max: 65.0 ], Slowdowns: 0
2020/11/17 12:40:46 Loop: 0, Int: 5, Dur(s): 1.0, Mode: DEL, Ops: 302, MB/s: 1.18, IO/s: 302, Lat(ms): [ min: 22.4, avg: 32.8, 99%: 72.8, max: 74.9 ], Slowdowns: 0
2020/11/17 12:40:47 Loop: 0, Int: 6, Dur(s): 1.0, Mode: DEL, Ops: 300, MB/s: 1.17, IO/s: 300, Lat(ms): [ min: 23.5, avg: 33.4, 99%: 44.3, max: 48.5 ], Slowdowns: 0
2020/11/17 12:40:48 Loop: 0, Int: 7, Dur(s): 1.0, Mode: DEL, Ops: 295, MB/s: 1.15, IO/s: 295, Lat(ms): [ min: 23.7, avg: 33.9, 99%: 46.3, max: 60.4 ], Slowdowns: 0
2020/11/17 12:40:49 Loop: 0, Int: 8, Dur(s): 1.0, Mode: DEL, Ops: 299, MB/s: 1.17, IO/s: 299, Lat(ms): [ min: 20.5, avg: 33.4, 99%: 52.2, max: 54.2 ], Slowdowns: 0
2020/11/17 12:40:50 Loop: 0, Int: 9, Dur(s): 1.0, Mode: DEL, Ops: 304, MB/s: 1.19, IO/s: 304, Lat(ms): [ min: 22.7, avg: 32.5, 99%: 47.7, max: 50.4 ], Slowdowns: 0
2020/11/17 12:40:50 Loop: 0, Int: TOTAL, Dur(s): 10.0, Mode: DEL, Ops: 3049, MB/s: 1.19, IO/s: 305, Lat(ms): [ min: 19.8, avg: 32.8, 99%: 59.0, max: 74.9 ], Slowdowns: 0
2020/11/17 12:40:50 Running Loop 0 BUCKET DELETE TEST
2020/11/17 12:40:52 Loop: 0, Int: 0, Dur(s): 1.0, Mode: BDEL, Ops: 0, MB/s: 0.00, IO/s: 0, Lat(ms): [ min: 0.0, avg: 0.0, 99%: 0.0, max: 0.0 ], Slowdowns: 0
2020/11/17 12:40:52 Loop: 0, Int: TOTAL, Dur(s): 1.4, Mode: BDEL, Ops: 10, MB/s: 0.00, IO/s: 7, Lat(ms): [ min: 1216.6, avg: 1332.1, 99%: 1377.8, max: 1377.8 ], Slowdowns: 0
benchmark$ hsbench -a accesstoken -s secret -z 4K -d 10 -t 10 -b 10 -u http://localhost:8333 -m "cxipgldx" -bp "hsbench-"
2020/11/17 20:05:51 Hotsauce S3 Benchmark Version 0.1
2020/11/17 20:05:51 Parameters:
2020/11/17 20:05:51 url=http://localhost:8333
2020/11/17 20:05:51 object_prefix=
2020/11/17 20:05:51 bucket_prefix=hsbench-
2020/11/17 20:05:51 region=us-east-1
2020/11/17 20:05:51 modes=cxipgldx
2020/11/17 20:05:51 output=
2020/11/17 20:05:51 json_output=
2020/11/17 20:05:51 max_keys=1000
2020/11/17 20:05:51 object_count=-1
2020/11/17 20:05:51 bucket_count=10
2020/11/17 20:05:51 duration=10
2020/11/17 20:05:51 threads=10
2020/11/17 20:05:51 loops=1
2020/11/17 20:05:51 size=4K
2020/11/17 20:05:51 interval=1.000000
2020/11/17 20:05:51 Running Loop 0 BUCKET CLEAR TEST
2020/11/17 20:05:51 Loop: 0, Int: TOTAL, Dur(s): 0.0, Mode: BCLR, Ops: 0, MB/s: 0.00, IO/s: 0, Lat(ms): [ min: 0.0, avg: 0.0, 99%: 0.0, max: 0.0 ], Slowdowns: 0
2020/11/17 20:05:51 Running Loop 0 BUCKET DELETE TEST
2020/11/17 20:05:51 Loop: 0, Int: TOTAL, Dur(s): 0.0, Mode: BDEL, Ops: 0, MB/s: 0.00, IO/s: 0, Lat(ms): [ min: 0.0, avg: 0.0, 99%: 0.0, max: 0.0 ], Slowdowns: 0
2020/11/17 20:05:51 Running Loop 0 BUCKET INIT TEST
2020/11/17 20:05:51 Loop: 0, Int: TOTAL, Dur(s): 0.0, Mode: BINIT, Ops: 10, MB/s: 0.00, IO/s: 3166, Lat(ms): [ min: 1.8, avg: 2.7, 99%: 3.0, max: 3.0 ], Slowdowns: 0
2020/11/17 20:05:51 Running Loop 0 OBJECT PUT TEST
2020/11/17 20:05:52 Loop: 0, Int: 0, Dur(s): 1.0, Mode: PUT, Ops: 3641, MB/s: 14.22, IO/s: 3641, Lat(ms): [ min: 1.4, avg: 2.7, 99%: 7.3, max: 91.6 ], Slowdowns: 0
2020/11/17 20:05:53 Loop: 0, Int: 1, Dur(s): 1.0, Mode: PUT, Ops: 3986, MB/s: 15.57, IO/s: 3986, Lat(ms): [ min: 1.4, avg: 2.5, 99%: 5.6, max: 24.9 ], Slowdowns: 0
2020/11/17 20:05:54 Loop: 0, Int: 2, Dur(s): 1.0, Mode: PUT, Ops: 4091, MB/s: 15.98, IO/s: 4091, Lat(ms): [ min: 1.4, avg: 2.4, 99%: 5.4, max: 20.0 ], Slowdowns: 0
2020/11/17 20:05:55 Loop: 0, Int: 3, Dur(s): 1.0, Mode: PUT, Ops: 4011, MB/s: 15.67, IO/s: 4011, Lat(ms): [ min: 1.4, avg: 2.5, 99%: 5.6, max: 20.6 ], Slowdowns: 0
2020/11/17 20:05:56 Loop: 0, Int: 4, Dur(s): 1.0, Mode: PUT, Ops: 4145, MB/s: 16.19, IO/s: 4145, Lat(ms): [ min: 1.1, avg: 2.4, 99%: 5.8, max: 19.3 ], Slowdowns: 0
2020/11/17 20:05:57 Loop: 0, Int: 5, Dur(s): 1.0, Mode: PUT, Ops: 3648, MB/s: 14.25, IO/s: 3648, Lat(ms): [ min: 1.2, avg: 2.7, 99%: 7.4, max: 22.5 ], Slowdowns: 0
2020/11/17 20:05:58 Loop: 0, Int: 6, Dur(s): 1.0, Mode: PUT, Ops: 2978, MB/s: 11.63, IO/s: 2978, Lat(ms): [ min: 1.4, avg: 3.4, 99%: 9.8, max: 45.6 ], Slowdowns: 0
2020/11/17 20:05:59 Loop: 0, Int: 7, Dur(s): 1.0, Mode: PUT, Ops: 3287, MB/s: 12.84, IO/s: 3287, Lat(ms): [ min: 1.5, avg: 3.0, 99%: 9.0, max: 23.7 ], Slowdowns: 0
2020/11/17 20:06:00 Loop: 0, Int: 8, Dur(s): 1.0, Mode: PUT, Ops: 3201, MB/s: 12.50, IO/s: 3201, Lat(ms): [ min: 1.6, avg: 3.1, 99%: 8.4, max: 20.7 ], Slowdowns: 0
2020/11/17 20:06:01 Loop: 0, Int: 9, Dur(s): 1.0, Mode: PUT, Ops: 3317, MB/s: 12.96, IO/s: 3317, Lat(ms): [ min: 1.4, avg: 3.0, 99%: 8.0, max: 20.1 ], Slowdowns: 0
2020/11/17 20:06:01 Loop: 0, Int: TOTAL, Dur(s): 10.0, Mode: PUT, Ops: 36315, MB/s: 14.18, IO/s: 3631, Lat(ms): [ min: 1.1, avg: 2.7, 99%: 7.2, max: 91.6 ], Slowdowns: 0
2020/11/17 20:06:01 Running Loop 0 OBJECT GET TEST
2020/11/17 20:06:02 Loop: 0, Int: 0, Dur(s): 1.0, Mode: GET, Ops: 3724, MB/s: 14.55, IO/s: 3724, Lat(ms): [ min: 1.3, avg: 2.6, 99%: 4.9, max: 19.3 ], Slowdowns: 0
2020/11/17 20:06:03 Loop: 0, Int: 1, Dur(s): 1.0, Mode: GET, Ops: 4236, MB/s: 16.55, IO/s: 4236, Lat(ms): [ min: 1.0, avg: 2.3, 99%: 4.0, max: 24.3 ], Slowdowns: 0
2020/11/17 20:06:04 Loop: 0, Int: 2, Dur(s): 1.0, Mode: GET, Ops: 4303, MB/s: 16.81, IO/s: 4303, Lat(ms): [ min: 1.0, avg: 2.3, 99%: 4.0, max: 33.6 ], Slowdowns: 0
2020/11/17 20:06:05 Loop: 0, Int: 3, Dur(s): 1.0, Mode: GET, Ops: 4613, MB/s: 18.02, IO/s: 4613, Lat(ms): [ min: 1.2, avg: 2.1, 99%: 3.5, max: 25.9 ], Slowdowns: 0
2020/11/17 20:06:06 Loop: 0, Int: 4, Dur(s): 1.0, Mode: GET, Ops: 4461, MB/s: 17.43, IO/s: 4461, Lat(ms): [ min: 1.2, avg: 2.2, 99%: 3.1, max: 32.7 ], Slowdowns: 0
2020/11/17 20:06:07 Loop: 0, Int: 5, Dur(s): 1.0, Mode: GET, Ops: 4169, MB/s: 16.29, IO/s: 4169, Lat(ms): [ min: 1.0, avg: 2.4, 99%: 4.2, max: 27.5 ], Slowdowns: 0
2020/11/17 20:06:08 Loop: 0, Int: 6, Dur(s): 1.0, Mode: GET, Ops: 4121, MB/s: 16.10, IO/s: 4121, Lat(ms): [ min: 1.1, avg: 2.4, 99%: 3.7, max: 5.7 ], Slowdowns: 0
2020/11/17 20:06:09 Loop: 0, Int: 7, Dur(s): 1.0, Mode: GET, Ops: 3300, MB/s: 12.89, IO/s: 3300, Lat(ms): [ min: 1.4, avg: 3.0, 99%: 4.5, max: 8.8 ], Slowdowns: 0
2020/11/17 20:06:10 Loop: 0, Int: TOTAL, Dur(s): 9.0, Mode: GET, Ops: 36315, MB/s: 15.77, IO/s: 4038, Lat(ms): [ min: 1.0, avg: 2.4, 99%: 4.1, max: 33.6 ], Slowdowns: 0
2020/11/17 20:06:10 Running Loop 0 BUCKET LIST TEST
2020/11/17 20:06:10 Loop: 0, Int: TOTAL, Dur(s): 0.3, Mode: LIST, Ops: 40, MB/s: 0.00, IO/s: 133, Lat(ms): [ min: 45.5, avg: 73.1, 99%: 93.6, max: 93.6 ], Slowdowns: 0
2020/11/17 20:06:10 Running Loop 0 OBJECT DELETE TEST
2020/11/17 20:06:11 Loop: 0, Int: 0, Dur(s): 1.0, Mode: DEL, Ops: 5388, MB/s: 21.05, IO/s: 5388, Lat(ms): [ min: 0.7, avg: 1.8, 99%: 4.5, max: 99.4 ], Slowdowns: 0
2020/11/17 20:06:12 Loop: 0, Int: 1, Dur(s): 1.0, Mode: DEL, Ops: 6375, MB/s: 24.90, IO/s: 6375, Lat(ms): [ min: 0.8, avg: 1.6, 99%: 3.0, max: 8.6 ], Slowdowns: 0
2020/11/17 20:06:13 Loop: 0, Int: 2, Dur(s): 1.0, Mode: DEL, Ops: 3709, MB/s: 14.49, IO/s: 3709, Lat(ms): [ min: 0.8, avg: 2.7, 99%: 12.1, max: 17.1 ], Slowdowns: 0
2020/11/17 20:06:14 Loop: 0, Int: 3, Dur(s): 1.0, Mode: DEL, Ops: 1495, MB/s: 5.84, IO/s: 1495, Lat(ms): [ min: 0.8, avg: 6.7, 99%: 14.5, max: 17.9 ], Slowdowns: 0
2020/11/17 20:06:15 Loop: 0, Int: 4, Dur(s): 1.0, Mode: DEL, Ops: 1437, MB/s: 5.61, IO/s: 1437, Lat(ms): [ min: 0.9, avg: 7.0, 99%: 15.6, max: 17.7 ], Slowdowns: 0
2020/11/17 20:06:16 Loop: 0, Int: 5, Dur(s): 1.0, Mode: DEL, Ops: 1360, MB/s: 5.31, IO/s: 1360, Lat(ms): [ min: 0.9, avg: 7.3, 99%: 15.8, max: 25.9 ], Slowdowns: 0
2020/11/17 20:06:18 Loop: 0, Int: 6, Dur(s): 1.0, Mode: DEL, Ops: 1289, MB/s: 5.04, IO/s: 1289, Lat(ms): [ min: 0.8, avg: 7.4, 99%: 17.6, max: 29.5 ], Slowdowns: 0
2020/11/17 20:06:18 Loop: 0, Int: 7, Dur(s): 1.0, Mode: DEL, Ops: 313, MB/s: 1.22, IO/s: 313, Lat(ms): [ min: 0.8, avg: 33.1, 99%: 822.3, max: 823.5 ], Slowdowns: 0
2020/11/17 20:06:19 Loop: 0, Int: 8, Dur(s): 1.0, Mode: DEL, Ops: 1320, MB/s: 5.16, IO/s: 1320, Lat(ms): [ min: 1.0, avg: 7.6, 99%: 16.9, max: 19.6 ], Slowdowns: 0
2020/11/17 20:06:20 Loop: 0, Int: 9, Dur(s): 1.0, Mode: DEL, Ops: 1270, MB/s: 4.96, IO/s: 1270, Lat(ms): [ min: 1.0, avg: 7.9, 99%: 19.5, max: 29.7 ], Slowdowns: 0
2020/11/17 20:06:20 Loop: 0, Int: TOTAL, Dur(s): 10.0, Mode: DEL, Ops: 23966, MB/s: 9.36, IO/s: 2396, Lat(ms): [ min: 0.7, avg: 4.2, 99%: 15.3, max: 823.5 ], Slowdowns: 0
2020/11/17 20:06:20 Running Loop 0 BUCKET DELETE TEST
2020/11/17 20:06:21 Loop: 0, Int: TOTAL, Dur(s): 0.4, Mode: BDEL, Ops: 10, MB/s: 0.00, IO/s: 24, Lat(ms): [ min: 371.6, avg: 407.9, 99%: 421.6, max: 421.6 ], Slowdowns: 0
benchmark$
```