- 06 Apr, 2018 1 commit
-
-
Kirill Smelkov authored
-
- 05 Apr, 2018 9 commits
-
-
Kirill Smelkov authored
NEO 1.9 * tag 'v1.9': Release version 1.9 master: fix resumption of backup replication (internal or not) master: fix/simplify generation of TID master: fix possible failure when reading data in a backup cluster with replicas
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 04 Apr, 2018 4 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 27 Mar, 2018 1 commit
-
-
Kirill Smelkov authored
For both current backends (SQLite and fs1) there is currently a problem of working with UTF-8 filenames if opening is handled via urls. For example if backend string is sqlite://neo.sqlite·P1-1 after parsing as URL and further reassembled as string it will be neo.sqlite%C2%B7P1-1 with then errors like neo.sqlite%C2%B7P1-1: open: unable to open database file showing. Since storage backends primarily work with local files it makes sense not to play raw url reassembly games and just pass raw strings to backends for open. SQLite uri processing is still possible, via e.g. sqlite://file:filepath?param=value,... See https://www.sqlite.org/c3ref/open.html and https://www.sqlite.org/uri.html for details.
-
- 26 Mar, 2018 5 commits
-
-
Kirill Smelkov authored
Previously when the code was trying to load testdata/ files with different CWD it was failing with something like testdata/zlib/wczdata: no such file or directory. Fix it by constructing testdata path relative to __file__ of corresponding source.
-
Kirill Smelkov authored
When source device is mounted multiple times, findmnt reports it e.g. this way: |-/mnt/SLAPOS /dev/md2 ext4 rw,relatime,stripe=256,data=ordered |-/srv/slapgrid /dev/md2[/srv/slapgrid] ext4 rw,relatime,stripe=256,data=ordered |-/opt/slapgrid /dev/md2[/opt/slapgrid] ext4 rw,relatime,stripe=256,data=ordered `-/opt/slapos /dev/md2[/opt/slapos] ext4 rw,relatime,stripe=256,data=ordered and then it breaks: $ ./neotest info-local date: Mon, 26 Mar 2018 21:52:08 +0200 xnode: slapuser5@sd-102959.dedibox.fr (2001:67c:1254:e:49::1 (+ 17·ipv6) 10.0.31.249 (+ 17·ipv4)) uname: Linux vifibcloud-onlinenet-hosting-002 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GNU/Linux cpu: Intel(R) Xeon(R) CPU D-1531 @ 2.20GHz cpu/[0-11]/freq: intel_pstate/powersave [0.80GHz - 2.70GHz] cpu/[0-11]/idle: acpi_idle/menu: POLL·0/0 C1·1/2 C2·41/82 # elat/tres µs WARNING: cpu: frequency not fixed - benchmark timings won't be stable WARNING: cpu: C-state exit-latency is max 41μs - benchmark timings won't be stable WARNING: cpu: (up to that might be adding to networked and IPC request-reply latency) realpath: '/dev/md2[/srv/slapgrid]': No such file or directory Fix it by telling findmnt to not include '[/dir]' (-v option). While we are here also add -u which means "Do not truncate text in columns" which is also good to have on a safe side.
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
In particular try to support ZEO4: - during handshake we now first wait for remote server to announce its preferred protocol, and only then send the version we select to use. This is the procedure original ZEO server-client do. - teach rpc.call to decode exceptions not only for how ZEO5 encodes them (marking via 2 flag in "async" field), but also on how ZEO4 and earlier encode them: via replying with (exc_type, exc_inst) and expecting client to dynamically check exc_type is a subtype of Exception. - handle other protocol differences - e.g. ZEO5 returns last_tid on register(), while earlier versions return nothing there.
-
- 21 Mar, 2018 4 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
Previous code used to warm up loading only one object which worked ok for 1 storage case but does not work well for multiple NEO storage nodes.
-
Kirill Smelkov authored
With default still being 1 partition. To be tested on field. Benchplot to be updated for new benchmark namings.
-
- 19 Mar, 2018 1 commit
-
-
Kirill Smelkov authored
Similarly to deco, neo1 and rio, neo/go/sqlite is speed-up a bit. And everything else close to noise. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ benchstat -split node,cluster,dataset 20180308-z6001-ffixed-noc_C1\(3µs\)-zwrk1s.txt 20180319-z6001.txt name old pystone/s new pystone/s delta node:z6001 pystone 115k ± 1% 113k ± 1% -1.35% (p=0.016 n=5+5) name old time/op new time/op delta node:z6001 crc32/py/4K 5.12µs ± 2% 5.13µs ± 3% ~ (p=1.000 n=5+5) crc32/go/4K 1.72µs ± 0% 1.76µs ± 5% ~ (p=0.794 n=4+5) sha1/py/4K 14.7µs ± 1% 14.7µs ± 1% ~ (p=0.841 n=5+5) sha1/go/4K 10.3µs ± 0% 12.7µs ±30% ~ (p=0.079 n=4+5) unzlib/py/wczdata 36.5µs ± 1% 39.3µs ± 9% ~ (p=0.548 n=5+5) unzlib/go/wczdata 31.2µs ± 0% 31.2µs ± 0% ~ (p=0.222 n=5+5) unzlib/py/prod1-avg 18.6µs ± 1% 19.6µs ±11% ~ (p=0.730 n=4+5) unzlib/go/prod1-avg 9.87µs ± 1% 9.88µs ± 1% ~ (p=1.000 n=5+5) disk/randread/direct/4K-min 127µs ± 1% 126µs ± 1% ~ (p=0.270 n=5+5) disk/randread/direct/4K-avg 168µs ± 0% 168µs ± 1% ~ (p=0.151 n=5+5) disk/randread/pagecache/4K-min 788ns ± 1% 784ns ± 1% ~ (p=0.270 n=5+5) disk/randread/pagecache/4K-avg 1.50µs ± 3% 1.47µs ±10% ~ (p=0.635 n=5+5) name old time/object new time/object delta cluster:z6001 dataset:wczblk1-8 fs1-zhash.py 37.6µs ± 1% 38.1µs ± 2% ~ (p=0.111 n=5+4) fs1-zhash.go 5.98µs ± 2% 6.28µs ±19% ~ (p=0.794 n=5+5) fs1-zhash.go+prefetch128 7.34µs ± 5% 7.20µs ± 4% ~ (p=0.603 n=5+5) zeo/py/fs1-zhash.py 590µs ± 4% 591µs ± 8% ~ (p=0.421 n=5+5) zeo/py/fs1-zhash.go 201µs ± 3% 201µs ± 2% ~ (p=0.841 n=5+5) zeo/py/fs1-zhash.go+prefetch128 102µs ± 2% 102µs ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zhash.py 482µs ± 4% 475µs ± 2% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zhash.go 222µs ± 1% 228µs ± 1% +2.67% (p=0.008 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 179µs ± 2% 180µs ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zhash.py 529µs ± 4% 526µs ± 4% ~ (p=0.886 n=4+4) neo/py(!log)/sql-zhash.go 275µs ± 1% 281µs ± 3% ~ (p=0.087 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 237µs ± 5% 241µs ± 4% ~ (p=0.222 n=5+5) neo/go/fs1-zhash.py 342µs ± 2% 337µs ±12% ~ (p=0.595 n=5+5) neo/go/fs1-zhash.go 91.2µs ± 2% 96.1µs ± 9% ~ (p=0.151 n=5+5) neo/go/fs1-zhash.go+prefetch128 36.6µs ± 2% 35.9µs ± 6% ~ (p=0.127 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 68.8µs ± 3% 68.6µs ± 5% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 26.5µs ± 3% 26.6µs ± 5% ~ (p=0.897 n=5+5) neo/go/sqlite-zhash.py 373µs ± 7% 350µs ± 7% ~ (p=0.151 n=5+5) neo/go/sqlite-zhash.go 143µs ± 3% 117µs ± 2% -18.18% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 39.0µs ± 5% 39.4µs ± 4% ~ (p=0.635 n=5+5) neo/go/sqlite-zhash.go(!sha1) 133µs ± 5% 107µs ± 1% -19.65% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 36.6µs ± 5% 37.2µs ± 5% ~ (p=0.452 n=5+5) cluster:z6001 dataset:prod1-1024 fs1-zhash.py 30.5µs ± 2% 30.6µs ± 2% ~ (p=0.794 n=5+4) fs1-zhash.go 4.60µs ± 0% 4.56µs ± 1% ~ (p=0.333 n=4+5) fs1-zhash.go+prefetch128 5.44µs ± 3% 5.24µs ± 5% ~ (p=0.143 n=5+5) zeo/py/fs1-zhash.py 555µs ± 2% 545µs ±10% ~ (p=0.841 n=5+5) zeo/py/fs1-zhash.go 169µs ± 1% 173µs ± 1% +2.54% (p=0.008 n=5+5) zeo/py/fs1-zhash.go+prefetch128 88.4µs ± 2% 88.5µs ± 1% ~ (p=0.952 n=5+5) neo/py(!log)/sqlite-zhash.py 467µs ± 4% 472µs ± 7% ~ (p=1.000 n=5+5) neo/py(!log)/sqlite-zhash.go 205µs ± 0% 209µs ± 0% +2.27% (p=0.008 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 161µs ± 1% 163µs ± 0% +1.09% (p=0.008 n=5+5) neo/py(!log)/sql-zhash.py 518µs ± 2% 581µs ±40% ~ (p=0.556 n=4+5) neo/py(!log)/sql-zhash.go 267µs ± 1% 266µs ± 1% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 226µs ± 9% 226µs ± 9% ~ (p=0.690 n=5+5) neo/go/fs1-zhash.py 320µs ±11% 311µs ±10% ~ (p=0.841 n=5+5) neo/go/fs1-zhash.go 76.3µs ± 3% 75.5µs ± 4% ~ (p=0.738 n=5+5) neo/go/fs1-zhash.go+prefetch128 23.6µs ± 2% 24.0µs ± 2% ~ (p=0.151 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 64.8µs ± 2% 64.9µs ± 3% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 20.5µs ± 3% 20.9µs ± 2% ~ (p=0.222 n=5+5) neo/go/sqlite-zhash.py 378µs ± 4% 325µs ± 8% -14.16% (p=0.008 n=5+5) neo/go/sqlite-zhash.go 129µs ± 3% 104µs ± 1% -18.91% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 34.8µs ± 2% 34.4µs ± 3% ~ (p=0.548 n=5+5) neo/go/sqlite-zhash.go(!sha1) 125µs ± 5% 101µs ± 6% -19.41% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 34.5µs ± 1% 34.8µs ± 1% +1.04% (p=0.040 n=5+5) name old req/s new req/s delta cluster:z6001 dataset:wczblk1-8 fs1-zwrk.go·1 231k ± 1% 228k ± 6% ~ (p=1.000 n=5+5) fs1-zwrk.go·2 446k ± 2% 446k ± 1% ~ (p=0.841 n=5+5) fs1-zwrk.go·3 659k ± 2% 661k ± 2% ~ (p=0.690 n=5+5) fs1-zwrk.go·4 876k ± 2% 877k ± 1% ~ (p=0.841 n=5+5) fs1-zwrk.go·8 1.75M ± 1% 1.78M ± 1% ~ (p=0.056 n=5+5) fs1-zwrk.go·12 2.53M ± 2% 2.55M ± 3% ~ (p=0.548 n=5+5) fs1-zwrk.go·16 2.91M ± 1% 2.92M ± 1% ~ (p=0.841 n=5+5) zeo/py/fs1-zwrk.go·1 5.14k ± 1% 5.09k ± 1% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·2 6.35k ± 0% 6.38k ± 2% ~ (p=0.905 n=4+5) zeo/py/fs1-zwrk.go·3 7.08k ± 0% 6.88k ± 0% -2.84% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·4 7.19k ± 2% 7.12k ± 1% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·8 7.54k ± 2% 7.45k ± 2% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·12 7.57k ± 2% 7.65k ± 2% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·16 7.66k ± 2% 7.64k ± 2% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 4.54k ± 1% 4.51k ± 2% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 5.68k ± 2% 5.54k ± 0% -2.48% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 5.70k ± 2% 5.52k ± 1% -3.16% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 5.65k ± 1% 5.49k ± 0% -2.87% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 5.64k ± 1% 5.59k ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 5.60k ± 6% 5.39k ± 7% ~ (p=0.095 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 5.55k ± 4% 5.56k ± 0% ~ (p=0.190 n=5+4) neo/py(!log)/sql-zwrk.go·1 3.62k ± 3% 3.58k ± 3% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·2 4.26k ± 4% 4.25k ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·3 4.29k ± 0% 4.09k ± 5% -4.61% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·4 4.21k ± 4% 4.26k ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·8 4.20k ± 1% 4.22k ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·12 4.19k ± 3% 4.18k ± 4% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·16 4.21k ± 1% 4.03k ± 4% ~ (p=0.056 n=5+5) neo/go/fs1-zwrk.go·1 11.1k ± 3% 11.1k ± 5% ~ (p=0.690 n=5+5) neo/go/fs1-zwrk.go·2 23.0k ± 1% 23.0k ± 1% ~ (p=0.548 n=5+5) neo/go/fs1-zwrk.go·3 32.2k ± 0% 32.2k ± 1% ~ (p=1.000 n=5+5) neo/go/fs1-zwrk.go·4 43.5k ± 0% 43.4k ± 0% ~ (p=0.548 n=5+5) neo/go/fs1-zwrk.go·8 78.3k ± 0% 77.9k ± 0% -0.48% (p=0.016 n=5+5) neo/go/fs1-zwrk.go·12 92.5k ± 0% 92.2k ± 0% ~ (p=0.095 n=5+5) neo/go/fs1-zwrk.go·16 102k ± 0% 102k ± 0% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 15.0k ± 6% 15.3k ± 7% ~ (p=0.310 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 31.8k ± 1% 31.9k ± 0% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 44.1k ± 0% 44.1k ± 0% ~ (p=0.222 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 57.9k ± 1% 57.9k ± 0% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 100k ± 0% 100k ± 0% ~ (p=1.000 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 116k ± 0% 116k ± 0% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 126k ± 0% 126k ± 0% ~ (p=0.841 n=5+5) neo/go/sqlite-zwrk.go·1 7.20k ± 1% 8.71k ± 2% +20.95% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 13.7k ± 0% 17.0k ± 0% +24.20% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 20.0k ± 1% 24.7k ± 1% +23.18% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 25.7k ± 0% 31.5k ± 0% +22.87% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 45.3k ± 0% 54.1k ± 1% +19.59% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 56.4k ± 0% 63.1k ± 0% +11.78% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 58.2k ± 1% 63.7k ± 1% +9.42% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 7.73k ± 1% 9.66k ± 2% +24.99% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 14.7k ± 1% 18.7k ± 1% +27.48% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 21.7k ± 0% 27.7k ± 0% +27.80% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 28.2k ± 0% 35.3k ± 1% +25.02% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 49.0k ± 0% 57.4k ± 0% +17.18% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 60.5k ± 0% 67.6k ± 1% +11.77% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 61.9k ± 0% 66.9k ± 1% +8.09% (p=0.008 n=5+5) cluster:z6001 dataset:prod1-1024 fs1-zwrk.go·1 349k ± 1% 353k ± 0% +1.37% (p=0.016 n=5+4) fs1-zwrk.go·2 672k ± 1% 672k ± 3% ~ (p=0.841 n=5+5) fs1-zwrk.go·3 982k ± 2% 1000k ± 3% ~ (p=0.310 n=5+5) fs1-zwrk.go·4 1.29M ± 7% 1.31M ± 3% ~ (p=0.548 n=5+5) fs1-zwrk.go·8 2.53M ± 3% 2.57M ± 2% ~ (p=0.310 n=5+5) fs1-zwrk.go·12 3.05M ± 1% 3.07M ± 1% ~ (p=0.310 n=5+5) fs1-zwrk.go·16 3.06M ± 1% 3.08M ± 1% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·1 6.13k ± 1% 6.06k ± 3% ~ (p=0.151 n=5+5) zeo/py/fs1-zwrk.go·2 8.21k ± 2% 8.11k ± 2% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·3 9.03k ± 2% 8.85k ± 0% -1.92% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·4 9.37k ± 2% 9.21k ± 1% -1.75% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·8 9.85k ± 5% 9.72k ± 3% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·12 9.57k ± 9% 9.98k ± 0% ~ (p=0.730 n=5+4) zeo/py/fs1-zwrk.go·16 10.3k ± 1% 10.0k ± 7% ~ (p=0.095 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 4.90k ± 1% 4.83k ± 1% ~ (p=0.056 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 5.90k ± 0% 5.77k ± 0% -2.16% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 5.86k ± 1% 5.75k ± 0% -1.78% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 5.75k ± 0% 5.50k ± 8% ~ (p=0.190 n=4+5) neo/py(!log)/sqlite-zwrk.go·8 5.84k ± 1% 5.74k ± 0% -1.67% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 5.51k ± 6% 5.72k ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 5.71k ± 1% 5.66k ± 7% ~ (p=0.548 n=5+5) neo/py(!log)/sql-zwrk.go·1 3.64k ± 7% 3.79k ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·2 4.35k ± 0% 4.38k ± 0% +0.65% (p=0.029 n=4+4) neo/py(!log)/sql-zwrk.go·3 4.36k ± 2% 4.36k ± 0% ~ (p=0.286 n=5+4) neo/py(!log)/sql-zwrk.go·4 4.32k ± 0% 4.36k ± 0% +0.93% (p=0.029 n=4+4) neo/py(!log)/sql-zwrk.go·8 4.37k ± 1% 4.32k ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zwrk.go·12 4.40k ± 1% 4.32k ± 1% -1.77% (p=0.032 n=5+5) neo/py(!log)/sql-zwrk.go·16 4.34k ± 1% 4.28k ± 2% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·1 14.2k ± 1% 14.0k ± 3% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·2 28.5k ± 1% 28.3k ± 1% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·3 40.6k ± 0% 40.6k ± 0% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·4 53.2k ± 1% 53.0k ± 0% ~ (p=0.222 n=5+5) neo/go/fs1-zwrk.go·8 90.1k ± 1% 90.4k ± 1% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·12 96.0k ± 1% 95.3k ± 1% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·16 91.4k ± 1% 89.7k ± 2% -1.86% (p=0.016 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 16.4k ± 1% 16.5k ± 4% ~ (p=0.421 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 33.4k ± 1% 33.3k ± 1% ~ (p=0.222 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 46.7k ± 0% 46.5k ± 1% -0.48% (p=0.032 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 60.4k ± 0% 60.3k ± 0% ~ (p=0.310 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 98.9k ± 1% 99.0k ± 1% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 103k ± 1% 103k ± 1% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 97.2k ± 1% 97.0k ± 1% ~ (p=0.548 n=5+5) neo/go/sqlite-zwrk.go·1 7.92k ± 2% 9.85k ± 1% +24.42% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 14.7k ± 1% 18.9k ± 1% +28.67% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 21.3k ± 0% 27.4k ± 2% +28.93% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 27.5k ± 1% 34.7k ± 1% +26.17% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 44.9k ± 1% 51.8k ± 1% +15.20% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 52.3k ± 0% 55.7k ± 1% +6.46% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 48.4k ± 1% 50.8k ± 1% +4.92% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 8.17k ± 2% 10.11k ± 1% +23.70% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 15.2k ± 1% 19.6k ± 0% +29.40% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 22.0k ± 0% 28.5k ± 0% +29.64% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 28.2k ± 0% 36.1k ± 0% +27.93% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 45.3k ± 0% 52.9k ± 1% +16.77% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 52.0k ± 1% 57.1k ± 1% +9.93% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 48.4k ± 1% 51.5k ± 1% +6.45% (p=0.008 n=5+5) name old latency-time/object new latency-time/object delta cluster:z6001 dataset:wczblk1-8 fs1-zwrk.go·1 4.33µs ± 1% 4.39µs ± 6% ~ (p=1.000 n=5+5) fs1-zwrk.go·2 4.49µs ± 2% 4.49µs ± 1% ~ (p=0.841 n=5+5) fs1-zwrk.go·3 4.56µs ± 2% 4.54µs ± 2% ~ (p=0.690 n=5+5) fs1-zwrk.go·4 4.57µs ± 2% 4.56µs ± 1% ~ (p=0.841 n=5+5) fs1-zwrk.go·8 4.56µs ± 1% 4.50µs ± 1% ~ (p=0.056 n=5+5) fs1-zwrk.go·12 4.75µs ± 2% 4.70µs ± 3% ~ (p=0.548 n=5+5) fs1-zwrk.go·16 5.49µs ± 1% 5.48µs ± 1% ~ (p=0.841 n=5+5) zeo/py/fs1-zwrk.go·1 195µs ± 1% 196µs ± 1% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·2 315µs ± 0% 313µs ± 2% ~ (p=0.905 n=4+5) zeo/py/fs1-zwrk.go·3 424µs ± 0% 436µs ± 0% +2.93% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·4 556µs ± 2% 562µs ± 1% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·8 1.06ms ± 2% 1.07ms ± 2% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·12 1.58ms ± 2% 1.57ms ± 2% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·16 2.09ms ± 2% 2.10ms ± 2% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 220µs ± 1% 222µs ± 2% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 352µs ± 2% 361µs ± 0% +2.53% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 526µs ± 2% 543µs ± 1% +3.26% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 708µs ± 1% 729µs ± 0% +2.94% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 1.42ms ± 1% 1.43ms ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 2.15ms ± 6% 2.23ms ± 8% ~ (p=0.095 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 2.89ms ± 4% 2.88ms ± 0% ~ (p=0.190 n=5+4) neo/py(!log)/sql-zwrk.go·1 276µs ± 3% 279µs ± 3% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·2 470µs ± 4% 470µs ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·3 699µs ± 0% 734µs ± 5% +4.97% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·4 950µs ± 5% 938µs ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·8 1.91ms ± 1% 1.89ms ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·12 2.87ms ± 3% 2.87ms ± 4% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·16 3.80ms ± 1% 3.97ms ± 5% ~ (p=0.056 n=5+5) neo/go/fs1-zwrk.go·1 90.5µs ± 3% 90.5µs ± 5% ~ (p=0.690 n=5+5) neo/go/fs1-zwrk.go·2 86.9µs ± 1% 87.1µs ± 1% ~ (p=0.548 n=5+5) neo/go/fs1-zwrk.go·3 93.2µs ± 0% 93.2µs ± 1% ~ (p=1.000 n=5+5) neo/go/fs1-zwrk.go·4 91.9µs ± 0% 92.1µs ± 0% ~ (p=0.548 n=5+5) neo/go/fs1-zwrk.go·8 102µs ± 0% 103µs ± 0% +0.48% (p=0.016 n=5+5) neo/go/fs1-zwrk.go·12 130µs ± 0% 130µs ± 0% ~ (p=0.095 n=5+5) neo/go/fs1-zwrk.go·16 156µs ± 0% 157µs ± 0% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 66.6µs ± 6% 65.3µs ± 8% ~ (p=0.310 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 62.9µs ± 1% 62.8µs ± 0% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 68.0µs ± 0% 68.1µs ± 0% ~ (p=0.222 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 69.0µs ± 1% 69.1µs ± 0% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 79.8µs ± 0% 79.8µs ± 0% ~ (p=1.000 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 103µs ± 0% 103µs ± 0% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 127µs ± 0% 127µs ± 0% ~ (p=0.841 n=5+5) neo/go/sqlite-zwrk.go·1 139µs ± 1% 115µs ± 2% -17.32% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 147µs ± 0% 118µs ± 0% -19.49% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 150µs ± 1% 122µs ± 1% -18.81% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 156µs ± 0% 127µs ± 0% -18.61% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 177µs ± 0% 148µs ± 1% -16.38% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 213µs ± 0% 190µs ± 0% -10.54% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 275µs ± 1% 251µs ± 1% -8.61% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 129µs ± 1% 103µs ± 2% -19.99% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 136µs ± 1% 107µs ± 0% -21.56% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 138µs ± 0% 108µs ± 0% -21.75% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 142µs ± 0% 113µs ± 1% -20.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 163µs ± 0% 139µs ± 0% -14.66% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 198µs ± 0% 178µs ± 1% -10.53% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 259µs ± 0% 239µs ± 1% -7.48% (p=0.008 n=5+5) cluster:z6001 dataset:prod1-1024 fs1-zwrk.go·1 2.87µs ± 1% 2.83µs ± 0% -1.35% (p=0.016 n=5+4) fs1-zwrk.go·2 2.98µs ± 1% 2.98µs ± 3% ~ (p=0.841 n=5+5) fs1-zwrk.go·3 3.05µs ± 2% 3.00µs ± 3% ~ (p=0.310 n=5+5) fs1-zwrk.go·4 3.10µs ± 7% 3.05µs ± 3% ~ (p=0.500 n=5+5) fs1-zwrk.go·8 3.16µs ± 3% 3.11µs ± 2% ~ (p=0.310 n=5+5) fs1-zwrk.go·12 3.94µs ± 1% 3.91µs ± 1% ~ (p=0.310 n=5+5) fs1-zwrk.go·16 5.23µs ± 1% 5.20µs ± 1% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·1 163µs ± 1% 165µs ± 3% ~ (p=0.151 n=5+5) zeo/py/fs1-zwrk.go·2 244µs ± 2% 246µs ± 2% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·3 332µs ± 2% 339µs ± 0% +1.94% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·4 427µs ± 2% 434µs ± 1% +1.78% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·8 813µs ± 5% 823µs ± 3% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·12 1.26ms ± 9% 1.20ms ± 0% ~ (p=0.730 n=5+4) zeo/py/fs1-zwrk.go·16 1.55ms ± 1% 1.60ms ± 8% ~ (p=0.095 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 204µs ± 1% 207µs ± 1% ~ (p=0.056 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 339µs ± 0% 347µs ± 0% +2.21% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 512µs ± 1% 522µs ± 0% +1.80% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 695µs ± 0% 730µs ± 9% ~ (p=0.190 n=4+5) neo/py(!log)/sqlite-zwrk.go·8 1.37ms ± 1% 1.39ms ± 0% +1.68% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 2.18ms ± 6% 2.10ms ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 2.80ms ± 1% 2.83ms ± 8% ~ (p=0.548 n=5+5) neo/py(!log)/sql-zwrk.go·1 275µs ± 7% 264µs ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·2 460µs ± 0% 457µs ± 0% -0.64% (p=0.029 n=4+4) neo/py(!log)/sql-zwrk.go·3 689µs ± 1% 688µs ± 0% ~ (p=0.286 n=5+4) neo/py(!log)/sql-zwrk.go·4 927µs ± 0% 918µs ± 0% -0.92% (p=0.029 n=4+4) neo/py(!log)/sql-zwrk.go·8 1.83ms ± 1% 1.85ms ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zwrk.go·12 2.73ms ± 1% 2.78ms ± 1% +1.81% (p=0.032 n=5+5) neo/py(!log)/sql-zwrk.go·16 3.69ms ± 1% 3.74ms ± 2% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·1 70.2µs ± 1% 71.4µs ± 3% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·2 70.3µs ± 1% 70.8µs ± 1% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·3 73.8µs ± 0% 74.0µs ± 0% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·4 75.2µs ± 1% 75.4µs ± 0% ~ (p=0.222 n=5+5) neo/go/fs1-zwrk.go·8 88.8µs ± 1% 88.5µs ± 1% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·12 125µs ± 1% 126µs ± 1% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·16 175µs ± 1% 178µs ± 2% +1.89% (p=0.016 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 61.1µs ± 1% 60.8µs ± 4% ~ (p=0.421 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 59.8µs ± 1% 60.1µs ± 1% ~ (p=0.222 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 64.2µs ± 0% 64.5µs ± 1% +0.49% (p=0.032 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 66.2µs ± 0% 66.3µs ± 0% ~ (p=0.310 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 80.9µs ± 1% 80.8µs ± 1% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 117µs ± 1% 116µs ± 1% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 165µs ± 1% 165µs ± 1% ~ (p=0.548 n=5+5) neo/go/sqlite-zwrk.go·1 126µs ± 2% 102µs ± 1% -19.63% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 136µs ± 1% 106µs ± 1% -22.28% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 141µs ± 0% 109µs ± 1% -22.43% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 145µs ± 1% 115µs ± 1% -20.75% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 178µs ± 1% 155µs ± 1% -13.19% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 229µs ± 0% 215µs ± 1% -6.06% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 331µs ± 1% 315µs ± 1% -4.68% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 122µs ± 2% 99µs ± 1% -19.17% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 132µs ± 1% 102µs ± 0% -22.72% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 136µs ± 0% 105µs ± 0% -22.86% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 142µs ± 0% 111µs ± 0% -21.83% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 177µs ± 0% 151µs ± 1% -14.36% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 231µs ± 1% 210µs ± 1% -9.03% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 331µs ± 1% 311µs ± 1% -6.06% (p=0.008 n=5+5)
-
- 18 Mar, 2018 6 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
Similarly to deco and neo1, neo/go/sqlite is speed-up a bit. And everything else is within noise. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ benchstat -split node,cluster,dataset 20180308-rio-ffixed-noc_C1\(1µs\)-zwrk1s.txt 20180318-rio.txt name old pystone/s new pystone/s delta node:rio pystone 142k ± 3% 144k ± 2% ~ (p=0.548 n=5+5) name old time/op new time/op delta node:rio crc32/py/4K 4.77µs ± 1% 4.81µs ± 1% ~ (p=0.056 n=5+5) crc32/go/4K 1.49µs ± 0% 1.49µs ± 0% -0.21% (p=0.032 n=5+5) sha1/py/4K 8.07µs ± 4% 7.99µs ± 2% ~ (p=0.246 n=5+5) sha1/go/4K 8.93µs ± 0% 8.93µs ± 0% ~ (p=0.667 n=4+5) unzlib/py/wczdata 25.1µs ± 1% 25.2µs ± 0% ~ (p=0.548 n=5+5) unzlib/go/wczdata 22.9µs ± 0% 22.8µs ± 0% -0.14% (p=0.032 n=5+5) unzlib/py/prod1-avg 6.85µs ±25% 7.25µs ± 1% ~ (p=0.905 n=5+4) unzlib/go/prod1-avg 5.02µs ± 1% 5.01µs ± 0% ~ (p=0.349 n=5+5) disk/randread/direct/4K-min 93.4µs ± 0% 92.0µs ± 0% -1.48% (p=0.016 n=5+4) disk/randread/direct/4K-avg 116µs ± 0% 115µs ± 0% -0.81% (p=0.008 n=5+5) disk/randread/pagecache/4K-min 570ns ± 1% 567ns ± 1% ~ (p=0.690 n=5+5) disk/randread/pagecache/4K-avg 1.00µs ± 1% 1.00µs ± 1% ~ (p=0.214 n=5+5) name old time/object new time/object delta cluster:rio dataset:wczblk1-8 fs1-zhash.py 29.0µs ± 2% 29.0µs ± 2% ~ (p=0.905 n=5+4) fs1-zhash.go 4.60µs ± 0% 4.70µs ± 0% +2.17% (p=0.029 n=4+4) fs1-zhash.go+prefetch128 4.62µs ± 5% 4.44µs ± 4% ~ (p=0.071 n=5+5) zeo/py/fs1-zhash.py 375µs ± 2% 377µs ± 4% ~ (p=0.841 n=5+5) zeo/py/fs1-zhash.go 135µs ± 1% 137µs ± 2% ~ (p=0.151 n=5+5) zeo/py/fs1-zhash.go+prefetch128 73.6µs ± 3% 76.6µs ± 4% +4.13% (p=0.032 n=5+5) neo/py(!log)/sqlite-zhash.py 315µs ± 6% 310µs ± 7% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zhash.go 155µs ± 5% 149µs ± 4% ~ (p=0.056 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 126µs ± 1% 122µs ± 2% -3.13% (p=0.008 n=5+5) neo/py(!log)/sql-zhash.py 376µs ±41% 380µs ±55% ~ (p=0.690 n=5+5) neo/py(!log)/sql-zhash.go 183µs ± 2% 179µs ± 7% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 161µs ± 3% 152µs ± 2% -5.56% (p=0.008 n=5+5) neo/go/fs1-zhash.py 216µs ± 1% 215µs ±12% ~ (p=0.135 n=5+5) neo/go/fs1-zhash.go 67.9µs ± 1% 65.9µs ± 1% -2.95% (p=0.008 n=5+5) neo/go/fs1-zhash.go+prefetch128 28.4µs ± 5% 28.3µs ± 2% ~ (p=0.476 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 44.1µs ± 4% 41.3µs ± 3% -6.26% (p=0.016 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 19.1µs ± 6% 18.4µs ± 4% ~ (p=0.254 n=5+5) neo/go/sqlite-zhash.py 252µs ± 1% 234µs ± 4% -6.95% (p=0.008 n=5+5) neo/go/sqlite-zhash.go 103µs ± 3% 80µs ± 3% -21.74% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 38.0µs ± 9% 33.7µs ± 2% -11.22% (p=0.016 n=5+5) neo/go/sqlite-zhash.go(!sha1) 93.0µs ± 2% 72.7µs ± 2% -21.79% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 33.4µs ± 3% 32.7µs ± 2% ~ (p=0.111 n=5+5) cluster:rio dataset:prod1-1024 fs1-zhash.py 23.8µs ± 2% 24.0µs ± 1% ~ (p=0.381 n=5+4) fs1-zhash.go 3.40µs ± 0% 3.40µs ± 0% ~ (all equal) fs1-zhash.go+prefetch128 3.16µs ± 8% 3.00µs ± 7% ~ (p=0.159 n=5+5) zeo/py/fs1-zhash.py 346µs ± 2% 348µs ± 8% ~ (p=0.690 n=5+5) zeo/py/fs1-zhash.go 114µs ± 1% 112µs ± 1% ~ (p=0.063 n=5+5) zeo/py/fs1-zhash.go+prefetch128 64.4µs ± 2% 64.3µs ± 1% ~ (p=0.881 n=5+5) neo/py(!log)/sqlite-zhash.py 291µs ± 0% 308µs ± 7% +6.03% (p=0.016 n=5+5) neo/py(!log)/sqlite-zhash.go 142µs ± 2% 145µs ± 2% ~ (p=0.167 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 117µs ± 1% 117µs ± 2% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zhash.py 374µs ±41% 381µs ±49% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zhash.go 173µs ± 8% 165µs ± 1% -4.65% (p=0.016 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 148µs ± 2% 147µs ± 2% ~ (p=0.310 n=5+5) neo/go/fs1-zhash.py 210µs ± 3% 204µs ± 3% ~ (p=0.151 n=5+5) neo/go/fs1-zhash.go 50.2µs ± 2% 46.9µs ± 1% -6.61% (p=0.008 n=5+5) neo/go/fs1-zhash.go+prefetch128 19.4µs ± 2% 18.9µs ± 5% ~ (p=0.246 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 40.6µs ± 2% 39.2µs ± 2% -3.50% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 15.8µs ± 2% 15.4µs ± 3% ~ (p=0.095 n=5+5) neo/go/sqlite-zhash.py 262µs ± 4% 229µs ± 2% -12.50% (p=0.008 n=5+5) neo/go/sqlite-zhash.go 93.8µs ± 1% 70.7µs ± 1% -24.57% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 33.4µs ± 6% 30.3µs ± 2% -9.29% (p=0.008 n=5+5) neo/go/sqlite-zhash.go(!sha1) 90.9µs ± 4% 67.9µs ± 1% -25.30% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 33.2µs ± 2% 30.8µs ± 2% -7.41% (p=0.008 n=5+5) name old req/s new req/s delta cluster:rio dataset:wczblk1-8 fs1-zwrk.go·1 301k ± 1% 303k ± 0% +0.54% (p=0.008 n=5+5) fs1-zwrk.go·2 551k ± 0% 552k ± 1% ~ (p=1.000 n=5+5) fs1-zwrk.go·3 814k ± 0% 815k ± 0% ~ (p=1.000 n=5+5) fs1-zwrk.go·4 1.08M ± 1% 1.08M ± 0% ~ (p=0.421 n=5+5) fs1-zwrk.go·8 1.43M ± 0% 1.42M ± 0% ~ (p=0.421 n=5+5) fs1-zwrk.go·12 1.55M ± 0% 1.55M ± 0% +0.43% (p=0.032 n=5+5) fs1-zwrk.go·16 1.54M ± 0% 1.55M ± 0% ~ (p=0.421 n=5+5) zeo/py/fs1-zwrk.go·1 7.50k ± 1% 7.37k ± 1% -1.70% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·2 8.89k ± 2% 8.81k ± 2% ~ (p=0.421 n=5+5) zeo/py/fs1-zwrk.go·3 9.61k ± 1% 9.62k ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·4 9.92k ± 1% 9.92k ± 1% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·8 10.2k ± 2% 10.2k ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·12 10.6k ± 1% 10.3k ± 0% -2.66% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·16 10.5k ± 1% 10.4k ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 6.70k ± 2% 6.83k ± 4% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 8.54k ± 0% 8.53k ± 4% ~ (p=0.190 n=4+5) neo/py(!log)/sqlite-zwrk.go·3 8.43k ± 1% 8.51k ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 8.37k ± 4% 8.50k ± 4% ~ (p=0.222 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 8.44k ± 0% 8.55k ± 2% ~ (p=0.190 n=4+5) neo/py(!log)/sqlite-zwrk.go·12 8.23k ± 5% 8.38k ± 9% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 8.46k ± 1% 8.42k ± 9% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zwrk.go·1 5.66k ± 2% 5.72k ± 3% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·2 6.75k ± 2% 6.86k ± 3% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·3 6.68k ± 2% 6.71k ± 4% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·4 6.70k ± 2% 6.80k ± 3% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·8 6.50k ± 5% 6.88k ± 1% +5.87% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·12 6.67k ± 2% 6.90k ± 2% +3.41% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·16 6.72k ± 3% 6.77k ± 2% ~ (p=0.548 n=5+5) neo/go/fs1-zwrk.go·1 15.7k ± 0% 16.1k ± 0% +2.89% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 30.2k ± 0% 31.0k ± 1% +2.68% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 39.8k ± 0% 40.6k ± 0% +2.02% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·4 49.7k ± 0% 51.0k ± 0% +2.64% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 68.8k ± 0% 70.0k ± 0% +1.84% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 73.0k ± 0% 74.1k ± 0% +1.54% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·16 73.7k ± 0% 74.8k ± 0% +1.44% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 25.5k ± 3% 26.5k ± 1% +4.12% (p=0.016 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 47.9k ± 0% 48.8k ± 0% +1.85% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 59.7k ± 0% 61.8k ± 0% +3.48% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 72.7k ± 0% 75.4k ± 0% +3.76% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 97.0k ± 0% 99.4k ± 1% +2.52% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 110k ± 0% 113k ± 0% +2.58% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 113k ± 1% 115k ± 1% +1.86% (p=0.016 n=5+5) neo/go/sqlite-zwrk.go·1 10.0k ± 1% 12.7k ± 1% +28.02% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 18.4k ± 0% 23.9k ± 1% +29.46% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 25.5k ± 0% 31.6k ± 0% +24.11% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 30.4k ± 0% 38.2k ± 0% +25.76% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 39.4k ± 1% 47.1k ± 1% +19.51% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 40.7k ± 2% 47.1k ± 2% +15.72% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 40.8k ± 2% 46.7k ± 2% +14.50% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 11.1k ± 0% 14.6k ± 1% +31.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 20.1k ± 0% 26.3k ± 0% +30.98% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 27.9k ± 0% 37.0k ± 0% +32.82% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 34.2k ± 0% 43.7k ± 0% +27.80% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 44.0k ± 1% 51.2k ± 1% +16.37% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 43.4k ± 2% 49.4k ± 3% +14.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 41.4k ± 2% 46.6k ± 4% +12.52% (p=0.008 n=5+5) cluster:rio dataset:prod1-1024 fs1-zwrk.go·1 461k ± 1% 464k ± 1% ~ (p=0.222 n=5+5) fs1-zwrk.go·2 906k ± 1% 918k ± 1% ~ (p=0.056 n=5+5) fs1-zwrk.go·3 1.35M ± 0% 1.36M ± 0% +1.14% (p=0.008 n=5+5) fs1-zwrk.go·4 1.78M ± 1% 1.80M ± 2% ~ (p=0.222 n=5+5) fs1-zwrk.go·8 2.33M ± 1% 2.37M ± 1% +1.78% (p=0.016 n=5+5) fs1-zwrk.go·12 2.40M ± 0% 2.41M ± 0% ~ (p=0.548 n=5+5) fs1-zwrk.go·16 2.40M ± 0% 2.41M ± 1% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·1 9.06k ± 1% 9.19k ± 1% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·2 11.7k ± 2% 11.7k ± 2% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·3 12.9k ± 1% 12.8k ± 2% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·4 13.4k ± 3% 13.4k ± 1% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·8 13.9k ± 2% 14.1k ± 2% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·12 14.2k ± 2% 14.3k ± 2% ~ (p=0.421 n=5+5) zeo/py/fs1-zwrk.go·16 14.4k ± 1% 14.3k ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 7.28k ± 2% 7.19k ± 3% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 8.70k ± 3% 8.54k ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 8.73k ± 3% 8.54k ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 8.69k ± 1% 8.59k ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 8.77k ± 2% 8.51k ± 2% -2.93% (p=0.032 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 8.59k ± 7% 8.51k ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 8.67k ± 1% 8.39k ± 5% -3.20% (p=0.032 n=5+5) neo/py(!log)/sql-zwrk.go·1 5.98k ± 1% 6.02k ± 4% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zwrk.go·2 6.86k ± 4% 6.91k ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·3 6.86k ± 3% 6.93k ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·4 6.90k ± 1% 6.88k ± 2% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·8 6.62k ± 6% 6.77k ± 6% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·12 6.78k ± 2% 6.75k ± 6% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·16 6.78k ± 3% 6.78k ± 7% ~ (p=0.841 n=5+5) neo/go/fs1-zwrk.go·1 21.6k ± 0% 22.7k ± 0% +5.46% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 39.0k ± 0% 40.5k ± 0% +3.84% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 51.0k ± 1% 52.9k ± 0% +3.74% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·4 62.3k ± 0% 64.7k ± 0% +3.96% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 79.7k ± 1% 81.5k ± 1% +2.27% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 81.8k ± 2% 80.3k ± 3% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·16 80.8k ± 3% 77.8k ± 3% -3.71% (p=0.032 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 26.9k ± 1% 26.9k ± 1% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 49.3k ± 0% 51.3k ± 0% +4.00% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 62.3k ± 0% 65.4k ± 1% +4.82% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 74.7k ± 0% 78.6k ± 0% +5.26% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 93.5k ± 2% 96.7k ± 1% +3.44% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 96.9k ± 2% 99.2k ± 4% ~ (p=0.095 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 94.5k ± 3% 94.2k ± 3% ~ (p=0.841 n=5+5) neo/go/sqlite-zwrk.go·1 11.0k ± 0% 14.7k ± 0% +33.72% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 19.3k ± 0% 25.2k ± 0% +30.66% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 26.4k ± 0% 34.6k ± 1% +30.78% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 31.8k ± 0% 40.3k ± 0% +26.68% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 38.6k ± 1% 41.4k ± 3% +7.22% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 36.5k ± 2% 38.7k ± 3% +5.82% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 36.0k ± 1% 37.9k ± 3% +5.33% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 11.4k ± 0% 15.7k ± 1% +37.97% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 19.9k ± 0% 26.9k ± 0% +35.56% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 27.4k ± 0% 37.6k ± 0% +37.02% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 33.3k ± 0% 43.6k ± 1% +31.11% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 38.8k ± 2% 45.2k ± 2% +16.46% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 36.0k ± 2% 41.5k ± 2% +15.07% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 35.4k ± 1% 40.5k ± 1% +14.47% (p=0.008 n=5+5) name old latency-time/object new latency-time/object delta cluster:rio dataset:wczblk1-8 fs1-zwrk.go·1 3.32µs ± 1% 3.30µs ± 0% -0.55% (p=0.008 n=5+5) fs1-zwrk.go·2 3.63µs ± 0% 3.63µs ± 1% ~ (p=0.738 n=5+5) fs1-zwrk.go·3 3.69µs ± 0% 3.68µs ± 0% ~ (p=0.952 n=5+5) fs1-zwrk.go·4 3.70µs ± 1% 3.70µs ± 0% ~ (p=0.460 n=5+5) fs1-zwrk.go·8 5.61µs ± 0% 5.62µs ± 0% ~ (p=0.421 n=5+5) fs1-zwrk.go·12 7.76µs ± 0% 7.73µs ± 0% -0.43% (p=0.032 n=5+5) fs1-zwrk.go·16 10.4µs ± 0% 10.3µs ± 0% ~ (p=0.381 n=5+5) zeo/py/fs1-zwrk.go·1 133µs ± 1% 136µs ± 1% +1.72% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·2 225µs ± 2% 227µs ± 2% ~ (p=0.421 n=5+5) zeo/py/fs1-zwrk.go·3 312µs ± 1% 312µs ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·4 403µs ± 1% 403µs ± 1% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·8 781µs ± 2% 785µs ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·12 1.13ms ± 1% 1.16ms ± 0% +2.73% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·16 1.52ms ± 1% 1.54ms ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 149µs ± 2% 146µs ± 4% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 234µs ± 0% 235µs ± 4% ~ (p=0.190 n=4+5) neo/py(!log)/sqlite-zwrk.go·3 356µs ± 1% 353µs ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 478µs ± 4% 471µs ± 4% ~ (p=0.222 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 948µs ± 0% 936µs ± 2% ~ (p=0.190 n=4+5) neo/py(!log)/sqlite-zwrk.go·12 1.46ms ± 5% 1.40ms ± 1% -3.91% (p=0.016 n=5+4) neo/py(!log)/sqlite-zwrk.go·16 1.89ms ± 1% 1.86ms ± 1% -1.63% (p=0.016 n=5+4) neo/py(!log)/sql-zwrk.go·1 177µs ± 2% 175µs ± 3% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·2 297µs ± 2% 292µs ± 3% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·3 449µs ± 2% 447µs ± 4% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·4 597µs ± 2% 589µs ± 3% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·8 1.23ms ± 5% 1.16ms ± 1% -5.61% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·12 1.80ms ± 2% 1.74ms ± 2% -3.31% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·16 2.38ms ± 3% 2.36ms ± 2% ~ (p=0.548 n=5+5) neo/go/fs1-zwrk.go·1 63.9µs ± 0% 62.1µs ± 0% -2.81% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 66.2µs ± 0% 64.5µs ± 1% -2.61% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 75.5µs ± 0% 74.0µs ± 0% -1.98% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·4 80.6µs ± 0% 78.5µs ± 0% -2.57% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 116µs ± 0% 114µs ± 0% -1.81% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 164µs ± 0% 162µs ± 0% -1.52% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·16 217µs ± 0% 214µs ± 0% -1.42% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 39.3µs ± 3% 37.7µs ± 1% -3.99% (p=0.016 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 41.7µs ± 0% 41.0µs ± 0% -1.82% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 50.3µs ± 0% 48.6µs ± 0% -3.36% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 55.0µs ± 0% 53.0µs ± 0% -3.63% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 82.5µs ± 0% 80.5µs ± 1% -2.46% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 109µs ± 0% 107µs ± 0% -2.51% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 141µs ± 1% 139µs ± 1% -1.83% (p=0.016 n=5+5) neo/go/sqlite-zwrk.go·1 100µs ± 1% 78µs ± 1% -21.89% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 108µs ± 0% 84µs ± 1% -22.76% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 118µs ± 0% 95µs ± 0% -19.43% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 132µs ± 0% 105µs ± 0% -20.48% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 203µs ± 1% 170µs ± 1% -16.32% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 295µs ± 2% 255µs ± 2% -13.58% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 393µs ± 2% 343µs ± 3% -12.65% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 89.9µs ± 0% 68.7µs ± 1% -23.67% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 100µs ± 0% 76µs ± 0% -23.65% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 108µs ± 0% 81µs ± 0% -24.71% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 117µs ± 0% 92µs ± 0% -21.75% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 182µs ± 1% 156µs ± 1% -14.07% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 277µs ± 2% 243µs ± 3% -12.27% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 386µs ± 2% 343µs ± 4% -11.10% (p=0.008 n=5+5) cluster:rio dataset:prod1-1024 fs1-zwrk.go·1 2.17µs ± 1% 2.16µs ± 1% ~ (p=0.222 n=5+5) fs1-zwrk.go·2 2.21µs ± 1% 2.18µs ± 1% ~ (p=0.063 n=5+5) fs1-zwrk.go·3 2.23µs ± 0% 2.20µs ± 0% -1.12% (p=0.008 n=5+5) fs1-zwrk.go·4 2.24µs ± 1% 2.23µs ± 2% ~ (p=0.222 n=5+5) fs1-zwrk.go·8 3.43µs ± 1% 3.37µs ± 1% -1.75% (p=0.016 n=5+5) fs1-zwrk.go·12 4.99µs ± 0% 4.99µs ± 0% ~ (p=0.548 n=5+5) fs1-zwrk.go·16 6.65µs ± 0% 6.63µs ± 1% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·1 110µs ± 1% 109µs ± 1% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·2 171µs ± 2% 171µs ± 2% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·3 233µs ± 1% 234µs ± 2% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·4 300µs ± 3% 300µs ± 1% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·8 574µs ± 2% 566µs ± 2% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·12 844µs ± 2% 840µs ± 2% ~ (p=0.421 n=5+5) zeo/py/fs1-zwrk.go·16 1.11ms ± 1% 1.12ms ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 137µs ± 2% 139µs ± 3% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 230µs ± 3% 234µs ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 344µs ± 3% 351µs ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 461µs ± 1% 466µs ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 912µs ± 2% 940µs ± 2% +3.02% (p=0.032 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 1.40ms ± 7% 1.41ms ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 1.85ms ± 1% 1.91ms ± 5% +3.39% (p=0.032 n=5+5) neo/py(!log)/sql-zwrk.go·1 167µs ± 1% 166µs ± 4% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zwrk.go·2 292µs ± 5% 289µs ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·3 437µs ± 3% 433µs ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·4 580µs ± 1% 581µs ± 2% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·8 1.21ms ± 6% 1.18ms ± 7% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·12 1.77ms ± 2% 1.78ms ± 6% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·16 2.36ms ± 3% 2.36ms ± 7% ~ (p=0.841 n=5+5) neo/go/fs1-zwrk.go·1 46.4µs ± 0% 44.0µs ± 0% -5.18% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 51.3µs ± 0% 49.4µs ± 0% -3.70% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 58.8µs ± 1% 56.7µs ± 0% -3.60% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·4 64.3µs ± 0% 61.8µs ± 0% -3.81% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 100µs ± 1% 98µs ± 1% -2.22% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 147µs ± 2% 149µs ± 3% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·16 198µs ± 3% 206µs ± 3% +3.86% (p=0.032 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 37.2µs ± 1% 37.1µs ± 1% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 40.6µs ± 0% 39.0µs ± 0% -3.85% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 48.1µs ± 0% 45.9µs ± 1% -4.60% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 53.6µs ± 0% 50.9µs ± 0% -5.00% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 85.6µs ± 2% 82.7µs ± 1% -3.33% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 124µs ± 2% 121µs ± 4% ~ (p=0.095 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 169µs ± 3% 170µs ± 3% ~ (p=0.841 n=5+5) neo/go/sqlite-zwrk.go·1 91.0µs ± 0% 68.1µs ± 0% -25.21% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 104µs ± 0% 79µs ± 0% -23.47% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 114µs ± 0% 87µs ± 1% -23.53% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 126µs ± 0% 99µs ± 0% -21.06% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 207µs ± 1% 193µs ± 3% -6.71% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 329µs ± 2% 311µs ± 3% -5.49% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 445µs ± 1% 423µs ± 3% -5.04% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 87.8µs ± 0% 63.6µs ± 1% -27.52% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 101µs ± 0% 74µs ± 0% -26.23% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 109µs ± 0% 80µs ± 0% -27.02% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 120µs ± 0% 92µs ± 1% -23.72% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 206µs ± 2% 177µs ± 2% -14.13% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 333µs ± 3% 289µs ± 2% -13.11% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 452µs ± 1% 395µs ± 1% -12.64% (p=0.008 n=5+5)
-
Kirill Smelkov authored
Similarly to deco there is some neo/go/sqlite speedup. Everything else is noise. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ benchstat -split node,cluster,dataset 20180308-neo1-ffixed-noc_C1\(3µs\)-zwrk1s.txt 20180318-neo1.txt name old pystone/s new pystone/s delta node:neo1 pystone 105k ± 0% 106k ± 1% +1.33% (p=0.008 n=5+5) name old time/op new time/op delta node:neo1 crc32/py/4K 5.15µs ± 1% 5.14µs ± 1% ~ (p=0.421 n=5+5) crc32/go/4K 2.79µs ± 0% 2.79µs ± 0% ~ (p=0.206 n=4+5) sha1/py/4K 13.5µs ± 3% 13.3µs ± 1% -1.56% (p=0.032 n=5+5) sha1/go/4K 9.81µs ± 0% 9.81µs ± 0% ~ (p=0.794 n=5+5) unzlib/py/wczdata 35.5µs ± 7% 36.1µs ± 2% ~ (p=0.556 n=5+4) unzlib/go/wczdata 30.9µs ± 1% 31.1µs ± 2% ~ (p=0.310 n=5+5) unzlib/py/prod1-avg 16.0µs ± 2% 16.1µs ± 2% ~ (p=0.690 n=5+5) unzlib/go/prod1-avg 9.26µs ± 1% 9.27µs ± 1% ~ (p=0.548 n=5+5) disk/randread/direct/4K-min 158µs ± 2% 162µs ± 0% +2.01% (p=0.016 n=5+4) disk/randread/direct/4K-avg 172µs ± 0% 172µs ± 0% ~ (p=0.833 n=5+5) disk/randread/pagecache/4K-min 392ns ± 2% 390ns ± 1% ~ (p=0.381 n=5+5) disk/randread/pagecache/4K-avg 904ns ± 1% 897ns ± 1% -0.69% (p=0.040 n=5+5) name old time/object new time/object delta cluster:neo1 dataset:wczblk1-8 fs1-zhash.py 34.7µs ± 2% 35.3µs ± 3% ~ (p=0.175 n=5+5) fs1-zhash.go 5.90µs ± 0% 5.95µs ± 3% ~ (p=1.000 n=4+4) fs1-zhash.go+prefetch128 6.32µs ± 3% 6.28µs ± 4% ~ (p=0.873 n=5+5) zeo/py/fs1-zhash.py 459µs ± 0% 484µs ± 6% +5.54% (p=0.016 n=4+5) zeo/py/fs1-zhash.go 174µs ± 2% 175µs ± 1% ~ (p=0.841 n=5+5) zeo/py/fs1-zhash.go+prefetch128 98.5µs ± 2% 101.8µs ± 2% +3.37% (p=0.032 n=5+5) neo/py(!log)/sqlite-zhash.py 390µs ± 1% 394µs ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zhash.go 196µs ± 2% 204µs ± 8% +4.40% (p=0.032 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 164µs ± 2% 168µs ± 2% +2.78% (p=0.032 n=5+5) neo/py(!log)/sql-zhash.py 459µs ± 1% 450µs ± 6% ~ (p=0.686 n=4+4) neo/py(!log)/sql-zhash.go 249µs ± 3% 245µs ± 3% ~ (p=0.333 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 217µs ± 1% 215µs ± 3% ~ (p=0.421 n=5+5) neo/go/fs1-zhash.py 274µs ± 1% 272µs ± 1% ~ (p=0.206 n=5+4) neo/go/fs1-zhash.go 80.4µs ± 4% 80.0µs ± 4% ~ (p=0.548 n=5+5) neo/go/fs1-zhash.go+prefetch128 35.3µs ± 6% 34.4µs ± 4% ~ (p=0.421 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 56.5µs ± 2% 55.3µs ± 2% ~ (p=0.087 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 23.2µs ± 7% 22.8µs ± 3% ~ (p=0.722 n=5+5) neo/go/sqlite-zhash.py 322µs ± 1% 304µs ± 2% -5.70% (p=0.008 n=5+5) neo/go/sqlite-zhash.go 134µs ±12% 102µs ± 2% -24.18% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 49.4µs ± 9% 42.1µs ± 9% -14.66% (p=0.008 n=5+5) neo/go/sqlite-zhash.go(!sha1) 114µs ± 2% 91µs ± 3% -19.98% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 46.3µs ± 5% 41.2µs ± 4% -10.93% (p=0.008 n=5+5) cluster:neo1 dataset:prod1-1024 fs1-zhash.py 29.3µs ± 0% 29.1µs ± 2% ~ (p=0.167 n=5+5) fs1-zhash.go 3.80µs ± 0% 3.70µs ± 0% ~ (p=0.079 n=4+5) fs1-zhash.go+prefetch128 3.78µs ± 3% 3.78µs ± 6% ~ (p=0.921 n=5+5) zeo/py/fs1-zhash.py 436µs ± 2% 440µs ± 2% ~ (p=0.421 n=5+5) zeo/py/fs1-zhash.go 150µs ± 2% 150µs ± 2% ~ (p=0.500 n=5+5) zeo/py/fs1-zhash.go+prefetch128 88.0µs ± 1% 87.6µs ± 1% ~ (p=0.532 n=5+5) neo/py(!log)/sqlite-zhash.py 387µs ± 5% 383µs ± 2% ~ (p=1.000 n=5+5) neo/py(!log)/sqlite-zhash.go 185µs ± 4% 184µs ± 3% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 150µs ± 2% 152µs ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zhash.py 477µs ±40% 440µs ± 3% ~ (p=0.730 n=5+4) neo/py(!log)/sql-zhash.go 236µs ± 2% 233µs ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 202µs ± 2% 205µs ± 1% ~ (p=0.111 n=5+5) neo/go/fs1-zhash.py 267µs ±11% 265µs ±11% ~ (p=0.548 n=5+5) neo/go/fs1-zhash.go 60.8µs ± 2% 60.8µs ± 1% ~ (p=0.683 n=5+5) neo/go/fs1-zhash.go+prefetch128 22.2µs ± 1% 22.3µs ± 4% ~ (p=0.198 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 52.7µs ± 3% 52.2µs ± 4% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 18.4µs ± 5% 18.0µs ± 2% ~ (p=0.294 n=5+5) neo/go/sqlite-zhash.py 312µs ± 1% 292µs ± 2% -6.49% (p=0.008 n=5+5) neo/go/sqlite-zhash.go 112µs ± 1% 91µs ± 1% -18.39% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 41.2µs ± 7% 38.8µs ± 3% ~ (p=0.071 n=5+5) neo/go/sqlite-zhash.go(!sha1) 107µs ± 2% 89µs ± 3% -16.90% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 41.5µs ± 4% 43.5µs ±16% ~ (p=0.651 n=5+5) name old req/s new req/s delta cluster:neo1 dataset:wczblk1-8 fs1-zwrk.go·1 230k ± 0% 230k ± 0% ~ (p=0.190 n=5+4) fs1-zwrk.go·2 425k ± 7% 431k ± 8% ~ (p=0.690 n=5+5) fs1-zwrk.go·3 660k ± 1% 661k ± 0% ~ (p=0.548 n=5+5) fs1-zwrk.go·4 869k ± 1% 861k ± 1% ~ (p=0.063 n=4+5) fs1-zwrk.go·8 1.00M ± 0% 1.00M ± 1% ~ (p=1.000 n=5+5) fs1-zwrk.go·12 1.01M ± 0% 1.02M ± 0% +0.33% (p=0.008 n=5+5) fs1-zwrk.go·16 1.02M ± 0% 1.02M ± 0% ~ (p=0.556 n=5+4) zeo/py/fs1-zwrk.go·1 5.83k ± 1% 5.79k ± 1% ~ (p=0.222 n=5+5) zeo/py/fs1-zwrk.go·2 7.21k ± 1% 7.09k ± 1% -1.61% (p=0.016 n=5+5) zeo/py/fs1-zwrk.go·3 7.80k ± 3% 7.78k ± 2% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·4 8.01k ± 1% 8.00k ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·8 8.46k ± 1% 8.30k ± 1% -1.81% (p=0.032 n=5+5) zeo/py/fs1-zwrk.go·12 8.52k ± 2% 8.28k ± 3% -2.83% (p=0.032 n=5+5) zeo/py/fs1-zwrk.go·16 8.51k ± 2% 8.43k ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 5.23k ± 2% 5.19k ± 1% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 6.30k ± 2% 6.27k ± 2% ~ (p=0.548 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 6.33k ± 1% 5.97k ± 3% -5.61% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 6.30k ± 3% 6.16k ± 3% ~ (p=0.056 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 6.27k ± 3% 6.27k ± 0% ~ (p=0.730 n=5+4) neo/py(!log)/sqlite-zwrk.go·12 6.36k ± 2% 6.05k ±10% ~ (p=0.056 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 6.33k ± 2% 6.31k ± 0% ~ (p=0.190 n=5+4) neo/py(!log)/sql-zwrk.go·1 4.10k ± 5% 4.14k ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·2 4.85k ± 2% 4.75k ± 4% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·3 4.80k ± 4% 4.72k ± 5% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·4 4.78k ± 1% 4.67k ± 5% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zwrk.go·8 4.73k ± 7% 4.80k ± 2% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·12 4.67k ± 6% 4.87k ± 2% ~ (p=0.056 n=5+5) neo/py(!log)/sql-zwrk.go·16 4.68k ± 9% 4.64k ±11% ~ (p=1.000 n=5+5) neo/go/fs1-zwrk.go·1 13.0k ± 1% 13.0k ± 1% ~ (p=0.690 n=5+5) neo/go/fs1-zwrk.go·2 25.0k ± 1% 25.0k ± 0% ~ (p=1.000 n=5+5) neo/go/fs1-zwrk.go·3 32.4k ± 0% 32.5k ± 0% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·4 40.9k ± 0% 41.0k ± 0% +0.36% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 54.8k ± 1% 55.0k ± 0% ~ (p=0.190 n=5+4) neo/go/fs1-zwrk.go·12 57.4k ± 1% 56.9k ± 1% -0.81% (p=0.032 n=5+5) neo/go/fs1-zwrk.go·16 55.8k ± 1% 55.7k ± 2% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 19.3k ± 1% 19.1k ± 2% ~ (p=0.548 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 38.0k ± 1% 38.0k ± 0% ~ (p=0.286 n=5+4) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 48.2k ± 0% 48.3k ± 0% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 59.3k ± 0% 59.5k ± 0% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 78.4k ± 0% 78.4k ± 0% ~ (p=1.000 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 82.7k ± 1% 82.5k ± 0% ~ (p=0.421 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 81.3k ± 2% 80.8k ± 1% ~ (p=0.413 n=5+4) neo/go/sqlite-zwrk.go·1 8.23k ± 1% 9.93k ± 0% +20.66% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 15.0k ± 0% 18.3k ± 0% +22.40% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 20.7k ± 0% 24.8k ± 0% +19.63% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 24.9k ± 0% 29.9k ± 0% +20.32% (p=0.016 n=5+4) neo/go/sqlite-zwrk.go·8 30.9k ± 8% 36.5k ± 1% +18.18% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 31.3k ± 1% 35.5k ± 2% +13.29% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 30.6k ± 3% 34.3k ± 2% +12.38% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 9.08k ± 0% 11.04k ± 3% +21.65% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 16.4k ± 0% 20.1k ± 0% +22.36% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 22.7k ± 0% 28.2k ± 0% +24.10% (p=0.016 n=4+5) neo/go/sqlite-zwrk.go(!sha1)·4 27.8k ± 0% 33.7k ± 0% +21.34% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 34.6k ± 1% 38.7k ± 1% +11.83% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 33.5k ± 1% 38.0k ± 1% +13.32% (p=0.016 n=5+4) neo/go/sqlite-zwrk.go(!sha1)·16 32.8k ± 2% 37.3k ± 1% +13.55% (p=0.008 n=5+5) cluster:neo1 dataset:prod1-1024 fs1-zwrk.go·1 454k ± 0% 444k ±10% ~ (p=1.000 n=4+5) fs1-zwrk.go·2 869k ± 6% 905k ± 0% +4.14% (p=0.016 n=5+4) fs1-zwrk.go·3 1.33M ± 1% 1.31M ± 6% ~ (p=0.841 n=5+5) fs1-zwrk.go·4 1.73M ± 2% 1.75M ± 3% ~ (p=0.421 n=5+5) fs1-zwrk.go·8 1.99M ± 2% 2.02M ± 0% ~ (p=0.095 n=5+5) fs1-zwrk.go·12 2.03M ± 0% 2.03M ± 0% ~ (p=0.905 n=4+5) fs1-zwrk.go·16 2.04M ± 0% 2.03M ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·1 6.83k ± 1% 6.81k ± 0% ~ (p=0.905 n=5+4) zeo/py/fs1-zwrk.go·2 8.72k ± 3% 8.67k ± 1% ~ (p=0.421 n=5+5) zeo/py/fs1-zwrk.go·3 9.26k ± 6% 9.41k ± 3% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·4 9.78k ± 3% 9.74k ± 3% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·8 10.4k ± 1% 10.3k ± 2% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·12 10.6k ± 1% 10.3k ± 4% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·16 10.5k ± 5% 10.5k ± 2% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 5.57k ± 3% 5.53k ± 3% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 6.51k ± 1% 6.42k ± 3% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 6.39k ± 6% 6.41k ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 6.43k ± 1% 6.36k ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 6.33k ± 2% 6.33k ± 3% ~ (p=1.000 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 6.30k ± 3% 6.29k ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 6.37k ± 3% 6.27k ± 5% ~ (p=0.548 n=5+5) neo/py(!log)/sql-zwrk.go·1 4.34k ± 2% 4.32k ± 4% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·2 4.94k ± 4% 4.87k ± 6% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·3 4.69k ± 5% 4.78k ± 3% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·4 4.78k ± 4% 4.61k ± 8% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·8 4.92k ± 1% 4.76k ± 2% -3.12% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·12 4.76k ± 3% 4.76k ± 4% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·16 4.90k ± 3% 4.77k ± 3% ~ (p=0.095 n=5+5) neo/go/fs1-zwrk.go·1 17.4k ± 1% 17.1k ± 6% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·2 32.9k ± 1% 32.7k ± 1% ~ (p=0.056 n=5+5) neo/go/fs1-zwrk.go·3 43.5k ± 0% 43.3k ± 0% -0.44% (p=0.016 n=4+5) neo/go/fs1-zwrk.go·4 53.2k ± 0% 53.1k ± 1% ~ (p=0.095 n=5+5) neo/go/fs1-zwrk.go·8 67.0k ± 2% 65.2k ± 2% -2.59% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 62.6k ± 3% 59.5k ± 5% -4.89% (p=0.016 n=5+5) neo/go/fs1-zwrk.go·16 54.3k ±11% 53.7k ± 2% ~ (p=0.151 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 20.2k ± 5% 20.1k ± 3% ~ (p=1.000 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 40.8k ± 1% 40.8k ± 1% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 51.9k ± 1% 51.7k ± 0% ~ (p=0.190 n=5+4) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 62.7k ± 0% 62.6k ± 0% ~ (p=0.310 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 75.1k ± 4% 74.6k ± 3% ~ (p=0.548 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 69.5k ± 1% 67.8k ± 4% ~ (p=0.151 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 61.0k ± 2% 59.3k ± 2% ~ (p=0.056 n=5+5) neo/go/sqlite-zwrk.go·1 9.16k ± 1% 11.15k ± 0% +21.74% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 16.0k ± 0% 20.0k ± 0% +25.10% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 22.1k ± 0% 27.2k ± 0% +23.34% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 26.7k ± 0% 31.8k ± 2% +19.00% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 30.9k ± 2% 32.8k ± 3% +6.19% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 29.5k ± 1% 32.1k ± 2% +8.71% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 29.6k ± 2% 32.8k ± 2% +10.86% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 9.51k ± 1% 11.74k ± 2% +23.39% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 16.5k ± 0% 21.1k ± 1% +27.77% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 22.7k ± 0% 28.9k ± 0% +27.72% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 27.4k ± 1% 34.3k ± 0% +25.08% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 31.2k ± 2% 35.5k ± 2% +13.70% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 29.5k ± 2% 34.2k ± 3% +16.00% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 28.8k ±10% 35.8k ± 1% +24.19% (p=0.008 n=5+5) name old latency-time/object new latency-time/object delta cluster:neo1 dataset:wczblk1-8 fs1-zwrk.go·1 4.36µs ± 0% 4.35µs ± 0% ~ (p=0.206 n=5+4) fs1-zwrk.go·2 4.71µs ± 8% 4.65µs ± 8% ~ (p=0.690 n=5+5) fs1-zwrk.go·3 4.55µs ± 1% 4.54µs ± 0% ~ (p=0.524 n=5+5) fs1-zwrk.go·4 4.60µs ± 1% 4.65µs ± 1% +0.99% (p=0.048 n=4+5) fs1-zwrk.go·8 8.03µs ± 0% 8.04µs ± 1% ~ (p=1.000 n=5+5) fs1-zwrk.go·12 11.8µs ± 0% 11.8µs ± 0% -0.33% (p=0.008 n=5+5) fs1-zwrk.go·16 15.7µs ± 0% 15.7µs ± 0% ~ (p=0.556 n=5+4) zeo/py/fs1-zwrk.go·1 172µs ± 1% 173µs ± 1% ~ (p=0.222 n=5+5) zeo/py/fs1-zwrk.go·2 277µs ± 1% 282µs ± 1% +1.63% (p=0.016 n=5+5) zeo/py/fs1-zwrk.go·3 384µs ± 3% 386µs ± 2% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·4 500µs ± 1% 500µs ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·8 946µs ± 1% 963µs ± 1% +1.85% (p=0.032 n=5+5) zeo/py/fs1-zwrk.go·12 1.41ms ± 2% 1.45ms ± 3% +2.92% (p=0.032 n=5+5) zeo/py/fs1-zwrk.go·16 1.88ms ± 2% 1.90ms ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 191µs ± 2% 193µs ± 1% ~ (p=0.690 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 317µs ± 2% 319µs ± 2% ~ (p=0.548 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 474µs ± 1% 503µs ± 3% +5.98% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 635µs ± 3% 650µs ± 3% ~ (p=0.056 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 1.28ms ± 3% 1.28ms ± 0% ~ (p=0.730 n=5+4) neo/py(!log)/sqlite-zwrk.go·12 1.89ms ± 2% 1.99ms ±11% ~ (p=0.056 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 2.53ms ± 2% 2.53ms ± 0% ~ (p=0.190 n=5+4) neo/py(!log)/sql-zwrk.go·1 244µs ± 6% 242µs ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·2 412µs ± 3% 422µs ± 4% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·3 625µs ± 4% 637µs ± 5% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·4 837µs ± 1% 857µs ± 5% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zwrk.go·8 1.69ms ± 7% 1.67ms ± 2% ~ (p=0.841 n=5+5) neo/py(!log)/sql-zwrk.go·12 2.57ms ± 6% 2.47ms ± 2% ~ (p=0.056 n=5+5) neo/py(!log)/sql-zwrk.go·16 3.42ms ± 9% 3.46ms ±12% ~ (p=1.000 n=5+5) neo/go/fs1-zwrk.go·1 76.7µs ± 1% 77.2µs ± 1% ~ (p=0.690 n=5+5) neo/go/fs1-zwrk.go·2 79.9µs ± 1% 80.0µs ± 0% ~ (p=1.000 n=5+5) neo/go/fs1-zwrk.go·3 92.5µs ± 0% 92.3µs ± 0% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·4 97.9µs ± 0% 97.5µs ± 0% -0.36% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 146µs ± 1% 145µs ± 0% ~ (p=0.190 n=5+4) neo/go/fs1-zwrk.go·12 209µs ± 1% 211µs ± 1% +0.82% (p=0.032 n=5+5) neo/go/fs1-zwrk.go·16 287µs ± 1% 287µs ± 2% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 51.9µs ± 2% 52.3µs ± 2% ~ (p=0.548 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 52.7µs ± 1% 52.6µs ± 0% ~ (p=0.286 n=5+4) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 62.2µs ± 0% 62.1µs ± 0% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 67.4µs ± 0% 67.2µs ± 0% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 102µs ± 0% 102µs ± 0% ~ (p=1.000 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 145µs ± 1% 145µs ± 0% ~ (p=0.421 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 197µs ± 2% 198µs ± 1% ~ (p=0.413 n=5+4) neo/go/sqlite-zwrk.go·1 122µs ± 1% 101µs ± 0% -17.13% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 134µs ± 0% 109µs ± 0% -18.30% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 145µs ± 0% 121µs ± 0% -16.41% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 161µs ± 0% 134µs ± 0% -16.89% (p=0.016 n=5+4) neo/go/sqlite-zwrk.go·8 260µs ± 9% 219µs ± 1% -15.53% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 383µs ± 1% 338µs ± 2% -11.73% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 524µs ± 3% 466µs ± 2% -11.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 110µs ± 0% 91µs ± 3% -17.78% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 122µs ± 0% 100µs ± 0% -18.28% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 132µs ± 0% 106µs ± 0% -19.42% (p=0.016 n=4+5) neo/go/sqlite-zwrk.go(!sha1)·4 144µs ± 0% 119µs ± 0% -17.59% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 231µs ± 1% 207µs ± 1% -10.58% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 358µs ± 1% 316µs ± 1% -11.76% (p=0.016 n=5+4) neo/go/sqlite-zwrk.go(!sha1)·16 487µs ± 2% 429µs ± 1% -11.95% (p=0.008 n=5+5) cluster:neo1 dataset:prod1-1024 fs1-zwrk.go·1 2.20µs ± 0% 2.26µs ±11% ~ (p=1.000 n=4+5) fs1-zwrk.go·2 2.31µs ± 6% 2.21µs ± 0% -4.17% (p=0.000 n=5+4) fs1-zwrk.go·3 2.25µs ± 1% 2.29µs ± 7% ~ (p=0.841 n=5+5) fs1-zwrk.go·4 2.31µs ± 2% 2.29µs ± 3% ~ (p=0.421 n=5+5) fs1-zwrk.go·8 4.02µs ± 2% 3.96µs ± 0% ~ (p=0.095 n=5+5) fs1-zwrk.go·12 5.91µs ± 0% 5.90µs ± 0% ~ (p=0.841 n=4+5) fs1-zwrk.go·16 7.86µs ± 0% 7.86µs ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·1 146µs ± 1% 147µs ± 0% ~ (p=0.905 n=5+4) zeo/py/fs1-zwrk.go·2 229µs ± 3% 231µs ± 1% ~ (p=0.421 n=5+5) zeo/py/fs1-zwrk.go·3 324µs ± 6% 319µs ± 3% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·4 409µs ± 3% 411µs ± 3% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·8 766µs ± 1% 774µs ± 2% ~ (p=0.310 n=5+5) zeo/py/fs1-zwrk.go·12 1.13ms ± 1% 1.16ms ± 4% ~ (p=0.056 n=5+5) zeo/py/fs1-zwrk.go·16 1.53ms ± 5% 1.52ms ± 2% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 180µs ± 3% 181µs ± 3% ~ (p=0.421 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 307µs ± 1% 311µs ± 3% ~ (p=0.151 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 470µs ± 6% 468µs ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 622µs ± 1% 629µs ± 2% ~ (p=0.310 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 1.26ms ± 2% 1.26ms ± 3% ~ (p=1.000 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 1.91ms ± 3% 1.91ms ± 3% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 2.51ms ± 3% 2.55ms ± 5% ~ (p=0.548 n=5+5) neo/py(!log)/sql-zwrk.go·1 230µs ± 2% 232µs ± 4% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·2 405µs ± 4% 411µs ± 7% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·3 640µs ± 5% 628µs ± 3% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·4 837µs ± 4% 870µs ± 9% ~ (p=0.222 n=5+5) neo/py(!log)/sql-zwrk.go·8 1.63ms ± 1% 1.68ms ± 2% +3.24% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·12 2.52ms ± 3% 2.52ms ± 4% ~ (p=1.000 n=5+5) neo/py(!log)/sql-zwrk.go·16 3.27ms ± 3% 3.35ms ± 3% ~ (p=0.095 n=5+5) neo/go/fs1-zwrk.go·1 57.4µs ± 1% 58.5µs ± 6% ~ (p=0.310 n=5+5) neo/go/fs1-zwrk.go·2 60.8µs ± 1% 61.2µs ± 1% ~ (p=0.056 n=5+5) neo/go/fs1-zwrk.go·3 69.0µs ± 0% 69.3µs ± 0% +0.44% (p=0.016 n=4+5) neo/go/fs1-zwrk.go·4 75.1µs ± 0% 75.4µs ± 1% ~ (p=0.103 n=5+5) neo/go/fs1-zwrk.go·8 119µs ± 2% 123µs ± 2% +2.66% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 192µs ± 3% 202µs ± 5% +5.20% (p=0.016 n=5+5) neo/go/fs1-zwrk.go·16 296µs ±12% 298µs ± 2% ~ (p=0.151 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 49.5µs ± 5% 49.8µs ± 3% ~ (p=1.000 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 49.0µs ± 1% 49.0µs ± 1% ~ (p=0.690 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 57.8µs ± 1% 58.0µs ± 0% ~ (p=0.190 n=5+4) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 63.7µs ± 0% 63.9µs ± 0% ~ (p=0.310 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 107µs ± 5% 107µs ± 4% ~ (p=0.548 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 173µs ± 1% 177µs ± 4% ~ (p=0.151 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 262µs ± 2% 270µs ± 2% ~ (p=0.056 n=5+5) neo/go/sqlite-zwrk.go·1 109µs ± 1% 90µs ± 0% -17.86% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 125µs ± 0% 100µs ± 0% -20.06% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 136µs ± 0% 110µs ± 0% -18.92% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 150µs ± 0% 126µs ± 2% -15.96% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 259µs ± 2% 244µs ± 3% -5.81% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 407µs ± 1% 374µs ± 2% -8.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 541µs ± 2% 488µs ± 2% -9.80% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 105µs ± 1% 85µs ± 2% -18.95% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 121µs ± 0% 95µs ± 1% -21.73% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 132µs ± 0% 104µs ± 0% -21.71% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 146µs ± 1% 117µs ± 0% -20.05% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 256µs ± 2% 225µs ± 2% -12.05% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 407µs ± 2% 351µs ± 3% -13.79% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 557µs ±10% 447µs ± 1% -19.70% (p=0.008 n=5+5)
-
Kirill Smelkov authored
neo/go/sqlite is speed-up a bit, because we are now not retaking database file lock on every query which is expensive to do (see 57fa0d99 for details). E.g. ---- 8< ---- cluster:deco dataset:wczblk1-8 neo/go/sqlite-zhash.go 93.7µs ± 1% 72.8µs ± 1% -22.30% (p=0.008 n=5+5) neo/go/sqlite-zhash.go(!sha1) 86.4µs ± 3% 66.2µs ± 2% -23.37% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·1 91.2µs ± 0% 71.1µs ± 0% -22.02% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 109µs ± 1% 81µs ± 1% -25.66% (p=0.016 n=4+5) neo/go/sqlite-zwrk.go·3 124µs ± 0% 96µs ± 1% -22.71% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 149µs ± 1% 122µs ± 1% -18.25% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 270µs ± 2% 229µs ± 2% -15.27% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 410µs ± 2% 351µs ± 3% -14.41% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 560µs ± 1% 479µs ± 2% -14.47% (p=0.008 n=5+5) cluster:deco dataset:prod1-1024 neo/go/sqlite-zhash.go 86.3µs ± 0% 65.9µs ± 1% -23.65% (p=0.008 n=5+5) neo/go/sqlite-zhash.go(!sha1) 83.8µs ± 2% 63.3µs ± 1% -24.49% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·1 85.5µs ± 1% 64.3µs ± 0% -24.84% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 106µs ± 1% 78µs ± 1% -25.95% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 123µs ± 2% 95µs ± 1% -23.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 154µs ± 3% 123µs ± 1% -19.85% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 325µs ± 5% 271µs ± 3% -16.50% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 507µs ± 3% 424µs ± 2% -16.39% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 665µs ± 3% 549µs ± 1% -17.44% (p=0.008 n=5+5) ---- 8< ---- Everything else is probably within noise except ---- 8< ---- zeo/py/fs1-zhash.go 112µs ± 1% 130µs ± 1% +15.41% (p=0.008 n=5+5) ---- 8< ---- which has no explanation, but probably it was due to e.g. other short-lived program also running on my machine. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ benchstat -split node,cluster,dataset 20180306-deco-ffixed-noc_C1\(2µs\).txt 20180318-deco.txt name old pystone/s new pystone/s delta node:deco pystone 218k ± 2% 218k ± 2% ~ (p=0.690 n=5+5) name old time/op new time/op delta node:deco crc32/py/4K 5.72µs ± 0% 5.72µs ± 0% ~ (p=0.460 n=5+5) crc32/go/4K 280ns ± 1% 279ns ± 0% ~ (p=0.444 n=5+5) sha1/py/4K 6.72µs ± 1% 6.70µs ± 0% ~ (p=0.381 n=5+5) sha1/go/4K 5.59µs ± 0% 5.59µs ± 0% ~ (p=0.603 n=4+5) unzlib/py/wczdata 27.2µs ± 1% 27.1µs ± 1% ~ (p=0.151 n=5+5) unzlib/go/wczdata 26.8µs ± 0% 26.7µs ± 0% -0.54% (p=0.008 n=5+5) unzlib/py/prod1-avg 5.08µs ± 1% 5.12µs ± 2% ~ (p=0.310 n=5+5) unzlib/go/prod1-avg 5.29µs ± 1% 5.25µs ± 0% -0.71% (p=0.008 n=5+5) disk/randread/direct/4K-min 105µs ± 0% 123µs ± 1% +17.41% (p=0.008 n=5+5) disk/randread/direct/4K-avg 142µs ± 0% 141µs ± 0% -0.40% (p=0.016 n=5+4) disk/randread/pagecache/4K-min 582ns ± 0% 581ns ± 1% ~ (p=0.540 n=5+5) disk/randread/pagecache/4K-avg 987ns ± 0% 975ns ± 0% -1.28% (p=0.008 n=5+5) name old time/object new time/object delta cluster:deco dataset:wczblk1-8 fs1-zhash.py 20.2µs ± 1% 20.1µs ± 1% ~ (p=0.206 n=5+4) fs1-zhash.go 3.20µs ± 0% 3.20µs ± 0% ~ (all equal) fs1-zhash.go+prefetch128 4.14µs ± 1% 3.98µs ±10% ~ (p=0.206 n=5+5) zeo/py/fs1-zhash.py 361µs ± 3% 376µs ± 3% +3.88% (p=0.032 n=5+5) zeo/py/fs1-zhash.go 112µs ± 1% 130µs ± 1% +15.41% (p=0.008 n=5+5) zeo/py/fs1-zhash.go+prefetch128 63.9µs ± 1% 64.0µs ± 3% ~ (p=0.738 n=5+5) neo/py(!log)/sqlite-zhash.py 321µs ± 8% 329µs ± 6% ~ (p=0.548 n=5+5) neo/py(!log)/sqlite-zhash.go 141µs ± 3% 147µs ± 3% +4.26% (p=0.016 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 119µs ± 1% 124µs ± 1% +4.53% (p=0.008 n=5+5) neo/py(!log)/sql-zhash.py 376µs ± 2% 375µs ± 3% ~ (p=0.971 n=4+4) neo/py(!log)/sql-zhash.go 187µs ± 5% 183µs ± 3% ~ (p=0.206 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 164µs ± 2% 163µs ± 1% ~ (p=0.881 n=5+5) neo/go/fs1-zhash.py 226µs ± 2% 226µs ± 3% ~ (p=1.000 n=5+5) neo/go/fs1-zhash.go 57.1µs ± 1% 55.9µs ± 1% -2.17% (p=0.008 n=5+5) neo/go/fs1-zhash.go+prefetch128 24.0µs ± 4% 24.2µs ± 5% ~ (p=0.841 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 40.3µs ± 1% 39.3µs ± 1% -2.48% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 17.2µs ± 4% 16.9µs ± 8% ~ (p=0.548 n=5+5) neo/go/sqlite-zhash.py 253µs ± 1% 249µs ± 2% ~ (p=0.056 n=5+5) neo/go/sqlite-zhash.go 93.7µs ± 1% 72.8µs ± 1% -22.30% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 39.5µs ± 6% 34.3µs ±12% -13.18% (p=0.032 n=5+5) neo/go/sqlite-zhash.go(!sha1) 86.4µs ± 3% 66.2µs ± 2% -23.37% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 39.4µs ± 7% 31.5µs ±12% -20.01% (p=0.008 n=5+5) cluster:deco dataset:prod1-1024 fs1-zhash.py 15.9µs ± 2% 15.9µs ± 1% ~ (p=1.032 n=5+4) fs1-zhash.go 2.80µs ± 0% 2.70µs ± 0% -3.57% (p=0.029 n=4+4) fs1-zhash.go+prefetch128 3.34µs ± 2% 3.30µs ± 0% ~ (p=0.333 n=5+4) zeo/py/fs1-zhash.py 347µs ± 3% 345µs ± 3% ~ (p=0.841 n=5+5) zeo/py/fs1-zhash.go 105µs ± 0% 105µs ± 1% ~ (p=0.659 n=5+5) zeo/py/fs1-zhash.go+prefetch128 58.9µs ± 1% 58.9µs ± 1% ~ (p=0.984 n=5+5) neo/py(!log)/sqlite-zhash.py 317µs ± 5% 328µs ± 6% ~ (p=0.222 n=5+5) neo/py(!log)/sqlite-zhash.go 138µs ± 1% 140µs ± 1% +1.64% (p=0.024 n=5+5) neo/py(!log)/sqlite-zhash.go+prefetch128 112µs ± 1% 117µs ± 1% +4.25% (p=0.008 n=5+5) neo/py(!log)/sql-zhash.py 377µs ± 2% 373µs ± 3% ~ (p=0.686 n=4+4) neo/py(!log)/sql-zhash.go 184µs ± 2% 181µs ± 1% ~ (p=0.151 n=5+5) neo/py(!log)/sql-zhash.go+prefetch128 160µs ± 2% 153µs ± 1% -3.91% (p=0.008 n=5+5) neo/go/fs1-zhash.py 225µs ± 1% 229µs ± 1% +1.86% (p=0.024 n=5+5) neo/go/fs1-zhash.go 44.6µs ± 0% 43.5µs ± 0% -2.42% (p=0.000 n=5+4) neo/go/fs1-zhash.go+prefetch128 17.2µs ± 3% 16.8µs ± 3% ~ (p=0.127 n=5+5) neo/go/fs1(!sha1)-zhash.go(!sha1) 39.1µs ± 3% 38.1µs ± 1% -2.46% (p=0.016 n=5+5) neo/go/fs1(!sha1)-zhash.go+prefetch128(!sha1) 15.2µs ± 3% 14.3µs ± 3% -5.79% (p=0.008 n=5+5) neo/go/sqlite-zhash.py 254µs ± 1% 257µs ± 1% ~ (p=0.063 n=5+5) neo/go/sqlite-zhash.go 86.3µs ± 0% 65.9µs ± 1% -23.65% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128 36.6µs ± 5% 29.8µs ± 2% -18.52% (p=0.008 n=5+5) neo/go/sqlite-zhash.go(!sha1) 83.8µs ± 2% 63.3µs ± 1% -24.49% (p=0.008 n=5+5) neo/go/sqlite-zhash.go+prefetch128(!sha1) 36.9µs ± 8% 29.3µs ± 3% -20.63% (p=0.008 n=5+5) name old req/s new req/s delta cluster:deco dataset:wczblk1-8 fs1-zwrk.go·1 431k ± 1% 452k ± 1% +4.99% (p=0.008 n=5+5) fs1-zwrk.go·2 760k ± 3% 790k ± 4% +3.92% (p=0.032 n=5+5) fs1-zwrk.go·3 1.08M ± 2% 1.09M ± 0% +1.52% (p=0.008 n=5+5) fs1-zwrk.go·4 1.16M ± 1% 1.20M ± 1% +3.40% (p=0.008 n=5+5) fs1-zwrk.go·8 1.27M ± 1% 1.28M ± 1% +0.83% (p=0.016 n=5+5) fs1-zwrk.go·12 1.28M ± 1% 1.29M ± 1% +1.01% (p=0.032 n=5+5) fs1-zwrk.go·16 1.28M ± 1% 1.29M ± 0% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·1 8.04k ± 4% 8.14k ± 3% ~ (p=0.222 n=5+5) zeo/py/fs1-zwrk.go·2 9.54k ± 1% 9.64k ± 0% +1.03% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·3 10.5k ± 0% 10.5k ± 1% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·4 11.0k ± 1% 11.0k ± 1% ~ (p=0.841 n=5+5) zeo/py/fs1-zwrk.go·8 11.4k ± 1% 11.4k ± 0% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·12 11.7k ± 0% 11.6k ± 1% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·16 11.8k ± 2% 11.8k ± 0% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 7.04k ± 1% 6.90k ± 1% -2.00% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 8.52k ± 1% 8.25k ± 1% -3.15% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 8.51k ± 1% 8.28k ± 1% -2.68% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 8.50k ± 1% 8.27k ± 1% -2.75% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 8.53k ± 1% 8.26k ± 1% -3.12% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 8.48k ± 2% 8.28k ± 1% -2.42% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 8.48k ± 1% 8.25k ± 1% -2.62% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·1 5.37k ± 3% 5.41k ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·2 6.34k ± 0% 6.39k ± 1% +0.80% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·3 6.28k ± 1% 6.33k ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·4 6.29k ± 1% 6.32k ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·8 6.29k ± 1% 6.36k ± 1% ~ (p=0.095 n=5+5) neo/py(!log)/sql-zwrk.go·12 6.25k ± 1% 6.33k ± 1% +1.38% (p=0.016 n=5+5) neo/py(!log)/sql-zwrk.go·16 6.23k ± 2% 6.29k ± 1% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·1 18.4k ± 0% 18.8k ± 0% +2.52% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 38.3k ± 1% 39.2k ± 0% +2.26% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 45.9k ± 0% 46.5k ± 3% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·4 50.0k ± 0% 51.2k ± 0% +2.40% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 60.3k ± 1% 61.5k ± 0% +1.95% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 62.1k ± 1% 62.9k ± 1% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·16 61.6k ± 1% 63.0k ± 1% +2.18% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 26.3k ± 0% 27.0k ± 0% +2.53% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 55.7k ± 1% 56.9k ± 0% +2.14% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 62.8k ± 1% 64.2k ± 1% +2.16% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 69.4k ± 1% 70.7k ± 1% +1.89% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 88.3k ± 1% 90.1k ± 0% +2.01% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 93.5k ± 1% 94.9k ± 0% +1.45% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 93.8k ± 0% 95.3k ± 0% +1.61% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·1 11.0k ± 0% 14.1k ± 0% +28.25% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 18.3k ± 1% 24.7k ± 1% +34.52% (p=0.016 n=4+5) neo/go/sqlite-zwrk.go·3 24.2k ± 0% 31.3k ± 1% +29.39% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 26.8k ± 1% 32.8k ± 1% +22.33% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 29.6k ± 2% 34.9k ± 2% +18.02% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 29.3k ± 2% 34.2k ± 3% +16.85% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 28.6k ± 1% 33.4k ± 2% +16.93% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 11.9k ± 1% 15.6k ± 0% +31.16% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 19.6k ± 1% 25.9k ± 0% +32.17% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 26.4k ± 0% 35.3k ± 1% +33.49% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 30.0k ± 0% 38.8k ± 1% +29.36% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 31.2k ± 2% 37.4k ± 2% +19.86% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 28.8k ± 3% 36.5k ± 2% +26.88% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 28.4k ± 1% 39.4k ± 2% +38.81% (p=0.008 n=5+5) cluster:deco dataset:prod1-1024 fs1-zwrk.go·1 556k ± 0% 566k ± 1% +1.85% (p=0.008 n=5+5) fs1-zwrk.go·2 994k ± 6% 1047k ± 5% ~ (p=0.056 n=5+5) fs1-zwrk.go·3 1.33M ± 2% 1.34M ± 1% ~ (p=0.151 n=5+5) fs1-zwrk.go·4 1.53M ± 0% 1.55M ± 2% ~ (p=0.151 n=5+5) fs1-zwrk.go·8 1.59M ± 1% 1.61M ± 0% +1.50% (p=0.008 n=5+5) fs1-zwrk.go·12 1.60M ± 1% 1.62M ± 0% +1.45% (p=0.008 n=5+5) fs1-zwrk.go·16 1.59M ± 0% 1.62M ± 0% +1.46% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·1 9.75k ± 1% 9.77k ± 0% ~ (p=0.841 n=5+5) zeo/py/fs1-zwrk.go·2 12.4k ± 1% 12.3k ± 1% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·3 14.2k ± 1% 14.3k ± 1% +0.91% (p=0.016 n=5+5) zeo/py/fs1-zwrk.go·4 14.9k ± 1% 14.9k ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·8 15.6k ± 1% 15.7k ± 0% +0.45% (p=0.032 n=5+5) zeo/py/fs1-zwrk.go·12 16.0k ± 1% 16.0k ± 0% ~ (p=0.190 n=5+4) zeo/py/fs1-zwrk.go·16 16.0k ± 6% 16.3k ± 0% ~ (p=0.222 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 7.45k ± 2% 7.20k ± 1% -3.34% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 8.71k ± 1% 8.32k ± 0% -4.47% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 8.69k ± 1% 8.27k ± 1% -4.82% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 8.61k ± 1% 8.25k ± 1% -4.22% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 8.61k ± 1% 8.37k ± 1% -2.80% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 8.59k ± 1% 8.35k ± 1% -2.86% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 8.60k ± 1% 8.39k ± 1% -2.42% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·1 5.45k ± 2% 5.55k ± 1% +1.89% (p=0.016 n=5+5) neo/py(!log)/sql-zwrk.go·2 6.25k ± 1% 6.46k ± 1% +3.27% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·3 6.24k ± 1% 6.41k ± 1% +2.66% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·4 6.27k ± 1% 6.41k ± 1% +2.20% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·8 6.28k ± 1% 6.41k ± 0% +2.12% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·12 6.33k ± 0% 6.43k ± 1% +1.51% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·16 6.30k ± 1% 6.41k ± 1% +1.84% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·1 23.9k ± 0% 24.4k ± 0% +2.37% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 45.5k ± 1% 46.4k ± 1% +2.10% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 55.1k ± 0% 56.7k ± 1% +2.90% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·4 60.4k ± 0% 61.9k ± 1% +2.45% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 69.2k ± 2% 70.5k ± 2% ~ (p=0.095 n=5+5) neo/go/fs1-zwrk.go·12 68.0k ± 5% 70.4k ± 4% ~ (p=0.222 n=5+5) neo/go/fs1-zwrk.go·16 68.1k ± 3% 70.9k ± 6% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 27.2k ± 1% 28.0k ± 1% +3.05% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 55.5k ± 1% 57.5k ± 0% +3.45% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 64.0k ± 1% 65.4k ± 0% +2.13% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 69.1k ± 1% 71.4k ± 1% +3.28% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 81.1k ± 4% 82.8k ± 2% ~ (p=0.222 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 77.8k ± 8% 83.4k ± 5% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 76.8k ± 5% 79.9k ± 3% ~ (p=0.056 n=5+5) neo/go/sqlite-zwrk.go·1 11.7k ± 1% 15.6k ± 0% +33.04% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 18.9k ± 1% 25.6k ± 1% +35.04% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 24.4k ± 2% 31.6k ± 1% +29.89% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 26.0k ± 3% 32.5k ± 1% +24.74% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 24.6k ± 5% 29.5k ± 3% +19.67% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 23.7k ± 3% 28.3k ± 2% +19.59% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 24.1k ± 3% 29.2k ± 1% +21.07% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 12.2k ± 1% 16.2k ± 0% +33.34% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 19.6k ± 1% 26.2k ± 1% +33.41% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 25.5k ± 1% 33.2k ± 1% +30.52% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 27.5k ± 2% 34.3k ± 2% +24.53% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 25.6k ± 2% 29.4k ± 3% +14.78% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 24.0k ± 2% 29.6k ± 2% +23.18% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 24.2k ± 1% 33.1k ± 1% +37.12% (p=0.008 n=5+5) name old latency-time/object new latency-time/object delta cluster:deco dataset:wczblk1-8 fs1-zwrk.go·1 2.32µs ± 1% 2.21µs ± 1% -4.76% (p=0.008 n=5+5) fs1-zwrk.go·2 2.63µs ± 3% 2.53µs ± 3% -3.76% (p=0.032 n=5+5) fs1-zwrk.go·3 2.78µs ± 2% 2.74µs ± 0% -1.51% (p=0.008 n=5+5) fs1-zwrk.go·4 3.44µs ± 1% 3.33µs ± 1% -3.29% (p=0.008 n=5+5) fs1-zwrk.go·8 6.28µs ± 1% 6.23µs ± 1% -0.82% (p=0.016 n=5+5) fs1-zwrk.go·12 9.40µs ± 1% 9.31µs ± 1% -1.00% (p=0.032 n=5+5) fs1-zwrk.go·16 12.5µs ± 1% 12.4µs ± 0% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·1 125µs ± 4% 123µs ± 3% ~ (p=0.222 n=5+5) zeo/py/fs1-zwrk.go·2 210µs ± 1% 208µs ± 0% -1.02% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·3 286µs ± 0% 285µs ± 1% ~ (p=0.548 n=5+5) zeo/py/fs1-zwrk.go·4 365µs ± 1% 365µs ± 1% ~ (p=0.841 n=5+5) zeo/py/fs1-zwrk.go·8 699µs ± 1% 700µs ± 0% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·12 1.03ms ± 0% 1.03ms ± 1% ~ (p=0.690 n=5+5) zeo/py/fs1-zwrk.go·16 1.36ms ± 2% 1.36ms ± 0% ~ (p=0.841 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 142µs ± 1% 145µs ± 1% +2.03% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 235µs ± 1% 242µs ± 1% +3.25% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 353µs ± 1% 362µs ± 1% +2.74% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 470µs ± 1% 484µs ± 1% +2.82% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 938µs ± 1% 968µs ± 1% +3.22% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 1.41ms ± 2% 1.45ms ± 1% +2.47% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 1.89ms ± 1% 1.94ms ± 1% +2.69% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·1 186µs ± 3% 185µs ± 2% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·2 315µs ± 0% 313µs ± 1% -0.79% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·3 478µs ± 1% 474µs ± 1% ~ (p=0.310 n=5+5) neo/py(!log)/sql-zwrk.go·4 636µs ± 1% 633µs ± 1% ~ (p=0.421 n=5+5) neo/py(!log)/sql-zwrk.go·8 1.27ms ± 1% 1.26ms ± 1% ~ (p=0.095 n=5+5) neo/py(!log)/sql-zwrk.go·12 1.92ms ± 1% 1.90ms ± 1% -1.36% (p=0.016 n=5+5) neo/py(!log)/sql-zwrk.go·16 2.57ms ± 2% 2.55ms ± 1% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·1 54.4µs ± 0% 53.1µs ± 0% -2.46% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 52.2µs ± 1% 51.1µs ± 0% -2.21% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 65.3µs ± 0% 64.6µs ± 3% ~ (p=0.151 n=5+5) neo/go/fs1-zwrk.go·4 80.0µs ± 0% 78.1µs ± 0% -2.34% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 133µs ± 1% 130µs ± 0% -1.92% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·12 193µs ± 1% 191µs ± 1% ~ (p=0.421 n=5+5) neo/go/fs1-zwrk.go·16 260µs ± 1% 254µs ± 1% -2.14% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 38.0µs ± 0% 37.0µs ± 0% -2.47% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 35.9µs ± 1% 35.1µs ± 0% -2.10% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 47.7µs ± 1% 46.7µs ± 1% -2.11% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 57.7µs ± 1% 56.6µs ± 1% -1.85% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 90.6µs ± 1% 88.8µs ± 0% -1.97% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 128µs ± 1% 126µs ± 0% -1.43% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 171µs ± 0% 168µs ± 0% -1.58% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·1 91.2µs ± 0% 71.1µs ± 0% -22.02% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 109µs ± 1% 81µs ± 1% -25.66% (p=0.016 n=4+5) neo/go/sqlite-zwrk.go·3 124µs ± 0% 96µs ± 1% -22.71% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 149µs ± 1% 122µs ± 1% -18.25% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 270µs ± 2% 229µs ± 2% -15.27% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 410µs ± 2% 351µs ± 3% -14.41% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 560µs ± 1% 479µs ± 2% -14.47% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 84.0µs ± 1% 64.0µs ± 0% -23.76% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 102µs ± 1% 77µs ± 0% -24.34% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 113µs ± 0% 85µs ± 1% -25.08% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 133µs ± 0% 103µs ± 1% -22.69% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 257µs ± 2% 214µs ± 2% -16.57% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 417µs ± 3% 328µs ± 2% -21.20% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 563µs ± 1% 406µs ± 2% -27.95% (p=0.008 n=5+5) cluster:deco dataset:prod1-1024 fs1-zwrk.go·1 1.80µs ± 0% 1.77µs ± 1% -1.83% (p=0.008 n=5+5) fs1-zwrk.go·2 2.01µs ± 6% 1.91µs ± 5% ~ (p=0.056 n=5+5) fs1-zwrk.go·3 2.26µs ± 2% 2.23µs ± 1% ~ (p=0.135 n=5+5) fs1-zwrk.go·4 2.61µs ± 0% 2.59µs ± 2% ~ (p=0.135 n=5+5) fs1-zwrk.go·8 5.04µs ± 1% 4.96µs ± 0% -1.48% (p=0.016 n=5+5) fs1-zwrk.go·12 7.52µs ± 1% 7.42µs ± 0% -1.42% (p=0.008 n=5+5) fs1-zwrk.go·16 10.0µs ± 0% 9.9µs ± 0% -1.44% (p=0.008 n=5+5) zeo/py/fs1-zwrk.go·1 103µs ± 1% 102µs ± 0% ~ (p=0.841 n=5+5) zeo/py/fs1-zwrk.go·2 161µs ± 1% 162µs ± 1% ~ (p=0.095 n=5+5) zeo/py/fs1-zwrk.go·3 212µs ± 1% 210µs ± 1% -0.90% (p=0.016 n=5+5) zeo/py/fs1-zwrk.go·4 268µs ± 1% 269µs ± 1% ~ (p=1.000 n=5+5) zeo/py/fs1-zwrk.go·8 512µs ± 1% 509µs ± 0% -0.45% (p=0.032 n=5+5) zeo/py/fs1-zwrk.go·12 752µs ± 1% 750µs ± 0% ~ (p=0.190 n=5+4) zeo/py/fs1-zwrk.go·16 1.00ms ± 6% 0.98ms ± 0% ~ (p=0.222 n=5+5) neo/py(!log)/sqlite-zwrk.go·1 134µs ± 1% 139µs ± 1% +3.45% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·2 230µs ± 1% 240µs ± 0% +4.68% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·3 345µs ± 1% 363µs ± 1% +5.06% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·4 465µs ± 1% 485µs ± 1% +4.41% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·8 929µs ± 1% 956µs ± 1% +2.89% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·12 1.40ms ± 1% 1.44ms ± 1% +2.94% (p=0.008 n=5+5) neo/py(!log)/sqlite-zwrk.go·16 1.86ms ± 1% 1.91ms ± 1% +2.47% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·1 184µs ± 2% 180µs ± 1% -1.86% (p=0.016 n=5+5) neo/py(!log)/sql-zwrk.go·2 320µs ± 1% 310µs ± 1% -3.17% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·3 481µs ± 1% 468µs ± 1% -2.59% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·4 638µs ± 1% 624µs ± 1% -2.15% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·8 1.27ms ± 1% 1.25ms ± 0% -2.09% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·12 1.89ms ± 0% 1.87ms ± 1% -1.49% (p=0.008 n=5+5) neo/py(!log)/sql-zwrk.go·16 2.54ms ± 1% 2.49ms ± 1% -1.80% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·1 41.9µs ± 0% 40.9µs ± 0% -2.31% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·2 44.0µs ± 1% 43.1µs ± 1% -2.06% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·3 54.5µs ± 0% 52.9µs ± 1% -2.82% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·4 66.2µs ± 0% 64.6µs ± 1% -2.39% (p=0.008 n=5+5) neo/go/fs1-zwrk.go·8 116µs ± 2% 113µs ± 2% ~ (p=0.095 n=5+5) neo/go/fs1-zwrk.go·12 177µs ± 5% 171µs ± 5% ~ (p=0.222 n=5+5) neo/go/fs1-zwrk.go·16 235µs ± 3% 226µs ± 5% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·1 36.8µs ± 1% 35.7µs ± 1% -2.95% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·2 36.0µs ± 1% 34.8µs ± 0% -3.34% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·3 46.9µs ± 1% 45.9µs ± 0% -2.09% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·4 57.9µs ± 1% 56.0µs ± 1% -3.18% (p=0.008 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·8 98.6µs ± 4% 96.7µs ± 2% ~ (p=0.222 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·12 155µs ± 8% 144µs ± 5% ~ (p=0.056 n=5+5) neo/go/fs1(!sha1)-zwrk.go(!sha1)·16 208µs ± 5% 200µs ± 3% ~ (p=0.056 n=5+5) neo/go/sqlite-zwrk.go·1 85.5µs ± 1% 64.3µs ± 0% -24.84% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·2 106µs ± 1% 78µs ± 1% -25.95% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·3 123µs ± 2% 95µs ± 1% -23.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·4 154µs ± 3% 123µs ± 1% -19.85% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·8 325µs ± 5% 271µs ± 3% -16.50% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·12 507µs ± 3% 424µs ± 2% -16.39% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go·16 665µs ± 3% 549µs ± 1% -17.44% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·1 82.3µs ± 1% 61.7µs ± 0% -25.01% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·2 102µs ± 1% 76µs ± 1% -25.04% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·3 118µs ± 1% 90µs ± 1% -23.38% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·4 145µs ± 2% 117µs ± 2% -19.71% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·8 312µs ± 2% 272µs ± 3% -12.87% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·12 500µs ± 2% 406µs ± 2% -18.82% (p=0.008 n=5+5) neo/go/sqlite-zwrk.go(!sha1)·16 662µs ± 1% 483µs ± 1% -27.07% (p=0.008 n=5+5)
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 14 Mar, 2018 2 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 13 Mar, 2018 2 commits
-
-
Kirill Smelkov authored
-
Julien Muchembled authored
-
- 12 Mar, 2018 4 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 09 Mar, 2018 1 commit
-
-
Kirill Smelkov authored
The penalty turned out to be actually depending on the predictor logic inside OS kernel, so this program was canceled. Saving anyway as this in some form might become useful in the future.
-