From 7086fc100cd02b94b97e15a7bc31fddff844cd9c Mon Sep 17 00:00:00 2001 From: SisMaker <1713699517@qq.com> Date: Tue, 29 Sep 2020 01:07:05 +0800 Subject: [PATCH] =?UTF-8?q?doc=E7=A7=BB=E5=8A=A8=E4=BA=86=E5=9C=B0?= =?UTF-8?q?=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/docs/centos7Gcc升级.md | 34 - src/docs/erlang-DsBenchMark.txt | 5600 ----------------- src/docs/erlangApp相关.md | 88 - src/docs/erlangNif编程相关.md | 64 - src/docs/erlangSupervisor相关.md | 243 - src/docs/erlangVS环境编译nifdll.md | 35 - src/docs/erlang二进制.md | 95 - src/docs/erlang套接字编程.md | 448 -- src/docs/erlang性能优化.md | 220 - src/docs/erlang数据结构相关.md | 300 - src/docs/erlang规范.md | 1159 ---- src/docs/erlang进程.md | 344 - src/docs/erlang集群相关.md | 333 - src/docs/picture/erlang参数传递讲解.png | Bin 56079 -> 0 bytes src/docs/picture/erlang数据复制.png | Bin 21177 -> 0 bytes .../erlang汇编识别为递归标识符.png | Bin 23623 -> 0 bytes src/docs/picture/erlang进程状态图.png | Bin 47938 -> 0 bytes .../列表推导与二进制推导.png | Bin 309430 -> 0 bytes src/docs/time相关的日志.md | 181 - 19 files changed, 9144 deletions(-) delete mode 100644 src/docs/centos7Gcc升级.md delete mode 100644 src/docs/erlang-DsBenchMark.txt delete mode 100644 src/docs/erlangApp相关.md delete mode 100644 src/docs/erlangNif编程相关.md delete mode 100644 src/docs/erlangSupervisor相关.md delete mode 100644 src/docs/erlangVS环境编译nifdll.md delete mode 100644 src/docs/erlang二进制.md delete mode 100644 src/docs/erlang套接字编程.md delete mode 100644 src/docs/erlang性能优化.md delete mode 100644 src/docs/erlang数据结构相关.md delete mode 100644 src/docs/erlang规范.md delete mode 100644 src/docs/erlang进程.md delete mode 100644 src/docs/erlang集群相关.md delete mode 100644 src/docs/picture/erlang参数传递讲解.png delete mode 100644 src/docs/picture/erlang数据复制.png delete mode 100644 src/docs/picture/erlang汇编识别为递归标识符.png delete mode 100644 src/docs/picture/erlang进程状态图.png delete mode 100644 src/docs/picture/列表推导与二进制推导.png delete mode 100644 src/docs/time相关的日志.md diff --git a/src/docs/centos7Gcc升级.md b/src/docs/centos7Gcc升级.md deleted file mode 100644 index 652b1fb..0000000 --- a/src/docs/centos7Gcc升级.md +++ /dev/null @@ -1,34 +0,0 @@ -# log - 由于部分nif依赖于c99编译,而部分环境gcc版本低于依赖导致编译不过,特此记录Gcc升级命令 - -# 步骤 - 1. 安装centos-release-scl - sudo yum install centos-release-scl - 2. 查看最新的版本并安装 - yum list | grep devtoolset 然后选择你想要安装的版本,比如: - sudo yum install devtoolset-9-gcc* - 3. 激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本 - scl enable devtoolset-9 bash - gcc -v - - 注意:::这条激活命令只对本次会话有效,重启会话后还是会变回原来的版本 想随意切换可按如下操作。 - 首先,安装的devtoolset是在 /opt/sh 目录下的,如图 - - 每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行 - source ./enable - 所以要想切换到某个版本,只需要执行 - source /opt/rh/devtoolset-8/enable - 可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启 - - 4. 直接替换旧的gcc - 旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable - 复制代码 - mv /usr/bin/gcc /usr/bin/gcc-4.8.5 - ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc - mv /usr/bin/g++ /usr/bin/g++-4.8.5 - ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++ - gcc --version - g++ --version - - - \ No newline at end of file diff --git a/src/docs/erlang-DsBenchMark.txt b/src/docs/erlang-DsBenchMark.txt deleted file mode 100644 index 766b6dc..0000000 --- a/src/docs/erlang-DsBenchMark.txt +++ /dev/null @@ -1,5600 +0,0 @@ -Ds benchmark... -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -PdDs 8 5.24us 655.00ns 1.56us 195.38ns 1.80us 225.50ns 9.94us 1242.25ns 1.74us 217.88ns -PdDs 8 3.19us 398.25ns 1.18us 147.75ns 1.42us 177.75ns 2.18us 273.00ns 3.25us 405.88ns -PdDs 8 3.12us 389.50ns 1.26us 157.75ns 1.48us 185.38ns 2.13us 266.75ns 2.69us 336.88ns -PdDs 8 2.34us 293.00ns 872ns 109.00ns 1.07us 134.00ns 1.46us 182.75ns 2.12us 265.50ns -PdDs 8 2.08us 260.50ns 842ns 105.25ns 1.08us 135.25ns 1.31us 164.00ns 2.27us 284.25ns -PdDs 8 2.82us 351.88ns 1.16us 145.25ns 1.24us 155.38ns 1.64us 205.38ns 2.92us 365.63ns -PdDs 8 3.25us 405.75ns 1.30us 162.75ns 1.46us 182.88ns 1.82us 227.88ns 3.70us 462.13ns -PdDs 8 3.09us 385.75ns 1.21us 151.50ns 1.48us 185.38ns 1.70us 212.88ns 3.41us 425.75ns -PdDs 8 2.81us 350.63ns 1.12us 140.25ns 1.35us 169.00ns 1.80us 225.50ns 2.73us 341.88ns -PdDs 8 3.22us 402.00ns 1.12us 140.25ns 1.89us 236.75ns 1.76us 220.38ns 3.13us 390.75ns -PdDs 8 3.07us 383.25ns 1.16us 145.25ns 1.47us 184.13ns 1.83us 229.13ns 3.22us 402.00ns -PdDs 8 2.94us 367.00ns 1.32us 165.25ns 1.27us 159.00ns 1.79us 224.25ns 3.27us 408.25ns -PdDs 8 2.94us 368.13ns 1.15us 144.00ns 1.38us 172.88ns 1.76us 220.38ns 3.54us 442.13ns -PdDs 8 2.95us 368.25ns 1.23us 154.00ns 1.21us 151.50ns 1.94us 243.00ns 3.09us 385.75ns -PdDs 8 5.46us 682.50ns 1.36us 170.38ns 1.41us 176.50ns 1.85us 231.75ns 6.37us 796.50ns -PdDs 8 3.09us 385.75ns 1.26us 157.75ns 1.39us 174.13ns 2.03us 254.13ns 3.32us 414.63ns -PdDs 8 2.56us 320.63ns 1.03us 128.88ns 1.29us 161.63ns 4.55us 568.50ns 4.04us 504.75ns -PdDs 8 3.00us 374.50ns 1.24us 155.25ns 1.42us 177.88ns 1.97us 246.75ns 15.08us 1884.75ns -PdDs 8 3.00us 374.50ns 1.21us 151.50ns 1.41us 176.63ns 1.66us 207.88ns 3.29us 410.75ns -PdDs 8 2.56us 320.50ns 1.72us 215.50ns 1.25us 156.50ns 1.77us 221.63ns 2.90us 362.00ns -PdDs 8 2.94us 367.00ns 1.24us 155.25ns 1.35us 169.13ns 1.81us 226.63ns 3.18us 397.00ns -PdDs 8 2.84us 354.50ns 1.14us 142.75ns 1.33us 166.50ns 1.66us 207.88ns 3.12us 389.50ns -PdDs 16 6.15us 384.44ns 1.98us 124.00ns 9.24us 577.31ns 4.30us 268.63ns 4.72us 294.94ns -PdDs 16 5.59us 349.44ns 2.12us 132.75ns 8.29us 518.44ns 5.99us 374.44ns 5.42us 338.75ns -PdDs 16 5.65us 353.19ns 1.88us 117.69ns 7.97us 498.44ns 2.86us 178.44ns 3.85us 240.50ns -PdDs 16 5.55us 346.88ns 1.85us 115.81ns 7.57us 473.38ns 2.94us 183.50ns 3.94us 246.06ns -PdDs 16 5.77us 360.69ns 1.82us 113.94ns 7.99us 499.06ns 2.98us 185.94ns 3.61us 225.44ns -PdDs 16 5.94us 371.31ns 1.77us 110.81ns 7.84us 490.31ns 3.35us 209.13ns 3.69us 230.44ns -PdDs 16 5.29us 330.63ns 1.83us 114.63ns 7.48us 467.69ns 3.06us 191.00ns 3.28us 204.75ns -PdDs 16 5.31us 331.88ns 2.03us 127.13ns 7.32us 457.69ns 2.84us 177.25ns 3.49us 217.88ns -PdDs 16 5.01us 313.13ns 1.72us 107.69ns 6.23us 389.50ns 2.30us 144.00ns 2.54us 159.06ns -PdDs 16 5.59us 349.38ns 1.96us 122.75ns 6.98us 436.44ns 3.16us 197.25ns 3.31us 206.63ns -PdDs 16 4.98us 311.19ns 1.86us 116.50ns 7.21us 450.81ns 3.05us 190.38ns 3.70us 231.06ns -PdDs 16 4.96us 309.94ns 1.88us 117.75ns 6.73us 420.75ns 3.04us 189.75ns 3.34us 208.50ns -PdDs 16 4.81us 300.56ns 1.85us 115.81ns 6.42us 401.38ns 2.88us 179.69ns 3.44us 214.81ns -PdDs 16 4.68us 292.44ns 1.86us 116.44ns 7.16us 447.75ns 3.19us 199.13ns 4.10us 256.06ns -PdDs 16 5.65us 353.13ns 1.75us 109.56ns 7.41us 463.38ns 2.38us 148.44ns 2.69us 167.81ns -PdDs 16 8.51us 531.63ns 2.12us 132.75ns 10.62us 663.75ns 4.52us 282.38ns 4.64us 289.94ns -PdDs 16 5.25us 328.13ns 1.91us 119.56ns 6.36us 397.63ns 2.71us 169.69ns 3.06us 191.00ns -PdDs 16 5.16us 322.50ns 1.65us 103.31ns 6.42us 401.38ns 2.17us 135.88ns 2.46us 153.44ns -PdDs 16 5.76us 360.00ns 1.96us 122.75ns 8.05us 503.44ns 3.26us 203.50ns 3.76us 234.81ns -PdDs 16 5.34us 333.75ns 1.67us 104.56ns 6.88us 430.19ns 3.02us 188.44ns 3.63us 226.69ns -PdDs 16 5.24us 327.50ns 1.96us 122.75ns 6.89us 430.81ns 3.08us 192.81ns 3.48us 217.31ns -PdDs 16 4.84us 302.44ns 1.82us 113.94ns 6.37us 398.25ns 3.03us 189.13ns 3.19us 199.13ns -PdDs 32 17.29us 540.38ns 4.13us 129.00ns 15.10us 471.81ns 5.53us 172.81ns 4.12us 128.69ns -PdDs 32 16.12us 503.75ns 3.48us 108.66ns 11.57us 361.59ns 4.33us 135.28ns 3.75us 117.09ns -PdDs 32 13.71us 428.28ns 3.41us 106.47ns 9.91us 309.63ns 4.04us 126.19ns 3.54us 110.50ns -PdDs 32 13.02us 407.00ns 2.94us 91.75ns 9.80us 306.19ns 4.05us 126.47ns 3.51us 109.59ns -PdDs 32 18.84us 588.59ns 3.56us 111.13ns 16.36us 511.28ns 4.21us 131.50ns 3.67us 114.59ns -PdDs 32 13.98us 436.75ns 2.76us 86.13ns 9.23us 288.34ns 3.96us 123.66ns 3.42us 106.78ns -PdDs 32 13.23us 413.56ns 2.90us 90.50ns 9.07us 283.34ns 3.92us 122.41ns 3.37us 105.19ns -PdDs 32 12.82us 400.75ns 2.63us 82.03ns 8.40us 262.38ns 3.81us 118.97ns 3.29us 102.69ns -PdDs 32 9.98us 311.84ns 2.71us 84.53ns 8.49us 265.47ns 3.60us 112.41ns 3.21us 100.19ns -PdDs 32 12.33us 385.41ns 2.75us 85.78ns 8.34us 260.50ns 4.46us 139.31ns 7.33us 229.19ns -PdDs 32 11.46us 358.19ns 2.63us 82.34ns 8.27us 258.28ns 3.91us 122.09ns 3.20us 99.88ns -PdDs 32 12.97us 405.44ns 2.77us 86.72ns 8.12us 253.59ns 3.89us 121.47ns 3.36us 104.91ns -PdDs 32 19.23us 600.81ns 3.81us 118.97ns 11.49us 359.13ns 5.47us 170.94ns 4.56us 142.47ns -PdDs 32 13.65us 426.72ns 3.53us 110.22ns 10.91us 340.94ns 5.44us 170.00ns 4.48us 139.97ns -PdDs 32 12.67us 396.06ns 3.44us 107.41ns 10.79us 337.19ns 5.16us 161.22ns 4.27us 133.38ns -PdDs 32 12.89us 402.94ns 3.49us 108.94ns 10.92us 341.28ns 5.28us 165.00ns 4.41us 137.75ns -PdDs 32 12.57us 392.91ns 3.58us 111.78ns 10.87us 339.69ns 5.35us 167.19ns 4.52us 141.22ns -PdDs 32 12.64us 395.13ns 3.45us 107.69ns 11.11us 347.22ns 5.26us 164.38ns 4.39us 137.13ns -PdDs 32 12.82us 400.75ns 2.75us 85.78ns 8.47us 264.56ns 3.70us 115.53ns 3.35us 104.56ns -PdDs 32 12.98us 405.75ns 2.88us 89.84ns 8.58us 268.00ns 3.78us 118.03ns 3.24us 101.13ns -PdDs 32 12.41us 387.94ns 2.65us 82.66ns 9.73us 304.00ns 4.49us 140.25ns 4.12us 128.69ns -PdDs 32 30.57us 955.22ns 3.41us 106.44ns 11.16us 348.78ns 4.79us 149.66ns 4.45us 139.00ns -PdDs 64 41.18us 643.39ns 7.00us 109.42ns 14.93us 233.23ns 19.28us 301.19ns 9.35us 146.06ns -PdDs 64 37.56us 586.88ns 6.59us 103.00ns 13.85us 216.34ns 17.48us 273.17ns 8.61us 134.47ns -PdDs 64 34.03us 531.77ns 6.46us 100.97ns 13.04us 203.67ns 16.89us 263.92ns 8.92us 139.33ns -PdDs 64 34.66us 541.48ns 7.76us 121.31ns 15.40us 240.61ns 17.23us 269.25ns 8.59us 134.16ns -PdDs 64 36.62us 572.16ns 6.45us 100.81ns 15.20us 237.48ns 19.83us 309.80ns 8.96us 139.94ns -PdDs 64 28.51us 445.52ns 16.79us 262.36ns 13.99us 218.55ns 18.82us 293.98ns 9.32us 145.58ns -PdDs 64 35.41us 553.23ns 6.85us 107.06ns 14.43us 225.42ns 17.83us 278.66ns 9.38us 146.52ns -PdDs 64 33.27us 519.88ns 6.64us 103.80ns 14.16us 221.19ns 17.57us 274.58ns 9.23us 144.17ns -PdDs 64 30.42us 475.27ns 5.20us 81.23ns 9.69us 151.39ns 12.10us 189.09ns 6.41us 100.19ns -PdDs 64 30.62us 478.39ns 5.06us 79.05ns 9.55us 149.19ns 11.94us 186.59ns 6.29us 98.31ns -PdDs 64 27.75us 433.63ns 5.16us 80.61ns 9.58us 149.66ns 11.96us 186.92ns 6.30us 98.45ns -PdDs 64 28.85us 450.84ns 5.10us 79.69ns 9.43us 147.30ns 11.96us 186.92ns 6.31us 98.63ns -PdDs 64 49.82us 778.48ns 6.23us 97.38ns 13.89us 216.97ns 14.10us 220.25ns 6.59us 103.02ns -PdDs 64 38.21us 597.05ns 7.16us 111.94ns 13.24us 206.95ns 16.45us 257.03ns 8.70us 135.89ns -PdDs 64 34.91us 545.39ns 7.31us 114.28ns 13.17us 205.84ns 16.53us 258.30ns 8.94us 139.64ns -PdDs 64 32.37us 505.80ns 6.91us 108.02ns 12.52us 195.67ns 14.95us 233.56ns 7.71us 120.53ns -PdDs 64 32.66us 510.33ns 6.36us 99.41ns 11.91us 186.13ns 14.86us 232.16ns 9.88us 154.34ns -PdDs 64 37.77us 590.16ns 9.07us 141.67ns 13.59us 212.27ns 16.48us 257.52ns 9.12us 142.45ns -PdDs 64 31.06us 485.28ns 5.08us 79.36ns 30.56us 477.45ns 21.88us 341.89ns 9.23us 144.17ns -PdDs 64 47.50us 742.16ns 7.36us 115.06ns 12.01us 187.69ns 13.57us 211.97ns 6.50us 101.59ns -PdDs 64 33.86us 529.11ns 7.27us 113.66ns 13.38us 208.98ns 14.57us 227.61ns 6.35us 99.25ns -PdDs 64 40.37us 630.70ns 7.17us 112.09ns 13.32us 208.20ns 17.27us 269.88ns 9.45us 147.61ns -PdDs 128 70.04us 547.20ns 12.71us 99.32ns 29.99us 234.27ns 35.61us 278.18ns 16.37us 127.89ns -PdDs 128 83.33us 650.98ns 10.42us 81.40ns 36.78us 287.34ns 75.46us 589.54ns 17.74us 138.62ns -PdDs 128 54.75us 427.75ns 10.03us 78.35ns 20.28us 158.41ns 24.27us 189.58ns 12.33us 96.35ns -PdDs 128 79.08us 617.79ns 13.99us 109.27ns 27.34us 213.60ns 32.90us 257.04ns 17.36us 135.65ns -PdDs 128 62.18us 485.75ns 13.34us 104.18ns 27.15us 212.12ns 29.76us 232.47ns 13.84us 108.09ns -PdDs 128 100.35us 784.00ns 10.51us 82.11ns 24.67us 192.70ns 32.97us 257.59ns 17.96us 140.34ns -PdDs 128 52.73us 411.95ns 10.14us 79.21ns 20.12us 157.16ns 29.82us 232.94ns 17.22us 134.55ns -PdDs 128 52.72us 411.87ns 10.11us 78.98ns 19.88us 155.29ns 22.87us 178.69ns 11.96us 93.46ns -PdDs 128 51.42us 401.69ns 9.96us 77.80ns 20.25us 158.18ns 23.15us 180.89ns 14.49us 113.18ns -PdDs 128 50.80us 396.84ns 9.99us 78.04ns 20.02us 156.38ns 22.87us 178.70ns 11.91us 93.06ns -PdDs 128 60.84us 475.34ns 13.59us 106.14ns 27.34us 213.60ns 32.51us 253.98ns 17.27us 134.95ns -PdDs 128 59.68us 466.26ns 13.39us 104.65ns 27.18us 212.35ns 31.71us 247.73ns 17.18us 134.23ns -PdDs 128 60.31us 471.19ns 13.54us 105.75ns 27.68us 216.26ns 32.20us 251.57ns 16.70us 130.48ns -PdDs 128 60.74us 474.56ns 13.56us 105.98ns 27.47us 214.62ns 31.97us 249.77ns 17.19us 134.31ns -PdDs 128 76.03us 594.00ns 11.21us 87.59ns 20.77us 162.26ns 23.45us 183.23ns 12.12us 94.71ns -PdDs 128 49.91us 389.95ns 9.99us 78.03ns 20.11us 157.09ns 22.75us 177.75ns 11.91us 93.07ns -PdDs 128 47.95us 374.61ns 10.04us 78.42ns 20.01us 156.31ns 22.57us 176.34ns 11.89us 92.91ns -PdDs 128 46.91us 366.46ns 10.06us 78.59ns 19.91us 155.52ns 22.60us 176.58ns 11.87us 92.76ns -PdDs 128 50.26us 392.69ns 9.94us 77.64ns 19.82us 154.82ns 22.68us 177.21ns 11.96us 93.45ns -PdDs 128 112.65us 880.10ns 14.47us 113.02ns 31.91us 249.30ns 87.47us 683.38ns 19.14us 149.50ns -PdDs 128 60.71us 474.32ns 13.64us 106.53ns 27.32us 213.45ns 32.17us 251.33ns 16.91us 132.12ns -PdDs 128 59.84us 467.52ns 13.81us 107.86ns 27.65us 216.02ns 32.36us 252.82ns 17.11us 133.69ns -PdDs 256 129.90us 507.43ns 37.60us 146.88ns 88.22us 344.63ns 49.28us 192.51ns 46.78us 182.72ns -PdDs 256 122.75us 479.49ns 36.97us 144.41ns 67.74us 264.60ns 41.34us 161.47ns 48.97us 191.30ns -PdDs 256 115.47us 451.04ns 36.20us 141.40ns 67.38us 263.19ns 42.04us 164.21ns 49.12us 191.88ns -PdDs 256 131.81us 514.87ns 66.31us 259.04ns 94.56us 369.36ns 45.23us 176.70ns 66.44us 259.55ns -PdDs 256 141.29us 551.93ns 35.99us 140.57ns 60.83us 237.63ns 29.68us 115.92ns 36.82us 143.82ns -PdDs 256 116.43us 454.79ns 27.80us 108.60ns 67.60us 264.05ns 29.50us 115.25ns 36.02us 140.69ns -PdDs 256 90.51us 353.55ns 26.81us 104.73ns 49.75us 194.35ns 28.89us 112.87ns 35.28us 137.80ns -PdDs 256 91.12us 355.94ns 27.89us 108.95ns 60.92us 237.98ns 28.96us 113.14ns 35.42us 138.34ns -PdDs 256 131.61us 514.09ns 33.76us 131.89ns 64.59us 252.31ns 28.71us 112.16ns 39.85us 155.68ns -PdDs 256 101.30us 395.70ns 27.11us 105.90ns 102.64us 400.94ns 28.94us 113.06ns 44.63us 174.35ns -PdDs 256 110.04us 429.83ns 116.96us 456.88ns 56.23us 219.63ns 103.10us 402.74ns 37.36us 145.94ns -PdDs 256 86.65us 338.48ns 36.00us 140.61ns 87.09us 340.20ns 38.63us 150.91ns 36.00us 140.61ns -PdDs 256 133.81us 522.69ns 46.99us 183.55ns 67.00us 261.70ns 113.14us 441.97ns 45.98us 179.63ns -PdDs 256 127.53us 498.16ns 29.25us 114.24ns 76.37us 298.33ns 30.30us 118.35ns 54.45us 212.70ns -PdDs 256 117.36us 458.44ns 45.16us 176.42ns 51.10us 199.63ns 37.81us 147.70ns 45.59us 178.07ns -PdDs 256 122.29us 477.69ns 69.41us 271.13ns 86.94us 339.62ns 41.32us 161.39ns 69.13us 270.04ns -PdDs 256 137.06us 535.38ns 36.76us 143.59ns 86.12us 336.41ns 42.78us 167.11ns 67.77us 264.71ns -PdDs 256 142.82us 557.88ns 27.44us 107.19ns 54.23us 211.84ns 46.53us 181.75ns 36.67us 143.23ns -PdDs 256 110.52us 431.70ns 26.93us 105.20ns 67.11us 262.13ns 28.94us 113.06ns 35.67us 139.32ns -PdDs 256 109.38us 427.28ns 26.98us 105.39ns 66.22us 258.68ns 67.11us 262.13ns 70.90us 276.96ns -PdDs 256 108.49us 423.80ns 29.23us 114.20ns 60.97us 238.18ns 37.26us 145.54ns 35.85us 140.03ns -PdDs 256 89.20us 348.43ns 26.36us 102.96ns 48.50us 189.46ns 28.24us 110.32ns 34.80us 135.92ns -PdDs 516 264.08us 511.78ns 58.21us 112.81ns 140.26us 271.82ns 136.04us 263.65ns 71.68us 138.92ns -PdDs 516 261.41us 506.60ns 57.77us 111.95ns 142.38us 275.93ns 93.75us 181.68ns 47.91us 92.85ns -PdDs 516 190.60us 369.37ns 39.98us 77.47ns 97.90us 189.73ns 92.36us 179.00ns 47.21us 91.49ns -PdDs 516 245.07us 474.93ns 55.79us 108.13ns 139.17us 269.71ns 128.06us 248.18ns 68.68us 133.10ns -PdDs 516 252.95us 490.22ns 55.52us 107.60ns 161.90us 313.77ns 92.71us 179.68ns 47.27us 91.60ns -PdDs 516 184.16us 356.91ns 39.91us 77.35ns 97.65us 189.25ns 90.81us 175.99ns 46.93us 90.94ns -PdDs 516 183.47us 355.57ns 56.23us 108.96ns 99.74us 193.29ns 87.91us 170.38ns 47.03us 91.14ns -PdDs 516 199.87us 387.35ns 39.46us 76.48ns 95.51us 185.09ns 89.89us 174.20ns 62.14us 120.42ns -PdDs 516 260.45us 504.74ns 49.29us 95.53ns 138.95us 269.28ns 98.92us 191.70ns 47.24us 91.55ns -PdDs 516 206.25us 399.70ns 40.92us 79.30ns 101.24us 196.20ns 111.78us 216.63ns 47.48us 92.01ns -PdDs 516 176.76us 342.56ns 39.58us 76.71ns 95.66us 185.38ns 90.81us 175.99ns 46.65us 90.40ns -PdDs 516 176.75us 342.54ns 39.37us 76.30ns 122.50us 237.40ns 91.02us 176.40ns 46.61us 90.32ns -PdDs 516 207.47us 402.07ns 56.52us 109.53ns 110.50us 214.14ns 90.30us 175.00ns 46.86us 90.81ns -PdDs 516 202.42us 392.28ns 55.46us 107.49ns 128.32us 248.68ns 121.20us 234.88ns 66.54us 128.96ns -PdDs 516 235.28us 455.97ns 55.38us 107.33ns 129.45us 250.88ns 136.49us 264.51ns 103.03us 199.67ns -PdDs 516 250.63us 485.71ns 55.35us 107.27ns 133.38us 258.49ns 129.40us 250.78ns 68.16us 132.09ns -PdDs 516 236.90us 459.10ns 40.01us 77.55ns 97.31us 188.59ns 110.39us 213.93ns 69.42us 134.53ns -PdDs 516 250.05us 484.59ns 55.06us 106.71ns 209.25us 405.53ns 117.03us 226.80ns 89.34us 173.13ns -PdDs 516 215.95us 418.52ns 40.31us 78.13ns 98.29us 190.49ns 94.41us 182.96ns 79.84us 154.73ns -PdDs 516 216.01us 418.63ns 39.85us 77.24ns 98.55us 191.00ns 93.78us 181.73ns 47.82us 92.67ns -PdDs 516 181.49us 351.72ns 39.83us 77.18ns 114.94us 222.76ns 92.82us 179.89ns 47.08us 91.24ns -PdDs 516 178.14us 345.24ns 39.47us 76.50ns 95.73us 185.52ns 91.29us 176.92ns 46.81us 90.71ns -PdDs 1024 411.28us 401.64ns 125.63us 122.68ns 155.62us 151.97ns 198.84us 194.18ns 100.16us 97.81ns -PdDs 1024 366.81us 358.21ns 124.37us 121.46ns 152.55us 148.98ns 205.33us 200.52ns 98.43us 96.13ns -PdDs 1024 384.79us 375.77ns 125.50us 122.56ns 153.15us 149.56ns 176.92us 172.77ns 93.23us 91.05ns -PdDs 1024 361.45us 352.98ns 123.55us 120.66ns 151.49us 147.94ns 173.13us 169.08ns 92.41us 90.25ns -PdDs 1024 406.38us 396.86ns 163.66us 159.83ns 206.96us 202.11ns 237.89us 232.32ns 133.93us 130.79ns -PdDs 1024 325.65us 318.02ns 123.26us 120.37ns 152.27us 148.71ns 172.23us 168.20ns 92.95us 90.77ns -PdDs 1024 319.00us 311.53ns 122.82us 119.94ns 151.18us 147.64ns 173.76us 169.69ns 92.24us 90.08ns -PdDs 1024 363.46us 354.95ns 122.44us 119.57ns 150.97us 147.43ns 172.69us 168.64ns 92.10us 89.94ns -PdDs 1024 500.68us 488.95ns 167.75us 163.82ns 209.37us 204.46ns 259.80us 253.71ns 95.12us 92.89ns -PdDs 1024 317.73us 310.29ns 123.73us 120.83ns 152.40us 148.83ns 333.05us 325.24ns 138.84us 135.58ns -PdDs 1024 372.93us 364.19ns 123.72us 120.82ns 243.59us 237.88ns 247.25us 241.46ns 136.13us 132.94ns -PdDs 1024 491.36us 479.84ns 173.79us 169.72ns 215.26us 210.22ns 250.46us 244.59ns 136.13us 132.94ns -PdDs 1024 440.57us 430.25ns 196.01us 191.41ns 257.37us 251.34ns 356.18us 347.83ns 180.60us 176.36ns -PdDs 1024 550.52us 537.62ns 192.99us 188.47ns 243.12us 237.43ns 297.54us 290.56ns 206.53us 201.68ns -PdDs 1024 546.05us 533.25ns 269.62us 263.30ns 244.30us 238.57ns 302.23us 295.15ns 157.82us 154.13ns -PdDs 1024 556.90us 543.85ns 202.92us 198.16ns 240.12us 234.49ns 307.08us 299.89ns 159.84us 156.09ns -PdDs 1024 395.06us 385.80ns 126.70us 123.73ns 154.13us 150.52ns 177.17us 173.02ns 142.90us 139.55ns -PdDs 1024 430.38us 420.30ns 125.46us 122.52ns 236.93us 231.38ns 354.01us 345.72ns 163.46us 159.63ns -PdDs 1024 478.04us 466.84ns 123.74us 120.84ns 153.46us 149.86ns 202.11us 197.37ns 94.19us 91.99ns -PdDs 1024 360.00us 351.56ns 124.42us 121.51ns 151.75us 148.20ns 218.01us 212.90ns 96.79us 94.52ns -PdDs 1024 351.12us 342.89ns 124.86us 121.94ns 179.02us 174.83ns 177.87us 173.70ns 93.82us 91.62ns -PdDs 1024 367.75us 359.13ns 124.24us 121.33ns 185.33us 180.98ns 178.96us 174.76ns 93.61us 91.42ns -PdDs 2048 720.90us 352.00ns 295.32us 144.20ns 363.05us 177.27ns 265.84us 129.80ns 234.48us 114.49ns -PdDs 2048 778.68us 380.22ns 288.94us 141.08ns 364.23us 177.85ns 230.79us 112.69ns 249.67us 121.91ns -PdDs 2048 760.48us 371.33ns 337.31us 164.70ns 472.33us 230.63ns 254.43us 124.23ns 264.67us 129.24ns -PdDs 2048 947.01us 462.41ns 407.45us 198.95ns 430.94us 210.42ns 355.71us 173.69ns 326.52us 159.43ns -PdDs 2048 787.46us 384.50ns 280.81us 137.12ns 317.54us 155.05ns 274.13us 133.85ns 230.08us 112.34ns -PdDs 2048 682.50us 333.25ns 279.71us 136.58ns 315.24us 153.93ns 270.99us 132.32ns 240.85us 117.60ns -PdDs 2048 782.85us 382.25ns 280.41us 136.92ns 315.16us 153.89ns 232.49us 113.52ns 384.75us 187.87ns -PdDs 2048 798.90us 390.09ns 392.27us 191.54ns 448.54us 219.01ns 232.04us 113.30ns 228.75us 111.69ns -PdDs 2048 917.27us 447.89ns 462.63us 225.90ns 399.37us 195.00ns 290.71us 141.95ns 343.96us 167.95ns -PdDs 2048 1.20ms 586.52ns 511.46us 249.74ns 593.33us 289.71ns 282.10us 137.74ns 363.61us 177.54ns -PdDs 2048 689.17us 336.51ns 285.40us 139.36ns 451.04us 220.24ns 275.84us 134.69ns 231.93us 113.25ns -PdDs 2048 665.60us 325.00ns 282.18us 137.78ns 316.29us 154.44ns 233.22us 113.88ns 265.77us 129.77ns -PdDs 2048 636.81us 310.94ns 399.04us 194.84ns 432.95us 211.40ns 362.59us 177.04ns 325.21us 158.79ns -PdDs 2048 877.55us 428.49ns 384.42us 187.70ns 455.20us 222.27ns 333.89us 163.03ns 322.43us 157.44ns -PdDs 2048 848.37us 414.24ns 360.64us 176.10ns 317.06us 154.82ns 232.99us 113.76ns 263.75us 128.79ns -PdDs 2048 642.00us 313.48ns 322.18us 157.32ns 316.03us 154.31ns 233.49us 114.01ns 226.87us 110.78ns -PdDs 2048 877.88us 428.65ns 369.55us 180.44ns 317.19us 154.88ns 322.17us 157.31ns 301.76us 147.34ns -PdDs 2048 814.04us 397.48ns 283.98us 138.66ns 332.54us 162.37ns 233.09us 113.81ns 262.62us 128.23ns -PdDs 2048 663.06us 323.76ns 324.65us 158.52ns 315.33us 153.97ns 251.55us 122.83ns 278.00us 135.74ns -PdDs 2048 638.22us 311.63ns 310.31us 151.52ns 316.33us 154.46ns 233.80us 114.16ns 227.17us 110.92ns -PdDs 2048 889.91us 434.52ns 376.03us 183.61ns 341.90us 166.94ns 234.54us 114.52ns 272.67us 133.14ns -PdDs 2048 659.69us 322.11ns 353.76us 172.73ns 519.01us 253.42ns 415.01us 202.64ns 339.18us 165.62ns -PdDs 4096 1.81ms 442.12ns 449.14us 109.65ns 1.20ms 293.85ns 1.02ms 249.01ns 461.85us 112.76ns -PdDs 4096 2.08ms 506.77ns 548.22us 133.84ns 1.02ms 248.55ns 919.50us 224.49ns 380.51us 92.90ns -PdDs 4096 1.46ms 355.43ns 377.10us 92.07ns 780.33us 190.51ns 765.74us 186.95ns 381.39us 93.11ns -PdDs 4096 1.43ms 348.95ns 380.19us 92.82ns 762.10us 186.06ns 779.74us 190.37ns 378.19us 92.33ns -PdDs 4096 1.38ms 336.29ns 414.42us 101.18ns 821.75us 200.62ns 711.19us 173.63ns 410.01us 100.10ns -PdDs 4096 1.41ms 344.86ns 435.57us 106.34ns 879.46us 214.71ns 767.14us 187.29ns 411.99us 100.58ns -PdDs 4096 1.45ms 352.85ns 436.52us 106.57ns 784.22us 191.46ns 717.13us 175.08ns 444.40us 108.50ns -PdDs 4096 1.52ms 370.30ns 419.32us 102.37ns 835.72us 204.03ns 891.13us 217.56ns 451.60us 110.25ns -PdDs 4096 1.72ms 420.38ns 437.39us 106.78ns 924.56us 225.72ns 847.39us 206.88ns 395.30us 96.51ns -PdDs 4096 1.68ms 411.17ns 448.92us 109.60ns 823.85us 201.13ns 727.09us 177.51ns 454.50us 110.96ns -PdDs 4096 1.45ms 354.32ns 548.85us 134.00ns 922.33us 225.18ns 741.06us 180.92ns 376.12us 91.83ns -PdDs 4096 1.45ms 355.02ns 392.60us 95.85ns 780.90us 190.65ns 714.25us 174.38ns 477.81us 116.65ns -PdDs 4096 1.53ms 372.92ns 381.01us 93.02ns 768.09us 187.52ns 718.58us 175.44ns 408.47us 99.72ns -PdDs 4096 1.60ms 390.63ns 386.98us 94.48ns 802.22us 195.85ns 739.26us 180.48ns 378.07us 92.30ns -PdDs 4096 1.38ms 336.65ns 568.80us 138.87ns 1.02ms 249.63ns 991.54us 242.07ns 379.63us 92.68ns -PdDs 4096 1.66ms 404.85ns 547.20us 133.59ns 1.12ms 273.00ns 1.01ms 246.99ns 450.21us 109.91ns -PdDs 4096 2.22ms 542.86ns 526.02us 128.42ns 832.24us 203.18ns 768.60us 187.65ns 379.57us 92.67ns -PdDs 4096 1.59ms 388.03ns 555.46us 135.61ns 1.00ms 244.25ns 936.21us 228.57ns 380.75us 92.96ns -PdDs 4096 1.46ms 355.36ns 401.36us 97.99ns 855.76us 208.93ns 940.36us 229.58ns 377.77us 92.23ns -PdDs 4096 1.49ms 363.32ns 379.00us 92.53ns 767.75us 187.44ns 757.06us 184.83ns 384.14us 93.78ns -PdDs 4096 1.45ms 354.80ns 526.96us 128.65ns 870.09us 212.42ns 955.90us 233.38ns 379.09us 92.55ns -PdDs 4096 1.66ms 405.14ns 378.40us 92.38ns 827.10us 201.93ns 843.36us 205.90ns 477.48us 116.57ns -PdDs 8192 3.53ms 430.34ns 906.13us 110.61ns 1.91ms 232.87ns 2.08ms 253.41ns 893.88us 109.12ns -PdDs 8192 3.16ms 385.54ns 743.68us 90.78ns 1.62ms 197.86ns 1.92ms 233.92ns 815.68us 99.57ns -PdDs 8192 2.98ms 363.97ns 670.02us 81.79ns 1.66ms 202.10ns 1.69ms 206.58ns 829.02us 101.20ns -PdDs 8192 3.66ms 447.10ns 1.24ms 151.27ns 2.25ms 274.51ns 2.24ms 273.17ns 1.03ms 125.68ns -PdDs 8192 3.03ms 370.39ns 705.99us 86.18ns 1.60ms 195.92ns 1.91ms 233.46ns 1.15ms 140.98ns -PdDs 8192 3.37ms 411.15ns 978.08us 119.39ns 2.01ms 244.82ns 2.13ms 259.71ns 1.17ms 143.04ns -PdDs 8192 3.02ms 368.94ns 955.83us 116.68ns 1.66ms 202.11ns 1.79ms 219.07ns 847.19us 103.42ns -PdDs 8192 3.01ms 367.90ns 696.51us 85.02ns 1.59ms 193.63ns 1.58ms 193.11ns 783.78us 95.68ns -PdDs 8192 2.90ms 354.31ns 673.48us 82.21ns 1.85ms 226.19ns 2.27ms 277.54ns 1.02ms 124.68ns -PdDs 8192 3.66ms 447.22ns 754.47us 92.10ns 1.67ms 204.39ns 1.64ms 200.08ns 816.76us 99.70ns -PdDs 8192 3.03ms 370.08ns 699.79us 85.42ns 1.75ms 213.53ns 1.69ms 206.26ns 861.78us 105.20ns -PdDs 8192 3.81ms 465.49ns 998.94us 121.94ns 1.83ms 223.56ns 1.79ms 218.68ns 1.16ms 141.56ns -PdDs 8192 3.80ms 463.45ns 1.25ms 152.98ns 2.16ms 264.17ns 1.67ms 203.97ns 1.16ms 141.08ns -PdDs 8192 3.49ms 426.26ns 940.90us 114.86ns 2.14ms 261.78ns 2.11ms 257.69ns 887.23us 108.30ns -PdDs 8192 3.40ms 414.51ns 730.18us 89.13ns 1.96ms 239.75ns 1.59ms 194.62ns 1.10ms 134.52ns -PdDs 8192 3.57ms 435.70ns 851.30us 103.92ns 1.71ms 208.25ns 2.05ms 249.90ns 1.06ms 129.69ns -PdDs 8192 3.61ms 440.96ns 696.30us 85.00ns 1.86ms 227.66ns 2.24ms 273.57ns 785.46us 95.88ns -PdDs 8192 2.84ms 347.27ns 717.35us 87.57ns 1.62ms 197.75ns 2.01ms 244.83ns 839.17us 102.44ns -PdDs 8192 3.81ms 464.68ns 957.78us 116.92ns 1.82ms 221.66ns 1.61ms 196.33ns 982.34us 119.92ns -PdDs 8192 3.33ms 405.91ns 913.71us 111.54ns 2.02ms 246.28ns 1.63ms 199.50ns 832.63us 101.64ns -PdDs 8192 3.51ms 428.96ns 671.01us 81.91ns 1.65ms 201.37ns 1.73ms 210.71ns 909.39us 111.01ns -PdDs 8192 2.93ms 358.01ns 680.94us 83.12ns 2.20ms 269.15ns 1.98ms 242.21ns 794.78us 97.02ns -PdDs 16384 8.34ms 509.33ns 3.71ms 226.68ns 4.53ms 276.41ns 3.51ms 214.53ns 2.11ms 128.55ns -PdDs 16384 6.73ms 410.71ns 2.85ms 173.95ns 5.77ms 352.34ns 4.08ms 248.75ns 2.57ms 156.61ns -PdDs 16384 6.82ms 416.43ns 2.65ms 161.92ns 3.78ms 230.84ns 3.66ms 223.59ns 2.49ms 152.04ns -PdDs 16384 7.73ms 471.85ns 3.13ms 191.00ns 4.42ms 269.53ns 4.37ms 267.02ns 2.48ms 151.06ns -PdDs 16384 6.27ms 382.96ns 3.44ms 209.85ns 3.66ms 223.19ns 2.89ms 176.27ns 2.00ms 121.87ns -PdDs 16384 7.84ms 478.21ns 4.07ms 248.57ns 5.03ms 306.78ns 3.91ms 238.46ns 2.23ms 136.33ns -PdDs 16384 6.63ms 404.74ns 2.53ms 154.25ns 3.71ms 226.67ns 3.70ms 225.89ns 2.46ms 149.91ns -PdDs 16384 6.19ms 377.65ns 2.63ms 160.36ns 4.16ms 253.78ns 4.84ms 295.19ns 2.93ms 178.68ns -PdDs 16384 6.18ms 376.92ns 3.06ms 186.46ns 4.00ms 244.09ns 2.91ms 177.86ns 1.78ms 108.88ns -PdDs 16384 6.85ms 418.33ns 4.62ms 282.04ns 3.51ms 214.02ns 4.31ms 263.03ns 1.93ms 118.05ns -PdDs 16384 6.24ms 380.76ns 2.36ms 143.86ns 3.67ms 223.71ns 3.52ms 214.64ns 2.12ms 129.48ns -PdDs 16384 6.55ms 399.77ns 2.46ms 149.98ns 5.83ms 355.59ns 4.35ms 265.66ns 3.20ms 195.21ns -PdDs 16384 6.59ms 402.26ns 2.60ms 158.74ns 4.02ms 245.64ns 3.33ms 203.51ns 2.01ms 122.93ns -PdDs 16384 6.63ms 404.68ns 2.61ms 159.27ns 3.54ms 216.13ns 3.95ms 240.96ns 3.02ms 184.07ns -PdDs 16384 7.34ms 448.02ns 3.14ms 191.43ns 4.61ms 281.42ns 3.34ms 203.76ns 2.81ms 171.33ns -PdDs 16384 6.69ms 408.59ns 2.39ms 145.57ns 4.18ms 255.17ns 3.84ms 234.42ns 2.02ms 123.15ns -PdDs 16384 6.90ms 420.87ns 5.41ms 329.92ns 6.95ms 424.38ns 4.70ms 287.12ns 2.16ms 131.97ns -PdDs 16384 6.64ms 405.21ns 2.63ms 160.62ns 3.69ms 225.29ns 3.11ms 189.83ns 2.11ms 128.78ns -PdDs 16384 6.89ms 420.82ns 3.24ms 198.00ns 3.40ms 207.73ns 3.59ms 219.04ns 2.41ms 147.40ns -PdDs 16384 7.17ms 437.33ns 2.79ms 170.04ns 3.62ms 221.13ns 4.57ms 278.71ns 3.12ms 190.71ns -PdDs 16384 6.25ms 381.57ns 2.43ms 148.42ns 5.77ms 352.02ns 4.43ms 270.32ns 2.20ms 133.99ns -PdDs 16384 6.73ms 410.75ns 2.50ms 152.49ns 3.91ms 238.47ns 4.02ms 245.33ns 2.32ms 141.90ns -PdDs 32768 14.07ms 429.49ns 10.12ms 308.93ns 9.21ms 281.02ns 6.38ms 194.82ns 4.47ms 136.56ns -PdDs 32768 13.64ms 416.40ns 5.85ms 178.64ns 9.26ms 282.73ns 6.36ms 194.04ns 7.06ms 215.39ns -PdDs 32768 14.22ms 433.93ns 7.05ms 215.09ns 8.98ms 273.98ns 5.33ms 162.63ns 5.45ms 166.28ns -PdDs 32768 13.86ms 422.95ns 5.28ms 161.08ns 9.46ms 288.67ns 8.61ms 262.67ns 4.54ms 138.52ns -PdDs 32768 14.47ms 441.49ns 6.63ms 202.33ns 7.74ms 236.15ns 9.46ms 288.68ns 5.53ms 168.67ns -PdDs 32768 12.93ms 394.68ns 5.16ms 157.52ns 10.18ms 310.62ns 4.61ms 140.57ns 4.36ms 133.15ns -PdDs 32768 14.72ms 449.27ns 5.51ms 168.09ns 8.08ms 246.52ns 9.21ms 281.11ns 5.37ms 163.76ns -PdDs 32768 14.74ms 449.73ns 6.61ms 201.69ns 9.19ms 280.37ns 4.67ms 142.53ns 3.48ms 106.17ns -PdDs 32768 13.52ms 412.66ns 5.25ms 160.11ns 9.34ms 285.01ns 7.66ms 233.86ns 5.53ms 168.89ns -PdDs 32768 13.61ms 415.40ns 6.93ms 211.64ns 9.59ms 292.81ns 8.84ms 269.87ns 3.92ms 119.52ns -PdDs 32768 14.04ms 428.42ns 6.08ms 185.46ns 7.53ms 229.68ns 7.23ms 220.63ns 8.32ms 253.79ns -PdDs 32768 14.08ms 429.70ns 5.44ms 165.91ns 10.61ms 323.76ns 8.64ms 263.67ns 4.65ms 141.98ns -PdDs 32768 13.23ms 403.88ns 5.91ms 180.35ns 7.94ms 242.39ns 7.70ms 234.93ns 4.37ms 133.35ns -PdDs 32768 14.11ms 430.56ns 6.12ms 186.86ns 11.23ms 342.67ns 13.54ms 413.22ns 5.92ms 180.66ns -PdDs 32768 15.75ms 480.76ns 7.64ms 233.26ns 11.35ms 346.26ns 4.88ms 148.89ns 4.58ms 139.65ns -PdDs 32768 14.51ms 442.94ns 9.30ms 283.93ns 14.94ms 456.08ns 7.84ms 239.38ns 6.13ms 187.20ns -PdDs 32768 12.28ms 374.67ns 6.85ms 209.16ns 10.97ms 334.68ns 9.74ms 297.34ns 5.73ms 174.85ns -PdDs 32768 16.27ms 496.38ns 10.68ms 326.06ns 11.31ms 345.24ns 4.60ms 140.41ns 3.81ms 116.26ns -PdDs 32768 12.75ms 389.21ns 6.78ms 206.82ns 11.88ms 362.50ns 8.51ms 259.57ns 4.78ms 145.81ns -PdDs 32768 15.75ms 480.51ns 8.02ms 244.65ns 11.44ms 349.21ns 5.51ms 168.04ns 6.51ms 198.61ns -PdDs 32768 15.28ms 466.44ns 10.47ms 319.63ns 11.81ms 360.51ns 5.16ms 157.34ns 5.28ms 161.22ns -PdDs 32768 14.98ms 457.05ns 5.49ms 167.50ns 11.66ms 355.86ns 5.52ms 168.41ns 5.04ms 153.92ns -PdDs 65536 24.60ms 375.38ns 17.84ms 272.25ns 16.29ms 248.61ns 30.41ms 464.00ns 11.92ms 181.85ns -PdDs 65536 23.29ms 355.34ns 20.18ms 307.85ns 16.99ms 259.21ns 27.91ms 425.80ns 13.02ms 198.61ns -PdDs 65536 22.73ms 346.86ns 16.65ms 254.03ns 18.39ms 280.62ns 29.94ms 456.82ns 13.18ms 201.05ns -PdDs 65536 24.59ms 375.25ns 18.01ms 274.78ns 17.46ms 266.45ns 27.29ms 416.45ns 11.36ms 173.40ns -PdDs 65536 23.35ms 356.31ns 16.77ms 255.94ns 15.65ms 238.77ns 27.97ms 426.75ns 10.83ms 165.26ns -PdDs 65536 21.40ms 326.52ns 15.10ms 230.41ns 19.07ms 290.93ns 26.04ms 397.33ns 11.54ms 176.15ns -PdDs 65536 22.54ms 343.88ns 18.73ms 285.82ns 18.31ms 279.37ns 28.82ms 439.82ns 11.11ms 169.57ns -PdDs 65536 22.69ms 346.18ns 19.47ms 297.04ns 16.25ms 248.02ns 28.77ms 439.07ns 13.08ms 199.58ns -PdDs 65536 24.05ms 366.99ns 17.53ms 267.53ns 16.79ms 256.23ns 29.06ms 443.50ns 12.62ms 192.52ns -PdDs 65536 22.39ms 341.60ns 16.63ms 253.71ns 21.20ms 323.45ns 28.44ms 433.89ns 13.10ms 199.90ns -PdDs 65536 25.26ms 385.43ns 18.89ms 288.26ns 16.10ms 245.65ns 27.69ms 422.54ns 12.91ms 197.02ns -PdDs 65536 22.05ms 336.43ns 16.72ms 255.12ns 16.94ms 258.45ns 30.46ms 464.78ns 11.39ms 173.85ns -PdDs 65536 22.71ms 346.57ns 18.68ms 284.99ns 16.49ms 251.59ns 27.37ms 417.57ns 13.68ms 208.68ns -PdDs 65536 23.16ms 353.35ns 14.91ms 227.46ns 18.67ms 284.81ns 25.52ms 389.34ns 12.08ms 184.34ns -PdDs 65536 23.59ms 359.91ns 18.13ms 276.65ns 17.68ms 269.81ns 30.51ms 465.56ns 10.44ms 159.34ns -PdDs 65536 21.76ms 331.96ns 18.95ms 289.11ns 15.58ms 237.71ns 26.83ms 409.36ns 10.93ms 166.80ns -PdDs 65536 27.48ms 419.35ns 15.66ms 239.02ns 16.55ms 252.49ns 28.60ms 436.34ns 9.69ms 147.82ns -PdDs 65536 25.33ms 386.44ns 17.38ms 265.25ns 16.69ms 254.61ns 26.75ms 408.16ns 12.02ms 183.36ns -PdDs 65536 22.11ms 337.30ns 14.82ms 226.21ns 20.11ms 306.82ns 27.02ms 412.35ns 11.72ms 178.82ns -PdDs 65536 22.15ms 337.93ns 15.80ms 241.01ns 16.99ms 259.17ns 33.11ms 505.18ns 11.93ms 181.97ns -PdDs 65536 20.86ms 318.36ns 16.95ms 258.67ns 17.77ms 271.17ns 31.08ms 474.29ns 12.26ms 187.02ns -PdDs 65536 22.00ms 335.66ns 13.74ms 209.62ns 19.87ms 303.24ns 25.09ms 382.82ns 10.45ms 159.42ns -PdDs 131072 72.21ms 550.94ns 36.71ms 280.06ns 89.71ms 684.40ns 44.05ms 336.06ns 43.11ms 328.90ns -PdDs 131072 66.39ms 506.51ns 35.95ms 274.26ns 83.99ms 640.76ns 44.44ms 339.08ns 43.55ms 332.28ns -PdDs 131072 70.42ms 537.26ns 33.26ms 253.77ns 82.09ms 626.26ns 48.59ms 370.69ns 43.43ms 331.38ns -PdDs 131072 67.94ms 518.32ns 33.01ms 251.84ns 82.29ms 627.79ns 42.61ms 325.09ns 39.52ms 301.49ns -PdDs 131072 68.46ms 522.31ns 36.02ms 274.82ns 83.67ms 638.39ns 42.55ms 324.62ns 39.03ms 297.76ns -PdDs 131072 66.00ms 503.56ns 36.69ms 279.95ns 91.99ms 701.86ns 41.06ms 313.24ns 39.82ms 303.81ns -PdDs 131072 68.84ms 525.21ns 38.45ms 293.37ns 88.77ms 677.27ns 44.89ms 342.45ns 42.79ms 326.43ns -PdDs 131072 78.00ms 595.10ns 43.34ms 330.68ns 88.77ms 677.24ns 45.01ms 343.44ns 44.92ms 342.73ns -PdDs 131072 66.84ms 509.96ns 32.18ms 245.53ns 79.33ms 605.28ns 43.90ms 334.96ns 43.87ms 334.74ns -PdDs 131072 72.65ms 554.27ns 33.63ms 256.54ns 82.27ms 627.65ns 44.63ms 340.49ns 40.26ms 307.13ns -PdDs 131072 70.93ms 541.15ns 33.55ms 255.98ns 78.22ms 596.78ns 40.01ms 305.23ns 37.03ms 282.51ns -PdDs 131072 62.02ms 473.20ns 31.29ms 238.73ns 79.75ms 608.43ns 41.20ms 314.35ns 38.31ms 292.32ns -PdDs 131072 66.08ms 504.18ns 33.15ms 252.91ns 77.72ms 592.97ns 39.97ms 304.92ns 42.96ms 327.80ns -PdDs 131072 65.61ms 500.59ns 31.13ms 237.53ns 77.98ms 594.96ns 42.79ms 326.49ns 38.44ms 293.25ns -PdDs 131072 72.27ms 551.37ns 35.06ms 267.46ns 76.64ms 584.70ns 37.84ms 288.73ns 51.61ms 393.78ns -PdDs 131072 76.96ms 587.15ns 35.96ms 274.37ns 78.41ms 598.26ns 39.22ms 299.22ns 38.53ms 293.98ns -PdDs 131072 62.68ms 478.21ns 32.20ms 245.70ns 79.72ms 608.20ns 46.54ms 355.04ns 39.58ms 301.96ns -PdDs 131072 63.83ms 486.95ns 33.61ms 256.44ns 82.39ms 628.61ns 40.98ms 312.66ns 46.49ms 354.71ns -PdDs 131072 66.87ms 510.20ns 35.81ms 273.20ns 78.71ms 600.49ns 41.91ms 319.72ns 36.73ms 280.26ns -PdDs 131072 79.11ms 603.58ns 32.08ms 244.78ns 81.11ms 618.84ns 41.86ms 319.36ns 34.94ms 266.56ns -PdDs 131072 63.31ms 483.03ns 32.04ms 244.42ns 81.16ms 619.23ns 40.75ms 310.88ns 36.44ms 278.04ns -PdDs 131072 60.66ms 462.82ns 31.62ms 241.27ns 81.57ms 622.35ns 47.11ms 359.46ns 37.46ms 285.78ns -PdDs 524288 474.71ms 905.43ns 235.78ms 449.71ns 391.77ms 747.25ns 230.82ms 440.26ns 281.11ms 536.17ns -PdDs 524288 471.98ms 900.23ns 238.66ms 455.21ns 391.27ms 746.29ns 238.72ms 455.32ns 273.01ms 520.73ns -PdDs 524288 458.28ms 874.11ns 237.82ms 453.60ns 394.47ms 752.39ns 237.10ms 452.23ns 283.75ms 541.21ns -PdDs 524288 471.68ms 899.65ns 237.53ms 453.05ns 387.64ms 739.36ns 236.94ms 451.92ns 276.56ms 527.50ns -PdDs 524288 456.30ms 870.32ns 242.08ms 461.72ns 387.91ms 739.89ns 232.77ms 443.97ns 279.56ms 533.22ns -PdDs 524288 459.86ms 877.11ns 234.84ms 447.92ns 390.60ms 745.02ns 257.69ms 491.50ns 291.24ms 555.49ns -PdDs 524288 457.55ms 872.70ns 230.46ms 439.57ns 385.22ms 734.75ns 233.33ms 445.03ns 276.99ms 528.32ns -PdDs 524288 449.64ms 857.62ns 232.52ms 443.49ns 410.10ms 782.20ns 252.62ms 481.83ns 275.03ms 524.57ns -PdDs 524288 457.01ms 871.68ns 247.51ms 472.09ns 381.53ms 727.71ns 234.87ms 447.97ns 270.41ms 515.76ns -PdDs 524288 451.36ms 860.90ns 238.07ms 454.08ns 385.04ms 734.40ns 233.19ms 444.78ns 271.76ms 518.34ns -PdDs 524288 450.92ms 860.07ns 241.04ms 459.74ns 391.09ms 745.94ns 233.62ms 445.59ns 273.19ms 521.07ns -PdDs 524288 454.03ms 866.00ns 233.75ms 445.84ns 387.40ms 738.90ns 236.06ms 450.25ns 277.98ms 530.20ns -PdDs 524288 451.78ms 861.71ns 237.14ms 452.32ns 409.49ms 781.04ns 238.49ms 454.89ns 289.59ms 552.34ns -PdDs 524288 450.42ms 859.11ns 237.12ms 452.27ns 387.34ms 738.80ns 238.78ms 455.44ns 277.09ms 528.52ns -PdDs 524288 460.71ms 878.73ns 242.24ms 462.03ns 389.43ms 742.78ns 239.46ms 456.73ns 287.34ms 548.05ns -PdDs 524288 468.35ms 893.31ns 237.19ms 452.39ns 393.04ms 749.66ns 235.55ms 449.28ns 276.01ms 526.44ns -PdDs 524288 456.11ms 869.96ns 241.21ms 460.07ns 389.94ms 743.76ns 235.45ms 449.09ns 278.65ms 531.49ns -PdDs 524288 458.16ms 873.86ns 239.31ms 456.44ns 390.70ms 745.19ns 234.04ms 446.40ns 280.16ms 534.36ns -PdDs 524288 457.77ms 873.12ns 235.60ms 449.37ns 387.16ms 738.44ns 236.77ms 451.61ns 278.29ms 530.81ns -PdDs 524288 461.80ms 880.82ns 234.35ms 446.99ns 390.20ms 744.26ns 236.96ms 451.97ns 277.53ms 529.35ns -PdDs 524288 459.70ms 876.80ns 236.94ms 451.93ns 395.65ms 754.64ns 237.48ms 452.95ns 273.12ms 520.93ns -PdDs 524288 451.99ms 862.11ns 269.30ms 513.65ns 380.84ms 726.39ns 234.86ms 447.96ns 284.92ms 543.45ns -PdDs 1048576 862.22ms 822.28ns 752.54ms 717.68ns 787.81ms 751.31ns 2.05s 1951.95ns 480.93ms 458.65ns -PdDs 1048576 929.44ms 886.38ns 616.62ms 588.06ns 787.48ms 751.00ns 2.03s 1936.38ns 487.59ms 465.00ns -PdDs 1048576 935.37ms 892.03ns 608.65ms 580.45ns 786.58ms 750.14ns 585.20ms 558.09ns 490.33ms 467.62ns -PdDs 1048576 855.54ms 815.91ns 610.72ms 582.43ns 785.87ms 749.46ns 1.21s 1150.01ns 486.73ms 464.18ns -PdDs 1048576 859.38ms 819.57ns 613.47ms 585.05ns 785.89ms 749.48ns 581.16ms 554.24ns 497.99ms 474.92ns -PdDs 1048576 888.41ms 847.25ns 603.94ms 575.96ns 782.26ms 746.02ns 584.40ms 557.33ns 482.87ms 460.50ns -PdDs 1048576 855.65ms 816.02ns 613.10ms 584.69ns 779.99ms 743.85ns 607.26ms 579.13ns 496.89ms 473.87ns -PdDs 1048576 881.58ms 840.74ns 618.02ms 589.39ns 788.91ms 752.36ns 934.89ms 891.58ns 486.33ms 463.80ns -PdDs 1048576 967.12ms 922.31ns 612.09ms 583.73ns 782.88ms 746.61ns 582.24ms 555.27ns 479.72ms 457.50ns -PdDs 1048576 845.53ms 806.36ns 611.12ms 582.81ns 792.72ms 756.00ns 789.41ms 752.84ns 489.92ms 467.22ns -PdDs 1048576 996.75ms 950.58ns 615.29ms 586.78ns 805.64ms 768.32ns 582.83ms 555.83ns 498.58ms 475.49ns -PdDs 1048576 862.00ms 822.07ns 615.11ms 586.61ns 790.23ms 753.62ns 581.43ms 554.49ns 488.86ms 466.21ns -PdDs 1048576 863.02ms 823.04ns 649.85ms 619.74ns 827.34ms 789.01ns 593.60ms 566.10ns 490.46ms 467.74ns -PdDs 1048576 889.56ms 848.35ns 620.22ms 591.49ns 808.15ms 770.71ns 606.55ms 578.45ns 506.77ms 483.30ns -PdDs 1048576 855.72ms 816.08ns 617.93ms 589.30ns 790.10ms 753.50ns 576.37ms 549.67ns 485.90ms 463.39ns -PdDs 1048576 858.98ms 819.19ns 608.46ms 580.27ns 790.17ms 753.56ns 587.49ms 560.27ns 490.13ms 467.43ns -PdDs 1048576 859.56ms 819.74ns 604.85ms 576.83ns 781.89ms 745.67ns 579.79ms 552.93ns 484.60ms 462.15ns -PdDs 1048576 857.33ms 817.61ns 613.10ms 584.70ns 787.89ms 751.39ns 585.56ms 558.43ns 506.17ms 482.73ns -PdDs 1048576 886.21ms 845.15ns 638.52ms 608.94ns 802.43ms 765.26ns 589.07ms 561.78ns 487.00ms 464.43ns -PdDs 1048576 857.39ms 817.67ns 613.10ms 584.70ns 818.84ms 780.91ns 590.90ms 563.53ns 494.58ms 471.66ns -PdDs 1048576 863.44ms 823.44ns 614.66ms 586.18ns 791.46ms 754.80ns 583.25ms 556.23ns 545.50ms 520.23ns -PdDs 1048576 857.92ms 818.17ns 606.89ms 578.78ns 789.58ms 753.00ns 590.07ms 562.73ns 479.86ms 457.63ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -ArrayDs 8 7.44us 930.38ns 802ns 100.25ns 1.33us 166.50ns 501ns 62.63ns noSupport notSupport -ArrayDs 8 2.42us 301.88ns 651ns 81.38ns 5.31us 663.75ns 511ns 63.88ns noSupport notSupport -ArrayDs 8 1.92us 240.38ns 592ns 74.00ns 7.49us 936.75ns 671ns 83.88ns noSupport notSupport -ArrayDs 8 2.71us 338.13ns 591ns 73.88ns 4.70us 587.38ns 531ns 66.38ns noSupport notSupport -ArrayDs 8 2.11us 264.25ns 521ns 65.13ns 4.45us 556.00ns 781ns 97.63ns noSupport notSupport -ArrayDs 8 2.38us 296.88ns 551ns 68.88ns 4.34us 542.25ns 531ns 66.38ns noSupport notSupport -ArrayDs 8 2.52us 315.63ns 561ns 70.13ns 4.34us 542.25ns 411ns 51.38ns noSupport notSupport -ArrayDs 8 2.30us 288.00ns 631ns 78.88ns 4.32us 539.75ns 641ns 80.13ns noSupport notSupport -ArrayDs 8 2.14us 268.00ns 641ns 80.13ns 61.46us 7683.00ns 802ns 100.25ns noSupport notSupport -ArrayDs 8 2.25us 280.63ns 591ns 73.88ns 4.30us 537.25ns 461ns 57.63ns noSupport notSupport -ArrayDs 8 2.30us 288.00ns 632ns 79.00ns 4.19us 523.38ns 541ns 67.63ns noSupport notSupport -ArrayDs 8 2.34us 291.88ns 621ns 77.63ns 3.60us 449.63ns 430ns 53.75ns noSupport notSupport -ArrayDs 8 2.35us 294.25ns 601ns 75.13ns 29.90us 3737.00ns 881ns 110.13ns noSupport notSupport -ArrayDs 8 2.29us 286.75ns 641ns 80.13ns 4.42us 552.38ns 450ns 56.25ns noSupport notSupport -ArrayDs 8 2.16us 270.50ns 611ns 76.38ns 4.12us 514.63ns 471ns 58.88ns noSupport notSupport -ArrayDs 8 2.18us 273.00ns 601ns 75.13ns 4.15us 518.50ns 470ns 58.75ns noSupport notSupport -ArrayDs 8 2.44us 304.38ns 681ns 85.13ns 4.46us 557.25ns 541ns 67.63ns noSupport notSupport -ArrayDs 8 2.37us 296.75ns 702ns 87.75ns 4.25us 531.00ns 430ns 53.75ns noSupport notSupport -ArrayDs 8 2.15us 269.25ns 661ns 82.63ns 4.40us 549.75ns 481ns 60.13ns noSupport notSupport -ArrayDs 8 2.16us 270.50ns 561ns 70.13ns 4.39us 548.63ns 450ns 56.25ns noSupport notSupport -ArrayDs 8 2.55us 319.25ns 511ns 63.88ns 5.09us 636.25ns 461ns 57.63ns noSupport notSupport -ArrayDs 8 2.80us 349.38ns 731ns 91.38ns 5.32us 665.00ns 471ns 58.88ns noSupport notSupport -ArrayDs 16 16.51us 1031.94ns 1.62us 101.44ns 5.75us 359.44ns 1.56us 97.69ns noSupport notSupport -ArrayDs 16 12.76us 797.75ns 1.66us 103.94ns 4.80us 299.94ns 1.44us 90.13ns noSupport notSupport -ArrayDs 16 11.65us 728.25ns 1.42us 88.88ns 9.53us 595.50ns 1.65us 103.31ns noSupport notSupport -ArrayDs 16 8.97us 560.44ns 1.14us 71.38ns 3.85us 240.44ns 1.08us 67.63ns noSupport notSupport -ArrayDs 16 11.74us 733.88ns 1.41us 88.31ns 4.84us 302.44ns 1.29us 80.75ns noSupport notSupport -ArrayDs 16 11.47us 716.94ns 1.35us 84.56ns 4.57us 285.50ns 1.29us 80.81ns noSupport notSupport -ArrayDs 16 33.12us 2069.81ns 1.63us 102.06ns 5.16us 322.50ns 1.12us 70.13ns noSupport notSupport -ArrayDs 16 10.24us 639.94ns 1.38us 86.38ns 4.65us 290.56ns 1.26us 78.88ns noSupport notSupport -ArrayDs 16 11.54us 721.38ns 1.65us 103.31ns 4.68us 292.38ns 1.15us 72.06ns noSupport notSupport -ArrayDs 16 11.37us 710.75ns 1.27us 79.50ns 4.39us 274.25ns 1.75us 109.56ns noSupport notSupport -ArrayDs 16 22.83us 1427.06ns 1.51us 94.56ns 4.86us 303.69ns 3.55us 221.63ns noSupport notSupport -ArrayDs 16 8.75us 546.63ns 1.15us 72.00ns 6.63us 414.56ns 1.85us 115.81ns noSupport notSupport -ArrayDs 16 8.63us 539.13ns 1.29us 80.75ns 4.92us 307.44ns 1.40us 87.69ns noSupport notSupport -ArrayDs 16 11.01us 688.19ns 1.49us 93.31ns 5.07us 316.81ns 1.14us 71.38ns noSupport notSupport -ArrayDs 16 11.90us 743.88ns 1.62us 101.44ns 4.76us 297.44ns 1.38us 86.44ns noSupport notSupport -ArrayDs 16 12.55us 784.63ns 1.54us 96.44ns 5.93us 370.69ns 1.49us 93.25ns noSupport notSupport -ArrayDs 16 31.16us 1947.19ns 1.60us 100.19ns 5.27us 329.38ns 1.38us 86.38ns noSupport notSupport -ArrayDs 16 11.03us 689.38ns 1.41us 88.31ns 4.83us 301.81ns 1.52us 95.19ns noSupport notSupport -ArrayDs 16 10.85us 678.19ns 1.40us 87.63ns 4.54us 283.69ns 1.61us 100.81ns noSupport notSupport -ArrayDs 16 12.55us 784.63ns 1.79us 112.06ns 4.51us 281.75ns 28.80us 1800.25ns noSupport notSupport -ArrayDs 16 9.34us 583.63ns 1.31us 82.00ns 4.41us 275.56ns 1.21us 75.75ns noSupport notSupport -ArrayDs 16 94.99us 5936.69ns 4.31us 269.25ns 6.87us 429.56ns 1.09us 68.25ns noSupport notSupport -ArrayDs 32 17.80us 556.34ns 2.19us 68.28ns 6.80us 212.56ns 1.87us 58.56ns noSupport notSupport -ArrayDs 32 16.88us 527.56ns 2.75us 85.78ns 8.55us 267.06ns 2.41us 75.44ns noSupport notSupport -ArrayDs 32 15.62us 488.09ns 2.71us 84.53ns 9.75us 304.63ns 3.01us 93.94ns noSupport notSupport -ArrayDs 32 18.24us 570.13ns 2.77us 86.41ns 8.73us 272.69ns 2.61us 81.41ns noSupport notSupport -ArrayDs 32 16.51us 515.97ns 2.44us 76.09ns 36.10us 1128.03ns 2.77us 86.72ns noSupport notSupport -ArrayDs 32 17.83us 557.28ns 2.48us 77.63ns 6.81us 212.91ns 1.83us 57.28ns noSupport notSupport -ArrayDs 32 16.96us 530.06ns 2.52us 78.88ns 8.53us 266.44ns 2.25us 70.44ns noSupport notSupport -ArrayDs 32 15.74us 491.84ns 2.37us 73.91ns 7.81us 244.19ns 2.14us 67.00ns noSupport notSupport -ArrayDs 32 15.96us 498.75ns 3.08us 96.41ns 8.35us 260.81ns 2.63us 82.03ns noSupport notSupport -ArrayDs 32 21.06us 658.09ns 2.85us 88.94ns 8.18us 255.47ns 2.39us 74.81ns noSupport notSupport -ArrayDs 32 14.99us 468.38ns 1.88us 58.88ns 6.18us 193.16ns 1.85us 57.94ns noSupport notSupport -ArrayDs 32 23.44us 732.59ns 2.84us 88.63ns 10.85us 339.06ns 2.58us 80.47ns noSupport notSupport -ArrayDs 32 16.30us 509.38ns 2.83us 88.31ns 8.34us 260.47ns 2.73us 85.47ns noSupport notSupport -ArrayDs 32 15.70us 490.59ns 2.54us 79.53ns 7.62us 238.25ns 2.45us 76.69ns noSupport notSupport -ArrayDs 32 46.15us 1442.06ns 3.04us 94.88ns 8.30us 259.25ns 2.29us 71.69ns noSupport notSupport -ArrayDs 32 62.72us 1960.06ns 2.37us 74.19ns 7.87us 245.78ns 2.22us 69.50ns noSupport notSupport -ArrayDs 32 16.43us 513.44ns 1.89us 59.19ns 6.21us 194.13ns 1.85us 57.91ns noSupport notSupport -ArrayDs 32 11.59us 362.22ns 2.59us 80.78ns 8.20us 256.09ns 5.12us 160.00ns noSupport notSupport -ArrayDs 32 16.09us 502.81ns 2.48us 77.63ns 8.43us 263.31ns 2.63us 82.03ns noSupport notSupport -ArrayDs 32 52.92us 1653.72ns 2.61us 81.41ns 33.18us 1036.78ns 2.73us 85.47ns noSupport notSupport -ArrayDs 32 20.66us 645.59ns 2.62us 81.72ns 10.70us 334.38ns 2.58us 80.75ns noSupport notSupport -ArrayDs 32 15.80us 493.75ns 42.72us 1334.97ns 32.70us 1021.91ns 2.28us 71.38ns noSupport notSupport -ArrayDs 64 55.64us 869.36ns 4.64us 72.48ns 26.67us 416.70ns 4.24us 66.22ns noSupport notSupport -ArrayDs 64 25.35us 396.05ns 4.92us 76.88ns 32.17us 502.64ns 4.94us 77.19ns noSupport notSupport -ArrayDs 64 24.02us 375.38ns 3.58us 55.89ns 14.22us 222.14ns 3.47us 54.16ns noSupport notSupport -ArrayDs 64 27.13us 423.92ns 5.04us 78.73ns 26.80us 418.75ns 4.93us 77.02ns noSupport notSupport -ArrayDs 64 24.42us 381.50ns 4.72us 73.73ns 17.53us 273.94ns 3.56us 55.58ns noSupport notSupport -ArrayDs 64 22.90us 357.84ns 23.45us 366.47ns 21.03us 328.58ns 4.82us 75.30ns noSupport notSupport -ArrayDs 64 24.78us 387.13ns 4.60us 71.84ns 18.36us 286.95ns 4.35us 67.94ns noSupport notSupport -ArrayDs 64 20.89us 326.39ns 7.10us 110.98ns 101.65us 1588.23ns 5.18us 80.92ns noSupport notSupport -ArrayDs 64 27.45us 428.92ns 4.73us 73.89ns 21.13us 330.14ns 4.74us 74.05ns noSupport notSupport -ArrayDs 64 19.93us 311.36ns 3.37us 52.61ns 14.34us 224.00ns 3.62us 56.52ns noSupport notSupport -ArrayDs 64 26.07us 407.31ns 28.87us 451.16ns 23.34us 364.75ns 4.80us 74.98ns noSupport notSupport -ArrayDs 64 22.64us 353.78ns 3.31us 51.67ns 13.94us 217.75ns 3.50us 54.63ns noSupport notSupport -ArrayDs 64 22.86us 357.23ns 3.52us 54.95ns 39.99us 624.83ns 4.85us 75.77ns noSupport notSupport -ArrayDs 64 24.73us 386.34ns 29.43us 459.92ns 23.53us 367.72ns 4.77us 74.52ns noSupport notSupport -ArrayDs 64 24.57us 383.84ns 4.56us 71.23ns 20.49us 320.13ns 4.75us 74.20ns noSupport notSupport -ArrayDs 64 99.96us 1561.89ns 4.10us 64.03ns 50.02us 781.53ns 4.84us 75.61ns noSupport notSupport -ArrayDs 64 18.57us 290.08ns 3.32us 51.81ns 13.95us 217.91ns 3.53us 55.11ns noSupport notSupport -ArrayDs 64 25.73us 402.00ns 3.58us 55.89ns 14.06us 219.63ns 3.32us 51.81ns noSupport notSupport -ArrayDs 64 21.96us 343.14ns 3.40us 53.06ns 13.51us 211.02ns 3.30us 51.50ns noSupport notSupport -ArrayDs 64 19.81us 309.48ns 3.76us 58.70ns 12.76us 199.42ns 3.53us 55.11ns noSupport notSupport -ArrayDs 64 19.02us 297.27ns 3.31us 51.66ns 12.52us 195.69ns 3.47us 54.16ns noSupport notSupport -ArrayDs 64 24.01us 375.22ns 5.48us 85.64ns 13.92us 217.44ns 3.38us 52.75ns noSupport notSupport -ArrayDs 128 54.45us 425.41ns 11.67us 91.18ns 84.56us 660.59ns 8.27us 64.57ns noSupport notSupport -ArrayDs 128 42.79us 334.29ns 8.18us 63.88ns 111.80us 873.42ns 12.39us 96.82ns noSupport notSupport -ArrayDs 128 38.52us 300.95ns 8.12us 63.40ns 33.72us 263.46ns 9.61us 75.06ns noSupport notSupport -ArrayDs 128 37.38us 292.02ns 8.45us 65.98ns 32.70us 255.48ns 8.23us 64.34ns noSupport notSupport -ArrayDs 128 38.41us 300.09ns 8.10us 63.24ns 32.68us 255.32ns 8.21us 64.11ns noSupport notSupport -ArrayDs 128 37.51us 293.05ns 8.22us 64.19ns 32.08us 250.62ns 8.14us 63.56ns noSupport notSupport -ArrayDs 128 46.36us 362.16ns 7.84us 61.29ns 32.25us 251.95ns 8.38us 65.43ns noSupport notSupport -ArrayDs 128 42.47us 331.79ns 8.00us 62.46ns 32.11us 250.86ns 8.22us 64.26ns noSupport notSupport -ArrayDs 128 83.27us 650.51ns 11.29us 88.21ns 70.32us 549.38ns 8.36us 65.28ns noSupport notSupport -ArrayDs 128 36.85us 287.88ns 8.21us 64.10ns 32.67us 255.24ns 8.32us 65.04ns noSupport notSupport -ArrayDs 128 37.74us 294.84ns 8.13us 63.55ns 32.26us 252.03ns 8.42us 65.75ns noSupport notSupport -ArrayDs 128 75.92us 593.14ns 11.17us 87.27ns 40.65us 317.55ns 24.95us 194.93ns noSupport notSupport -ArrayDs 128 54.62us 426.73ns 12.08us 94.39ns 46.06us 359.81ns 11.46us 89.54ns noSupport notSupport -ArrayDs 128 53.87us 420.87ns 23.13us 180.73ns 48.53us 379.14ns 11.28us 88.13ns noSupport notSupport -ArrayDs 128 98.00us 765.61ns 11.32us 88.45ns 46.22us 361.06ns 10.95us 85.55ns noSupport notSupport -ArrayDs 128 53.06us 414.52ns 11.03us 86.18ns 45.62us 356.37ns 40.98us 320.16ns noSupport notSupport -ArrayDs 128 63.81us 498.51ns 8.37us 65.35ns 32.81us 256.34ns 8.34us 65.13ns noSupport notSupport -ArrayDs 128 58.35us 455.85ns 11.81us 92.28ns 54.25us 423.84ns 8.29us 64.80ns noSupport notSupport -ArrayDs 128 43.34us 338.59ns 14.86us 116.08ns 59.16us 462.19ns 12.32us 96.27ns noSupport notSupport -ArrayDs 128 57.09us 445.99ns 8.26us 64.49ns 32.02us 250.16ns 7.96us 62.23ns noSupport notSupport -ArrayDs 128 35.77us 279.43ns 8.21us 64.18ns 32.01us 250.08ns 8.34us 65.12ns noSupport notSupport -ArrayDs 128 37.40us 292.19ns 8.22us 64.26ns 31.89us 249.13ns 8.25us 64.42ns noSupport notSupport -ArrayDs 256 130.71us 510.58ns 15.77us 61.60ns 66.35us 259.19ns 16.03us 62.62ns noSupport notSupport -ArrayDs 256 71.02us 277.43ns 15.98us 62.42ns 132.85us 518.93ns 24.00us 93.77ns noSupport notSupport -ArrayDs 256 71.66us 279.93ns 16.13us 63.01ns 129.53us 505.96ns 19.73us 77.05ns noSupport notSupport -ArrayDs 256 70.80us 276.57ns 15.77us 61.60ns 63.75us 249.02ns 22.74us 88.84ns noSupport notSupport -ArrayDs 256 98.39us 384.35ns 24.57us 95.96ns 99.33us 388.03ns 70.67us 276.06ns noSupport notSupport -ArrayDs 256 129.58us 506.18ns 15.71us 61.36ns 63.60us 248.43ns 16.09us 62.85ns noSupport notSupport -ArrayDs 256 91.36us 356.88ns 15.71us 61.36ns 62.93us 245.81ns 16.46us 64.30ns noSupport notSupport -ArrayDs 256 108.44us 423.60ns 15.69us 61.29ns 66.80us 260.92ns 20.90us 81.64ns noSupport notSupport -ArrayDs 256 96.78us 378.05ns 15.94us 62.27ns 63.41us 247.69ns 17.44us 68.13ns noSupport notSupport -ArrayDs 256 88.50us 345.72ns 16.25us 63.48ns 110.81us 432.85ns 23.09us 90.21ns noSupport notSupport -ArrayDs 256 100.80us 393.74ns 50.37us 196.77ns 107.69us 420.66ns 15.81us 61.75ns noSupport notSupport -ArrayDs 256 75.29us 294.11ns 16.22us 63.36ns 62.68us 244.83ns 35.23us 137.64ns noSupport notSupport -ArrayDs 256 73.21us 285.96ns 15.97us 62.38ns 62.10us 242.60ns 16.39us 64.03ns noSupport notSupport -ArrayDs 256 85.29us 333.16ns 16.41us 64.10ns 66.38us 259.31ns 16.85us 65.82ns noSupport notSupport -ArrayDs 256 148.94us 581.79ns 15.90us 62.11ns 80.88us 315.94ns 16.32us 63.75ns noSupport notSupport -ArrayDs 256 114.78us 448.37ns 16.07us 62.77ns 89.82us 350.85ns 16.80us 65.63ns noSupport notSupport -ArrayDs 256 88.75us 346.66ns 24.61us 96.11ns 83.43us 325.88ns 35.15us 137.29ns noSupport notSupport -ArrayDs 256 95.74us 373.98ns 16.27us 63.55ns 62.49us 244.09ns 24.43us 95.41ns noSupport notSupport -ArrayDs 256 112.07us 437.77ns 23.55us 92.01ns 68.85us 268.94ns 16.64us 65.00ns noSupport notSupport -ArrayDs 256 117.40us 458.59ns 16.41us 64.11ns 76.21us 297.70ns 19.33us 75.49ns noSupport notSupport -ArrayDs 256 116.44us 454.83ns 16.56us 64.69ns 106.87us 417.46ns 15.79us 61.68ns noSupport notSupport -ArrayDs 256 92.18us 360.09ns 33.72us 131.73ns 65.10us 254.30ns 16.89us 65.98ns noSupport notSupport -ArrayDs 516 327.54us 634.77ns 67.36us 130.53ns 304.89us 590.87ns 46.55us 90.21ns noSupport notSupport -ArrayDs 516 238.83us 462.84ns 31.44us 60.93ns 192.89us 373.82ns 33.55us 65.02ns noSupport notSupport -ArrayDs 516 200.77us 389.09ns 57.90us 112.20ns 289.53us 561.10ns 65.50us 126.94ns noSupport notSupport -ArrayDs 516 259.10us 502.14ns 47.38us 91.82ns 268.19us 519.75ns 60.33us 116.92ns noSupport notSupport -ArrayDs 516 213.42us 413.61ns 51.74us 100.26ns 168.36us 326.29ns 32.25us 62.50ns noSupport notSupport -ArrayDs 516 140.08us 271.47ns 32.66us 63.29ns 208.34us 403.76ns 31.60us 61.24ns noSupport notSupport -ArrayDs 516 137.01us 265.53ns 32.84us 63.65ns 153.01us 296.54ns 37.64us 72.95ns noSupport notSupport -ArrayDs 516 226.25us 438.47ns 46.76us 90.62ns 154.69us 299.78ns 33.09us 64.13ns noSupport notSupport -ArrayDs 516 134.47us 260.60ns 32.84us 63.65ns 151.56us 293.73ns 33.46us 64.85ns noSupport notSupport -ArrayDs 516 132.12us 256.04ns 56.47us 109.44ns 154.86us 300.11ns 32.56us 63.10ns noSupport notSupport -ArrayDs 516 233.33us 452.20ns 31.93us 61.88ns 193.37us 374.75ns 31.53us 61.10ns noSupport notSupport -ArrayDs 516 136.11us 263.78ns 32.74us 63.45ns 149.84us 290.39ns 32.68us 63.33ns noSupport notSupport -ArrayDs 516 172.46us 334.23ns 31.62us 61.28ns 148.90us 288.56ns 32.67us 63.32ns noSupport notSupport -ArrayDs 516 133.13us 258.00ns 32.24us 62.48ns 214.05us 414.82ns 31.23us 60.52ns noSupport notSupport -ArrayDs 516 133.20us 258.14ns 32.45us 62.89ns 148.69us 288.15ns 32.83us 63.63ns noSupport notSupport -ArrayDs 516 147.41us 285.69ns 32.67us 63.32ns 148.74us 288.25ns 32.90us 63.76ns noSupport notSupport -ArrayDs 516 170.17us 329.78ns 46.09us 89.31ns 171.12us 331.63ns 33.18us 64.31ns noSupport notSupport -ArrayDs 516 133.60us 258.91ns 33.25us 64.44ns 148.05us 286.91ns 33.59us 65.10ns noSupport notSupport -ArrayDs 516 158.43us 307.03ns 31.06us 60.19ns 149.24us 289.22ns 33.29us 64.52ns noSupport notSupport -ArrayDs 516 157.75us 305.72ns 32.04us 62.09ns 212.16us 411.17ns 31.75us 61.53ns noSupport notSupport -ArrayDs 516 134.73us 261.11ns 32.58us 63.14ns 150.21us 291.10ns 32.63us 63.24ns noSupport notSupport -ArrayDs 516 180.80us 350.38ns 31.63us 61.29ns 150.45us 291.57ns 32.69us 63.35ns noSupport notSupport -ArrayDs 1024 474.75us 463.63ns 79.24us 77.38ns 312.50us 305.18ns 80.35us 78.47ns noSupport notSupport -ArrayDs 1024 337.40us 329.49ns 80.69us 78.80ns 340.25us 332.28ns 83.83us 81.86ns noSupport notSupport -ArrayDs 1024 333.01us 325.21ns 101.03us 98.66ns 308.58us 301.35ns 80.63us 78.74ns noSupport notSupport -ArrayDs 1024 365.29us 356.73ns 79.03us 77.17ns 298.66us 291.66ns 79.74us 77.87ns noSupport notSupport -ArrayDs 1024 410.38us 400.77ns 79.02us 77.17ns 348.33us 340.17ns 80.13us 78.25ns noSupport notSupport -ArrayDs 1024 408.63us 399.05ns 79.90us 78.03ns 303.66us 296.54ns 79.82us 77.95ns noSupport notSupport -ArrayDs 1024 357.69us 349.30ns 84.91us 82.92ns 450.23us 439.68ns 116.64us 113.90ns noSupport notSupport -ArrayDs 1024 472.53us 461.46ns 79.98us 78.10ns 308.37us 301.15ns 94.71us 92.49ns noSupport notSupport -ArrayDs 1024 364.92us 356.37ns 79.06us 77.20ns 333.16us 325.35ns 79.73us 77.86ns noSupport notSupport -ArrayDs 1024 352.47us 344.21ns 79.40us 77.54ns 300.06us 293.03ns 80.95us 79.05ns noSupport notSupport -ArrayDs 1024 355.02us 346.70ns 79.41us 77.55ns 297.69us 290.71ns 106.47us 103.97ns noSupport notSupport -ArrayDs 1024 331.70us 323.92ns 79.70us 77.83ns 316.30us 308.89ns 81.72us 79.81ns noSupport notSupport -ArrayDs 1024 368.88us 360.23ns 102.01us 99.62ns 308.28us 301.06ns 80.08us 78.20ns noSupport notSupport -ArrayDs 1024 397.99us 388.66ns 80.23us 78.35ns 321.56us 314.02ns 80.57us 78.68ns noSupport notSupport -ArrayDs 1024 333.57us 325.75ns 80.82us 78.93ns 366.90us 358.30ns 79.95us 78.08ns noSupport notSupport -ArrayDs 1024 428.26us 418.23ns 111.16us 108.55ns 451.72us 441.13ns 114.21us 111.54ns noSupport notSupport -ArrayDs 1024 506.96us 495.08ns 137.22us 134.00ns 303.32us 296.22ns 80.66us 78.77ns noSupport notSupport -ArrayDs 1024 422.70us 412.79ns 79.91us 78.04ns 424.42us 414.48ns 97.36us 95.08ns noSupport notSupport -ArrayDs 1024 452.50us 441.89ns 96.08us 93.83ns 464.81us 453.92ns 97.02us 94.75ns noSupport notSupport -ArrayDs 1024 424.28us 414.34ns 90.28us 88.16ns 462.35us 451.51ns 155.20us 151.56ns noSupport notSupport -ArrayDs 1024 728.32us 711.25ns 152.10us 148.54ns 588.14us 574.35ns 154.88us 151.25ns noSupport notSupport -ArrayDs 1024 368.54us 359.90ns 81.01us 79.11ns 307.13us 299.93ns 92.54us 90.37ns noSupport notSupport -ArrayDs 2048 640.81us 312.90ns 160.90us 78.56ns 662.01us 323.25ns 160.87us 78.55ns noSupport notSupport -ArrayDs 2048 675.96us 330.06ns 190.66us 93.10ns 651.39us 318.06ns 158.70us 77.49ns noSupport notSupport -ArrayDs 2048 726.06us 354.52ns 159.34us 77.80ns 642.08us 313.51ns 160.68us 78.46ns noSupport notSupport -ArrayDs 2048 680.40us 332.23ns 160.82us 78.53ns 652.57us 318.64ns 170.86us 83.43ns noSupport notSupport -ArrayDs 2048 664.17us 324.30ns 157.91us 77.11ns 612.00us 298.83ns 158.50us 77.40ns noSupport notSupport -ArrayDs 2048 631.10us 308.15ns 181.21us 88.48ns 644.89us 314.89ns 160.45us 78.34ns noSupport notSupport -ArrayDs 2048 675.74us 329.95ns 164.20us 80.17ns 640.98us 312.98ns 175.21us 85.55ns noSupport notSupport -ArrayDs 2048 658.61us 321.59ns 160.73us 78.48ns 631.07us 308.14ns 158.90us 77.59ns noSupport notSupport -ArrayDs 2048 657.88us 321.23ns 158.43us 77.36ns 615.85us 300.71ns 159.56us 77.91ns noSupport notSupport -ArrayDs 2048 650.96us 317.85ns 163.65us 79.90ns 637.96us 311.51ns 159.85us 78.05ns noSupport notSupport -ArrayDs 2048 655.94us 320.28ns 160.01us 78.13ns 628.83us 307.04ns 157.94us 77.12ns noSupport notSupport -ArrayDs 2048 650.79us 317.77ns 158.24us 77.26ns 634.57us 309.85ns 158.46us 77.37ns noSupport notSupport -ArrayDs 2048 644.33us 314.61ns 158.28us 77.28ns 639.19us 312.10ns 157.70us 77.00ns noSupport notSupport -ArrayDs 2048 738.46us 360.57ns 201.38us 98.33ns 905.29us 442.03ns 235.88us 115.18ns noSupport notSupport -ArrayDs 2048 835.01us 407.72ns 194.16us 94.81ns 777.38us 379.58ns 238.78us 116.59ns noSupport notSupport -ArrayDs 2048 797.69us 389.50ns 220.99us 107.91ns 672.93us 328.58ns 159.63us 77.94ns noSupport notSupport -ArrayDs 2048 675.06us 329.62ns 161.23us 78.73ns 623.22us 304.31ns 157.09us 76.71ns noSupport notSupport -ArrayDs 2048 665.09us 324.75ns 160.97us 78.60ns 628.32us 306.80ns 158.19us 77.24ns noSupport notSupport -ArrayDs 2048 695.10us 339.41ns 158.80us 77.54ns 653.85us 319.26ns 174.29us 85.10ns noSupport notSupport -ArrayDs 2048 656.72us 320.67ns 163.21us 79.69ns 625.62us 305.48ns 161.21us 78.72ns noSupport notSupport -ArrayDs 2048 664.72us 324.57ns 158.46us 77.37ns 623.44us 304.41ns 178.28us 87.05ns noSupport notSupport -ArrayDs 2048 643.05us 313.99ns 158.86us 77.57ns 621.94us 303.68ns 158.61us 77.44ns noSupport notSupport -ArrayDs 4096 1.30ms 318.37ns 338.66us 82.68ns 1.27ms 308.92ns 334.55us 81.68ns noSupport notSupport -ArrayDs 4096 1.43ms 349.86ns 343.92us 83.96ns 1.12ms 274.43ns 339.52us 82.89ns noSupport notSupport -ArrayDs 4096 1.22ms 298.39ns 321.39us 78.46ns 1.14ms 277.60ns 318.25us 77.70ns noSupport notSupport -ArrayDs 4096 1.72ms 420.62ns 452.93us 110.58ns 1.59ms 389.18ns 399.93us 97.64ns noSupport notSupport -ArrayDs 4096 1.46ms 355.73ns 368.38us 89.94ns 1.38ms 336.54ns 407.29us 99.44ns noSupport notSupport -ArrayDs 4096 1.23ms 300.01ns 339.48us 82.88ns 1.13ms 276.93ns 340.11us 83.04ns noSupport notSupport -ArrayDs 4096 1.21ms 295.78ns 315.34us 76.99ns 1.17ms 285.11ns 325.76us 79.53ns noSupport notSupport -ArrayDs 4096 1.39ms 338.65ns 352.93us 86.16ns 1.14ms 279.27ns 318.39us 77.73ns noSupport notSupport -ArrayDs 4096 1.23ms 299.66ns 337.88us 82.49ns 1.11ms 271.30ns 359.71us 87.82ns noSupport notSupport -ArrayDs 4096 1.69ms 413.79ns 394.81us 96.39ns 1.15ms 281.14ns 320.77us 78.31ns noSupport notSupport -ArrayDs 4096 1.28ms 312.28ns 373.78us 91.26ns 1.56ms 380.26ns 458.73us 111.99ns noSupport notSupport -ArrayDs 4096 1.22ms 298.23ns 320.19us 78.17ns 1.14ms 278.54ns 316.12us 77.18ns noSupport notSupport -ArrayDs 4096 1.35ms 329.42ns 330.98us 80.80ns 1.44ms 351.76ns 539.14us 131.63ns noSupport notSupport -ArrayDs 4096 1.77ms 431.24ns 403.72us 98.56ns 1.36ms 332.37ns 438.24us 106.99ns noSupport notSupport -ArrayDs 4096 1.26ms 306.42ns 320.25us 78.19ns 1.12ms 273.65ns 320.48us 78.24ns noSupport notSupport -ArrayDs 4096 1.25ms 305.89ns 344.06us 84.00ns 1.14ms 277.45ns 320.74us 78.30ns noSupport notSupport -ArrayDs 4096 1.22ms 298.86ns 316.34us 77.23ns 1.11ms 270.47ns 338.36us 82.61ns noSupport notSupport -ArrayDs 4096 1.21ms 296.44ns 340.86us 83.22ns 1.14ms 278.72ns 322.36us 78.70ns noSupport notSupport -ArrayDs 4096 1.36ms 332.74ns 351.81us 85.89ns 1.12ms 272.53ns 348.09us 84.98ns noSupport notSupport -ArrayDs 4096 1.20ms 293.08ns 318.56us 77.77ns 1.15ms 279.66ns 319.36us 77.97ns noSupport notSupport -ArrayDs 4096 1.24ms 303.55ns 356.59us 87.06ns 1.10ms 269.00ns 368.61us 89.99ns noSupport notSupport -ArrayDs 4096 1.21ms 296.50ns 318.81us 77.84ns 1.16ms 282.40ns 333.99us 81.54ns noSupport notSupport -ArrayDs 8192 2.47ms 301.73ns 649.05us 79.23ns 3.05ms 371.99ns 772.32us 94.28ns noSupport notSupport -ArrayDs 8192 3.77ms 460.70ns 650.17us 79.37ns 2.04ms 249.28ns 793.40us 96.85ns noSupport notSupport -ArrayDs 8192 2.81ms 343.27ns 672.82us 82.13ns 2.07ms 252.17ns 667.20us 81.45ns noSupport notSupport -ArrayDs 8192 2.43ms 296.88ns 655.16us 79.98ns 2.32ms 283.16ns 655.40us 80.01ns noSupport notSupport -ArrayDs 8192 2.50ms 305.44ns 654.47us 79.89ns 2.19ms 267.09ns 743.00us 90.70ns noSupport notSupport -ArrayDs 8192 3.07ms 374.65ns 793.53us 96.87ns 2.10ms 256.14ns 673.25us 82.18ns noSupport notSupport -ArrayDs 8192 2.50ms 305.74ns 652.57us 79.66ns 2.04ms 248.49ns 756.73us 92.37ns noSupport notSupport -ArrayDs 8192 2.55ms 311.03ns 658.99us 80.44ns 2.07ms 252.37ns 666.35us 81.34ns noSupport notSupport -ArrayDs 8192 2.49ms 304.02ns 659.75us 80.54ns 2.04ms 249.19ns 650.15us 79.36ns noSupport notSupport -ArrayDs 8192 2.46ms 300.61ns 661.07us 80.70ns 2.26ms 275.32ns 685.96us 83.74ns noSupport notSupport -ArrayDs 8192 3.04ms 370.48ns 886.61us 108.23ns 2.11ms 257.89ns 656.20us 80.10ns noSupport notSupport -ArrayDs 8192 2.48ms 302.59ns 648.76us 79.19ns 2.12ms 259.23ns 657.28us 80.23ns noSupport notSupport -ArrayDs 8192 2.47ms 301.06ns 675.35us 82.44ns 2.06ms 251.17ns 648.60us 79.17ns noSupport notSupport -ArrayDs 8192 2.44ms 297.66ns 644.61us 78.69ns 2.04ms 249.57ns 663.90us 81.04ns noSupport notSupport -ArrayDs 8192 2.50ms 305.26ns 684.28us 83.53ns 2.58ms 314.91ns 940.09us 114.76ns noSupport notSupport -ArrayDs 8192 4.36ms 532.31ns 861.39us 105.15ns 2.39ms 291.40ns 708.16us 86.45ns noSupport notSupport -ArrayDs 8192 2.69ms 328.30ns 652.81us 79.69ns 2.16ms 263.70ns 710.64us 86.75ns noSupport notSupport -ArrayDs 8192 2.60ms 317.12ns 657.18us 80.22ns 2.04ms 249.38ns 664.78us 81.15ns noSupport notSupport -ArrayDs 8192 2.47ms 302.01ns 663.10us 80.94ns 2.03ms 247.49ns 672.38us 82.08ns noSupport notSupport -ArrayDs 8192 2.66ms 324.43ns 662.76us 80.90ns 2.30ms 280.87ns 911.41us 111.26ns noSupport notSupport -ArrayDs 8192 2.88ms 351.58ns 675.71us 82.48ns 2.06ms 251.97ns 661.54us 80.75ns noSupport notSupport -ArrayDs 8192 2.53ms 309.31ns 660.72us 80.65ns 2.05ms 250.06ns 658.64us 80.40ns noSupport notSupport -ArrayDs 16384 5.34ms 325.86ns 1.67ms 101.93ns 6.59ms 401.97ns 1.69ms 102.97ns noSupport notSupport -ArrayDs 16384 6.72ms 410.14ns 1.82ms 111.00ns 5.96ms 363.54ns 1.62ms 98.94ns noSupport notSupport -ArrayDs 16384 5.99ms 365.63ns 1.66ms 101.02ns 5.54ms 338.43ns 1.90ms 115.68ns noSupport notSupport -ArrayDs 16384 7.03ms 429.13ns 1.60ms 97.89ns 5.88ms 359.06ns 1.91ms 116.53ns noSupport notSupport -ArrayDs 16384 8.19ms 499.64ns 1.64ms 99.86ns 5.39ms 328.78ns 1.64ms 100.11ns noSupport notSupport -ArrayDs 16384 5.65ms 344.82ns 1.83ms 111.63ns 8.02ms 489.51ns 2.07ms 126.41ns noSupport notSupport -ArrayDs 16384 5.54ms 337.98ns 1.67ms 101.74ns 5.23ms 318.99ns 1.84ms 112.57ns noSupport notSupport -ArrayDs 16384 5.53ms 337.82ns 1.62ms 98.61ns 6.05ms 369.03ns 1.89ms 115.46ns noSupport notSupport -ArrayDs 16384 6.34ms 387.02ns 1.70ms 103.76ns 5.48ms 334.55ns 1.60ms 97.43ns noSupport notSupport -ArrayDs 16384 5.55ms 338.92ns 1.63ms 99.58ns 7.47ms 455.98ns 1.99ms 121.56ns noSupport notSupport -ArrayDs 16384 5.60ms 341.83ns 1.64ms 100.20ns 5.93ms 361.93ns 2.00ms 122.08ns noSupport notSupport -ArrayDs 16384 6.30ms 384.63ns 1.69ms 103.04ns 7.23ms 441.21ns 1.69ms 103.07ns noSupport notSupport -ArrayDs 16384 5.74ms 350.48ns 1.62ms 98.78ns 5.72ms 349.16ns 1.67ms 101.84ns noSupport notSupport -ArrayDs 16384 5.63ms 343.59ns 1.67ms 101.75ns 6.51ms 397.28ns 1.93ms 117.62ns noSupport notSupport -ArrayDs 16384 6.15ms 375.29ns 1.64ms 100.28ns 5.27ms 321.94ns 1.68ms 102.59ns noSupport notSupport -ArrayDs 16384 5.47ms 334.00ns 1.64ms 100.25ns 6.33ms 386.33ns 2.20ms 134.21ns noSupport notSupport -ArrayDs 16384 6.07ms 370.73ns 1.62ms 98.74ns 5.27ms 321.81ns 1.59ms 97.15ns noSupport notSupport -ArrayDs 16384 5.78ms 352.69ns 1.67ms 101.77ns 6.94ms 423.65ns 1.73ms 105.82ns noSupport notSupport -ArrayDs 16384 5.87ms 358.36ns 1.63ms 99.45ns 5.26ms 320.91ns 1.61ms 98.57ns noSupport notSupport -ArrayDs 16384 5.72ms 349.35ns 1.64ms 100.08ns 6.31ms 384.94ns 1.95ms 119.00ns noSupport notSupport -ArrayDs 16384 6.35ms 387.55ns 1.71ms 104.38ns 5.29ms 323.06ns 1.62ms 99.17ns noSupport notSupport -ArrayDs 16384 5.52ms 336.68ns 1.78ms 108.74ns 6.65ms 405.88ns 1.77ms 107.94ns noSupport notSupport -ArrayDs 32768 11.14ms 339.88ns 3.21ms 98.00ns 11.24ms 343.02ns 3.32ms 101.18ns noSupport notSupport -ArrayDs 32768 12.76ms 389.46ns 3.29ms 100.37ns 11.20ms 341.72ns 3.87ms 117.99ns noSupport notSupport -ArrayDs 32768 12.02ms 366.69ns 3.37ms 102.75ns 10.89ms 332.22ns 4.23ms 128.94ns noSupport notSupport -ArrayDs 32768 12.84ms 391.70ns 3.64ms 111.05ns 11.11ms 338.91ns 4.25ms 129.75ns noSupport notSupport -ArrayDs 32768 11.73ms 358.01ns 3.25ms 99.29ns 10.99ms 335.52ns 4.18ms 127.66ns noSupport notSupport -ArrayDs 32768 13.40ms 408.82ns 4.61ms 140.76ns 11.15ms 340.16ns 3.31ms 101.07ns noSupport notSupport -ArrayDs 32768 11.29ms 344.57ns 3.24ms 98.73ns 11.17ms 340.80ns 4.14ms 126.30ns noSupport notSupport -ArrayDs 32768 12.14ms 370.54ns 3.19ms 97.43ns 11.21ms 342.00ns 3.22ms 98.25ns noSupport notSupport -ArrayDs 32768 12.64ms 385.77ns 3.31ms 101.01ns 11.14ms 340.08ns 4.10ms 125.13ns noSupport notSupport -ArrayDs 32768 14.59ms 445.25ns 3.37ms 102.94ns 11.45ms 349.46ns 4.25ms 129.68ns noSupport notSupport -ArrayDs 32768 11.92ms 363.84ns 3.35ms 102.15ns 13.07ms 398.73ns 4.04ms 123.32ns noSupport notSupport -ArrayDs 32768 12.32ms 375.88ns 3.36ms 102.55ns 12.16ms 371.10ns 3.65ms 111.40ns noSupport notSupport -ArrayDs 32768 13.10ms 399.77ns 3.75ms 114.56ns 12.51ms 381.72ns 3.33ms 101.66ns noSupport notSupport -ArrayDs 32768 12.02ms 366.94ns 3.31ms 101.08ns 11.82ms 360.59ns 4.91ms 149.70ns noSupport notSupport -ArrayDs 32768 12.12ms 369.85ns 3.38ms 103.19ns 13.60ms 415.07ns 3.83ms 116.89ns noSupport notSupport -ArrayDs 32768 12.19ms 372.01ns 3.59ms 109.56ns 13.67ms 417.31ns 3.51ms 106.97ns noSupport notSupport -ArrayDs 32768 11.63ms 354.77ns 3.67ms 112.05ns 11.15ms 340.22ns 3.41ms 104.05ns noSupport notSupport -ArrayDs 32768 14.67ms 447.69ns 3.50ms 106.77ns 11.63ms 354.93ns 3.54ms 108.06ns noSupport notSupport -ArrayDs 32768 12.24ms 373.60ns 3.23ms 98.67ns 11.15ms 340.20ns 5.22ms 159.23ns noSupport notSupport -ArrayDs 32768 13.19ms 402.46ns 3.77ms 115.11ns 13.36ms 407.73ns 3.27ms 99.65ns noSupport notSupport -ArrayDs 32768 11.69ms 356.85ns 3.39ms 103.39ns 11.97ms 365.29ns 4.28ms 130.76ns noSupport notSupport -ArrayDs 32768 12.37ms 377.62ns 3.51ms 107.07ns 11.59ms 353.66ns 3.93ms 119.98ns noSupport notSupport -ArrayDs 65536 25.53ms 389.49ns 8.34ms 127.23ns 25.94ms 395.80ns 6.53ms 99.66ns noSupport notSupport -ArrayDs 65536 24.58ms 375.05ns 7.99ms 121.91ns 25.10ms 382.94ns 7.46ms 113.76ns noSupport notSupport -ArrayDs 65536 27.00ms 411.97ns 7.23ms 110.29ns 25.48ms 388.83ns 6.63ms 101.20ns noSupport notSupport -ArrayDs 65536 23.11ms 352.61ns 6.77ms 103.26ns 25.97ms 396.31ns 6.60ms 100.75ns noSupport notSupport -ArrayDs 65536 24.63ms 375.88ns 7.01ms 106.94ns 25.13ms 383.46ns 7.11ms 108.52ns noSupport notSupport -ArrayDs 65536 23.43ms 357.52ns 6.78ms 103.39ns 25.05ms 382.19ns 7.06ms 107.79ns noSupport notSupport -ArrayDs 65536 24.48ms 373.60ns 7.26ms 110.83ns 24.11ms 367.90ns 6.64ms 101.31ns noSupport notSupport -ArrayDs 65536 24.06ms 367.12ns 7.91ms 120.71ns 24.19ms 369.10ns 6.71ms 102.37ns noSupport notSupport -ArrayDs 65536 23.82ms 363.51ns 8.14ms 124.21ns 23.35ms 356.33ns 6.68ms 101.97ns noSupport notSupport -ArrayDs 65536 24.39ms 372.14ns 7.46ms 113.79ns 24.23ms 369.65ns 6.88ms 104.96ns noSupport notSupport -ArrayDs 65536 24.07ms 367.30ns 7.25ms 110.61ns 24.91ms 380.07ns 6.52ms 99.50ns noSupport notSupport -ArrayDs 65536 24.15ms 368.56ns 6.62ms 100.95ns 25.19ms 384.42ns 6.74ms 102.89ns noSupport notSupport -ArrayDs 65536 27.28ms 416.20ns 10.64ms 162.42ns 25.36ms 386.98ns 6.71ms 102.35ns noSupport notSupport -ArrayDs 65536 24.01ms 366.43ns 7.76ms 118.41ns 23.72ms 361.98ns 6.50ms 99.24ns noSupport notSupport -ArrayDs 65536 26.66ms 406.83ns 6.43ms 98.11ns 22.68ms 346.02ns 6.44ms 98.23ns noSupport notSupport -ArrayDs 65536 23.49ms 358.43ns 7.24ms 110.46ns 22.14ms 337.80ns 6.57ms 100.24ns noSupport notSupport -ArrayDs 65536 23.16ms 353.40ns 7.07ms 107.94ns 22.57ms 344.38ns 6.46ms 98.61ns noSupport notSupport -ArrayDs 65536 22.55ms 344.08ns 6.81ms 103.92ns 22.84ms 348.51ns 7.69ms 117.29ns noSupport notSupport -ArrayDs 65536 26.91ms 410.55ns 8.16ms 124.54ns 23.87ms 364.23ns 7.24ms 110.41ns noSupport notSupport -ArrayDs 65536 23.68ms 361.26ns 8.42ms 128.52ns 22.86ms 348.75ns 6.83ms 104.23ns noSupport notSupport -ArrayDs 65536 26.68ms 407.16ns 6.71ms 102.35ns 22.72ms 346.61ns 6.63ms 101.19ns noSupport notSupport -ArrayDs 65536 23.98ms 365.97ns 7.41ms 113.11ns 22.99ms 350.86ns 7.55ms 115.24ns noSupport notSupport -ArrayDs 131072 54.66ms 417.04ns 19.08ms 145.55ns 54.60ms 416.57ns 19.20ms 146.50ns noSupport notSupport -ArrayDs 131072 54.18ms 413.35ns 20.02ms 152.70ns 53.10ms 405.09ns 19.59ms 149.45ns noSupport notSupport -ArrayDs 131072 55.01ms 419.69ns 19.14ms 146.02ns 52.61ms 401.35ns 19.16ms 146.19ns noSupport notSupport -ArrayDs 131072 51.21ms 390.70ns 18.85ms 143.82ns 51.73ms 394.70ns 18.87ms 143.93ns noSupport notSupport -ArrayDs 131072 52.28ms 398.90ns 18.74ms 143.00ns 53.05ms 404.75ns 18.89ms 144.09ns noSupport notSupport -ArrayDs 131072 53.50ms 408.19ns 19.11ms 145.83ns 51.64ms 394.01ns 18.73ms 142.93ns noSupport notSupport -ArrayDs 131072 51.58ms 393.50ns 19.13ms 145.93ns 53.41ms 407.45ns 19.24ms 146.77ns noSupport notSupport -ArrayDs 131072 53.38ms 407.22ns 19.32ms 147.42ns 52.63ms 401.53ns 19.28ms 147.12ns noSupport notSupport -ArrayDs 131072 53.46ms 407.85ns 19.13ms 145.94ns 55.57ms 423.97ns 19.08ms 145.59ns noSupport notSupport -ArrayDs 131072 53.38ms 407.23ns 19.54ms 149.06ns 52.19ms 398.20ns 19.93ms 152.09ns noSupport notSupport -ArrayDs 131072 53.86ms 410.90ns 20.05ms 152.95ns 53.87ms 410.98ns 19.24ms 146.78ns noSupport notSupport -ArrayDs 131072 53.13ms 405.34ns 19.56ms 149.20ns 53.68ms 409.57ns 19.42ms 148.19ns noSupport notSupport -ArrayDs 131072 56.39ms 430.24ns 19.39ms 147.93ns 54.39ms 414.94ns 19.60ms 149.50ns noSupport notSupport -ArrayDs 131072 53.47ms 407.97ns 19.24ms 146.76ns 54.57ms 416.34ns 19.04ms 145.26ns noSupport notSupport -ArrayDs 131072 54.41ms 415.10ns 19.39ms 147.96ns 54.06ms 412.42ns 18.86ms 143.91ns noSupport notSupport -ArrayDs 131072 53.50ms 408.19ns 19.69ms 150.25ns 52.55ms 400.89ns 19.13ms 145.98ns noSupport notSupport -ArrayDs 131072 53.84ms 410.76ns 19.24ms 146.75ns 55.24ms 421.48ns 20.18ms 153.97ns noSupport notSupport -ArrayDs 131072 54.04ms 412.29ns 19.65ms 149.90ns 53.47ms 407.92ns 19.22ms 146.65ns noSupport notSupport -ArrayDs 131072 55.48ms 423.31ns 19.25ms 146.85ns 53.65ms 409.30ns 20.33ms 155.09ns noSupport notSupport -ArrayDs 131072 55.50ms 423.46ns 19.06ms 145.43ns 53.07ms 404.89ns 20.13ms 153.57ns noSupport notSupport -ArrayDs 131072 54.32ms 414.42ns 19.41ms 148.05ns 54.37ms 414.81ns 19.83ms 151.29ns noSupport notSupport -ArrayDs 131072 53.87ms 410.98ns 19.07ms 145.49ns 52.87ms 403.37ns 19.16ms 146.20ns noSupport notSupport -ArrayDs 524288 243.00ms 463.49ns 78.35ms 149.44ns 218.68ms 417.10ns 79.19ms 151.05ns noSupport notSupport -ArrayDs 524288 241.27ms 460.18ns 76.22ms 145.38ns 221.06ms 421.64ns 76.72ms 146.33ns noSupport notSupport -ArrayDs 524288 239.74ms 457.26ns 76.34ms 145.62ns 227.24ms 433.42ns 76.51ms 145.93ns noSupport notSupport -ArrayDs 524288 239.55ms 456.90ns 76.82ms 146.53ns 221.94ms 423.32ns 76.83ms 146.54ns noSupport notSupport -ArrayDs 524288 263.73ms 503.03ns 76.60ms 146.10ns 221.08ms 421.67ns 77.81ms 148.42ns noSupport notSupport -ArrayDs 524288 241.57ms 460.76ns 76.46ms 145.83ns 226.18ms 431.40ns 77.54ms 147.90ns noSupport notSupport -ArrayDs 524288 241.65ms 460.90ns 77.18ms 147.22ns 222.32ms 424.05ns 77.39ms 147.62ns noSupport notSupport -ArrayDs 524288 239.09ms 456.03ns 79.61ms 151.84ns 222.89ms 425.14ns 77.31ms 147.46ns noSupport notSupport -ArrayDs 524288 240.32ms 458.38ns 76.70ms 146.29ns 225.14ms 429.43ns 77.79ms 148.37ns noSupport notSupport -ArrayDs 524288 237.46ms 452.91ns 80.05ms 152.67ns 267.23ms 509.71ns 75.01ms 143.06ns noSupport notSupport -ArrayDs 524288 237.60ms 453.19ns 77.19ms 147.23ns 228.14ms 435.15ns 75.74ms 144.47ns noSupport notSupport -ArrayDs 524288 242.03ms 461.64ns 77.55ms 147.91ns 220.50ms 420.56ns 75.92ms 144.82ns noSupport notSupport -ArrayDs 524288 245.02ms 467.33ns 75.14ms 143.32ns 214.26ms 408.68ns 75.07ms 143.19ns noSupport notSupport -ArrayDs 524288 270.81ms 516.53ns 76.67ms 146.24ns 227.84ms 434.57ns 75.50ms 144.00ns noSupport notSupport -ArrayDs 524288 233.18ms 444.75ns 76.69ms 146.28ns 219.95ms 419.52ns 77.69ms 148.17ns noSupport notSupport -ArrayDs 524288 237.94ms 453.84ns 79.50ms 151.64ns 219.49ms 418.65ns 75.67ms 144.34ns noSupport notSupport -ArrayDs 524288 236.46ms 451.02ns 76.18ms 145.30ns 217.23ms 414.33ns 76.44ms 145.80ns noSupport notSupport -ArrayDs 524288 239.70ms 457.19ns 75.12ms 143.29ns 248.43ms 473.84ns 76.31ms 145.55ns noSupport notSupport -ArrayDs 524288 238.76ms 455.40ns 76.50ms 145.92ns 222.99ms 425.31ns 76.69ms 146.28ns noSupport notSupport -ArrayDs 524288 238.84ms 455.55ns 77.45ms 147.71ns 235.47ms 449.13ns 83.36ms 158.99ns noSupport notSupport -ArrayDs 524288 266.57ms 508.45ns 80.62ms 153.77ns 231.69ms 441.92ns 78.11ms 148.98ns noSupport notSupport -ArrayDs 524288 247.09ms 471.29ns 80.78ms 154.08ns 215.13ms 410.32ns 80.98ms 154.45ns noSupport notSupport -ArrayDs 1048576 508.45ms 484.90ns 169.78ms 161.92ns 510.61ms 486.96ns 169.20ms 161.36ns noSupport notSupport -ArrayDs 1048576 510.48ms 486.84ns 170.69ms 162.78ns 510.03ms 486.40ns 170.62ms 162.71ns noSupport notSupport -ArrayDs 1048576 514.90ms 491.04ns 167.99ms 160.21ns 513.45ms 489.66ns 172.18ms 164.21ns noSupport notSupport -ArrayDs 1048576 508.86ms 485.29ns 168.29ms 160.49ns 509.58ms 485.97ns 168.35ms 160.55ns noSupport notSupport -ArrayDs 1048576 508.73ms 485.17ns 170.09ms 162.21ns 502.64ms 479.36ns 168.04ms 160.26ns noSupport notSupport -ArrayDs 1048576 517.31ms 493.34ns 171.15ms 163.22ns 514.04ms 490.23ns 171.90ms 163.94ns noSupport notSupport -ArrayDs 1048576 514.51ms 490.68ns 168.96ms 161.13ns 511.31ms 487.63ns 168.82ms 161.00ns noSupport notSupport -ArrayDs 1048576 516.64ms 492.70ns 166.48ms 158.77ns 505.30ms 481.89ns 168.80ms 160.98ns noSupport notSupport -ArrayDs 1048576 505.39ms 481.98ns 169.63ms 161.77ns 507.53ms 484.02ns 168.03ms 160.24ns noSupport notSupport -ArrayDs 1048576 507.60ms 484.09ns 168.67ms 160.86ns 506.96ms 483.47ns 169.11ms 161.28ns noSupport notSupport -ArrayDs 1048576 522.91ms 498.69ns 167.22ms 159.47ns 507.68ms 484.16ns 169.50ms 161.65ns noSupport notSupport -ArrayDs 1048576 504.80ms 481.41ns 168.90ms 161.07ns 512.19ms 488.46ns 168.66ms 160.85ns noSupport notSupport -ArrayDs 1048576 509.25ms 485.65ns 168.53ms 160.73ns 511.54ms 487.84ns 168.51ms 160.70ns noSupport notSupport -ArrayDs 1048576 516.99ms 493.04ns 166.46ms 158.75ns 507.82ms 484.29ns 169.20ms 161.36ns noSupport notSupport -ArrayDs 1048576 501.81ms 478.57ns 166.45ms 158.74ns 507.32ms 483.82ns 166.80ms 159.08ns noSupport notSupport -ArrayDs 1048576 653.74ms 623.46ns 171.32ms 163.38ns 506.43ms 482.97ns 170.44ms 162.55ns noSupport notSupport -ArrayDs 1048576 511.91ms 488.19ns 168.91ms 161.08ns 510.32ms 486.68ns 174.31ms 166.23ns noSupport notSupport -ArrayDs 1048576 522.15ms 497.97ns 169.37ms 161.52ns 510.79ms 487.13ns 170.10ms 162.22ns noSupport notSupport -ArrayDs 1048576 518.79ms 494.76ns 172.16ms 164.19ns 512.52ms 488.77ns 169.96ms 162.09ns noSupport notSupport -ArrayDs 1048576 506.79ms 483.32ns 169.52ms 161.67ns 509.00ms 485.42ns 172.24ms 164.26ns noSupport notSupport -ArrayDs 1048576 512.66ms 488.91ns 170.96ms 163.04ns 506.45ms 482.99ns 169.70ms 161.84ns noSupport notSupport -ArrayDs 1048576 517.87ms 493.88ns 176.98ms 168.78ns 577.53ms 550.78ns 169.46ms 161.61ns noSupport notSupport - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -TupleDs 8 1.35us 169.00ns 241ns 30.13ns 4.37us 546.00ns 200ns 25.00ns noSupport notSupport -TupleDs 8 1.30us 162.88ns 240ns 30.00ns 651ns 81.38ns 221ns 27.63ns noSupport notSupport -TupleDs 8 1.08us 135.25ns 250ns 31.25ns 571ns 71.38ns 170ns 21.25ns noSupport notSupport -TupleDs 8 1.10us 137.75ns 300ns 37.50ns 582ns 72.75ns 260ns 32.50ns noSupport notSupport -TupleDs 8 1.11us 139.00ns 241ns 30.13ns 561ns 70.13ns 220ns 27.50ns noSupport notSupport -TupleDs 8 992ns 124.00ns 280ns 35.00ns 621ns 77.63ns 221ns 27.63ns noSupport notSupport -TupleDs 8 1.14us 142.75ns 261ns 32.63ns 601ns 75.13ns 210ns 26.25ns noSupport notSupport -TupleDs 8 1.10us 137.75ns 271ns 33.88ns 661ns 82.63ns 251ns 31.38ns noSupport notSupport -TupleDs 8 1.10us 137.88ns 250ns 31.25ns 581ns 72.63ns 231ns 28.88ns noSupport notSupport -TupleDs 8 1.11us 139.00ns 281ns 35.13ns 651ns 81.38ns 240ns 30.00ns noSupport notSupport -TupleDs 8 1.11us 139.00ns 260ns 32.50ns 591ns 73.88ns 241ns 30.13ns noSupport notSupport -TupleDs 8 1.07us 134.00ns 251ns 31.38ns 631ns 78.88ns 230ns 28.75ns noSupport notSupport -TupleDs 8 1.15us 144.00ns 251ns 31.38ns 631ns 78.88ns 240ns 30.00ns noSupport notSupport -TupleDs 8 1.14us 142.75ns 210ns 26.25ns 20.37us 2546.00ns 321ns 40.13ns noSupport notSupport -TupleDs 8 982ns 122.75ns 260ns 32.50ns 581ns 72.63ns 191ns 23.88ns noSupport notSupport -TupleDs 8 1.07us 134.00ns 220ns 27.50ns 3.09us 385.75ns 411ns 51.38ns noSupport notSupport -TupleDs 8 1.23us 154.13ns 250ns 31.25ns 631ns 78.88ns 221ns 27.63ns noSupport notSupport -TupleDs 8 1.03us 129.00ns 251ns 31.38ns 601ns 75.13ns 250ns 31.25ns noSupport notSupport -TupleDs 8 1.04us 130.25ns 291ns 36.38ns 1.22us 152.75ns 201ns 25.13ns noSupport notSupport -TupleDs 8 1.13us 141.50ns 241ns 30.13ns 611ns 76.38ns 260ns 32.50ns noSupport notSupport -TupleDs 8 1.15us 144.00ns 251ns 31.38ns 701ns 87.63ns 301ns 37.63ns noSupport notSupport -TupleDs 8 1.10us 137.88ns 280ns 35.00ns 761ns 95.13ns 221ns 27.63ns noSupport notSupport -TupleDs 16 25.61us 1600.50ns 391ns 24.44ns 3.78us 236.06ns 340ns 21.25ns noSupport notSupport -TupleDs 16 5.37us 335.63ns 761ns 47.56ns 3.96us 247.38ns 290ns 18.13ns noSupport notSupport -TupleDs 16 57.97us 3623.00ns 601ns 37.56ns 5.49us 343.13ns 341ns 21.31ns noSupport notSupport -TupleDs 16 4.95us 309.31ns 341ns 21.31ns 3.67us 229.19ns 300ns 18.75ns noSupport notSupport -TupleDs 16 4.98us 311.25ns 330ns 20.63ns 3.61us 225.44ns 290ns 18.13ns noSupport notSupport -TupleDs 16 4.41us 275.50ns 381ns 23.81ns 3.43us 214.13ns 280ns 17.50ns noSupport notSupport -TupleDs 16 7.89us 493.44ns 450ns 28.13ns 3.96us 247.38ns 280ns 17.50ns noSupport notSupport -TupleDs 16 5.06us 316.19ns 391ns 24.44ns 3.98us 248.56ns 271ns 16.94ns noSupport notSupport -TupleDs 16 5.06us 316.25ns 340ns 21.25ns 3.61us 225.44ns 341ns 21.31ns noSupport notSupport -TupleDs 16 5.07us 316.81ns 371ns 23.19ns 3.34us 208.50ns 311ns 19.44ns noSupport notSupport -TupleDs 16 4.92us 307.50ns 360ns 22.50ns 3.08us 192.25ns 261ns 16.31ns noSupport notSupport -TupleDs 16 4.75us 296.81ns 321ns 20.06ns 3.37us 210.38ns 321ns 20.06ns noSupport notSupport -TupleDs 16 5.02us 313.75ns 15.19us 949.25ns 7.12us 445.19ns 311ns 19.44ns noSupport notSupport -TupleDs 16 4.29us 268.00ns 370ns 23.13ns 3.66us 228.56ns 421ns 26.31ns noSupport notSupport -TupleDs 16 4.92us 307.44ns 291ns 18.19ns 3.38us 211.00ns 321ns 20.06ns noSupport notSupport -TupleDs 16 4.60us 287.44ns 321ns 20.06ns 3.21us 200.38ns 320ns 20.00ns noSupport notSupport -TupleDs 16 4.95us 309.31ns 351ns 21.94ns 3.84us 239.81ns 311ns 19.44ns noSupport notSupport -TupleDs 16 7.53us 470.88ns 441ns 27.56ns 3.31us 206.63ns 290ns 18.13ns noSupport notSupport -TupleDs 16 6.29us 393.25ns 381ns 23.81ns 118.76us 7422.25ns 481ns 30.06ns noSupport notSupport -TupleDs 16 4.97us 310.56ns 391ns 24.44ns 3.74us 233.56ns 310ns 19.38ns noSupport notSupport -TupleDs 16 5.06us 316.19ns 331ns 20.69ns 3.43us 214.13ns 321ns 20.06ns noSupport notSupport -TupleDs 16 5.45us 340.63ns 341ns 21.31ns 3.19us 199.13ns 300ns 18.75ns noSupport notSupport -TupleDs 32 11.05us 345.31ns 481ns 15.03ns 6.41us 200.38ns 371ns 11.59ns noSupport notSupport -TupleDs 32 9.42us 294.28ns 11.08us 346.28ns 5.59us 174.69ns 331ns 10.34ns noSupport notSupport -TupleDs 32 8.40us 262.38ns 501ns 15.66ns 8.34us 260.47ns 581ns 18.16ns noSupport notSupport -TupleDs 32 8.54us 266.75ns 611ns 19.09ns 5.52us 172.53ns 390ns 12.19ns noSupport notSupport -TupleDs 32 8.45us 263.94ns 441ns 13.78ns 5.37us 167.81ns 471ns 14.72ns noSupport notSupport -TupleDs 32 9.64us 301.19ns 481ns 15.03ns 5.48us 171.25ns 421ns 13.16ns noSupport notSupport -TupleDs 32 8.18us 255.47ns 441ns 13.78ns 5.44us 170.00ns 441ns 13.78ns noSupport notSupport -TupleDs 32 9.07us 283.31ns 511ns 15.97ns 5.67us 177.22ns 391ns 12.22ns noSupport notSupport -TupleDs 32 9.22us 288.06ns 460ns 14.38ns 82.62us 2581.84ns 2.15us 67.31ns noSupport notSupport -TupleDs 32 8.89us 277.72ns 581ns 18.16ns 5.19us 162.19ns 320ns 10.00ns noSupport notSupport -TupleDs 32 8.19us 255.78ns 541ns 16.91ns 6.65us 207.88ns 461ns 14.41ns noSupport notSupport -TupleDs 32 8.09us 252.66ns 481ns 15.03ns 6.13us 191.59ns 451ns 14.09ns noSupport notSupport -TupleDs 32 9.60us 299.94ns 441ns 13.78ns 6.22us 194.44ns 641ns 20.03ns noSupport notSupport -TupleDs 32 6.90us 215.72ns 651ns 20.34ns 5.54us 173.16ns 380ns 11.88ns noSupport notSupport -TupleDs 32 8.85us 276.44ns 541ns 16.91ns 6.23us 194.75ns 441ns 13.78ns noSupport notSupport -TupleDs 32 8.66us 270.50ns 531ns 16.59ns 5.67us 177.19ns 331ns 10.34ns noSupport notSupport -TupleDs 32 10.29us 321.56ns 541ns 16.91ns 50.15us 1567.28ns 591ns 18.47ns noSupport notSupport -TupleDs 32 8.82us 275.50ns 581ns 18.16ns 5.05us 157.78ns 351ns 10.97ns noSupport notSupport -TupleDs 32 9.05us 282.72ns 611ns 19.09ns 6.86us 214.47ns 390ns 12.19ns noSupport notSupport -TupleDs 32 8.57us 267.69ns 461ns 14.41ns 67.81us 2118.94ns 16.09us 502.66ns noSupport notSupport -TupleDs 32 10.53us 329.03ns 521ns 16.28ns 6.13us 191.63ns 461ns 14.41ns noSupport notSupport -TupleDs 32 32.70us 1021.91ns 631ns 19.72ns 6.04us 188.78ns 471ns 14.72ns noSupport notSupport -TupleDs 64 17.14us 267.84ns 731ns 11.42ns 14.24us 222.45ns 601ns 9.39ns noSupport notSupport -TupleDs 64 16.55us 258.61ns 781ns 12.20ns 13.20us 206.17ns 701ns 10.95ns noSupport notSupport -TupleDs 64 17.03us 266.13ns 812ns 12.69ns 15.70us 245.30ns 671ns 10.48ns noSupport notSupport -TupleDs 64 50.47us 788.58ns 992ns 15.50ns 14.88us 232.47ns 731ns 11.42ns noSupport notSupport -TupleDs 64 16.78us 262.20ns 701ns 10.95ns 13.13us 205.08ns 681ns 10.64ns noSupport notSupport -TupleDs 64 15.59us 243.58ns 722ns 11.28ns 12.03us 188.00ns 561ns 8.77ns noSupport notSupport -TupleDs 64 16.76us 261.89ns 661ns 10.33ns 13.41us 209.61ns 872ns 13.63ns noSupport notSupport -TupleDs 64 16.29us 254.55ns 621ns 9.70ns 10.21us 159.52ns 511ns 7.98ns noSupport notSupport -TupleDs 64 16.00us 249.98ns 571ns 8.92ns 10.33us 161.41ns 541ns 8.45ns noSupport notSupport -TupleDs 64 17.43us 272.38ns 722ns 11.28ns 13.61us 212.58ns 872ns 13.63ns noSupport notSupport -TupleDs 64 16.62us 259.70ns 741ns 11.58ns 39.09us 610.83ns 821ns 12.83ns noSupport notSupport -TupleDs 64 16.44us 256.89ns 631ns 9.86ns 36.21us 565.75ns 641ns 10.02ns noSupport notSupport -TupleDs 64 21.03us 328.59ns 841ns 13.14ns 13.62us 212.73ns 722ns 11.28ns noSupport notSupport -TupleDs 64 17.41us 272.06ns 872ns 13.63ns 13.57us 212.11ns 761ns 11.89ns noSupport notSupport -TupleDs 64 22.11us 345.48ns 921ns 14.39ns 13.13us 205.08ns 701ns 10.95ns noSupport notSupport -TupleDs 64 15.76us 246.23ns 691ns 10.80ns 38.63us 603.63ns 972ns 15.19ns noSupport notSupport -TupleDs 64 49.44us 772.48ns 751ns 11.73ns 10.03us 156.70ns 932ns 14.56ns noSupport notSupport -TupleDs 64 17.17us 268.31ns 752ns 11.75ns 10.95us 171.09ns 571ns 8.92ns noSupport notSupport -TupleDs 64 15.78us 246.56ns 651ns 10.17ns 15.16us 236.84ns 812ns 12.69ns noSupport notSupport -TupleDs 64 35.49us 554.47ns 902ns 14.09ns 13.06us 204.13ns 721ns 11.27ns noSupport notSupport -TupleDs 64 17.42us 272.22ns 712ns 11.13ns 13.48us 210.70ns 791ns 12.36ns noSupport notSupport -TupleDs 64 17.67us 276.14ns 671ns 10.48ns 13.19us 206.16ns 48.86us 763.50ns noSupport notSupport -TupleDs 128 81.12us 633.72ns 1.11us 8.69ns 27.86us 217.67ns 1.06us 8.30ns noSupport notSupport -TupleDs 128 29.05us 226.98ns 922ns 7.20ns 24.80us 193.72ns 842ns 6.58ns noSupport notSupport -TupleDs 128 59.19us 462.42ns 1.04us 8.14ns 23.42us 183.00ns 851ns 6.65ns noSupport notSupport -TupleDs 128 30.52us 238.41ns 942ns 7.36ns 24.30us 189.88ns 892ns 6.97ns noSupport notSupport -TupleDs 128 43.12us 336.88ns 1.36us 10.64ns 66.87us 522.42ns 1.53us 11.98ns noSupport notSupport -TupleDs 128 27.90us 217.98ns 922ns 7.20ns 23.95us 187.15ns 871ns 6.80ns noSupport notSupport -TupleDs 128 57.99us 453.03ns 1.05us 8.22ns 23.61us 184.48ns 891ns 6.96ns noSupport notSupport -TupleDs 128 27.84us 217.52ns 922ns 7.20ns 23.66us 184.88ns 842ns 6.58ns noSupport notSupport -TupleDs 128 39.68us 310.03ns 1.21us 9.48ns 70.00us 546.85ns 1.52us 11.90ns noSupport notSupport -TupleDs 128 28.22us 220.49ns 912ns 7.13ns 23.61us 184.48ns 911ns 7.12ns noSupport notSupport -TupleDs 128 31.61us 246.95ns 942ns 7.36ns 23.13us 180.73ns 902ns 7.05ns noSupport notSupport -TupleDs 128 27.76us 216.89ns 952ns 7.44ns 23.30us 182.05ns 902ns 7.05ns noSupport notSupport -TupleDs 128 39.64us 309.71ns 1.15us 9.01ns 73.93us 577.58ns 1.51us 11.81ns noSupport notSupport -TupleDs 128 37.25us 291.02ns 1.98us 15.49ns 24.20us 189.03ns 891ns 6.96ns noSupport notSupport -TupleDs 128 66.36us 518.47ns 1.48us 11.58ns 32.75us 255.87ns 1.00us 7.83ns noSupport notSupport -TupleDs 128 28.67us 224.01ns 922ns 7.20ns 23.38us 182.69ns 941ns 7.35ns noSupport notSupport -TupleDs 128 58.43us 456.47ns 1.44us 11.27ns 61.36us 479.38ns 1.55us 12.13ns noSupport notSupport -TupleDs 128 26.36us 205.93ns 862ns 6.73ns 23.57us 184.16ns 872ns 6.81ns noSupport notSupport -TupleDs 128 29.37us 229.48ns 922ns 7.20ns 24.11us 188.40ns 902ns 7.05ns noSupport notSupport -TupleDs 128 28.63us 223.70ns 932ns 7.28ns 24.07us 188.01ns 881ns 6.88ns noSupport notSupport -TupleDs 128 34.15us 266.83ns 902ns 7.05ns 24.07us 188.09ns 921ns 7.20ns noSupport notSupport -TupleDs 128 58.45us 456.63ns 972ns 7.59ns 23.40us 182.84ns 882ns 6.89ns noSupport notSupport -TupleDs 256 102.20us 399.22ns 2.08us 8.14ns 161.63us 631.37ns 1.70us 6.65ns noSupport notSupport -TupleDs 256 87.47us 341.69ns 1.68us 6.57ns 94.92us 370.77ns 1.74us 6.81ns noSupport notSupport -TupleDs 256 175.60us 685.95ns 2.63us 10.29ns 62.45us 243.93ns 1.69us 6.62ns noSupport notSupport -TupleDs 256 103.99us 406.22ns 4.51us 17.61ns 86.21us 336.76ns 1.78us 6.97ns noSupport notSupport -TupleDs 256 88.59us 346.07ns 2.14us 8.38ns 109.93us 429.43ns 1.70us 6.66ns noSupport notSupport -TupleDs 256 149.18us 582.73ns 2.05us 8.02ns 94.00us 367.17ns 1.70us 6.66ns noSupport notSupport -TupleDs 256 80.89us 315.98ns 1.70us 6.65ns 138.14us 539.62ns 1.76us 6.89ns noSupport notSupport -TupleDs 256 86.48us 337.82ns 1.63us 6.38ns 151.96us 593.59ns 2.18us 8.53ns noSupport notSupport -TupleDs 256 161.12us 629.38ns 6.50us 25.40ns 81.10us 316.80ns 2.07us 8.10ns noSupport notSupport -TupleDs 256 247.63us 967.31ns 2.33us 9.08ns 93.98us 367.13ns 2.36us 9.23ns noSupport notSupport -TupleDs 256 130.67us 510.44ns 2.42us 9.47ns 79.59us 310.89ns 2.37us 9.24ns noSupport notSupport -TupleDs 256 126.00us 492.17ns 2.37us 9.27ns 261.79us 1022.61ns 2.24us 8.77ns noSupport notSupport -TupleDs 256 94.00us 367.17ns 1.67us 6.54ns 56.62us 221.15ns 1.59us 6.22ns noSupport notSupport -TupleDs 256 91.96us 359.22ns 1.66us 6.50ns 54.93us 214.58ns 1.68us 6.57ns noSupport notSupport -TupleDs 256 243.71us 951.97ns 6.14us 23.99ns 211.04us 824.39ns 5.69us 22.23ns noSupport notSupport -TupleDs 256 269.51us 1052.78ns 4.45us 17.38ns 140.37us 548.32ns 4.28us 16.71ns noSupport notSupport -TupleDs 256 380.40us 1485.93ns 4.85us 18.94ns 224.43us 876.67ns 4.07us 15.89ns noSupport notSupport -TupleDs 256 407.39us 1591.36ns 4.32us 16.87ns 206.04us 804.86ns 4.07us 15.89ns noSupport notSupport -TupleDs 256 409.41us 1599.27ns 4.48us 17.49ns 218.03us 851.66ns 4.05us 15.81ns noSupport notSupport -TupleDs 256 368.02us 1437.56ns 4.43us 17.30ns 236.27us 922.93ns 4.07us 15.89ns noSupport notSupport -TupleDs 256 114.05us 445.52ns 1.65us 6.46ns 61.63us 240.76ns 1.66us 6.50ns noSupport notSupport -TupleDs 256 112.12us 437.96ns 1.67us 6.54ns 71.39us 278.88ns 1.59us 6.22ns noSupport notSupport -TupleDs 516 376.82us 730.28ns 3.15us 6.10ns 340.75us 660.36ns 3.23us 6.25ns noSupport notSupport -TupleDs 516 486.46us 942.74ns 4.69us 9.09ns 363.23us 703.93ns 4.67us 9.05ns noSupport notSupport -TupleDs 516 410.90us 796.33ns 3.17us 6.14ns 243.31us 471.54ns 3.15us 6.09ns noSupport notSupport -TupleDs 516 761.51us 1475.79ns 7.86us 15.22ns 671.79us 1301.92ns 8.31us 16.11ns noSupport notSupport -TupleDs 516 672.44us 1303.18ns 3.35us 6.48ns 256.59us 497.26ns 3.10us 6.00ns noSupport notSupport -TupleDs 516 435.38us 843.77ns 3.27us 6.33ns 274.24us 531.47ns 3.28us 6.35ns noSupport notSupport -TupleDs 516 321.29us 622.65ns 3.14us 6.08ns 245.20us 475.19ns 3.16us 6.12ns noSupport notSupport -TupleDs 516 478.99us 928.28ns 3.21us 6.21ns 240.27us 465.64ns 3.18us 6.16ns noSupport notSupport -TupleDs 516 304.99us 591.06ns 3.19us 6.17ns 238.69us 462.59ns 3.08us 5.98ns noSupport notSupport -TupleDs 516 290.71us 563.40ns 3.14us 6.08ns 279.37us 541.41ns 3.18us 6.16ns noSupport notSupport -TupleDs 516 287.27us 556.73ns 3.14us 6.08ns 269.21us 521.73ns 3.45us 6.68ns noSupport notSupport -TupleDs 516 326.09us 631.95ns 3.20us 6.19ns 240.97us 466.99ns 3.08us 5.96ns noSupport notSupport -TupleDs 516 287.58us 557.32ns 3.15us 6.09ns 242.24us 469.46ns 3.06us 5.94ns noSupport notSupport -TupleDs 516 311.55us 603.78ns 3.18us 6.16ns 239.12us 463.40ns 3.28us 6.35ns noSupport notSupport -TupleDs 516 293.18us 568.17ns 3.12us 6.04ns 263.75us 511.14ns 3.32us 6.43ns noSupport notSupport -TupleDs 516 293.86us 569.49ns 3.11us 6.02ns 268.48us 520.31ns 3.21us 6.21ns noSupport notSupport -TupleDs 516 291.82us 565.55ns 3.16us 6.12ns 241.47us 467.97ns 3.24us 6.27ns noSupport notSupport -TupleDs 516 311.20us 603.10ns 3.22us 6.23ns 239.91us 464.94ns 3.42us 6.62ns noSupport notSupport -TupleDs 516 311.78us 604.22ns 3.26us 6.31ns 238.50us 462.22ns 3.13us 6.08ns noSupport notSupport -TupleDs 516 308.05us 597.00ns 3.18us 6.16ns 243.75us 472.39ns 3.06us 5.92ns noSupport notSupport -TupleDs 516 290.37us 562.73ns 3.14us 6.08ns 262.32us 508.37ns 3.25us 6.29ns noSupport notSupport -TupleDs 516 287.99us 558.11ns 3.18us 6.16ns 262.00us 507.75ns 3.27us 6.33ns noSupport notSupport -TupleDs 1024 991.81us 968.57ns 6.11us 5.97ns 1.06ms 1037.13ns 6.10us 5.96ns noSupport notSupport -TupleDs 1024 1.23ms 1198.88ns 6.41us 6.26ns 1.12ms 1095.28ns 6.16us 6.02ns noSupport notSupport -TupleDs 1024 1.01ms 982.78ns 6.15us 6.01ns 1.05ms 1026.09ns 6.11us 5.97ns noSupport notSupport -TupleDs 1024 1.03ms 1001.15ns 6.20us 6.06ns 874.64us 854.14ns 6.14us 6.00ns noSupport notSupport -TupleDs 1024 994.75us 971.44ns 6.11us 5.97ns 1.11ms 1084.47ns 6.46us 6.31ns noSupport notSupport -TupleDs 1024 1.12ms 1096.44ns 6.33us 6.18ns 1.08ms 1056.90ns 6.22us 6.08ns noSupport notSupport -TupleDs 1024 1.13ms 1106.03ns 6.21us 6.07ns 948.49us 926.26ns 6.41us 6.26ns noSupport notSupport -TupleDs 1024 935.34us 913.42ns 6.10us 5.96ns 876.92us 856.37ns 6.35us 6.20ns noSupport notSupport -TupleDs 1024 942.27us 920.19ns 6.15us 6.01ns 884.99us 864.25ns 6.06us 5.92ns noSupport notSupport -TupleDs 1024 1.07ms 1041.55ns 6.16us 6.02ns 872.96us 852.50ns 6.07us 5.93ns noSupport notSupport -TupleDs 1024 1.01ms 982.40ns 6.10us 5.96ns 1.07ms 1047.01ns 9.01us 8.80ns noSupport notSupport -TupleDs 1024 946.82us 924.63ns 6.13us 5.99ns 1.07ms 1042.08ns 6.22us 6.08ns noSupport notSupport -TupleDs 1024 945.72us 923.56ns 6.19us 6.05ns 1.05ms 1028.33ns 6.07us 5.93ns noSupport notSupport -TupleDs 1024 966.21us 943.56ns 6.20us 6.06ns 1.72ms 1674.81ns 6.43us 6.28ns noSupport notSupport -TupleDs 1024 1.20ms 1167.31ns 6.18us 6.04ns 1.29ms 1260.19ns 14.36us 14.02ns noSupport notSupport -TupleDs 1024 1.26ms 1231.59ns 6.33us 6.18ns 1.36ms 1329.07ns 6.22us 6.08ns noSupport notSupport -TupleDs 1024 1.36ms 1332.10ns 8.51us 8.31ns 1.31ms 1276.14ns 6.40us 6.25ns noSupport notSupport -TupleDs 1024 1.03ms 1003.61ns 6.14us 6.00ns 1.17ms 1144.42ns 19.33us 18.87ns noSupport notSupport -TupleDs 1024 1.30ms 1273.76ns 6.13us 5.99ns 892.25us 871.33ns 6.09us 5.95ns noSupport notSupport -TupleDs 1024 1.21ms 1182.13ns 6.20us 6.06ns 1.13ms 1105.49ns 6.09us 5.95ns noSupport notSupport -TupleDs 1024 1.89ms 1841.62ns 8.60us 8.39ns 1.26ms 1227.75ns 6.32us 6.17ns noSupport notSupport -TupleDs 1024 985.20us 962.10ns 6.09us 5.95ns 901.72us 880.58ns 6.30us 6.15ns noSupport notSupport -TupleDs 2048 4.55ms 2222.84ns 12.26us 5.99ns 4.82ms 2352.56ns 11.92us 5.82ns noSupport notSupport -TupleDs 2048 4.46ms 2177.83ns 12.01us 5.87ns 5.10ms 2491.94ns 12.36us 6.04ns noSupport notSupport -TupleDs 2048 5.98ms 2921.48ns 20.70us 10.11ns 4.86ms 2373.54ns 12.10us 5.91ns noSupport notSupport -TupleDs 2048 4.76ms 2324.85ns 34.00us 16.60ns 4.68ms 2284.29ns 12.00us 5.86ns noSupport notSupport -TupleDs 2048 4.48ms 2188.09ns 12.07us 5.90ns 4.99ms 2438.59ns 11.85us 5.79ns noSupport notSupport -TupleDs 2048 5.00ms 2442.04ns 12.44us 6.08ns 6.28ms 3066.02ns 12.52us 6.12ns noSupport notSupport -TupleDs 2048 4.44ms 2167.77ns 12.07us 5.89ns 5.03ms 2456.22ns 12.16us 5.94ns noSupport notSupport -TupleDs 2048 4.54ms 2216.16ns 12.20us 5.96ns 4.65ms 2271.34ns 12.61us 6.16ns noSupport notSupport -TupleDs 2048 4.34ms 2118.56ns 12.00us 5.86ns 5.77ms 2817.31ns 12.93us 6.32ns noSupport notSupport -TupleDs 2048 5.09ms 2485.12ns 12.04us 5.88ns 4.63ms 2261.96ns 12.08us 5.90ns noSupport notSupport -TupleDs 2048 5.12ms 2501.03ns 12.21us 5.96ns 4.64ms 2264.34ns 11.89us 5.81ns noSupport notSupport -TupleDs 2048 4.67ms 2282.64ns 12.12us 5.92ns 5.69ms 2778.22ns 12.29us 6.00ns noSupport notSupport -TupleDs 2048 4.51ms 2203.76ns 12.04us 5.88ns 4.63ms 2258.89ns 12.13us 5.92ns noSupport notSupport -TupleDs 2048 4.80ms 2342.06ns 12.60us 6.15ns 4.69ms 2290.24ns 11.96us 5.84ns noSupport notSupport -TupleDs 2048 4.38ms 2136.98ns 12.45us 6.08ns 5.96ms 2909.89ns 11.99us 5.86ns noSupport notSupport -TupleDs 2048 5.17ms 2525.79ns 12.28us 6.00ns 4.62ms 2254.05ns 11.97us 5.85ns noSupport notSupport -TupleDs 2048 4.29ms 2092.49ns 12.04us 5.88ns 4.73ms 2310.51ns 12.13us 5.92ns noSupport notSupport -TupleDs 2048 4.31ms 2102.78ns 11.98us 5.85ns 5.12ms 2499.57ns 33.62us 16.42ns noSupport notSupport -TupleDs 2048 4.58ms 2238.31ns 12.06us 5.89ns 4.88ms 2384.75ns 12.18us 5.95ns noSupport notSupport -TupleDs 2048 4.31ms 2103.97ns 12.02us 5.87ns 4.54ms 2218.67ns 11.89us 5.81ns noSupport notSupport -TupleDs 2048 4.27ms 2085.12ns 12.06us 5.89ns 4.50ms 2197.95ns 14.63us 7.14ns noSupport notSupport -TupleDs 2048 6.66ms 3253.75ns 12.25us 5.98ns 4.69ms 2287.62ns 44.09us 21.53ns noSupport notSupport -TupleDs 4096 14.00ms 3417.95ns 24.13us 5.89ns 16.93ms 4133.06ns 24.73us 6.04ns noSupport notSupport -TupleDs 4096 16.37ms 3997.04ns 61.40us 14.99ns 16.15ms 3942.02ns 24.47us 5.97ns noSupport notSupport -TupleDs 4096 14.19ms 3465.16ns 24.88us 6.07ns 16.60ms 4053.70ns 24.40us 5.96ns noSupport notSupport -TupleDs 4096 16.46ms 4017.90ns 24.25us 5.92ns 15.23ms 3718.68ns 24.48us 5.98ns noSupport notSupport -TupleDs 4096 14.12ms 3447.80ns 24.23us 5.91ns 15.48ms 3778.93ns 24.42us 5.96ns noSupport notSupport -TupleDs 4096 15.66ms 3822.34ns 24.43us 5.96ns 15.58ms 3804.77ns 24.39us 5.95ns noSupport notSupport -TupleDs 4096 14.00ms 3417.65ns 24.32us 5.94ns 16.97ms 4143.69ns 24.62us 6.01ns noSupport notSupport -TupleDs 4096 14.13ms 3450.77ns 24.30us 5.93ns 16.69ms 4075.57ns 25.79us 6.30ns noSupport notSupport -TupleDs 4096 13.88ms 3389.03ns 24.34us 5.94ns 17.83ms 4353.55ns 24.36us 5.95ns noSupport notSupport -TupleDs 4096 14.36ms 3504.76ns 24.45us 5.97ns 15.05ms 3675.36ns 24.32us 5.94ns noSupport notSupport -TupleDs 4096 17.95ms 4381.38ns 24.43us 5.97ns 15.00ms 3662.79ns 24.34us 5.94ns noSupport notSupport -TupleDs 4096 13.97ms 3409.61ns 24.46us 5.97ns 16.69ms 4074.04ns 24.39us 5.95ns noSupport notSupport -TupleDs 4096 14.16ms 3456.34ns 24.25us 5.92ns 15.96ms 3896.84ns 35.34us 8.63ns noSupport notSupport -TupleDs 4096 14.21ms 3470.32ns 24.29us 5.93ns 16.76ms 4092.76ns 24.38us 5.95ns noSupport notSupport -TupleDs 4096 13.45ms 3283.44ns 24.27us 5.92ns 15.67ms 3824.79ns 24.46us 5.97ns noSupport notSupport -TupleDs 4096 13.61ms 3322.01ns 24.30us 5.93ns 15.54ms 3793.82ns 24.38us 5.95ns noSupport notSupport -TupleDs 4096 14.44ms 3526.32ns 24.37us 5.95ns 17.32ms 4228.58ns 33.67us 8.22ns noSupport notSupport -TupleDs 4096 13.98ms 3413.96ns 24.38us 5.95ns 16.42ms 4009.66ns 24.52us 5.99ns noSupport notSupport -TupleDs 4096 13.93ms 3401.95ns 24.27us 5.92ns 15.41ms 3762.22ns 24.57us 6.00ns noSupport notSupport -TupleDs 4096 15.35ms 3747.68ns 24.38us 5.95ns 15.43ms 3767.88ns 40.70us 9.94ns noSupport notSupport -TupleDs 4096 14.36ms 3506.89ns 24.24us 5.92ns 17.07ms 4168.27ns 53.84us 13.14ns noSupport notSupport -TupleDs 4096 15.01ms 3663.37ns 24.23us 5.91ns 16.95ms 4136.96ns 24.32us 5.94ns noSupport notSupport -TupleDs 8192 73.07ms 8919.49ns 48.23us 5.89ns 77.70ms 9485.08ns 47.96us 5.85ns noSupport notSupport -TupleDs 8192 66.20ms 8080.97ns 62.35us 7.61ns 74.47ms 9090.89ns 47.89us 5.85ns noSupport notSupport -TupleDs 8192 69.30ms 8459.66ns 48.02us 5.86ns 72.48ms 8847.74ns 47.89us 5.85ns noSupport notSupport -TupleDs 8192 71.00ms 8666.63ns 48.06us 5.87ns 75.32ms 9194.74ns 69.02us 8.43ns noSupport notSupport -TupleDs 8192 68.18ms 8322.84ns 110.86us 13.53ns 74.65ms 9112.22ns 49.80us 6.08ns noSupport notSupport -TupleDs 8192 71.90ms 8777.14ns 47.91us 5.85ns 74.67ms 9114.58ns 68.66us 8.38ns noSupport notSupport -TupleDs 8192 69.87ms 8529.59ns 48.15us 5.88ns 73.69ms 8995.03ns 48.26us 5.89ns noSupport notSupport -TupleDs 8192 71.02ms 8669.77ns 48.36us 5.90ns 76.90ms 9387.24ns 47.94us 5.85ns noSupport notSupport -TupleDs 8192 72.50ms 8850.59ns 48.21us 5.88ns 74.73ms 9122.30ns 47.93us 5.85ns noSupport notSupport -TupleDs 8192 71.48ms 8725.70ns 48.17us 5.88ns 73.89ms 9020.09ns 47.96us 5.85ns noSupport notSupport -TupleDs 8192 71.18ms 8688.60ns 48.05us 5.87ns 73.90ms 9020.78ns 84.18us 10.28ns noSupport notSupport -TupleDs 8192 70.74ms 8634.99ns 48.11us 5.87ns 74.25ms 9064.02ns 47.96us 5.85ns noSupport notSupport -TupleDs 8192 71.45ms 8721.99ns 47.98us 5.86ns 75.19ms 9178.40ns 47.92us 5.85ns noSupport notSupport -TupleDs 8192 68.55ms 8367.85ns 47.91us 5.85ns 73.47ms 8967.99ns 48.01us 5.86ns noSupport notSupport -TupleDs 8192 74.30ms 9069.64ns 48.02us 5.86ns 74.69ms 9116.91ns 47.82us 5.84ns noSupport notSupport -TupleDs 8192 68.34ms 8342.04ns 48.39us 5.91ns 74.46ms 9089.00ns 47.91us 5.85ns noSupport notSupport -TupleDs 8192 70.56ms 8613.87ns 48.12us 5.87ns 74.34ms 9074.31ns 48.08us 5.87ns noSupport notSupport -TupleDs 8192 69.90ms 8533.02ns 48.20us 5.88ns 73.97ms 9029.93ns 48.00us 5.86ns noSupport notSupport -TupleDs 8192 71.15ms 8684.98ns 47.98us 5.86ns 73.85ms 9014.71ns 47.95us 5.85ns noSupport notSupport -TupleDs 8192 71.47ms 8724.54ns 47.95us 5.85ns 74.48ms 9092.05ns 47.83us 5.84ns noSupport notSupport -TupleDs 8192 69.11ms 8436.71ns 48.08us 5.87ns 73.92ms 9022.92ns 49.71us 6.07ns noSupport notSupport -TupleDs 8192 74.51ms 9094.90ns 48.00us 5.86ns 74.00ms 9033.72ns 47.95us 5.85ns noSupport notSupport -TupleDs 16384 234.39ms 14305.73ns 95.18us 5.81ns 226.16ms 13803.82ns 114.78us 7.01ns noSupport notSupport -TupleDs 16384 235.32ms 14362.59ns 97.22us 5.93ns 234.88ms 14335.93ns 199.37us 12.17ns noSupport notSupport -TupleDs 16384 232.83ms 14210.75ns 95.10us 5.80ns 224.50ms 13702.44ns 95.83us 5.85ns noSupport notSupport -TupleDs 16384 232.99ms 14220.84ns 95.24us 5.81ns 250.24ms 15273.49ns 167.64us 10.23ns noSupport notSupport -TupleDs 16384 238.26ms 14542.46ns 95.18us 5.81ns 225.25ms 13748.23ns 112.98us 6.90ns noSupport notSupport -TupleDs 16384 232.57ms 14195.17ns 95.90us 5.85ns 225.33ms 13753.24ns 95.27us 5.81ns noSupport notSupport -TupleDs 16384 236.08ms 14409.43ns 107.80us 6.58ns 223.52ms 13642.43ns 95.68us 5.84ns noSupport notSupport -TupleDs 16384 231.12ms 14106.37ns 95.16us 5.81ns 225.96ms 13791.32ns 96.01us 5.86ns noSupport notSupport -TupleDs 16384 233.92ms 14277.12ns 304.53us 18.59ns 228.68ms 13957.31ns 98.89us 6.04ns noSupport notSupport -TupleDs 16384 232.52ms 14191.76ns 95.09us 5.80ns 225.11ms 13739.92ns 96.05us 5.86ns noSupport notSupport -TupleDs 16384 233.45ms 14248.73ns 117.36us 7.16ns 228.25ms 13931.43ns 95.59us 5.83ns noSupport notSupport -TupleDs 16384 233.02ms 14222.64ns 95.36us 5.82ns 226.31ms 13812.80ns 95.43us 5.82ns noSupport notSupport -TupleDs 16384 232.63ms 14198.64ns 95.31us 5.82ns 230.40ms 14062.51ns 121.10us 7.39ns noSupport notSupport -TupleDs 16384 234.25ms 14297.41ns 105.93us 6.47ns 225.82ms 13783.25ns 95.33us 5.82ns noSupport notSupport -TupleDs 16384 232.95ms 14218.09ns 95.48us 5.83ns 226.82ms 13843.86ns 95.57us 5.83ns noSupport notSupport -TupleDs 16384 246.43ms 15040.64ns 119.52us 7.30ns 242.27ms 14786.90ns 167.55us 10.23ns noSupport notSupport -TupleDs 16384 233.09ms 14226.80ns 95.22us 5.81ns 225.04ms 13735.26ns 95.59us 5.83ns noSupport notSupport -TupleDs 16384 232.61ms 14197.66ns 95.13us 5.81ns 230.48ms 14067.09ns 95.55us 5.83ns noSupport notSupport -TupleDs 16384 238.89ms 14580.95ns 95.13us 5.81ns 253.59ms 15477.78ns 95.30us 5.82ns noSupport notSupport -TupleDs 16384 252.94ms 15438.46ns 142.43us 8.69ns 254.62ms 15541.02ns 95.40us 5.82ns noSupport notSupport -TupleDs 16384 236.95ms 14462.03ns 95.07us 5.80ns 226.79ms 13842.15ns 118.68us 7.24ns noSupport notSupport -TupleDs 16384 235.44ms 14369.94ns 95.15us 5.81ns 227.60ms 13891.51ns 95.81us 5.85ns noSupport notSupport -TupleDs 32768 1.22s 37149.89ns 191.08us 5.83ns 1.31s 40019.72ns 190.59us 5.82ns noSupport notSupport -TupleDs 32768 1.24s 37783.63ns 270.19us 8.25ns 1.33s 40557.98ns 198.23us 6.05ns noSupport notSupport -TupleDs 32768 1.33s 40473.25ns 242.07us 7.39ns 1.33s 40708.83ns 204.72us 6.25ns noSupport notSupport -TupleDs 32768 1.21s 37060.00ns 227.52us 6.94ns 1.33s 40481.31ns 230.45us 7.03ns noSupport notSupport -TupleDs 32768 1.24s 37896.47ns 191.02us 5.83ns 1.32s 40262.40ns 224.64us 6.86ns noSupport notSupport -TupleDs 32768 1.23s 37629.96ns 191.02us 5.83ns 1.33s 40539.02ns 191.00us 5.83ns noSupport notSupport -TupleDs 32768 1.22s 37323.46ns 236.82us 7.23ns 1.33s 40522.34ns 191.23us 5.84ns noSupport notSupport -TupleDs 32768 1.25s 38121.05ns 241.94us 7.38ns 1.31s 39864.90ns 228.59us 6.98ns noSupport notSupport -TupleDs 32768 1.23s 37680.18ns 193.50us 5.91ns 1.31s 39981.59ns 239.07us 7.30ns noSupport notSupport -TupleDs 32768 1.27s 38828.84ns 190.98us 5.83ns 1.33s 40569.19ns 190.22us 5.80ns noSupport notSupport -TupleDs 32768 1.25s 38131.43ns 191.04us 5.83ns 1.31s 40088.83ns 191.22us 5.84ns noSupport notSupport -TupleDs 32768 1.25s 38078.47ns 224.49us 6.85ns 1.33s 40632.21ns 235.80us 7.20ns noSupport notSupport -TupleDs 32768 1.24s 37941.99ns 227.05us 6.93ns 1.34s 40802.57ns 190.97us 5.83ns noSupport notSupport -TupleDs 32768 1.22s 37339.83ns 218.08us 6.66ns 1.34s 40747.16ns 190.98us 5.83ns noSupport notSupport -TupleDs 32768 1.25s 38116.84ns 225.26us 6.87ns 1.39s 42559.64ns 224.70us 6.86ns noSupport notSupport -TupleDs 32768 1.22s 37308.17ns 190.97us 5.83ns 1.38s 41975.88ns 191.43us 5.84ns noSupport notSupport -TupleDs 32768 1.45s 44304.73ns 191.33us 5.84ns 1.45s 44326.52ns 191.37us 5.84ns noSupport notSupport -TupleDs 32768 1.22s 37318.78ns 257.14us 7.85ns 1.34s 40953.22ns 198.01us 6.04ns noSupport notSupport -TupleDs 32768 1.22s 37169.26ns 203.97us 6.22ns 1.30s 39815.35ns 301.08us 9.19ns noSupport notSupport -TupleDs 32768 1.23s 37413.88ns 202.72us 6.19ns 1.32s 40337.00ns 191.21us 5.84ns noSupport notSupport -TupleDs 32768 1.23s 37648.58ns 191.42us 5.84ns 1.36s 41492.95ns 213.80us 6.52ns noSupport notSupport -TupleDs 32768 1.20s 36714.90ns 256.60us 7.83ns 1.35s 41128.38ns 190.41us 5.81ns noSupport notSupport -TupleDs 65536 5.75s 87665.79ns 408.87us 6.24ns 5.90s 90092.04ns 390.42us 5.96ns noSupport notSupport -TupleDs 65536 5.57s 85020.75ns 378.79us 5.78ns 5.65s 86168.67ns 422.91us 6.45ns noSupport notSupport -TupleDs 65536 5.52s 84191.15ns 451.33us 6.89ns 5.67s 86546.67ns 380.36us 5.80ns noSupport notSupport -TupleDs 65536 5.89s 89883.87ns 396.54us 6.05ns 5.72s 87284.49ns 449.08us 6.85ns noSupport notSupport -TupleDs 65536 5.63s 85845.70ns 379.46us 5.79ns 5.59s 85240.74ns 416.33us 6.35ns noSupport notSupport -TupleDs 65536 5.51s 84146.74ns 398.54us 6.08ns 5.62s 85754.15ns 411.75us 6.28ns noSupport notSupport -TupleDs 65536 5.54s 84548.57ns 400.13us 6.11ns 5.55s 84657.80ns 444.33us 6.78ns noSupport notSupport -TupleDs 65536 5.52s 84246.21ns 458.48us 7.00ns 5.61s 85660.35ns 400.93us 6.12ns noSupport notSupport -TupleDs 65536 5.64s 86124.84ns 394.48us 6.02ns 5.58s 85175.12ns 391.94us 5.98ns noSupport notSupport -TupleDs 65536 5.50s 83927.27ns 379.57us 5.79ns 5.65s 86211.29ns 598.19us 9.13ns noSupport notSupport -TupleDs 65536 5.49s 83773.31ns 456.22us 6.96ns 5.66s 86381.75ns 430.34us 6.57ns noSupport notSupport -TupleDs 65536 5.58s 85214.36ns 456.57us 6.97ns 5.79s 88419.98ns 400.85us 6.12ns noSupport notSupport -TupleDs 65536 5.44s 83080.37ns 407.86us 6.22ns 5.83s 88975.74ns 445.79us 6.80ns noSupport notSupport -TupleDs 65536 5.71s 87089.97ns 378.70us 5.78ns 6.26s 95555.61ns 429.04us 6.55ns noSupport notSupport -TupleDs 65536 5.57s 85019.37ns 397.30us 6.06ns 5.84s 89132.39ns 455.68us 6.95ns noSupport notSupport -TupleDs 65536 5.69s 86838.44ns 398.30us 6.08ns 5.74s 87591.19ns 379.49us 5.79ns noSupport notSupport -TupleDs 65536 5.94s 90642.38ns 525.18us 8.01ns 5.99s 91350.11ns 440.89us 6.73ns noSupport notSupport -TupleDs 65536 5.62s 85825.01ns 406.89us 6.21ns 5.83s 88997.83ns 388.63us 5.93ns noSupport notSupport -TupleDs 65536 5.48s 83685.73ns 597.33us 9.11ns 5.62s 85731.46ns 438.87us 6.70ns noSupport notSupport -TupleDs 65536 5.57s 84938.29ns 379.15us 5.79ns 5.71s 87179.70ns 412.67us 6.30ns noSupport notSupport -TupleDs 65536 5.70s 86996.22ns 401.89us 6.13ns 5.69s 86873.16ns 400.51us 6.11ns noSupport notSupport -TupleDs 65536 5.58s 85114.21ns 378.25us 5.77ns 5.68s 86593.63ns 409.30us 6.25ns noSupport notSupport -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 131072 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip skip skip skip skip skip - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -ListsDs 8 1.39us 174.00ns 2.34us 291.88ns 7.34us 918.00ns 220ns 27.50ns 2.05us 256.75ns -ListsDs 8 981ns 122.63ns 1.54us 192.88ns 4.37us 546.00ns 191ns 23.88ns 1.71us 214.13ns -ListsDs 8 882ns 110.25ns 1.41us 176.50ns 3.79us 473.38ns 191ns 23.88ns 1.61us 201.63ns -ListsDs 8 892ns 111.50ns 1.29us 161.63ns 3.63us 453.25ns 191ns 23.88ns 1.58us 197.88ns -ListsDs 8 1.21us 151.50ns 1.88us 235.38ns 5.66us 707.63ns 220ns 27.50ns 2.14us 268.00ns -ListsDs 8 972ns 121.50ns 1.55us 194.13ns 4.90us 612.38ns 200ns 25.00ns 1.65us 206.63ns -ListsDs 8 1.23us 154.00ns 2.05us 256.75ns 5.13us 641.25ns 240ns 30.00ns 2.35us 293.13ns -ListsDs 8 1.17us 146.50ns 1.82us 227.88ns 4.81us 601.13ns 231ns 28.88ns 2.29us 286.75ns -ListsDs 8 1.06us 132.75ns 1.68us 210.50ns 4.51us 563.50ns 230ns 28.75ns 2.27us 283.13ns -ListsDs 8 1.15us 144.00ns 1.90us 238.00ns 4.73us 591.13ns 230ns 28.75ns 2.30us 288.00ns -ListsDs 8 13.86us 1732.50ns 1.81us 226.63ns 5.23us 653.75ns 241ns 30.13ns 2.26us 283.00ns -ListsDs 8 1.22us 152.75ns 1.81us 226.63ns 5.06us 632.50ns 220ns 27.50ns 2.29us 286.75ns -ListsDs 8 1.00us 125.25ns 1.78us 222.88ns 4.73us 591.13ns 190ns 23.75ns 2.03us 254.25ns -ListsDs 8 1.11us 139.00ns 1.83us 229.25ns 4.86us 607.38ns 220ns 27.50ns 2.24us 280.50ns -ListsDs 8 1.16us 145.25ns 1.67us 209.13ns 4.75us 593.63ns 211ns 26.38ns 2.05us 256.75ns -ListsDs 8 1.03us 129.00ns 1.75us 219.13ns 4.67us 583.63ns 210ns 26.25ns 2.20us 275.50ns -ListsDs 8 1.15us 144.00ns 1.89us 236.63ns 4.84us 604.88ns 221ns 27.63ns 2.19us 274.25ns -ListsDs 8 1.35us 169.00ns 1.74us 217.88ns 4.84us 604.88ns 191ns 23.88ns 2.01us 251.63ns -ListsDs 8 3.66us 457.13ns 2.21us 276.75ns 6.75us 844.13ns 220ns 27.50ns 2.65us 331.88ns -ListsDs 8 1.16us 145.25ns 2.01us 251.75ns 5.52us 690.00ns 231ns 28.88ns 2.27us 284.25ns -ListsDs 8 1.22us 152.75ns 1.84us 230.38ns 4.55us 568.63ns 220ns 27.50ns 2.16us 270.50ns -ListsDs 8 931ns 116.38ns 1.30us 162.88ns 3.90us 487.13ns 290ns 36.25ns 2.04us 255.50ns -ListsDs 16 1.70us 106.50ns 3.96us 247.31ns 15.08us 942.38ns 230ns 14.38ns 5.64us 352.56ns -ListsDs 16 1.36us 85.19ns 2.62us 163.44ns 11.79us 737.00ns 200ns 12.50ns 5.35us 334.38ns -ListsDs 16 1.71us 107.06ns 3.60us 224.81ns 13.11us 819.06ns 210ns 13.13ns 5.29us 330.63ns -ListsDs 16 1.33us 83.31ns 2.52us 157.81ns 10.52us 657.44ns 201ns 12.56ns 5.15us 321.81ns -ListsDs 16 1.35us 84.50ns 2.50us 155.94ns 10.39us 649.31ns 211ns 13.19ns 5.12us 319.94ns -ListsDs 16 1.72us 107.69ns 4.17us 260.50ns 15.86us 991.19ns 301ns 18.81ns 7.52us 470.25ns -ListsDs 16 1.77us 110.88ns 4.00us 249.81ns 14.67us 916.69ns 261ns 16.31ns 7.35us 459.56ns -ListsDs 16 1.79us 112.06ns 3.79us 236.69ns 14.13us 882.88ns 221ns 13.81ns 7.53us 470.88ns -ListsDs 16 1.65us 103.31ns 3.93us 245.50ns 13.88us 867.25ns 230ns 14.38ns 7.54us 471.50ns -ListsDs 16 1.70us 106.44ns 4.08us 254.88ns 14.13us 882.88ns 260ns 16.25ns 7.63us 476.56ns -ListsDs 16 2.67us 167.19ns 3.98us 248.56ns 13.91us 869.13ns 471ns 29.44ns 7.13us 445.81ns -ListsDs 16 1.54us 96.44ns 3.68us 229.81ns 12.50us 781.44ns 220ns 13.75ns 4.97us 310.63ns -ListsDs 16 1.45us 90.81ns 3.57us 222.88ns 11.43us 714.50ns 200ns 12.50ns 4.94us 308.69ns -ListsDs 16 1.74us 108.94ns 4.15us 259.25ns 15.63us 976.81ns 290ns 18.13ns 7.59us 474.63ns -ListsDs 16 1.80us 112.69ns 3.72us 232.31ns 13.94us 871.00ns 261ns 16.31ns 7.45us 465.81ns -ListsDs 16 1.69us 105.81ns 3.83us 239.19ns 13.73us 858.44ns 251ns 15.69ns 7.46us 466.50ns -ListsDs 16 1.29us 80.75ns 2.50us 156.56ns 9.65us 603.00ns 201ns 12.56ns 4.88us 304.94ns -ListsDs 16 1.98us 123.94ns 4.53us 283.06ns 16.75us 1046.94ns 230ns 14.38ns 5.91us 369.44ns -ListsDs 16 1.76us 110.25ns 3.62us 226.00ns 13.69us 855.38ns 250ns 15.63ns 5.46us 341.25ns -ListsDs 16 1.58us 98.94ns 3.69us 230.38ns 14.44us 902.31ns 231ns 14.44ns 5.35us 334.38ns -ListsDs 16 1.62us 101.44ns 3.97us 248.00ns 11.24us 702.56ns 190ns 11.88ns 5.11us 319.31ns -ListsDs 16 1.73us 108.31ns 3.61us 225.44ns 12.12us 757.63ns 200ns 12.50ns 5.11us 319.38ns -ListsDs 32 7.61us 237.94ns 8.29us 258.94ns 25.50us 796.78ns 251ns 7.84ns 16.46us 514.38ns -ListsDs 32 5.78us 180.63ns 6.67us 208.53ns 118.50us 3703.13ns 331ns 10.34ns 26.92us 841.25ns -ListsDs 32 7.98us 249.50ns 8.85us 276.47ns 24.02us 750.78ns 250ns 7.81ns 15.96us 498.75ns -ListsDs 32 4.90us 153.09ns 6.61us 206.66ns 22.29us 696.59ns 251ns 7.84ns 15.86us 495.59ns -ListsDs 32 5.04us 157.50ns 6.67us 208.50ns 22.38us 699.44ns 240ns 7.50ns 15.86us 495.63ns -ListsDs 32 6.48us 202.56ns 10.46us 326.88ns 22.46us 701.94ns 250ns 7.81ns 15.78us 493.13ns -ListsDs 32 5.07us 158.44ns 6.90us 215.72ns 22.49us 702.88ns 240ns 7.50ns 15.71us 490.91ns -ListsDs 32 6.50us 203.19ns 10.79us 337.19ns 30.53us 953.97ns 280ns 8.75ns 15.66us 489.38ns -ListsDs 32 8.04us 251.41ns 35.27us 1102.03ns 37.01us 1156.53ns 371ns 11.59ns 16.93us 529.13ns -ListsDs 32 7.79us 243.28ns 7.98us 249.50ns 66.52us 2078.88ns 411ns 12.84ns 64.69us 2021.59ns -ListsDs 32 8.55us 267.06ns 11.97us 374.13ns 48.82us 1525.66ns 381ns 11.91ns 26.14us 816.81ns -ListsDs 32 8.25us 257.69ns 21.50us 671.88ns 37.04us 1157.47ns 361ns 11.28ns 25.03us 782.06ns -ListsDs 32 7.75us 242.34ns 22.16us 692.53ns 36.70us 1146.81ns 361ns 11.28ns 25.39us 793.34ns -ListsDs 32 5.47us 170.97ns 6.87us 214.75ns 23.29us 727.94ns 250ns 7.81ns 15.86us 495.63ns -ListsDs 32 5.89us 184.09ns 13.60us 424.88ns 38.15us 1192.22ns 421ns 13.16ns 25.40us 793.66ns -ListsDs 32 7.16us 223.84ns 11.35us 354.72ns 35.18us 1099.25ns 350ns 10.94ns 22.31us 697.25ns -ListsDs 32 6.54us 204.47ns 7.04us 220.09ns 23.10us 721.97ns 260ns 8.13ns 15.79us 493.44ns -ListsDs 32 5.46us 170.63ns 6.96us 217.59ns 22.97us 717.91ns 260ns 8.13ns 15.77us 492.81ns -ListsDs 32 32.78us 1024.25ns 12.13us 379.13ns 32.07us 1002.19ns 300ns 9.38ns 15.83us 494.69ns -ListsDs 32 7.70us 240.47ns 10.69us 334.06ns 25.04us 782.38ns 291ns 9.09ns 15.88us 496.22ns -ListsDs 32 6.54us 204.44ns 8.86us 276.75ns 22.46us 701.94ns 251ns 7.84ns 15.66us 489.34ns -ListsDs 32 6.37us 199.13ns 8.38us 261.75ns 22.39us 699.75ns 260ns 8.13ns 15.60us 487.47ns -ListsDs 64 15.49us 242.00ns 21.64us 338.14ns 86.73us 1355.17ns 511ns 7.98ns 54.86us 857.22ns -ListsDs 64 12.04us 188.17ns 21.50us 335.94ns 64.12us 1001.86ns 341ns 5.33ns 54.10us 845.31ns -ListsDs 64 11.82us 184.72ns 21.51us 336.09ns 63.39us 990.44ns 331ns 5.17ns 53.73us 839.53ns -ListsDs 64 11.45us 178.94ns 21.70us 339.06ns 138.85us 2169.50ns 491ns 7.67ns 57.00us 890.58ns -ListsDs 64 13.41us 209.61ns 22.06us 344.70ns 65.16us 1018.14ns 351ns 5.48ns 53.99us 843.59ns -ListsDs 64 16.42us 256.58ns 21.43us 334.84ns 68.82us 1075.28ns 381ns 5.95ns 56.11us 876.78ns -ListsDs 64 24.32us 380.08ns 23.91us 373.67ns 64.10us 1001.55ns 341ns 5.33ns 58.28us 910.59ns -ListsDs 64 11.63us 181.73ns 21.63us 337.98ns 68.50us 1070.27ns 361ns 5.64ns 56.38us 881.02ns -ListsDs 64 11.39us 177.98ns 21.68us 338.75ns 63.05us 985.13ns 340ns 5.31ns 53.67us 838.59ns -ListsDs 64 11.58us 180.97ns 36.47us 569.81ns 64.96us 1015.02ns 360ns 5.63ns 52.80us 824.98ns -ListsDs 64 11.46us 179.08ns 21.23us 331.72ns 63.43us 991.06ns 350ns 5.47ns 53.39us 834.22ns -ListsDs 64 11.43us 178.61ns 21.76us 340.00ns 62.81us 981.36ns 411ns 6.42ns 53.30us 832.80ns -ListsDs 64 11.20us 175.02ns 21.61us 337.67ns 87.53us 1367.70ns 390ns 6.09ns 53.45us 835.16ns -ListsDs 64 11.52us 180.02ns 21.85us 341.42ns 62.78us 980.89ns 370ns 5.78ns 53.24us 831.88ns -ListsDs 64 11.27us 176.11ns 21.49us 335.78ns 63.55us 992.94ns 341ns 5.33ns 53.01us 828.27ns -ListsDs 64 11.82us 184.72ns 21.61us 337.66ns 76.24us 1191.28ns 351ns 5.48ns 53.52us 836.23ns -ListsDs 64 11.28us 176.27ns 21.66us 338.45ns 62.81us 981.36ns 340ns 5.31ns 53.26us 832.17ns -ListsDs 64 11.26us 175.95ns 21.38us 334.06ns 62.59us 977.92ns 340ns 5.31ns 52.79us 824.83ns -ListsDs 64 11.19us 174.86ns 21.53us 336.41ns 100.19us 1565.50ns 461ns 7.20ns 91.93us 1436.42ns -ListsDs 64 17.03us 266.13ns 38.62us 603.45ns 99.96us 1561.83ns 410ns 6.41ns 88.92us 1389.31ns -ListsDs 64 15.72us 245.63ns 37.47us 585.45ns 157.23us 2456.77ns 471ns 7.36ns 85.57us 1337.02ns -ListsDs 64 14.94us 233.41ns 22.35us 349.23ns 66.50us 1039.13ns 361ns 5.64ns 93.52us 1461.31ns -ListsDs 128 22.05us 172.27ns 80.32us 627.49ns 307.57us 2402.91ns 671ns 5.24ns 217.97us 1702.86ns -ListsDs 128 21.31us 166.48ns 105.44us 823.72ns 248.19us 1939.00ns 662ns 5.17ns 205.90us 1608.62ns -ListsDs 128 21.55us 168.36ns 159.06us 1242.63ns 217.59us 1699.88ns 661ns 5.16ns 194.94us 1522.99ns -ListsDs 128 20.85us 162.88ns 89.17us 696.61ns 211.16us 1649.72ns 641ns 5.01ns 197.31us 1541.46ns -ListsDs 128 20.75us 162.10ns 80.94us 632.34ns 285.65us 2231.66ns 712ns 5.56ns 195.62us 1528.31ns -ListsDs 128 20.20us 157.79ns 77.92us 608.72ns 289.54us 2262.06ns 671ns 5.24ns 197.24us 1540.92ns -ListsDs 128 21.26us 166.09ns 77.16us 602.84ns 235.13us 1836.94ns 691ns 5.40ns 206.25us 1611.36ns -ListsDs 128 20.13us 157.24ns 77.72us 607.23ns 228.49us 1785.05ns 691ns 5.40ns 196.83us 1537.71ns -ListsDs 128 20.46us 159.83ns 76.90us 600.80ns 228.93us 1788.49ns 14.83us 115.84ns 212.04us 1656.60ns -ListsDs 128 20.24us 158.10ns 78.36us 612.16ns 208.85us 1631.63ns 652ns 5.09ns 248.39us 1940.56ns -ListsDs 128 20.92us 163.43ns 86.88us 678.77ns 241.15us 1883.98ns 681ns 5.32ns 260.58us 2035.78ns -ListsDs 128 29.14us 227.62ns 86.44us 675.32ns 230.39us 1799.91ns 661ns 5.16ns 256.75us 2005.84ns -ListsDs 128 26.08us 203.74ns 87.51us 683.70ns 251.61us 1965.70ns 951ns 7.43ns 221.52us 1730.65ns -ListsDs 128 25.23us 197.09ns 86.38us 674.85ns 292.19us 2282.77ns 852ns 6.66ns 295.07us 2305.23ns -ListsDs 128 31.03us 242.41ns 86.43us 675.24ns 290.69us 2271.02ns 932ns 7.28ns 232.89us 1819.48ns -ListsDs 128 20.31us 158.66ns 109.10us 852.37ns 262.20us 2048.42ns 671ns 5.24ns 222.13us 1735.42ns -ListsDs 128 20.05us 156.62ns 77.83us 608.01ns 273.30us 2135.15ns 772ns 6.03ns 195.69us 1528.86ns -ListsDs 128 21.61us 168.83ns 76.95us 601.20ns 231.21us 1806.33ns 672ns 5.25ns 196.94us 1538.56ns -ListsDs 128 20.01us 156.30ns 77.66us 606.68ns 227.46us 1777.06ns 641ns 5.01ns 196.56us 1535.59ns -ListsDs 128 19.78us 154.51ns 78.11us 610.27ns 210.17us 1641.97ns 601ns 4.70ns 219.27us 1713.03ns -ListsDs 128 20.98us 163.91ns 77.39us 604.64ns 209.71us 1638.36ns 621ns 4.85ns 216.30us 1689.87ns -ListsDs 128 19.62us 153.25ns 76.94us 601.12ns 208.92us 1632.19ns 631ns 4.93ns 195.99us 1531.13ns -ListsDs 256 30.01us 117.21ns 298.06us 1164.32ns 806.10us 3148.83ns 1.41us 5.52ns 755.43us 2950.89ns -ListsDs 256 48.12us 187.97ns 314.92us 1230.14ns 800.60us 3127.35ns 1.26us 4.93ns 763.87us 2983.88ns -ListsDs 256 36.03us 140.73ns 347.81us 1358.63ns 794.88us 3105.00ns 1.26us 4.93ns 752.55us 2939.65ns -ListsDs 256 40.76us 159.20ns 301.11us 1176.21ns 813.68us 3178.46ns 1.30us 5.09ns 797.84us 3116.55ns -ListsDs 256 36.29us 141.75ns 303.60us 1185.92ns 779.94us 3046.65ns 1.14us 4.46ns 779.09us 3043.32ns -ListsDs 256 67.14us 262.26ns 352.15us 1375.61ns 804.06us 3140.85ns 1.15us 4.50ns 773.40us 3021.10ns -ListsDs 256 31.66us 123.67ns 322.77us 1260.83ns 776.26us 3032.29ns 1.16us 4.54ns 785.35us 3067.78ns -ListsDs 256 30.45us 118.93ns 298.94us 1167.72ns 784.82us 3065.71ns 1.15us 4.50ns 789.55us 3084.18ns -ListsDs 256 35.35us 138.07ns 326.21us 1274.25ns 787.40us 3075.77ns 1.14us 4.46ns 777.63us 3037.61ns -ListsDs 256 30.55us 119.32ns 296.57us 1158.49ns 787.85us 3077.53ns 1.14us 4.46ns 753.43us 2943.10ns -ListsDs 256 42.51us 166.05ns 364.09us 1422.22ns 816.73us 3190.36ns 1.20us 4.70ns 978.72us 3823.14ns -ListsDs 256 55.51us 216.85ns 492.31us 1923.07ns 878.57us 3431.90ns 1.36us 5.32ns 869.19us 3395.27ns -ListsDs 256 43.98us 171.80ns 467.94us 1827.91ns 1.09ms 4245.33ns 1.55us 6.07ns 997.08us 3894.83ns -ListsDs 256 41.50us 162.10ns 345.26us 1348.68ns 848.04us 3312.66ns 1.49us 5.83ns 782.42us 3056.32ns -ListsDs 256 30.89us 120.66ns 348.63us 1361.83ns 807.40us 3153.92ns 1.42us 5.55ns 748.22us 2922.75ns -ListsDs 256 30.31us 118.38ns 322.61us 1260.20ns 815.23us 3184.49ns 1.32us 5.16ns 752.02us 2937.58ns -ListsDs 256 30.71us 119.95ns 350.46us 1368.98ns 818.66us 3197.91ns 1.47us 5.75ns 836.64us 3268.12ns -ListsDs 256 45.80us 178.93ns 296.51us 1158.25ns 798.71us 3119.95ns 1.50us 5.87ns 770.45us 3009.55ns -ListsDs 256 41.92us 163.74ns 298.19us 1164.82ns 803.69us 3139.42ns 1.61us 6.30ns 780.26us 3047.90ns -ListsDs 256 31.06us 121.32ns 297.24us 1161.11ns 785.31us 3067.63ns 1.27us 4.97ns 843.99us 3296.84ns -ListsDs 256 31.93us 124.73ns 313.84us 1225.95ns 822.73us 3213.80ns 1.46us 5.71ns 837.76us 3272.50ns -ListsDs 256 31.79us 124.18ns 304.98us 1191.32ns 888.69us 3471.43ns 1.45us 5.67ns 807.00us 3152.36ns -ListsDs 516 72.25us 140.03ns 1.27ms 2468.82ns 3.38ms 6550.28ns 3.51us 6.79ns 4.62ms 8944.89ns -ListsDs 516 137.47us 266.41ns 1.38ms 2684.07ns 3.27ms 6332.61ns 18.32us 35.51ns 3.22ms 6241.33ns -ListsDs 516 84.88us 164.49ns 1.26ms 2442.36ns 3.23ms 6269.16ns 2.65us 5.13ns 3.32ms 6439.02ns -ListsDs 516 67.75us 131.29ns 1.27ms 2465.83ns 3.35ms 6483.03ns 3.84us 7.44ns 3.62ms 7012.73ns -ListsDs 516 82.51us 159.91ns 1.25ms 2413.68ns 3.66ms 7087.76ns 3.47us 6.72ns 3.36ms 6518.77ns -ListsDs 516 67.90us 131.58ns 1.29ms 2498.04ns 3.26ms 6308.82ns 3.06us 5.92ns 3.23ms 6263.99ns -ListsDs 516 78.13us 151.41ns 1.26ms 2433.06ns 3.30ms 6388.20ns 2.54us 4.93ns 3.27ms 6342.30ns -ListsDs 516 67.17us 130.16ns 1.56ms 3019.48ns 3.29ms 6377.27ns 2.38us 4.62ns 3.25ms 6291.15ns -ListsDs 516 81.01us 157.00ns 1.22ms 2370.58ns 3.67ms 7103.02ns 3.65us 7.07ns 3.28ms 6349.89ns -ListsDs 516 75.38us 146.09ns 1.61ms 3124.17ns 3.27ms 6331.06ns 2.69us 5.22ns 3.37ms 6526.79ns -ListsDs 516 81.32us 157.60ns 1.25ms 2431.58ns 3.29ms 6375.85ns 2.69us 5.20ns 3.22ms 6242.36ns -ListsDs 516 70.39us 136.42ns 1.25ms 2422.44ns 3.42ms 6631.57ns 2.46us 4.78ns 3.18ms 6167.92ns -ListsDs 516 80.71us 156.41ns 1.31ms 2540.70ns 3.75ms 7262.05ns 3.40us 6.58ns 3.28ms 6353.75ns -ListsDs 516 72.77us 141.02ns 1.36ms 2628.62ns 3.25ms 6306.07ns 2.42us 4.70ns 3.22ms 6239.34ns -ListsDs 516 78.06us 151.29ns 1.26ms 2449.60ns 3.30ms 6402.35ns 2.60us 5.05ns 3.17ms 6136.62ns -ListsDs 516 69.53us 134.75ns 1.25ms 2418.67ns 3.31ms 6405.69ns 3.81us 7.38ns 3.37ms 6539.19ns -ListsDs 516 104.38us 202.28ns 1.59ms 3072.63ns 4.07ms 7878.74ns 2.92us 5.65ns 3.19ms 6176.06ns -ListsDs 516 69.27us 134.24ns 1.24ms 2398.30ns 3.23ms 6255.10ns 2.47us 4.79ns 3.24ms 6277.80ns -ListsDs 516 90.88us 176.12ns 1.23ms 2375.10ns 3.29ms 6369.04ns 2.88us 5.59ns 3.17ms 6144.97ns -ListsDs 516 69.83us 135.33ns 1.24ms 2411.25ns 3.82ms 7402.06ns 2.94us 5.69ns 3.32ms 6434.99ns -ListsDs 516 94.74us 183.60ns 1.48ms 2863.06ns 3.57ms 6915.21ns 2.50us 4.85ns 3.19ms 6177.98ns -ListsDs 516 71.71us 138.98ns 1.32ms 2566.71ns 3.29ms 6366.76ns 3.31us 6.41ns 3.17ms 6149.59ns -ListsDs 1024 163.11us 159.29ns 5.30ms 5178.98ns 13.73ms 13410.84ns 4.79us 4.68ns 12.25ms 11958.58ns -ListsDs 1024 136.84us 133.64ns 4.92ms 4808.96ns 12.66ms 12365.42ns 4.51us 4.40ns 12.79ms 12488.25ns -ListsDs 1024 140.91us 137.61ns 5.19ms 5065.53ns 13.94ms 13615.45ns 4.15us 4.05ns 12.78ms 12478.56ns -ListsDs 1024 142.18us 138.84ns 4.91ms 4793.78ns 12.83ms 12532.08ns 3.83us 3.74ns 12.75ms 12455.62ns -ListsDs 1024 124.58us 121.66ns 5.43ms 5302.97ns 12.38ms 12092.44ns 5.44us 5.31ns 12.83ms 12533.64ns -ListsDs 1024 205.77us 200.95ns 5.08ms 4960.20ns 12.33ms 12044.03ns 3.70us 3.61ns 13.93ms 13601.40ns -ListsDs 1024 126.60us 123.63ns 4.88ms 4766.88ns 12.27ms 11986.23ns 3.80us 3.71ns 12.61ms 12313.20ns -ListsDs 1024 148.94us 145.45ns 5.07ms 4953.15ns 12.89ms 12583.36ns 3.85us 3.76ns 12.55ms 12252.47ns -ListsDs 1024 138.12us 134.88ns 5.12ms 5001.14ns 12.79ms 12486.79ns 4.22us 4.12ns 12.58ms 12289.47ns -ListsDs 1024 124.51us 121.59ns 5.78ms 5645.03ns 13.24ms 12930.79ns 4.11us 4.01ns 13.27ms 12954.20ns -ListsDs 1024 138.56us 135.31ns 5.28ms 5156.08ns 13.55ms 13231.34ns 4.51us 4.40ns 14.10ms 13772.13ns -ListsDs 1024 157.99us 154.28ns 5.41ms 5279.07ns 13.74ms 13418.88ns 3.69us 3.60ns 13.01ms 12707.91ns -ListsDs 1024 143.61us 140.24ns 4.91ms 4791.82ns 12.55ms 12255.26ns 3.67us 3.58ns 14.42ms 14078.75ns -ListsDs 1024 125.49us 122.55ns 5.14ms 5020.11ns 12.61ms 12316.05ns 4.10us 4.00ns 16.84ms 16448.90ns -ListsDs 1024 126.72us 123.75ns 5.27ms 5142.23ns 12.70ms 12400.98ns 3.75us 3.66ns 13.48ms 13161.34ns -ListsDs 1024 123.09us 120.21ns 5.00ms 4887.39ns 16.78ms 16388.16ns 4.85us 4.74ns 14.54ms 14194.90ns -ListsDs 1024 126.77us 123.79ns 5.03ms 4907.29ns 12.35ms 12064.86ns 3.79us 3.70ns 13.49ms 13173.68ns -ListsDs 1024 249.08us 243.25ns 5.33ms 5208.59ns 13.03ms 12722.44ns 3.66us 3.57ns 13.80ms 13474.43ns -ListsDs 1024 137.38us 134.16ns 5.07ms 4948.28ns 12.75ms 12454.26ns 4.52us 4.41ns 13.91ms 13585.97ns -ListsDs 1024 171.76us 167.73ns 5.09ms 4972.05ns 12.90ms 12598.91ns 3.80us 3.71ns 13.29ms 12974.57ns -ListsDs 1024 166.83us 162.92ns 5.08ms 4963.00ns 13.21ms 12900.15ns 6.51us 6.36ns 13.89ms 13563.59ns -ListsDs 1024 151.96us 148.40ns 5.62ms 5486.72ns 12.52ms 12221.88ns 3.68us 3.59ns 15.80ms 15425.45ns -ListsDs 2048 230.24us 112.42ns 20.55ms 10036.56ns 54.62ms 26670.55ns 63.38us 30.95ns 50.42ms 24618.79ns -ListsDs 2048 249.03us 121.60ns 19.54ms 9541.51ns 53.02ms 25889.05ns 41.58us 20.30ns 49.70ms 24269.25ns -ListsDs 2048 274.92us 134.24ns 19.42ms 9480.74ns 52.73ms 25746.42ns 41.76us 20.39ns 50.71ms 24760.72ns -ListsDs 2048 275.87us 134.70ns 19.85ms 9693.75ns 52.71ms 25738.75ns 58.66us 28.64ns 48.27ms 23570.27ns -ListsDs 2048 274.07us 133.82ns 19.40ms 9473.97ns 53.89ms 26314.84ns 43.03us 21.01ns 49.65ms 24244.71ns -ListsDs 2048 359.41us 175.49ns 19.36ms 9451.25ns 52.34ms 25557.09ns 67.20us 32.81ns 49.34ms 24094.23ns -ListsDs 2048 233.19us 113.86ns 19.97ms 9749.54ns 56.48ms 27578.76ns 38.30us 18.70ns 50.87ms 24836.91ns -ListsDs 2048 259.93us 126.92ns 19.88ms 9708.76ns 52.04ms 25412.31ns 46.32us 22.62ns 50.09ms 24457.64ns -ListsDs 2048 259.00us 126.47ns 19.94ms 9734.43ns 53.65ms 26194.98ns 41.97us 20.49ns 49.80ms 24315.61ns -ListsDs 2048 271.10us 132.37ns 19.39ms 9468.93ns 53.68ms 26212.30ns 47.79us 23.33ns 48.79ms 23823.52ns -ListsDs 2048 311.91us 152.30ns 19.56ms 9548.54ns 52.28ms 25525.32ns 35.02us 17.10ns 48.96ms 23908.20ns -ListsDs 2048 277.14us 135.32ns 20.26ms 9890.75ns 53.03ms 25894.39ns 48.47us 23.67ns 49.99ms 24408.88ns -ListsDs 2048 281.64us 137.52ns 19.58ms 9559.44ns 53.20ms 25975.51ns 39.32us 19.20ns 49.56ms 24198.96ns -ListsDs 2048 270.15us 131.91ns 19.76ms 9646.38ns 53.48ms 26113.62ns 32.86us 16.05ns 50.17ms 24495.93ns -ListsDs 2048 391.85us 191.33ns 20.09ms 9808.12ns 52.04ms 25410.21ns 66.01us 32.23ns 53.83ms 26285.74ns -ListsDs 2048 268.27us 130.99ns 20.78ms 10148.18ns 51.57ms 25180.14ns 34.44us 16.82ns 48.63ms 23747.46ns -ListsDs 2048 291.65us 142.41ns 20.20ms 9862.59ns 53.71ms 26224.50ns 85.34us 41.67ns 48.93ms 23891.91ns -ListsDs 2048 293.46us 143.29ns 19.83ms 9681.81ns 53.64ms 26189.48ns 38.34us 18.72ns 50.20ms 24510.30ns -ListsDs 2048 302.26us 147.59ns 19.99ms 9759.82ns 51.90ms 25340.82ns 42.08us 20.55ns 49.06ms 23957.34ns -ListsDs 2048 253.53us 123.80ns 20.53ms 10025.81ns 52.59ms 25680.37ns 36.21us 17.68ns 49.31ms 24077.07ns -ListsDs 2048 255.68us 124.84ns 19.37ms 9459.41ns 52.81ms 25788.22ns 29.96us 14.63ns 53.23ms 25993.02ns -ListsDs 2048 268.79us 131.25ns 19.67ms 9603.53ns 52.21ms 25494.65ns 37.36us 18.24ns 50.73ms 24770.39ns -ListsDs 4096 592.91us 144.75ns 81.40ms 19871.99ns 208.66ms 50941.67ns 112.31us 27.42ns 219.38ms 53559.02ns -ListsDs 4096 589.53us 143.93ns 79.35ms 19372.80ns 206.36ms 50380.98ns 108.64us 26.52ns 218.38ms 53316.54ns -ListsDs 4096 517.58us 126.36ns 83.21ms 20315.53ns 208.28ms 50848.76ns 104.56us 25.53ns 219.59ms 53611.57ns -ListsDs 4096 633.19us 154.59ns 79.81ms 19483.87ns 213.51ms 52125.99ns 142.72us 34.84ns 224.05ms 54699.48ns -ListsDs 4096 513.40us 125.34ns 85.63ms 20905.20ns 208.22ms 50834.07ns 141.92us 34.65ns 217.92ms 53202.61ns -ListsDs 4096 615.20us 150.19ns 79.86ms 19496.82ns 205.80ms 50243.76ns 108.65us 26.53ns 215.48ms 52607.19ns -ListsDs 4096 497.93us 121.56ns 148.92ms 36358.61ns 222.55ms 54333.74ns 115.90us 28.29ns 206.20ms 50342.44ns -ListsDs 4096 555.05us 135.51ns 82.10ms 20044.84ns 202.73ms 49495.30ns 101.68us 24.82ns 212.10ms 51781.69ns -ListsDs 4096 521.50us 127.32ns 81.94ms 20004.43ns 203.21ms 49610.61ns 103.74us 25.33ns 209.98ms 51265.00ns -ListsDs 4096 625.75us 152.77ns 79.54ms 19419.80ns 201.93ms 49299.16ns 110.67us 27.02ns 208.39ms 50877.44ns -ListsDs 4096 513.01us 125.25ns 85.98ms 20991.73ns 202.43ms 49421.08ns 99.82us 24.37ns 207.12ms 50566.23ns -ListsDs 4096 597.88us 145.97ns 84.49ms 20626.41ns 203.11ms 49587.41ns 115.53us 28.21ns 206.79ms 50485.17ns -ListsDs 4096 510.13us 124.54ns 83.89ms 20481.46ns 250.20ms 61082.81ns 118.59us 28.95ns 245.53ms 59944.90ns -ListsDs 4096 558.62us 136.38ns 87.31ms 21317.04ns 215.36ms 52578.87ns 106.12us 25.91ns 211.43ms 51618.43ns -ListsDs 4096 529.63us 129.30ns 80.75ms 19713.34ns 204.03ms 49811.57ns 109.89us 26.83ns 210.25ms 51330.04ns -ListsDs 4096 574.93us 140.36ns 81.77ms 19964.13ns 201.58ms 49213.29ns 112.36us 27.43ns 214.25ms 52308.02ns -ListsDs 4096 517.08us 126.24ns 80.66ms 19693.05ns 211.03ms 51520.81ns 110.22us 26.91ns 214.29ms 52318.04ns -ListsDs 4096 546.37us 133.39ns 87.02ms 21244.63ns 206.27ms 50359.10ns 104.63us 25.54ns 222.51ms 54324.76ns -ListsDs 4096 499.71us 122.00ns 87.89ms 21458.19ns 211.58ms 51655.39ns 109.84us 26.82ns 220.99ms 53953.70ns -ListsDs 4096 535.25us 130.68ns 84.23ms 20564.92ns 207.07ms 50555.32ns 108.15us 26.40ns 296.91ms 72486.68ns -ListsDs 4096 1.49ms 363.58ns 80.83ms 19734.20ns 224.82ms 54888.06ns 173.90us 42.46ns 216.21ms 52786.44ns -ListsDs 4096 695.08us 169.70ns 101.75ms 24841.72ns 214.20ms 52294.24ns 112.43us 27.45ns 231.96ms 56629.88ns -ListsDs 8192 1.37ms 167.38ns 321.26ms 39216.11ns 831.74ms 101530.98ns 180.84us 22.07ns 841.81ms 102759.70ns -ListsDs 8192 1.07ms 130.85ns 313.82ms 38307.91ns 817.44ms 99785.05ns 171.41us 20.92ns 826.64ms 100907.78ns -ListsDs 8192 1.43ms 174.35ns 315.13ms 38468.24ns 811.73ms 99088.21ns 184.21us 22.49ns 841.49ms 102720.58ns -ListsDs 8192 1.27ms 154.85ns 314.22ms 38356.77ns 812.53ms 99185.49ns 194.43us 23.73ns 891.73ms 108854.32ns -ListsDs 8192 1.07ms 131.02ns 329.51ms 40223.22ns 815.05ms 99493.52ns 187.66us 22.91ns 858.62ms 104812.43ns -ListsDs 8192 1.18ms 144.57ns 315.41ms 38502.77ns 813.34ms 99284.95ns 158.73us 19.38ns 833.02ms 101686.60ns -ListsDs 8192 1.24ms 150.78ns 317.09ms 38707.67ns 814.56ms 99434.19ns 186.30us 22.74ns 829.80ms 101294.04ns -ListsDs 8192 1.24ms 150.89ns 321.38ms 39231.07ns 834.14ms 101823.99ns 185.03us 22.59ns 844.24ms 103057.03ns -ListsDs 8192 1.48ms 180.31ns 330.41ms 40333.77ns 814.12ms 99379.79ns 182.43us 22.27ns 851.43ms 103934.43ns -ListsDs 8192 1.56ms 190.99ns 324.27ms 39583.83ns 815.24ms 99516.66ns 183.19us 22.36ns 823.43ms 100516.43ns -ListsDs 8192 1.26ms 153.28ns 314.94ms 38445.09ns 832.10ms 101574.82ns 323.31us 39.47ns 825.16ms 100727.12ns -ListsDs 8192 1.37ms 167.40ns 321.45ms 39239.47ns 811.47ms 99055.83ns 162.87us 19.88ns 845.03ms 103153.59ns -ListsDs 8192 1.11ms 136.05ns 320.19ms 39086.11ns 810.52ms 98940.75ns 185.03us 22.59ns 829.67ms 101278.53ns -ListsDs 8192 1.27ms 155.45ns 321.23ms 39212.11ns 806.41ms 98438.89ns 177.89us 21.72ns 838.38ms 102340.91ns -ListsDs 8192 1.26ms 153.84ns 320.53ms 39126.79ns 807.14ms 98527.43ns 155.61us 19.00ns 822.79ms 100438.39ns -ListsDs 8192 1.13ms 138.28ns 320.10ms 39075.12ns 814.00ms 99365.04ns 167.27us 20.42ns 841.00ms 102661.58ns -ListsDs 8192 1.12ms 136.35ns 316.39ms 38622.29ns 812.55ms 99188.76ns 207.63us 25.35ns 825.23ms 100736.36ns -ListsDs 8192 1.26ms 153.65ns 316.82ms 38673.84ns 813.51ms 99304.96ns 172.47us 21.05ns 831.46ms 101496.71ns -ListsDs 8192 1.24ms 151.47ns 317.06ms 38703.89ns 850.89ms 103868.67ns 161.86us 19.76ns 841.81ms 102759.78ns -ListsDs 8192 1.50ms 182.64ns 315.60ms 38525.70ns 825.26ms 100739.29ns 168.94us 20.62ns 825.92ms 100820.82ns -ListsDs 8192 1.13ms 137.80ns 317.26ms 38728.60ns 808.88ms 98740.28ns 184.08us 22.47ns 831.90ms 101550.53ns -ListsDs 8192 1.16ms 141.15ns 318.37ms 38863.15ns 809.63ms 98831.22ns 222.00us 27.10ns 831.55ms 101507.29ns -ListsDs 16384 2.01ms 122.96ns 1.26s 77166.16ns 3.35s 204743.05ns 164.90us 10.06ns 3.32s 202712.09ns -ListsDs 16384 2.38ms 145.04ns 1.26s 77155.45ns 3.44s 210020.31ns 212.70us 12.98ns 3.33s 203546.79ns -ListsDs 16384 2.41ms 146.98ns 1.29s 79002.24ns 3.35s 204553.98ns 190.21us 11.61ns 3.43s 209302.47ns -ListsDs 16384 2.34ms 142.82ns 1.27s 77225.59ns 3.33s 203304.21ns 191.77us 11.70ns 3.26s 199199.85ns -ListsDs 16384 2.43ms 148.33ns 1.38s 84529.29ns 3.35s 204467.28ns 212.22us 12.95ns 3.23s 197205.41ns -ListsDs 16384 2.62ms 159.91ns 1.27s 77439.83ns 3.36s 204993.16ns 164.59us 10.05ns 3.21s 196137.43ns -ListsDs 16384 2.61ms 159.19ns 1.28s 78429.44ns 3.37s 205714.32ns 171.24us 10.45ns 3.25s 198182.24ns -ListsDs 16384 2.97ms 181.33ns 1.26s 76941.04ns 3.49s 212823.96ns 196.74us 12.01ns 3.39s 206810.31ns -ListsDs 16384 2.67ms 162.76ns 1.27s 77596.17ns 3.43s 209502.12ns 150.06us 9.16ns 3.25s 198273.90ns -ListsDs 16384 2.48ms 151.56ns 1.27s 77383.65ns 3.44s 209777.18ns 183.27us 11.19ns 3.20s 195517.88ns -ListsDs 16384 2.38ms 145.12ns 1.27s 77373.97ns 3.31s 202324.52ns 252.48us 15.41ns 3.25s 198178.41ns -ListsDs 16384 2.61ms 159.48ns 1.29s 79034.62ns 3.45s 210832.95ns 213.62us 13.04ns 3.27s 199346.56ns -ListsDs 16384 2.32ms 141.74ns 1.27s 77238.09ns 3.44s 210225.76ns 172.33us 10.52ns 3.22s 196601.39ns -ListsDs 16384 2.37ms 144.70ns 1.26s 77182.83ns 3.37s 205464.83ns 174.26us 10.64ns 3.26s 199223.40ns -ListsDs 16384 2.36ms 144.25ns 1.26s 76964.69ns 3.37s 205399.08ns 182.23us 11.12ns 3.23s 197007.21ns -ListsDs 16384 2.30ms 140.35ns 1.27s 77291.13ns 3.33s 203316.98ns 177.57us 10.84ns 3.38s 206318.69ns -ListsDs 16384 2.36ms 143.78ns 1.34s 81802.41ns 3.34s 203593.42ns 154.73us 9.44ns 3.26s 199067.58ns -ListsDs 16384 2.69ms 164.18ns 1.30s 79255.01ns 3.36s 204938.22ns 147.40us 9.00ns 3.24s 197485.07ns -ListsDs 16384 2.60ms 158.44ns 1.27s 77397.81ns 3.39s 207032.54ns 166.71us 10.18ns 3.21s 196165.39ns -ListsDs 16384 2.47ms 151.00ns 1.27s 77477.19ns 3.37s 205407.27ns 157.67us 9.62ns 3.30s 201239.98ns -ListsDs 16384 2.35ms 143.59ns 1.26s 76852.06ns 3.58s 218339.10ns 157.08us 9.59ns 3.30s 201136.01ns -ListsDs 16384 2.53ms 154.59ns 1.27s 77421.30ns 3.40s 207325.93ns 172.96us 10.56ns 3.39s 207063.12ns -ListsDs 32768 4.29ms 130.91ns 5.17s 157790.22ns 13.94s 425384.22ns 951.65us 29.04ns 14.10s 430380.25ns -ListsDs 32768 4.88ms 148.80ns 5.08s 155028.09ns 13.71s 418528.50ns 951.15us 29.03ns 13.93s 425184.16ns -ListsDs 32768 4.33ms 132.05ns 5.05s 154260.90ns 13.81s 421352.87ns 952.93us 29.08ns 14.13s 431199.97ns -ListsDs 32768 4.08ms 124.60ns 5.17s 157654.72ns 15.48s 472507.02ns 955.62us 29.16ns 15.19s 463525.18ns -ListsDs 32768 4.12ms 125.82ns 5.47s 166794.22ns 16.48s 502888.02ns 1.07ms 32.65ns 16.72s 510378.75ns -ListsDs 32768 4.34ms 132.58ns 5.55s 169287.82ns 15.73s 479970.08ns 1.03ms 31.37ns 16.03s 489158.25ns -ListsDs 32768 4.54ms 138.52ns 5.65s 172278.35ns 15.07s 459945.12ns 1.01ms 30.75ns 14.67s 447621.77ns -ListsDs 32768 4.06ms 123.80ns 5.26s 160668.55ns 14.51s 442923.13ns 940.50us 28.70ns 13.70s 417951.98ns -ListsDs 32768 4.12ms 125.72ns 5.39s 164497.17ns 13.84s 422320.94ns 917.50us 28.00ns 13.65s 416502.95ns -ListsDs 32768 4.13ms 125.98ns 5.24s 159923.71ns 13.94s 425407.42ns 904.99us 27.62ns 14.19s 433091.83ns -ListsDs 32768 4.15ms 126.52ns 5.45s 166234.54ns 13.78s 420680.98ns 912.89us 27.86ns 14.59s 445198.18ns -ListsDs 32768 4.84ms 147.68ns 5.76s 175733.26ns 13.77s 420360.71ns 911.79us 27.83ns 13.62s 415769.86ns -ListsDs 32768 4.26ms 129.98ns 5.25s 160220.57ns 13.75s 419531.67ns 920.48us 28.09ns 13.65s 416512.38ns -ListsDs 32768 4.07ms 124.10ns 5.31s 162156.04ns 15.05s 459332.00ns 997.22us 30.43ns 16.37s 499598.60ns -ListsDs 32768 4.00ms 122.06ns 5.66s 172764.61ns 15.77s 481398.22ns 958.81us 29.26ns 26.38s 805158.44ns -ListsDs 32768 4.09ms 124.95ns 5.50s 167988.17ns 15.86s 483904.03ns 1.02ms 31.09ns 15.52s 473753.76ns -ListsDs 32768 4.88ms 148.78ns 5.76s 175730.67ns 16.13s 492328.26ns 980.31us 29.92ns 15.94s 486592.54ns -ListsDs 32768 5.28ms 161.07ns 5.48s 167242.42ns 16.37s 499496.52ns 994.61us 30.35ns 14.64s 446752.59ns -ListsDs 32768 4.74ms 144.71ns 5.57s 169954.37ns 16.29s 497173.75ns 1.01ms 30.70ns 16.31s 497646.74ns -ListsDs 32768 4.87ms 148.74ns 6.25s 190806.40ns 16.62s 507292.26ns 981.12us 29.94ns 16.67s 508693.88ns -ListsDs 32768 4.38ms 133.68ns 6.22s 189898.61ns 16.64s 507770.10ns 1.00ms 30.54ns 16.81s 513046.96ns -ListsDs 32768 8.49ms 258.98ns 6.18s 188507.70ns 16.74s 510766.31ns 982.03us 29.97ns 16.84s 513950.79ns -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 65536 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip skip skip skip skip skip - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -MapsDs 8 4.46us 557.38ns 641ns 80.13ns 10.78us 1347.50ns 1.65us 206.63ns 4.48us 559.75ns -MapsDs 8 2.77us 346.88ns 451ns 56.38ns 5.20us 650.00ns 1.24us 155.25ns 3.79us 473.38ns -MapsDs 8 2.31us 289.25ns 361ns 45.13ns 3.76us 469.63ns 962ns 120.25ns 2.98us 373.13ns -MapsDs 8 2.62us 326.88ns 431ns 53.88ns 5.90us 737.63ns 1.41us 176.50ns 3.45us 430.88ns -MapsDs 8 2.67us 333.13ns 441ns 55.13ns 4.76us 594.88ns 1.33us 166.50ns 3.01us 375.75ns -MapsDs 8 1.96us 245.50ns 391ns 48.88ns 3.22us 402.00ns 871ns 108.88ns 2.54us 318.13ns -MapsDs 8 2.42us 301.88ns 371ns 46.38ns 4.01us 500.88ns 962ns 120.25ns 2.60us 324.38ns -MapsDs 8 2.48us 310.50ns 451ns 56.38ns 4.26us 532.25ns 1.16us 145.25ns 3.03us 378.25ns -MapsDs 8 2.67us 334.38ns 531ns 66.38ns 4.38us 547.25ns 1.17us 146.63ns 3.68us 459.50ns -MapsDs 8 2.52us 315.50ns 451ns 56.38ns 4.65us 581.13ns 1.22us 152.75ns 2.84us 354.38ns -MapsDs 8 2.63us 329.38ns 491ns 61.38ns 4.50us 562.25ns 1.21us 151.50ns 3.00us 374.50ns -MapsDs 8 3.09us 385.75ns 541ns 67.63ns 9.84us 1229.75ns 1.17us 146.50ns 3.57us 445.88ns -MapsDs 8 2.88us 359.38ns 461ns 57.63ns 4.70us 587.38ns 1.32us 165.25ns 3.19us 398.25ns -MapsDs 8 2.90us 363.13ns 411ns 51.38ns 4.90us 612.38ns 1.24us 155.38ns 3.61us 450.75ns -MapsDs 8 2.67us 334.38ns 461ns 57.63ns 4.54us 567.25ns 1.11us 139.00ns 3.29us 410.75ns -MapsDs 8 2.56us 319.38ns 431ns 53.88ns 4.27us 533.50ns 1.23us 154.00ns 3.25us 405.75ns -MapsDs 8 2.77us 345.63ns 441ns 55.13ns 4.98us 622.38ns 1.32us 165.38ns 3.26us 407.00ns -MapsDs 8 2.29us 285.63ns 340ns 42.50ns 3.10us 387.00ns 932ns 116.50ns 2.38us 298.00ns -MapsDs 8 2.63us 328.13ns 511ns 63.88ns 4.44us 554.75ns 1.18us 147.75ns 3.16us 394.50ns -MapsDs 8 2.46us 308.13ns 410ns 51.25ns 4.02us 502.25ns 1.17us 146.50ns 3.15us 393.25ns -MapsDs 8 2.37us 296.75ns 431ns 53.88ns 4.04us 504.75ns 1.13us 141.50ns 3.43us 428.25ns -MapsDs 8 2.63us 328.13ns 481ns 60.13ns 4.64us 579.88ns 1.19us 149.00ns 2.39us 299.25ns -MapsDs 16 10.52us 657.50ns 721ns 45.06ns 6.03us 376.94ns 1.15us 72.06ns 2.03us 127.06ns -MapsDs 16 9.80us 612.38ns 701ns 43.81ns 7.19us 449.63ns 1.46us 91.38ns 2.38us 149.06ns -MapsDs 16 9.01us 562.88ns 732ns 45.75ns 5.32us 332.50ns 1.09us 68.25ns 1.85us 115.81ns -MapsDs 16 8.78us 548.50ns 852ns 53.25ns 12.98us 811.50ns 2.42us 151.56ns 4.74us 296.13ns -MapsDs 16 13.11us 819.06ns 1.80us 112.69ns 9.96us 622.44ns 2.47us 154.63ns 4.77us 298.06ns -MapsDs 16 13.16us 822.81ns 1.70us 106.44ns 9.50us 593.56ns 2.58us 160.94ns 4.95us 309.31ns -MapsDs 16 10.79us 674.38ns 1.66us 103.94ns 8.73us 545.38ns 2.25us 140.31ns 4.14us 258.56ns -MapsDs 16 14.43us 901.63ns 2.73us 170.31ns 10.16us 634.94ns 2.42us 151.56ns 5.42us 338.75ns -MapsDs 16 20.09us 1255.44ns 722ns 45.13ns 12.82us 801.44ns 2.90us 181.00ns 4.20us 262.38ns -MapsDs 16 12.96us 810.25ns 1.80us 112.69ns 8.78us 548.56ns 2.56us 160.31ns 3.29us 205.38ns -MapsDs 16 8.76us 547.25ns 691ns 43.19ns 11.31us 706.94ns 3.28us 204.75ns 3.79us 236.75ns -MapsDs 16 13.83us 864.13ns 2.32us 145.25ns 8.72us 544.75ns 2.46us 153.44ns 4.67us 291.75ns -MapsDs 16 10.64us 664.94ns 1.71us 107.13ns 8.76us 547.25ns 1.90us 118.94ns 4.38us 273.69ns -MapsDs 16 24.32us 1519.69ns 1.68us 105.25ns 9.62us 601.06ns 2.65us 165.31ns 3.88us 242.38ns -MapsDs 16 12.09us 755.75ns 2.09us 130.88ns 9.58us 598.63ns 2.18us 136.50ns 4.45us 278.00ns -MapsDs 16 8.48us 530.31ns 952ns 59.50ns 5.79us 361.94ns 1.15us 72.00ns 1.80us 112.69ns -MapsDs 16 8.14us 509.06ns 681ns 42.56ns 6.05us 378.19ns 1.14us 71.44ns 1.76us 110.19ns -MapsDs 16 8.39us 524.69ns 882ns 55.13ns 5.81us 363.19ns 1.12us 70.13ns 1.81us 113.31ns -MapsDs 16 7.12us 445.19ns 601ns 37.56ns 4.46us 278.63ns 1.12us 70.13ns 1.79us 112.13ns -MapsDs 16 6.28us 392.63ns 561ns 35.06ns 4.38us 273.63ns 1.15us 72.00ns 1.72us 107.69ns -MapsDs 16 7.17us 448.31ns 601ns 37.56ns 4.53us 283.06ns 1.11us 69.50ns 1.83us 114.56ns -MapsDs 16 10.06us 628.69ns 821ns 51.31ns 7.17us 448.38ns 1.92us 120.19ns 4.95us 309.31ns -MapsDs 32 22.22us 694.41ns 1.31us 41.03ns 17.00us 531.31ns 1.93us 60.41ns 6.16us 192.56ns -MapsDs 32 15.26us 476.81ns 1.00us 31.31ns 10.91us 340.97ns 1.57us 49.16ns 5.54us 173.13ns -MapsDs 32 17.49us 546.66ns 1.03us 32.25ns 8.74us 273.00ns 1.58us 49.47ns 5.94us 185.66ns -MapsDs 32 15.10us 471.81ns 1.06us 33.19ns 8.66us 270.50ns 1.58us 49.47ns 5.10us 159.38ns -MapsDs 32 39.36us 1230.09ns 1.52us 47.59ns 11.48us 358.78ns 2.00us 62.63ns 6.82us 213.22ns -MapsDs 32 14.16us 442.41ns 991ns 30.97ns 8.46us 264.25ns 1.57us 49.16ns 5.21us 162.81ns -MapsDs 32 14.42us 450.50ns 1.02us 31.94ns 8.31us 259.56ns 1.48us 46.34ns 5.16us 161.22ns -MapsDs 32 17.49us 546.66ns 1.02us 31.94ns 8.67us 270.81ns 1.48us 46.34ns 5.26us 164.38ns -MapsDs 32 17.08us 533.81ns 1.05us 32.88ns 8.50us 265.50ns 1.46us 45.69ns 5.27us 164.69ns -MapsDs 32 16.65us 520.34ns 1.10us 34.44ns 8.43us 263.28ns 1.52us 47.59ns 5.31us 165.94ns -MapsDs 32 15.92us 497.47ns 1.04us 32.56ns 65.98us 2061.81ns 2.16us 67.63ns 8.60us 268.63ns -MapsDs 32 23.58us 737.00ns 1.29us 40.41ns 12.90us 403.25ns 2.02us 63.22ns 8.10us 253.00ns -MapsDs 32 20.37us 636.50ns 1.27us 39.78ns 12.12us 378.81ns 2.02us 63.25ns 7.39us 231.06ns -MapsDs 32 20.88us 652.47ns 1.25us 39.13ns 12.31us 384.78ns 2.10us 65.75ns 7.10us 221.97ns -MapsDs 32 22.25us 695.34ns 1.24us 38.84ns 11.66us 364.44ns 1.92us 60.09ns 7.59us 237.31ns -MapsDs 32 21.61us 675.34ns 1.41us 44.13ns 11.48us 358.81ns 12.52us 391.34ns 46.18us 1443.00ns -MapsDs 32 20.31us 634.63ns 1.31us 41.00ns 11.85us 370.38ns 2.07us 64.81ns 7.00us 218.84ns -MapsDs 32 16.31us 509.72ns 1.23us 38.50ns 12.07us 377.28ns 2.25us 70.44ns 7.64us 238.88ns -MapsDs 32 14.79us 462.13ns 1.02us 31.94ns 8.41us 262.97ns 1.44us 45.09ns 5.24us 163.75ns -MapsDs 32 18.34us 573.28ns 1.02us 31.91ns 8.54us 266.75ns 1.50us 46.97ns 6.98us 218.22ns -MapsDs 32 14.51us 453.34ns 1.00us 31.31ns 8.35us 260.81ns 1.50us 46.97ns 5.10us 159.34ns -MapsDs 32 20.94us 654.34ns 1.09us 34.13ns 8.31us 259.56ns 1.54us 48.19ns 5.11us 159.69ns -MapsDs 64 49.33us 770.81ns 2.50us 38.98ns 41.21us 643.86ns 4.74us 74.03ns 31.05us 485.13ns -MapsDs 64 48.56us 758.77ns 1.92us 30.05ns 28.02us 437.86ns 3.12us 48.67ns 21.72us 339.39ns -MapsDs 64 30.94us 483.41ns 1.89us 29.58ns 22.39us 349.88ns 2.89us 45.09ns 17.79us 278.02ns -MapsDs 64 40.38us 631.02ns 1.96us 30.69ns 23.15us 361.77ns 3.22us 50.25ns 17.73us 277.08ns -MapsDs 64 31.42us 490.91ns 1.86us 29.13ns 28.57us 446.45ns 3.14us 49.00ns 19.93us 311.36ns -MapsDs 64 33.54us 524.09ns 1.86us 29.13ns 19.39us 302.91ns 3.10us 48.38ns 18.93us 295.86ns -MapsDs 64 36.16us 564.97ns 1.88us 29.42ns 18.25us 285.22ns 3.00us 46.81ns 38.54us 602.22ns -MapsDs 64 36.59us 571.69ns 1.92us 30.05ns 17.89us 279.59ns 2.90us 45.23ns 25.59us 399.81ns -MapsDs 64 62.21us 971.97ns 1.98us 31.00ns 18.91us 295.55ns 3.01us 46.97ns 15.11us 236.06ns -MapsDs 64 28.28us 441.92ns 1.87us 29.27ns 17.57us 274.58ns 2.90us 45.39ns 14.38us 224.64ns -MapsDs 64 68.47us 1069.89ns 2.18us 34.13ns 18.20us 284.44ns 3.04us 47.58ns 14.82us 231.53ns -MapsDs 64 35.20us 549.94ns 1.86us 29.11ns 23.37us 365.22ns 2.85us 44.45ns 15.85us 247.66ns -MapsDs 64 35.24us 550.56ns 1.84us 28.80ns 17.48us 273.17ns 2.85us 44.45ns 14.39us 224.80ns -MapsDs 64 29.63us 462.89ns 1.84us 28.80ns 21.11us 329.83ns 2.85us 44.47ns 14.39us 224.80ns -MapsDs 64 54.13us 845.80ns 2.52us 39.30ns 20.43us 319.19ns 2.96us 46.19ns 14.68us 229.33ns -MapsDs 64 35.42us 553.38ns 1.98us 30.98ns 17.52us 273.80ns 2.94us 45.86ns 14.35us 224.17ns -MapsDs 64 28.06us 438.47ns 1.84us 28.81ns 17.15us 268.00ns 2.88us 45.08ns 14.26us 222.77ns -MapsDs 64 38.49us 601.44ns 2.24us 35.06ns 23.70us 370.38ns 2.93us 45.72ns 16.03us 250.45ns -MapsDs 64 29.34us 458.50ns 1.83us 28.66ns 17.38us 271.59ns 2.83us 44.16ns 48.30us 754.61ns -MapsDs 64 38.63us 603.63ns 1.84us 28.80ns 23.73us 370.70ns 3.13us 48.98ns 17.69us 276.45ns -MapsDs 64 31.97us 499.52ns 1.87us 29.28ns 20.31us 317.31ns 3.02us 47.11ns 15.90us 248.44ns -MapsDs 64 42.31us 661.08ns 2.40us 37.42ns 65.01us 1015.80ns 3.47us 54.16ns 15.67us 244.83ns -MapsDs 128 81.21us 634.46ns 3.94us 30.77ns 129.34us 1010.44ns 13.26us 103.63ns 73.78us 576.39ns -MapsDs 128 121.09us 945.98ns 16.76us 130.95ns 139.12us 1086.87ns 12.25us 95.73ns 62.46us 487.94ns -MapsDs 128 95.49us 746.00ns 7.01us 54.79ns 81.09us 633.52ns 13.66us 106.69ns 57.04us 445.59ns -MapsDs 128 105.56us 824.66ns 13.87us 108.32ns 96.28us 752.19ns 14.93us 116.63ns 73.32us 572.78ns -MapsDs 128 91.53us 715.08ns 13.15us 102.77ns 79.82us 623.59ns 15.07us 117.72ns 60.93us 476.04ns -MapsDs 128 62.02us 484.50ns 4.55us 35.53ns 41.10us 321.07ns 5.91us 46.18ns 32.25us 251.95ns -MapsDs 128 56.59us 442.08ns 3.72us 29.04ns 32.05us 250.38ns 4.59us 35.85ns 22.55us 176.19ns -MapsDs 128 49.13us 383.84ns 3.63us 28.34ns 31.48us 245.93ns 4.51us 35.22ns 21.71us 169.61ns -MapsDs 128 69.79us 545.23ns 7.55us 59.02ns 48.78us 381.10ns 7.28us 56.91ns 31.88us 249.05ns -MapsDs 128 64.79us 506.18ns 4.57us 35.69ns 46.00us 359.34ns 6.78us 52.99ns 34.07us 266.20ns -MapsDs 128 74.93us 585.39ns 4.60us 35.93ns 66.78us 521.75ns 7.01us 54.79ns 33.73us 263.54ns -MapsDs 128 62.12us 485.28ns 5.20us 40.63ns 79.12us 618.10ns 6.83us 53.38ns 35.09us 274.18ns -MapsDs 128 63.77us 498.19ns 5.96us 46.57ns 46.07us 359.89ns 17.90us 139.88ns 42.57us 332.57ns -MapsDs 128 73.00us 570.28ns 4.72us 36.87ns 46.15us 360.52ns 6.77us 52.91ns 51.93us 405.68ns -MapsDs 128 81.39us 635.88ns 4.55us 35.53ns 46.54us 363.57ns 6.82us 53.30ns 33.78us 263.93ns -MapsDs 128 72.98us 570.13ns 4.35us 33.97ns 63.75us 498.04ns 6.80us 53.15ns 34.40us 268.78ns -MapsDs 128 60.89us 475.73ns 4.57us 35.70ns 45.51us 355.58ns 7.13us 55.73ns 51.67us 403.64ns -MapsDs 128 79.99us 624.91ns 4.64us 36.23ns 46.00us 359.34ns 6.52us 50.95ns 58.29us 455.38ns -MapsDs 128 61.36us 479.41ns 4.35us 33.97ns 77.73us 607.30ns 6.78us 52.99ns 34.81us 271.99ns -MapsDs 128 125.17us 977.91ns 13.79us 107.70ns 60.34us 471.42ns 8.22us 64.19ns 54.60us 426.57ns -MapsDs 128 94.47us 738.02ns 4.48us 34.99ns 59.96us 468.45ns 7.82us 61.05ns 45.03us 351.83ns -MapsDs 128 59.65us 466.02ns 15.39us 120.22ns 56.08us 438.09ns 6.62us 51.73ns 34.34us 268.31ns -MapsDs 256 173.90us 679.31ns 22.35us 87.31ns 204.41us 798.48ns 15.17us 59.25ns 131.38us 513.22ns -MapsDs 256 136.54us 533.38ns 41.77us 163.16ns 119.97us 468.64ns 13.90us 54.28ns 93.42us 364.94ns -MapsDs 256 154.75us 604.48ns 14.68us 57.33ns 127.20us 496.86ns 33.85us 132.24ns 83.22us 325.06ns -MapsDs 256 192.55us 752.14ns 7.20us 28.14ns 171.50us 669.90ns 12.53us 48.96ns 68.45us 267.38ns -MapsDs 256 82.98us 324.16ns 6.97us 27.24ns 70.92us 277.04ns 8.46us 33.03ns 66.69us 260.52ns -MapsDs 256 99.53us 388.81ns 7.05us 27.55ns 86.68us 338.60ns 8.46us 33.03ns 56.90us 222.25ns -MapsDs 256 116.43us 454.79ns 8.76us 34.21ns 92.62us 361.80ns 10.77us 42.07ns 100.29us 391.75ns -MapsDs 256 100.39us 392.14ns 8.20us 32.01ns 70.09us 273.79ns 8.52us 33.27ns 54.25us 211.92ns -MapsDs 256 115.03us 449.36ns 9.69us 37.84ns 127.46us 497.88ns 12.94us 50.56ns 79.72us 311.40ns -MapsDs 256 80.78us 315.55ns 6.99us 27.32ns 69.06us 269.76ns 8.45us 32.99ns 53.98us 210.86ns -MapsDs 256 78.55us 306.82ns 6.91us 27.00ns 78.61us 307.05ns 8.38us 32.72ns 54.76us 213.91ns -MapsDs 256 129.05us 504.10ns 10.77us 42.07ns 118.55us 463.09ns 16.77us 65.52ns 79.85us 311.91ns -MapsDs 256 106.79us 417.14ns 8.59us 33.54ns 78.03us 304.82ns 8.59us 33.54ns 53.11us 207.46ns -MapsDs 256 81.19us 317.15ns 6.96us 27.20ns 85.64us 334.53ns 8.23us 32.17ns 56.10us 219.16ns -MapsDs 256 83.84us 327.48ns 6.90us 26.96ns 155.92us 609.06ns 11.70us 45.71ns 79.29us 309.72ns -MapsDs 256 79.26us 309.60ns 6.98us 27.28ns 68.13us 266.12ns 8.23us 32.17ns 53.43us 208.71ns -MapsDs 256 77.45us 302.56ns 6.96us 27.20ns 105.40us 411.70ns 11.49us 44.89ns 57.34us 223.97ns -MapsDs 256 78.02us 304.75ns 6.95us 27.16ns 74.44us 290.78ns 12.28us 47.98ns 78.22us 305.53ns -MapsDs 256 83.14us 324.75ns 7.15us 27.94ns 89.84us 350.93ns 8.54us 33.34ns 52.89us 206.59ns -MapsDs 256 78.47us 306.51ns 6.97us 27.24ns 68.45us 267.38ns 8.21us 32.05ns 53.12us 207.50ns -MapsDs 256 77.69us 303.46ns 6.99us 27.32ns 119.43us 466.53ns 11.16us 43.60ns 87.80us 342.98ns -MapsDs 256 78.57us 306.90ns 6.97us 27.24ns 68.92us 269.21ns 8.28us 32.32ns 53.68us 209.69ns -MapsDs 516 209.61us 406.22ns 18.31us 35.49ns 170.36us 330.15ns 17.18us 33.30ns 112.58us 218.18ns -MapsDs 516 172.52us 334.34ns 17.74us 34.39ns 196.70us 381.19ns 17.20us 33.34ns 101.89us 197.46ns -MapsDs 516 217.31us 421.15ns 15.56us 30.15ns 195.10us 378.11ns 22.10us 42.83ns 122.01us 236.45ns -MapsDs 516 167.24us 324.11ns 14.07us 27.26ns 156.19us 302.70ns 16.74us 32.44ns 132.81us 257.38ns -MapsDs 516 156.75us 303.78ns 14.07us 27.26ns 155.71us 301.76ns 16.78us 32.52ns 100.92us 195.58ns -MapsDs 516 175.48us 340.07ns 18.51us 35.88ns 192.28us 372.63ns 16.90us 32.76ns 117.45us 227.61ns -MapsDs 516 293.34us 568.50ns 13.95us 27.03ns 170.16us 329.76ns 18.45us 35.75ns 106.19us 205.79ns -MapsDs 516 210.87us 408.67ns 13.92us 26.97ns 157.54us 305.32ns 17.01us 32.97ns 101.89us 197.46ns -MapsDs 516 261.26us 506.32ns 40.86us 79.18ns 281.48us 545.49ns 28.93us 56.07ns 191.19us 370.52ns -MapsDs 516 243.81us 472.51ns 40.95us 79.35ns 280.08us 542.79ns 28.87us 55.96ns 165.33us 320.40ns -MapsDs 516 263.81us 511.26ns 39.88us 77.29ns 272.85us 528.78ns 28.26us 54.77ns 171.53us 332.42ns -MapsDs 516 190.60us 369.39ns 14.20us 27.51ns 155.43us 301.22ns 16.98us 32.91ns 121.74us 235.92ns -MapsDs 516 176.84us 342.71ns 14.22us 27.55ns 154.58us 299.57ns 16.92us 32.79ns 100.22us 194.22ns -MapsDs 516 260.99us 505.80ns 18.51us 35.88ns 197.70us 383.14ns 20.05us 38.85ns 115.19us 223.23ns -MapsDs 516 186.77us 361.95ns 13.75us 26.64ns 157.53us 305.30ns 16.87us 32.70ns 108.52us 210.31ns -MapsDs 516 157.67us 305.57ns 13.79us 26.72ns 228.26us 442.36ns 17.79us 34.48ns 120.00us 232.56ns -MapsDs 516 159.06us 308.25ns 14.21us 27.53ns 171.03us 331.45ns 17.11us 33.16ns 101.57us 196.84ns -MapsDs 516 157.63us 305.49ns 14.04us 27.20ns 157.64us 305.51ns 16.67us 32.31ns 224.20us 434.50ns -MapsDs 516 157.59us 305.41ns 13.88us 26.89ns 156.00us 302.33ns 16.86us 32.68ns 116.42us 225.61ns -MapsDs 516 155.39us 301.14ns 14.06us 27.24ns 155.56us 301.47ns 16.53us 32.04ns 100.89us 195.52ns -MapsDs 516 213.48us 413.72ns 13.96us 27.05ns 155.35us 301.06ns 16.89us 32.74ns 99.86us 193.52ns -MapsDs 516 180.70us 350.19ns 13.81us 26.76ns 162.64us 315.20ns 16.69us 32.35ns 128.15us 248.35ns -MapsDs 1024 373.13us 364.39ns 27.54us 26.90ns 364.95us 356.40ns 39.84us 38.91ns 319.01us 311.54ns -MapsDs 1024 477.88us 466.68ns 30.24us 29.53ns 595.99us 582.02ns 65.44us 63.91ns 359.12us 350.70ns -MapsDs 1024 404.63us 395.15ns 27.65us 27.00ns 379.88us 370.97ns 31.74us 31.00ns 222.23us 217.03ns -MapsDs 1024 433.42us 423.26ns 28.06us 27.41ns 438.56us 428.28ns 59.23us 57.84ns 278.44us 271.91ns -MapsDs 1024 484.42us 473.06ns 46.95us 45.85ns 480.62us 469.35ns 67.96us 66.36ns 402.20us 392.77ns -MapsDs 1024 418.45us 408.64ns 27.14us 26.50ns 503.22us 491.42ns 32.65us 31.89ns 293.68us 286.79ns -MapsDs 1024 698.95us 682.57ns 37.10us 36.23ns 622.74us 608.15ns 33.10us 32.33ns 245.09us 239.34ns -MapsDs 1024 345.41us 337.32ns 51.57us 50.36ns 368.42us 359.78ns 31.30us 30.57ns 285.17us 278.49ns -MapsDs 1024 374.75us 365.96ns 27.19us 26.55ns 365.87us 357.30ns 33.99us 33.20ns 221.13us 215.95ns -MapsDs 1024 397.49us 388.18ns 27.58us 26.94ns 451.08us 440.50ns 40.70us 39.74ns 271.00us 264.65ns -MapsDs 1024 381.79us 372.84ns 34.58us 33.76ns 360.43us 351.98ns 31.49us 30.75ns 263.78us 257.59ns -MapsDs 1024 382.80us 373.83ns 27.57us 26.92ns 381.38us 372.44ns 31.31us 30.57ns 221.24us 216.06ns -MapsDs 1024 367.35us 358.74ns 27.59us 26.95ns 381.18us 372.25ns 31.31us 30.57ns 224.54us 219.28ns -MapsDs 1024 367.51us 358.90ns 27.09us 26.46ns 378.15us 369.29ns 31.57us 30.83ns 241.70us 236.04ns -MapsDs 1024 409.39us 399.79ns 83.87us 81.90ns 460.39us 449.60ns 31.52us 30.78ns 221.38us 216.19ns -MapsDs 1024 384.77us 375.75ns 27.56us 26.92ns 381.31us 372.37ns 31.59us 30.85ns 243.62us 237.91ns -MapsDs 1024 352.09us 343.83ns 27.15us 26.51ns 375.22us 366.42ns 31.23us 30.50ns 247.11us 241.32ns -MapsDs 1024 411.36us 401.72ns 27.26us 26.62ns 359.63us 351.20ns 31.38us 30.64ns 269.29us 262.98ns -MapsDs 1024 483.83us 472.49ns 35.22us 34.39ns 362.94us 354.43ns 33.24us 32.46ns 252.20us 246.29ns -MapsDs 1024 370.06us 361.39ns 27.52us 26.88ns 391.49us 382.31ns 32.47us 31.71ns 220.28us 215.12ns -MapsDs 1024 403.03us 393.58ns 27.25us 26.61ns 433.10us 422.95ns 31.98us 31.23ns 223.01us 217.78ns -MapsDs 1024 423.44us 413.51ns 27.19us 26.55ns 357.38us 349.00ns 31.51us 30.77ns 235.34us 229.82ns -MapsDs 2048 791.10us 386.28ns 86.14us 42.06ns 886.98us 433.10ns 91.79us 44.82ns 649.55us 317.16ns -MapsDs 2048 741.09us 361.86ns 81.92us 40.00ns 799.08us 390.18ns 89.19us 43.55ns 558.54us 272.72ns -MapsDs 2048 763.25us 372.68ns 82.69us 40.38ns 876.58us 428.02ns 128.83us 62.91ns 704.99us 344.23ns -MapsDs 2048 888.07us 433.63ns 80.90us 39.50ns 824.12us 402.40ns 89.40us 43.65ns 602.12us 294.00ns -MapsDs 2048 849.99us 415.04ns 100.32us 48.98ns 1.09ms 532.36ns 183.76us 89.73ns 562.35us 274.58ns -MapsDs 2048 761.83us 371.99ns 81.12us 39.61ns 898.29us 438.62ns 121.53us 59.34ns 702.67us 343.10ns -MapsDs 2048 1.18ms 575.40ns 128.39us 62.69ns 1.37ms 667.65ns 176.64us 86.25ns 782.50us 382.08ns -MapsDs 2048 995.25us 485.96ns 86.37us 42.17ns 813.38us 397.16ns 114.13us 55.73ns 540.46us 263.90ns -MapsDs 2048 732.59us 357.71ns 93.42us 45.62ns 816.84us 398.85ns 88.03us 42.99ns 522.03us 254.90ns -MapsDs 2048 718.86us 351.01ns 80.58us 39.35ns 815.39us 398.14ns 88.01us 42.98ns 565.56us 276.15ns -MapsDs 2048 727.09us 355.02ns 81.77us 39.93ns 1.08ms 529.17ns 93.84us 45.82ns 567.67us 277.18ns -MapsDs 2048 713.48us 348.38ns 84.83us 41.42ns 899.78us 439.34ns 89.17us 43.54ns 539.87us 263.61ns -MapsDs 2048 930.13us 454.16ns 80.89us 39.50ns 806.42us 393.76ns 89.56us 43.73ns 523.89us 255.80ns -MapsDs 2048 755.48us 368.89ns 109.92us 53.67ns 807.34us 394.21ns 88.39us 43.16ns 689.40us 336.62ns -MapsDs 2048 1.32ms 646.85ns 108.15us 52.81ns 1.15ms 562.41ns 149.23us 72.87ns 916.98us 447.74ns -MapsDs 2048 1.12ms 548.46ns 101.76us 49.69ns 1.00ms 489.18ns 151.91us 74.17ns 683.46us 333.72ns -MapsDs 2048 1.14ms 555.69ns 101.21us 49.42ns 823.75us 402.22ns 89.24us 43.57ns 643.14us 314.03ns -MapsDs 2048 771.79us 376.85ns 93.63us 45.72ns 832.97us 406.72ns 87.98us 42.96ns 531.89us 259.71ns -MapsDs 2048 708.78us 346.08ns 81.04us 39.57ns 978.28us 477.68ns 98.16us 47.93ns 561.29us 274.07ns -MapsDs 2048 735.61us 359.18ns 81.19us 39.64ns 812.49us 396.73ns 88.56us 43.24ns 605.04us 295.43ns -MapsDs 2048 909.05us 443.87ns 82.15us 40.11ns 826.36us 403.50ns 88.69us 43.31ns 544.01us 265.63ns -MapsDs 2048 1.05ms 514.46ns 118.03us 57.63ns 1.32ms 644.22ns 141.66us 69.17ns 1.00ms 489.93ns -MapsDs 4096 1.88ms 458.39ns 133.77us 32.66ns 2.21ms 538.42ns 179.66us 43.86ns 904.72us 220.88ns -MapsDs 4096 1.84ms 448.39ns 134.69us 32.88ns 1.91ms 466.61ns 156.51us 38.21ns 1.10ms 268.15ns -MapsDs 4096 2.21ms 539.35ns 152.03us 37.12ns 2.14ms 523.17ns 161.13us 39.34ns 914.92us 223.37ns -MapsDs 4096 2.55ms 622.28ns 327.54us 79.97ns 3.17ms 774.13ns 271.35us 66.25ns 1.61ms 392.41ns -MapsDs 4096 1.89ms 461.25ns 133.31us 32.55ns 2.19ms 533.53ns 172.57us 42.13ns 901.26us 220.03ns -MapsDs 4096 1.78ms 434.60ns 133.93us 32.70ns 2.04ms 498.25ns 260.00us 63.48ns 883.05us 215.59ns -MapsDs 4096 1.78ms 435.66ns 133.68us 32.64ns 1.85ms 452.85ns 164.31us 40.11ns 1.13ms 276.65ns -MapsDs 4096 1.89ms 461.34ns 151.36us 36.95ns 3.78ms 923.50ns 360.54us 88.02ns 1.83ms 447.14ns -MapsDs 4096 1.79ms 437.62ns 133.91us 32.69ns 1.83ms 445.95ns 155.53us 37.97ns 888.79us 216.99ns -MapsDs 4096 1.90ms 463.67ns 133.77us 32.66ns 1.84ms 449.43ns 154.84us 37.80ns 885.56us 216.20ns -MapsDs 4096 1.73ms 421.84ns 133.10us 32.49ns 1.83ms 447.22ns 153.94us 37.58ns 893.54us 218.15ns -MapsDs 4096 1.70ms 415.92ns 160.66us 39.22ns 2.04ms 498.96ns 157.07us 38.35ns 878.90us 214.57ns -MapsDs 4096 1.73ms 421.69ns 167.87us 40.98ns 3.10ms 756.08ns 212.93us 51.98ns 1.11ms 270.13ns -MapsDs 4096 2.11ms 515.88ns 143.39us 35.01ns 1.96ms 479.04ns 156.41us 38.19ns 909.61us 222.07ns -MapsDs 4096 1.79ms 437.30ns 164.97us 40.28ns 2.07ms 506.32ns 155.37us 37.93ns 872.56us 213.03ns -MapsDs 4096 1.75ms 427.85ns 149.94us 36.61ns 1.80ms 440.50ns 153.80us 37.55ns 894.67us 218.42ns -MapsDs 4096 1.74ms 425.90ns 133.91us 32.69ns 1.83ms 447.51ns 155.28us 37.91ns 864.91us 211.16ns -MapsDs 4096 1.72ms 418.76ns 133.67us 32.63ns 2.60ms 633.84ns 257.06us 62.76ns 1.68ms 409.09ns -MapsDs 4096 2.01ms 491.24ns 163.28us 39.86ns 2.27ms 554.11ns 199.28us 48.65ns 1.15ms 279.70ns -MapsDs 4096 2.68ms 654.71ns 324.76us 79.29ns 3.25ms 793.88ns 276.76us 67.57ns 1.81ms 442.21ns -MapsDs 4096 2.60ms 635.89ns 331.72us 80.99ns 3.26ms 795.46ns 158.06us 38.59ns 875.39us 213.72ns -MapsDs 4096 1.76ms 430.90ns 134.13us 32.75ns 1.80ms 440.55ns 154.43us 37.70ns 853.33us 208.33ns -MapsDs 8192 5.53ms 675.23ns 740.12us 90.35ns 8.20ms 1001.15ns 521.05us 63.60ns 3.49ms 426.55ns -MapsDs 8192 4.56ms 556.09ns 289.46us 35.33ns 4.26ms 519.56ns 295.78us 36.11ns 1.72ms 209.99ns -MapsDs 8192 3.77ms 459.68ns 646.03us 78.86ns 6.63ms 809.68ns 293.15us 35.78ns 1.71ms 209.14ns -MapsDs 8192 3.66ms 446.52ns 314.00us 38.33ns 5.14ms 628.02ns 356.35us 43.50ns 3.09ms 376.61ns -MapsDs 8192 6.81ms 831.52ns 507.50us 61.95ns 5.52ms 674.14ns 300.77us 36.72ns 1.97ms 240.25ns -MapsDs 8192 3.72ms 454.37ns 291.08us 35.53ns 5.43ms 662.59ns 410.09us 50.06ns 2.71ms 330.77ns -MapsDs 8192 6.77ms 826.17ns 505.20us 61.67ns 6.29ms 767.86ns 319.58us 39.01ns 1.70ms 207.61ns -MapsDs 8192 5.27ms 643.68ns 755.11us 92.18ns 6.31ms 769.82ns 294.86us 35.99ns 3.33ms 407.06ns -MapsDs 8192 6.04ms 736.85ns 731.25us 89.26ns 5.49ms 669.76ns 305.64us 37.31ns 1.71ms 209.01ns -MapsDs 8192 3.76ms 459.31ns 301.37us 36.79ns 4.74ms 579.22ns 292.38us 35.69ns 1.71ms 209.12ns -MapsDs 8192 3.82ms 466.68ns 312.52us 38.15ns 6.56ms 801.26ns 307.41us 37.53ns 2.16ms 263.63ns -MapsDs 8192 4.55ms 554.82ns 706.78us 86.28ns 4.99ms 609.15ns 294.43us 35.94ns 1.82ms 221.58ns -MapsDs 8192 3.91ms 476.90ns 293.42us 35.82ns 5.41ms 660.62ns 396.57us 48.41ns 2.25ms 275.14ns -MapsDs 8192 4.04ms 493.23ns 342.03us 41.75ns 6.97ms 850.49ns 415.43us 50.71ns 2.03ms 247.32ns -MapsDs 8192 5.29ms 645.98ns 290.11us 35.41ns 5.86ms 715.83ns 340.21us 41.53ns 2.44ms 297.28ns -MapsDs 8192 6.88ms 839.66ns 696.49us 85.02ns 5.03ms 614.28ns 298.43us 36.43ns 2.43ms 296.62ns -MapsDs 8192 3.80ms 464.22ns 288.64us 35.23ns 4.70ms 573.89ns 344.65us 42.07ns 1.72ms 210.32ns -MapsDs 8192 4.20ms 512.19ns 431.31us 52.65ns 6.21ms 758.18ns 532.66us 65.02ns 1.90ms 231.72ns -MapsDs 8192 3.68ms 449.06ns 372.67us 45.49ns 4.78ms 583.12ns 405.67us 49.52ns 2.19ms 267.25ns -MapsDs 8192 3.72ms 453.60ns 299.48us 36.56ns 4.37ms 533.93ns 310.65us 37.92ns 2.16ms 264.13ns -MapsDs 8192 7.04ms 858.81ns 1.15ms 140.89ns 8.34ms 1017.81ns 556.95us 67.99ns 1.75ms 213.94ns -MapsDs 8192 3.90ms 476.24ns 323.33us 39.47ns 5.16ms 630.10ns 294.41us 35.94ns 2.26ms 275.93ns -MapsDs 16384 9.12ms 556.58ns 1.21ms 73.87ns 9.11ms 555.91ns 840.71us 51.31ns 3.75ms 228.69ns -MapsDs 16384 10.35ms 631.80ns 1.32ms 80.76ns 7.96ms 485.75ns 797.32us 48.66ns 3.96ms 241.67ns -MapsDs 16384 12.10ms 738.67ns 1.25ms 76.58ns 8.19ms 499.63ns 834.90us 50.96ns 3.84ms 234.25ns -MapsDs 16384 8.28ms 505.43ns 1.40ms 85.68ns 11.20ms 683.43ns 873.22us 53.30ns 4.29ms 261.80ns -MapsDs 16384 10.40ms 634.47ns 1.48ms 90.58ns 9.05ms 552.16ns 914.88us 55.84ns 6.81ms 415.56ns -MapsDs 16384 8.29ms 505.86ns 1.26ms 76.90ns 8.34ms 509.02ns 796.22us 48.60ns 5.77ms 352.34ns -MapsDs 16384 8.51ms 519.43ns 1.26ms 77.03ns 8.48ms 517.75ns 801.37us 48.91ns 3.78ms 230.58ns -MapsDs 16384 10.97ms 669.61ns 2.50ms 152.34ns 9.96ms 607.71ns 977.57us 59.67ns 3.72ms 226.76ns -MapsDs 16384 7.81ms 476.83ns 1.28ms 78.40ns 8.61ms 525.38ns 799.38us 48.79ns 3.99ms 243.56ns -MapsDs 16384 10.29ms 628.13ns 1.23ms 75.00ns 8.26ms 504.32ns 1.49ms 90.93ns 6.79ms 414.52ns -MapsDs 16384 8.34ms 509.17ns 3.26ms 198.71ns 9.37ms 572.15ns 1.03ms 63.01ns 5.73ms 349.74ns -MapsDs 16384 8.07ms 492.63ns 1.29ms 78.93ns 9.03ms 551.31ns 818.85us 49.98ns 3.90ms 238.07ns -MapsDs 16384 10.70ms 653.02ns 1.36ms 83.13ns 7.78ms 474.82ns 847.37us 51.72ns 3.93ms 240.05ns -MapsDs 16384 7.92ms 483.33ns 1.37ms 83.73ns 10.61ms 647.51ns 928.86us 56.69ns 4.02ms 245.46ns -MapsDs 16384 7.90ms 482.12ns 1.34ms 82.03ns 7.87ms 480.47ns 804.82us 49.12ns 3.81ms 232.58ns -MapsDs 16384 14.48ms 884.01ns 1.60ms 97.77ns 7.92ms 483.29ns 791.41us 48.30ns 4.03ms 246.20ns -MapsDs 16384 8.49ms 518.24ns 1.49ms 91.02ns 7.80ms 476.29ns 846.43us 51.66ns 3.82ms 233.03ns -MapsDs 16384 10.93ms 666.96ns 1.28ms 78.41ns 8.19ms 499.59ns 848.82us 51.81ns 3.77ms 229.96ns -MapsDs 16384 8.87ms 541.53ns 2.21ms 134.63ns 10.18ms 621.52ns 808.39us 49.34ns 4.69ms 286.15ns -MapsDs 16384 10.06ms 614.07ns 1.33ms 81.04ns 9.93ms 605.85ns 1.01ms 61.47ns 3.89ms 237.24ns -MapsDs 16384 11.07ms 675.49ns 1.29ms 78.87ns 8.04ms 491.01ns 1.06ms 64.66ns 4.35ms 265.23ns -MapsDs 16384 13.68ms 835.01ns 1.38ms 84.12ns 8.06ms 491.82ns 804.92us 49.13ns 3.83ms 233.58ns -MapsDs 32768 23.13ms 705.98ns 1.10ms 33.52ns 24.36ms 743.53ns 4.34ms 132.40ns 17.09ms 521.65ns -MapsDs 32768 19.47ms 594.21ns 1.14ms 34.91ns 28.25ms 862.18ns 2.87ms 87.59ns 9.92ms 302.65ns -MapsDs 32768 18.99ms 579.63ns 1.12ms 34.22ns 24.79ms 756.52ns 1.64ms 50.15ns 9.81ms 299.36ns -MapsDs 32768 22.80ms 695.93ns 1.22ms 37.09ns 26.03ms 794.49ns 1.69ms 51.61ns 11.16ms 340.65ns -MapsDs 32768 19.92ms 608.00ns 1.09ms 33.33ns 26.03ms 794.40ns 2.00ms 60.93ns 12.98ms 396.20ns -MapsDs 32768 23.43ms 715.01ns 1.56ms 47.47ns 31.63ms 965.38ns 2.05ms 62.62ns 9.13ms 278.59ns -MapsDs 32768 18.96ms 578.72ns 1.11ms 33.98ns 26.21ms 799.98ns 1.70ms 51.76ns 10.24ms 312.62ns -MapsDs 32768 19.03ms 580.88ns 1.19ms 36.41ns 28.13ms 858.39ns 1.70ms 51.76ns 13.39ms 408.68ns -MapsDs 32768 19.26ms 587.70ns 1.09ms 33.31ns 27.30ms 833.05ns 1.71ms 52.15ns 9.30ms 283.75ns -MapsDs 32768 18.71ms 570.96ns 1.08ms 32.91ns 26.56ms 810.68ns 1.94ms 59.21ns 11.81ms 360.54ns -MapsDs 32768 21.37ms 652.06ns 1.12ms 34.16ns 26.96ms 822.76ns 1.86ms 56.83ns 16.57ms 505.65ns -MapsDs 32768 20.04ms 611.60ns 1.21ms 36.89ns 25.59ms 781.06ns 1.70ms 51.87ns 9.93ms 303.06ns -MapsDs 32768 20.33ms 620.52ns 1.07ms 32.75ns 29.77ms 908.66ns 1.80ms 54.87ns 10.95ms 334.31ns -MapsDs 32768 21.78ms 664.55ns 1.09ms 33.40ns 26.20ms 799.45ns 2.06ms 62.97ns 9.61ms 293.30ns -MapsDs 32768 19.33ms 589.79ns 1.09ms 33.13ns 28.02ms 855.11ns 1.71ms 52.19ns 10.50ms 320.31ns -MapsDs 32768 26.34ms 803.94ns 1.07ms 32.66ns 25.83ms 788.18ns 1.82ms 55.39ns 9.79ms 298.80ns -MapsDs 32768 19.95ms 608.86ns 1.08ms 32.93ns 31.23ms 953.00ns 1.82ms 55.63ns 9.27ms 282.84ns -MapsDs 32768 22.67ms 691.85ns 1.16ms 35.52ns 26.87ms 819.96ns 2.46ms 75.18ns 10.20ms 311.15ns -MapsDs 32768 19.03ms 580.82ns 1.13ms 34.42ns 26.06ms 795.16ns 1.64ms 50.02ns 10.30ms 314.19ns -MapsDs 32768 19.53ms 595.98ns 1.08ms 32.96ns 25.07ms 764.93ns 2.16ms 66.06ns 9.69ms 295.64ns -MapsDs 32768 21.00ms 640.83ns 1.10ms 33.65ns 25.48ms 777.52ns 1.79ms 54.58ns 13.50ms 411.85ns -MapsDs 32768 20.60ms 628.57ns 1.08ms 33.01ns 32.01ms 976.86ns 1.96ms 59.72ns 10.39ms 316.94ns -MapsDs 65536 44.71ms 682.28ns 2.58ms 39.36ns 64.05ms 977.29ns 3.61ms 55.16ns 25.83ms 394.14ns -MapsDs 65536 47.16ms 719.59ns 2.33ms 35.58ns 61.22ms 934.08ns 3.40ms 51.86ns 25.41ms 387.73ns -MapsDs 65536 40.20ms 613.37ns 2.38ms 36.29ns 64.01ms 976.78ns 3.22ms 49.21ns 27.21ms 415.15ns -MapsDs 65536 40.91ms 624.27ns 2.52ms 38.47ns 61.33ms 935.85ns 3.29ms 50.20ns 25.04ms 382.12ns -MapsDs 65536 41.23ms 629.18ns 2.57ms 39.16ns 66.49ms 1014.62ns 4.21ms 64.20ns 26.09ms 398.16ns -MapsDs 65536 41.75ms 637.03ns 2.45ms 37.44ns 72.52ms 1106.63ns 5.01ms 76.40ns 36.79ms 561.31ns -MapsDs 65536 47.55ms 725.60ns 3.84ms 58.62ns 64.51ms 984.38ns 3.87ms 59.10ns 36.46ms 556.36ns -MapsDs 65536 42.78ms 652.70ns 2.48ms 37.86ns 61.36ms 936.22ns 3.28ms 50.02ns 26.72ms 407.72ns -MapsDs 65536 43.08ms 657.29ns 2.35ms 35.92ns 60.68ms 925.90ns 3.36ms 51.31ns 24.75ms 377.73ns -MapsDs 65536 40.36ms 615.87ns 2.44ms 37.27ns 64.86ms 989.62ns 3.73ms 56.87ns 26.39ms 402.75ns -MapsDs 65536 40.65ms 620.25ns 2.55ms 38.90ns 65.88ms 1005.30ns 4.08ms 62.22ns 27.80ms 424.25ns -MapsDs 65536 42.56ms 649.49ns 2.39ms 36.40ns 67.27ms 1026.50ns 3.43ms 52.30ns 27.21ms 415.22ns -MapsDs 65536 41.58ms 634.52ns 2.57ms 39.18ns 65.20ms 994.85ns 3.28ms 50.07ns 27.98ms 426.87ns -MapsDs 65536 39.88ms 608.49ns 2.41ms 36.73ns 63.14ms 963.45ns 3.35ms 51.09ns 28.32ms 432.17ns -MapsDs 65536 46.23ms 705.40ns 2.91ms 44.33ns 63.78ms 973.26ns 3.45ms 52.65ns 26.41ms 403.06ns -MapsDs 65536 39.73ms 606.31ns 2.44ms 37.27ns 62.34ms 951.27ns 3.25ms 49.63ns 25.31ms 386.17ns -MapsDs 65536 37.88ms 578.02ns 2.58ms 39.44ns 62.13ms 948.10ns 4.14ms 63.21ns 25.18ms 384.16ns -MapsDs 65536 42.15ms 643.10ns 2.42ms 36.91ns 66.72ms 1018.00ns 3.63ms 55.34ns 28.02ms 427.61ns -MapsDs 65536 48.26ms 736.36ns 2.58ms 39.42ns 64.73ms 987.77ns 3.61ms 55.10ns 26.07ms 397.87ns -MapsDs 65536 43.14ms 658.29ns 2.37ms 36.15ns 67.28ms 1026.56ns 3.81ms 58.11ns 25.75ms 392.85ns -MapsDs 65536 42.57ms 649.53ns 2.37ms 36.21ns 63.14ms 963.39ns 3.27ms 49.91ns 24.86ms 379.31ns -MapsDs 65536 44.03ms 671.92ns 5.45ms 83.11ns 65.82ms 1004.32ns 3.63ms 55.34ns 33.27ms 507.60ns -MapsDs 131072 129.80ms 990.26ns 8.15ms 62.19ns 183.81ms 1402.36ns 12.14ms 92.63ns 96.49ms 736.15ns -MapsDs 131072 111.04ms 847.20ns 4.98ms 38.00ns 155.02ms 1182.74ns 7.60ms 57.99ns 74.10ms 565.37ns -MapsDs 131072 97.72ms 745.58ns 4.87ms 37.14ns 167.48ms 1277.76ns 8.18ms 62.38ns 74.36ms 567.33ns -MapsDs 131072 105.99ms 808.67ns 5.40ms 41.18ns 156.36ms 1192.96ns 8.09ms 61.74ns 72.35ms 552.00ns -MapsDs 131072 110.16ms 840.42ns 5.54ms 42.27ns 156.19ms 1191.62ns 8.32ms 63.44ns 83.87ms 639.91ns -MapsDs 131072 126.93ms 968.39ns 4.90ms 37.36ns 150.76ms 1150.21ns 7.96ms 60.73ns 70.82ms 540.33ns -MapsDs 131072 104.38ms 796.36ns 4.87ms 37.12ns 158.60ms 1210.01ns 8.11ms 61.85ns 87.72ms 669.24ns -MapsDs 131072 119.60ms 912.48ns 5.22ms 39.80ns 160.80ms 1226.79ns 8.35ms 63.71ns 77.27ms 589.55ns -MapsDs 131072 104.10ms 794.23ns 5.24ms 40.01ns 155.61ms 1187.21ns 9.08ms 69.31ns 72.86ms 555.85ns -MapsDs 131072 100.96ms 770.24ns 5.02ms 38.28ns 156.24ms 1192.01ns 7.94ms 60.58ns 79.41ms 605.86ns -MapsDs 131072 106.10ms 809.47ns 6.09ms 46.45ns 157.31ms 1200.20ns 7.67ms 58.52ns 76.16ms 581.02ns -MapsDs 131072 104.56ms 797.76ns 4.80ms 36.59ns 153.60ms 1171.87ns 11.13ms 84.95ns 68.58ms 523.26ns -MapsDs 131072 103.36ms 788.59ns 4.80ms 36.65ns 172.46ms 1315.80ns 10.58ms 80.69ns 84.06ms 641.33ns -MapsDs 131072 111.77ms 852.75ns 4.81ms 36.73ns 161.58ms 1232.78ns 7.66ms 58.41ns 70.75ms 539.80ns -MapsDs 131072 103.33ms 788.33ns 4.87ms 37.14ns 150.86ms 1150.97ns 7.67ms 58.49ns 71.11ms 542.52ns -MapsDs 131072 101.92ms 777.59ns 4.77ms 36.40ns 156.26ms 1192.13ns 9.45ms 72.13ns 88.92ms 678.40ns -MapsDs 131072 120.43ms 918.84ns 7.34ms 56.01ns 163.26ms 1245.58ns 8.49ms 64.77ns 71.19ms 543.13ns -MapsDs 131072 110.47ms 842.85ns 7.02ms 53.52ns 158.35ms 1208.10ns 7.87ms 60.03ns 72.89ms 556.11ns -MapsDs 131072 102.27ms 780.24ns 4.90ms 37.41ns 159.79ms 1219.09ns 10.49ms 80.01ns 79.50ms 606.50ns -MapsDs 131072 113.54ms 866.24ns 4.96ms 37.82ns 155.00ms 1182.54ns 7.07ms 53.97ns 64.30ms 490.61ns -MapsDs 131072 124.98ms 953.50ns 6.16ms 46.99ns 157.18ms 1199.18ns 8.52ms 65.01ns 74.16ms 565.79ns -MapsDs 131072 104.96ms 800.76ns 5.02ms 38.31ns 148.97ms 1136.57ns 9.20ms 70.20ns 83.11ms 634.07ns -MapsDs 524288 615.19ms 1173.37ns 26.58ms 50.70ns 820.05ms 1564.12ns 42.66ms 81.37ns 483.16ms 921.56ns -MapsDs 524288 659.33ms 1257.57ns 27.75ms 52.92ns 843.34ms 1608.54ns 32.48ms 61.95ns 478.51ms 912.68ns -MapsDs 524288 649.41ms 1238.64ns 38.08ms 72.63ns 861.21ms 1642.63ns 36.36ms 69.35ns 470.70ms 897.79ns -MapsDs 524288 640.18ms 1221.04ns 33.63ms 64.14ns 864.30ms 1648.52ns 36.20ms 69.04ns 455.84ms 869.44ns -MapsDs 524288 599.22ms 1142.92ns 23.01ms 43.89ns 807.61ms 1540.40ns 33.12ms 63.17ns 454.86ms 867.58ns -MapsDs 524288 630.44ms 1202.47ns 24.73ms 47.17ns 850.54ms 1622.27ns 34.56ms 65.91ns 442.48ms 843.96ns -MapsDs 524288 615.20ms 1173.40ns 24.57ms 46.87ns 824.64ms 1572.87ns 29.96ms 57.14ns 468.48ms 893.55ns -MapsDs 524288 643.18ms 1226.77ns 23.30ms 44.43ns 853.99ms 1628.86ns 40.58ms 77.40ns 482.78ms 920.82ns -MapsDs 524288 646.51ms 1233.11ns 26.61ms 50.76ns 867.45ms 1654.53ns 40.17ms 76.62ns 450.69ms 859.61ns -MapsDs 524288 629.44ms 1200.57ns 30.63ms 58.42ns 822.58ms 1568.95ns 33.81ms 64.49ns 450.77ms 859.78ns -MapsDs 524288 651.90ms 1243.39ns 30.09ms 57.39ns 849.45ms 1620.19ns 31.49ms 60.05ns 400.26ms 763.43ns -MapsDs 524288 659.04ms 1257.02ns 28.04ms 53.48ns 875.34ms 1669.58ns 34.15ms 65.14ns 479.28ms 914.16ns -MapsDs 524288 641.18ms 1222.96ns 35.80ms 68.29ns 840.44ms 1603.01ns 34.45ms 65.71ns 452.92ms 863.88ns -MapsDs 524288 595.07ms 1135.00ns 22.60ms 43.11ns 869.24ms 1657.94ns 36.60ms 69.81ns 441.31ms 841.72ns -MapsDs 524288 653.59ms 1246.62ns 22.93ms 43.74ns 863.72ms 1647.42ns 33.66ms 64.21ns 442.14ms 843.31ns -MapsDs 524288 619.61ms 1181.81ns 22.69ms 43.28ns 808.13ms 1541.39ns 30.41ms 58.01ns 424.60ms 809.86ns -MapsDs 524288 645.66ms 1231.49ns 27.50ms 52.45ns 845.69ms 1613.03ns 34.46ms 65.72ns 427.08ms 814.60ns -MapsDs 524288 684.17ms 1304.94ns 22.81ms 43.50ns 849.04ms 1619.41ns 37.18ms 70.91ns 479.11ms 913.82ns -MapsDs 524288 610.60ms 1164.62ns 23.50ms 44.83ns 901.76ms 1719.97ns 31.36ms 59.82ns 437.76ms 834.95ns -MapsDs 524288 632.93ms 1207.21ns 34.77ms 66.31ns 878.75ms 1676.07ns 41.89ms 79.89ns 447.16ms 852.88ns -MapsDs 524288 693.80ms 1323.31ns 23.57ms 44.95ns 862.62ms 1645.32ns 30.84ms 58.83ns 444.57ms 847.96ns -MapsDs 524288 652.95ms 1245.40ns 22.64ms 43.18ns 885.01ms 1688.01ns 35.15ms 67.04ns 419.66ms 800.44ns -MapsDs 1048576 1.47s 1401.47ns 58.00ms 55.31ns 2.03s 1934.19ns 56.20ms 53.59ns 2.41s 2295.09ns -MapsDs 1048576 1.50s 1434.42ns 58.57ms 55.86ns 2.07s 1973.58ns 47.11ms 44.92ns 1.29s 1228.84ns -MapsDs 1048576 1.48s 1414.80ns 51.73ms 49.33ns 1.96s 1864.97ns 69.26ms 66.05ns 1.11s 1061.72ns -MapsDs 1048576 1.35s 1290.82ns 46.21ms 44.07ns 2.00s 1904.76ns 47.54ms 45.34ns 1.14s 1089.47ns -MapsDs 1048576 1.46s 1394.70ns 48.73ms 46.47ns 2.02s 1927.86ns 59.14ms 56.40ns 1.17s 1112.42ns -MapsDs 1048576 1.47s 1402.94ns 55.92ms 53.33ns 1.89s 1804.33ns 54.76ms 52.22ns 1.16s 1106.94ns -MapsDs 1048576 1.48s 1412.80ns 48.24ms 46.01ns 2.03s 1934.47ns 63.07ms 60.15ns 1.19s 1137.17ns -MapsDs 1048576 1.47s 1398.51ns 47.97ms 45.75ns 1.98s 1883.58ns 57.10ms 54.46ns 1.14s 1091.03ns -MapsDs 1048576 1.46s 1395.66ns 56.28ms 53.68ns 1.93s 1842.92ns 60.74ms 57.92ns 1.15s 1098.14ns -MapsDs 1048576 1.38s 1314.17ns 45.12ms 43.03ns 1.96s 1873.04ns 53.53ms 51.05ns 1.13s 1074.58ns -MapsDs 1048576 1.41s 1341.20ns 58.87ms 56.14ns 1.97s 1878.02ns 61.30ms 58.46ns 1.18s 1124.47ns -MapsDs 1048576 1.44s 1368.79ns 50.45ms 48.11ns 1.90s 1814.77ns 67.97ms 64.82ns 1.12s 1064.00ns -MapsDs 1048576 1.41s 1343.95ns 56.56ms 53.94ns 1.86s 1769.47ns 48.19ms 45.95ns 1.13s 1073.21ns -MapsDs 1048576 1.40s 1337.10ns 59.97ms 57.19ns 1.91s 1820.44ns 59.64ms 56.88ns 1.17s 1117.80ns -MapsDs 1048576 1.45s 1387.22ns 63.74ms 60.79ns 1.85s 1768.66ns 53.54ms 51.06ns 1.12s 1064.30ns -MapsDs 1048576 1.42s 1354.87ns 46.69ms 44.52ns 1.93s 1838.79ns 58.03ms 55.34ns 1.19s 1130.13ns -MapsDs 1048576 1.50s 1426.58ns 44.15ms 42.10ns 2.00s 1908.89ns 47.88ms 45.66ns 1.11s 1056.28ns -MapsDs 1048576 1.49s 1425.28ns 59.09ms 56.35ns 1.98s 1890.32ns 54.88ms 52.34ns 1.17s 1113.37ns -MapsDs 1048576 1.47s 1402.55ns 53.40ms 50.92ns 2.00s 1907.82ns 48.06ms 45.83ns 1.14s 1088.76ns -MapsDs 1048576 1.43s 1361.87ns 62.87ms 59.95ns 1.99s 1897.49ns 56.70ms 54.07ns 1.15s 1096.96ns -MapsDs 1048576 1.44s 1369.97ns 56.14ms 53.54ns 1.94s 1848.47ns 46.54ms 44.38ns 1.16s 1108.53ns -MapsDs 1048576 1.48s 1415.74ns 46.68ms 44.51ns 1.90s 1809.21ns 53.76ms 51.27ns 1.10s 1050.90ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -EtsSetDs 8 5.58us 697.63ns 8.87us 1108.25ns 6.18us 772.75ns 9.75us 1218.50ns 2.38us 298.00ns -EtsSetDs 8 4.11us 513.50ns 4.23us 528.50ns 4.55us 568.50ns 6.48us 810.25ns 1.90us 238.00ns -EtsSetDs 8 3.65us 455.88ns 3.80us 474.63ns 4.35us 543.50ns 5.91us 738.88ns 1.71us 214.25ns -EtsSetDs 8 3.44us 429.63ns 3.49us 435.75ns 4.31us 538.50ns 5.34us 667.50ns 1.68us 210.38ns -EtsSetDs 8 4.52us 564.88ns 5.63us 703.75ns 5.53us 691.38ns 7.59us 949.25ns 2.28us 285.50ns -EtsSetDs 8 3.50us 437.13ns 4.48us 559.75ns 5.32us 665.00ns 7.26us 907.88ns 2.34us 291.88ns -EtsSetDs 8 4.75us 593.63ns 5.27us 658.75ns 5.95us 743.88ns 8.00us 999.38ns 2.27us 284.25ns -EtsSetDs 8 4.77us 596.00ns 5.13us 641.25ns 5.50us 687.50ns 7.37us 921.75ns 2.24us 280.50ns -EtsSetDs 8 5.00us 624.88ns 4.84us 604.88ns 18.15us 2269.25ns 11.22us 1402.63ns 2.71us 338.13ns -EtsSetDs 8 5.59us 698.88ns 5.55us 693.75ns 5.55us 693.75ns 7.47us 934.25ns 1.89us 236.75ns -EtsSetDs 8 5.27us 658.63ns 5.95us 744.00ns 4.90us 612.38ns 6.73us 841.50ns 1.79us 224.25ns -EtsSetDs 8 4.39us 548.50ns 9.10us 1137.13ns 6.43us 804.00ns 8.05us 1006.88ns 2.40us 300.50ns -EtsSetDs 8 6.17us 771.50ns 5.70us 712.50ns 4.31us 538.50ns 6.37us 796.50ns 1.75us 219.25ns -EtsSetDs 8 4.93us 616.13ns 5.95us 743.88ns 5.89us 736.38ns 7.74us 966.88ns 2.20us 275.50ns -EtsSetDs 8 3.67us 458.38ns 4.20us 524.75ns 4.08us 509.75ns 10.98us 1372.50ns 2.71us 338.13ns -EtsSetDs 8 4.70us 587.38ns 5.39us 673.75ns 5.64us 705.00ns 7.74us 966.88ns 2.71us 338.13ns -EtsSetDs 8 5.78us 722.50ns 44.97us 5621.50ns 27.80us 3475.50ns 10.10us 1262.38ns 2.57us 321.75ns -EtsSetDs 8 5.00us 625.00ns 6.30us 787.63ns 9.64us 1204.75ns 8.04us 1005.63ns 1.88us 235.50ns -EtsSetDs 8 5.00us 624.88ns 5.91us 738.88ns 5.95us 743.88ns 7.76us 970.63ns 3.00us 374.38ns -EtsSetDs 8 4.73us 591.13ns 5.29us 661.25ns 5.52us 690.00ns 8.04us 1005.63ns 2.28us 285.50ns -EtsSetDs 8 4.76us 594.88ns 5.37us 671.25ns 5.35us 668.75ns 8.03us 1003.13ns 2.37us 296.75ns -EtsSetDs 8 4.96us 619.88ns 5.27us 658.75ns 5.26us 657.38ns 7.88us 984.38ns 2.15us 269.25ns -EtsSetDs 16 9.04us 564.81ns 8.90us 556.06ns 17.36us 1085.13ns 11.43us 714.50ns 16.27us 1016.88ns -EtsSetDs 16 8.07us 504.69ns 8.49us 530.38ns 9.88us 617.38ns 10.70us 668.75ns 3.80us 237.31ns -EtsSetDs 16 7.63us 477.13ns 7.52us 470.25ns 20.05us 1252.94ns 12.48us 780.25ns 4.08us 254.81ns -EtsSetDs 16 7.97us 498.44ns 8.10us 505.94ns 9.63us 601.75ns 10.18us 636.19ns 3.87us 241.69ns -EtsSetDs 16 8.03us 501.56ns 9.11us 569.19ns 10.28us 642.44ns 11.44us 715.06ns 4.54us 283.69ns -EtsSetDs 16 8.35us 521.56ns 8.26us 516.00ns 9.36us 584.81ns 10.55us 659.38ns 3.92us 244.81ns -EtsSetDs 16 8.83us 551.63ns 8.29us 517.88ns 11.11us 694.38ns 10.89us 680.69ns 4.15us 259.19ns -EtsSetDs 16 7.93us 495.94ns 18.73us 1170.31ns 9.90us 618.63ns 10.85us 678.13ns 3.90us 243.63ns -EtsSetDs 16 8.31us 519.69ns 8.81us 550.44ns 10.68us 667.44ns 10.68us 667.50ns 4.53us 283.06ns -EtsSetDs 16 12.94us 809.00ns 10.33us 645.63ns 10.83us 676.88ns 10.78us 673.75ns 4.24us 264.88ns -EtsSetDs 16 7.71us 482.19ns 7.29us 455.81ns 10.37us 648.13ns 10.73us 670.63ns 4.09us 255.44ns -EtsSetDs 16 7.59us 474.63ns 6.93us 433.31ns 9.94us 621.13ns 10.39us 649.38ns 4.00us 249.81ns -EtsSetDs 16 7.91us 494.06ns 7.59us 474.63ns 9.83us 614.25ns 10.24us 639.94ns 4.17us 260.50ns -EtsSetDs 16 8.20us 512.19ns 8.32us 520.31ns 10.57us 660.63ns 10.31us 644.31ns 4.27us 266.75ns -EtsSetDs 16 8.03us 501.56ns 7.77us 485.88ns 9.94us 621.19ns 10.44us 652.44ns 4.05us 253.00ns -EtsSetDs 16 8.58us 536.00ns 8.68us 542.25ns 10.02us 626.19ns 10.12us 632.44ns 4.09us 255.44ns -EtsSetDs 16 9.01us 562.94ns 7.87us 491.56ns 9.71us 606.75ns 10.10us 631.19ns 4.16us 259.81ns -EtsSetDs 16 7.90us 494.00ns 7.55us 472.19ns 7.34us 458.94ns 7.45us 465.88ns 2.86us 178.44ns -EtsSetDs 16 8.43us 526.63ns 8.64us 539.75ns 10.21us 638.06ns 9.59us 599.25ns 2.92us 182.81ns -EtsSetDs 16 8.03us 501.56ns 7.74us 484.00ns 10.14us 633.69ns 9.94us 621.19ns 4.06us 253.56ns -EtsSetDs 16 7.71us 482.19ns 7.78us 486.50ns 10.05us 628.06ns 10.43us 651.81ns 4.09us 255.50ns -EtsSetDs 16 8.21us 512.81ns 8.04us 502.81ns 10.28us 642.44ns 9.11us 569.19ns 2.94us 183.44ns -EtsSetDs 32 15.71us 490.94ns 11.13us 347.81ns 19.86us 620.53ns 16.86us 526.94ns 7.52us 235.13ns -EtsSetDs 32 41.88us 1308.69ns 12.27us 383.53ns 20.20us 631.16ns 17.98us 562.00ns 7.67us 239.81ns -EtsSetDs 32 17.41us 544.16ns 10.99us 343.44ns 20.34us 635.56ns 16.85us 526.59ns 7.78us 242.97ns -EtsSetDs 32 16.65us 520.34ns 14.14us 441.75ns 22.61us 706.66ns 18.82us 587.97ns 7.70us 240.75ns -EtsSetDs 32 22.19us 693.47ns 14.03us 438.31ns 23.18us 724.47ns 22.67us 708.53ns 6.59us 206.00ns -EtsSetDs 32 14.40us 449.91ns 8.83us 275.81ns 16.56us 517.53ns 12.80us 400.13ns 6.42us 200.69ns -EtsSetDs 32 19.88us 621.16ns 11.81us 369.13ns 20.77us 649.00ns 16.22us 506.91ns 7.39us 231.03ns -EtsSetDs 32 20.33us 635.25ns 13.13us 410.16ns 18.80us 587.66ns 13.38us 418.28ns 5.57us 174.06ns -EtsSetDs 32 14.98us 468.06ns 11.17us 349.09ns 18.56us 580.13ns 15.36us 479.97ns 6.93us 216.66ns -EtsSetDs 32 11.26us 351.91ns 7.60us 237.63ns 13.86us 433.00ns 10.85us 339.06ns 5.07us 158.44ns -EtsSetDs 32 11.95us 373.53ns 7.61us 237.94ns 13.68us 427.34ns 10.90us 340.66ns 4.99us 155.91ns -EtsSetDs 32 16.89us 527.84ns 10.80us 337.50ns 16.46us 514.41ns 11.07us 345.97ns 5.05us 157.78ns -EtsSetDs 32 12.39us 387.28ns 8.33us 260.19ns 13.76us 429.84ns 10.73us 335.31ns 5.20us 162.50ns -EtsSetDs 32 15.81us 494.03ns 9.86us 308.09ns 17.95us 561.03ns 12.80us 400.13ns 5.26us 164.38ns -EtsSetDs 32 18.46us 577.03ns 19.66us 614.25ns 17.54us 548.22ns 11.11us 347.22ns 5.03us 157.16ns -EtsSetDs 32 13.73us 429.22ns 9.06us 283.03ns 13.56us 423.63ns 10.79us 337.19ns 5.03us 157.16ns -EtsSetDs 32 17.00us 531.31ns 11.17us 349.09ns 14.18us 443.00ns 11.34us 354.41ns 5.07us 158.44ns -EtsSetDs 32 15.39us 480.91ns 10.72us 335.00ns 16.00us 500.00ns 11.10us 346.88ns 5.17us 161.56ns -EtsSetDs 32 31.03us 969.63ns 14.22us 444.25ns 18.77us 586.41ns 15.67us 489.66ns 7.01us 219.16ns -EtsSetDs 32 16.43us 513.47ns 11.09us 346.59ns 19.50us 609.25ns 13.78us 430.50ns 5.21us 162.78ns -EtsSetDs 32 14.95us 467.09ns 9.82us 306.84ns 18.21us 569.19ns 14.80us 462.41ns 6.05us 189.09ns -EtsSetDs 32 15.16us 473.69ns 9.47us 295.88ns 15.27us 477.13ns 10.83us 338.47ns 5.17us 161.53ns -EtsSetDs 64 41.74us 652.16ns 12.59us 196.77ns 26.82us 419.06ns 20.61us 322.00ns 9.82us 153.42ns -EtsSetDs 64 21.06us 329.05ns 12.11us 189.27ns 26.87us 419.84ns 19.38us 302.75ns 9.85us 153.88ns -EtsSetDs 64 23.53us 367.72ns 18.95us 296.02ns 32.71us 511.11ns 67.85us 1060.19ns 14.19us 221.66ns -EtsSetDs 64 21.82us 340.95ns 12.93us 202.09ns 26.94us 420.94ns 20.46us 319.67ns 9.78us 152.78ns -EtsSetDs 64 27.91us 436.13ns 15.52us 242.48ns 26.50us 414.05ns 19.72us 308.08ns 9.95us 155.45ns -EtsSetDs 64 21.09us 329.52ns 12.28us 191.92ns 26.45us 413.27ns 19.25us 300.72ns 9.78us 152.78ns -EtsSetDs 64 28.80us 450.05ns 17.01us 265.81ns 27.67us 432.38ns 19.34us 302.13ns 9.78us 152.78ns -EtsSetDs 64 21.50us 335.94ns 12.14us 189.72ns 26.34us 411.55ns 18.73us 292.73ns 9.82us 153.42ns -EtsSetDs 64 40.99us 640.41ns 16.56us 258.77ns 44.35us 693.02ns 31.13us 486.38ns 9.91us 154.81ns -EtsSetDs 64 24.56us 383.69ns 18.59us 290.39ns 26.67us 416.70ns 18.63us 291.02ns 9.64us 150.59ns -EtsSetDs 64 21.19us 331.09ns 17.54us 274.09ns 26.76us 418.13ns 26.43us 412.95ns 9.89us 154.52ns -EtsSetDs 64 24.92us 389.33ns 13.03us 203.66ns 28.65us 447.70ns 31.60us 493.73ns 9.85us 153.88ns -EtsSetDs 64 23.35us 364.91ns 12.43us 194.27ns 26.52us 414.36ns 18.64us 291.33ns 9.87us 154.19ns -EtsSetDs 64 20.78us 324.67ns 11.54us 180.33ns 52.23us 816.02ns 30.25us 472.61ns 13.87us 216.64ns -EtsSetDs 64 29.66us 463.52ns 18.68us 291.95ns 36.68us 573.11ns 29.14us 455.38ns 13.96us 218.06ns -EtsSetDs 64 21.53us 336.41ns 12.35us 193.02ns 26.88us 420.00ns 19.29us 301.34ns 9.91us 154.83ns -EtsSetDs 64 26.84us 419.38ns 11.96us 186.92ns 26.62us 415.92ns 19.09us 298.22ns 9.81us 153.25ns -EtsSetDs 64 21.23us 331.72ns 11.96us 186.91ns 26.20us 409.36ns 18.93us 295.86ns 9.99us 156.08ns -EtsSetDs 64 26.32us 411.23ns 12.07us 188.64ns 81.79us 1278.03ns 29.56us 461.81ns 13.49us 210.86ns -EtsSetDs 64 24.57us 383.84ns 13.80us 215.55ns 31.61us 493.89ns 26.71us 417.34ns 13.55us 211.80ns -EtsSetDs 64 25.41us 397.00ns 22.64us 353.78ns 34.26us 535.38ns 26.22us 409.67ns 12.09us 188.94ns -EtsSetDs 64 26.20us 409.36ns 15.14us 236.53ns 31.94us 499.05ns 34.62us 540.86ns 11.74us 183.47ns -EtsSetDs 128 85.81us 670.39ns 121.66us 950.48ns 68.72us 536.86ns 34.14us 266.75ns 31.64us 247.18ns -EtsSetDs 128 46.20us 360.91ns 21.48us 167.81ns 72.59us 567.15ns 71.45us 558.23ns 28.18us 220.17ns -EtsSetDs 128 46.21us 360.98ns 20.86us 162.96ns 121.75us 951.14ns 38.39us 299.94ns 27.51us 214.93ns -EtsSetDs 128 98.34us 768.30ns 41.40us 323.41ns 97.44us 761.27ns 57.94us 452.64ns 43.89us 342.91ns -EtsSetDs 128 75.34us 588.60ns 39.80us 310.97ns 93.04us 726.90ns 55.12us 430.65ns 43.44us 339.38ns -EtsSetDs 128 73.97us 577.88ns 38.76us 302.83ns 110.16us 860.59ns 58.41us 456.32ns 43.90us 342.98ns -EtsSetDs 128 73.96us 577.80ns 40.05us 312.85ns 93.83us 733.08ns 57.04us 445.60ns 43.90us 342.98ns -EtsSetDs 128 77.24us 603.47ns 37.34us 291.71ns 94.56us 738.73ns 55.74us 435.49ns 44.22us 345.49ns -EtsSetDs 128 75.54us 590.16ns 37.69us 294.45ns 93.17us 727.91ns 54.73us 427.59ns 44.52us 347.84ns -EtsSetDs 128 72.78us 568.56ns 39.93us 311.98ns 93.20us 728.16ns 57.57us 449.74ns 44.39us 346.82ns -EtsSetDs 128 78.37us 612.23ns 37.42us 292.34ns 132.59us 1035.84ns 56.21us 439.17ns 35.42us 276.69ns -EtsSetDs 128 74.44us 581.55ns 37.92us 296.26ns 86.42us 675.16ns 56.88us 444.34ns 44.17us 345.09ns -EtsSetDs 128 69.84us 545.63ns 29.18us 227.93ns 82.00us 640.65ns 50.05us 391.04ns 32.46us 253.59ns -EtsSetDs 128 83.34us 651.13ns 39.26us 306.75ns 81.06us 633.29ns 56.74us 443.32ns 41.87us 327.09ns -EtsSetDs 128 74.83us 584.60ns 38.50us 300.80ns 89.30us 697.63ns 55.09us 430.41ns 37.00us 289.05ns -EtsSetDs 128 89.04us 695.59ns 39.42us 308.00ns 83.33us 650.98ns 56.49us 441.37ns 41.00us 320.29ns -EtsSetDs 128 71.26us 556.74ns 37.69us 294.45ns 93.64us 731.52ns 55.57us 434.16ns 36.95us 288.66ns -EtsSetDs 128 79.60us 621.86ns 39.29us 306.98ns 92.96us 726.27ns 67.92us 530.60ns 36.74us 287.02ns -EtsSetDs 128 77.70us 607.07ns 37.49us 292.89ns 95.44us 745.61ns 55.83us 436.20ns 33.45us 261.34ns -EtsSetDs 128 74.38us 581.09ns 36.16us 282.48ns 81.24us 634.70ns 55.85us 436.36ns 39.83us 311.20ns -EtsSetDs 128 130.87us 1022.41ns 24.00us 187.54ns 59.00us 460.94ns 34.17us 266.98ns 20.02us 156.39ns -EtsSetDs 128 39.47us 308.39ns 20.98us 163.90ns 55.88us 436.59ns 32.79us 256.18ns 25.17us 196.62ns -EtsSetDs 256 84.72us 330.93ns 41.57us 162.38ns 118.52us 462.97ns 67.02us 261.78ns 42.97us 167.85ns -EtsSetDs 256 208.62us 814.94ns 59.17us 231.13ns 120.72us 471.58ns 67.64us 264.20ns 41.54us 162.25ns -EtsSetDs 256 94.93us 370.81ns 40.70us 158.97ns 134.31us 524.65ns 66.64us 260.33ns 59.21us 231.29ns -EtsSetDs 256 83.53us 326.31ns 40.48us 158.11ns 105.02us 410.21ns 65.42us 255.55ns 39.27us 153.41ns -EtsSetDs 256 96.03us 375.11ns 46.81us 182.84ns 137.04us 535.30ns 71.89us 280.84ns 45.00us 175.79ns -EtsSetDs 256 94.54us 369.28ns 40.73us 159.09ns 119.62us 467.28ns 64.94us 253.68ns 42.87us 167.46ns -EtsSetDs 256 92.16us 360.00ns 40.79us 159.32ns 124.15us 484.97ns 84.89us 331.59ns 44.54us 174.00ns -EtsSetDs 256 114.46us 447.12ns 40.86us 159.59ns 165.81us 647.69ns 66.44us 259.55ns 50.92us 198.92ns -EtsSetDs 256 110.22us 430.53ns 40.72us 159.05ns 144.63us 564.96ns 102.61us 400.82ns 61.76us 241.23ns -EtsSetDs 256 102.68us 401.10ns 40.51us 158.22ns 152.18us 594.47ns 65.26us 254.93ns 52.64us 205.62ns -EtsSetDs 256 109.11us 426.22ns 41.45us 161.90ns 147.22us 575.06ns 79.04us 308.74ns 38.85us 151.77ns -EtsSetDs 256 83.58us 326.47ns 61.33us 239.59ns 122.96us 480.31ns 65.36us 255.32ns 52.88us 206.56ns -EtsSetDs 256 90.92us 355.16ns 53.41us 208.63ns 204.43us 798.54ns 86.83us 339.18ns 40.02us 156.31ns -EtsSetDs 256 112.12us 437.96ns 42.24us 164.99ns 139.36us 544.38ns 64.55us 252.15ns 59.33us 231.76ns -EtsSetDs 256 88.78us 346.78ns 51.02us 199.28ns 182.57us 713.16ns 65.75us 256.85ns 42.46us 165.86ns -EtsSetDs 256 86.78us 338.99ns 69.47us 271.37ns 133.05us 519.72ns 64.23us 250.89ns 43.78us 171.02ns -EtsSetDs 256 87.51us 341.85ns 101.35us 395.91ns 165.48us 646.40ns 65.18us 254.62ns 39.94us 156.03ns -EtsSetDs 256 86.82us 339.14ns 39.75us 155.29ns 113.65us 443.95ns 64.20us 250.78ns 40.05us 156.46ns -EtsSetDs 256 83.76us 327.17ns 40.38us 157.71ns 133.02us 519.60ns 64.95us 253.71ns 38.79us 151.53ns -EtsSetDs 256 83.23us 325.14ns 40.24us 157.21ns 115.88us 452.64ns 73.06us 285.38ns 38.98us 152.27ns -EtsSetDs 256 96.34us 376.33ns 40.47us 158.07ns 151.18us 590.55ns 78.45us 306.43ns 40.06us 156.50ns -EtsSetDs 256 86.20us 336.72ns 41.05us 160.34ns 116.87us 456.52ns 64.30us 251.17ns 41.36us 161.55ns -EtsSetDs 516 189.76us 367.76ns 89.66us 173.75ns 261.29us 506.37ns 147.81us 286.45ns 64.48us 124.96ns -EtsSetDs 516 248.43us 481.46ns 114.19us 221.30ns 308.05us 597.00ns 246.25us 477.23ns 163.72us 317.28ns -EtsSetDs 516 329.74us 639.04ns 163.97us 317.78ns 338.28us 655.58ns 202.77us 392.96ns 142.62us 276.39ns -EtsSetDs 516 420.00us 813.95ns 150.33us 291.34ns 246.74us 478.18ns 145.93us 282.81ns 176.29us 341.64ns -EtsSetDs 516 299.24us 579.92ns 124.93us 242.12ns 384.83us 745.79ns 227.20us 440.32ns 145.52us 282.02ns -EtsSetDs 516 283.22us 548.87ns 158.02us 306.25ns 330.98us 641.43ns 206.37us 399.95ns 135.88us 263.34ns -EtsSetDs 516 304.14us 589.43ns 91.66us 177.64ns 236.01us 457.38ns 168.36us 326.28ns 96.95us 187.89ns -EtsSetDs 516 320.34us 620.81ns 168.48us 326.52ns 349.42us 677.17ns 246.53us 477.77ns 139.19us 269.76ns -EtsSetDs 516 221.87us 429.99ns 105.75us 204.94ns 237.86us 460.97ns 140.77us 272.82ns 127.99us 248.04ns -EtsSetDs 516 220.03us 426.41ns 88.04us 170.63ns 229.65us 445.05ns 136.34us 264.23ns 100.55us 194.86ns -EtsSetDs 516 351.99us 682.14ns 163.03us 315.96ns 385.18us 746.47ns 242.81us 470.57ns 160.76us 311.55ns -EtsSetDs 516 346.37us 671.25ns 189.08us 366.44ns 364.94us 707.25ns 215.63us 417.89ns 153.47us 297.41ns -EtsSetDs 516 350.11us 678.51ns 159.59us 309.28ns 358.42us 694.61ns 247.63us 479.91ns 80.13us 155.29ns -EtsSetDs 516 220.36us 427.06ns 86.64us 167.91ns 233.99us 453.46ns 135.90us 263.38ns 123.92us 240.16ns -EtsSetDs 516 193.05us 374.13ns 85.52us 165.73ns 247.56us 479.77ns 135.60us 262.80ns 95.73us 185.52ns -EtsSetDs 516 237.07us 459.44ns 85.72us 166.12ns 238.76us 462.72ns 136.03us 263.63ns 92.61us 179.48ns -EtsSetDs 516 209.91us 406.80ns 86.43us 167.50ns 229.82us 445.38ns 136.16us 263.88ns 94.83us 183.77ns -EtsSetDs 516 208.17us 403.43ns 146.49us 283.90ns 274.61us 532.19ns 138.89us 269.16ns 94.81us 183.73ns -EtsSetDs 516 255.22us 494.60ns 87.82us 170.20ns 236.68us 458.68ns 137.39us 266.25ns 93.44us 181.09ns -EtsSetDs 516 194.73us 377.39ns 88.18us 170.90ns 270.21us 523.66ns 138.52us 268.45ns 97.31us 188.59ns -EtsSetDs 516 199.71us 387.04ns 87.10us 168.80ns 294.91us 571.54ns 161.26us 312.52ns 108.63us 210.53ns -EtsSetDs 516 219.81us 425.99ns 106.00us 205.42ns 303.85us 588.85ns 174.51us 338.21ns 112.25us 217.54ns -EtsSetDs 1024 553.98us 540.99ns 212.29us 207.31ns 523.84us 511.56ns 688.19us 672.06ns 347.23us 339.09ns -EtsSetDs 1024 751.05us 733.45ns 202.88us 198.12ns 471.52us 460.47ns 268.85us 262.55ns 221.77us 216.58ns -EtsSetDs 1024 393.22us 384.01ns 157.91us 154.21ns 494.06us 482.48ns 261.08us 254.96ns 189.83us 185.38ns -EtsSetDs 1024 415.03us 405.31ns 153.83us 150.22ns 447.29us 436.81ns 309.97us 302.71ns 185.96us 181.60ns -EtsSetDs 1024 411.77us 402.12ns 182.80us 178.52ns 448.31us 437.80ns 261.63us 255.50ns 229.53us 224.15ns -EtsSetDs 1024 421.69us 411.80ns 154.98us 151.35ns 462.29us 451.46ns 261.40us 255.27ns 182.58us 178.30ns -EtsSetDs 1024 412.92us 403.24ns 154.24us 150.62ns 479.71us 468.47ns 335.23us 327.37ns 197.97us 193.33ns -EtsSetDs 1024 539.50us 526.86ns 159.49us 155.75ns 440.97us 430.64ns 262.51us 256.36ns 226.06us 220.76ns -EtsSetDs 1024 401.56us 392.15ns 157.53us 153.84ns 488.19us 476.75ns 265.90us 259.67ns 187.97us 183.56ns -EtsSetDs 1024 479.11us 467.88ns 225.21us 219.93ns 519.05us 506.88ns 263.61us 257.43ns 174.58us 170.48ns -EtsSetDs 1024 525.14us 512.83ns 215.84us 210.78ns 521.76us 509.53ns 310.47us 303.20ns 193.01us 188.49ns -EtsSetDs 1024 481.82us 470.52ns 158.52us 154.80ns 457.41us 446.69ns 258.95us 252.88ns 221.35us 216.16ns -EtsSetDs 1024 400.10us 390.72ns 174.74us 170.64ns 490.87us 479.37ns 262.06us 255.92ns 180.74us 176.50ns -EtsSetDs 1024 665.97us 650.36ns 309.38us 302.13ns 513.21us 501.18ns 260.33us 254.23ns 188.56us 184.14ns -EtsSetDs 1024 693.88us 677.62ns 316.77us 309.35ns 727.90us 710.84ns 499.08us 487.38ns 361.98us 353.50ns -EtsSetDs 1024 734.12us 716.91ns 289.91us 283.12ns 681.27us 665.30ns 486.15us 474.75ns 337.59us 329.68ns -EtsSetDs 1024 681.49us 665.52ns 267.27us 261.00ns 726.09us 709.07ns 304.64us 297.50ns 210.04us 205.12ns -EtsSetDs 1024 588.26us 574.47ns 197.03us 192.41ns 486.98us 475.56ns 263.56us 257.38ns 191.69us 187.19ns -EtsSetDs 1024 518.74us 506.58ns 157.66us 153.97ns 466.74us 455.80ns 303.36us 296.25ns 190.38us 185.91ns -EtsSetDs 1024 559.86us 546.74ns 161.10us 157.32ns 447.69us 437.20ns 284.97us 278.29ns 187.34us 182.95ns -EtsSetDs 1024 400.11us 390.73ns 156.61us 152.94ns 575.63us 562.14ns 257.90us 251.86ns 181.95us 177.68ns -EtsSetDs 1024 421.76us 411.87ns 158.21us 154.50ns 482.59us 471.28ns 264.27us 258.08ns 185.87us 181.51ns -EtsSetDs 2048 1.23ms 600.82ns 634.77us 309.95ns 1.42ms 693.30ns 629.56us 307.40ns 379.61us 185.35ns -EtsSetDs 2048 819.59us 400.19ns 340.12us 166.08ns 895.39us 437.20ns 515.71us 251.81ns 402.12us 196.35ns -EtsSetDs 2048 793.59us 387.49ns 335.67us 163.90ns 979.33us 478.19ns 751.90us 367.14ns 367.86us 179.62ns -EtsSetDs 2048 902.86us 440.85ns 344.57us 168.25ns 1.06ms 517.41ns 772.85us 377.37ns 685.71us 334.82ns -EtsSetDs 2048 1.09ms 533.56ns 317.26us 154.91ns 1.63ms 797.11ns 1.19ms 580.00ns 885.20us 432.23ns -EtsSetDs 2048 1.67ms 813.58ns 668.93us 326.62ns 1.40ms 683.98ns 969.75us 473.51ns 598.42us 292.20ns -EtsSetDs 2048 906.32us 442.54ns 323.10us 157.76ns 912.51us 445.56ns 561.17us 274.01ns 373.94us 182.59ns -EtsSetDs 2048 860.60us 420.22ns 314.02us 153.33ns 888.84us 434.00ns 554.50us 270.75ns 356.41us 174.03ns -EtsSetDs 2048 931.13us 454.66ns 310.66us 151.69ns 1.41ms 689.12ns 952.60us 465.13ns 670.71us 327.50ns -EtsSetDs 2048 1.41ms 689.86ns 644.24us 314.57ns 1.46ms 712.16ns 943.51us 460.70ns 675.53us 329.85ns -EtsSetDs 2048 1.39ms 677.58ns 642.50us 313.72ns 1.41ms 687.06ns 771.98us 376.94ns 454.83us 222.08ns -EtsSetDs 2048 1.12ms 548.26ns 475.38us 232.12ns 1.61ms 786.04ns 1.19ms 580.28ns 882.51us 430.92ns -EtsSetDs 2048 1.83ms 892.13ns 679.45us 331.76ns 1.41ms 686.23ns 962.97us 470.20ns 702.16us 342.85ns -EtsSetDs 2048 1.44ms 704.69ns 649.71us 317.24ns 1.45ms 709.30ns 941.64us 459.79ns 677.75us 330.93ns -EtsSetDs 2048 902.89us 440.87ns 340.18us 166.11ns 1.01ms 490.85ns 523.10us 255.42ns 390.27us 190.56ns -EtsSetDs 2048 869.70us 424.66ns 341.84us 166.91ns 1.08ms 527.66ns 549.50us 268.31ns 351.67us 171.71ns -EtsSetDs 2048 859.72us 419.79ns 321.20us 156.83ns 906.14us 442.45ns 562.63us 274.72ns 365.18us 178.31ns -EtsSetDs 2048 1.56ms 763.74ns 815.29us 398.09ns 929.96us 454.08ns 544.95us 266.09ns 363.34us 177.41ns -EtsSetDs 2048 1.02ms 496.51ns 336.00us 164.06ns 1.01ms 491.25ns 854.34us 417.16ns 1.34ms 655.89ns -EtsSetDs 2048 2.60ms 1268.41ns 614.61us 300.10ns 917.91us 448.20ns 524.41us 256.06ns 535.18us 261.32ns -EtsSetDs 2048 1.87ms 914.27ns 804.58us 392.86ns 1.72ms 840.23ns 1.29ms 628.09ns 960.05us 468.77ns -EtsSetDs 2048 1.15ms 559.89ns 318.86us 155.70ns 920.16us 449.30ns 568.31us 277.49ns 379.24us 185.17ns -EtsSetDs 4096 1.75ms 426.09ns 659.34us 160.97ns 1.93ms 470.27ns 1.11ms 271.11ns 857.48us 209.35ns -EtsSetDs 4096 2.48ms 605.11ns 740.47us 180.78ns 1.98ms 482.45ns 1.66ms 404.32ns 1.22ms 298.20ns -EtsSetDs 4096 2.73ms 666.31ns 798.77us 195.01ns 2.41ms 587.19ns 1.22ms 296.86ns 911.79us 222.60ns -EtsSetDs 4096 1.71ms 417.42ns 822.16us 200.72ns 2.83ms 690.84ns 2.00ms 487.76ns 689.23us 168.27ns -EtsSetDs 4096 1.67ms 408.48ns 674.47us 164.66ns 2.11ms 515.29ns 1.17ms 285.74ns 1.31ms 320.60ns -EtsSetDs 4096 2.53ms 616.49ns 743.30us 181.47ns 1.94ms 473.62ns 1.56ms 381.19ns 994.58us 242.82ns -EtsSetDs 4096 3.11ms 759.38ns 675.83us 165.00ns 2.73ms 666.52ns 1.76ms 429.48ns 917.01us 223.88ns -EtsSetDs 4096 1.94ms 473.43ns 759.71us 185.47ns 1.87ms 455.87ns 1.30ms 317.83ns 785.82us 191.85ns -EtsSetDs 4096 1.81ms 441.37ns 630.41us 153.91ns 2.03ms 496.02ns 1.29ms 315.94ns 677.88us 165.50ns -EtsSetDs 4096 2.13ms 519.88ns 667.34us 162.93ns 2.20ms 538.13ns 1.97ms 480.21ns 1.35ms 329.91ns -EtsSetDs 4096 2.34ms 570.77ns 867.68us 211.84ns 2.07ms 506.56ns 1.26ms 306.46ns 832.40us 203.22ns -EtsSetDs 4096 1.96ms 477.76ns 673.52us 164.43ns 2.15ms 525.44ns 1.15ms 279.56ns 916.15us 223.67ns -EtsSetDs 4096 1.73ms 421.89ns 764.01us 186.53ns 1.89ms 460.31ns 1.10ms 267.83ns 723.03us 176.52ns -EtsSetDs 4096 1.71ms 417.55ns 687.00us 167.72ns 2.41ms 588.21ns 1.44ms 351.61ns 1.06ms 259.15ns -EtsSetDs 4096 2.15ms 525.04ns 770.22us 188.04ns 1.95ms 475.99ns 1.09ms 266.57ns 725.50us 177.12ns -EtsSetDs 4096 1.82ms 445.06ns 783.40us 191.26ns 2.12ms 516.91ns 1.15ms 280.25ns 1.22ms 298.12ns -EtsSetDs 4096 3.00ms 733.05ns 1.34ms 328.26ns 2.84ms 693.23ns 1.95ms 475.37ns 726.21us 177.30ns -EtsSetDs 4096 2.97ms 726.22ns 742.72us 181.33ns 2.17ms 529.38ns 1.54ms 376.57ns 1.38ms 336.45ns -EtsSetDs 4096 2.49ms 607.23ns 753.74us 184.02ns 2.04ms 498.40ns 1.24ms 303.45ns 736.10us 179.71ns -EtsSetDs 4096 1.74ms 425.97ns 629.46us 153.68ns 2.15ms 524.12ns 1.77ms 432.04ns 1.02ms 250.09ns -EtsSetDs 4096 1.77ms 432.38ns 645.80us 157.67ns 2.05ms 500.51ns 1.45ms 354.69ns 1.48ms 360.42ns -EtsSetDs 4096 1.75ms 426.97ns 659.73us 161.07ns 2.44ms 595.94ns 1.32ms 322.79ns 1.07ms 261.07ns -EtsSetDs 8192 4.05ms 494.22ns 1.30ms 158.59ns 4.23ms 516.75ns 2.75ms 335.62ns 1.82ms 221.95ns -EtsSetDs 8192 3.34ms 407.81ns 1.27ms 154.43ns 4.14ms 505.25ns 2.36ms 288.24ns 1.85ms 226.10ns -EtsSetDs 8192 4.05ms 494.37ns 1.46ms 178.62ns 6.20ms 756.57ns 2.38ms 290.03ns 1.85ms 226.26ns -EtsSetDs 8192 4.16ms 507.97ns 1.50ms 182.76ns 3.98ms 485.99ns 2.32ms 282.69ns 1.79ms 218.67ns -EtsSetDs 8192 3.97ms 485.11ns 1.34ms 163.02ns 4.42ms 539.65ns 2.19ms 267.10ns 1.82ms 222.00ns -EtsSetDs 8192 3.34ms 407.18ns 1.30ms 158.33ns 4.44ms 541.81ns 3.36ms 410.29ns 2.43ms 297.14ns -EtsSetDs 8192 3.43ms 418.89ns 1.40ms 171.23ns 4.95ms 604.06ns 2.29ms 279.29ns 1.65ms 201.19ns -EtsSetDs 8192 3.35ms 408.88ns 1.26ms 153.77ns 3.63ms 442.80ns 2.36ms 287.82ns 1.91ms 233.36ns -EtsSetDs 8192 3.99ms 486.89ns 1.52ms 186.08ns 4.61ms 562.17ns 3.42ms 417.21ns 1.87ms 227.95ns -EtsSetDs 8192 5.83ms 711.69ns 2.51ms 306.85ns 3.83ms 467.50ns 4.30ms 524.93ns 3.27ms 399.19ns -EtsSetDs 8192 3.64ms 444.73ns 1.31ms 159.39ns 4.34ms 530.22ns 2.88ms 351.82ns 1.70ms 207.39ns -EtsSetDs 8192 3.47ms 423.45ns 1.35ms 164.42ns 3.80ms 464.41ns 2.40ms 293.30ns 2.24ms 273.72ns -EtsSetDs 8192 5.17ms 630.70ns 2.52ms 307.56ns 5.44ms 664.16ns 3.11ms 379.51ns 1.84ms 224.44ns -EtsSetDs 8192 3.47ms 423.19ns 1.36ms 166.58ns 4.56ms 556.29ns 3.24ms 395.45ns 1.79ms 218.91ns -EtsSetDs 8192 3.48ms 425.28ns 1.26ms 153.30ns 3.66ms 447.32ns 2.23ms 272.49ns 1.81ms 220.55ns -EtsSetDs 8192 3.97ms 485.03ns 1.29ms 157.44ns 3.78ms 461.58ns 3.39ms 414.19ns 2.94ms 359.45ns -EtsSetDs 8192 5.51ms 672.26ns 2.63ms 321.29ns 5.34ms 652.00ns 2.27ms 276.74ns 1.69ms 205.87ns -EtsSetDs 8192 3.51ms 428.24ns 2.59ms 316.00ns 4.21ms 513.43ns 2.93ms 357.39ns 2.98ms 363.72ns -EtsSetDs 8192 3.93ms 479.56ns 1.33ms 162.46ns 3.55ms 432.87ns 2.21ms 270.29ns 1.66ms 202.80ns -EtsSetDs 8192 4.38ms 534.53ns 2.53ms 309.07ns 5.35ms 653.21ns 3.03ms 369.88ns 3.96ms 482.84ns -EtsSetDs 8192 6.21ms 757.59ns 2.56ms 311.97ns 6.06ms 740.01ns 2.25ms 274.17ns 1.74ms 212.45ns -EtsSetDs 8192 4.92ms 600.60ns 2.01ms 244.97ns 7.59ms 926.45ns 2.59ms 316.29ns 2.93ms 357.91ns -EtsSetDs 16384 8.68ms 529.79ns 2.61ms 159.37ns 8.53ms 520.82ns 7.18ms 438.17ns 4.15ms 253.03ns -EtsSetDs 16384 8.64ms 527.38ns 2.86ms 174.29ns 8.86ms 541.03ns 5.33ms 325.08ns 5.47ms 333.98ns -EtsSetDs 16384 7.91ms 482.69ns 2.58ms 157.69ns 8.79ms 536.32ns 5.19ms 316.50ns 3.70ms 225.75ns -EtsSetDs 16384 9.70ms 592.24ns 2.63ms 160.34ns 7.41ms 452.11ns 5.74ms 350.51ns 4.83ms 294.94ns -EtsSetDs 16384 11.81ms 720.85ns 3.28ms 199.93ns 12.28ms 749.30ns 5.33ms 325.04ns 6.73ms 410.84ns -EtsSetDs 16384 7.39ms 451.05ns 2.63ms 160.24ns 8.19ms 499.60ns 6.48ms 395.70ns 5.06ms 309.02ns -EtsSetDs 16384 10.12ms 617.75ns 2.66ms 162.35ns 7.73ms 471.50ns 5.51ms 336.47ns 4.29ms 261.99ns -EtsSetDs 16384 11.25ms 686.64ns 4.73ms 288.49ns 10.46ms 638.23ns 7.44ms 454.27ns 3.98ms 242.86ns -EtsSetDs 16384 8.06ms 491.99ns 5.54ms 337.90ns 10.65ms 650.20ns 8.63ms 526.99ns 3.87ms 236.19ns -EtsSetDs 16384 8.78ms 536.15ns 3.28ms 200.07ns 12.03ms 734.53ns 7.63ms 465.72ns 4.75ms 289.97ns -EtsSetDs 16384 7.17ms 437.36ns 2.66ms 162.36ns 7.87ms 480.13ns 5.20ms 317.64ns 6.02ms 367.67ns -EtsSetDs 16384 12.23ms 746.66ns 2.63ms 160.57ns 8.11ms 494.93ns 5.11ms 311.96ns 5.64ms 344.08ns -EtsSetDs 16384 7.67ms 468.27ns 2.62ms 160.16ns 7.53ms 459.84ns 5.92ms 361.59ns 7.19ms 439.11ns -EtsSetDs 16384 8.85ms 540.10ns 2.65ms 162.00ns 7.26ms 442.86ns 5.28ms 322.15ns 4.76ms 290.40ns -EtsSetDs 16384 8.28ms 505.09ns 2.60ms 158.99ns 7.42ms 453.17ns 4.72ms 288.30ns 4.46ms 272.26ns -EtsSetDs 16384 10.00ms 610.58ns 2.63ms 160.72ns 7.30ms 445.39ns 5.40ms 329.41ns 3.78ms 230.97ns -EtsSetDs 16384 10.60ms 646.95ns 4.68ms 285.43ns 8.80ms 536.90ns 4.88ms 298.11ns 3.64ms 222.33ns -EtsSetDs 16384 9.11ms 555.79ns 4.88ms 297.87ns 8.99ms 548.96ns 8.78ms 535.60ns 4.14ms 252.88ns -EtsSetDs 16384 6.91ms 421.97ns 4.30ms 262.29ns 7.38ms 450.61ns 4.89ms 298.38ns 3.89ms 237.23ns -EtsSetDs 16384 9.00ms 549.55ns 4.77ms 290.91ns 8.81ms 537.78ns 5.81ms 354.75ns 5.56ms 339.25ns -EtsSetDs 16384 9.06ms 552.73ns 3.33ms 203.20ns 7.36ms 449.13ns 5.97ms 364.58ns 5.30ms 323.70ns -EtsSetDs 16384 9.02ms 550.40ns 2.66ms 162.44ns 7.34ms 448.26ns 6.19ms 377.74ns 4.76ms 290.83ns -EtsSetDs 32768 17.08ms 521.26ns 5.64ms 172.18ns 18.09ms 552.00ns 11.87ms 362.31ns 8.67ms 264.45ns -EtsSetDs 32768 17.06ms 520.61ns 9.28ms 283.33ns 24.35ms 743.02ns 15.84ms 483.25ns 8.78ms 267.99ns -EtsSetDs 32768 16.07ms 490.48ns 5.57ms 170.09ns 19.95ms 608.81ns 11.59ms 353.66ns 8.92ms 272.10ns -EtsSetDs 32768 15.71ms 479.28ns 5.66ms 172.80ns 19.87ms 606.24ns 15.24ms 465.09ns 11.58ms 353.39ns -EtsSetDs 32768 24.63ms 751.69ns 10.73ms 327.31ns 25.17ms 768.24ns 13.97ms 426.22ns 10.35ms 315.74ns -EtsSetDs 32768 15.16ms 462.74ns 5.57ms 170.02ns 17.77ms 542.33ns 17.30ms 527.81ns 10.51ms 320.83ns -EtsSetDs 32768 19.66ms 599.98ns 9.28ms 283.34ns 22.23ms 678.45ns 12.10ms 369.34ns 9.10ms 277.83ns -EtsSetDs 32768 16.15ms 492.81ns 8.03ms 244.94ns 22.66ms 691.48ns 17.75ms 541.81ns 9.77ms 298.03ns -EtsSetDs 32768 19.80ms 604.11ns 8.63ms 263.42ns 18.74ms 571.81ns 12.36ms 377.05ns 9.38ms 286.20ns -EtsSetDs 32768 22.61ms 690.07ns 11.16ms 340.50ns 23.69ms 722.90ns 18.39ms 561.10ns 13.91ms 424.64ns -EtsSetDs 32768 17.41ms 531.45ns 11.38ms 347.38ns 20.79ms 634.46ns 17.67ms 539.13ns 13.23ms 403.65ns -EtsSetDs 32768 18.00ms 549.40ns 9.79ms 298.85ns 17.65ms 538.64ns 16.87ms 514.78ns 9.66ms 294.65ns -EtsSetDs 32768 15.77ms 481.25ns 5.85ms 178.68ns 19.61ms 598.44ns 12.19ms 372.11ns 9.99ms 304.83ns -EtsSetDs 32768 22.09ms 674.18ns 8.42ms 256.94ns 17.00ms 518.72ns 12.46ms 380.28ns 8.88ms 270.86ns -EtsSetDs 32768 19.63ms 598.95ns 6.43ms 196.37ns 21.10ms 644.04ns 15.40ms 470.09ns 11.97ms 365.25ns -EtsSetDs 32768 26.08ms 796.00ns 8.51ms 259.73ns 17.09ms 521.43ns 13.04ms 397.94ns 8.99ms 274.37ns -EtsSetDs 32768 18.24ms 556.78ns 5.84ms 178.30ns 20.63ms 629.43ns 12.84ms 391.78ns 9.50ms 289.82ns -EtsSetDs 32768 15.22ms 464.60ns 12.27ms 374.44ns 16.92ms 516.29ns 12.43ms 379.19ns 8.99ms 274.31ns -EtsSetDs 32768 20.02ms 611.03ns 6.78ms 206.78ns 21.47ms 655.31ns 13.89ms 424.01ns 15.45ms 471.38ns -EtsSetDs 32768 15.85ms 483.56ns 5.84ms 178.16ns 19.71ms 601.58ns 11.80ms 360.13ns 10.09ms 307.79ns -EtsSetDs 32768 15.76ms 480.84ns 6.10ms 186.09ns 19.51ms 595.45ns 12.85ms 392.22ns 9.17ms 279.86ns -EtsSetDs 32768 22.62ms 690.29ns 5.95ms 181.62ns 18.55ms 566.17ns 12.20ms 372.18ns 12.66ms 386.23ns -EtsSetDs 65536 43.80ms 668.34ns 18.70ms 285.36ns 37.68ms 574.92ns 26.01ms 396.85ns 18.27ms 278.76ns -EtsSetDs 65536 45.15ms 688.89ns 21.11ms 322.19ns 35.31ms 538.78ns 30.53ms 465.90ns 23.22ms 354.34ns -EtsSetDs 65536 50.78ms 774.79ns 19.08ms 291.21ns 40.66ms 620.42ns 34.03ms 519.26ns 21.86ms 333.63ns -EtsSetDs 65536 48.89ms 745.96ns 21.70ms 331.14ns 42.71ms 651.74ns 32.50ms 495.89ns 20.39ms 311.07ns -EtsSetDs 65536 49.63ms 757.31ns 16.06ms 245.05ns 41.73ms 636.71ns 34.34ms 523.95ns 20.54ms 313.43ns -EtsSetDs 65536 44.88ms 684.85ns 17.22ms 262.81ns 37.37ms 570.22ns 27.96ms 426.70ns 18.12ms 276.56ns -EtsSetDs 65536 50.31ms 767.67ns 15.49ms 236.32ns 36.64ms 559.01ns 28.17ms 429.85ns 18.83ms 287.29ns -EtsSetDs 65536 40.13ms 612.27ns 20.03ms 305.64ns 38.67ms 590.11ns 28.22ms 430.60ns 18.68ms 284.99ns -EtsSetDs 65536 44.43ms 677.92ns 15.59ms 237.86ns 37.93ms 578.75ns 26.20ms 399.71ns 20.64ms 314.98ns -EtsSetDs 65536 41.12ms 627.51ns 13.84ms 211.22ns 35.02ms 534.39ns 26.83ms 409.32ns 17.93ms 273.58ns -EtsSetDs 65536 37.99ms 579.73ns 13.78ms 210.33ns 36.02ms 549.63ns 26.22ms 400.06ns 18.02ms 275.02ns -EtsSetDs 65536 62.80ms 958.28ns 28.59ms 436.17ns 47.41ms 723.48ns 26.46ms 403.77ns 23.00ms 350.89ns -EtsSetDs 65536 51.66ms 788.26ns 16.18ms 246.92ns 34.42ms 525.17ns 38.81ms 592.24ns 19.65ms 299.90ns -EtsSetDs 65536 57.17ms 872.35ns 25.59ms 390.45ns 47.25ms 721.03ns 27.13ms 414.00ns 23.87ms 364.27ns -EtsSetDs 65536 48.14ms 734.55ns 17.99ms 274.54ns 45.47ms 693.80ns 32.20ms 491.27ns 29.20ms 445.57ns -EtsSetDs 65536 45.95ms 701.07ns 14.02ms 213.89ns 38.65ms 589.73ns 25.50ms 389.13ns 18.15ms 276.99ns -EtsSetDs 65536 43.40ms 662.22ns 13.63ms 207.92ns 38.60ms 588.92ns 30.07ms 458.76ns 19.16ms 292.38ns -EtsSetDs 65536 43.87ms 669.40ns 16.42ms 250.61ns 45.68ms 697.00ns 36.58ms 558.17ns 19.31ms 294.66ns -EtsSetDs 65536 42.57ms 649.53ns 14.89ms 227.26ns 38.25ms 583.60ns 25.77ms 393.18ns 23.60ms 360.16ns -EtsSetDs 65536 40.16ms 612.82ns 14.40ms 219.76ns 42.60ms 649.97ns 27.53ms 420.15ns 18.42ms 281.11ns -EtsSetDs 65536 41.82ms 638.20ns 14.62ms 223.11ns 34.94ms 533.10ns 28.56ms 435.76ns 24.24ms 369.82ns -EtsSetDs 65536 43.51ms 663.87ns 16.98ms 259.13ns 39.13ms 597.11ns 34.16ms 521.17ns 18.37ms 280.27ns -EtsSetDs 131072 89.04ms 679.29ns 32.22ms 245.78ns 84.20ms 642.37ns 65.74ms 501.56ns 54.66ms 417.04ns -EtsSetDs 131072 106.04ms 809.05ns 39.92ms 304.58ns 78.37ms 597.91ns 58.38ms 445.43ns 42.56ms 324.69ns -EtsSetDs 131072 92.08ms 702.53ns 41.97ms 320.22ns 96.38ms 735.32ns 64.23ms 490.07ns 40.25ms 307.05ns -EtsSetDs 131072 101.14ms 771.63ns 32.38ms 247.07ns 83.98ms 640.74ns 72.96ms 556.62ns 49.28ms 376.01ns -EtsSetDs 131072 104.51ms 797.38ns 33.81ms 257.95ns 78.15ms 596.27ns 60.64ms 462.68ns 41.64ms 317.66ns -EtsSetDs 131072 90.61ms 691.33ns 45.65ms 348.30ns 92.66ms 706.94ns 63.02ms 480.80ns 50.26ms 383.42ns -EtsSetDs 131072 105.06ms 801.57ns 35.86ms 273.62ns 91.55ms 698.44ns 70.19ms 535.51ns 48.60ms 370.76ns -EtsSetDs 131072 110.54ms 843.35ns 34.68ms 264.58ns 74.40ms 567.63ns 63.77ms 486.52ns 39.17ms 298.83ns -EtsSetDs 131072 91.51ms 698.14ns 32.85ms 250.64ns 78.17ms 596.40ns 55.42ms 422.83ns 47.64ms 363.49ns -EtsSetDs 131072 94.93ms 724.29ns 34.59ms 263.87ns 92.34ms 704.50ns 54.43ms 415.23ns 38.84ms 296.29ns -EtsSetDs 131072 90.85ms 693.10ns 46.17ms 352.27ns 91.45ms 697.74ns 62.03ms 473.24ns 47.63ms 363.41ns -EtsSetDs 131072 100.89ms 769.75ns 48.43ms 369.49ns 80.35ms 613.03ns 65.16ms 497.12ns 53.84ms 410.77ns -EtsSetDs 131072 100.02ms 763.11ns 43.52ms 332.05ns 79.50ms 606.55ns 55.71ms 425.01ns 42.68ms 325.59ns -EtsSetDs 131072 88.97ms 678.81ns 49.69ms 379.11ns 88.06ms 671.85ns 57.74ms 440.50ns 38.79ms 295.94ns -EtsSetDs 131072 112.25ms 856.40ns 44.76ms 341.48ns 91.32ms 696.71ns 69.47ms 530.03ns 51.95ms 396.32ns -EtsSetDs 131072 105.24ms 802.88ns 36.85ms 281.13ns 83.20ms 634.76ns 66.27ms 505.60ns 48.06ms 366.69ns -EtsSetDs 131072 94.89ms 723.98ns 37.86ms 288.89ns 68.60ms 523.38ns 50.36ms 384.23ns 35.32ms 269.44ns -EtsSetDs 131072 74.60ms 569.17ns 27.41ms 209.16ns 79.83ms 609.04ns 61.98ms 472.85ns 52.53ms 400.78ns -EtsSetDs 131072 94.79ms 723.19ns 37.14ms 283.34ns 79.57ms 607.04ns 54.61ms 416.66ns 46.83ms 357.27ns -EtsSetDs 131072 96.07ms 732.95ns 33.85ms 258.28ns 81.66ms 623.04ns 63.73ms 486.26ns 40.55ms 309.35ns -EtsSetDs 131072 94.59ms 721.66ns 32.97ms 251.54ns 85.86ms 655.08ns 59.60ms 454.68ns 38.29ms 292.11ns -EtsSetDs 131072 111.26ms 848.87ns 41.50ms 316.59ns 89.04ms 679.30ns 64.66ms 493.34ns 47.85ms 365.09ns -EtsSetDs 524288 482.46ms 920.21ns 184.14ms 351.22ns 389.83ms 743.54ns 321.07ms 612.40ns 201.43ms 384.20ns -EtsSetDs 524288 473.46ms 903.04ns 206.05ms 393.01ns 360.48ms 687.56ns 287.38ms 548.12ns 225.49ms 430.09ns -EtsSetDs 524288 453.82ms 865.59ns 195.21ms 372.33ns 360.46ms 687.52ns 259.82ms 495.56ns 222.16ms 423.73ns -EtsSetDs 524288 480.03ms 915.58ns 194.27ms 370.55ns 371.64ms 708.84ns 278.06ms 530.36ns 218.98ms 417.68ns -EtsSetDs 524288 472.45ms 901.14ns 204.58ms 390.21ns 389.49ms 742.90ns 269.58ms 514.18ns 231.72ms 441.96ns -EtsSetDs 524288 475.51ms 906.97ns 194.00ms 370.03ns 356.09ms 679.18ns 282.06ms 537.98ns 218.95ms 417.62ns -EtsSetDs 524288 451.40ms 860.97ns 207.17ms 395.15ns 387.05ms 738.24ns 282.55ms 538.92ns 232.76ms 443.95ns -EtsSetDs 524288 473.88ms 903.85ns 204.54ms 390.13ns 359.43ms 685.56ns 295.56ms 563.73ns 240.99ms 459.66ns -EtsSetDs 524288 448.66ms 855.75ns 208.27ms 397.24ns 398.13ms 759.37ns 253.30ms 483.13ns 203.37ms 387.89ns -EtsSetDs 524288 459.47ms 876.37ns 208.86ms 398.37ns 373.85ms 713.06ns 264.02ms 503.58ns 220.16ms 419.93ns -EtsSetDs 524288 448.91ms 856.24ns 200.67ms 382.74ns 390.16ms 744.18ns 259.24ms 494.46ns 191.33ms 364.93ns -EtsSetDs 524288 453.93ms 865.80ns 195.80ms 373.46ns 364.99ms 696.16ns 276.56ms 527.49ns 226.88ms 432.73ns -EtsSetDs 524288 446.01ms 850.70ns 187.05ms 356.77ns 397.89ms 758.91ns 243.66ms 464.75ns 191.32ms 364.90ns -EtsSetDs 524288 524.25ms 999.93ns 205.29ms 391.57ns 375.28ms 715.79ns 290.13ms 553.37ns 244.61ms 466.55ns -EtsSetDs 524288 448.08ms 854.65ns 233.79ms 445.92ns 379.33ms 723.52ns 257.92ms 491.95ns 226.70ms 432.40ns -EtsSetDs 524288 479.58ms 914.72ns 189.38ms 361.21ns 389.50ms 742.91ns 286.69ms 546.82ns 217.63ms 415.10ns -EtsSetDs 524288 473.30ms 902.75ns 203.90ms 388.91ns 386.59ms 737.36ns 269.59ms 514.21ns 234.30ms 446.89ns -EtsSetDs 524288 519.20ms 990.29ns 217.57ms 414.98ns 353.75ms 674.72ns 289.15ms 551.51ns 203.75ms 388.62ns -EtsSetDs 524288 449.92ms 858.16ns 192.93ms 367.99ns 370.04ms 705.79ns 276.12ms 526.66ns 222.93ms 425.20ns -EtsSetDs 524288 479.23ms 914.07ns 193.32ms 368.72ns 397.24ms 757.68ns 279.63ms 533.36ns 207.04ms 394.90ns -EtsSetDs 524288 467.48ms 891.64ns 207.56ms 395.89ns 363.21ms 692.77ns 269.39ms 513.83ns 233.04ms 444.48ns -EtsSetDs 524288 471.76ms 899.81ns 197.17ms 376.07ns 377.36ms 719.76ns 260.46ms 496.78ns 192.97ms 368.06ns -EtsSetDs 1048576 1.02s 973.30ns 433.93ms 413.83ns 792.41ms 755.70ns 577.28ms 550.54ns 427.07ms 407.28ns -EtsSetDs 1048576 991.21ms 945.29ns 433.30ms 413.23ns 766.48ms 730.97ns 567.18ms 540.90ns 472.42ms 450.53ns -EtsSetDs 1048576 1.02s 970.33ns 439.92ms 419.54ns 828.34ms 789.96ns 544.36ms 519.14ns 497.93ms 474.86ns -EtsSetDs 1048576 1.01s 966.42ns 412.22ms 393.12ns 824.05ms 785.88ns 597.84ms 570.15ns 461.69ms 440.31ns -EtsSetDs 1048576 1.04s 994.66ns 425.17ms 405.47ns 763.48ms 728.11ns 583.18ms 556.16ns 444.03ms 423.46ns -EtsSetDs 1048576 966.92ms 922.12ns 436.10ms 415.90ns 801.43ms 764.30ns 505.95ms 482.51ns 447.05ms 426.34ns -EtsSetDs 1048576 1.02s 971.60ns 451.38ms 430.47ns 797.87ms 760.91ns 556.12ms 530.36ns 487.33ms 464.75ns -EtsSetDs 1048576 1.00s 957.78ns 407.83ms 388.94ns 829.92ms 791.48ns 576.32ms 549.62ns 463.12ms 441.67ns -EtsSetDs 1048576 1.01s 963.92ns 413.63ms 394.47ns 813.34ms 775.66ns 552.56ms 526.96ns 462.09ms 440.68ns -EtsSetDs 1048576 995.55ms 949.43ns 390.74ms 372.64ns 777.06ms 741.06ns 509.28ms 485.68ns 460.45ms 439.12ns -EtsSetDs 1048576 944.23ms 900.49ns 397.23ms 378.83ns 807.43ms 770.02ns 594.66ms 567.11ns 471.01ms 449.19ns -EtsSetDs 1048576 1.02s 969.52ns 417.37ms 398.04ns 830.55ms 792.08ns 544.64ms 519.41ns 503.94ms 480.60ns -EtsSetDs 1048576 997.37ms 951.16ns 408.60ms 389.67ns 787.78ms 751.28ns 554.72ms 529.02ns 488.01ms 465.41ns -EtsSetDs 1048576 1.02s 977.34ns 415.45ms 396.21ns 819.09ms 781.14ns 587.24ms 560.03ns 490.63ms 467.90ns -EtsSetDs 1048576 1.04s 987.76ns 420.63ms 401.15ns 757.77ms 722.66ns 562.53ms 536.47ns 475.19ms 453.18ns -EtsSetDs 1048576 1.05s 1001.91ns 359.68ms 343.02ns 767.12ms 731.58ns 547.76ms 522.39ns 489.05ms 466.39ns -EtsSetDs 1048576 1.01s 965.79ns 410.81ms 391.78ns 811.67ms 774.07ns 530.11ms 505.55ns 490.81ms 468.07ns -EtsSetDs 1048576 1.03s 978.77ns 410.55ms 391.53ns 780.48ms 744.32ns 560.68ms 534.71ns 454.64ms 433.58ns -EtsSetDs 1048576 1.01s 960.67ns 409.58ms 390.60ns 787.96ms 751.45ns 567.27ms 540.99ns 472.69ms 450.79ns -EtsSetDs 1048576 1.02s 969.62ns 414.91ms 395.69ns 780.35ms 744.20ns 574.16ms 547.56ns 443.92ms 423.36ns -EtsSetDs 1048576 996.78ms 950.61ns 445.44ms 424.80ns 763.63ms 728.25ns 558.43ms 532.56ns 487.47ms 464.88ns -EtsSetDs 1048576 1.00s 955.64ns 409.51ms 390.54ns 758.63ms 723.49ns 567.62ms 541.33ns 515.92ms 492.01ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -EtsOrdDs 8 8.70us 1087.00ns 10.07us 1258.63ns 6.64us 830.25ns 10.46us 1307.50ns 2.75us 343.13ns -EtsOrdDs 8 4.90us 612.38ns 4.74us 592.38ns 4.86us 607.38ns 6.66us 832.75ns 2.11us 264.25ns -EtsOrdDs 8 4.44us 554.75ns 3.76us 469.63ns 4.36us 544.88ns 5.64us 705.00ns 2.03us 254.25ns -EtsOrdDs 8 4.10us 512.25ns 4.13us 515.88ns 4.38us 547.38ns 5.09us 636.13ns 1.92us 240.50ns -EtsOrdDs 8 7.35us 919.13ns 13.59us 1698.25ns 5.56us 695.00ns 10.30us 1287.38ns 2.48us 309.38ns -EtsOrdDs 8 5.00us 624.88ns 4.81us 601.13ns 4.35us 543.50ns 9.02us 1127.13ns 2.09us 261.75ns -EtsOrdDs 8 5.19us 648.63ns 5.93us 741.38ns 5.26us 657.50ns 9.53us 1191.00ns 2.60us 324.38ns -EtsOrdDs 8 4.93us 616.13ns 4.40us 549.88ns 4.09us 510.88ns 5.34us 667.50ns 1.92us 240.50ns -EtsOrdDs 8 6.44us 805.25ns 5.83us 728.88ns 5.65us 706.38ns 7.13us 891.63ns 2.65us 331.88ns -EtsOrdDs 8 31.88us 3985.50ns 7.00us 875.38ns 5.64us 705.13ns 7.56us 945.50ns 2.65us 331.88ns -EtsOrdDs 8 5.39us 673.75ns 5.42us 677.50ns 5.13us 641.25ns 6.75us 844.00ns 2.42us 303.13ns -EtsOrdDs 8 7.10us 887.88ns 24.18us 3022.88ns 8.70us 1087.00ns 10.65us 1331.25ns 3.13us 391.88ns -EtsOrdDs 8 6.58us 822.75ns 7.05us 881.63ns 7.55us 944.25ns 8.79us 1098.25ns 3.12us 389.50ns -EtsOrdDs 8 6.73us 841.50ns 6.75us 844.13ns 6.94us 867.88ns 6.60us 825.25ns 2.23us 279.25ns -EtsOrdDs 8 5.89us 736.38ns 5.41us 676.25ns 4.75us 593.63ns 7.36us 920.38ns 2.37us 295.63ns -EtsOrdDs 8 5.21us 651.13ns 5.06us 632.50ns 5.81us 726.38ns 10.98us 1372.50ns 2.11us 264.25ns -EtsOrdDs 8 5.33us 666.25ns 5.57us 696.25ns 5.51us 688.75ns 6.24us 780.25ns 2.02us 253.00ns -EtsOrdDs 8 4.42us 552.25ns 3.89us 485.88ns 4.28us 534.75ns 5.14us 642.50ns 2.00us 250.38ns -EtsOrdDs 8 4.08us 509.63ns 3.85us 480.88ns 67.40us 8425.13ns 7.59us 949.25ns 2.15us 269.25ns -EtsOrdDs 8 27.46us 3432.00ns 8.21us 1025.75ns 6.63us 829.00ns 7.96us 994.38ns 2.81us 350.63ns -EtsOrdDs 8 5.72us 715.00ns 6.25us 781.50ns 6.51us 814.00ns 8.22us 1027.00ns 2.98us 373.13ns -EtsOrdDs 8 4.50us 562.25ns 5.11us 638.75ns 4.38us 547.25ns 5.57us 696.25ns 2.03us 254.25ns -EtsOrdDs 16 7.91us 494.06ns 17.76us 1110.19ns 10.22us 638.69ns 16.69us 1043.19ns 4.56us 284.88ns -EtsOrdDs 16 68.94us 4308.94ns 10.43us 651.88ns 10.80us 675.00ns 9.06us 566.06ns 4.77us 298.06ns -EtsOrdDs 16 9.37us 585.44ns 9.23us 576.75ns 10.62us 663.69ns 9.34us 583.63ns 4.99us 311.81ns -EtsOrdDs 16 11.58us 723.88ns 12.04us 752.63ns 10.10us 631.19ns 20.98us 1311.19ns 4.88us 304.94ns -EtsOrdDs 16 9.13us 570.44ns 9.40us 587.38ns 10.24us 639.94ns 9.25us 577.94ns 4.87us 304.31ns -EtsOrdDs 16 9.39us 586.75ns 50.71us 3169.63ns 11.68us 730.13ns 9.10us 568.56ns 5.36us 335.00ns -EtsOrdDs 16 9.65us 603.00ns 23.91us 1494.06ns 10.64us 664.94ns 9.07us 566.69ns 5.05us 315.63ns -EtsOrdDs 16 11.76us 735.13ns 9.69us 605.50ns 11.18us 698.75ns 9.19us 574.25ns 4.56us 284.88ns -EtsOrdDs 16 10.60us 662.50ns 9.54us 596.06ns 11.78us 736.38ns 9.13us 570.44ns 4.76us 297.44ns -EtsOrdDs 16 10.22us 638.69ns 9.19us 574.19ns 11.11us 694.44ns 8.94us 558.50ns 17.13us 1070.75ns -EtsOrdDs 16 10.25us 640.56ns 8.48us 529.75ns 11.18us 698.81ns 9.10us 568.56ns 4.88us 304.94ns -EtsOrdDs 16 9.63us 601.75ns 6.84us 427.63ns 8.05us 503.44ns 6.37us 398.25ns 3.58us 223.56ns -EtsOrdDs 16 10.04us 627.44ns 9.06us 566.06ns 11.19us 699.44ns 11.80us 737.63ns 4.75us 296.81ns -EtsOrdDs 16 10.53us 658.06ns 9.08us 567.31ns 11.41us 713.19ns 8.77us 547.94ns 4.96us 309.94ns -EtsOrdDs 16 7.01us 438.31ns 6.27us 392.00ns 13.95us 871.63ns 9.47us 591.75ns 4.52us 282.38ns -EtsOrdDs 16 10.04us 627.38ns 9.69us 605.50ns 8.80us 549.81ns 7.22us 451.44ns 4.06us 253.63ns -EtsOrdDs 16 10.21us 638.13ns 9.62us 601.06ns 8.07us 504.69ns 7.18us 449.00ns 3.81us 237.94ns -EtsOrdDs 16 10.32us 644.94ns 9.14us 571.06ns 8.66us 541.00ns 13.45us 840.31ns 4.93us 308.06ns -EtsOrdDs 16 9.47us 591.75ns 31.45us 1965.69ns 8.80us 549.75ns 7.67us 479.06ns 4.34us 271.13ns -EtsOrdDs 16 7.61us 475.88ns 7.01us 438.31ns 7.72us 482.75ns 6.84us 427.69ns 3.64us 227.31ns -EtsOrdDs 16 7.04us 440.19ns 10.78us 673.75ns 11.02us 688.81ns 13.94us 871.00ns 5.15us 321.81ns -EtsOrdDs 16 7.91us 494.06ns 12.38us 773.94ns 9.33us 583.00ns 61.98us 3874.06ns 7.01us 438.31ns -EtsOrdDs 32 20.05us 626.47ns 10.10us 315.59ns 14.70us 459.31ns 9.72us 303.69ns 6.42us 200.69ns -EtsOrdDs 32 19.33us 603.94ns 8.57us 267.69ns 14.48us 452.41ns 9.08us 283.66ns 6.46us 201.94ns -EtsOrdDs 32 19.46us 608.00ns 11.91us 372.25ns 20.73us 647.78ns 12.86us 402.00ns 6.46us 201.94ns -EtsOrdDs 32 17.84us 557.59ns 40.19us 1255.78ns 19.05us 595.19ns 12.51us 391.03ns 8.72us 272.38ns -EtsOrdDs 32 18.93us 591.72ns 9.63us 300.88ns 20.63us 644.66ns 13.46us 420.47ns 6.77us 211.63ns -EtsOrdDs 32 23.25us 726.66ns 10.56us 330.00ns 14.61us 456.47ns 11.83us 369.75ns 7.42us 232.00ns -EtsOrdDs 32 18.16us 567.63ns 9.16us 286.16ns 14.58us 455.53ns 8.96us 279.91ns 6.39us 199.75ns -EtsOrdDs 32 21.67us 677.19ns 58.62us 1831.84ns 34.36us 1073.72ns 10.59us 330.94ns 6.98us 218.22ns -EtsOrdDs 32 18.32us 572.63ns 11.53us 360.34ns 19.90us 621.78ns 12.31us 384.78ns 8.74us 273.03ns -EtsOrdDs 32 17.30us 540.69ns 8.62us 269.25ns 15.59us 487.16ns 9.42us 294.31ns 6.58us 205.69ns -EtsOrdDs 32 16.26us 508.16ns 8.21us 256.72ns 14.93us 466.50ns 9.03us 282.09ns 6.46us 201.94ns -EtsOrdDs 32 21.89us 684.09ns 8.95us 279.59ns 14.71us 459.59ns 9.12us 284.91ns 6.50us 203.19ns -EtsOrdDs 32 16.87us 527.22ns 8.29us 258.91ns 15.00us 468.69ns 8.84us 276.16ns 6.33us 197.88ns -EtsOrdDs 32 14.69us 458.97ns 8.21us 256.72ns 14.97us 467.75ns 8.77us 273.94ns 6.42us 200.69ns -EtsOrdDs 32 16.18us 505.66ns 8.12us 253.59ns 14.73us 460.22ns 8.72us 272.38ns 6.35us 198.50ns -EtsOrdDs 32 18.45us 576.72ns 10.82us 338.13ns 14.92us 466.19ns 8.85us 276.44ns 6.43us 201.00ns -EtsOrdDs 32 17.74us 554.50ns 8.79us 274.56ns 14.83us 463.38ns 9.21us 287.72ns 6.46us 201.94ns -EtsOrdDs 32 22.34us 698.19ns 11.07us 345.94ns 18.68us 583.91ns 11.53us 360.34ns 8.13us 253.94ns -EtsOrdDs 32 19.68us 614.91ns 13.09us 409.19ns 23.95us 748.28ns 12.53us 391.66ns 8.86us 276.75ns -EtsOrdDs 32 21.57us 674.06ns 12.83us 401.06ns 22.98us 718.22ns 100.32us 3135.06ns 10.64us 332.50ns -EtsOrdDs 32 14.59us 455.84ns 8.20us 256.13ns 14.85us 463.97ns 9.25us 289.00ns 6.32us 197.53ns -EtsOrdDs 32 19.20us 599.88ns 9.91us 309.63ns 15.59us 487.16ns 11.85us 370.38ns 6.65us 207.91ns -EtsOrdDs 64 29.02us 453.50ns 18.26us 285.38ns 33.04us 516.28ns 16.36us 255.63ns 13.13us 205.08ns -EtsOrdDs 64 30.29us 473.22ns 37.69us 588.92ns 29.82us 465.86ns 16.01us 250.16ns 13.19us 206.02ns -EtsOrdDs 64 32.70us 510.95ns 14.63us 228.55ns 29.15us 455.53ns 15.50us 242.17ns 13.21us 206.33ns -EtsOrdDs 64 27.43us 428.61ns 14.03us 219.16ns 29.30us 457.73ns 16.99us 265.48ns 17.25us 269.58ns -EtsOrdDs 64 26.63us 416.08ns 13.85us 216.34ns 29.46us 460.39ns 14.98us 234.03ns 13.18us 206.00ns -EtsOrdDs 64 28.10us 439.11ns 14.12us 220.56ns 29.01us 453.34ns 15.32us 239.34ns 12.96us 202.58ns -EtsOrdDs 64 27.05us 422.67ns 13.73us 214.61ns 29.70us 464.00ns 15.07us 235.44ns 12.87us 201.16ns -EtsOrdDs 64 29.80us 465.55ns 14.53us 226.98ns 29.20us 456.33ns 14.98us 234.03ns 16.76us 261.89ns -EtsOrdDs 64 26.83us 419.22ns 13.93us 217.59ns 55.91us 873.66ns 17.21us 268.95ns 13.33us 208.34ns -EtsOrdDs 64 32.87us 513.61ns 14.24us 222.44ns 28.99us 453.03ns 14.97us 233.88ns 13.19us 206.02ns -EtsOrdDs 64 27.16us 424.39ns 13.84us 216.19ns 28.85us 450.83ns 14.57us 227.61ns 13.19us 206.02ns -EtsOrdDs 64 29.13us 455.22ns 14.41us 225.11ns 28.87us 451.16ns 15.40us 240.61ns 17.09us 267.06ns -EtsOrdDs 64 30.84us 481.84ns 14.44us 225.58ns 28.71us 448.64ns 15.49us 242.02ns 12.89us 201.47ns -EtsOrdDs 64 30.36us 474.31ns 14.19us 221.67ns 28.86us 450.98ns 15.23us 237.95ns 16.67us 260.48ns -EtsOrdDs 64 27.01us 422.03ns 14.06us 219.63ns 29.34us 458.52ns 15.20us 237.47ns 13.21us 206.33ns -EtsOrdDs 64 29.61us 462.58ns 13.87us 216.66ns 29.05us 453.97ns 16.05us 250.78ns 15.75us 246.08ns -EtsOrdDs 64 43.81us 684.55ns 17.00us 265.66ns 35.44us 553.69ns 18.59us 290.55ns 15.74us 245.92ns -EtsOrdDs 64 32.98us 515.34ns 17.61us 275.20ns 35.05us 547.73ns 19.34us 302.13ns 15.48us 241.86ns -EtsOrdDs 64 32.26us 504.06ns 16.86us 263.45ns 35.74us 558.39ns 18.91us 295.55ns 15.44us 241.23ns -EtsOrdDs 64 36.15us 564.80ns 16.02us 250.31ns 29.63us 462.89ns 21.62us 337.83ns 20.47us 319.81ns -EtsOrdDs 64 33.24us 519.41ns 15.00us 234.34ns 29.10us 454.75ns 15.36us 239.98ns 13.29us 207.72ns -EtsOrdDs 64 36.86us 575.92ns 16.95us 264.86ns 28.92us 451.94ns 15.23us 237.95ns 13.08us 204.44ns -EtsOrdDs 128 58.75us 458.98ns 26.66us 208.28ns 113.56us 887.20ns 27.03us 211.18ns 26.60us 207.80ns -EtsOrdDs 128 52.47us 409.90ns 26.18us 204.52ns 58.87us 459.92ns 32.87us 256.80ns 41.91us 327.41ns -EtsOrdDs 128 61.37us 479.48ns 26.54us 207.34ns 68.94us 538.59ns 25.44us 198.73ns 29.16us 227.77ns -EtsOrdDs 128 56.59us 442.07ns 26.06us 203.59ns 68.11us 532.08ns 25.44us 198.73ns 27.41us 214.15ns -EtsOrdDs 128 87.55us 684.01ns 27.49us 214.77ns 103.53us 808.85ns 34.28us 267.84ns 33.77us 263.85ns -EtsOrdDs 128 51.37us 401.30ns 26.22us 204.84ns 57.29us 447.55ns 25.05us 195.67ns 30.60us 239.04ns -EtsOrdDs 128 58.66us 458.28ns 43.53us 340.09ns 68.56us 535.60ns 26.04us 203.43ns 33.88us 264.71ns -EtsOrdDs 128 55.87us 436.52ns 25.87us 202.09ns 111.30us 869.52ns 56.06us 437.98ns 28.70us 224.25ns -EtsOrdDs 128 55.60us 434.41ns 25.52us 199.35ns 86.98us 679.55ns 25.59us 199.91ns 26.75us 208.98ns -EtsOrdDs 128 67.98us 531.06ns 32.52us 254.07ns 59.30us 463.28ns 25.29us 197.56ns 33.48us 261.58ns -EtsOrdDs 128 87.33us 682.28ns 47.49us 371.01ns 148.12us 1157.16ns 28.97us 226.36ns 39.05us 305.09ns -EtsOrdDs 128 56.27us 439.65ns 26.38us 206.09ns 66.60us 520.34ns 25.60us 199.98ns 37.22us 290.77ns -EtsOrdDs 128 55.52us 433.78ns 26.15us 204.28ns 90.03us 703.34ns 33.54us 262.05ns 63.83us 498.66ns -EtsOrdDs 128 68.81us 537.56ns 37.80us 295.31ns 70.06us 547.35ns 32.92us 257.20ns 38.40us 300.02ns -EtsOrdDs 128 68.48us 534.98ns 52.31us 408.65ns 67.43us 526.77ns 25.49us 199.12ns 36.92us 288.43ns -EtsOrdDs 128 62.40us 487.47ns 25.99us 203.04ns 80.19us 626.48ns 25.92us 202.48ns 36.01us 281.31ns -EtsOrdDs 128 61.73us 482.23ns 25.89us 202.26ns 139.75us 1091.80ns 37.55us 293.36ns 48.75us 380.87ns -EtsOrdDs 128 76.52us 597.84ns 36.79us 287.41ns 73.56us 574.66ns 25.97us 202.88ns 36.29us 283.50ns -EtsOrdDs 128 109.25us 853.55ns 40.19us 313.95ns 86.45us 675.40ns 38.02us 297.04ns 35.30us 275.74ns -EtsOrdDs 128 81.41us 636.03ns 40.24us 314.41ns 87.80us 685.97ns 46.93us 366.62ns 66.51us 519.64ns -EtsOrdDs 128 105.48us 824.03ns 46.26us 361.38ns 129.27us 1009.93ns 65.39us 510.88ns 50.30us 393.00ns -EtsOrdDs 128 86.79us 678.06ns 35.54us 277.63ns 112.38us 877.96ns 47.94us 374.52ns 60.13us 469.78ns -EtsOrdDs 256 200.30us 782.43ns 79.71us 311.36ns 209.04us 816.56ns 103.32us 403.61ns 93.94us 366.97ns -EtsOrdDs 256 165.22us 645.38ns 69.82us 272.73ns 171.74us 670.86ns 62.54us 244.28ns 97.35us 380.28ns -EtsOrdDs 256 121.65us 475.18ns 74.99us 292.93ns 140.99us 550.75ns 75.63us 295.43ns 90.32us 352.80ns -EtsOrdDs 256 173.61us 678.18ns 56.13us 219.28ns 169.06us 660.41ns 60.16us 235.01ns 82.05us 320.52ns -EtsOrdDs 256 219.17us 856.14ns 96.77us 378.01ns 182.52us 712.97ns 101.45us 396.29ns 105.36us 411.55ns -EtsOrdDs 256 230.03us 898.55ns 98.69us 385.52ns 280.61us 1096.13ns 79.62us 311.01ns 71.74us 280.25ns -EtsOrdDs 256 152.42us 595.41ns 54.12us 211.41ns 166.72us 651.25ns 55.99us 218.73ns 55.53us 216.93ns -EtsOrdDs 256 143.00us 558.58ns 54.15us 211.53ns 133.74us 522.42ns 54.21us 211.76ns 90.07us 351.83ns -EtsOrdDs 256 170.02us 664.13ns 62.13us 242.71ns 133.70us 522.27ns 64.28us 251.09ns 55.28us 215.95ns -EtsOrdDs 256 114.62us 447.75ns 52.25us 204.09ns 138.75us 541.98ns 53.16us 207.65ns 56.96us 222.48ns -EtsOrdDs 256 159.31us 622.29ns 60.70us 237.12ns 129.31us 505.12ns 66.26us 258.84ns 53.92us 210.63ns -EtsOrdDs 256 119.80us 467.98ns 97.02us 378.99ns 133.67us 522.14ns 52.97us 206.91ns 51.42us 200.84ns -EtsOrdDs 256 115.34us 450.57ns 52.24us 204.05ns 151.23us 590.75ns 54.07us 211.21ns 63.15us 246.67ns -EtsOrdDs 256 104.23us 407.17ns 51.90us 202.72ns 128.06us 500.23ns 53.31us 208.24ns 51.71us 201.98ns -EtsOrdDs 256 135.54us 529.46ns 53.50us 208.98ns 135.27us 528.41ns 53.86us 210.39ns 56.31us 219.98ns -EtsOrdDs 256 182.24us 711.87ns 106.01us 414.09ns 145.81us 569.58ns 53.63us 209.49ns 54.48us 212.82ns -EtsOrdDs 256 156.50us 611.34ns 106.50us 416.01ns 171.63us 670.43ns 60.93us 238.02ns 53.22us 207.89ns -EtsOrdDs 256 147.59us 576.50ns 53.05us 207.22ns 130.55us 509.97ns 52.66us 205.70ns 55.61us 217.24ns -EtsOrdDs 256 166.16us 649.06ns 141.37us 552.24ns 130.08us 508.13ns 54.45us 212.70ns 51.21us 200.02ns -EtsOrdDs 256 153.71us 600.42ns 52.61us 205.50ns 152.49us 595.68ns 53.81us 210.20ns 54.21us 211.76ns -EtsOrdDs 256 135.57us 529.58ns 54.86us 214.31ns 129.97us 507.70ns 53.46us 208.82ns 78.95us 308.39ns -EtsOrdDs 256 160.11us 625.42ns 100.38us 392.10ns 124.25us 485.36ns 53.89us 210.51ns 50.23us 196.23ns -EtsOrdDs 516 285.03us 552.39ns 111.78us 216.62ns 275.23us 533.40ns 109.50us 212.22ns 84.54us 163.83ns -EtsOrdDs 516 306.81us 594.59ns 154.06us 298.57ns 270.75us 524.72ns 117.59us 227.89ns 95.10us 184.30ns -EtsOrdDs 516 294.01us 569.78ns 189.09us 366.46ns 440.20us 853.11ns 122.64us 237.67ns 119.76us 232.10ns -EtsOrdDs 516 295.97us 573.59ns 141.44us 274.11ns 283.05us 548.54ns 114.04us 221.01ns 85.37us 165.44ns -EtsOrdDs 516 353.02us 684.14ns 168.03us 325.65ns 418.64us 811.32ns 180.86us 350.50ns 126.43us 245.01ns -EtsOrdDs 516 341.03us 660.90ns 112.81us 218.62ns 267.08us 517.59ns 126.47us 245.09ns 109.05us 211.34ns -EtsOrdDs 516 287.58us 557.32ns 157.18us 304.62ns 255.43us 495.01ns 110.68us 214.49ns 84.37us 163.50ns -EtsOrdDs 516 324.56us 629.00ns 138.34us 268.10ns 259.10us 502.14ns 153.66us 297.78ns 114.98us 222.84ns -EtsOrdDs 516 264.44us 512.49ns 137.69us 266.83ns 262.23us 508.20ns 109.80us 212.78ns 81.02us 157.02ns -EtsOrdDs 516 313.46us 607.49ns 133.07us 257.88ns 289.22us 560.50ns 133.83us 259.36ns 90.13us 174.67ns -EtsOrdDs 516 274.80us 532.56ns 152.86us 296.25ns 260.36us 504.56ns 110.17us 213.50ns 118.36us 229.38ns -EtsOrdDs 516 269.45us 522.19ns 116.53us 225.83ns 313.53us 607.61ns 120.43us 233.40ns 109.98us 213.15ns -EtsOrdDs 516 379.42us 735.31ns 119.72us 232.02ns 389.31us 754.47ns 223.74us 433.60ns 180.71us 350.21ns -EtsOrdDs 516 386.36us 748.76ns 194.58us 377.10ns 420.26us 814.46ns 195.28us 378.46ns 183.12us 354.89ns -EtsOrdDs 516 481.08us 932.32ns 272.07us 527.26ns 510.88us 990.08ns 223.90us 433.91ns 216.82us 420.20ns -EtsOrdDs 516 420.27us 814.48ns 229.69us 445.13ns 468.74us 908.42ns 259.34us 502.60ns 199.07us 385.80ns -EtsOrdDs 516 474.19us 918.97ns 140.06us 271.44ns 357.14us 692.14ns 145.05us 281.10ns 174.46us 338.09ns -EtsOrdDs 516 375.22us 727.17ns 140.79us 272.85ns 303.63us 588.42ns 173.19us 335.65ns 116.31us 225.40ns -EtsOrdDs 516 244.56us 473.96ns 123.57us 239.48ns 302.36us 585.98ns 156.56us 303.41ns 121.48us 235.42ns -EtsOrdDs 516 278.11us 538.97ns 121.08us 234.64ns 257.91us 499.83ns 124.88us 242.02ns 110.83us 214.78ns -EtsOrdDs 516 302.30us 585.86ns 169.03us 327.57ns 322.05us 624.12ns 111.70us 216.47ns 93.32us 180.86ns -EtsOrdDs 516 386.03us 748.12ns 142.77us 276.68ns 355.29us 688.55ns 112.25us 217.54ns 116.39us 225.56ns -EtsOrdDs 1024 899.86us 878.77ns 402.59us 393.15ns 920.24us 898.68ns 365.68us 357.11ns 368.93us 360.28ns -EtsOrdDs 1024 778.08us 759.84ns 443.64us 433.24ns 667.47us 651.83ns 291.90us 285.06ns 261.08us 254.96ns -EtsOrdDs 1024 617.93us 603.45ns 300.65us 293.60ns 569.41us 556.07ns 337.32us 329.41ns 276.76us 270.27ns -EtsOrdDs 1024 893.77us 872.83ns 351.87us 343.62ns 689.45us 673.29ns 232.76us 227.31ns 198.54us 193.89ns -EtsOrdDs 1024 683.85us 667.82ns 390.32us 381.18ns 672.11us 656.36ns 278.44us 271.91ns 473.99us 462.88ns -EtsOrdDs 1024 1.13ms 1107.89ns 446.07us 435.62ns 831.86us 812.36ns 374.99us 366.20ns 344.56us 336.49ns -EtsOrdDs 1024 908.88us 887.58ns 260.38us 254.27ns 905.90us 884.67ns 902.56us 881.40ns 338.75us 330.81ns -EtsOrdDs 1024 791.65us 773.10ns 440.40us 430.08ns 823.81us 804.51ns 496.84us 485.19ns 392.29us 383.10ns -EtsOrdDs 1024 988.30us 965.14ns 445.14us 434.71ns 1.13ms 1103.88ns 539.84us 527.18ns 423.64us 413.71ns -EtsOrdDs 1024 950.91us 928.62ns 743.82us 726.38ns 746.40us 728.91ns 289.22us 282.44ns 222.78us 217.55ns -EtsOrdDs 1024 528.27us 515.89ns 287.89us 281.14ns 542.63us 529.91ns 230.13us 224.74ns 206.07us 201.24ns -EtsOrdDs 1024 864.03us 843.78ns 374.95us 366.17ns 560.36us 547.23ns 211.25us 206.30ns 315.84us 308.44ns -EtsOrdDs 1024 849.06us 829.16ns 477.04us 465.86ns 714.17us 697.43ns 288.87us 282.10ns 224.80us 219.53ns -EtsOrdDs 1024 761.42us 743.58ns 479.85us 468.60ns 793.64us 775.04ns 429.55us 419.48ns 298.91us 291.90ns -EtsOrdDs 1024 768.17us 750.17ns 420.75us 410.89ns 622.30us 607.71ns 422.47us 412.57ns 272.91us 266.51ns -EtsOrdDs 1024 540.36us 527.69ns 275.05us 268.61ns 831.15us 811.67ns 351.24us 343.01ns 298.28us 291.29ns -EtsOrdDs 1024 821.40us 802.15ns 347.29us 339.15ns 838.26us 818.62ns 402.76us 393.32ns 340.26us 332.29ns -EtsOrdDs 1024 716.04us 699.26ns 375.01us 366.22ns 940.46us 918.42ns 396.87us 387.57ns 388.06us 378.97ns -EtsOrdDs 1024 803.67us 784.83ns 442.59us 432.22ns 1.00ms 977.71ns 413.35us 403.66ns 342.97us 334.93ns -EtsOrdDs 1024 1.00ms 980.38ns 466.08us 455.15ns 931.31us 909.48ns 356.67us 348.31ns 212.36us 207.38ns -EtsOrdDs 1024 775.07us 756.91ns 248.09us 242.28ns 678.32us 662.43ns 265.94us 259.71ns 267.14us 260.88ns -EtsOrdDs 1024 626.95us 612.26ns 271.79us 265.42ns 613.93us 599.54ns 358.15us 349.75ns 217.28us 212.18ns -EtsOrdDs 2048 1.19ms 580.09ns 561.59us 274.21ns 1.47ms 719.19ns 485.31us 236.97ns 600.17us 293.05ns -EtsOrdDs 2048 1.44ms 702.79ns 558.31us 272.61ns 1.50ms 731.64ns 479.80us 234.28ns 462.90us 226.03ns -EtsOrdDs 2048 1.32ms 646.17ns 639.64us 312.32ns 1.31ms 638.12ns 523.16us 255.45ns 394.86us 192.80ns -EtsOrdDs 2048 1.06ms 515.45ns 469.01us 229.01ns 1.31ms 641.58ns 571.47us 279.04ns 451.95us 220.68ns -EtsOrdDs 2048 1.66ms 812.87ns 846.16us 413.16ns 1.49ms 728.04ns 469.64us 229.32ns 537.54us 262.47ns -EtsOrdDs 2048 1.48ms 724.43ns 598.22us 292.10ns 1.81ms 885.36ns 664.10us 324.27ns 671.33us 327.80ns -EtsOrdDs 2048 1.40ms 685.73ns 458.52us 223.89ns 1.23ms 602.60ns 667.66us 326.01ns 567.91us 277.30ns -EtsOrdDs 2048 1.36ms 664.61ns 556.70us 271.82ns 1.13ms 553.92ns 517.34us 252.61ns 418.56us 204.38ns -EtsOrdDs 2048 1.30ms 632.82ns 649.59us 317.18ns 1.52ms 740.18ns 512.54us 250.27ns 672.17us 328.21ns -EtsOrdDs 2048 1.20ms 583.56ns 655.04us 319.84ns 1.48ms 723.71ns 676.54us 330.34ns 521.23us 254.51ns -EtsOrdDs 2048 1.59ms 778.10ns 655.00us 319.82ns 2.44ms 1192.36ns 1.05ms 511.17ns 781.35us 381.52ns -EtsOrdDs 2048 2.11ms 1028.06ns 600.46us 293.19ns 1.24ms 606.56ns 553.42us 270.23ns 674.75us 329.47ns -EtsOrdDs 2048 1.42ms 694.71ns 591.23us 288.69ns 1.64ms 800.86ns 615.20us 300.39ns 445.85us 217.70ns -EtsOrdDs 2048 1.52ms 740.89ns 528.53us 258.07ns 1.10ms 538.55ns 412.43us 201.38ns 444.75us 217.16ns -EtsOrdDs 2048 1.13ms 550.06ns 506.88us 247.50ns 1.10ms 537.31ns 461.99us 225.58ns 451.82us 220.62ns -EtsOrdDs 2048 1.07ms 521.62ns 517.75us 252.81ns 1.11ms 541.10ns 407.20us 198.83ns 412.36us 201.35ns -EtsOrdDs 2048 1.12ms 549.09ns 650.70us 317.73ns 1.77ms 863.96ns 730.60us 356.74ns 758.69us 370.46ns -EtsOrdDs 2048 1.88ms 918.82ns 523.50us 255.61ns 1.11ms 543.49ns 864.62us 422.18ns 545.48us 266.35ns -EtsOrdDs 2048 1.34ms 652.37ns 558.70us 272.80ns 1.25ms 608.26ns 495.45us 241.92ns 468.40us 228.71ns -EtsOrdDs 2048 1.32ms 643.18ns 577.75us 282.10ns 1.50ms 732.76ns 493.22us 240.83ns 475.35us 232.10ns -EtsOrdDs 2048 1.51ms 736.35ns 1.01ms 494.40ns 1.20ms 584.55ns 462.72us 225.94ns 434.57us 212.19ns -EtsOrdDs 2048 1.18ms 577.08ns 633.30us 309.23ns 1.70ms 829.06ns 471.48us 230.21ns 453.39us 221.38ns -EtsOrdDs 4096 2.15ms 525.75ns 1.47ms 359.97ns 3.31ms 808.65ns 1.63ms 398.71ns 1.91ms 465.44ns -EtsOrdDs 4096 2.28ms 556.90ns 1.80ms 440.44ns 4.48ms 1093.12ns 1.16ms 282.16ns 1.16ms 282.18ns -EtsOrdDs 4096 2.39ms 583.16ns 1.09ms 267.02ns 3.42ms 834.81ns 1.53ms 373.29ns 1.13ms 275.04ns -EtsOrdDs 4096 2.23ms 545.08ns 1.14ms 279.15ns 2.89ms 705.17ns 1.20ms 293.41ns 1.28ms 312.48ns -EtsOrdDs 4096 2.89ms 706.21ns 1.42ms 346.36ns 2.75ms 670.68ns 1.20ms 292.11ns 1.23ms 300.34ns -EtsOrdDs 4096 2.27ms 553.83ns 1.25ms 306.04ns 2.92ms 713.68ns 1.86ms 453.24ns 1.59ms 389.05ns -EtsOrdDs 4096 2.11ms 515.52ns 1.19ms 289.38ns 3.02ms 736.70ns 1.14ms 279.52ns 1.08ms 264.73ns -EtsOrdDs 4096 2.17ms 530.76ns 1.49ms 364.46ns 3.92ms 955.86ns 1.28ms 313.23ns 1.66ms 404.71ns -EtsOrdDs 4096 2.94ms 717.89ns 1.17ms 285.69ns 3.15ms 769.60ns 1.08ms 263.10ns 1.55ms 377.80ns -EtsOrdDs 4096 2.20ms 537.77ns 1.05ms 255.42ns 2.52ms 614.52ns 964.64us 235.51ns 1.06ms 259.98ns -EtsOrdDs 4096 2.28ms 556.71ns 1.33ms 325.67ns 3.34ms 816.07ns 1.12ms 274.11ns 1.27ms 309.71ns -EtsOrdDs 4096 2.42ms 590.11ns 953.19us 232.71ns 2.39ms 582.34ns 930.68us 227.22ns 1.09ms 265.58ns -EtsOrdDs 4096 2.29ms 559.10ns 968.92us 236.55ns 2.42ms 590.28ns 908.81us 221.88ns 1.09ms 265.43ns -EtsOrdDs 4096 2.67ms 650.75ns 1.24ms 303.22ns 2.76ms 673.90ns 1.30ms 318.46ns 1.41ms 344.68ns -EtsOrdDs 4096 2.70ms 658.09ns 1.51ms 369.55ns 4.40ms 1074.07ns 1.56ms 380.70ns 1.10ms 268.64ns -EtsOrdDs 4096 2.72ms 664.53ns 1.06ms 258.03ns 2.61ms 636.17ns 1.28ms 311.72ns 1.19ms 289.72ns -EtsOrdDs 4096 2.21ms 540.48ns 1.02ms 249.11ns 2.70ms 659.32ns 1.23ms 300.75ns 1.08ms 262.89ns -EtsOrdDs 4096 2.49ms 607.12ns 1.67ms 408.05ns 3.88ms 946.90ns 1.68ms 411.16ns 1.39ms 340.03ns -EtsOrdDs 4096 2.26ms 551.81ns 1.53ms 373.90ns 3.03ms 738.97ns 1.08ms 264.48ns 1.10ms 268.36ns -EtsOrdDs 4096 2.32ms 565.28ns 1.09ms 264.90ns 3.10ms 756.34ns 1.25ms 305.10ns 1.17ms 285.26ns -EtsOrdDs 4096 2.35ms 572.52ns 1.09ms 267.19ns 3.30ms 806.13ns 1.84ms 449.42ns 1.53ms 373.25ns -EtsOrdDs 4096 2.44ms 596.34ns 1.02ms 249.10ns 2.44ms 594.97ns 988.35us 241.30ns 1.28ms 311.41ns -EtsOrdDs 8192 4.37ms 533.85ns 2.03ms 247.92ns 4.57ms 558.25ns 2.15ms 262.23ns 2.27ms 277.64ns -EtsOrdDs 8192 7.46ms 911.16ns 3.27ms 399.04ns 5.43ms 662.90ns 3.17ms 386.83ns 2.57ms 313.40ns -EtsOrdDs 8192 7.24ms 884.10ns 3.01ms 367.21ns 5.59ms 682.54ns 1.92ms 234.05ns 1.93ms 235.58ns -EtsOrdDs 8192 4.68ms 571.69ns 2.00ms 244.72ns 4.92ms 600.92ns 3.10ms 378.69ns 2.60ms 317.66ns -EtsOrdDs 8192 5.98ms 730.37ns 2.94ms 359.44ns 5.16ms 629.71ns 2.80ms 342.10ns 2.01ms 244.80ns -EtsOrdDs 8192 5.66ms 690.84ns 2.76ms 337.03ns 6.42ms 783.28ns 2.93ms 358.23ns 1.99ms 242.82ns -EtsOrdDs 8192 4.60ms 561.09ns 2.96ms 361.53ns 5.33ms 651.18ns 2.27ms 276.78ns 2.14ms 261.21ns -EtsOrdDs 8192 4.78ms 583.09ns 2.54ms 310.14ns 5.86ms 714.83ns 3.75ms 457.18ns 2.49ms 303.84ns -EtsOrdDs 8192 5.00ms 609.94ns 2.24ms 273.26ns 6.07ms 740.75ns 2.45ms 299.53ns 2.39ms 291.19ns -EtsOrdDs 8192 4.79ms 585.02ns 3.77ms 460.40ns 6.02ms 734.43ns 2.82ms 343.70ns 2.34ms 286.10ns -EtsOrdDs 8192 5.20ms 635.35ns 3.13ms 381.74ns 5.88ms 718.22ns 3.32ms 405.47ns 2.26ms 275.32ns -EtsOrdDs 8192 5.04ms 615.39ns 2.41ms 293.72ns 7.51ms 917.24ns 2.88ms 352.12ns 2.51ms 306.53ns -EtsOrdDs 8192 4.29ms 523.62ns 2.80ms 342.16ns 5.73ms 699.47ns 2.89ms 352.88ns 2.45ms 298.61ns -EtsOrdDs 8192 5.66ms 690.34ns 2.92ms 356.65ns 5.64ms 688.95ns 2.00ms 243.69ns 3.29ms 401.65ns -EtsOrdDs 8192 4.52ms 552.06ns 2.41ms 294.56ns 5.35ms 653.54ns 3.28ms 400.96ns 2.82ms 343.99ns -EtsOrdDs 8192 5.76ms 702.53ns 2.08ms 254.39ns 5.92ms 722.85ns 1.95ms 237.88ns 2.29ms 280.01ns -EtsOrdDs 8192 4.43ms 540.99ns 2.87ms 350.50ns 5.35ms 653.06ns 2.72ms 332.11ns 3.13ms 381.76ns -EtsOrdDs 8192 5.16ms 630.04ns 2.54ms 309.76ns 6.24ms 761.86ns 2.70ms 330.05ns 2.71ms 330.88ns -EtsOrdDs 8192 6.44ms 786.17ns 3.41ms 416.74ns 7.29ms 889.35ns 2.75ms 335.82ns 3.06ms 373.99ns -EtsOrdDs 8192 4.82ms 588.72ns 2.36ms 288.57ns 5.75ms 701.33ns 2.78ms 338.79ns 2.51ms 306.66ns -EtsOrdDs 8192 5.49ms 670.20ns 3.43ms 418.78ns 6.47ms 790.08ns 2.42ms 295.52ns 2.37ms 289.02ns -EtsOrdDs 8192 4.65ms 567.49ns 2.42ms 295.19ns 5.18ms 632.65ns 2.03ms 247.35ns 2.25ms 275.11ns -EtsOrdDs 16384 9.62ms 587.13ns 5.50ms 335.74ns 12.53ms 764.95ns 6.22ms 379.61ns 4.87ms 296.98ns -EtsOrdDs 16384 9.45ms 577.08ns 4.85ms 296.16ns 11.04ms 673.97ns 7.11ms 434.12ns 4.09ms 249.37ns -EtsOrdDs 16384 7.95ms 484.94ns 4.09ms 249.57ns 10.48ms 639.92ns 6.66ms 406.23ns 4.40ms 268.50ns -EtsOrdDs 16384 12.12ms 739.95ns 4.55ms 277.93ns 9.87ms 602.66ns 3.65ms 222.52ns 4.94ms 301.78ns -EtsOrdDs 16384 9.20ms 561.74ns 4.60ms 280.90ns 10.03ms 611.97ns 4.69ms 286.00ns 7.28ms 444.25ns -EtsOrdDs 16384 8.36ms 510.16ns 4.68ms 285.68ns 29.74ms 1815.17ns 6.21ms 379.20ns 5.89ms 359.64ns -EtsOrdDs 16384 8.88ms 542.02ns 4.08ms 248.95ns 9.03ms 551.35ns 3.34ms 203.73ns 3.85ms 235.16ns -EtsOrdDs 16384 9.03ms 550.91ns 5.42ms 330.63ns 13.48ms 822.70ns 4.22ms 257.40ns 4.46ms 272.36ns -EtsOrdDs 16384 8.11ms 494.99ns 4.05ms 247.26ns 9.06ms 553.26ns 3.35ms 204.36ns 4.94ms 301.79ns -EtsOrdDs 16384 11.15ms 680.37ns 4.45ms 271.44ns 9.07ms 553.36ns 3.40ms 207.26ns 4.54ms 277.11ns -EtsOrdDs 16384 8.31ms 506.94ns 4.05ms 246.94ns 9.10ms 555.63ns 3.37ms 205.71ns 3.88ms 237.00ns -EtsOrdDs 16384 9.42ms 574.75ns 5.21ms 317.91ns 10.25ms 625.63ns 3.72ms 227.26ns 4.52ms 275.71ns -EtsOrdDs 16384 9.30ms 567.55ns 6.60ms 402.64ns 10.11ms 616.85ns 4.68ms 285.65ns 5.92ms 361.05ns -EtsOrdDs 16384 8.67ms 529.03ns 6.76ms 412.49ns 11.63ms 709.97ns 6.36ms 388.10ns 5.82ms 355.50ns -EtsOrdDs 16384 9.06ms 552.68ns 4.85ms 295.77ns 11.71ms 714.54ns 5.56ms 339.08ns 4.01ms 244.78ns -EtsOrdDs 16384 11.17ms 681.57ns 4.95ms 302.12ns 11.35ms 693.03ns 7.09ms 432.94ns 4.49ms 273.77ns -EtsOrdDs 16384 8.77ms 535.49ns 4.53ms 276.41ns 10.18ms 621.32ns 4.22ms 257.79ns 5.60ms 341.80ns -EtsOrdDs 16384 9.46ms 577.24ns 4.73ms 288.73ns 9.91ms 604.84ns 4.20ms 256.05ns 6.13ms 373.91ns -EtsOrdDs 16384 9.33ms 569.19ns 5.13ms 313.11ns 10.08ms 615.00ns 4.89ms 298.33ns 5.41ms 330.17ns -EtsOrdDs 16384 9.64ms 588.66ns 6.57ms 401.10ns 10.63ms 648.99ns 5.79ms 353.45ns 4.26ms 259.92ns -EtsOrdDs 16384 8.93ms 544.76ns 5.02ms 306.55ns 10.97ms 669.36ns 4.13ms 252.14ns 4.14ms 252.50ns -EtsOrdDs 16384 11.73ms 715.97ns 6.02ms 367.31ns 11.44ms 698.10ns 4.63ms 282.77ns 5.46ms 333.08ns -EtsOrdDs 32768 17.85ms 544.61ns 11.30ms 344.75ns 23.77ms 725.26ns 10.10ms 308.32ns 8.79ms 268.38ns -EtsOrdDs 32768 18.81ms 573.91ns 11.32ms 345.34ns 27.41ms 836.48ns 11.03ms 336.55ns 10.30ms 314.21ns -EtsOrdDs 32768 20.97ms 640.08ns 10.85ms 331.04ns 23.79ms 726.16ns 9.76ms 297.87ns 8.98ms 274.04ns -EtsOrdDs 32768 19.35ms 590.58ns 10.67ms 325.70ns 26.79ms 817.59ns 10.31ms 314.54ns 8.84ms 269.71ns -EtsOrdDs 32768 20.48ms 624.98ns 10.89ms 332.24ns 27.94ms 852.57ns 11.17ms 340.74ns 10.01ms 305.50ns -EtsOrdDs 32768 16.65ms 508.05ns 11.95ms 364.80ns 26.44ms 807.00ns 13.41ms 409.37ns 11.64ms 355.22ns -EtsOrdDs 32768 17.98ms 548.76ns 10.13ms 309.22ns 23.07ms 703.96ns 10.79ms 329.26ns 9.25ms 282.24ns -EtsOrdDs 32768 16.81ms 512.92ns 14.08ms 429.67ns 26.53ms 809.60ns 10.57ms 322.70ns 10.41ms 317.77ns -EtsOrdDs 32768 19.20ms 585.96ns 14.78ms 451.09ns 27.32ms 833.78ns 11.98ms 365.54ns 12.13ms 370.13ns -EtsOrdDs 32768 20.68ms 631.07ns 13.21ms 403.27ns 24.83ms 757.82ns 13.24ms 403.92ns 10.26ms 313.09ns -EtsOrdDs 32768 19.54ms 596.39ns 13.97ms 426.38ns 26.05ms 794.99ns 10.85ms 331.13ns 8.92ms 272.29ns -EtsOrdDs 32768 19.73ms 601.97ns 14.90ms 454.84ns 22.64ms 691.07ns 10.96ms 334.50ns 8.68ms 264.82ns -EtsOrdDs 32768 17.66ms 539.00ns 13.74ms 419.42ns 26.63ms 812.54ns 10.28ms 313.71ns 10.93ms 333.51ns -EtsOrdDs 32768 17.51ms 534.48ns 14.27ms 435.60ns 22.15ms 675.93ns 12.59ms 384.32ns 11.07ms 337.87ns -EtsOrdDs 32768 21.63ms 660.22ns 13.74ms 419.38ns 26.97ms 822.93ns 12.55ms 383.01ns 9.18ms 280.02ns -EtsOrdDs 32768 20.40ms 622.70ns 13.72ms 418.59ns 24.17ms 737.59ns 12.61ms 384.90ns 8.75ms 267.15ns -EtsOrdDs 32768 17.80ms 543.11ns 14.78ms 451.01ns 27.89ms 851.12ns 12.98ms 396.10ns 9.26ms 282.49ns -EtsOrdDs 32768 17.30ms 528.04ns 11.83ms 360.95ns 26.11ms 796.94ns 10.67ms 325.54ns 8.81ms 268.98ns -EtsOrdDs 32768 16.76ms 511.55ns 10.23ms 312.22ns 22.74ms 693.96ns 11.43ms 348.85ns 8.92ms 272.14ns -EtsOrdDs 32768 21.72ms 662.70ns 12.21ms 372.68ns 24.90ms 759.75ns 12.24ms 373.42ns 12.16ms 371.03ns -EtsOrdDs 32768 18.10ms 552.27ns 10.06ms 307.11ns 25.40ms 775.06ns 13.54ms 413.35ns 8.77ms 267.51ns -EtsOrdDs 32768 16.24ms 495.67ns 10.81ms 329.90ns 24.63ms 751.51ns 10.66ms 325.45ns 13.00ms 396.83ns -EtsOrdDs 65536 52.19ms 796.29ns 27.29ms 416.35ns 45.74ms 697.98ns 21.18ms 323.14ns 17.75ms 270.84ns -EtsOrdDs 65536 38.15ms 582.10ns 20.73ms 316.29ns 41.69ms 636.12ns 23.60ms 360.13ns 18.42ms 281.06ns -EtsOrdDs 65536 36.46ms 556.34ns 22.06ms 336.63ns 43.09ms 657.48ns 20.67ms 315.41ns 17.45ms 266.23ns -EtsOrdDs 65536 39.13ms 597.01ns 22.44ms 342.41ns 48.51ms 740.22ns 27.04ms 412.54ns 19.71ms 300.79ns -EtsOrdDs 65536 39.07ms 596.11ns 23.49ms 358.49ns 41.94ms 639.99ns 20.86ms 318.27ns 17.88ms 272.75ns -EtsOrdDs 65536 38.60ms 588.99ns 22.37ms 341.32ns 44.58ms 680.27ns 20.64ms 314.94ns 17.81ms 271.77ns -EtsOrdDs 65536 38.78ms 591.79ns 21.56ms 328.97ns 41.73ms 636.67ns 22.47ms 342.92ns 19.13ms 291.92ns -EtsOrdDs 65536 35.61ms 543.29ns 24.18ms 368.92ns 57.03ms 870.22ns 26.41ms 402.91ns 22.15ms 337.96ns -EtsOrdDs 65536 41.63ms 635.28ns 26.53ms 404.81ns 49.34ms 752.91ns 24.47ms 373.36ns 22.21ms 338.87ns -EtsOrdDs 65536 44.24ms 675.07ns 27.58ms 420.90ns 49.33ms 752.79ns 25.24ms 385.06ns 22.14ms 337.76ns -EtsOrdDs 65536 47.18ms 719.98ns 25.11ms 383.22ns 58.41ms 891.28ns 27.67ms 422.15ns 20.74ms 316.51ns -EtsOrdDs 65536 41.53ms 633.65ns 24.53ms 374.31ns 47.16ms 719.58ns 24.86ms 379.28ns 18.48ms 282.02ns -EtsOrdDs 65536 36.16ms 551.80ns 21.05ms 321.24ns 47.22ms 720.46ns 24.07ms 367.33ns 20.90ms 318.93ns -EtsOrdDs 65536 46.39ms 707.79ns 25.69ms 392.06ns 53.24ms 812.35ns 24.32ms 371.07ns 20.41ms 311.48ns -EtsOrdDs 65536 49.30ms 752.30ns 25.35ms 386.80ns 47.71ms 727.92ns 23.55ms 359.27ns 20.64ms 314.95ns -EtsOrdDs 65536 44.55ms 679.84ns 27.24ms 415.58ns 47.32ms 722.06ns 25.18ms 384.23ns 21.27ms 324.58ns -EtsOrdDs 65536 45.83ms 699.36ns 25.13ms 383.50ns 59.51ms 908.12ns 22.28ms 339.92ns 21.40ms 326.60ns -EtsOrdDs 65536 43.84ms 668.92ns 24.82ms 378.77ns 48.42ms 738.77ns 24.66ms 376.36ns 22.08ms 336.89ns -EtsOrdDs 65536 42.16ms 643.25ns 24.28ms 370.51ns 51.75ms 789.66ns 28.37ms 432.89ns 24.32ms 371.02ns -EtsOrdDs 65536 48.81ms 744.86ns 27.17ms 414.53ns 55.83ms 851.94ns 22.99ms 350.81ns 19.04ms 290.59ns -EtsOrdDs 65536 46.16ms 704.37ns 26.44ms 403.51ns 49.19ms 750.58ns 24.20ms 369.31ns 18.70ms 285.27ns -EtsOrdDs 65536 50.53ms 771.07ns 25.59ms 390.45ns 57.43ms 876.32ns 25.10ms 382.96ns 24.48ms 373.56ns -EtsOrdDs 131072 95.81ms 730.99ns 47.93ms 365.70ns 90.40ms 689.70ns 50.22ms 383.14ns 35.77ms 272.92ns -EtsOrdDs 131072 76.98ms 587.30ns 52.71ms 402.14ns 98.92ms 754.72ns 54.74ms 417.60ns 45.72ms 348.85ns -EtsOrdDs 131072 90.16ms 687.84ns 55.00ms 419.65ns 101.63ms 775.39ns 52.78ms 402.70ns 43.55ms 332.29ns -EtsOrdDs 131072 85.87ms 655.10ns 47.97ms 365.95ns 92.66ms 706.97ns 44.58ms 340.12ns 41.02ms 312.98ns -EtsOrdDs 131072 83.22ms 634.91ns 42.45ms 323.90ns 104.82ms 799.72ns 47.81ms 364.77ns 38.54ms 294.04ns -EtsOrdDs 131072 93.12ms 710.49ns 49.99ms 381.42ns 104.47ms 797.08ns 55.27ms 421.70ns 42.96ms 327.74ns -EtsOrdDs 131072 90.32ms 689.11ns 58.28ms 444.61ns 92.69ms 707.16ns 42.85ms 326.89ns 36.30ms 276.94ns -EtsOrdDs 131072 79.49ms 606.47ns 44.81ms 341.86ns 102.14ms 779.26ns 49.93ms 380.91ns 44.77ms 341.59ns -EtsOrdDs 131072 84.60ms 645.41ns 50.72ms 386.95ns 93.26ms 711.53ns 45.58ms 347.72ns 41.08ms 313.39ns -EtsOrdDs 131072 82.71ms 631.06ns 61.31ms 467.77ns 102.84ms 784.58ns 45.19ms 344.79ns 34.60ms 264.00ns -EtsOrdDs 131072 70.57ms 538.40ns 49.52ms 377.80ns 102.01ms 778.28ns 53.00ms 404.38ns 43.31ms 330.46ns -EtsOrdDs 131072 88.61ms 676.08ns 51.62ms 393.80ns 109.42ms 834.80ns 56.61ms 431.88ns 41.80ms 318.87ns -EtsOrdDs 131072 89.22ms 680.72ns 60.83ms 464.11ns 116.39ms 887.95ns 43.97ms 335.50ns 40.58ms 309.62ns -EtsOrdDs 131072 72.91ms 556.28ns 43.10ms 328.79ns 102.95ms 785.42ns 47.81ms 364.74ns 51.21ms 390.69ns -EtsOrdDs 131072 99.42ms 758.50ns 46.13ms 351.93ns 86.04ms 656.46ns 43.01ms 328.18ns 35.54ms 271.17ns -EtsOrdDs 131072 80.59ms 614.86ns 42.12ms 321.33ns 88.56ms 675.67ns 43.38ms 330.93ns 44.22ms 337.39ns -EtsOrdDs 131072 140.15ms 1069.24ns 42.38ms 323.33ns 86.14ms 657.22ns 43.59ms 332.55ns 33.57ms 256.12ns -EtsOrdDs 131072 80.15ms 611.49ns 44.75ms 341.39ns 86.67ms 661.24ns 43.29ms 330.24ns 36.96ms 281.95ns -EtsOrdDs 131072 73.12ms 557.83ns 43.99ms 335.65ns 86.00ms 656.14ns 42.85ms 326.92ns 34.41ms 262.56ns -EtsOrdDs 131072 78.02ms 595.25ns 42.96ms 327.79ns 88.21ms 672.96ns 44.16ms 336.95ns 36.04ms 274.94ns -EtsOrdDs 131072 71.98ms 549.15ns 43.20ms 329.63ns 90.20ms 688.17ns 43.11ms 328.89ns 35.19ms 268.49ns -EtsOrdDs 131072 72.85ms 555.77ns 43.45ms 331.53ns 86.60ms 660.73ns 42.50ms 324.26ns 36.13ms 275.61ns -EtsOrdDs 524288 292.93ms 558.72ns 183.10ms 349.24ns 347.82ms 663.41ns 183.29ms 349.61ns 140.36ms 267.72ns -EtsOrdDs 524288 279.58ms 533.25ns 181.16ms 345.54ns 378.70ms 722.32ns 169.44ms 323.17ns 142.53ms 271.85ns -EtsOrdDs 524288 281.79ms 537.48ns 180.84ms 344.92ns 357.01ms 680.94ns 170.09ms 324.42ns 139.34ms 265.77ns -EtsOrdDs 524288 289.19ms 551.58ns 180.92ms 345.09ns 362.01ms 690.49ns 169.16ms 322.66ns 137.77ms 262.78ns -EtsOrdDs 524288 284.64ms 542.91ns 181.34ms 345.88ns 367.69ms 701.31ns 167.70ms 319.86ns 143.09ms 272.92ns -EtsOrdDs 524288 285.74ms 545.00ns 182.84ms 348.74ns 369.22ms 704.23ns 169.49ms 323.28ns 135.55ms 258.54ns -EtsOrdDs 524288 279.46ms 533.02ns 186.13ms 355.01ns 358.77ms 684.29ns 172.97ms 329.90ns 139.01ms 265.15ns -EtsOrdDs 524288 294.80ms 562.28ns 189.68ms 361.79ns 366.85ms 699.72ns 172.67ms 329.34ns 138.29ms 263.76ns -EtsOrdDs 524288 297.45ms 567.34ns 180.06ms 343.44ns 353.16ms 673.59ns 169.74ms 323.76ns 142.94ms 272.63ns -EtsOrdDs 524288 286.01ms 545.52ns 183.93ms 350.82ns 360.49ms 687.59ns 173.91ms 331.71ns 134.81ms 257.12ns -EtsOrdDs 524288 279.35ms 532.82ns 184.34ms 351.61ns 363.34ms 693.02ns 182.43ms 347.95ns 142.66ms 272.11ns -EtsOrdDs 524288 288.37ms 550.01ns 182.77ms 348.61ns 357.58ms 682.03ns 166.28ms 317.15ns 142.20ms 271.23ns -EtsOrdDs 524288 286.92ms 547.26ns 182.91ms 348.87ns 369.19ms 704.17ns 179.24ms 341.87ns 140.84ms 268.64ns -EtsOrdDs 524288 283.42ms 540.59ns 188.24ms 359.04ns 356.05ms 679.11ns 172.89ms 329.76ns 142.62ms 272.03ns -EtsOrdDs 524288 286.28ms 546.04ns 189.04ms 360.56ns 352.91ms 673.12ns 172.53ms 329.07ns 139.93ms 266.90ns -EtsOrdDs 524288 288.58ms 550.43ns 187.93ms 358.46ns 355.00ms 677.10ns 169.53ms 323.36ns 137.83ms 262.88ns -EtsOrdDs 524288 287.32ms 548.02ns 188.74ms 360.00ns 356.50ms 679.96ns 171.74ms 327.56ns 146.39ms 279.21ns -EtsOrdDs 524288 286.78ms 546.99ns 181.00ms 345.24ns 358.85ms 684.45ns 173.53ms 330.98ns 138.01ms 263.24ns -EtsOrdDs 524288 277.99ms 530.22ns 183.71ms 350.41ns 365.65ms 697.42ns 170.33ms 324.88ns 140.08ms 267.18ns -EtsOrdDs 524288 285.06ms 543.71ns 182.25ms 347.61ns 359.30ms 685.31ns 167.48ms 319.43ns 145.16ms 276.88ns -EtsOrdDs 524288 283.28ms 540.31ns 180.29ms 343.87ns 357.29ms 681.47ns 169.95ms 324.15ns 137.43ms 262.12ns -EtsOrdDs 524288 283.57ms 540.86ns 188.27ms 359.09ns 354.25ms 675.67ns 168.34ms 321.09ns 140.45ms 267.89ns -EtsOrdDs 1048576 596.45ms 568.82ns 376.84ms 359.38ns 754.21ms 719.27ns 336.64ms 321.05ns 283.25ms 270.13ns -EtsOrdDs 1048576 589.39ms 562.08ns 383.78ms 366.00ns 826.33ms 788.05ns 387.67ms 369.71ns 298.37ms 284.55ns -EtsOrdDs 1048576 660.74ms 630.13ns 383.33ms 365.57ns 763.65ms 728.28ns 334.80ms 319.29ns 275.22ms 262.47ns -EtsOrdDs 1048576 581.20ms 554.28ns 381.42ms 363.75ns 765.88ms 730.40ns 342.89ms 327.00ns 291.11ms 277.63ns -EtsOrdDs 1048576 584.68ms 557.59ns 382.09ms 364.39ns 776.48ms 740.51ns 356.89ms 340.36ns 282.24ms 269.16ns -EtsOrdDs 1048576 602.99ms 575.05ns 371.09ms 353.90ns 807.85ms 770.43ns 379.82ms 362.23ns 305.27ms 291.13ns -EtsOrdDs 1048576 636.57ms 607.08ns 404.49ms 385.76ns 764.20ms 728.80ns 372.72ms 355.45ns 292.28ms 278.74ns -EtsOrdDs 1048576 655.29ms 624.93ns 381.19ms 363.53ns 781.29ms 745.09ns 346.78ms 330.71ns 303.81ms 289.73ns -EtsOrdDs 1048576 635.16ms 605.73ns 403.74ms 385.04ns 850.21ms 810.82ns 356.55ms 340.03ns 295.50ms 281.81ns -EtsOrdDs 1048576 648.53ms 618.49ns 411.62ms 392.55ns 810.53ms 772.98ns 373.78ms 356.47ns 318.60ms 303.84ns -EtsOrdDs 1048576 643.15ms 613.35ns 448.18ms 427.42ns 809.29ms 771.80ns 367.68ms 350.65ns 381.88ms 364.19ns -EtsOrdDs 1048576 666.38ms 635.51ns 423.50ms 403.88ns 807.37ms 769.97ns 367.49ms 350.46ns 303.86ms 289.78ns -EtsOrdDs 1048576 655.51ms 625.15ns 422.39ms 402.82ns 857.12ms 817.41ns 366.25ms 349.29ns 359.17ms 342.53ns -EtsOrdDs 1048576 646.41ms 616.46ns 408.89ms 389.95ns 857.11ms 817.40ns 362.61ms 345.81ns 287.19ms 273.89ns -EtsOrdDs 1048576 660.99ms 630.37ns 444.53ms 423.93ns 833.12ms 794.52ns 350.15ms 333.93ns 340.58ms 324.80ns -EtsOrdDs 1048576 641.91ms 612.17ns 420.43ms 400.95ns 835.47ms 796.77ns 377.35ms 359.87ns 308.96ms 294.65ns -EtsOrdDs 1048576 664.03ms 633.27ns 400.29ms 381.74ns 801.89ms 764.75ns 373.61ms 356.30ns 326.60ms 311.47ns -EtsOrdDs 1048576 665.01ms 634.20ns 411.87ms 392.79ns 839.30ms 800.42ns 389.93ms 371.86ns 299.28ms 285.41ns -EtsOrdDs 1048576 612.00ms 583.65ns 472.85ms 450.95ns 815.25ms 777.48ns 379.41ms 361.83ns 311.45ms 297.02ns -EtsOrdDs 1048576 648.85ms 618.79ns 408.34ms 389.42ns 791.92ms 755.23ns 381.83ms 364.14ns 288.32ms 274.97ns -EtsOrdDs 1048576 686.19ms 654.40ns 473.48ms 451.54ns 889.72ms 848.50ns 432.19ms 412.17ns 351.52ms 335.23ns -EtsOrdDs 1048576 807.52ms 770.11ns 502.31ms 479.04ns 902.63ms 860.81ns 444.20ms 423.63ns 298.14ms 284.33ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -DictDs 8 28.77us 3596.75ns 2.67us 334.38ns 9.70us 1212.25ns 5.29us 661.25ns 6.38us 797.75ns -DictDs 8 18.12us 2265.50ns 2.52us 314.38ns 8.71us 1088.25ns 1.10us 137.75ns 7.96us 995.63ns -DictDs 8 8.81us 1100.75ns 1.83us 229.13ns 5.30us 662.50ns 1.00us 125.25ns 4.78us 597.38ns -DictDs 8 8.31us 1039.38ns 1.79us 224.25ns 5.17us 646.13ns 962ns 120.25ns 10.55us 1318.75ns -DictDs 8 7.88us 984.38ns 1.79us 224.13ns 4.96us 619.88ns 942ns 117.75ns 4.45us 556.00ns -DictDs 8 7.56us 945.50ns 1.83us 229.25ns 4.93us 616.13ns 922ns 115.25ns 4.32us 539.75ns -DictDs 8 9.91us 1238.50ns 1.84us 230.50ns 5.07us 633.63ns 972ns 121.50ns 5.50us 687.50ns -DictDs 8 8.42us 1052.00ns 1.91us 239.13ns 4.92us 615.00ns 941ns 117.63ns 4.48us 559.88ns -DictDs 8 7.85us 981.75ns 1.80us 225.50ns 4.70us 587.25ns 972ns 121.50ns 4.39us 548.50ns -DictDs 8 7.99us 998.13ns 1.86us 232.88ns 4.71us 588.63ns 932ns 116.50ns 4.42us 552.25ns -DictDs 8 17.55us 2194.00ns 1.82us 228.00ns 5.27us 658.63ns 1.22us 152.88ns 6.10us 762.63ns -DictDs 8 7.41us 926.75ns 1.72us 215.38ns 4.62us 577.38ns 932ns 116.50ns 4.30us 537.25ns -DictDs 8 12.31us 1539.13ns 2.25us 281.75ns 6.49us 811.63ns 1.19us 149.00ns 43.71us 5463.25ns -DictDs 8 13.77us 1720.63ns 2.63us 329.38ns 8.57us 1070.75ns 1.46us 182.88ns 24.58us 3072.00ns -DictDs 8 12.81us 1601.75ns 2.40us 300.50ns 5.95us 743.88ns 1.40us 175.38ns 5.67us 708.75ns -DictDs 8 11.02us 1377.63ns 2.33us 291.75ns 19.20us 2399.50ns 65.18us 8147.63ns 96.19us 12023.75ns -DictDs 8 367.23us 45904.25ns 253.38us 31672.75ns 14.62us 1827.13ns 4.14us 517.25ns 11.99us 1499.00ns -DictDs 8 13.86us 1732.00ns 2.65us 331.88ns 6.80us 850.25ns 1.36us 170.38ns 5.80us 725.13ns -DictDs 8 40.27us 5034.38ns 3.47us 433.38ns 6.60us 825.25ns 1.08us 135.25ns 18.73us 2341.88ns -DictDs 8 13.84us 1729.50ns 2.88us 359.38ns 8.44us 1054.50ns 1.14us 142.75ns 5.36us 670.00ns -DictDs 8 12.71us 1589.13ns 4.66us 582.38ns 10.26us 1282.38ns 1.32us 165.38ns 6.25us 781.38ns -DictDs 8 13.63us 1703.13ns 3.28us 409.50ns 6.93us 866.63ns 1.05us 131.50ns 5.39us 673.75ns -DictDs 16 156.87us 9804.50ns 4.13us 258.00ns 13.11us 819.63ns 1.31us 82.06ns 7.24us 452.69ns -DictDs 16 20.03us 1251.69ns 3.98us 248.63ns 13.08us 817.75ns 1.25us 78.31ns 7.11us 444.56ns -DictDs 16 18.66us 1165.94ns 7.15us 447.06ns 22.93us 1433.31ns 1.62us 101.44ns 8.88us 554.75ns -DictDs 16 17.55us 1097.06ns 3.28us 204.75ns 21.37us 1335.63ns 1.22us 76.38ns 6.86us 428.94ns -DictDs 16 17.97us 1123.38ns 3.85us 240.44ns 13.10us 819.00ns 1.24us 77.69ns 6.91us 432.06ns -DictDs 16 19.28us 1204.75ns 40.45us 2527.81ns 17.43us 1089.56ns 1.30us 81.38ns 7.31us 457.13ns -DictDs 16 19.74us 1233.56ns 3.52us 219.81ns 12.35us 772.06ns 1.19us 74.50ns 7.09us 443.31ns -DictDs 16 20.27us 1266.75ns 4.37us 273.00ns 15.77us 985.63ns 1.60us 100.19ns 9.30us 581.06ns -DictDs 16 17.36us 1085.13ns 3.35us 209.19ns 11.29us 705.69ns 1.13us 70.75ns 8.54us 533.50ns -DictDs 16 48.52us 3032.56ns 4.49us 280.50ns 40.52us 2532.25ns 1.60us 100.19ns 9.60us 599.88ns -DictDs 16 24.81us 1550.38ns 4.91us 306.81ns 15.42us 963.69ns 1.53us 95.81ns 9.14us 571.06ns -DictDs 16 21.23us 1326.88ns 4.50us 281.13ns 15.35us 959.31ns 1.56us 97.69ns 9.37us 585.44ns -DictDs 16 14.25us 890.44ns 3.31us 206.63ns 11.49us 718.19ns 1.18us 73.88ns 6.66us 416.44ns -DictDs 16 13.84us 864.69ns 7.36us 460.25ns 15.84us 990.00ns 1.16us 72.63ns 8.19us 511.56ns -DictDs 16 18.32us 1145.25ns 4.27us 266.75ns 20.01us 1250.50ns 1.52us 95.13ns 6.90us 431.44ns -DictDs 16 13.96us 872.25ns 3.28us 204.75ns 10.97us 685.63ns 1.11us 69.56ns 6.38us 398.81ns -DictDs 16 12.85us 803.38ns 3.24us 202.25ns 10.58us 661.25ns 1.10us 68.88ns 6.23us 389.44ns -DictDs 16 13.23us 827.13ns 3.27us 204.13ns 11.68us 730.13ns 1.14us 71.38ns 6.89us 430.81ns -DictDs 16 18.21us 1138.38ns 4.87us 304.31ns 14.45us 902.94ns 3.75us 234.19ns 255.15us 15946.56ns -DictDs 16 21.70us 1356.31ns 3.88us 242.31ns 13.90us 868.50ns 1.53us 95.75ns 8.27us 516.63ns -DictDs 16 32.30us 2018.81ns 7.35us 459.56ns 19.07us 1191.63ns 1.42us 88.94ns 7.22us 451.44ns -DictDs 16 17.59us 1099.50ns 3.43us 214.19ns 11.89us 743.25ns 11.83us 739.50ns 7.75us 484.63ns -DictDs 32 31.39us 980.88ns 11.46us 358.19ns 32.62us 1019.38ns 2.07us 64.81ns 17.09us 534.13ns -DictDs 32 664.05us 20751.47ns 28.98us 905.75ns 46.89us 1465.25ns 1.92us 60.09ns 18.97us 592.69ns -DictDs 32 33.40us 1043.81ns 10.60us 331.25ns 54.76us 1711.31ns 2.03us 63.56ns 16.37us 511.56ns -DictDs 32 46.55us 1454.59ns 24.53us 766.44ns 29.57us 924.22ns 1.95us 61.03ns 15.92us 497.50ns -DictDs 32 508.49us 15890.25ns 601.42us 18794.38ns 58.95us 1842.19ns 2.38us 74.50ns 15.60us 487.47ns -DictDs 32 69.70us 2178.13ns 9.46us 295.56ns 32.41us 1012.81ns 2.02us 63.25ns 11.75us 367.25ns -DictDs 32 31.16us 973.69ns 10.08us 314.97ns 30.16us 942.38ns 1.91us 59.81ns 15.83us 494.66ns -DictDs 32 32.54us 1016.88ns 9.81us 306.53ns 29.96us 936.13ns 1.86us 58.22ns 15.55us 485.91ns -DictDs 32 1.09ms 34164.28ns 28.38us 886.97ns 42.91us 1340.91ns 2.10us 65.75ns 19.05us 595.19ns -DictDs 32 34.39us 1074.81ns 10.19us 318.41ns 32.09us 1002.78ns 1.99us 62.31ns 29.52us 922.34ns -DictDs 32 47.14us 1473.06ns 10.33us 322.78ns 29.26us 914.50ns 1.93us 60.44ns 15.14us 473.06ns -DictDs 32 39.44us 1232.63ns 11.36us 355.03ns 31.24us 976.19ns 2.10us 65.75ns 16.65us 520.34ns -DictDs 32 26.68us 833.72ns 7.87us 245.78ns 22.11us 690.97ns 1.50us 46.97ns 11.10us 346.91ns -DictDs 32 23.66us 739.50ns 7.76us 242.66ns 21.54us 673.13ns 1.46us 45.72ns 11.06us 345.63ns -DictDs 32 34.35us 1073.56ns 11.00us 343.78ns 29.73us 928.91ns 1.83us 57.28ns 12.54us 392.00ns -DictDs 32 23.47us 733.56ns 7.50us 234.50ns 21.11us 659.66ns 1.44us 45.09ns 11.00us 343.75ns -DictDs 32 23.32us 728.84ns 7.42us 232.00ns 21.03us 657.16ns 1.44us 45.09ns 10.80us 337.50ns -DictDs 32 22.58us 705.69ns 7.29us 227.94ns 21.01us 656.53ns 1.36us 42.59ns 11.44us 357.53ns -DictDs 32 23.59us 737.31ns 7.43us 232.31ns 20.72us 647.47ns 1.41us 44.13ns 11.26us 351.91ns -DictDs 32 23.13us 722.91ns 7.25us 226.69ns 20.42us 638.06ns 1.41us 44.13ns 11.33us 354.09ns -DictDs 32 22.84us 713.81ns 7.44us 232.63ns 20.53us 641.50ns 1.47us 46.03ns 11.21us 350.34ns -DictDs 32 35.13us 1097.69ns 9.99us 312.13ns 27.95us 873.50ns 13.53us 422.69ns 17.60us 550.06ns -DictDs 64 85.48us 1335.61ns 14.05us 219.47ns 52.12us 814.33ns 2.14us 33.50ns 24.16us 377.58ns -DictDs 64 83.44us 1303.72ns 13.54us 211.64ns 64.57us 1008.91ns 2.15us 33.66ns 23.33us 364.59ns -DictDs 64 49.96us 780.67ns 13.63us 212.89ns 45.31us 708.03ns 2.05us 32.09ns 21.99us 343.61ns -DictDs 64 57.02us 890.88ns 16.81us 262.69ns 58.86us 919.67ns 2.16us 33.81ns 22.17us 346.44ns -DictDs 64 60.20us 940.67ns 13.68us 213.67ns 79.21us 1237.63ns 2.19us 34.28ns 22.07us 344.86ns -DictDs 64 67.02us 1047.11ns 18.01us 281.45ns 77.10us 1204.75ns 2.87us 44.77ns 28.76us 449.44ns -DictDs 64 58.17us 908.88ns 13.78us 215.25ns 44.46us 694.72ns 2.14us 33.50ns 21.45us 335.16ns -DictDs 64 104.03us 1625.44ns 18.00us 281.31ns 61.91us 967.27ns 2.63us 41.02ns 29.32us 458.20ns -DictDs 64 53.26us 832.19ns 13.74us 214.77ns 44.28us 691.92ns 2.24us 35.06ns 28.73us 448.95ns -DictDs 64 51.99us 812.30ns 19.13us 298.83ns 60.95us 952.41ns 2.48us 38.81ns 47.45us 741.39ns -DictDs 64 54.74us 855.34ns 13.56us 211.95ns 48.95us 764.86ns 2.11us 33.03ns 21.73us 339.55ns -DictDs 64 54.91us 858.00ns 13.23us 206.80ns 44.74us 699.11ns 2.01us 31.47ns 21.98us 343.45ns -DictDs 64 66.89us 1045.08ns 13.89us 216.97ns 138.45us 2163.25ns 2.80us 43.67ns 31.44us 491.23ns -DictDs 64 101.18us 1580.92ns 17.83us 278.64ns 56.57us 883.84ns 3.00us 46.80ns 29.72us 464.31ns -DictDs 64 109.13us 1705.13ns 17.25us 269.56ns 47.52us 742.48ns 2.18us 34.13ns 53.39us 834.20ns -DictDs 64 59.18us 924.69ns 15.80us 246.86ns 67.88us 1060.58ns 2.36us 36.94ns 21.96us 343.14ns -DictDs 64 77.07us 1204.27ns 17.71us 276.77ns 86.57us 1352.69ns 2.16us 33.81ns 21.79us 340.47ns -DictDs 64 83.23us 1300.55ns 17.73us 277.08ns 62.92us 983.08ns 2.61us 40.70ns 29.50us 461.02ns -DictDs 64 75.07us 1172.97ns 18.18us 284.13ns 154.73us 2417.63ns 2.88us 45.08ns 41.05us 641.36ns -DictDs 64 97.84us 1528.78ns 17.47us 273.00ns 62.35us 974.17ns 2.61us 40.84ns 63.92us 998.75ns -DictDs 64 85.82us 1340.94ns 17.70us 276.61ns 84.97us 1327.63ns 2.75us 43.05ns 28.81us 450.22ns -DictDs 64 79.33us 1239.48ns 17.67us 276.14ns 60.33us 942.70ns 2.82us 43.98ns 51.17us 799.61ns -DictDs 128 167.33us 1307.27ns 51.21us 400.05ns 143.28us 1119.35ns 3.79us 29.59ns 55.43us 433.07ns -DictDs 128 172.57us 1348.22ns 40.51us 316.45ns 127.05us 992.55ns 3.82us 29.82ns 93.46us 730.19ns -DictDs 128 191.04us 1492.47ns 84.75us 662.09ns 97.30us 760.17ns 14.63us 114.27ns 73.23us 572.08ns -DictDs 128 113.89us 889.79ns 31.96us 249.68ns 96.01us 750.07ns 3.73us 29.12ns 54.09us 422.59ns -DictDs 128 113.60us 887.51ns 35.80us 279.66ns 130.65us 1020.73ns 3.65us 28.48ns 53.98us 421.73ns -DictDs 128 110.90us 866.38ns 36.49us 285.06ns 99.20us 775.04ns 3.64us 28.41ns 53.55us 418.35ns -DictDs 128 163.57us 1277.93ns 45.38us 354.56ns 225.60us 1762.51ns 4.83us 37.73ns 101.26us 791.08ns -DictDs 128 1.46ms 11382.10ns 72.20us 564.09ns 179.12us 1399.41ns 5.47us 42.73ns 94.44us 737.78ns -DictDs 128 178.36us 1393.45ns 46.98us 367.02ns 169.06us 1320.74ns 5.37us 41.95ns 80.58us 629.53ns -DictDs 128 159.15us 1243.34ns 59.28us 463.13ns 135.17us 1056.03ns 5.32us 41.56ns 79.19us 618.66ns -DictDs 128 168.51us 1316.52ns 67.82us 529.81ns 177.17us 1384.14ns 5.22us 40.78ns 78.11us 610.20ns -DictDs 128 149.16us 1165.30ns 46.55us 363.65ns 101.39us 792.10ns 3.51us 27.39ns 54.06us 422.35ns -DictDs 128 122.93us 960.38ns 46.27us 361.45ns 111.03us 867.40ns 3.63us 28.34ns 53.08us 414.68ns -DictDs 128 116.56us 910.61ns 46.01us 359.41ns 150.43us 1175.24ns 3.58us 27.94ns 73.06us 570.75ns -DictDs 128 223.57us 1746.61ns 44.07us 344.31ns 1.20ms 9364.87ns 5.72us 44.70ns 125.42us 979.88ns -DictDs 128 213.59us 1668.66ns 45.37us 354.48ns 613.91us 4796.16ns 3.78us 29.51ns 57.15us 446.45ns -DictDs 128 118.90us 928.92ns 43.24us 337.81ns 147.60us 1153.16ns 4.91us 38.36ns 113.99us 890.56ns -DictDs 128 154.26us 1205.14ns 48.80us 381.26ns 133.33us 1041.63ns 4.00us 31.23ns 73.53us 574.43ns -DictDs 128 112.31us 877.41ns 38.50us 300.80ns 117.67us 919.29ns 3.73us 29.12ns 54.17us 423.21ns -DictDs 128 115.78us 904.50ns 82.21us 642.25ns 97.88us 764.70ns 3.86us 30.14ns 54.12us 422.81ns -DictDs 128 114.74us 896.44ns 40.02us 312.70ns 161.40us 1260.94ns 3.67us 28.65ns 102.19us 798.37ns -DictDs 128 120.58us 941.99ns 144.95us 1132.45ns 100.81us 787.55ns 3.74us 29.20ns 105.17us 821.61ns -DictDs 256 322.32us 1259.07ns 74.89us 292.54ns 212.03us 828.22ns 7.00us 27.36ns 132.03us 515.73ns -DictDs 256 304.37us 1188.93ns 165.52us 646.55ns 180.60us 705.45ns 7.82us 30.53ns 192.50us 751.95ns -DictDs 256 319.11us 1246.54ns 67.89us 265.18ns 160.93us 628.63ns 6.75us 26.38ns 114.84us 448.61ns -DictDs 256 365.51us 1427.78ns 79.21us 309.40ns 210.71us 823.10ns 7.43us 29.04ns 135.70us 530.09ns -DictDs 256 298.05us 1164.24ns 73.75us 288.07ns 175.10us 683.97ns 6.78us 26.49ns 116.83us 456.36ns -DictDs 256 319.76us 1249.05ns 92.77us 362.39ns 223.08us 871.39ns 7.19us 28.10ns 115.42us 450.88ns -DictDs 256 292.35us 1141.97ns 67.59us 264.01ns 160.58us 627.26ns 6.92us 27.04ns 166.16us 649.06ns -DictDs 256 284.55us 1111.52ns 155.91us 609.03ns 212.87us 831.51ns 9.33us 36.43ns 123.57us 482.70ns -DictDs 256 271.85us 1061.90ns 86.02us 336.02ns 164.21us 641.43ns 6.86us 26.81ns 114.66us 447.91ns -DictDs 256 304.14us 1188.03ns 68.21us 266.43ns 182.86us 714.30ns 7.04us 27.51ns 132.05us 515.80ns -DictDs 256 290.77us 1135.83ns 67.98us 265.53ns 163.50us 638.65ns 6.71us 26.22ns 113.20us 442.19ns -DictDs 256 314.69us 1229.24ns 67.66us 264.28ns 158.18us 617.87ns 6.79us 26.53ns 164.71us 643.39ns -DictDs 256 356.28us 1391.70ns 81.82us 319.62ns 231.74us 905.24ns 7.11us 27.79ns 120.53us 470.84ns -DictDs 256 327.14us 1277.89ns 74.50us 291.01ns 202.54us 791.16ns 10.31us 40.27ns 135.01us 527.39ns -DictDs 256 417.70us 1631.65ns 100.61us 393.00ns 251.81us 983.63ns 9.96us 38.90ns 167.25us 653.33ns -DictDs 256 370.11us 1445.74ns 141.41us 552.40ns 260.07us 1015.91ns 10.00us 39.06ns 165.07us 644.79ns -DictDs 256 411.05us 1605.65ns 102.95us 402.15ns 281.79us 1100.72ns 15.68us 61.25ns 143.86us 561.95ns -DictDs 256 539.78us 2108.54ns 1.44ms 5606.66ns 355.16us 1387.35ns 10.76us 42.03ns 227.63us 889.20ns -DictDs 256 390.37us 1524.87ns 105.31us 411.35ns 287.78us 1124.13ns 1.15ms 4479.21ns 254.76us 995.17ns -DictDs 256 1.55ms 6060.31ns 109.29us 426.93ns 256.06us 1000.22ns 9.87us 38.55ns 1.23ms 4809.78ns -DictDs 256 1.43ms 5592.02ns 156.03us 609.49ns 264.07us 1031.53ns 9.80us 38.28ns 1.22ms 4759.65ns -DictDs 256 1.00ms 3910.80ns 79.26us 309.60ns 180.74us 706.00ns 7.17us 28.02ns 118.59us 463.25ns -DictDs 516 717.30us 1390.12ns 97.93us 189.79ns 389.68us 755.19ns 13.10us 25.38ns 290.05us 562.11ns -DictDs 516 1.47ms 2853.94ns 530.71us 1028.51ns 1.58ms 3071.56ns 23.62us 45.78ns 346.74us 671.97ns -DictDs 516 574.20us 1112.79ns 98.82us 191.52ns 388.98us 753.84ns 13.05us 25.30ns 286.77us 555.76ns -DictDs 516 584.40us 1132.56ns 98.97us 191.81ns 350.88us 680.01ns 13.03us 25.24ns 235.72us 456.82ns -DictDs 516 1.87ms 3620.84ns 157.33us 304.91ns 1.51ms 2932.19ns 31.17us 60.40ns 1.38ms 2677.20ns -DictDs 516 808.04us 1565.97ns 99.42us 192.68ns 368.49us 714.12ns 13.00us 25.20ns 239.22us 463.60ns -DictDs 516 610.67us 1183.47ns 127.04us 246.19ns 410.81us 796.14ns 13.03us 25.26ns 319.16us 618.53ns -DictDs 516 838.83us 1625.63ns 120.15us 232.86ns 496.22us 961.67ns 13.46us 26.09ns 359.06us 695.85ns -DictDs 516 1.00ms 1943.48ns 132.73us 257.22ns 328.27us 636.18ns 13.31us 25.80ns 303.72us 588.60ns -DictDs 516 821.17us 1591.41ns 169.59us 328.66ns 547.14us 1060.35ns 18.86us 36.56ns 362.63us 702.76ns -DictDs 516 785.06us 1521.44ns 148.65us 288.08ns 440.68us 854.03ns 13.10us 25.40ns 261.94us 507.63ns -DictDs 516 544.38us 1055.01ns 112.71us 218.43ns 326.39us 632.53ns 12.91us 25.03ns 235.78us 456.94ns -DictDs 516 609.16us 1180.55ns 99.96us 193.71ns 325.89us 631.56ns 12.89us 24.99ns 388.82us 753.53ns -DictDs 516 776.25us 1504.37ns 97.66us 189.27ns 407.53us 789.78ns 12.84us 24.89ns 250.69us 485.83ns -DictDs 516 645.72us 1251.40ns 117.42us 227.56ns 360.56us 698.76ns 12.97us 25.15ns 238.71us 462.62ns -DictDs 516 601.42us 1165.54ns 100.11us 194.01ns 358.08us 693.95ns 12.93us 25.07ns 287.17us 556.52ns -DictDs 516 551.79us 1069.36ns 110.09us 213.36ns 354.18us 686.40ns 12.97us 25.14ns 249.84us 484.20ns -DictDs 516 558.84us 1083.03ns 97.87us 189.68ns 401.12us 777.36ns 13.06us 25.32ns 260.56us 504.95ns -DictDs 516 512.38us 992.97ns 98.63us 191.15ns 550.23us 1066.33ns 17.64us 34.19ns 320.21us 620.55ns -DictDs 516 649.83us 1259.36ns 115.60us 224.02ns 352.47us 683.07ns 13.00us 25.20ns 381.54us 739.43ns -DictDs 516 703.43us 1363.24ns 98.41us 190.72ns 415.53us 805.30ns 22.36us 43.34ns 267.00us 517.44ns -DictDs 516 1.48ms 2860.16ns 160.91us 311.84ns 1.57ms 3039.87ns 18.83us 36.48ns 1.43ms 2768.28ns -DictDs 1024 3.38ms 3300.46ns 279.18us 272.64ns 1.01ms 990.11ns 35.98us 35.13ns 2.12ms 2067.82ns -DictDs 1024 5.09ms 4967.63ns 336.94us 329.04ns 3.07ms 2993.84ns 24.92us 24.33ns 555.85us 542.82ns -DictDs 1024 1.14ms 1115.31ns 208.71us 203.82ns 708.07us 691.47ns 24.23us 23.66ns 483.27us 471.94ns -DictDs 1024 1.11ms 1083.91ns 197.55us 192.92ns 737.91us 720.62ns 24.47us 23.89ns 492.15us 480.61ns -DictDs 1024 1.12ms 1091.85ns 198.76us 194.10ns 739.98us 722.64ns 26.33us 25.71ns 500.76us 489.03ns -DictDs 1024 1.16ms 1131.26ns 233.41us 227.94ns 726.56us 709.54ns 24.32us 23.75ns 483.82us 472.48ns -DictDs 1024 3.68ms 3596.00ns 675.64us 659.80ns 823.25us 803.95ns 50.88us 49.69ns 559.32us 546.21ns -DictDs 1024 1.32ms 1285.68ns 218.79us 213.66ns 879.37us 858.76ns 28.67us 28.00ns 717.50us 700.68ns -DictDs 1024 1.66ms 1625.10ns 361.08us 352.62ns 1.21ms 1177.32ns 38.20us 37.31ns 711.86us 695.17ns -DictDs 1024 1.44ms 1402.77ns 253.07us 247.14ns 702.91us 686.44ns 24.50us 23.93ns 553.45us 540.48ns -DictDs 1024 1.27ms 1240.70ns 228.47us 223.11ns 704.21us 687.71ns 33.34us 32.56ns 522.87us 510.61ns -DictDs 1024 1.18ms 1151.23ns 197.44us 192.81ns 742.04us 724.65ns 25.34us 24.74ns 471.50us 460.45ns -DictDs 1024 1.20ms 1167.42ns 212.19us 207.21ns 802.50us 783.69ns 24.48us 23.91ns 490.58us 479.09ns -DictDs 1024 1.13ms 1108.33ns 216.24us 211.17ns 710.96us 694.30ns 24.25us 23.69ns 520.08us 507.89ns -DictDs 1024 1.06ms 1039.52ns 266.56us 260.31ns 719.98us 703.11ns 24.46us 23.88ns 492.65us 481.10ns -DictDs 1024 2.61ms 2548.27ns 213.03us 208.03ns 751.82us 734.20ns 24.39us 23.81ns 1.90ms 1857.55ns -DictDs 1024 5.44ms 5313.67ns 204.80us 200.00ns 723.56us 706.60ns 24.67us 24.09ns 542.60us 529.88ns -DictDs 1024 1.14ms 1115.27ns 230.56us 225.16ns 740.05us 722.70ns 24.47us 23.89ns 481.57us 470.28ns -DictDs 1024 1.19ms 1160.92ns 198.28us 193.63ns 827.11us 807.72ns 24.81us 24.23ns 488.51us 477.06ns -DictDs 1024 1.60ms 1561.64ns 199.48us 194.81ns 718.06us 701.23ns 36.46us 35.60ns 511.75us 499.76ns -DictDs 1024 1.18ms 1148.66ns 198.91us 194.25ns 734.74us 717.52ns 24.35us 23.78ns 529.54us 517.13ns -DictDs 1024 1.09ms 1066.89ns 197.21us 192.59ns 778.99us 760.73ns 24.13us 23.56ns 488.34us 476.89ns -DictDs 2048 2.50ms 1219.61ns 414.82us 202.55ns 1.62ms 789.99ns 49.76us 24.30ns 1.09ms 534.03ns -DictDs 2048 2.64ms 1290.38ns 416.91us 203.57ns 1.43ms 696.99ns 51.34us 25.07ns 965.04us 471.21ns -DictDs 2048 2.45ms 1197.04ns 485.96us 237.29ns 1.77ms 865.52ns 51.03us 24.92ns 1.22ms 595.47ns -DictDs 2048 2.20ms 1076.46ns 402.98us 196.77ns 1.38ms 675.67ns 48.82us 23.84ns 1.12ms 548.13ns -DictDs 2048 2.42ms 1182.93ns 426.39us 208.20ns 1.40ms 683.44ns 48.91us 23.88ns 1.00ms 489.03ns -DictDs 2048 2.17ms 1058.10ns 402.54us 196.55ns 1.39ms 680.07ns 48.39us 23.63ns 985.97us 481.43ns -DictDs 2048 2.16ms 1053.21ns 381.59us 186.32ns 1.40ms 684.75ns 50.51us 24.67ns 1.02ms 497.47ns -DictDs 2048 2.60ms 1267.58ns 483.15us 235.91ns 1.82ms 886.64ns 59.99us 29.29ns 1.23ms 599.99ns -DictDs 2048 2.45ms 1197.73ns 385.00us 187.99ns 1.42ms 695.13ns 48.84us 23.85ns 963.58us 470.50ns -DictDs 2048 2.21ms 1077.65ns 401.13us 195.86ns 1.38ms 672.05ns 48.28us 23.57ns 1.20ms 587.17ns -DictDs 2048 2.68ms 1306.94ns 415.12us 202.70ns 1.63ms 796.04ns 49.43us 24.14ns 1.02ms 497.07ns -DictDs 2048 2.51ms 1225.38ns 430.54us 210.23ns 1.45ms 707.82ns 63.27us 30.89ns 1.08ms 527.37ns -DictDs 2048 2.46ms 1202.59ns 448.46us 218.98ns 2.12ms 1034.26ns 104.02us 50.79ns 1.25ms 612.22ns -DictDs 2048 3.85ms 1878.27ns 686.21us 335.06ns 1.78ms 868.28ns 49.35us 24.10ns 996.55us 486.60ns -DictDs 2048 2.25ms 1096.83ns 393.34us 192.06ns 1.45ms 708.20ns 49.19us 24.02ns 1.01ms 492.56ns -DictDs 2048 2.22ms 1083.42ns 428.78us 209.36ns 1.51ms 738.84ns 49.21us 24.03ns 981.63us 479.31ns -DictDs 2048 2.28ms 1115.67ns 397.09us 193.89ns 1.45ms 708.00ns 48.93us 23.89ns 972.83us 475.02ns -DictDs 2048 2.32ms 1134.44ns 394.46us 192.61ns 1.47ms 719.42ns 49.14us 23.99ns 1.01ms 491.17ns -DictDs 2048 2.50ms 1220.87ns 485.15us 236.89ns 1.69ms 825.37ns 50.98us 24.90ns 1.20ms 586.80ns -DictDs 2048 2.29ms 1117.64ns 380.93us 186.00ns 1.40ms 682.22ns 48.50us 23.68ns 991.77us 484.26ns -DictDs 2048 2.28ms 1113.92ns 394.27us 192.52ns 1.50ms 732.08ns 49.18us 24.01ns 998.66us 487.63ns -DictDs 2048 2.27ms 1106.62ns 393.56us 192.17ns 1.46ms 714.15ns 48.77us 23.81ns 1.00ms 489.16ns -DictDs 4096 4.88ms 1190.82ns 893.05us 218.03ns 2.83ms 691.24ns 117.89us 28.78ns 2.10ms 512.15ns -DictDs 4096 6.93ms 1692.94ns 859.58us 209.86ns 2.84ms 694.09ns 102.64us 25.06ns 2.10ms 512.04ns -DictDs 4096 4.72ms 1151.29ns 954.17us 232.95ns 3.26ms 796.60ns 159.40us 38.92ns 2.57ms 626.30ns -DictDs 4096 4.90ms 1196.68ns 973.76us 237.74ns 2.90ms 708.38ns 102.22us 24.96ns 2.04ms 498.41ns -DictDs 4096 4.98ms 1216.65ns 904.46us 220.81ns 3.27ms 797.27ns 113.42us 27.69ns 2.77ms 676.35ns -DictDs 4096 5.12ms 1250.61ns 929.04us 226.82ns 2.92ms 711.86ns 100.06us 24.43ns 2.09ms 510.24ns -DictDs 4096 4.83ms 1178.97ns 917.13us 223.91ns 2.82ms 687.33ns 101.02us 24.66ns 2.07ms 504.93ns -DictDs 4096 4.86ms 1185.63ns 886.00us 216.31ns 3.49ms 851.97ns 122.82us 29.99ns 2.32ms 565.52ns -DictDs 4096 4.76ms 1161.01ns 925.28us 225.90ns 2.93ms 716.51ns 100.47us 24.53ns 2.06ms 504.01ns -DictDs 4096 4.70ms 1148.63ns 896.63us 218.90ns 2.79ms 680.24ns 99.44us 24.28ns 2.08ms 508.21ns -DictDs 4096 4.82ms 1176.83ns 865.33us 211.26ns 3.45ms 842.93ns 126.34us 30.85ns 2.49ms 607.70ns -DictDs 4096 4.68ms 1142.29ns 919.33us 224.45ns 2.91ms 709.58ns 99.93us 24.40ns 2.01ms 491.45ns -DictDs 4096 4.84ms 1182.42ns 951.20us 232.23ns 3.10ms 755.84ns 133.82us 32.67ns 2.56ms 625.62ns -DictDs 4096 6.89ms 1682.99ns 1.24ms 303.42ns 3.28ms 801.75ns 102.56us 25.04ns 2.10ms 512.46ns -DictDs 4096 7.05ms 1720.79ns 960.06us 234.39ns 3.39ms 827.28ns 120.55us 29.43ns 2.16ms 526.91ns -DictDs 4096 6.98ms 1705.30ns 1.22ms 298.37ns 3.47ms 848.34ns 123.21us 30.08ns 2.11ms 515.70ns -DictDs 4096 5.18ms 1265.03ns 921.77us 225.04ns 3.35ms 818.84ns 102.29us 24.97ns 2.14ms 523.38ns -DictDs 4096 4.91ms 1199.11ns 895.98us 218.74ns 3.10ms 756.44ns 101.33us 24.74ns 2.14ms 523.32ns -DictDs 4096 5.77ms 1408.14ns 1.12ms 274.46ns 3.84ms 936.48ns 117.65us 28.72ns 2.12ms 517.73ns -DictDs 4096 5.12ms 1248.94ns 906.83us 221.39ns 2.94ms 718.05ns 101.35us 24.74ns 2.10ms 512.87ns -DictDs 4096 4.76ms 1161.68ns 927.61us 226.47ns 5.81ms 1417.26ns 156.42us 38.19ns 3.15ms 768.13ns -DictDs 4096 5.10ms 1245.14ns 939.04us 229.26ns 3.08ms 750.99ns 108.28us 26.44ns 2.15ms 524.98ns -DictDs 8192 10.24ms 1249.64ns 7.82ms 954.50ns 21.79ms 2659.94ns 288.54us 35.22ns 4.99ms 609.67ns -DictDs 8192 14.12ms 1724.09ns 2.51ms 306.21ns 12.20ms 1489.78ns 334.43us 40.82ns 7.80ms 951.71ns -DictDs 8192 10.61ms 1295.16ns 2.03ms 247.79ns 9.51ms 1160.59ns 484.58us 59.15ns 6.69ms 817.11ns -DictDs 8192 13.77ms 1680.70ns 1.93ms 235.06ns 8.29ms 1011.93ns 231.03us 28.20ns 5.60ms 683.13ns -DictDs 8192 15.23ms 1859.44ns 2.01ms 245.08ns 14.48ms 1768.04ns 504.54us 61.59ns 4.63ms 564.59ns -DictDs 8192 10.27ms 1254.12ns 2.16ms 263.09ns 8.01ms 977.81ns 247.18us 30.17ns 4.91ms 599.14ns -DictDs 8192 14.08ms 1718.68ns 2.29ms 280.10ns 9.30ms 1135.12ns 251.22us 30.67ns 4.88ms 595.15ns -DictDs 8192 18.81ms 2296.16ns 1.92ms 234.26ns 7.87ms 960.92ns 254.76us 31.10ns 4.90ms 597.92ns -DictDs 8192 11.36ms 1386.43ns 2.61ms 318.57ns 7.82ms 954.94ns 315.16us 38.47ns 4.58ms 559.28ns -DictDs 8192 10.41ms 1270.28ns 2.42ms 295.31ns 9.51ms 1160.78ns 305.16us 37.25ns 4.87ms 594.04ns -DictDs 8192 9.66ms 1179.69ns 1.89ms 230.20ns 7.51ms 917.00ns 201.26us 24.57ns 5.62ms 685.65ns -DictDs 8192 19.31ms 2357.62ns 2.11ms 257.20ns 8.80ms 1074.09ns 237.69us 29.02ns 5.33ms 650.39ns -DictDs 8192 10.17ms 1241.50ns 1.96ms 239.07ns 7.70ms 939.65ns 213.70us 26.09ns 8.76ms 1069.87ns -DictDs 8192 13.72ms 1674.95ns 1.92ms 234.75ns 8.02ms 978.99ns 212.28us 25.91ns 4.46ms 544.90ns -DictDs 8192 17.35ms 2117.44ns 1.95ms 237.86ns 8.23ms 1004.39ns 246.98us 30.15ns 4.42ms 539.57ns -DictDs 8192 25.58ms 3122.10ns 2.95ms 359.77ns 9.88ms 1206.21ns 257.79us 31.47ns 11.91ms 1454.31ns -DictDs 8192 10.50ms 1281.79ns 2.00ms 243.68ns 8.82ms 1076.27ns 235.15us 28.70ns 4.86ms 593.32ns -DictDs 8192 20.22ms 2468.77ns 1.99ms 243.27ns 7.77ms 947.95ns 269.85us 32.94ns 4.56ms 556.19ns -DictDs 8192 9.89ms 1207.84ns 1.94ms 237.04ns 7.69ms 939.06ns 215.35us 26.29ns 4.47ms 545.25ns -DictDs 8192 16.69ms 2037.46ns 1.97ms 240.21ns 8.01ms 978.23ns 215.68us 26.33ns 4.78ms 583.26ns -DictDs 8192 17.74ms 2165.23ns 2.68ms 327.11ns 9.67ms 1180.96ns 214.53us 26.19ns 4.66ms 568.65ns -DictDs 8192 10.14ms 1238.40ns 2.02ms 247.15ns 9.03ms 1102.23ns 531.27us 64.85ns 4.89ms 597.11ns -DictDs 16384 30.70ms 1873.83ns 4.53ms 276.47ns 20.08ms 1225.80ns 451.88us 27.58ns 19.09ms 1164.87ns -DictDs 16384 22.48ms 1372.01ns 4.78ms 291.88ns 22.00ms 1342.88ns 488.53us 29.82ns 27.86ms 1700.44ns -DictDs 16384 29.98ms 1829.83ns 7.44ms 453.97ns 34.28ms 2092.26ns 448.84us 27.39ns 11.43ms 697.51ns -DictDs 16384 25.02ms 1527.06ns 4.37ms 266.68ns 20.35ms 1241.97ns 433.90us 26.48ns 10.28ms 627.64ns -DictDs 16384 21.92ms 1337.83ns 8.32ms 507.66ns 20.02ms 1221.86ns 458.82us 28.00ns 17.83ms 1088.01ns -DictDs 16384 35.05ms 2139.19ns 5.67ms 345.93ns 29.87ms 1823.34ns 502.61us 30.68ns 11.39ms 694.92ns -DictDs 16384 27.32ms 1667.23ns 7.38ms 450.63ns 19.91ms 1214.95ns 481.89us 29.41ns 11.85ms 723.38ns -DictDs 16384 29.94ms 1827.48ns 4.48ms 273.19ns 23.04ms 1406.42ns 487.75us 29.77ns 11.58ms 706.50ns -DictDs 16384 35.86ms 2188.81ns 5.50ms 335.46ns 25.66ms 1566.32ns 3.02ms 184.10ns 13.47ms 822.39ns -DictDs 16384 34.26ms 2091.10ns 4.69ms 286.36ns 20.92ms 1276.93ns 499.35us 30.48ns 12.12ms 739.79ns -DictDs 16384 26.64ms 1625.76ns 4.80ms 292.92ns 33.91ms 2069.89ns 538.85us 32.89ns 11.34ms 692.07ns -DictDs 16384 23.00ms 1403.55ns 4.47ms 273.09ns 23.89ms 1457.85ns 502.53us 30.67ns 18.97ms 1157.80ns -DictDs 16384 23.80ms 1452.55ns 5.28ms 322.24ns 18.83ms 1149.36ns 471.51us 28.78ns 15.21ms 928.12ns -DictDs 16384 27.85ms 1700.03ns 4.44ms 271.18ns 27.64ms 1686.97ns 509.97us 31.13ns 12.42ms 757.78ns -DictDs 16384 38.71ms 2362.78ns 16.02ms 977.80ns 23.58ms 1439.22ns 479.83us 29.29ns 20.63ms 1259.01ns -DictDs 16384 22.40ms 1366.94ns 4.56ms 278.60ns 24.17ms 1474.97ns 538.08us 32.84ns 11.10ms 677.43ns -DictDs 16384 23.59ms 1439.74ns 4.70ms 287.15ns 25.31ms 1545.02ns 472.66us 28.85ns 11.79ms 719.58ns -DictDs 16384 31.80ms 1940.69ns 6.31ms 385.33ns 19.93ms 1216.22ns 495.55us 30.25ns 12.37ms 755.13ns -DictDs 16384 31.00ms 1892.14ns 4.93ms 300.62ns 32.17ms 1963.73ns 1.78ms 108.87ns 11.05ms 674.57ns -DictDs 16384 22.67ms 1383.68ns 4.34ms 264.63ns 23.07ms 1408.23ns 710.51us 43.37ns 11.27ms 688.12ns -DictDs 16384 22.94ms 1400.06ns 4.41ms 269.29ns 21.90ms 1336.53ns 467.47us 28.53ns 11.68ms 713.11ns -DictDs 16384 28.15ms 1717.87ns 4.42ms 270.07ns 26.20ms 1599.17ns 545.88us 33.32ns 10.94ms 667.47ns -DictDs 32768 90.81ms 2771.34ns 11.35ms 346.42ns 79.45ms 2424.60ns 1.10ms 33.63ns 83.77ms 2556.43ns -DictDs 32768 101.61ms 3101.03ns 12.04ms 367.50ns 74.59ms 2276.36ns 981.11us 29.94ns 57.27ms 1747.83ns -DictDs 32768 86.99ms 2654.59ns 12.28ms 374.90ns 69.46ms 2119.89ns 977.95us 29.84ns 43.86ms 1338.44ns -DictDs 32768 78.17ms 2385.42ns 10.30ms 314.48ns 63.78ms 1946.48ns 1.01ms 30.85ns 43.02ms 1312.98ns -DictDs 32768 75.62ms 2307.82ns 10.50ms 320.35ns 66.47ms 2028.43ns 929.38us 28.36ns 51.75ms 1579.29ns -DictDs 32768 74.35ms 2268.91ns 10.27ms 313.54ns 81.58ms 2489.57ns 1.57ms 47.90ns 45.58ms 1390.86ns -DictDs 32768 62.29ms 1900.83ns 8.62ms 263.12ns 48.11ms 1468.12ns 872.50us 26.63ns 34.05ms 1039.00ns -DictDs 32768 54.13ms 1652.03ns 9.48ms 289.42ns 47.92ms 1462.55ns 872.34us 26.62ns 32.35ms 987.22ns -DictDs 32768 52.37ms 1598.11ns 9.05ms 276.32ns 51.25ms 1563.96ns 878.07us 26.80ns 35.61ms 1086.86ns -DictDs 32768 56.18ms 1714.48ns 9.80ms 299.13ns 52.10ms 1589.98ns 1.05ms 32.10ns 35.79ms 1092.25ns -DictDs 32768 55.82ms 1703.52ns 9.60ms 292.93ns 56.75ms 1731.78ns 1.04ms 31.70ns 34.98ms 1067.63ns -DictDs 32768 58.17ms 1775.20ns 10.14ms 309.32ns 65.38ms 1995.16ns 2.74ms 83.73ns 54.81ms 1672.80ns -DictDs 32768 73.98ms 2257.75ns 15.84ms 483.42ns 75.30ms 2297.96ns 969.92us 29.60ns 56.49ms 1724.08ns -DictDs 32768 75.98ms 2318.61ns 16.33ms 498.45ns 79.83ms 2436.28ns 947.18us 28.91ns 67.47ms 2059.03ns -DictDs 32768 101.73ms 3104.41ns 11.69ms 356.88ns 61.26ms 1869.49ns 953.69us 29.10ns 49.13ms 1499.47ns -DictDs 32768 67.50ms 2060.06ns 12.16ms 370.98ns 64.39ms 1964.99ns 952.63us 29.07ns 70.81ms 2160.83ns -DictDs 32768 92.42ms 2820.57ns 10.84ms 330.82ns 89.42ms 2728.96ns 1.01ms 30.88ns 61.39ms 1873.53ns -DictDs 32768 99.66ms 3041.47ns 10.46ms 319.31ns 79.48ms 2425.59ns 899.38us 27.45ns 49.37ms 1506.69ns -DictDs 32768 70.66ms 2156.40ns 21.54ms 657.31ns 92.78ms 2831.53ns 1.68ms 51.34ns 53.75ms 1640.27ns -DictDs 32768 67.88ms 2071.57ns 24.55ms 749.07ns 92.10ms 2810.59ns 1.07ms 32.76ns 52.80ms 1611.44ns -DictDs 32768 72.28ms 2205.73ns 18.42ms 562.24ns 79.43ms 2424.02ns 977.24us 29.82ns 58.07ms 1772.04ns -DictDs 32768 92.27ms 2815.75ns 15.93ms 486.01ns 108.34ms 3306.38ns 1.34ms 41.03ns 46.72ms 1425.67ns -DictDs 65536 258.50ms 3944.45ns 28.44ms 433.96ns 188.84ms 2881.45ns 3.63ms 55.39ns 215.83ms 3293.28ns -DictDs 65536 191.77ms 2926.11ns 27.35ms 417.35ns 248.52ms 3792.10ns 4.31ms 65.70ns 165.38ms 2523.56ns -DictDs 65536 208.42ms 3180.27ns 35.80ms 546.20ns 233.00ms 3555.35ns 4.68ms 71.40ns 198.81ms 3033.63ns -DictDs 65536 228.60ms 3488.22ns 35.17ms 536.58ns 205.26ms 3132.01ns 3.66ms 55.83ns 159.42ms 2432.53ns -DictDs 65536 308.41ms 4705.89ns 40.71ms 621.19ns 278.69ms 4252.41ns 4.87ms 74.31ns 163.02ms 2487.43ns -DictDs 65536 144.00ms 2197.20ns 23.28ms 355.24ns 178.54ms 2724.33ns 9.66ms 147.41ns 161.21ms 2459.86ns -DictDs 65536 233.51ms 3563.05ns 24.59ms 375.24ns 209.15ms 3191.44ns 3.75ms 57.22ns 159.08ms 2427.35ns -DictDs 65536 162.25ms 2475.80ns 34.28ms 523.03ns 267.29ms 4078.55ns 5.11ms 77.99ns 194.66ms 2970.34ns -DictDs 65536 256.20ms 3909.30ns 52.67ms 803.65ns 256.73ms 3917.36ns 4.62ms 70.49ns 172.25ms 2628.29ns -DictDs 65536 246.15ms 3755.88ns 53.98ms 823.71ns 242.87ms 3705.86ns 4.85ms 74.08ns 218.34ms 3331.54ns -DictDs 65536 246.51ms 3761.47ns 38.84ms 592.61ns 264.90ms 4042.09ns 4.10ms 62.57ns 140.54ms 2144.44ns -DictDs 65536 171.79ms 2621.27ns 75.04ms 1145.07ns 220.99ms 3372.05ns 3.64ms 55.55ns 179.37ms 2737.02ns -DictDs 65536 230.85ms 3522.45ns 22.66ms 345.75ns 188.53ms 2876.70ns 4.05ms 61.73ns 125.69ms 1917.89ns -DictDs 65536 143.90ms 2195.80ns 23.16ms 353.33ns 161.52ms 2464.58ns 3.94ms 60.16ns 132.08ms 2015.42ns -DictDs 65536 158.08ms 2412.07ns 26.49ms 404.14ns 167.50ms 2555.86ns 3.88ms 59.23ns 130.55ms 1992.06ns -DictDs 65536 259.17ms 3954.59ns 54.09ms 825.34ns 251.64ms 3839.68ns 6.51ms 99.28ns 172.68ms 2634.94ns -DictDs 65536 190.75ms 2910.58ns 33.48ms 510.92ns 167.64ms 2557.95ns 3.64ms 55.49ns 143.63ms 2191.63ns -DictDs 65536 266.51ms 4066.69ns 37.48ms 571.86ns 225.04ms 3433.89ns 3.76ms 57.42ns 158.93ms 2425.03ns -DictDs 65536 233.83ms 3568.03ns 33.56ms 512.05ns 257.84ms 3934.26ns 5.06ms 77.20ns 184.15ms 2809.98ns -DictDs 65536 261.28ms 3986.89ns 33.88ms 517.04ns 236.96ms 3615.69ns 5.01ms 76.47ns 173.15ms 2642.02ns -DictDs 65536 241.34ms 3682.50ns 31.59ms 481.96ns 268.40ms 4095.53ns 5.27ms 80.37ns 194.87ms 2973.41ns -DictDs 65536 252.87ms 3858.49ns 34.01ms 518.99ns 228.59ms 3487.98ns 4.03ms 61.52ns 169.56ms 2587.29ns -DictDs 131072 580.66ms 4430.08ns 74.70ms 569.90ns 695.16ms 5303.65ns 9.57ms 73.03ns 597.40ms 4557.83ns -DictDs 131072 486.34ms 3710.47ns 66.81ms 509.73ns 598.69ms 4567.61ns 7.04ms 53.73ns 578.74ms 4415.40ns -DictDs 131072 727.82ms 5552.84ns 79.30ms 605.03ns 820.65ms 6261.10ns 7.94ms 60.58ns 633.77ms 4835.26ns -DictDs 131072 567.67ms 4330.95ns 55.46ms 423.15ns 636.67ms 4857.38ns 7.63ms 58.24ns 585.48ms 4466.89ns -DictDs 131072 478.46ms 3650.38ns 70.14ms 535.11ns 586.75ms 4476.53ns 7.14ms 54.47ns 567.82ms 4332.15ns -DictDs 131072 468.06ms 3570.99ns 71.34ms 544.29ns 593.26ms 4526.21ns 7.63ms 58.19ns 479.09ms 3655.17ns -DictDs 131072 436.89ms 3333.23ns 65.21ms 497.53ns 594.63ms 4536.65ns 7.14ms 54.48ns 468.49ms 3574.28ns -DictDs 131072 467.29ms 3565.15ns 63.46ms 484.15ns 596.14ms 4548.17ns 6.46ms 49.31ns 471.10ms 3594.22ns -DictDs 131072 461.47ms 3520.76ns 66.70ms 508.92ns 629.89ms 4805.70ns 7.68ms 58.62ns 465.24ms 3549.47ns -DictDs 131072 447.58ms 3414.75ns 65.94ms 503.07ns 568.48ms 4337.14ns 7.05ms 53.81ns 453.72ms 3461.64ns -DictDs 131072 424.91ms 3241.79ns 61.20ms 466.92ns 565.23ms 4312.34ns 7.14ms 54.47ns 452.08ms 3449.10ns -DictDs 131072 424.61ms 3239.54ns 64.28ms 490.41ns 568.08ms 4334.12ns 7.19ms 54.86ns 460.61ms 3514.16ns -DictDs 131072 438.59ms 3346.21ns 58.71ms 447.94ns 590.87ms 4507.98ns 7.14ms 54.49ns 473.06ms 3609.17ns -DictDs 131072 468.77ms 3576.43ns 59.92ms 457.18ns 577.80ms 4408.26ns 9.39ms 71.63ns 455.60ms 3475.93ns -DictDs 131072 435.64ms 3323.68ns 71.69ms 546.93ns 564.71ms 4308.38ns 7.50ms 57.24ns 455.68ms 3476.59ns -DictDs 131072 432.02ms 3296.04ns 60.16ms 459.02ns 573.83ms 4378.00ns 6.56ms 50.02ns 456.40ms 3482.03ns -DictDs 131072 443.68ms 3385.00ns 76.15ms 580.97ns 564.44ms 4306.31ns 7.23ms 55.17ns 457.05ms 3487.02ns -DictDs 131072 434.84ms 3317.60ns 61.90ms 472.29ns 570.68ms 4353.92ns 7.10ms 54.16ns 442.93ms 3379.26ns -DictDs 131072 439.69ms 3354.58ns 61.10ms 466.15ns 584.48ms 4459.19ns 6.50ms 49.59ns 451.33ms 3443.41ns -DictDs 131072 413.23ms 3152.67ns 62.18ms 474.43ns 568.13ms 4334.48ns 7.08ms 54.01ns 440.64ms 3361.78ns -DictDs 131072 413.92ms 3157.99ns 71.60ms 546.26ns 571.92ms 4363.37ns 6.69ms 51.04ns 463.36ms 3535.19ns -DictDs 131072 433.39ms 3306.52ns 60.24ms 459.56ns 572.90ms 4370.87ns 5.93ms 45.26ns 444.03ms 3387.70ns -DictDs 524288 5.57s 10626.76ns 444.81ms 848.41ns 8.25s 15740.27ns 67.23ms 128.23ns 6.99s 13338.90ns -DictDs 524288 5.51s 10508.57ns 448.08ms 854.65ns 8.23s 15702.61ns 66.48ms 126.81ns 7.10s 13540.64ns -DictDs 524288 5.56s 10595.80ns 434.94ms 829.58ns 8.29s 15807.11ns 67.36ms 128.49ns 7.01s 13379.22ns -DictDs 524288 5.67s 10818.22ns 472.80ms 901.80ns 8.46s 16136.16ns 76.56ms 146.03ns 7.23s 13792.08ns -DictDs 524288 5.70s 10865.54ns 427.89ms 816.14ns 8.20s 15645.59ns 66.65ms 127.13ns 7.17s 13676.25ns -DictDs 524288 5.54s 10573.60ns 421.49ms 803.94ns 8.28s 15797.95ns 67.44ms 128.64ns 7.41s 14128.99ns -DictDs 524288 6.21s 11839.84ns 468.80ms 894.16ns 8.93s 17031.54ns 67.59ms 128.91ns 7.39s 14097.23ns -DictDs 524288 5.84s 11145.59ns 443.76ms 846.40ns 9.05s 17266.62ns 67.17ms 128.12ns 7.25s 13819.03ns -DictDs 524288 5.71s 10897.77ns 436.39ms 832.34ns 8.33s 15890.59ns 68.27ms 130.22ns 7.30s 13932.08ns -DictDs 524288 5.76s 10995.34ns 447.29ms 853.14ns 8.44s 16092.82ns 73.79ms 140.73ns 7.57s 14437.59ns -DictDs 524288 5.98s 11407.11ns 521.58ms 994.84ns 8.90s 16976.63ns 66.97ms 127.74ns 7.55s 14407.77ns -DictDs 524288 6.03s 11493.51ns 467.61ms 891.89ns 9.10s 17352.45ns 77.07ms 147.00ns 7.21s 13749.03ns -DictDs 524288 5.87s 11194.95ns 440.19ms 839.59ns 8.39s 15997.33ns 67.12ms 128.02ns 8.28s 15797.33ns -DictDs 524288 5.99s 11433.57ns 541.70ms 1033.20ns 10.68s 20369.27ns 65.91ms 125.72ns 7.40s 14117.28ns -DictDs 524288 5.70s 10874.03ns 470.46ms 897.33ns 9.23s 17611.58ns 64.03ms 122.14ns 7.77s 14811.58ns -DictDs 524288 6.19s 11813.93ns 475.78ms 907.48ns 8.93s 17026.75ns 67.24ms 128.25ns 7.53s 14356.62ns -DictDs 524288 5.81s 11075.60ns 565.00ms 1077.65ns 10.58s 20179.06ns 86.82ms 165.60ns 9.27s 17678.64ns -DictDs 524288 6.65s 12689.25ns 430.52ms 821.15ns 9.42s 17962.88ns 80.00ms 152.58ns 8.06s 15369.39ns -DictDs 524288 7.17s 13670.62ns 454.27ms 866.46ns 10.47s 19964.70ns 67.76ms 129.24ns 8.23s 15693.27ns -DictDs 524288 7.12s 13574.85ns 474.82ms 905.64ns 9.48s 18076.76ns 57.69ms 110.03ns 7.38s 14076.66ns -DictDs 524288 5.83s 11118.18ns 436.40ms 832.37ns 8.51s 16228.11ns 71.81ms 136.96ns 7.25s 13832.28ns -DictDs 524288 5.72s 10918.26ns 422.96ms 806.73ns 8.66s 16517.82ns 66.62ms 127.07ns 7.40s 14109.60ns -DictDs 1048576 24.35s 23220.97ns 991.91ms 945.96ns 40.09s 38231.41ns 140.19ms 133.70ns 29.09s 2774 2.17ns -DictDs 1048576 24.70s 23553.29ns 993.12ms 947.12ns 30.67s 29253.09ns 141.15ms 134.62ns 26.81s 2556 3.27ns -DictDs 1048576 24.82s 23668.91ns 983.06ms 937.52ns 35.90s 34236.69ns 141.14ms 134.60ns 28.10s 26795.27ns -DictDs 1048576 23.78s 22678.49ns 1.03s 987.04ns 30.88s 29449.77ns 157.21ms 149.93ns 27.30s 26037.85ns -DictDs 1048576 24.12s 23006.64ns 955.10ms 910.85ns 31.76s 30291.03ns 153.32ms 146.22ns 29.11s 27760.73ns -DictDs 1048576 24.50s 23367.64ns 973.65ms 928.55ns 31.32s 29866.75ns 142.02ms 135.44ns 26.45s 25224.86ns -DictDs 1048576 24.14s 23018.65ns 962.74ms 918.14ns 30.42s 29008.66ns 139.55ms 133.08ns 26.56s 25330.95ns -DictDs 1048576 23.99s 22878.44ns 992.32ms 946.35ns 30.83s 29403.43ns 141.06ms 134.52ns 27.23s 25966.11ns -DictDs 1048576 24.03s 22915.30ns 967.62ms 922.79ns 30.49s 29076.49ns 144.18ms 137.50ns 26.95s 25705.28ns -DictDs 1048576 24.09s 22978.70ns 1.02s 974.89ns 30.49s 29081.77ns 140.19ms 133.70ns 26.65s 25414.15ns -DictDs 1048576 23.88s 22769.33ns 945.19ms 901.40ns 30.73s 29303.43ns 142.12ms 135.54ns 26.69s 25450.82ns -DictDs 1048576 23.89s 22786.26ns 964.97ms 920.27ns 30.56s 29142.10ns 156.07ms 148.84ns 26.35s 25133.92ns -DictDs 1048576 23.89s 22778.92ns 975.93ms 930.72ns 30.23s 28824.89ns 141.34ms 134.79ns 26.31s 25093.78ns -DictDs 1048576 23.99s 22881.77ns 985.53ms 939.88ns 31.22s 29773.06ns 141.23ms 134.68ns 27.71s 26426.10ns -DictDs 1048576 24.32s 23191.33ns 1.01s 963.78ns 31.11s 29669.59ns 147.60ms 140.77ns 26.66s 25420.48ns -DictDs 1048576 25.18s 24009.90ns 991.95ms 946.00ns 30.79s 29361.26ns 142.78ms 136.17ns 26.54s 25308.32ns -DictDs 1048576 24.61s 23473.63ns 1.09s 1036.23ns 31.62s 30153.88ns 141.74ms 135.18ns 26.74s 25499.18ns -DictDs 1048576 24.29s 23161.57ns 993.28ms 947.27ns 30.58s 29163.36ns 162.05ms 154.54ns 27.22s 25957.87ns -DictDs 1048576 24.13s 23012.97ns 974.12ms 929.00ns 30.48s 29068.33ns 147.51ms 140.68ns 27.28s 26011.56ns -DictDs 1048576 24.47s 23336.09ns 990.70ms 944.80ns 30.67s 29245.03ns 140.52ms 134.01ns 26.37s 25151.79ns -DictDs 1048576 24.26s 23133.38ns 994.87ms 948.78ns 30.52s 29110.61ns 142.72ms 136.11ns 27.23s 25970.26ns -DictDs 1048576 24.29s 23160.66ns 976.61ms 931.37ns 32.26s 30767.78ns 144.01ms 137.34ns 26.98s 25730.23ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -Gb_treesD 8 14.05us 1755.75ns 2.73us 341.88ns 6.99us 874.13ns 1.20us 150.25ns 5.61us 701.38ns -Gb_treesD 8 6.01us 751.38ns 5.28us 660.00ns 5.52us 690.00ns 762ns 95.25ns 5.71us 713.75ns -Gb_treesD 8 5.61us 701.25ns 4.43us 553.50ns 10.06us 1257.38ns 1.01us 126.50ns 5.50us 687.50ns -Gb_treesD 8 5.38us 672.50ns 4.55us 568.50ns 4.66us 582.38ns 731ns 91.38ns 3.85us 480.88ns -Gb_treesD 8 5.96us 745.13ns 5.16us 645.00ns 4.91us 613.63ns 751ns 93.88ns 4.60us 574.88ns -Gb_treesD 8 6.15us 768.88ns 4.54us 567.38ns 5.17us 646.13ns 782ns 97.75ns 5.05us 631.13ns -Gb_treesD 8 5.52us 690.00ns 4.41us 551.00ns 8.14us 1018.13ns 862ns 107.75ns 6.26us 782.75ns -Gb_treesD 8 7.59us 949.25ns 5.27us 658.75ns 4.78us 597.25ns 772ns 96.50ns 8.55us 1068.25ns -Gb_treesD 8 5.38us 672.63ns 4.28us 534.63ns 4.70us 587.38ns 712ns 89.00ns 4.65us 581.00ns -Gb_treesD 8 5.56us 695.00ns 4.28us 534.75ns 6.20us 775.25ns 711ns 88.88ns 4.83us 603.63ns -Gb_treesD 8 5.84us 730.13ns 4.59us 573.63ns 5.16us 644.88ns 802ns 100.25ns 4.55us 568.50ns -Gb_treesD 8 5.68us 710.13ns 4.21us 526.00ns 5.58us 697.50ns 671ns 83.88ns 4.89us 611.13ns -Gb_treesD 8 5.35us 668.75ns 4.29us 536.00ns 8.67us 1083.25ns 1.04us 130.25ns 4.61us 576.00ns -Gb_treesD 8 5.78us 722.63ns 4.98us 622.38ns 5.17us 646.25ns 731ns 91.38ns 4.66us 582.38ns -Gb_treesD 8 5.15us 643.75ns 4.15us 518.38ns 4.31us 538.63ns 781ns 97.63ns 4.31us 538.50ns -Gb_treesD 8 5.16us 645.00ns 3.91us 488.38ns 4.51us 563.50ns 692ns 86.50ns 4.45us 556.00ns -Gb_treesD 8 5.93us 741.38ns 4.28us 534.75ns 4.99us 623.63ns 751ns 93.88ns 4.63us 578.63ns -Gb_treesD 8 5.57us 696.25ns 7.97us 996.88ns 5.74us 717.63ns 852ns 106.50ns 4.93us 616.13ns -Gb_treesD 8 5.80us 725.00ns 4.37us 546.13ns 4.86us 607.38ns 911ns 113.88ns 4.87us 608.63ns -Gb_treesD 8 6.11us 764.00ns 5.31us 663.75ns 6.62us 827.75ns 1.05us 131.50ns 6.16us 770.13ns -Gb_treesD 8 5.58us 697.63ns 5.09us 636.13ns 9.60us 1199.75ns 922ns 115.25ns 4.91us 613.63ns -Gb_treesD 8 5.84us 730.13ns 4.69us 586.13ns 5.27us 658.75ns 791ns 98.88ns 5.60us 700.13ns -Gb_treesD 16 24.20us 1512.81ns 6.01us 375.69ns 12.18us 761.44ns 1.05us 65.75ns 8.20us 512.19ns -Gb_treesD 16 23.51us 1469.56ns 5.75us 359.44ns 11.33us 708.19ns 962ns 60.13ns 10.47us 654.38ns -Gb_treesD 16 22.34us 1396.38ns 5.40us 337.50ns 15.41us 963.00ns 1.06us 66.38ns 7.42us 464.00ns -Gb_treesD 16 21.19us 1324.38ns 5.18us 323.75ns 9.57us 597.94ns 772ns 48.25ns 7.08us 442.69ns -Gb_treesD 16 21.62us 1351.31ns 6.92us 432.63ns 9.97us 623.06ns 1.03us 64.50ns 9.89us 618.00ns -Gb_treesD 16 16.73us 1045.75ns 3.67us 229.13ns 7.19us 449.63ns 761ns 47.56ns 6.74us 421.44ns -Gb_treesD 16 21.79us 1361.94ns 5.21us 325.56ns 9.58us 598.63ns 832ns 52.00ns 6.80us 425.13ns -Gb_treesD 16 21.19us 1324.31ns 5.23us 326.88ns 9.83us 614.25ns 962ns 60.13ns 8.75us 546.63ns -Gb_treesD 16 20.14us 1258.63ns 4.95us 309.31ns 26.57us 1660.63ns 1.12us 70.13ns 16.76us 1047.56ns -Gb_treesD 16 21.12us 1319.94ns 5.15us 321.88ns 13.61us 850.31ns 1.37us 85.75ns 9.64us 602.38ns -Gb_treesD 16 17.12us 1070.13ns 4.59us 286.75ns 7.23us 452.13ns 881ns 55.06ns 14.05us 877.94ns -Gb_treesD 16 16.32us 1020.00ns 3.64us 227.31ns 14.04us 877.25ns 1.10us 68.88ns 9.43us 589.25ns -Gb_treesD 16 22.33us 1395.75ns 3.67us 229.13ns 6.81us 425.81ns 722ns 45.13ns 6.63us 414.50ns -Gb_treesD 16 18.59us 1161.56ns 3.61us 225.44ns 7.36us 460.19ns 882ns 55.13ns 9.33us 582.94ns -Gb_treesD 16 20.79us 1299.31ns 4.87us 304.31ns 7.88us 492.81ns 771ns 48.19ns 6.67us 417.00ns -Gb_treesD 16 21.21us 1325.63ns 4.23us 264.25ns 14.42us 901.06ns 1.02us 63.81ns 9.22us 576.13ns -Gb_treesD 16 21.24us 1327.50ns 4.93us 308.06ns 9.35us 584.19ns 982ns 61.38ns 9.45us 590.50ns -Gb_treesD 16 21.90us 1368.81ns 4.90us 306.19ns 9.31us 581.69ns 982ns 61.38ns 9.42us 588.63ns -Gb_treesD 16 21.09us 1318.06ns 4.91us 306.81ns 9.17us 572.94ns 882ns 55.13ns 9.07us 566.69ns -Gb_treesD 16 20.24us 1264.81ns 4.97us 310.63ns 8.89us 555.38ns 832ns 52.00ns 7.46us 466.50ns -Gb_treesD 16 25.83us 1614.25ns 6.95us 434.56ns 9.76us 609.88ns 1.03us 64.50ns 9.07us 566.69ns -Gb_treesD 16 57.83us 3614.25ns 5.21us 325.56ns 9.43us 589.25ns 972ns 60.75ns 9.60us 599.88ns -Gb_treesD 32 37.13us 1160.28ns 7.25us 226.66ns 18.02us 563.25ns 4.95us 154.66ns 16.51us 515.97ns -Gb_treesD 32 49.49us 1546.63ns 10.21us 319.03ns 19.52us 609.91ns 3.91us 122.09ns 11.72us 366.31ns -Gb_treesD 32 44.28us 1383.81ns 13.38us 418.28ns 24.98us 780.53ns 4.99us 155.91ns 16.36us 511.25ns -Gb_treesD 32 39.34us 1229.50ns 7.07us 221.03ns 17.25us 539.13ns 3.54us 110.53ns 11.55us 360.97ns -Gb_treesD 32 46.12us 1441.09ns 10.21us 319.03ns 21.53us 672.84ns 3.83us 119.59ns 11.65us 364.09ns -Gb_treesD 32 39.08us 1221.34ns 7.10us 221.97ns 17.26us 539.47ns 3.39us 105.81ns 12.50us 390.72ns -Gb_treesD 32 49.03us 1532.22ns 10.17us 317.78ns 18.24us 570.13ns 3.21us 100.19ns 11.57us 361.63ns -Gb_treesD 32 39.60us 1237.63ns 7.12us 222.59ns 15.68us 489.97ns 3.11us 97.06ns 11.38us 355.66ns -Gb_treesD 32 37.94us 1185.63ns 7.06us 220.72ns 15.50us 484.34ns 3.06us 95.50ns 11.33us 354.09ns -Gb_treesD 32 45.20us 1412.63ns 7.79us 243.28ns 58.97us 1842.81ns 7.37us 230.41ns 18.15us 567.31ns -Gb_treesD 32 33.78us 1055.72ns 7.12us 222.59ns 17.44us 545.06ns 3.73us 116.47ns 11.97us 374.16ns -Gb_treesD 32 46.93us 1466.47ns 10.67us 333.44ns 17.81us 556.66ns 3.47us 108.34ns 15.47us 483.41ns -Gb_treesD 32 32.61us 1019.09ns 7.08us 221.34ns 15.95us 498.44ns 3.30us 103.00ns 11.57us 361.63ns -Gb_treesD 32 57.98us 1811.81ns 7.30us 228.25ns 16.11us 503.44ns 3.32us 103.63ns 11.38us 355.66ns -Gb_treesD 32 44.08us 1377.56ns 12.30us 384.47ns 21.49us 671.56ns 4.22us 131.81ns 17.03us 532.25ns -Gb_treesD 32 46.41us 1450.19ns 10.05us 314.03ns 22.67us 708.50ns 4.29us 134.00ns 17.74us 554.47ns -Gb_treesD 32 31.74us 991.84ns 6.96us 217.59ns 15.71us 490.91ns 3.09us 96.44ns 11.64us 363.78ns -Gb_treesD 32 32.34us 1010.63ns 6.96us 217.59ns 15.75us 492.19ns 3.20us 99.88ns 11.62us 363.16ns -Gb_treesD 32 52.93us 1654.00ns 10.93us 341.59ns 23.03us 719.78ns 4.37us 136.50ns 16.04us 501.25ns -Gb_treesD 32 41.19us 1287.06ns 11.89us 371.66ns 20.81us 650.25ns 4.23us 132.13ns 22.60us 706.31ns -Gb_treesD 32 46.30us 1446.78ns 10.20us 318.72ns 22.11us 690.97ns 4.44us 138.69ns 16.59us 518.47ns -Gb_treesD 32 42.90us 1340.63ns 9.53us 297.75ns 20.58us 643.06ns 4.08us 127.44ns 19.31us 603.31ns -Gb_treesD 64 124.97us 1952.70ns 22.67us 354.25ns 52.34us 817.77ns 2.80us 43.69ns 35.58us 555.88ns -Gb_treesD 64 116.99us 1828.02ns 16.00us 250.00ns 87.67us 1369.89ns 2.84us 44.31ns 45.09us 704.59ns -Gb_treesD 64 124.74us 1949.11ns 21.88us 341.88ns 254.85us 3982.03ns 2.59us 40.39ns 35.45us 553.84ns -Gb_treesD 64 145.72us 2276.91ns 22.42us 350.33ns 44.98us 702.88ns 2.54us 39.61ns 35.08us 548.05ns -Gb_treesD 64 134.04us 2094.36ns 23.64us 369.44ns 53.02us 828.42ns 2.87us 44.78ns 33.80us 528.17ns -Gb_treesD 64 109.83us 1716.16ns 21.93us 342.67ns 42.29us 660.77ns 2.73us 42.58ns 35.01us 546.95ns -Gb_treesD 64 106.59us 1665.44ns 20.90us 326.55ns 46.96us 733.72ns 2.34us 36.63ns 24.32us 380.08ns -Gb_treesD 64 87.67us 1369.89ns 14.64us 228.70ns 50.95us 796.02ns 2.67us 41.80ns 34.84us 544.45ns -Gb_treesD 64 114.07us 1782.39ns 23.16us 361.92ns 52.46us 819.64ns 3.13us 48.84ns 35.20us 549.94ns -Gb_treesD 64 111.91us 1748.58ns 87.11us 1361.13ns 44.84us 700.69ns 3.02us 47.11ns 34.99us 546.80ns -Gb_treesD 64 94.39us 1474.92ns 17.70us 276.61ns 46.03us 719.16ns 2.18us 34.13ns 24.23us 378.67ns -Gb_treesD 64 83.79us 1309.16ns 20.87us 326.08ns 57.68us 901.20ns 2.88us 44.94ns 30.67us 479.17ns -Gb_treesD 64 98.61us 1540.84ns 24.72us 386.19ns 43.52us 680.02ns 2.67us 41.80ns 43.15us 674.23ns -Gb_treesD 64 115.90us 1810.88ns 47.35us 739.81ns 45.47us 710.39ns 2.27us 35.53ns 24.29us 379.45ns -Gb_treesD 64 77.38us 1209.13ns 14.33us 223.86ns 49.22us 769.08ns 3.02us 47.13ns 37.68us 588.75ns -Gb_treesD 64 114.70us 1792.23ns 15.17us 237.00ns 50.59us 790.55ns 3.06us 47.73ns 36.29us 567.00ns -Gb_treesD 64 77.09us 1204.59ns 14.57us 227.61ns 42.97us 671.41ns 2.82us 43.98ns 37.95us 592.98ns -Gb_treesD 64 76.03us 1188.00ns 14.23us 222.28ns 42.31us 661.08ns 2.82us 43.98ns 37.66us 588.45ns -Gb_treesD 64 86.59us 1352.98ns 57.38us 896.63ns 43.21us 675.17ns 2.22us 34.75ns 25.71us 401.69ns -Gb_treesD 64 81.38us 1271.59ns 20.41us 318.88ns 94.07us 1469.88ns 2.30us 36.00ns 25.34us 395.91ns -Gb_treesD 64 78.61us 1228.22ns 15.75us 246.09ns 58.26us 910.28ns 2.84us 44.31ns 31.86us 497.80ns -Gb_treesD 64 116.50us 1820.27ns 16.93us 264.55ns 67.53us 1055.17ns 2.96us 46.19ns 26.55us 414.83ns -Gb_treesD 128 215.06us 1680.16ns 27.28us 213.13ns 65.98us 515.49ns 22.04us 172.20ns 55.30us 432.05ns -Gb_treesD 128 235.39us 1838.98ns 27.31us 213.37ns 62.42us 487.63ns 12.57us 98.23ns 49.60us 387.52ns -Gb_treesD 128 207.44us 1620.59ns 27.00us 210.94ns 62.15us 485.52ns 12.34us 96.43ns 49.62us 387.68ns -Gb_treesD 128 274.48us 2144.34ns 27.43us 214.31ns 64.10us 500.77ns 14.03us 109.58ns 56.86us 444.19ns -Gb_treesD 128 231.50us 1808.60ns 26.97us 210.71ns 64.80us 506.25ns 43.80us 342.20ns 69.60us 543.74ns -Gb_treesD 128 268.64us 2098.75ns 26.81us 209.45ns 61.73us 482.23ns 11.67us 91.19ns 49.24us 384.70ns -Gb_treesD 128 199.01us 1554.77ns 27.27us 213.05ns 61.16us 477.84ns 11.68us 91.26ns 55.77us 435.73ns -Gb_treesD 128 214.51us 1675.85ns 42.71us 333.67ns 64.95us 507.43ns 11.49us 89.77ns 49.24us 384.70ns -Gb_treesD 128 197.06us 1539.51ns 26.96us 210.63ns 61.11us 477.45ns 12.29us 96.04ns 49.23us 384.63ns -Gb_treesD 128 173.93us 1358.86ns 27.09us 211.64ns 61.30us 478.95ns 11.63us 90.87ns 49.44us 386.27ns -Gb_treesD 128 227.15us 1774.63ns 43.59us 340.55ns 71.50us 558.63ns 11.87us 92.75ns 49.53us 386.97ns -Gb_treesD 128 174.38us 1362.38ns 27.26us 212.97ns 62.01us 484.42ns 11.27us 88.05ns 49.02us 382.98ns -Gb_treesD 128 188.72us 1474.38ns 27.11us 211.80ns 61.49us 480.42ns 11.23us 87.74ns 49.12us 383.77ns -Gb_treesD 128 202.54us 1582.33ns 27.23us 212.73ns 61.21us 478.23ns 11.24us 87.82ns 48.93us 382.27ns -Gb_treesD 128 309.66us 2419.23ns 30.50us 238.26ns 63.56us 496.55ns 28.15us 219.94ns 53.59us 418.67ns -Gb_treesD 128 173.89us 1358.55ns 27.10us 211.72ns 60.82us 475.18ns 11.93us 93.23ns 55.46us 433.30ns -Gb_treesD 128 194.31us 1518.06ns 27.41us 214.15ns 62.67us 489.59ns 11.83us 92.44ns 53.07us 414.60ns -Gb_treesD 128 269.90us 2108.57ns 39.98us 312.30ns 65.91us 514.95ns 18.16us 141.91ns 54.31us 424.30ns -Gb_treesD 128 177.40us 1385.94ns 27.19us 212.43ns 62.11us 485.20ns 11.75us 91.81ns 49.33us 385.40ns -Gb_treesD 128 176.50us 1378.90ns 27.15us 212.11ns 101.09us 789.76ns 17.05us 133.21ns 49.20us 384.39ns -Gb_treesD 128 252.01us 1968.87ns 27.05us 211.33ns 61.80us 482.85ns 11.75us 91.81ns 49.32us 385.33ns -Gb_treesD 128 318.03us 2484.63ns 27.07us 211.48ns 61.47us 480.20ns 11.90us 92.98ns 49.10us 383.60ns -Gb_treesD 256 380.67us 1486.99ns 113.30us 442.56ns 167.77us 655.34ns 6.99us 27.32ns 134.20us 524.22ns -Gb_treesD 256 704.73us 2752.86ns 81.96us 320.17ns 170.12us 664.52ns 10.32us 40.31ns 185.13us 723.18ns -Gb_treesD 256 555.36us 2169.39ns 92.69us 362.08ns 211.24us 825.17ns 9.85us 38.47ns 163.11us 637.16ns -Gb_treesD 256 602.05us 2351.77ns 93.67us 365.91ns 129.29us 505.04ns 7.40us 28.92ns 106.29us 415.19ns -Gb_treesD 256 566.46us 2212.71ns 67.93us 265.34ns 148.86us 581.48ns 7.08us 27.67ns 125.14us 488.84ns -Gb_treesD 256 521.38us 2036.65ns 74.63us 291.52ns 149.20us 582.80ns 7.19us 28.10ns 121.42us 474.28ns -Gb_treesD 256 470.73us 1838.78ns 60.08us 234.70ns 201.16us 785.78ns 6.96us 27.20ns 122.56us 478.74ns -Gb_treesD 256 482.27us 1883.86ns 60.12us 234.85ns 188.38us 735.86ns 7.29us 28.49ns 122.05us 476.75ns -Gb_treesD 256 455.57us 1779.57ns 75.00us 292.97ns 141.07us 551.06ns 7.07us 27.63ns 137.43us 536.82ns -Gb_treesD 256 392.70us 1533.99ns 59.03us 230.59ns 122.41us 478.16ns 7.14us 27.90ns 104.35us 407.63ns -Gb_treesD 256 393.56us 1537.36ns 59.08us 230.79ns 122.49us 478.47ns 7.00us 27.36ns 104.50us 408.22ns -Gb_treesD 256 383.40us 1497.67ns 58.64us 229.06ns 122.98us 480.39ns 6.93us 27.08ns 104.86us 409.63ns -Gb_treesD 256 372.81us 1456.31ns 76.94us 300.56ns 125.13us 488.80ns 7.19us 28.10ns 105.03us 410.25ns -Gb_treesD 256 371.15us 1449.81ns 58.41us 228.16ns 169.24us 661.07ns 7.33us 28.65ns 104.67us 408.85ns -Gb_treesD 256 395.21us 1543.77ns 58.16us 227.18ns 140.66us 549.46ns 6.98us 27.28ns 107.11us 418.40ns -Gb_treesD 256 384.49us 1501.90ns 58.39us 228.08ns 134.17us 524.10ns 7.20us 28.14ns 109.38us 427.28ns -Gb_treesD 256 370.95us 1449.03ns 58.46us 228.36ns 123.19us 481.21ns 6.87us 26.85ns 131.12us 512.20ns -Gb_treesD 256 405.57us 1584.28ns 75.12us 293.44ns 123.05us 480.66ns 7.35us 28.73ns 128.60us 502.34ns -Gb_treesD 256 374.00us 1460.93ns 58.79us 229.64ns 122.54us 478.67ns 6.96us 27.20ns 110.30us 430.84ns -Gb_treesD 256 380.57us 1486.60ns 58.99us 230.43ns 123.06us 480.70ns 7.03us 27.47ns 108.52us 423.91ns -Gb_treesD 256 447.28us 1747.20ns 58.61us 228.94ns 122.10us 476.95ns 7.15us 27.94ns 104.02us 406.34ns -Gb_treesD 256 391.16us 1527.96ns 58.83us 229.80ns 122.10us 476.95ns 6.99us 27.32ns 104.13us 406.77ns -Gb_treesD 516 859.10us 1664.92ns 172.11us 333.55ns 320.75us 621.60ns 29.50us 57.18ns 211.23us 409.37ns -Gb_treesD 516 942.87us 1827.26ns 133.40us 258.53ns 309.37us 599.55ns 28.29us 54.83ns 211.64us 410.16ns -Gb_treesD 516 817.02us 1583.38ns 167.43us 324.47ns 312.02us 604.69ns 26.49us 51.34ns 211.36us 409.62ns -Gb_treesD 516 829.27us 1607.12ns 154.40us 299.22ns 298.24us 577.98ns 26.40us 51.16ns 210.48us 407.91ns -Gb_treesD 516 865.97us 1678.24ns 153.01us 296.54ns 296.79us 575.18ns 26.17us 50.72ns 210.84us 408.61ns -Gb_treesD 516 821.48us 1592.02ns 155.72us 301.78ns 298.52us 578.52ns 26.09us 50.56ns 210.69us 408.32ns -Gb_treesD 516 823.01us 1594.99ns 127.20us 246.51ns 320.47us 621.06ns 26.19us 50.75ns 210.85us 408.63ns -Gb_treesD 516 904.10us 1752.14ns 191.78us 371.66ns 342.04us 662.86ns 27.32us 52.95ns 226.55us 439.05ns -Gb_treesD 516 820.41us 1589.94ns 157.16us 304.58ns 319.18us 618.57ns 28.89us 56.00ns 211.36us 409.62ns -Gb_treesD 516 951.54us 1844.08ns 146.72us 284.35ns 348.94us 676.24ns 43.88us 85.04ns 235.66us 456.70ns -Gb_treesD 516 1.01ms 1964.40ns 151.76us 294.11ns 335.63us 650.46ns 35.70us 69.18ns 255.03us 494.23ns -Gb_treesD 516 990.02us 1918.65ns 143.73us 278.54ns 339.04us 657.06ns 26.32us 51.01ns 210.91us 408.75ns -Gb_treesD 516 834.26us 1616.79ns 127.83us 247.73ns 329.12us 637.84ns 26.22us 50.81ns 211.28us 409.46ns -Gb_treesD 516 905.25us 1754.35ns 132.12us 256.04ns 358.58us 694.92ns 27.19us 52.70ns 212.03us 410.90ns -Gb_treesD 516 858.39us 1663.54ns 127.31us 246.72ns 293.52us 568.83ns 44.27us 85.80ns 211.97us 410.80ns -Gb_treesD 516 835.29us 1618.77ns 127.77us 247.61ns 317.34us 615.00ns 28.74us 55.71ns 210.86us 408.65ns -Gb_treesD 516 806.94us 1563.84ns 151.03us 292.70ns 447.59us 867.42ns 27.71us 53.71ns 212.94us 412.67ns -Gb_treesD 516 841.90us 1631.59ns 128.24us 248.53ns 299.27us 579.97ns 26.71us 51.76ns 210.88us 408.69ns -Gb_treesD 516 819.22us 1587.63ns 144.00us 279.07ns 295.08us 571.86ns 26.29us 50.95ns 210.74us 408.42ns -Gb_treesD 516 880.21us 1705.83ns 152.38us 295.32ns 312.77us 606.15ns 27.89us 54.05ns 211.41us 409.72ns -Gb_treesD 516 840.89us 1629.63ns 139.04us 269.46ns 308.90us 598.65ns 27.16us 52.64ns 212.26us 411.37ns -Gb_treesD 516 862.91us 1672.31ns 157.51us 305.26ns 305.05us 591.18ns 26.89us 52.11ns 211.41us 409.72ns -Gb_treesD 1024 2.23ms 2180.01ns 389.59us 380.46ns 604.75us 590.57ns 44.71us 43.67ns 469.30us 458.30ns -Gb_treesD 1024 2.01ms 1959.24ns 342.46us 334.43ns 574.98us 561.50ns 43.68us 42.66ns 446.69us 436.22ns -Gb_treesD 1024 2.09ms 2038.49ns 498.86us 487.17ns 916.25us 894.77ns 45.81us 44.74ns 534.14us 521.63ns -Gb_treesD 1024 2.31ms 2254.15ns 425.15us 415.19ns 679.19us 663.27ns 61.10us 59.67ns 460.42us 449.63ns -Gb_treesD 1024 1.96ms 1915.56ns 314.87us 307.49ns 584.45us 570.75ns 43.86us 42.83ns 445.54us 435.10ns -Gb_treesD 1024 1.89ms 1846.39ns 311.79us 304.48ns 590.17us 576.34ns 42.00us 41.01ns 471.70us 460.64ns -Gb_treesD 1024 1.89ms 1847.93ns 318.03us 310.58ns 611.17us 596.84ns 42.24us 41.25ns 497.43us 485.77ns -Gb_treesD 1024 2.00ms 1955.51ns 346.07us 337.96ns 557.08us 544.02ns 69.04us 67.42ns 447.05us 436.58ns -Gb_treesD 1024 1.89ms 1844.47ns 332.84us 325.04ns 593.53us 579.62ns 42.66us 41.66ns 446.75us 436.28ns -Gb_treesD 1024 1.93ms 1884.69ns 318.70us 311.23ns 622.61us 608.02ns 42.94us 41.93ns 447.54us 437.05ns -Gb_treesD 1024 1.89ms 1847.61ns 331.42us 323.65ns 583.73us 570.05ns 42.19us 41.20ns 482.04us 470.74ns -Gb_treesD 1024 1.95ms 1901.25ns 392.78us 383.58ns 683.43us 667.42ns 42.41us 41.42ns 549.68us 536.80ns -Gb_treesD 1024 2.25ms 2194.05ns 368.29us 359.65ns 576.18us 562.68ns 42.96us 41.95ns 476.14us 464.98ns -Gb_treesD 1024 1.86ms 1818.18ns 330.71us 322.96ns 554.63us 541.63ns 42.73us 41.73ns 461.83us 451.01ns -Gb_treesD 1024 1.88ms 1833.89ns 328.62us 320.92ns 556.16us 543.12ns 43.46us 42.44ns 465.54us 454.63ns -Gb_treesD 1024 1.87ms 1825.23ns 330.17us 322.43ns 555.25us 542.24ns 43.90us 42.87ns 465.12us 454.21ns -Gb_treesD 1024 1.88ms 1832.09ns 454.45us 443.80ns 611.10us 596.78ns 42.47us 41.47ns 446.83us 436.36ns -Gb_treesD 1024 1.88ms 1834.31ns 317.18us 309.75ns 578.80us 565.23ns 43.79us 42.77ns 447.83us 437.34ns -Gb_treesD 1024 1.90ms 1855.01ns 313.28us 305.94ns 573.49us 560.05ns 43.35us 42.33ns 461.80us 450.98ns -Gb_treesD 1024 1.91ms 1865.42ns 316.20us 308.79ns 580.89us 567.28ns 43.28us 42.27ns 491.74us 480.21ns -Gb_treesD 1024 1.98ms 1935.20ns 336.78us 328.88ns 664.85us 649.27ns 44.56us 43.52ns 533.22us 520.73ns -Gb_treesD 1024 2.23ms 2178.40ns 416.78us 407.01ns 672.62us 656.86ns 54.49us 53.21ns 450.54us 439.98ns -Gb_treesD 2048 4.06ms 1983.59ns 610.01us 297.85ns 1.65ms 804.32ns 134.14us 65.50ns 953.67us 465.66ns -Gb_treesD 2048 4.22ms 2058.79ns 588.12us 287.17ns 1.33ms 647.86ns 120.27us 58.73ns 959.13us 468.32ns -Gb_treesD 2048 3.97ms 1938.14ns 607.02us 296.40ns 1.30ms 634.36ns 131.49us 64.20ns 973.60us 475.39ns -Gb_treesD 2048 4.48ms 2186.56ns 714.05us 348.66ns 1.68ms 822.07ns 112.98us 55.17ns 1.01ms 494.74ns -Gb_treesD 2048 3.95ms 1929.27ns 589.56us 287.87ns 1.34ms 654.75ns 110.00us 53.71ns 973.64us 475.41ns -Gb_treesD 2048 4.01ms 1959.71ns 619.33us 302.41ns 1.37ms 667.19ns 108.73us 53.09ns 955.41us 466.51ns -Gb_treesD 2048 3.99ms 1947.46ns 606.60us 296.19ns 1.32ms 645.02ns 110.92us 54.16ns 951.23us 464.47ns -Gb_treesD 2048 4.14ms 2021.26ns 683.89us 333.93ns 1.64ms 801.98ns 130.34us 63.64ns 1.17ms 573.71ns -Gb_treesD 2048 4.21ms 2057.11ns 616.53us 301.04ns 1.33ms 650.76ns 128.83us 62.91ns 962.38us 469.91ns -Gb_treesD 2048 4.03ms 1967.39ns 677.01us 330.57ns 1.51ms 738.92ns 116.54us 56.90ns 987.91us 482.38ns -Gb_treesD 2048 4.06ms 1981.76ns 588.39us 287.30ns 1.33ms 647.95ns 110.15us 53.78ns 948.54us 463.15ns -Gb_treesD 2048 4.00ms 1954.39ns 603.28us 294.57ns 1.34ms 652.73ns 108.67us 53.06ns 992.62us 484.68ns -Gb_treesD 2048 4.75ms 2321.03ns 715.38us 349.31ns 1.67ms 814.60ns 125.33us 61.20ns 1.03ms 501.69ns -Gb_treesD 2048 3.97ms 1936.72ns 623.98us 304.68ns 1.36ms 664.96ns 111.63us 54.51ns 954.11us 465.87ns -Gb_treesD 2048 4.05ms 1975.64ns 598.92us 292.44ns 1.32ms 644.44ns 127.88us 62.44ns 963.92us 470.66ns -Gb_treesD 2048 3.98ms 1945.66ns 589.04us 287.62ns 1.32ms 646.20ns 108.43us 52.95ns 1.04ms 509.50ns -Gb_treesD 2048 4.90ms 2391.92ns 715.35us 349.29ns 1.52ms 741.10ns 113.55us 55.45ns 973.14us 475.17ns -Gb_treesD 2048 4.91ms 2397.90ns 951.48us 464.59ns 1.40ms 682.75ns 111.02us 54.21ns 972.12us 474.67ns -Gb_treesD 2048 4.05ms 1975.69ns 609.16us 297.44ns 1.34ms 654.74ns 111.29us 54.34ns 963.30us 470.36ns -Gb_treesD 2048 3.98ms 1945.25ns 601.71us 293.80ns 1.30ms 634.97ns 133.59us 65.23ns 1.03ms 504.14ns -Gb_treesD 2048 4.49ms 2193.93ns 695.63us 339.66ns 1.86ms 910.08ns 119.90us 58.55ns 956.57us 467.08ns -Gb_treesD 2048 4.01ms 1956.77ns 605.49us 295.65ns 1.42ms 693.56ns 124.58us 60.83ns 960.09us 468.79ns -Gb_treesD 4096 9.43ms 2302.40ns 1.36ms 332.95ns 2.61ms 637.87ns 388.29us 94.80ns 2.45ms 599.30ns -Gb_treesD 4096 10.92ms 2666.69ns 2.15ms 524.96ns 2.87ms 700.42ns 513.24us 125.30ns 2.19ms 533.85ns -Gb_treesD 4096 9.13ms 2228.37ns 1.51ms 367.77ns 2.66ms 649.75ns 589.05us 143.81ns 3.50ms 853.48ns -Gb_treesD 4096 9.50ms 2318.16ns 1.28ms 311.38ns 2.46ms 600.62ns 417.52us 101.93ns 2.08ms 507.52ns -Gb_treesD 4096 9.57ms 2337.64ns 1.59ms 388.96ns 2.87ms 701.78ns 419.84us 102.50ns 2.13ms 520.32ns -Gb_treesD 4096 9.60ms 2343.91ns 1.27ms 311.17ns 2.56ms 624.87ns 412.67us 100.75ns 2.11ms 514.36ns -Gb_treesD 4096 12.02ms 2934.58ns 2.19ms 534.63ns 2.49ms 608.57ns 444.27us 108.46ns 2.35ms 574.44ns -Gb_treesD 4096 9.17ms 2238.37ns 1.32ms 321.53ns 2.54ms 619.98ns 398.83us 97.37ns 2.17ms 530.41ns -Gb_treesD 4096 9.99ms 2438.19ns 1.31ms 319.27ns 2.50ms 610.90ns 398.22us 97.22ns 2.37ms 577.99ns -Gb_treesD 4096 12.13ms 2961.24ns 2.15ms 523.93ns 2.85ms 696.59ns 424.14us 103.55ns 2.24ms 547.07ns -Gb_treesD 4096 8.85ms 2160.43ns 1.38ms 336.64ns 2.52ms 615.99ns 418.17us 102.09ns 2.11ms 514.82ns -Gb_treesD 4096 9.83ms 2399.90ns 1.37ms 335.65ns 2.55ms 622.53ns 486.62us 118.80ns 2.26ms 551.05ns -Gb_treesD 4096 9.01ms 2199.77ns 1.31ms 320.40ns 2.52ms 614.84ns 437.56us 106.82ns 2.07ms 504.77ns -Gb_treesD 4096 8.94ms 2181.55ns 1.29ms 316.00ns 2.94ms 716.99ns 603.98us 147.45ns 2.52ms 615.38ns -Gb_treesD 4096 9.56ms 2334.79ns 1.67ms 406.81ns 2.67ms 652.75ns 612.66us 149.58ns 2.55ms 622.20ns -Gb_treesD 4096 8.97ms 2190.79ns 1.36ms 331.69ns 2.75ms 670.29ns 537.22us 131.16ns 2.68ms 654.03ns -Gb_treesD 4096 8.81ms 2152.07ns 1.30ms 318.46ns 2.48ms 604.41ns 400.95us 97.89ns 2.10ms 512.93ns -Gb_treesD 4096 8.91ms 2176.30ns 1.44ms 351.78ns 2.96ms 723.57ns 640.42us 156.35ns 2.28ms 557.50ns -Gb_treesD 4096 8.86ms 2163.53ns 1.32ms 321.49ns 2.57ms 627.29ns 428.97us 104.73ns 2.10ms 513.51ns -Gb_treesD 4096 8.81ms 2151.89ns 1.41ms 345.15ns 3.06ms 746.40ns 532.13us 129.91ns 2.16ms 528.47ns -Gb_treesD 4096 8.72ms 2128.75ns 1.27ms 310.47ns 2.47ms 603.79ns 415.73us 101.50ns 2.05ms 500.48ns -Gb_treesD 4096 10.20ms 2490.47ns 2.57ms 628.43ns 4.06ms 992.24ns 453.81us 110.79ns 2.12ms 517.17ns -Gb_treesD 8192 19.89ms 2428.10ns 3.06ms 373.03ns 5.09ms 621.53ns 308.04us 37.60ns 4.36ms 532.09ns -Gb_treesD 8192 20.04ms 2446.04ns 3.32ms 405.82ns 5.25ms 640.89ns 309.16us 37.74ns 4.30ms 524.32ns -Gb_treesD 8192 20.89ms 2550.15ns 2.74ms 334.86ns 5.37ms 655.69ns 392.07us 47.86ns 5.11ms 624.13ns -Gb_treesD 8192 20.56ms 2510.15ns 2.75ms 336.19ns 5.21ms 635.71ns 359.58us 43.89ns 5.05ms 616.85ns -Gb_treesD 8192 21.37ms 2608.72ns 2.76ms 336.98ns 8.53ms 1041.28ns 594.40us 72.56ns 5.12ms 625.24ns -Gb_treesD 8192 20.47ms 2499.08ns 2.74ms 334.07ns 5.30ms 647.20ns 309.26us 37.75ns 4.69ms 572.83ns -Gb_treesD 8192 23.51ms 2869.32ns 3.12ms 380.53ns 8.38ms 1022.80ns 642.61us 78.44ns 7.07ms 863.32ns -Gb_treesD 8192 22.10ms 2697.69ns 2.74ms 334.51ns 5.24ms 639.65ns 326.39us 39.84ns 4.96ms 605.20ns -Gb_treesD 8192 20.43ms 2494.34ns 2.75ms 335.19ns 5.27ms 643.74ns 344.60us 42.07ns 5.40ms 659.38ns -Gb_treesD 8192 19.31ms 2357.66ns 2.68ms 326.76ns 5.80ms 708.48ns 624.01us 76.17ns 5.19ms 633.42ns -Gb_treesD 8192 19.54ms 2385.85ns 2.85ms 347.32ns 6.15ms 750.52ns 364.19us 44.46ns 4.25ms 518.32ns -Gb_treesD 8192 19.67ms 2401.59ns 2.95ms 359.73ns 7.41ms 904.24ns 313.63us 38.29ns 4.28ms 522.58ns -Gb_treesD 8192 19.38ms 2365.28ns 2.83ms 345.55ns 5.42ms 661.10ns 312.72us 38.17ns 4.26ms 520.18ns -Gb_treesD 8192 20.89ms 2550.03ns 2.73ms 333.82ns 5.15ms 628.68ns 310.85us 37.95ns 4.62ms 563.77ns -Gb_treesD 8192 20.45ms 2496.54ns 2.71ms 331.30ns 5.17ms 631.57ns 330.15us 40.30ns 5.05ms 616.97ns -Gb_treesD 8192 21.76ms 2656.50ns 2.72ms 332.26ns 5.18ms 632.55ns 555.25us 67.78ns 5.91ms 721.90ns -Gb_treesD 8192 19.83ms 2420.67ns 2.85ms 347.50ns 6.09ms 743.44ns 457.74us 55.88ns 4.38ms 534.75ns -Gb_treesD 8192 21.01ms 2565.24ns 2.99ms 364.54ns 6.27ms 764.85ns 436.07us 53.23ns 4.28ms 522.01ns -Gb_treesD 8192 19.99ms 2440.36ns 2.72ms 331.44ns 5.31ms 647.74ns 327.62us 39.99ns 4.58ms 559.22ns -Gb_treesD 8192 19.94ms 2433.93ns 2.71ms 330.78ns 5.45ms 665.46ns 378.81us 46.24ns 5.16ms 630.30ns -Gb_treesD 8192 19.21ms 2345.11ns 2.70ms 329.65ns 5.58ms 681.39ns 437.77us 53.44ns 4.79ms 585.10ns -Gb_treesD 8192 20.41ms 2491.39ns 2.68ms 327.61ns 5.60ms 683.99ns 373.19us 45.56ns 4.23ms 516.67ns -Gb_treesD 16384 43.97ms 2683.64ns 5.76ms 351.28ns 12.62ms 770.18ns 632.14us 38.58ns 9.23ms 563.49ns -Gb_treesD 16384 46.06ms 2811.01ns 10.22ms 623.72ns 13.53ms 826.10ns 678.18us 41.39ns 9.78ms 597.01ns -Gb_treesD 16384 45.40ms 2771.25ns 5.85ms 356.76ns 13.41ms 818.65ns 618.75us 37.77ns 10.14ms 619.17ns -Gb_treesD 16384 44.73ms 2729.92ns 6.38ms 389.46ns 12.66ms 772.60ns 629.96us 38.45ns 9.28ms 566.37ns -Gb_treesD 16384 46.06ms 2811.08ns 6.06ms 369.64ns 12.73ms 776.93ns 608.72us 37.15ns 9.38ms 572.23ns -Gb_treesD 16384 45.93ms 2803.12ns 6.65ms 406.04ns 13.27ms 810.02ns 623.11us 38.03ns 10.40ms 634.86ns -Gb_treesD 16384 44.59ms 2721.32ns 6.08ms 371.37ns 13.31ms 812.19ns 623.55us 38.06ns 9.97ms 608.63ns -Gb_treesD 16384 46.97ms 2866.58ns 6.07ms 370.47ns 14.08ms 859.64ns 626.15us 38.22ns 10.39ms 634.22ns -Gb_treesD 16384 45.44ms 2773.33ns 6.30ms 384.80ns 12.30ms 750.81ns 618.74us 37.77ns 9.34ms 569.83ns -Gb_treesD 16384 44.55ms 2719.18ns 6.24ms 380.96ns 12.82ms 782.54ns 678.88us 41.44ns 9.09ms 554.83ns -Gb_treesD 16384 45.89ms 2800.85ns 6.80ms 415.02ns 12.74ms 777.67ns 609.22us 37.18ns 9.38ms 572.46ns -Gb_treesD 16384 45.15ms 2755.89ns 6.73ms 411.02ns 12.89ms 786.58ns 629.35us 38.41ns 9.08ms 554.19ns -Gb_treesD 16384 45.31ms 2765.58ns 5.84ms 356.41ns 12.65ms 772.09ns 642.22us 39.20ns 9.65ms 589.10ns -Gb_treesD 16384 46.63ms 2846.18ns 5.90ms 360.28ns 12.68ms 774.00ns 624.83us 38.14ns 9.31ms 568.22ns -Gb_treesD 16384 45.56ms 2781.06ns 5.82ms 355.22ns 13.18ms 804.22ns 642.85us 39.24ns 10.99ms 670.48ns -Gb_treesD 16384 76.29ms 4656.17ns 6.19ms 378.00ns 12.06ms 735.80ns 634.54us 38.73ns 9.39ms 573.09ns -Gb_treesD 16384 42.98ms 2623.29ns 6.15ms 375.11ns 12.23ms 746.16ns 649.25us 39.63ns 9.25ms 564.33ns -Gb_treesD 16384 43.16ms 2634.44ns 5.69ms 347.28ns 12.13ms 740.17ns 592.75us 36.18ns 9.15ms 558.38ns -Gb_treesD 16384 43.89ms 2678.95ns 5.93ms 362.13ns 12.31ms 751.48ns 630.54us 38.49ns 9.30ms 567.34ns -Gb_treesD 16384 45.11ms 2753.50ns 5.90ms 359.86ns 12.89ms 786.92ns 604.58us 36.90ns 11.13ms 679.57ns -Gb_treesD 16384 46.30ms 2826.03ns 6.72ms 410.44ns 12.51ms 763.46ns 642.69us 39.23ns 9.42ms 575.02ns -Gb_treesD 16384 46.31ms 2826.56ns 6.12ms 373.64ns 12.66ms 772.50ns 638.84us 38.99ns 9.53ms 581.61ns -Gb_treesD 32768 91.85ms 2802.95ns 13.59ms 414.60ns 30.28ms 924.09ns 1.37ms 41.74ns 21.99ms 670.94ns -Gb_treesD 32768 92.39ms 2819.43ns 13.34ms 406.96ns 30.28ms 924.10ns 1.30ms 39.61ns 20.80ms 634.69ns -Gb_treesD 32768 90.71ms 2768.38ns 12.79ms 390.32ns 28.68ms 875.34ns 1.31ms 39.91ns 23.67ms 722.43ns -Gb_treesD 32768 92.83ms 2832.83ns 13.10ms 399.92ns 27.99ms 854.08ns 1.29ms 39.27ns 21.80ms 665.36ns -Gb_treesD 32768 91.65ms 2797.02ns 12.95ms 395.35ns 30.42ms 928.44ns 1.05ms 32.09ns 20.27ms 618.51ns -Gb_treesD 32768 94.46ms 2882.75ns 13.70ms 418.00ns 29.05ms 886.69ns 1.11ms 33.74ns 21.43ms 654.10ns -Gb_treesD 32768 90.01ms 2746.79ns 13.52ms 412.63ns 29.02ms 885.73ns 1.07ms 32.75ns 20.79ms 634.53ns -Gb_treesD 32768 91.91ms 2805.01ns 13.68ms 417.47ns 28.82ms 879.37ns 1.12ms 34.24ns 20.62ms 629.42ns -Gb_treesD 32768 93.58ms 2855.86ns 13.17ms 402.04ns 30.39ms 927.34ns 1.12ms 34.31ns 20.42ms 623.31ns -Gb_treesD 32768 96.91ms 2957.42ns 12.70ms 387.62ns 28.81ms 879.13ns 1.11ms 33.84ns 20.74ms 633.07ns -Gb_treesD 32768 92.18ms 2813.23ns 13.09ms 399.42ns 29.21ms 891.34ns 1.09ms 33.31ns 22.77ms 694.82ns -Gb_treesD 32768 90.29ms 2755.50ns 13.52ms 412.54ns 29.23ms 892.18ns 1.12ms 34.18ns 20.93ms 638.65ns -Gb_treesD 32768 93.42ms 2851.08ns 12.67ms 386.68ns 28.86ms 880.88ns 1.07ms 32.65ns 20.73ms 632.59ns -Gb_treesD 32768 90.67ms 2766.90ns 14.47ms 441.46ns 29.32ms 894.68ns 1.11ms 33.79ns 21.17ms 646.18ns -Gb_treesD 32768 91.42ms 2789.89ns 12.96ms 395.41ns 28.67ms 874.82ns 1.04ms 31.86ns 21.45ms 654.49ns -Gb_treesD 32768 90.30ms 2755.63ns 13.94ms 425.27ns 32.06ms 978.35ns 1.34ms 40.82ns 25.47ms 777.23ns -Gb_treesD 32768 96.14ms 2934.03ns 13.09ms 399.49ns 28.95ms 883.60ns 1.10ms 33.72ns 20.33ms 620.29ns -Gb_treesD 32768 89.78ms 2739.74ns 16.45ms 501.95ns 35.31ms 1077.49ns 1.62ms 49.35ns 23.62ms 720.96ns -Gb_treesD 32768 91.32ms 2786.88ns 13.56ms 413.72ns 28.26ms 862.42ns 1.58ms 48.26ns 21.28ms 649.28ns -Gb_treesD 32768 93.97ms 2867.77ns 13.04ms 398.03ns 29.20ms 891.01ns 1.32ms 40.16ns 21.05ms 642.46ns -Gb_treesD 32768 92.09ms 2810.23ns 13.02ms 397.26ns 29.01ms 885.26ns 1.08ms 32.84ns 20.52ms 626.29ns -Gb_treesD 32768 92.80ms 2831.94ns 14.28ms 435.82ns 29.82ms 910.10ns 1.10ms 33.44ns 22.48ms 686.02ns -Gb_treesD 65536 204.99ms 3127.86ns 27.77ms 423.73ns 60.64ms 925.30ns 4.46ms 68.07ns 42.94ms 655.23ns -Gb_treesD 65536 203.98ms 3112.47ns 27.68ms 422.30ns 60.21ms 918.75ns 4.46ms 68.01ns 43.37ms 661.70ns -Gb_treesD 65536 198.43ms 3027.87ns 27.98ms 426.92ns 61.53ms 938.91ns 4.56ms 69.59ns 45.44ms 693.37ns -Gb_treesD 65536 200.96ms 3066.42ns 28.06ms 428.16ns 59.51ms 908.08ns 5.30ms 80.90ns 42.36ms 646.43ns -Gb_treesD 65536 203.49ms 3105.07ns 28.13ms 429.17ns 61.25ms 934.56ns 4.41ms 67.26ns 42.37ms 646.56ns -Gb_treesD 65536 199.83ms 3049.09ns 29.16ms 445.00ns 60.51ms 923.30ns 4.49ms 68.55ns 45.94ms 700.96ns -Gb_treesD 65536 209.58ms 3197.90ns 28.30ms 431.77ns 59.18ms 902.99ns 4.50ms 68.62ns 45.72ms 697.61ns -Gb_treesD 65536 199.16ms 3038.93ns 28.11ms 428.90ns 60.42ms 921.99ns 6.72ms 102.52ns 42.89ms 654.46ns -Gb_treesD 65536 200.17ms 3054.35ns 29.30ms 447.11ns 61.24ms 934.41ns 4.98ms 76.01ns 44.99ms 686.52ns -Gb_treesD 65536 202.02ms 3082.60ns 29.76ms 454.06ns 59.32ms 905.21ns 5.81ms 88.71ns 43.79ms 668.14ns -Gb_treesD 65536 200.09ms 3053.12ns 27.97ms 426.84ns 61.25ms 934.60ns 5.15ms 78.65ns 41.87ms 638.81ns -Gb_treesD 65536 199.15ms 3038.85ns 29.23ms 446.08ns 62.13ms 948.08ns 8.19ms 124.94ns 44.03ms 671.81ns -Gb_treesD 65536 191.98ms 2929.44ns 26.87ms 409.94ns 63.65ms 971.21ns 4.47ms 68.18ns 41.97ms 640.43ns -Gb_treesD 65536 200.39ms 3057.64ns 28.12ms 429.08ns 61.21ms 934.02ns 4.60ms 70.13ns 41.81ms 637.90ns -Gb_treesD 65536 199.24ms 3040.13ns 28.67ms 437.43ns 60.99ms 930.69ns 4.75ms 72.50ns 45.05ms 687.44ns -Gb_treesD 65536 201.06ms 3067.96ns 27.82ms 424.43ns 60.70ms 926.19ns 4.76ms 72.64ns 43.91ms 669.99ns -Gb_treesD 65536 197.43ms 3012.58ns 27.81ms 424.37ns 62.63ms 955.69ns 4.69ms 71.60ns 41.88ms 638.97ns -Gb_treesD 65536 198.05ms 3022.05ns 27.72ms 422.96ns 60.76ms 927.08ns 5.79ms 88.38ns 46.71ms 712.70ns -Gb_treesD 65536 198.93ms 3035.49ns 27.93ms 426.12ns 59.65ms 910.16ns 4.83ms 73.70ns 42.92ms 654.95ns -Gb_treesD 65536 200.94ms 3066.09ns 28.95ms 441.79ns 59.02ms 900.60ns 4.61ms 70.39ns 43.55ms 664.57ns -Gb_treesD 65536 200.53ms 3059.90ns 28.26ms 431.17ns 63.16ms 963.80ns 6.46ms 98.59ns 43.71ms 666.96ns -Gb_treesD 65536 201.75ms 3078.53ns 27.56ms 420.53ns 62.44ms 952.78ns 5.39ms 82.25ns 42.19ms 643.80ns -Gb_treesD 131072 453.36ms 3458.83ns 58.10ms 443.28ns 130.78ms 997.75ns 7.15ms 54.51ns 88.23ms 673.14ns -Gb_treesD 131072 460.73ms 3515.07ns 58.54ms 446.64ns 124.43ms 949.34ns 7.02ms 53.58ns 89.82ms 685.30ns -Gb_treesD 131072 461.91ms 3524.10ns 56.02ms 427.41ns 121.62ms 927.88ns 6.94ms 52.95ns 86.80ms 662.25ns -Gb_treesD 131072 454.06ms 3464.22ns 58.01ms 442.59ns 125.47ms 957.25ns 6.98ms 53.27ns 89.03ms 679.24ns -Gb_treesD 131072 448.27ms 3420.04ns 58.49ms 446.23ns 122.46ms 934.30ns 7.67ms 58.48ns 95.02ms 724.94ns -Gb_treesD 131072 446.39ms 3405.72ns 57.88ms 441.61ns 130.35ms 994.48ns 7.23ms 55.13ns 87.84ms 670.17ns -Gb_treesD 131072 450.10ms 3434.00ns 56.10ms 428.02ns 124.31ms 948.44ns 7.44ms 56.78ns 89.22ms 680.67ns -Gb_treesD 131072 455.21ms 3472.97ns 59.54ms 454.26ns 132.95ms 1014.31ns 7.53ms 57.47ns 91.01ms 694.33ns -Gb_treesD 131072 460.64ms 3514.38ns 56.76ms 433.01ns 126.09ms 962.00ns 7.08ms 54.03ns 90.08ms 687.26ns -Gb_treesD 131072 457.67ms 3491.76ns 59.77ms 456.02ns 159.26ms 1215.03ns 7.80ms 59.54ns 85.37ms 651.31ns -Gb_treesD 131072 510.85ms 3897.49ns 56.64ms 432.14ns 123.66ms 943.43ns 6.97ms 53.15ns 90.20ms 688.14ns -Gb_treesD 131072 450.24ms 3435.05ns 57.35ms 437.52ns 129.82ms 990.43ns 7.38ms 56.28ns 90.66ms 691.68ns -Gb_treesD 131072 574.43ms 4382.56ns 71.92ms 548.70ns 153.47ms 1170.90ns 13.79ms 105.17ns 112.75ms 860.19ns -Gb_treesD 131072 590.04ms 4501.69ns 68.48ms 522.46ns 159.92ms 1220.12ns 6.83ms 52.10ns 131.51ms 1003.31ns -Gb_treesD 131072 478.47ms 3650.47ns 57.72ms 440.39ns 123.23ms 940.13ns 6.90ms 52.66ns 89.47ms 682.60ns -Gb_treesD 131072 447.57ms 3414.71ns 56.23ms 429.04ns 124.24ms 947.87ns 6.95ms 53.03ns 88.42ms 674.63ns -Gb_treesD 131072 477.09ms 3639.91ns 58.18ms 443.87ns 123.12ms 939.35ns 7.20ms 54.94ns 91.49ms 698.03ns -Gb_treesD 131072 456.08ms 3479.62ns 57.56ms 439.17ns 128.27ms 978.63ns 6.93ms 52.86ns 92.44ms 705.27ns -Gb_treesD 131072 470.25ms 3587.75ns 59.02ms 450.30ns 131.13ms 1000.40ns 7.65ms 58.35ns 90.14ms 687.74ns -Gb_treesD 131072 454.72ms 3469.22ns 56.36ms 430.02ns 123.85ms 944.86ns 7.38ms 56.33ns 91.96ms 701.61ns -Gb_treesD 131072 455.07ms 3471.91ns 62.88ms 479.72ns 124.49ms 949.79ns 6.82ms 52.05ns 91.01ms 694.36ns -Gb_treesD 131072 464.50ms 3543.84ns 58.13ms 443.52ns 128.11ms 977.40ns 7.08ms 54.00ns 90.61ms 691.33ns -Gb_treesD 524288 2.08s 3962.83ns 266.27ms 507.87ns 601.36ms 1147.00ns 27.67ms 52.78ns 380.47ms 725.69ns -Gb_treesD 524288 2.09s 3979.37ns 265.74ms 506.85ns 597.52ms 1139.69ns 25.24ms 48.15ns 381.70ms 728.03ns -Gb_treesD 524288 2.18s 4155.80ns 304.53ms 580.85ns 648.17ms 1236.28ns 25.71ms 49.05ns 394.95ms 753.31ns -Gb_treesD 524288 2.13s 4068.49ns 260.21ms 496.31ns 600.42ms 1145.21ns 26.54ms 50.62ns 378.95ms 722.78ns -Gb_treesD 524288 2.13s 4057.92ns 266.11ms 507.57ns 641.02ms 1222.64ns 25.44ms 48.52ns 388.96ms 741.89ns -Gb_treesD 524288 2.10s 3999.70ns 263.69ms 502.95ns 635.97ms 1213.02ns 26.43ms 50.41ns 374.78ms 714.84ns -Gb_treesD 524288 2.09s 3982.29ns 270.77ms 516.45ns 596.31ms 1137.38ns 24.92ms 47.53ns 378.23ms 721.42ns -Gb_treesD 524288 2.07s 3951.59ns 267.23ms 509.70ns 595.01ms 1134.90ns 25.26ms 48.18ns 383.45ms 731.37ns -Gb_treesD 524288 2.10s 4001.50ns 265.03ms 505.51ns 608.94ms 1161.46ns 25.76ms 49.12ns 420.52ms 802.07ns -Gb_treesD 524288 2.12s 4034.59ns 260.56ms 496.98ns 614.38ms 1171.83ns 25.13ms 47.93ns 382.55ms 729.66ns -Gb_treesD 524288 2.29s 4371.86ns 275.92ms 526.28ns 591.47ms 1128.13ns 25.28ms 48.21ns 379.45ms 723.75ns -Gb_treesD 524288 2.15s 4093.54ns 264.85ms 505.16ns 613.33ms 1169.83ns 25.26ms 48.18ns 394.45ms 752.36ns -Gb_treesD 524288 2.08s 3969.14ns 268.12ms 511.39ns 595.71ms 1136.22ns 25.46ms 48.56ns 377.76ms 720.52ns -Gb_treesD 524288 2.06s 3927.33ns 263.86ms 503.28ns 592.98ms 1131.01ns 25.46ms 48.57ns 378.46ms 721.85ns -Gb_treesD 524288 2.08s 3970.55ns 263.40ms 502.40ns 696.29ms 1328.07ns 27.70ms 52.84ns 397.62ms 758.40ns -Gb_treesD 524288 2.10s 4000.25ns 267.11ms 509.47ns 626.04ms 1194.08ns 25.34ms 48.34ns 387.19ms 738.50ns -Gb_treesD 524288 2.14s 4080.55ns 267.41ms 510.05ns 597.41ms 1139.46ns 26.14ms 49.87ns 376.23ms 717.60ns -Gb_treesD 524288 2.09s 3983.74ns 284.14ms 541.96ns 597.19ms 1139.06ns 26.57ms 50.69ns 379.22ms 723.30ns -Gb_treesD 524288 2.09s 3992.24ns 264.74ms 504.96ns 591.74ms 1128.65ns 25.87ms 49.34ns 381.50ms 727.65ns -Gb_treesD 524288 2.08s 3965.73ns 263.40ms 502.40ns 599.40ms 1143.26ns 25.97ms 49.54ns 375.27ms 715.76ns -Gb_treesD 524288 2.08s 3963.91ns 294.63ms 561.96ns 601.91ms 1148.06ns 25.48ms 48.59ns 377.23ms 719.51ns -Gb_treesD 524288 2.06s 3936.41ns 263.90ms 503.35ns 620.58ms 1183.65ns 26.10ms 49.77ns 380.39ms 725.54ns -Gb_treesD 1048576 4.42s 4211.57ns 535.77ms 510.95ns 1.32s 1261.97ns 65.37ms 62.35ns 809.80ms 772.29ns -Gb_treesD 1048576 4.39s 4182.53ns 542.63ms 517.49ns 1.31s 1251.76ns 66.84ms 63.75ns 805.34ms 768.03ns -Gb_treesD 1048576 4.40s 4195.75ns 542.12ms 517.01ns 1.34s 1280.73ns 65.63ms 62.59ns 812.33ms 774.70ns -Gb_treesD 1048576 4.39s 4188.29ns 536.87ms 512.00ns 1.32s 1260.62ns 65.87ms 62.82ns 875.82ms 835.25ns -Gb_treesD 1048576 4.62s 4406.22ns 538.78ms 513.82ns 1.33s 1267.78ns 65.42ms 62.39ns 825.26ms 787.03ns -Gb_treesD 1048576 4.46s 4250.19ns 575.80ms 549.12ns 1.33s 1266.90ns 65.49ms 62.46ns 801.31ms 764.19ns -Gb_treesD 1048576 4.40s 4194.84ns 530.81ms 506.22ns 1.39s 1328.24ns 66.62ms 63.54ns 817.42ms 779.55ns -Gb_treesD 1048576 4.39s 4190.30ns 546.90ms 521.57ns 1.33s 1263.95ns 65.92ms 62.86ns 809.19ms 771.70ns -Gb_treesD 1048576 4.41s 4209.95ns 535.36ms 510.56ns 1.33s 1272.47ns 65.41ms 62.38ns 814.03ms 776.32ns -Gb_treesD 1048576 4.44s 4236.04ns 545.12ms 519.87ns 1.33s 1269.21ns 65.24ms 62.22ns 818.31ms 780.40ns -Gb_treesD 1048576 4.41s 4209.59ns 538.03ms 513.10ns 1.31s 1251.68ns 65.17ms 62.15ns 814.05ms 776.33ns -Gb_treesD 1048576 4.39s 4184.00ns 542.61ms 517.47ns 1.32s 1259.02ns 69.07ms 65.87ns 807.92ms 770.49ns -Gb_treesD 1048576 4.39s 4190.61ns 535.73ms 510.92ns 1.32s 1261.54ns 66.41ms 63.34ns 817.03ms 779.18ns -Gb_treesD 1048576 4.47s 4259.32ns 540.10ms 515.08ns 1.32s 1255.13ns 65.67ms 62.63ns 822.05ms 783.97ns -Gb_treesD 1048576 4.42s 4218.98ns 557.58ms 531.75ns 1.32s 1256.41ns 69.18ms 65.98ns 806.40ms 769.04ns -Gb_treesD 1048576 4.37s 4170.38ns 534.67ms 509.90ns 1.34s 1280.80ns 64.48ms 61.50ns 808.60ms 771.14ns -Gb_treesD 1048576 4.42s 4219.26ns 534.07ms 509.33ns 1.35s 1284.50ns 68.90ms 65.71ns 806.76ms 769.39ns -Gb_treesD 1048576 4.42s 4216.15ns 534.66ms 509.89ns 1.33s 1265.87ns 66.57ms 63.48ns 810.72ms 773.16ns -Gb_treesD 1048576 4.39s 4185.46ns 547.45ms 522.09ns 1.33s 1263.78ns 65.14ms 62.12ns 802.14ms 764.98ns -Gb_treesD 1048576 4.41s 4204.36ns 536.00ms 511.17ns 1.32s 1258.13ns 66.45ms 63.37ns 811.47ms 773.88ns -Gb_treesD 1048576 4.38s 4176.63ns 537.27ms 512.38ns 1.33s 1265.29ns 66.40ms 63.33ns 841.04ms 802.07ns -Gb_treesD 1048576 4.42s 4217.21ns 554.11ms 528.44ns 1.32s 1259.66ns 64.75ms 61.75ns 808.12ms 770.69ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -SetsDs 8 12.62us 1577.88ns 4.67us 583.63ns noSupport notSupport 1.08us 135.25ns 5.91us 738.88ns -SetsDs 8 9.20us 1149.63ns 2.21us 276.75ns noSupport notSupport 1.14us 142.75ns 8.76us 1094.50ns -SetsDs 8 8.81us 1100.88ns 2.32us 290.50ns noSupport notSupport 1.14us 142.75ns 9.03us 1128.38ns -SetsDs 8 12.48us 1560.38ns 2.73us 341.88ns noSupport notSupport 1.21us 151.63ns 10.09us 1261.00ns -SetsDs 8 9.00us 1124.63ns 2.14us 268.00ns noSupport notSupport 1.14us 142.75ns 8.99us 1123.38ns -SetsDs 8 8.45us 1055.75ns 1.96us 245.38ns noSupport notSupport 1.13us 141.50ns 13.27us 1659.25ns -SetsDs 8 8.85us 1105.75ns 2.17us 271.75ns noSupport notSupport 1.17us 146.50ns 8.59us 1073.25ns -SetsDs 8 9.50us 1187.25ns 2.56us 320.50ns noSupport notSupport 1.16us 145.25ns 8.98us 1122.13ns -SetsDs 8 9.67us 1208.50ns 2.52us 315.63ns noSupport notSupport 1.20us 150.25ns 9.15us 1143.38ns -SetsDs 8 13.48us 1685.63ns 1.90us 238.00ns noSupport notSupport 902ns 112.75ns 9.80us 1224.75ns -SetsDs 8 10.68us 1335.00ns 2.35us 294.25ns noSupport notSupport 1.09us 136.50ns 8.58us 1072.00ns -SetsDs 8 7.54us 943.00ns 2.11us 264.25ns noSupport notSupport 1.03us 129.00ns 7.88us 985.63ns -SetsDs 8 7.62us 953.00ns 2.13us 266.75ns noSupport notSupport 1.00us 125.25ns 8.40us 1049.50ns -SetsDs 8 9.27us 1158.38ns 2.37us 295.63ns noSupport notSupport 1.11us 139.00ns 8.29us 1036.88ns -SetsDs 8 6.27us 784.00ns 1.60us 200.38ns noSupport notSupport 1.01us 126.50ns 6.27us 784.00ns -SetsDs 8 9.23us 1153.38ns 2.44us 305.63ns noSupport notSupport 1.24us 155.38ns 8.64us 1079.50ns -SetsDs 8 8.71us 1088.25ns 2.46us 308.13ns noSupport notSupport 1.19us 149.13ns 8.43us 1053.13ns -SetsDs 8 6.19us 773.88ns 1.71us 214.13ns noSupport notSupport 1.37us 171.50ns 7.96us 994.38ns -SetsDs 8 9.79us 1223.50ns 2.21us 276.75ns noSupport notSupport 1.14us 142.75ns 8.70us 1087.00ns -SetsDs 8 9.35us 1168.38ns 2.34us 293.00ns noSupport notSupport 1.15us 144.00ns 8.91us 1113.25ns -SetsDs 8 9.21us 1150.88ns 2.42us 303.00ns noSupport notSupport 1.19us 149.00ns 8.79us 1098.25ns -SetsDs 8 9.42us 1177.25ns 2.23us 279.25ns noSupport notSupport 1.21us 151.50ns 8.44us 1054.50ns -SetsDs 16 58.13us 3633.31ns 4.59us 286.75ns noSupport notSupport 3.06us 191.00ns 13.83us 864.13ns -SetsDs 16 16.06us 1003.75ns 4.37us 273.00ns noSupport notSupport 2.65us 165.94ns 12.16us 760.19ns -SetsDs 16 15.86us 991.25ns 5.43us 339.38ns noSupport notSupport 3.16us 197.25ns 12.51us 782.06ns -SetsDs 16 15.80us 987.44ns 4.07us 254.25ns noSupport notSupport 2.71us 169.06ns 11.89us 743.25ns -SetsDs 16 15.68us 979.94ns 3.13us 195.38ns noSupport notSupport 2.00us 125.19ns 9.06us 566.06ns -SetsDs 16 15.56us 972.44ns 3.77us 235.44ns noSupport notSupport 2.37us 147.81ns 11.68us 730.06ns -SetsDs 16 15.89us 993.06ns 3.79us 236.75ns noSupport notSupport 2.37us 148.38ns 11.96us 747.63ns -SetsDs 16 15.53us 970.50ns 4.00us 249.88ns noSupport notSupport 2.52us 157.81ns 62.23us 3889.38ns -SetsDs 16 16.28us 1017.56ns 4.04us 252.31ns noSupport notSupport 2.67us 167.19ns 9.86us 616.19ns -SetsDs 16 14.73us 920.44ns 21.32us 1332.50ns noSupport notSupport 3.79us 236.69ns 13.29us 830.94ns -SetsDs 16 14.67us 916.75ns 4.30us 268.63ns noSupport notSupport 2.44us 152.81ns 11.75us 734.44ns -SetsDs 16 12.57us 785.81ns 2.91us 181.63ns noSupport notSupport 1.82us 113.94ns 8.73us 545.38ns -SetsDs 16 15.96us 997.50ns 5.03us 314.31ns noSupport notSupport 2.75us 171.63ns 12.33us 770.81ns -SetsDs 16 14.34us 896.00ns 3.74us 233.56ns noSupport notSupport 3.49us 217.94ns 11.75us 734.50ns -SetsDs 16 19.56us 1222.25ns 3.73us 232.94ns noSupport notSupport 2.44us 152.19ns 12.66us 791.44ns -SetsDs 16 16.28us 1017.50ns 4.32us 269.88ns noSupport notSupport 2.46us 154.06ns 12.06us 753.88ns -SetsDs 16 46.54us 2908.56ns 4.01us 250.44ns noSupport notSupport 2.56us 160.31ns 11.66us 728.88ns -SetsDs 16 14.98us 936.13ns 3.59us 224.19ns noSupport notSupport 2.40us 150.25ns 13.07us 817.19ns -SetsDs 16 19.67us 1229.19ns 3.79us 236.69ns noSupport notSupport 2.21us 138.38ns 12.74us 796.50ns -SetsDs 16 16.17us 1010.63ns 3.88us 242.31ns noSupport notSupport 2.44us 152.75ns 12.03us 752.06ns -SetsDs 16 18.48us 1154.69ns 3.68us 229.81ns noSupport notSupport 5.65us 353.13ns 13.68us 854.75ns -SetsDs 16 14.10us 881.06ns 2.85us 177.81ns noSupport notSupport 1.74us 108.94ns 8.85us 552.94ns -SetsDs 32 43.79us 1368.50ns 9.27us 289.59ns noSupport notSupport 1.65us 51.66ns 22.46us 701.94ns -SetsDs 32 27.46us 858.16ns 9.28us 289.94ns noSupport notSupport 1.81us 56.66ns 25.46us 795.56ns -SetsDs 32 26.88us 840.00ns 8.70us 271.75ns noSupport notSupport 1.31us 41.03ns 26.91us 840.94ns -SetsDs 32 25.99us 812.16ns 10.57us 330.31ns noSupport notSupport 1.46us 45.72ns 23.88us 746.38ns -SetsDs 32 28.15us 879.75ns 7.72us 241.38ns noSupport notSupport 1.57us 49.16ns 21.64us 676.25ns -SetsDs 32 86.77us 2711.44ns 8.21us 256.41ns noSupport notSupport 1.58us 49.47ns 21.39us 668.41ns -SetsDs 32 27.54us 860.66ns 6.59us 206.00ns noSupport notSupport 1.28us 40.09ns 19.05us 595.47ns -SetsDs 32 25.40us 793.66ns 8.02us 250.47ns noSupport notSupport 1.59us 49.78ns 24.04us 751.38ns -SetsDs 32 26.07us 814.66ns 9.52us 297.44ns noSupport notSupport 1.56us 48.84ns 23.17us 724.16ns -SetsDs 32 26.33us 822.78ns 7.68us 240.13ns noSupport notSupport 1.68us 52.59ns 19.44us 607.38ns -SetsDs 32 33.16us 1036.28ns 8.16us 254.88ns noSupport notSupport 1.65us 51.66ns 22.47us 702.25ns -SetsDs 32 26.80us 837.47ns 8.87us 277.09ns noSupport notSupport 1.54us 48.22ns 19.29us 602.69ns -SetsDs 32 25.36us 792.41ns 9.42us 294.31ns noSupport notSupport 2.05us 64.19ns 23.66us 739.50ns -SetsDs 32 20.63us 644.66ns 6.47us 202.25ns noSupport notSupport 1.24us 38.81ns 109.78us 3430.53ns -SetsDs 32 19.60us 612.41ns 6.23us 194.72ns noSupport notSupport 1.19us 37.25ns 17.76us 555.09ns -SetsDs 32 28.69us 896.66ns 8.22us 257.03ns noSupport notSupport 1.70us 53.22ns 21.85us 682.84ns -SetsDs 32 29.98us 936.75ns 8.90us 278.00ns noSupport notSupport 1.66us 52.00ns 24.75us 773.31ns -SetsDs 32 27.30us 853.16ns 8.26us 257.97ns noSupport notSupport 1.68us 52.59ns 23.64us 738.88ns -SetsDs 32 30.44us 951.16ns 8.44us 263.59ns noSupport notSupport 2.38us 74.50ns 25.57us 799.00ns -SetsDs 32 25.43us 794.59ns 7.67us 239.53ns noSupport notSupport 1.22us 38.19ns 17.84us 557.59ns -SetsDs 32 26.65us 832.81ns 8.97us 280.22ns noSupport notSupport 1.72us 53.84ns 24.70us 771.75ns -SetsDs 32 47.68us 1489.97ns 8.27us 258.31ns noSupport notSupport 1.66us 51.97ns 23.57us 736.69ns -SetsDs 64 35.82us 559.64ns 11.94us 186.59ns noSupport notSupport 1.59us 24.89ns 42.99us 671.72ns -SetsDs 64 85.69us 1338.89ns 15.04us 234.97ns noSupport notSupport 2.10us 32.86ns 51.93us 811.36ns -SetsDs 64 50.79us 793.66ns 15.08us 235.59ns noSupport notSupport 2.17us 33.97ns 71.04us 1110.03ns -SetsDs 64 48.50us 757.81ns 15.21us 237.64ns noSupport notSupport 1.98us 31.00ns 53.88us 841.88ns -SetsDs 64 80.13us 1252.02ns 15.42us 240.92ns noSupport notSupport 2.65us 41.33ns 58.99us 921.72ns -SetsDs 64 59.98us 937.22ns 20.11us 314.17ns noSupport notSupport 2.16us 33.81ns 76.66us 1197.84ns -SetsDs 64 55.73us 870.83ns 18.29us 285.70ns noSupport notSupport 2.01us 31.47ns 66.42us 1037.88ns -SetsDs 64 39.84us 622.58ns 11.58us 180.95ns noSupport notSupport 1.62us 25.36ns 40.10us 626.64ns -SetsDs 64 47.23us 737.94ns 11.70us 182.84ns noSupport notSupport 1.63us 25.52ns 56.95us 889.78ns -SetsDs 64 33.91us 529.89ns 11.56us 180.64ns noSupport notSupport 1.58us 24.73ns 40.16us 627.58ns -SetsDs 64 40.01us 625.22ns 11.58us 180.97ns noSupport notSupport 1.61us 25.20ns 39.80us 621.94ns -SetsDs 64 37.47us 585.47ns 11.62us 181.58ns noSupport notSupport 1.62us 25.36ns 39.16us 611.92ns -SetsDs 64 34.61us 540.84ns 11.80us 184.41ns noSupport notSupport 1.56us 24.42ns 52.25us 816.38ns -SetsDs 64 40.27us 629.30ns 11.79us 184.25ns noSupport notSupport 1.61us 25.20ns 43.67us 682.36ns -SetsDs 64 36.50us 570.28ns 11.58us 180.95ns noSupport notSupport 1.61us 25.20ns 40.99us 640.42ns -SetsDs 64 52.41us 818.86ns 15.93us 248.91ns noSupport notSupport 2.06us 32.25ns 46.68us 729.33ns -SetsDs 64 33.74us 527.23ns 11.64us 181.91ns noSupport notSupport 1.58us 24.73ns 39.39us 615.52ns -SetsDs 64 36.50us 570.28ns 11.61us 181.42ns noSupport notSupport 1.62us 25.36ns 40.90us 639.00ns -SetsDs 64 36.71us 573.58ns 11.56us 180.64ns noSupport notSupport 1.63us 25.52ns 40.31us 629.92ns -SetsDs 64 48.90us 764.08ns 18.71us 292.42ns noSupport notSupport 2.20us 34.44ns 56.23us 878.66ns -SetsDs 64 60.01us 937.67ns 17.01us 265.81ns noSupport notSupport 2.16us 33.81ns 57.40us 896.81ns -SetsDs 64 36.27us 566.69ns 11.58us 180.95ns noSupport notSupport 1.64us 25.69ns 39.96us 624.44ns -SetsDs 128 86.10us 672.66ns 31.76us 248.12ns noSupport notSupport 3.73us 29.12ns 104.75us 818.40ns -SetsDs 128 174.62us 1364.18ns 35.71us 278.95ns noSupport notSupport 4.09us 31.93ns 85.77us 670.08ns -SetsDs 128 81.24us 634.70ns 26.77us 209.13ns noSupport notSupport 3.86us 30.13ns 114.59us 895.26ns -SetsDs 128 142.64us 1114.34ns 35.25us 275.36ns noSupport notSupport 3.83us 29.90ns 80.16us 626.24ns -SetsDs 128 79.91us 624.29ns 25.21us 196.93ns noSupport notSupport 3.47us 27.08ns 115.88us 905.28ns -SetsDs 128 80.77us 631.02ns 34.25us 267.61ns noSupport notSupport 4.16us 32.48ns 119.62us 934.55ns -SetsDs 128 79.74us 622.95ns 24.02us 187.70ns noSupport notSupport 3.60us 28.10ns 114.57us 895.11ns -SetsDs 128 78.28us 611.53ns 22.54us 176.11ns noSupport notSupport 2.75us 21.52ns 78.56us 613.72ns -SetsDs 128 109.56us 855.97ns 60.85us 475.41ns noSupport notSupport 3.71us 28.95ns 90.09us 703.81ns -SetsDs 128 78.90us 616.38ns 29.97us 234.11ns noSupport notSupport 3.71us 28.96ns 101.84us 795.62ns -SetsDs 128 78.06us 609.88ns 24.73us 193.17ns noSupport notSupport 3.77us 29.43ns 125.84us 983.16ns -SetsDs 128 78.80us 615.60ns 32.50us 253.91ns noSupport notSupport 4.22us 32.95ns 98.71us 771.20ns -SetsDs 128 77.81us 607.93ns 24.97us 195.05ns noSupport notSupport 3.52us 27.48ns 101.27us 791.16ns -SetsDs 128 95.39us 745.22ns 23.09us 180.41ns noSupport notSupport 2.73us 21.29ns 78.86us 616.07ns -SetsDs 128 77.30us 603.94ns 22.78us 177.99ns noSupport notSupport 2.73us 21.37ns 77.40us 604.72ns -SetsDs 128 78.43us 612.70ns 32.34us 252.66ns noSupport notSupport 3.55us 27.71ns 113.90us 889.86ns -SetsDs 128 77.47us 605.27ns 22.62us 176.73ns noSupport notSupport 2.71us 21.21ns 83.53us 652.62ns -SetsDs 128 77.78us 607.70ns 22.69us 177.29ns noSupport notSupport 2.75us 21.45ns 78.13us 610.36ns -SetsDs 128 78.14us 610.51ns 28.38us 221.74ns noSupport notSupport 3.81us 29.74ns 175.24us 1369.04ns -SetsDs 128 78.71us 614.90ns 22.49us 175.72ns noSupport notSupport 2.75us 21.52ns 77.63us 606.45ns -SetsDs 128 78.34us 612.00ns 22.56us 176.27ns noSupport notSupport 2.67us 20.90ns 77.83us 608.01ns -SetsDs 128 100.82us 787.64ns 23.47us 183.39ns noSupport notSupport 3.56us 27.78ns 112.07us 875.54ns -SetsDs 256 171.16us 668.59ns 44.35us 173.25ns noSupport notSupport 4.94us 19.29ns 236.19us 922.62ns -SetsDs 256 185.06us 722.91ns 45.94us 179.43ns noSupport notSupport 5.17us 20.19ns 202.01us 789.09ns -SetsDs 256 287.56us 1123.27ns 44.89us 175.36ns noSupport notSupport 5.00us 19.53ns 180.28us 704.20ns -SetsDs 256 166.45us 650.20ns 43.72us 170.79ns noSupport notSupport 4.92us 19.21ns 195.13us 762.24ns -SetsDs 256 165.93us 648.16ns 44.02us 171.96ns noSupport notSupport 4.95us 19.33ns 178.92us 698.92ns -SetsDs 256 254.40us 993.77ns 69.55us 271.68ns noSupport notSupport 6.62us 25.87ns 174.38us 681.19ns -SetsDs 256 180.32us 704.36ns 44.49us 173.80ns noSupport notSupport 4.93us 19.26ns 173.53us 677.86ns -SetsDs 256 163.91us 640.26ns 44.15us 172.47ns noSupport notSupport 5.12us 20.00ns 173.62us 678.21ns -SetsDs 256 412.25us 1610.34ns 63.59us 248.39ns noSupport notSupport 5.03us 19.64ns 238.94us 933.34ns -SetsDs 256 242.63us 947.78ns 53.80us 210.16ns noSupport notSupport 6.70us 26.18ns 298.58us 1166.32ns -SetsDs 256 243.08us 949.54ns 67.71us 264.48ns noSupport notSupport 7.17us 28.02ns 249.34us 974.00ns -SetsDs 256 170.57us 666.28ns 44.16us 172.51ns noSupport notSupport 4.93us 19.25ns 191.73us 748.94ns -SetsDs 256 245.06us 957.25ns 44.97us 175.68ns noSupport notSupport 5.05us 19.72ns 172.55us 674.03ns -SetsDs 256 170.40us 665.62ns 43.94us 171.65ns noSupport notSupport 4.93us 19.25ns 283.05us 1105.65ns -SetsDs 256 290.36us 1134.22ns 69.24us 270.46ns noSupport notSupport 7.20us 28.14ns 322.62us 1260.24ns -SetsDs 256 257.46us 1005.70ns 96.65us 377.54ns noSupport notSupport 33.93us 132.55ns 299.23us 1168.86ns -SetsDs 256 278.72us 1088.75ns 106.10us 414.46ns noSupport notSupport 7.35us 28.73ns 241.28us 942.50ns -SetsDs 256 218.84us 854.83ns 61.17us 238.96ns noSupport notSupport 4.99us 19.49ns 373.95us 1460.75ns -SetsDs 256 316.90us 1237.89ns 69.37us 270.98ns noSupport notSupport 6.65us 25.98ns 337.52us 1318.43ns -SetsDs 256 345.32us 1348.92ns 62.05us 242.40ns noSupport notSupport 5.03us 19.64ns 232.89us 909.74ns -SetsDs 256 357.84us 1397.80ns 70.48us 275.32ns noSupport notSupport 5.06us 19.77ns 227.18us 887.41ns -SetsDs 256 294.55us 1150.57ns 44.34us 173.21ns noSupport notSupport 5.24us 20.47ns 176.67us 690.11ns -SetsDs 516 459.67us 890.83ns 82.40us 159.70ns noSupport notSupport 10.06us 19.49ns 375.45us 727.62ns -SetsDs 516 356.24us 690.40ns 82.50us 159.89ns noSupport notSupport 10.15us 19.67ns 354.40us 686.82ns -SetsDs 516 352.98us 684.06ns 82.51us 159.91ns noSupport notSupport 10.06us 19.49ns 372.64us 722.18ns -SetsDs 516 386.03us 748.12ns 82.08us 159.08ns noSupport notSupport 10.06us 19.49ns 313.79us 608.13ns -SetsDs 516 499.58us 968.18ns 85.75us 166.18ns noSupport notSupport 10.01us 19.40ns 378.38us 733.28ns -SetsDs 516 362.92us 703.33ns 84.31us 163.39ns noSupport notSupport 10.05us 19.47ns 349.31us 676.96ns -SetsDs 516 348.51us 675.41ns 92.84us 179.93ns noSupport notSupport 10.24us 19.84ns 323.38us 626.71ns -SetsDs 516 356.39us 690.69ns 82.32us 159.54ns noSupport notSupport 9.97us 19.32ns 313.15us 606.89ns -SetsDs 516 409.80us 794.19ns 82.47us 159.83ns noSupport notSupport 10.13us 19.63ns 310.31us 601.37ns -SetsDs 516 352.00us 682.18ns 82.36us 159.62ns noSupport notSupport 9.92us 19.22ns 347.89us 674.20ns -SetsDs 516 349.28us 676.90ns 82.57us 160.03ns noSupport notSupport 9.95us 19.28ns 348.28us 674.96ns -SetsDs 516 372.84us 722.57ns 103.30us 200.20ns noSupport notSupport 10.04us 19.46ns 367.31us 711.85ns -SetsDs 516 364.51us 706.41ns 82.79us 160.45ns noSupport notSupport 10.02us 19.42ns 312.70us 606.01ns -SetsDs 516 370.80us 718.60ns 82.02us 158.96ns noSupport notSupport 10.01us 19.40ns 306.65us 594.28ns -SetsDs 516 344.02us 666.71ns 82.30us 159.50ns noSupport notSupport 10.01us 19.40ns 341.13us 661.10ns -SetsDs 516 349.88us 678.07ns 82.40us 159.70ns noSupport notSupport 10.11us 19.59ns 334.25us 647.78ns -SetsDs 516 348.59us 675.56ns 93.34us 180.90ns noSupport notSupport 10.17us 19.71ns 308.31us 597.51ns -SetsDs 516 366.98us 711.21ns 106.60us 206.59ns noSupport notSupport 12.16us 23.57ns 346.65us 671.79ns -SetsDs 516 455.23us 882.22ns 82.04us 159.00ns noSupport notSupport 9.97us 19.32ns 387.32us 750.62ns -SetsDs 516 363.87us 705.17ns 82.56us 160.01ns noSupport notSupport 10.05us 19.47ns 343.16us 665.04ns -SetsDs 516 343.08us 664.88ns 121.24us 234.95ns noSupport notSupport 10.15us 19.67ns 313.21us 607.00ns -SetsDs 516 366.52us 710.32ns 82.61us 160.10ns noSupport notSupport 10.03us 19.44ns 308.64us 598.15ns -SetsDs 1024 739.71us 722.37ns 193.74us 189.20ns noSupport notSupport 19.00us 18.55ns 688.17us 672.04ns -SetsDs 1024 717.35us 700.53ns 171.32us 167.30ns noSupport notSupport 18.42us 17.99ns 691.04us 674.84ns -SetsDs 1024 871.66us 851.23ns 170.89us 166.88ns noSupport notSupport 19.03us 18.58ns 722.78us 705.84ns -SetsDs 1024 757.50us 739.75ns 213.97us 208.95ns noSupport notSupport 18.77us 18.33ns 843.49us 823.72ns -SetsDs 1024 930.55us 908.74ns 207.72us 202.85ns noSupport notSupport 19.11us 18.67ns 809.65us 790.67ns -SetsDs 1024 886.62us 865.84ns 335.61us 327.74ns noSupport notSupport 19.71us 19.24ns 726.19us 709.17ns -SetsDs 1024 745.81us 728.33ns 171.21us 167.20ns noSupport notSupport 18.68us 18.24ns 913.25us 891.85ns -SetsDs 1024 856.66us 836.58ns 170.27us 166.28ns noSupport notSupport 18.55us 18.11ns 697.36us 681.01ns -SetsDs 1024 712.39us 695.69ns 192.95us 188.43ns noSupport notSupport 18.74us 18.30ns 681.83us 665.85ns -SetsDs 1024 773.17us 755.05ns 176.72us 172.58ns noSupport notSupport 24.54us 23.96ns 716.38us 699.58ns -SetsDs 1024 720.18us 703.30ns 171.11us 167.10ns noSupport notSupport 18.95us 18.50ns 674.88us 659.06ns -SetsDs 1024 723.48us 706.52ns 172.18us 168.15ns noSupport notSupport 18.70us 18.27ns 686.12us 670.04ns -SetsDs 1024 777.53us 759.30ns 170.23us 166.24ns noSupport notSupport 18.53us 18.10ns 707.73us 691.14ns -SetsDs 1024 759.05us 741.26ns 200.02us 195.33ns noSupport notSupport 18.97us 18.52ns 669.71us 654.01ns -SetsDs 1024 727.71us 710.65ns 170.81us 166.80ns noSupport notSupport 18.50us 18.07ns 694.33us 678.06ns -SetsDs 1024 712.00us 695.31ns 169.95us 165.96ns noSupport notSupport 18.68us 18.24ns 694.23us 677.96ns -SetsDs 1024 923.62us 901.97ns 205.42us 200.61ns noSupport notSupport 18.96us 18.52ns 681.67us 665.69ns -SetsDs 1024 775.48us 757.31ns 169.36us 165.39ns noSupport notSupport 38.07us 37.18ns 687.31us 671.20ns -SetsDs 1024 714.56us 697.81ns 169.13us 165.16ns noSupport notSupport 18.67us 18.24ns 677.99us 662.10ns -SetsDs 1024 742.81us 725.40ns 211.67us 206.71ns noSupport notSupport 18.93us 18.49ns 687.61us 671.50ns -SetsDs 1024 713.42us 696.70ns 191.92us 187.42ns noSupport notSupport 18.63us 18.20ns 718.38us 701.54ns -SetsDs 1024 864.34us 844.08ns 218.21us 213.09ns noSupport notSupport 19.13us 18.68ns 792.91us 774.32ns -SetsDs 2048 2.13ms 1039.80ns 356.10us 173.88ns noSupport notSupport 37.34us 18.23ns 1.48ms 724.48ns -SetsDs 2048 1.56ms 761.83ns 352.68us 172.21ns noSupport notSupport 36.97us 18.05ns 1.56ms 759.87ns -SetsDs 2048 1.59ms 775.87ns 340.63us 166.33ns noSupport notSupport 37.36us 18.24ns 1.61ms 788.27ns -SetsDs 2048 1.63ms 798.17ns 337.36us 164.73ns noSupport notSupport 36.98us 18.06ns 1.51ms 739.66ns -SetsDs 2048 1.55ms 759.15ns 340.31us 166.17ns noSupport notSupport 37.20us 18.16ns 1.54ms 753.58ns -SetsDs 2048 1.66ms 810.85ns 335.58us 163.86ns noSupport notSupport 37.14us 18.13ns 1.47ms 716.31ns -SetsDs 2048 1.56ms 760.65ns 339.30us 165.67ns noSupport notSupport 37.00us 18.07ns 1.49ms 727.77ns -SetsDs 2048 1.75ms 853.37ns 407.35us 198.90ns noSupport notSupport 37.31us 18.22ns 1.84ms 900.16ns -SetsDs 2048 1.98ms 968.01ns 337.64us 164.86ns noSupport notSupport 37.20us 18.16ns 1.59ms 777.93ns -SetsDs 2048 1.60ms 779.98ns 341.30us 166.65ns noSupport notSupport 57.40us 28.03ns 1.63ms 796.22ns -SetsDs 2048 1.58ms 770.96ns 535.14us 261.30ns noSupport notSupport 37.43us 18.28ns 1.49ms 728.95ns -SetsDs 2048 1.66ms 811.99ns 356.11us 173.88ns noSupport notSupport 36.93us 18.03ns 1.59ms 778.01ns -SetsDs 2048 1.64ms 801.50ns 340.73us 166.37ns noSupport notSupport 37.21us 18.17ns 1.46ms 715.03ns -SetsDs 2048 1.61ms 786.87ns 342.48us 167.23ns noSupport notSupport 37.11us 18.12ns 1.53ms 747.10ns -SetsDs 2048 1.67ms 816.31ns 339.43us 165.74ns noSupport notSupport 36.94us 18.04ns 1.76ms 861.70ns -SetsDs 2048 1.65ms 805.12ns 420.59us 205.37ns noSupport notSupport 38.00us 18.56ns 1.61ms 787.18ns -SetsDs 2048 1.62ms 791.10ns 431.10us 210.50ns noSupport notSupport 37.31us 18.22ns 1.93ms 940.28ns -SetsDs 2048 2.00ms 977.40ns 338.35us 165.21ns noSupport notSupport 37.21us 18.17ns 1.51ms 739.14ns -SetsDs 2048 1.58ms 773.89ns 338.55us 165.31ns noSupport notSupport 36.87us 18.00ns 1.46ms 713.42ns -SetsDs 2048 2.03ms 992.90ns 364.21us 177.84ns noSupport notSupport 38.38us 18.74ns 1.57ms 765.53ns -SetsDs 2048 1.61ms 784.51ns 353.92us 172.81ns noSupport notSupport 37.00us 18.07ns 1.47ms 716.45ns -SetsDs 2048 1.55ms 756.79ns 358.77us 175.18ns noSupport notSupport 37.09us 18.11ns 1.55ms 755.40ns -SetsDs 4096 3.44ms 839.16ns 696.88us 170.14ns noSupport notSupport 73.89us 18.04ns 3.19ms 779.51ns -SetsDs 4096 5.05ms 1233.67ns 1.24ms 301.95ns noSupport notSupport 131.51us 32.11ns 3.92ms 956.97ns -SetsDs 4096 3.42ms 836.05ns 691.52us 168.83ns noSupport notSupport 74.59us 18.21ns 2.83ms 690.20ns -SetsDs 4096 3.31ms 808.54ns 696.66us 170.08ns noSupport notSupport 74.90us 18.29ns 2.78ms 679.37ns -SetsDs 4096 3.23ms 789.35ns 681.15us 166.30ns noSupport notSupport 73.27us 17.89ns 3.27ms 798.30ns -SetsDs 4096 4.12ms 1006.44ns 836.14us 204.14ns noSupport notSupport 83.44us 20.37ns 3.01ms 735.95ns -SetsDs 4096 3.36ms 819.32ns 700.86us 171.11ns noSupport notSupport 75.16us 18.35ns 2.78ms 679.60ns -SetsDs 4096 3.57ms 870.38ns 707.90us 172.83ns noSupport notSupport 91.02us 22.22ns 2.82ms 687.61ns -SetsDs 4096 3.31ms 808.93ns 678.99us 165.77ns noSupport notSupport 73.84us 18.03ns 2.93ms 716.14ns -SetsDs 4096 3.78ms 922.76ns 804.36us 196.38ns noSupport notSupport 102.15us 24.94ns 3.02ms 737.38ns -SetsDs 4096 3.24ms 791.09ns 687.66us 167.89ns noSupport notSupport 73.69us 17.99ns 2.79ms 680.89ns -SetsDs 4096 3.30ms 805.80ns 691.29us 168.77ns noSupport notSupport 74.22us 18.12ns 2.84ms 693.30ns -SetsDs 4096 3.23ms 787.75ns 686.63us 167.63ns noSupport notSupport 73.80us 18.02ns 2.86ms 697.79ns -SetsDs 4096 3.48ms 849.92ns 831.97us 203.12ns noSupport notSupport 103.36us 25.23ns 3.60ms 879.27ns -SetsDs 4096 3.39ms 827.79ns 693.83us 169.39ns noSupport notSupport 74.73us 18.24ns 2.80ms 683.90ns -SetsDs 4096 3.28ms 800.89ns 739.12us 180.45ns noSupport notSupport 96.53us 23.57ns 2.76ms 672.67ns -SetsDs 4096 3.29ms 802.05ns 687.32us 167.80ns noSupport notSupport 73.69us 17.99ns 2.79ms 680.97ns -SetsDs 4096 3.43ms 838.10ns 693.39us 169.29ns noSupport notSupport 74.24us 18.12ns 3.18ms 775.84ns -SetsDs 4096 3.72ms 907.27ns 682.32us 166.58ns noSupport notSupport 74.17us 18.11ns 2.79ms 682.27ns -SetsDs 4096 3.34ms 815.23ns 690.05us 168.47ns noSupport notSupport 74.18us 18.11ns 2.78ms 678.63ns -SetsDs 4096 3.25ms 794.12ns 677.74us 165.46ns noSupport notSupport 73.50us 17.94ns 2.79ms 681.57ns -SetsDs 4096 3.45ms 843.01ns 699.83us 170.86ns noSupport notSupport 73.24us 17.88ns 3.08ms 751.42ns -SetsDs 8192 9.05ms 1105.19ns 1.70ms 207.53ns noSupport notSupport 149.89us 18.30ns 6.36ms 776.89ns -SetsDs 8192 7.04ms 859.84ns 1.43ms 174.90ns noSupport notSupport 147.71us 18.03ns 6.80ms 830.07ns -SetsDs 8192 8.10ms 989.37ns 1.51ms 183.86ns noSupport notSupport 171.45us 20.93ns 6.39ms 779.83ns -SetsDs 8192 7.06ms 861.80ns 1.45ms 176.53ns noSupport notSupport 163.13us 19.91ns 6.72ms 819.75ns -SetsDs 8192 8.03ms 980.41ns 1.42ms 173.19ns noSupport notSupport 146.35us 17.87ns 6.24ms 761.57ns -SetsDs 8192 7.03ms 857.84ns 1.43ms 174.34ns noSupport notSupport 147.53us 18.01ns 7.06ms 862.22ns -SetsDs 8192 8.01ms 978.09ns 1.44ms 175.45ns noSupport notSupport 524.89us 64.07ns 6.31ms 770.22ns -SetsDs 8192 7.06ms 862.39ns 1.42ms 172.85ns noSupport notSupport 147.42us 18.00ns 8.41ms 1026.31ns -SetsDs 8192 8.75ms 1068.69ns 1.45ms 176.71ns noSupport notSupport 189.00us 23.07ns 6.07ms 740.61ns -SetsDs 8192 7.03ms 858.19ns 1.42ms 172.98ns noSupport notSupport 147.00us 17.94ns 6.78ms 827.34ns -SetsDs 8192 8.84ms 1078.82ns 1.45ms 177.47ns noSupport notSupport 147.83us 18.05ns 6.00ms 732.16ns -SetsDs 8192 8.07ms 985.09ns 1.78ms 217.07ns noSupport notSupport 151.46us 18.49ns 7.46ms 910.20ns -SetsDs 8192 7.25ms 884.91ns 1.48ms 180.76ns noSupport notSupport 147.78us 18.04ns 5.83ms 712.25ns -SetsDs 8192 8.56ms 1044.71ns 2.91ms 354.89ns noSupport notSupport 283.20us 34.57ns 6.60ms 805.65ns -SetsDs 8192 7.24ms 883.20ns 1.43ms 174.43ns noSupport notSupport 170.11us 20.77ns 5.99ms 731.68ns -SetsDs 8192 7.24ms 883.30ns 1.43ms 174.03ns noSupport notSupport 146.81us 17.92ns 7.13ms 870.83ns -SetsDs 8192 9.59ms 1170.94ns 2.09ms 254.97ns noSupport notSupport 184.13us 22.48ns 7.86ms 959.64ns -SetsDs 8192 7.04ms 858.78ns 1.43ms 174.93ns noSupport notSupport 146.58us 17.89ns 6.97ms 850.67ns -SetsDs 8192 7.09ms 865.68ns 1.46ms 178.40ns noSupport notSupport 147.84us 18.05ns 5.91ms 721.40ns -SetsDs 8192 8.74ms 1066.65ns 1.43ms 174.06ns noSupport notSupport 146.92us 17.94ns 6.52ms 796.40ns -SetsDs 8192 7.05ms 860.67ns 1.43ms 174.40ns noSupport notSupport 190.41us 23.24ns 7.05ms 860.00ns -SetsDs 8192 8.92ms 1089.20ns 1.48ms 180.85ns noSupport notSupport 146.99us 17.94ns 6.41ms 782.34ns -SetsDs 16384 18.32ms 1117.92ns 4.50ms 274.42ns noSupport notSupport 323.83us 19.77ns 13.63ms 831.86ns -SetsDs 16384 16.17ms 987.20ns 3.02ms 184.51ns noSupport notSupport 295.34us 18.03ns 14.68ms 896.21ns -SetsDs 16384 16.13ms 984.23ns 3.16ms 193.07ns noSupport notSupport 321.27us 19.61ns 13.27ms 809.82ns -SetsDs 16384 19.95ms 1217.90ns 4.69ms 286.08ns noSupport notSupport 320.20us 19.54ns 13.32ms 812.72ns -SetsDs 16384 16.69ms 1018.56ns 2.96ms 180.81ns noSupport notSupport 295.27us 18.02ns 16.24ms 991.16ns -SetsDs 16384 16.61ms 1013.64ns 3.11ms 189.65ns noSupport notSupport 319.09us 19.48ns 15.09ms 921.07ns -SetsDs 16384 16.10ms 982.70ns 4.21ms 257.23ns noSupport notSupport 329.10us 20.09ns 13.42ms 818.99ns -SetsDs 16384 17.67ms 1078.37ns 3.04ms 185.80ns noSupport notSupport 294.62us 17.98ns 15.80ms 964.16ns -SetsDs 16384 21.84ms 1332.94ns 3.43ms 209.22ns noSupport notSupport 376.10us 22.96ns 14.13ms 862.70ns -SetsDs 16384 15.98ms 975.05ns 3.02ms 184.16ns noSupport notSupport 296.06us 18.07ns 13.72ms 837.33ns -SetsDs 16384 17.67ms 1078.75ns 3.03ms 185.04ns noSupport notSupport 357.16us 21.80ns 14.94ms 911.70ns -SetsDs 16384 16.46ms 1004.76ns 3.49ms 212.81ns noSupport notSupport 333.94us 20.38ns 14.08ms 859.22ns -SetsDs 16384 16.01ms 977.41ns 3.51ms 214.20ns noSupport notSupport 435.54us 26.58ns 14.63ms 893.22ns -SetsDs 16384 15.86ms 967.80ns 3.33ms 203.50ns noSupport notSupport 295.74us 18.05ns 13.05ms 796.25ns -SetsDs 16384 17.34ms 1058.60ns 3.16ms 192.97ns noSupport notSupport 328.97us 20.08ns 13.40ms 817.85ns -SetsDs 16384 17.43ms 1063.94ns 3.00ms 183.30ns noSupport notSupport 296.36us 18.09ns 16.00ms 976.39ns -SetsDs 16384 20.23ms 1234.72ns 3.18ms 194.02ns noSupport notSupport 297.95us 18.19ns 13.54ms 826.15ns -SetsDs 16384 16.40ms 1001.13ns 2.99ms 182.62ns noSupport notSupport 315.38us 19.25ns 13.31ms 812.18ns -SetsDs 16384 17.97ms 1096.75ns 2.97ms 181.08ns noSupport notSupport 294.72us 17.99ns 15.25ms 930.59ns -SetsDs 16384 16.96ms 1035.30ns 2.98ms 182.07ns noSupport notSupport 387.09us 23.63ns 14.63ms 892.67ns -SetsDs 16384 16.11ms 983.21ns 3.47ms 211.99ns noSupport notSupport 394.65us 24.09ns 13.52ms 825.10ns -SetsDs 16384 19.27ms 1176.18ns 3.26ms 199.13ns noSupport notSupport 296.65us 18.11ns 13.01ms 794.23ns -SetsDs 32768 37.10ms 1132.13ns 6.23ms 190.09ns noSupport notSupport 667.49us 20.37ns 36.13ms 1102.61ns -SetsDs 32768 35.71ms 1089.92ns 7.85ms 239.51ns noSupport notSupport 942.71us 28.77ns 39.38ms 1201.82ns -SetsDs 32768 35.12ms 1071.72ns 9.87ms 301.20ns noSupport notSupport 666.74us 20.35ns 33.71ms 1028.64ns -SetsDs 32768 35.64ms 1087.63ns 6.42ms 195.84ns noSupport notSupport 652.37us 19.91ns 32.87ms 1003.00ns -SetsDs 32768 35.56ms 1085.19ns 6.35ms 193.83ns noSupport notSupport 634.60us 19.37ns 34.65ms 1057.31ns -SetsDs 32768 36.82ms 1123.66ns 6.81ms 207.91ns noSupport notSupport 647.84us 19.77ns 34.14ms 1041.94ns -SetsDs 32768 35.26ms 1076.14ns 6.63ms 202.44ns noSupport notSupport 651.44us 19.88ns 33.49ms 1021.89ns -SetsDs 32768 35.47ms 1082.43ns 6.30ms 192.24ns noSupport notSupport 635.86us 19.40ns 35.00ms 1067.99ns -SetsDs 32768 36.42ms 1111.35ns 6.61ms 201.69ns noSupport notSupport 650.88us 19.86ns 34.21ms 1043.99ns -SetsDs 32768 35.59ms 1085.99ns 6.55ms 199.80ns noSupport notSupport 700.38us 21.37ns 34.31ms 1047.02ns -SetsDs 32768 37.07ms 1131.23ns 6.40ms 195.23ns noSupport notSupport 646.46us 19.73ns 35.28ms 1076.54ns -SetsDs 32768 37.79ms 1153.34ns 6.62ms 201.90ns noSupport notSupport 619.70us 18.91ns 33.15ms 1011.54ns -SetsDs 32768 34.97ms 1067.09ns 6.80ms 207.67ns noSupport notSupport 771.62us 23.55ns 35.07ms 1070.19ns -SetsDs 32768 48.54ms 1481.32ns 8.62ms 263.00ns noSupport notSupport 669.20us 20.42ns 33.84ms 1032.77ns -SetsDs 32768 37.68ms 1150.02ns 9.34ms 285.08ns noSupport notSupport 728.43us 22.23ns 34.04ms 1038.83ns -SetsDs 32768 35.20ms 1074.36ns 6.42ms 195.94ns noSupport notSupport 651.66us 19.89ns 32.53ms 992.79ns -SetsDs 32768 34.07ms 1039.78ns 6.32ms 192.92ns noSupport notSupport 660.76us 20.16ns 32.49ms 991.51ns -SetsDs 32768 36.08ms 1101.01ns 7.53ms 229.73ns noSupport notSupport 671.87us 20.50ns 35.11ms 1071.44ns -SetsDs 32768 35.12ms 1071.87ns 6.20ms 189.11ns noSupport notSupport 947.28us 28.91ns 34.34ms 1047.97ns -SetsDs 32768 35.81ms 1092.85ns 6.46ms 197.27ns noSupport notSupport 641.96us 19.59ns 33.79ms 1031.27ns -SetsDs 32768 38.35ms 1170.39ns 7.39ms 225.45ns noSupport notSupport 721.37us 22.01ns 34.24ms 1045.01ns -SetsDs 32768 35.58ms 1085.89ns 7.02ms 214.21ns noSupport notSupport 748.62us 22.85ns 33.49ms 1022.10ns -SetsDs 65536 96.03ms 1465.24ns 14.13ms 215.64ns noSupport notSupport 1.33ms 20.26ns 106.55ms 1625.77ns -SetsDs 65536 95.32ms 1454.43ns 15.46ms 235.90ns noSupport notSupport 1.51ms 22.99ns 121.23ms 1849.86ns -SetsDs 65536 93.02ms 1419.42ns 13.98ms 213.36ns noSupport notSupport 1.44ms 21.97ns 96.46ms 1471.83ns -SetsDs 65536 88.58ms 1351.67ns 14.01ms 213.79ns noSupport notSupport 1.31ms 19.97ns 110.12ms 1680.25ns -SetsDs 65536 97.36ms 1485.62ns 14.06ms 214.50ns noSupport notSupport 1.36ms 20.69ns 101.71ms 1551.92ns -SetsDs 65536 94.39ms 1440.23ns 14.09ms 215.06ns noSupport notSupport 1.30ms 19.88ns 101.81ms 1553.43ns -SetsDs 65536 93.67ms 1429.28ns 14.86ms 226.77ns noSupport notSupport 1.38ms 21.10ns 107.61ms 1642.02ns -SetsDs 65536 86.81ms 1324.66ns 13.74ms 209.60ns noSupport notSupport 1.27ms 19.41ns 96.13ms 1466.79ns -SetsDs 65536 95.64ms 1459.42ns 13.91ms 212.26ns noSupport notSupport 1.56ms 23.79ns 111.65ms 1703.61ns -SetsDs 65536 91.30ms 1393.20ns 14.47ms 220.78ns noSupport notSupport 1.36ms 20.77ns 103.39ms 1577.66ns -SetsDs 65536 91.85ms 1401.45ns 14.03ms 214.08ns noSupport notSupport 1.31ms 20.00ns 109.05ms 1664.04ns -SetsDs 65536 101.90ms 1554.88ns 13.71ms 209.18ns noSupport notSupport 1.50ms 22.92ns 98.21ms 1498.59ns -SetsDs 65536 90.42ms 1379.77ns 13.70ms 209.01ns noSupport notSupport 1.33ms 20.27ns 101.80ms 1553.30ns -SetsDs 65536 86.68ms 1322.70ns 14.07ms 214.63ns noSupport notSupport 1.36ms 20.80ns 96.14ms 1467.04ns -SetsDs 65536 90.55ms 1381.64ns 14.36ms 219.07ns noSupport notSupport 1.34ms 20.45ns 102.14ms 1558.48ns -SetsDs 65536 92.64ms 1413.61ns 14.57ms 222.34ns noSupport notSupport 1.31ms 19.98ns 104.70ms 1597.62ns -SetsDs 65536 103.05ms 1572.47ns 14.81ms 225.94ns noSupport notSupport 1.37ms 20.86ns 109.35ms 1668.62ns -SetsDs 65536 97.16ms 1482.61ns 14.87ms 226.93ns noSupport notSupport 1.39ms 21.24ns 104.39ms 1592.91ns -SetsDs 65536 94.73ms 1445.42ns 14.84ms 226.40ns noSupport notSupport 1.44ms 21.94ns 108.31ms 1652.75ns -SetsDs 65536 94.01ms 1434.49ns 14.59ms 222.62ns noSupport notSupport 1.49ms 22.72ns 107.55ms 1641.15ns -SetsDs 65536 95.02ms 1449.84ns 14.05ms 214.35ns noSupport notSupport 1.43ms 21.88ns 107.77ms 1644.38ns -SetsDs 65536 88.49ms 1350.20ns 14.16ms 216.13ns noSupport notSupport 1.36ms 20.81ns 107.62ms 1642.19ns -SetsDs 131072 295.41ms 2253.77ns 34.80ms 265.51ns noSupport notSupport 3.03ms 23.13ns 340.58ms 2598.39ns -SetsDs 131072 291.07ms 2220.69ns 33.18ms 253.14ns noSupport notSupport 3.11ms 23.69ns 355.31ms 2710.80ns -SetsDs 131072 306.21ms 2336.17ns 35.25ms 268.92ns noSupport notSupport 3.43ms 26.19ns 371.55ms 2834.73ns -SetsDs 131072 312.02ms 2380.52ns 40.92ms 312.18ns noSupport notSupport 3.52ms 26.83ns 369.30ms 2817.56ns -SetsDs 131072 279.31ms 2130.97ns 35.86ms 273.61ns noSupport notSupport 3.89ms 29.65ns 324.75ms 2477.66ns -SetsDs 131072 281.76ms 2149.65ns 41.14ms 313.85ns noSupport notSupport 3.46ms 26.37ns 343.99ms 2624.47ns -SetsDs 131072 288.51ms 2201.18ns 33.55ms 255.99ns noSupport notSupport 2.95ms 22.53ns 349.23ms 2664.38ns -SetsDs 131072 294.47ms 2246.63ns 33.83ms 258.10ns noSupport notSupport 4.02ms 30.64ns 357.21ms 2725.32ns -SetsDs 131072 307.81ms 2348.43ns 43.21ms 329.70ns noSupport notSupport 3.07ms 23.43ns 359.77ms 2744.81ns -SetsDs 131072 314.06ms 2396.07ns 37.60ms 286.84ns noSupport notSupport 3.60ms 27.45ns 357.03ms 2723.89ns -SetsDs 131072 283.74ms 2164.73ns 36.14ms 275.73ns noSupport notSupport 3.50ms 26.71ns 326.36ms 2489.92ns -SetsDs 131072 297.81ms 2272.12ns 35.01ms 267.13ns noSupport notSupport 2.98ms 22.76ns 348.71ms 2660.41ns -SetsDs 131072 279.57ms 2132.94ns 31.90ms 243.38ns noSupport notSupport 2.96ms 22.58ns 418.77ms 3194.97ns -SetsDs 131072 323.05ms 2464.68ns 35.54ms 271.18ns noSupport notSupport 3.34ms 25.45ns 412.99ms 3150.83ns -SetsDs 131072 309.86ms 2364.01ns 33.15ms 252.90ns noSupport notSupport 3.49ms 26.65ns 377.46ms 2879.78ns -SetsDs 131072 294.24ms 2244.85ns 39.84ms 303.96ns noSupport notSupport 3.61ms 27.50ns 329.75ms 2515.82ns -SetsDs 131072 293.55ms 2239.63ns 37.21ms 283.92ns noSupport notSupport 3.03ms 23.15ns 346.55ms 2643.95ns -SetsDs 131072 280.36ms 2138.97ns 32.20ms 245.68ns noSupport notSupport 6.71ms 51.19ns 357.94ms 2730.88ns -SetsDs 131072 301.57ms 2300.80ns 33.31ms 254.12ns noSupport notSupport 3.42ms 26.06ns 340.76ms 2599.82ns -SetsDs 131072 284.48ms 2170.42ns 32.48ms 247.80ns noSupport notSupport 3.09ms 23.55ns 334.10ms 2549.01ns -SetsDs 131072 288.62ms 2201.97ns 31.90ms 243.36ns noSupport notSupport 3.00ms 22.91ns 348.35ms 2657.69ns -SetsDs 131072 297.99ms 2273.48ns 32.94ms 251.29ns noSupport notSupport 3.33ms 25.37ns 322.92ms 2463.68ns -SetsDs 524288 5.23s 9967.18ns 316.50ms 603.67ns noSupport notSupport 16.20ms 30.90ns 5.82s 11109.10ns -SetsDs 524288 5.01s 9552.47ns 295.92ms 564.43ns noSupport notSupport 15.38ms 29.33ns 5.68s 10834.74ns -SetsDs 524288 5.06s 9655.78ns 288.00ms 549.32ns noSupport notSupport 15.39ms 29.35ns 5.77s 11007.22ns -SetsDs 524288 4.94s 9429.69ns 297.19ms 566.84ns noSupport notSupport 15.21ms 29.01ns 5.74s 10940.43ns -SetsDs 524288 4.90s 9354.69ns 307.79ms 587.06ns noSupport notSupport 15.25ms 29.09ns 5.71s 10893.84ns -SetsDs 524288 4.95s 9434.49ns 300.03ms 572.26ns noSupport notSupport 15.94ms 30.41ns 5.76s 10993.07ns -SetsDs 524288 4.99s 9522.53ns 325.06ms 619.99ns noSupport notSupport 15.12ms 28.83ns 5.75s 10968.73ns -SetsDs 524288 5.03s 9584.89ns 298.42ms 569.19ns noSupport notSupport 15.41ms 29.39ns 5.74s 10955.09ns -SetsDs 524288 4.97s 9475.01ns 293.60ms 560.00ns noSupport notSupport 19.61ms 37.40ns 5.76s 10988.94ns -SetsDs 524288 5.02s 9582.90ns 292.10ms 557.13ns noSupport notSupport 15.66ms 29.87ns 5.74s 10942.90ns -SetsDs 524288 4.92s 9385.73ns 284.31ms 542.28ns noSupport notSupport 16.07ms 30.65ns 5.85s 11159.97ns -SetsDs 524288 4.91s 9373.16ns 290.13ms 553.38ns noSupport notSupport 15.19ms 28.97ns 5.72s 10918.79ns -SetsDs 524288 4.92s 9377.27ns 285.19ms 543.96ns noSupport notSupport 14.95ms 28.51ns 5.66s 10786.28ns -SetsDs 524288 4.93s 9399.37ns 297.93ms 568.26ns noSupport notSupport 15.45ms 29.47ns 5.72s 10902.50ns -SetsDs 524288 5.09s 9701.22ns 298.14ms 568.66ns noSupport notSupport 19.33ms 36.87ns 5.88s 11209.39ns -SetsDs 524288 4.99s 9508.27ns 301.32ms 574.72ns noSupport notSupport 16.00ms 30.51ns 5.97s 11383.27ns -SetsDs 524288 4.97s 9471.81ns 297.69ms 567.79ns noSupport notSupport 15.44ms 29.44ns 5.76s 10988.62ns -SetsDs 524288 5.25s 10009.72ns 317.12ms 604.85ns noSupport notSupport 16.59ms 31.64ns 5.75s 10959.92ns -SetsDs 524288 5.18s 9875.72ns 291.11ms 555.25ns noSupport notSupport 14.97ms 28.56ns 5.68s 10832.10ns -SetsDs 524288 4.93s 9398.67ns 288.32ms 549.93ns noSupport notSupport 15.24ms 29.07ns 5.75s 10974.44ns -SetsDs 524288 5.21s 9929.72ns 284.18ms 542.02ns noSupport notSupport 15.13ms 28.86ns 5.85s 11160.92ns -SetsDs 524288 5.08s 9682.77ns 291.61ms 556.20ns noSupport notSupport 15.85ms 30.23ns 6.08s 11593.45ns -SetsDs 1048576 20.36s 19414.43ns 720.04ms 686.68ns noSupport notSupport 46.19ms 44.05ns 25.03s 23867.27ns -SetsDs 1048576 19.93s 19005.79ns 684.60ms 652.89ns noSupport notSupport 42.20ms 40.24ns 23.59s 22496.76ns -SetsDs 1048576 20.21s 19276.35ns 712.45ms 679.44ns noSupport notSupport 40.76ms 38.87ns 24.04s 22926.94ns -SetsDs 1048576 19.44s 18536.36ns 694.15ms 662.00ns noSupport notSupport 42.21ms 40.25ns 23.58s 22490.09ns -SetsDs 1048576 19.45s 18545.15ns 695.19ms 662.99ns noSupport notSupport 40.47ms 38.60ns 23.81s 22704.65ns -SetsDs 1048576 19.32s 18429.36ns 684.67ms 652.96ns noSupport notSupport 40.86ms 38.97ns 23.52s 22432.30ns -SetsDs 1048576 19.11s 18225.99ns 682.31ms 650.70ns noSupport notSupport 41.43ms 39.51ns 23.85s 22740.64ns -SetsDs 1048576 20.09s 19159.01ns 690.09ms 658.12ns noSupport notSupport 41.20ms 39.30ns 23.69s 22592.16ns -SetsDs 1048576 19.80s 18882.92ns 691.37ms 659.35ns noSupport notSupport 40.45ms 38.58ns 23.76s 22654.76ns -SetsDs 1048576 19.24s 18347.67ns 709.28ms 676.43ns noSupport notSupport 45.89ms 43.77ns 23.88s 22778.16ns -SetsDs 1048576 19.46s 18558.78ns 712.51ms 679.50ns noSupport notSupport 39.87ms 38.02ns 24.05s 22937.88ns -SetsDs 1048576 19.43s 18533.73ns 713.60ms 680.55ns noSupport notSupport 47.32ms 45.12ns 23.95s 22836.64ns -SetsDs 1048576 19.75s 18838.80ns 715.83ms 682.66ns noSupport notSupport 42.02ms 40.08ns 24.18s 23062.69ns -SetsDs 1048576 20.01s 19084.89ns 686.61ms 654.80ns noSupport notSupport 41.99ms 40.05ns 24.86s 23707.84ns -SetsDs 1048576 19.76s 18840.36ns 706.02ms 673.31ns noSupport notSupport 42.53ms 40.56ns 24.88s 23725.23ns -SetsDs 1048576 19.77s 18857.67ns 692.01ms 659.95ns noSupport notSupport 39.25ms 37.43ns 24.11s 22990.64ns -SetsDs 1048576 19.67s 18760.14ns 689.00ms 657.09ns noSupport notSupport 40.77ms 38.89ns 23.68s 22579.13ns -SetsDs 1048576 19.58s 18675.10ns 696.23ms 663.97ns noSupport notSupport 42.50ms 40.53ns 24.11s 22996.95ns -SetsDs 1048576 19.87s 18947.03ns 687.83ms 655.97ns noSupport notSupport 40.26ms 38.40ns 24.46s 23329.98ns -SetsDs 1048576 19.82s 18904.67ns 770.90ms 735.19ns noSupport notSupport 40.69ms 38.80ns 23.98s 22866.70ns -SetsDs 1048576 19.31s 18418.94ns 710.81ms 677.88ns noSupport notSupport 39.50ms 37.67ns 23.65s 22552.50ns -SetsDs 1048576 19.21s 18320.15ns 701.74ms 669.23ns noSupport notSupport 40.80ms 38.91ns 23.66s 22566.55ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -Gb_setsDs 8 6.76us 845.38ns 1.91us 239.13ns noSupport notSupport 921ns 115.13ns 6.80us 850.38ns -Gb_setsDs 8 5.50us 687.50ns 2.25us 280.63ns noSupport notSupport 831ns 103.88ns 5.93us 741.38ns -Gb_setsDs 8 5.10us 637.38ns 2.01us 251.75ns noSupport notSupport 782ns 97.75ns 5.51us 688.75ns -Gb_setsDs 8 5.24us 655.00ns 2.12us 265.50ns noSupport notSupport 762ns 95.25ns 5.70us 712.50ns -Gb_setsDs 8 5.08us 634.88ns 2.01us 251.75ns noSupport notSupport 722ns 90.25ns 8.97us 1120.75ns -Gb_setsDs 8 5.65us 706.38ns 2.01us 251.75ns noSupport notSupport 791ns 98.88ns 6.00us 750.13ns -Gb_setsDs 8 4.91us 613.63ns 1.98us 248.00ns noSupport notSupport 561ns 70.13ns 5.38us 672.50ns -Gb_setsDs 8 5.36us 670.00ns 1.97us 246.75ns noSupport notSupport 781ns 97.63ns 5.84us 730.13ns -Gb_setsDs 8 5.30us 662.50ns 2.19us 274.25ns noSupport notSupport 822ns 102.75ns 5.73us 716.38ns -Gb_setsDs 8 5.00us 625.00ns 1.86us 232.88ns noSupport notSupport 772ns 96.50ns 5.67us 708.75ns -Gb_setsDs 8 5.39us 673.75ns 1.93us 241.63ns noSupport notSupport 741ns 92.63ns 6.64us 830.25ns -Gb_setsDs 8 5.23us 653.75ns 1.88us 235.38ns noSupport notSupport 832ns 104.00ns 7.29us 911.75ns -Gb_setsDs 8 23.60us 2950.50ns 2.40us 299.38ns noSupport notSupport 782ns 97.75ns 6.20us 775.13ns -Gb_setsDs 8 5.48us 685.13ns 1.79us 224.13ns noSupport notSupport 792ns 99.00ns 7.18us 897.88ns -Gb_setsDs 8 5.69us 711.38ns 1.98us 248.00ns noSupport notSupport 852ns 106.50ns 5.58us 697.50ns -Gb_setsDs 8 8.55us 1068.25ns 2.19us 274.25ns noSupport notSupport 721ns 90.13ns 56.12us 7014.88ns -Gb_setsDs 8 6.47us 809.00ns 2.11us 264.25ns noSupport notSupport 802ns 100.25ns 6.50us 812.75ns -Gb_setsDs 8 6.70us 837.88ns 2.38us 298.00ns noSupport notSupport 772ns 96.50ns 6.71us 839.00ns -Gb_setsDs 8 5.86us 732.63ns 2.13us 266.75ns noSupport notSupport 792ns 99.00ns 5.57us 696.25ns -Gb_setsDs 8 5.24us 655.00ns 1.82us 227.88ns noSupport notSupport 761ns 95.13ns 26.74us 3342.50ns -Gb_setsDs 8 5.98us 747.75ns 2.26us 283.00ns noSupport notSupport 812ns 101.50ns 6.40us 800.13ns -Gb_setsDs 8 5.51us 688.75ns 1.96us 245.50ns noSupport notSupport 882ns 110.25ns 5.44us 680.00ns -Gb_setsDs 16 21.96us 1372.50ns 4.27us 266.75ns noSupport notSupport 1.06us 66.38ns 9.25us 577.94ns -Gb_setsDs 16 22.15us 1384.44ns 4.56us 284.94ns noSupport notSupport 1.19us 74.50ns 10.32us 645.00ns -Gb_setsDs 16 20.76us 1297.38ns 3.19us 199.13ns noSupport notSupport 801ns 50.06ns 6.67us 417.06ns -Gb_setsDs 16 64.44us 4027.63ns 3.57us 222.94ns noSupport notSupport 891ns 55.69ns 6.94us 433.94ns -Gb_setsDs 16 57.88us 3617.25ns 3.25us 202.88ns noSupport notSupport 912ns 57.00ns 6.51us 407.00ns -Gb_setsDs 16 61.33us 3833.19ns 4.33us 270.50ns noSupport notSupport 1.08us 67.63ns 9.23us 576.69ns -Gb_setsDs 16 18.12us 1132.75ns 3.99us 249.19ns noSupport notSupport 1.11us 69.50ns 8.76us 547.25ns -Gb_setsDs 16 14.81us 925.50ns 2.77us 172.81ns noSupport notSupport 812ns 50.75ns 6.15us 384.44ns -Gb_setsDs 16 14.72us 919.81ns 2.71us 169.69ns noSupport notSupport 842ns 52.63ns 6.17us 385.69ns -Gb_setsDs 16 42.99us 2687.06ns 4.85us 303.06ns noSupport notSupport 982ns 61.38ns 10.32us 644.94ns -Gb_setsDs 16 19.61us 1225.44ns 3.22us 201.00ns noSupport notSupport 831ns 51.94ns 6.30us 393.88ns -Gb_setsDs 16 20.68us 1292.38ns 3.74us 233.56ns noSupport notSupport 1.08us 67.63ns 8.91us 556.69ns -Gb_setsDs 16 19.85us 1240.38ns 4.06us 253.63ns noSupport notSupport 1.11us 69.50ns 8.85us 552.94ns -Gb_setsDs 16 20.04us 1252.31ns 4.04us 252.38ns noSupport notSupport 1.11us 69.50ns 8.86us 553.56ns -Gb_setsDs 16 19.18us 1198.50ns 3.85us 240.44ns noSupport notSupport 1.05us 65.69ns 8.41us 525.38ns -Gb_setsDs 16 45.92us 2870.06ns 2.94us 184.06ns noSupport notSupport 842ns 52.63ns 6.19us 387.00ns -Gb_setsDs 16 17.82us 1113.94ns 6.78us 423.94ns noSupport notSupport 1.09us 68.25ns 8.64us 539.81ns -Gb_setsDs 16 34.25us 2140.56ns 4.00us 249.81ns noSupport notSupport 982ns 61.38ns 8.62us 538.50ns -Gb_setsDs 16 18.44us 1152.75ns 3.78us 236.06ns noSupport notSupport 1.08us 67.63ns 8.27us 516.56ns -Gb_setsDs 16 13.79us 861.56ns 2.69us 168.44ns noSupport notSupport 862ns 53.88ns 5.83us 364.44ns -Gb_setsDs 16 20.90us 1306.19ns 43.20us 2700.00ns noSupport notSupport 1.09us 68.25ns 40.65us 2540.31ns -Gb_setsDs 16 19.35us 1209.13ns 4.15us 259.25ns noSupport notSupport 1.07us 67.00ns 9.06us 566.06ns -Gb_setsDs 32 27.93us 872.88ns 7.10us 221.97ns noSupport notSupport 1.23us 38.50ns 17.55us 548.53ns -Gb_setsDs 32 30.41us 950.22ns 7.32us 228.88ns noSupport notSupport 1.49us 46.66ns 43.82us 1369.41ns -Gb_setsDs 32 35.89us 1121.47ns 7.35us 229.81ns noSupport notSupport 1.65us 51.66ns 56.60us 1768.63ns -Gb_setsDs 32 39.44us 1232.63ns 9.99us 312.13ns noSupport notSupport 1.41us 44.16ns 12.49us 390.41ns -Gb_setsDs 32 31.38us 980.56ns 6.67us 208.53ns noSupport notSupport 1.18us 36.94ns 12.23us 382.28ns -Gb_setsDs 32 31.84us 994.97ns 6.65us 207.91ns noSupport notSupport 1.32us 41.31ns 12.19us 381.03ns -Gb_setsDs 32 28.52us 891.34ns 6.66us 208.22ns noSupport notSupport 1.22us 38.19ns 12.70us 397.00ns -Gb_setsDs 32 43.10us 1346.88ns 9.82us 306.81ns noSupport notSupport 1.55us 48.53ns 18.73us 585.47ns -Gb_setsDs 32 37.10us 1159.38ns 9.75us 304.63ns noSupport notSupport 1.64us 51.34ns 18.31us 572.31ns -Gb_setsDs 32 37.48us 1171.25ns 9.57us 299.00ns noSupport notSupport 1.62us 50.72ns 18.34us 573.28ns -Gb_setsDs 32 37.27us 1164.69ns 30.18us 943.00ns noSupport notSupport 1.53us 47.91ns 16.22us 506.88ns -Gb_setsDs 32 42.15us 1317.16ns 9.90us 309.31ns noSupport notSupport 1.71us 53.56ns 57.68us 1802.41ns -Gb_setsDs 32 26.80us 837.50ns 6.59us 206.03ns noSupport notSupport 1.20us 37.56ns 12.19us 381.03ns -Gb_setsDs 32 38.73us 1210.38ns 6.81us 212.91ns noSupport notSupport 1.22us 38.19ns 15.96us 498.75ns -Gb_setsDs 32 26.94us 841.88ns 6.94us 216.97ns noSupport notSupport 1.24us 38.81ns 12.84us 401.38ns -Gb_setsDs 32 27.34us 854.41ns 6.72us 210.06ns noSupport notSupport 1.25us 39.13ns 12.50us 390.72ns -Gb_setsDs 32 26.85us 839.06ns 6.64us 207.56ns noSupport notSupport 1.22us 38.19ns 12.24us 382.59ns -Gb_setsDs 32 39.15us 1223.53ns 10.01us 312.78ns noSupport notSupport 1.50us 46.97ns 40.48us 1264.84ns -Gb_setsDs 32 26.46us 826.84ns 6.75us 211.03ns noSupport notSupport 1.24us 38.81ns 12.35us 386.03ns -Gb_setsDs 32 38.88us 1215.09ns 7.05us 220.41ns noSupport notSupport 1.35us 42.28ns 14.75us 460.84ns -Gb_setsDs 32 26.41us 825.31ns 6.65us 207.88ns noSupport notSupport 1.18us 36.94ns 12.23us 382.28ns -Gb_setsDs 32 36.82us 1150.59ns 10.05us 314.00ns noSupport notSupport 1.67us 52.28ns 17.96us 561.34ns -Gb_setsDs 64 73.53us 1148.86ns 12.38us 193.48ns noSupport notSupport 2.14us 33.50ns 37.35us 583.59ns -Gb_setsDs 64 70.34us 1099.08ns 12.27us 191.77ns noSupport notSupport 1.98us 31.00ns 71.50us 1117.14ns -Gb_setsDs 64 69.75us 1089.84ns 12.31us 192.39ns noSupport notSupport 2.04us 31.94ns 32.61us 509.55ns -Gb_setsDs 64 68.29us 1066.98ns 12.13us 189.58ns noSupport notSupport 1.98us 31.00ns 65.69us 1026.33ns -Gb_setsDs 64 72.99us 1140.41ns 12.25us 191.45ns noSupport notSupport 2.03us 31.78ns 36.64us 572.47ns -Gb_setsDs 64 71.03us 1109.88ns 12.80us 200.06ns noSupport notSupport 2.48us 38.83ns 66.06us 1032.23ns -Gb_setsDs 64 69.76us 1090.00ns 12.19us 190.52ns noSupport notSupport 2.04us 31.94ns 33.23us 519.25ns -Gb_setsDs 64 68.06us 1063.39ns 12.66us 197.88ns noSupport notSupport 2.59us 40.39ns 66.82us 1044.13ns -Gb_setsDs 64 105.78us 1652.88ns 40.08us 626.31ns noSupport notSupport 2.96us 46.17ns 37.57us 587.03ns -Gb_setsDs 64 67.06us 1047.88ns 12.30us 192.23ns noSupport notSupport 2.03us 31.77ns 25.38us 396.53ns -Gb_setsDs 64 71.51us 1117.39ns 12.31us 192.39ns noSupport notSupport 2.04us 31.94ns 31.43us 491.06ns -Gb_setsDs 64 68.41us 1068.88ns 12.30us 192.22ns noSupport notSupport 2.04us 31.92ns 91.90us 1435.97ns -Gb_setsDs 64 68.27us 1066.67ns 12.28us 191.92ns noSupport notSupport 2.02us 31.63ns 33.14us 517.84ns -Gb_setsDs 64 67.52us 1054.92ns 12.22us 190.98ns noSupport notSupport 1.98us 31.00ns 28.27us 441.77ns -Gb_setsDs 64 66.77us 1043.20ns 12.15us 189.88ns noSupport notSupport 2.02us 31.63ns 30.57us 477.61ns -Gb_setsDs 64 83.33us 1302.11ns 12.50us 195.36ns noSupport notSupport 2.07us 32.41ns 24.50us 382.75ns -Gb_setsDs 64 67.83us 1059.80ns 12.22us 190.98ns noSupport notSupport 1.99us 31.16ns 34.09us 532.70ns -Gb_setsDs 64 67.36us 1052.42ns 12.13us 189.58ns noSupport notSupport 1.92us 30.06ns 28.09us 438.94ns -Gb_setsDs 64 67.34us 1052.27ns 12.25us 191.45ns noSupport notSupport 2.08us 32.56ns 31.71us 495.45ns -Gb_setsDs 64 66.98us 1046.64ns 12.16us 190.05ns noSupport notSupport 2.08us 32.56ns 57.72us 901.91ns -Gb_setsDs 64 70.44us 1100.64ns 12.27us 191.77ns noSupport notSupport 2.04us 31.94ns 33.15us 518.00ns -Gb_setsDs 64 68.56us 1071.20ns 12.12us 189.42ns noSupport notSupport 2.79us 43.52ns 61.19us 956.16ns -Gb_setsDs 128 178.78us 1396.74ns 30.99us 242.09ns noSupport notSupport 3.67us 28.65ns 48.05us 375.39ns -Gb_setsDs 128 206.82us 1615.82ns 30.84us 240.92ns noSupport notSupport 3.81us 29.74ns 47.43us 370.53ns -Gb_setsDs 128 188.98us 1476.42ns 32.95us 257.44ns noSupport notSupport 3.67us 28.65ns 46.90us 366.38ns -Gb_setsDs 128 221.74us 1732.31ns 30.42us 237.63ns noSupport notSupport 3.60us 28.10ns 46.66us 364.50ns -Gb_setsDs 128 196.19us 1532.70ns 46.47us 363.02ns noSupport notSupport 4.98us 38.90ns 69.39us 542.11ns -Gb_setsDs 128 217.58us 1699.82ns 30.21us 235.98ns noSupport notSupport 3.65us 28.48ns 83.36us 651.22ns -Gb_setsDs 128 156.08us 1219.38ns 29.86us 233.32ns noSupport notSupport 3.53us 27.55ns 46.78us 365.45ns -Gb_setsDs 128 153.38us 1198.24ns 29.96us 234.03ns noSupport notSupport 3.43us 26.77ns 46.42us 362.63ns -Gb_setsDs 128 154.84us 1209.68ns 29.84us 233.09ns noSupport notSupport 3.58us 27.95ns 46.59us 363.96ns -Gb_setsDs 128 157.06us 1227.05ns 29.75us 232.39ns noSupport notSupport 3.54us 27.63ns 46.65us 364.43ns -Gb_setsDs 128 169.24us 1322.16ns 29.77us 232.62ns noSupport notSupport 3.61us 28.18ns 46.33us 361.92ns -Gb_setsDs 128 168.45us 1316.05ns 29.84us 233.09ns noSupport notSupport 3.72us 29.04ns 46.74us 365.13ns -Gb_setsDs 128 152.94us 1194.80ns 56.06us 438.01ns noSupport notSupport 3.55us 27.70ns 47.07us 367.72ns -Gb_setsDs 128 173.03us 1351.82ns 44.11us 344.63ns noSupport notSupport 3.68us 28.73ns 107.98us 843.56ns -Gb_setsDs 128 222.27us 1736.48ns 30.11us 235.20ns noSupport notSupport 3.64us 28.41ns 46.64us 364.35ns -Gb_setsDs 128 155.02us 1211.08ns 29.93us 233.80ns noSupport notSupport 3.56us 27.79ns 46.71us 364.90ns -Gb_setsDs 128 261.66us 2044.23ns 31.04us 242.48ns noSupport notSupport 3.68us 28.73ns 47.86us 373.90ns -Gb_setsDs 128 157.88us 1233.47ns 30.21us 235.99ns noSupport notSupport 3.66us 28.57ns 46.87us 366.15ns -Gb_setsDs 128 234.04us 1828.41ns 30.37us 237.24ns noSupport notSupport 3.62us 28.26ns 46.98us 367.01ns -Gb_setsDs 128 190.34us 1487.07ns 30.06us 234.81ns noSupport notSupport 3.53us 27.55ns 46.53us 363.49ns -Gb_setsDs 128 176.23us 1376.78ns 29.79us 232.70ns noSupport notSupport 3.62us 28.26ns 46.65us 364.43ns -Gb_setsDs 128 173.64us 1356.59ns 46.34us 362.01ns noSupport notSupport 3.57us 27.87ns 46.59us 363.96ns -Gb_setsDs 256 474.54us 1853.68ns 76.03us 297.00ns noSupport notSupport 7.68us 30.02ns 116.83us 456.36ns -Gb_setsDs 256 416.89us 1628.46ns 83.98us 328.03ns noSupport notSupport 7.60us 29.70ns 116.51us 455.11ns -Gb_setsDs 256 403.39us 1575.75ns 83.83us 327.45ns noSupport notSupport 7.49us 29.27ns 116.35us 454.48ns -Gb_setsDs 256 399.71us 1561.39ns 75.35us 294.34ns noSupport notSupport 7.38us 28.84ns 115.55us 451.35ns -Gb_setsDs 256 553.20us 2160.94ns 75.83us 296.21ns noSupport notSupport 7.84us 30.64ns 117.22us 457.88ns -Gb_setsDs 256 400.44us 1564.20ns 59.73us 233.32ns noSupport notSupport 7.34us 28.69ns 132.70us 518.35ns -Gb_setsDs 256 358.11us 1398.86ns 59.03us 230.59ns noSupport notSupport 7.15us 27.94ns 98.34us 384.16ns -Gb_setsDs 256 418.54us 1634.92ns 59.13us 230.98ns noSupport notSupport 7.27us 28.41ns 99.38us 388.18ns -Gb_setsDs 256 353.50us 1380.86ns 59.37us 231.91ns noSupport notSupport 7.19us 28.10ns 98.28us 383.92ns -Gb_setsDs 256 344.93us 1347.39ns 59.11us 230.90ns noSupport notSupport 7.39us 28.88ns 99.07us 387.01ns -Gb_setsDs 256 332.97us 1300.66ns 81.51us 318.41ns noSupport notSupport 7.92us 30.96ns 99.51us 388.70ns -Gb_setsDs 256 330.90us 1292.57ns 59.79us 233.56ns noSupport notSupport 7.20us 28.14ns 107.89us 421.45ns -Gb_setsDs 256 330.83us 1292.29ns 59.50us 232.43ns noSupport notSupport 7.14us 27.91ns 98.03us 382.94ns -Gb_setsDs 256 416.36us 1626.40ns 59.60us 232.82ns noSupport notSupport 7.28us 28.45ns 98.93us 386.46ns -Gb_setsDs 256 357.45us 1396.27ns 59.20us 231.25ns noSupport notSupport 7.19us 28.10ns 99.53us 388.81ns -Gb_setsDs 256 376.37us 1470.21ns 59.96us 234.22ns noSupport notSupport 7.30us 28.53ns 100.83us 393.86ns -Gb_setsDs 256 349.47us 1365.12ns 66.81us 260.96ns noSupport notSupport 7.32us 28.61ns 98.79us 385.91ns -Gb_setsDs 256 332.71us 1299.65ns 59.25us 231.45ns noSupport notSupport 7.09us 27.71ns 143.62us 561.02ns -Gb_setsDs 256 348.62us 1361.80ns 59.31us 231.68ns noSupport notSupport 7.31us 28.57ns 98.10us 383.21ns -Gb_setsDs 256 332.72us 1299.69ns 59.14us 231.02ns noSupport notSupport 7.16us 27.98ns 97.99us 382.79ns -Gb_setsDs 256 360.45us 1408.02ns 59.78us 233.52ns noSupport notSupport 7.31us 28.57ns 98.84us 386.11ns -Gb_setsDs 256 347.33us 1356.75ns 59.22us 231.33ns noSupport notSupport 7.28us 28.45ns 98.80us 385.95ns -Gb_setsDs 516 777.28us 1506.35ns 126.95us 246.02ns noSupport notSupport 13.08us 25.36ns 222.88us 431.93ns -Gb_setsDs 516 931.67us 1805.56ns 126.85us 245.83ns noSupport notSupport 13.61us 26.37ns 227.36us 440.63ns -Gb_setsDs 516 740.39us 1434.86ns 126.50us 245.15ns noSupport notSupport 13.29us 25.77ns 205.22us 397.72ns -Gb_setsDs 516 732.51us 1419.60ns 179.78us 348.40ns noSupport notSupport 18.68us 36.19ns 250.68us 485.81ns -Gb_setsDs 516 798.14us 1546.78ns 126.39us 244.93ns noSupport notSupport 13.23us 25.65ns 229.62us 445.00ns -Gb_setsDs 516 744.94us 1443.68ns 126.25us 244.68ns noSupport notSupport 13.45us 26.06ns 205.24us 397.76ns -Gb_setsDs 516 741.82us 1437.64ns 128.66us 249.34ns noSupport notSupport 13.13us 25.45ns 205.17us 397.62ns -Gb_setsDs 516 753.09us 1459.48ns 127.90us 247.86ns noSupport notSupport 13.20us 25.57ns 236.59us 458.51ns -Gb_setsDs 516 761.40us 1475.58ns 126.33us 244.82ns noSupport notSupport 13.14us 25.47ns 205.65us 398.55ns -Gb_setsDs 516 750.86us 1455.15ns 128.24us 248.53ns noSupport notSupport 13.19us 25.55ns 205.13us 397.54ns -Gb_setsDs 516 741.25us 1436.53ns 127.85us 247.77ns noSupport notSupport 13.18us 25.55ns 224.49us 435.06ns -Gb_setsDs 516 813.95us 1577.42ns 128.35us 248.74ns noSupport notSupport 13.32us 25.82ns 231.19us 448.04ns -Gb_setsDs 516 784.23us 1519.83ns 126.69us 245.52ns noSupport notSupport 13.29us 25.77ns 207.12us 401.39ns -Gb_setsDs 516 912.74us 1768.88ns 143.77us 278.62ns noSupport notSupport 13.53us 26.21ns 224.98us 436.01ns -Gb_setsDs 516 1.22ms 2363.53ns 162.48us 314.89ns noSupport notSupport 14.26us 27.63ns 273.76us 530.54ns -Gb_setsDs 516 895.86us 1736.16ns 144.72us 280.47ns noSupport notSupport 13.52us 26.19ns 294.45us 570.64ns -Gb_setsDs 516 841.40us 1630.61ns 127.41us 246.91ns noSupport notSupport 35.22us 68.25ns 208.01us 403.12ns -Gb_setsDs 516 781.47us 1514.47ns 127.86us 247.79ns noSupport notSupport 13.22us 25.63ns 204.86us 397.02ns -Gb_setsDs 516 757.11us 1467.27ns 127.69us 247.46ns noSupport notSupport 13.28us 25.73ns 215.13us 416.92ns -Gb_setsDs 516 739.98us 1434.07ns 159.44us 308.99ns noSupport notSupport 15.61us 30.25ns 206.50us 400.20ns -Gb_setsDs 516 824.16us 1597.22ns 126.83us 245.79ns noSupport notSupport 13.30us 25.78ns 223.36us 432.86ns -Gb_setsDs 516 741.19us 1436.42ns 125.44us 243.11ns noSupport notSupport 13.45us 26.06ns 225.57us 437.15ns -Gb_setsDs 1024 1.70ms 1662.60ns 283.63us 276.98ns noSupport notSupport 26.50us 25.88ns 447.26us 436.78ns -Gb_setsDs 1024 1.76ms 1718.48ns 266.55us 260.30ns noSupport notSupport 27.11us 26.47ns 458.58us 447.84ns -Gb_setsDs 1024 1.81ms 1764.39ns 287.19us 280.46ns noSupport notSupport 26.73us 26.10ns 437.50us 427.24ns -Gb_setsDs 1024 1.66ms 1622.11ns 262.88us 256.72ns noSupport notSupport 26.85us 26.22ns 453.54us 442.91ns -Gb_setsDs 1024 1.75ms 1705.04ns 264.44us 258.25ns noSupport notSupport 26.53us 25.91ns 479.60us 468.36ns -Gb_setsDs 1024 1.68ms 1637.98ns 288.26us 281.50ns noSupport notSupport 26.78us 26.15ns 439.77us 429.46ns -Gb_setsDs 1024 1.76ms 1721.20ns 262.93us 256.77ns noSupport notSupport 26.92us 26.29ns 467.86us 456.90ns -Gb_setsDs 1024 1.93ms 1880.22ns 328.62us 320.92ns noSupport notSupport 43.10us 42.09ns 539.57us 526.92ns -Gb_setsDs 1024 2.00ms 1952.61ns 443.75us 433.35ns noSupport notSupport 26.47us 25.85ns 467.47us 456.51ns -Gb_setsDs 1024 1.69ms 1653.42ns 263.76us 257.58ns noSupport notSupport 27.05us 26.42ns 492.69us 481.14ns -Gb_setsDs 1024 1.77ms 1729.92ns 425.22us 415.25ns noSupport notSupport 36.37us 35.52ns 687.39us 671.28ns -Gb_setsDs 1024 1.84ms 1796.34ns 323.64us 316.05ns noSupport notSupport 27.02us 26.39ns 473.06us 461.97ns -Gb_setsDs 1024 2.26ms 2207.49ns 265.92us 259.68ns noSupport notSupport 27.12us 26.48ns 495.97us 484.34ns -Gb_setsDs 1024 1.82ms 1779.01ns 262.39us 256.24ns noSupport notSupport 26.17us 25.56ns 526.97us 514.62ns -Gb_setsDs 1024 2.10ms 2049.36ns 262.24us 256.09ns noSupport notSupport 26.82us 26.19ns 487.33us 475.91ns -Gb_setsDs 1024 1.82ms 1777.22ns 263.38us 257.21ns noSupport notSupport 26.60us 25.98ns 494.53us 482.94ns -Gb_setsDs 1024 1.81ms 1771.56ns 264.36us 258.17ns noSupport notSupport 26.12us 25.51ns 473.14us 462.05ns -Gb_setsDs 1024 1.91ms 1869.68ns 433.17us 423.01ns noSupport notSupport 33.58us 32.79ns 787.07us 768.62ns -Gb_setsDs 1024 2.39ms 2333.17ns 387.31us 378.23ns noSupport notSupport 27.58us 26.93ns 535.88us 523.32ns -Gb_setsDs 1024 1.83ms 1790.98ns 301.04us 293.99ns noSupport notSupport 26.41us 25.79ns 435.31us 425.11ns -Gb_setsDs 1024 1.94ms 1896.37ns 283.88us 277.23ns noSupport notSupport 25.93us 25.32ns 436.19us 425.97ns -Gb_setsDs 1024 1.70ms 1660.34ns 263.85us 257.67ns noSupport notSupport 26.70us 26.07ns 456.20us 445.51ns -Gb_setsDs 2048 3.79ms 1849.70ns 680.86us 332.45ns noSupport notSupport 53.76us 26.25ns 946.40us 462.11ns -Gb_setsDs 2048 3.57ms 1741.27ns 588.08us 287.15ns noSupport notSupport 54.77us 26.74ns 924.70us 451.52ns -Gb_setsDs 2048 3.59ms 1755.28ns 585.99us 286.13ns noSupport notSupport 54.71us 26.71ns 949.92us 463.83ns -Gb_setsDs 2048 3.61ms 1764.11ns 595.35us 290.70ns noSupport notSupport 55.59us 27.15ns 980.76us 478.89ns -Gb_setsDs 2048 4.22ms 2061.33ns 583.79us 285.05ns noSupport notSupport 55.64us 27.17ns 957.08us 467.33ns -Gb_setsDs 2048 3.57ms 1742.25ns 595.47us 290.76ns noSupport notSupport 55.04us 26.88ns 939.48us 458.73ns -Gb_setsDs 2048 3.58ms 1746.96ns 567.75us 277.22ns noSupport notSupport 54.83us 26.77ns 1.04ms 507.77ns -Gb_setsDs 2048 3.59ms 1752.46ns 603.41us 294.64ns noSupport notSupport 55.09us 26.90ns 965.83us 471.60ns -Gb_setsDs 2048 3.90ms 1905.79ns 634.50us 309.82ns noSupport notSupport 55.92us 27.31ns 957.69us 467.62ns -Gb_setsDs 2048 3.93ms 1921.30ns 703.89us 343.70ns noSupport notSupport 72.56us 35.43ns 1.11ms 540.71ns -Gb_setsDs 2048 3.94ms 1925.00ns 583.35us 284.84ns noSupport notSupport 55.65us 27.17ns 969.42us 473.35ns -Gb_setsDs 2048 3.89ms 1897.58ns 577.75us 282.10ns noSupport notSupport 55.10us 26.91ns 930.53us 454.36ns -Gb_setsDs 2048 3.70ms 1805.00ns 568.81us 277.74ns noSupport notSupport 69.67us 34.02ns 970.91us 474.08ns -Gb_setsDs 2048 3.58ms 1746.51ns 593.49us 289.79ns noSupport notSupport 56.64us 27.65ns 932.85us 455.49ns -Gb_setsDs 2048 3.59ms 1751.89ns 581.78us 284.07ns noSupport notSupport 78.69us 38.42ns 959.74us 468.62ns -Gb_setsDs 2048 4.17ms 2033.83ns 690.00us 336.91ns noSupport notSupport 81.72us 39.90ns 1.07ms 524.16ns -Gb_setsDs 2048 3.57ms 1743.48ns 593.07us 289.58ns noSupport notSupport 54.98us 26.85ns 924.88us 451.60ns -Gb_setsDs 2048 3.61ms 1761.13ns 569.75us 278.20ns noSupport notSupport 54.12us 26.43ns 974.39us 475.77ns -Gb_setsDs 2048 3.60ms 1756.29ns 578.23us 282.34ns noSupport notSupport 54.77us 26.74ns 925.61us 451.96ns -Gb_setsDs 2048 3.56ms 1736.43ns 572.94us 279.75ns noSupport notSupport 69.36us 33.87ns 929.79us 454.00ns -Gb_setsDs 2048 3.74ms 1823.95ns 593.73us 289.91ns noSupport notSupport 55.80us 27.25ns 1.06ms 515.36ns -Gb_setsDs 2048 4.19ms 2044.76ns 588.57us 287.39ns noSupport notSupport 54.76us 26.74ns 936.09us 457.08ns -Gb_setsDs 4096 8.21ms 2004.58ns 1.21ms 296.05ns noSupport notSupport 104.53us 25.52ns 2.04ms 497.70ns -Gb_setsDs 4096 10.70ms 2611.57ns 1.23ms 299.36ns noSupport notSupport 105.09us 25.66ns 2.25ms 549.67ns -Gb_setsDs 4096 7.83ms 1911.88ns 1.20ms 294.01ns noSupport notSupport 105.43us 25.74ns 2.02ms 493.94ns -Gb_setsDs 4096 8.78ms 2143.65ns 1.22ms 297.87ns noSupport notSupport 122.81us 29.98ns 2.00ms 488.66ns -Gb_setsDs 4096 7.87ms 1920.43ns 1.28ms 311.96ns noSupport notSupport 103.45us 25.26ns 2.00ms 488.57ns -Gb_setsDs 4096 7.81ms 1907.74ns 1.20ms 294.01ns noSupport notSupport 104.44us 25.50ns 3.12ms 762.65ns -Gb_setsDs 4096 10.44ms 2549.92ns 1.24ms 301.99ns noSupport notSupport 124.77us 30.46ns 2.02ms 492.79ns -Gb_setsDs 4096 8.33ms 2034.16ns 1.23ms 300.70ns noSupport notSupport 103.16us 25.19ns 2.29ms 560.20ns -Gb_setsDs 4096 10.26ms 2505.76ns 1.22ms 296.97ns noSupport notSupport 104.13us 25.42ns 1.98ms 483.85ns -Gb_setsDs 4096 8.84ms 2158.78ns 1.20ms 293.89ns noSupport notSupport 127.36us 31.09ns 2.10ms 512.53ns -Gb_setsDs 4096 8.02ms 1958.26ns 1.62ms 395.48ns noSupport notSupport 115.90us 28.29ns 2.08ms 508.54ns -Gb_setsDs 4096 9.86ms 2407.38ns 1.26ms 307.45ns noSupport notSupport 103.81us 25.34ns 1.97ms 481.37ns -Gb_setsDs 4096 8.20ms 2003.06ns 1.25ms 304.93ns noSupport notSupport 105.83us 25.84ns 2.05ms 500.34ns -Gb_setsDs 4096 9.67ms 2361.24ns 1.20ms 292.63ns noSupport notSupport 138.07us 33.71ns 2.31ms 564.52ns -Gb_setsDs 4096 8.06ms 1968.65ns 1.19ms 291.45ns noSupport notSupport 104.17us 25.43ns 1.97ms 480.57ns -Gb_setsDs 4096 8.47ms 2067.03ns 1.19ms 290.33ns noSupport notSupport 104.21us 25.44ns 1.96ms 477.38ns -Gb_setsDs 4096 7.99ms 1949.71ns 1.67ms 408.41ns noSupport notSupport 137.88us 33.66ns 2.22ms 542.03ns -Gb_setsDs 4096 9.04ms 2207.73ns 1.22ms 298.54ns noSupport notSupport 133.03us 32.48ns 2.22ms 541.02ns -Gb_setsDs 4096 8.41ms 2052.50ns 1.21ms 296.45ns noSupport notSupport 103.10us 25.17ns 2.01ms 491.81ns -Gb_setsDs 4096 8.62ms 2105.17ns 1.44ms 351.39ns noSupport notSupport 142.03us 34.68ns 2.42ms 591.04ns -Gb_setsDs 4096 8.42ms 2055.10ns 1.44ms 351.23ns noSupport notSupport 120.08us 29.32ns 1.98ms 482.87ns -Gb_setsDs 4096 8.10ms 1976.68ns 1.25ms 305.12ns noSupport notSupport 103.89us 25.36ns 2.02ms 492.77ns -Gb_setsDs 8192 20.15ms 2459.82ns 2.61ms 318.12ns noSupport notSupport 213.47us 26.06ns 4.54ms 554.46ns -Gb_setsDs 8192 17.88ms 2182.33ns 2.82ms 344.73ns noSupport notSupport 270.89us 33.07ns 6.67ms 813.93ns -Gb_setsDs 8192 18.10ms 2208.91ns 2.68ms 326.60ns noSupport notSupport 218.81us 26.71ns 7.43ms 906.94ns -Gb_setsDs 8192 19.54ms 2385.54ns 2.58ms 314.43ns noSupport notSupport 213.14us 26.02ns 5.14ms 627.56ns -Gb_setsDs 8192 19.86ms 2423.86ns 2.66ms 324.75ns noSupport notSupport 217.41us 26.54ns 6.11ms 745.62ns -Gb_setsDs 8192 18.92ms 2310.02ns 2.76ms 336.91ns noSupport notSupport 237.99us 29.05ns 4.48ms 546.41ns -Gb_setsDs 8192 22.16ms 2704.68ns 2.64ms 322.64ns noSupport notSupport 212.88us 25.99ns 4.49ms 547.63ns -Gb_setsDs 8192 18.12ms 2211.65ns 3.05ms 372.84ns noSupport notSupport 224.73us 27.43ns 5.85ms 714.26ns -Gb_setsDs 8192 18.13ms 2213.38ns 2.63ms 321.47ns noSupport notSupport 216.30us 26.40ns 4.48ms 547.06ns -Gb_setsDs 8192 19.51ms 2381.13ns 2.63ms 321.64ns noSupport notSupport 251.21us 30.67ns 4.60ms 561.06ns -Gb_setsDs 8192 19.58ms 2389.93ns 2.86ms 348.60ns noSupport notSupport 214.26us 26.15ns 5.04ms 615.07ns -Gb_setsDs 8192 17.97ms 2193.91ns 2.59ms 316.05ns noSupport notSupport 214.09us 26.13ns 4.87ms 594.41ns -Gb_setsDs 8192 19.27ms 2352.87ns 2.71ms 330.44ns noSupport notSupport 213.07us 26.01ns 4.59ms 560.08ns -Gb_setsDs 8192 19.90ms 2428.61ns 2.61ms 318.03ns noSupport notSupport 213.91us 26.11ns 4.82ms 588.12ns -Gb_setsDs 8192 21.22ms 2590.07ns 2.59ms 316.67ns noSupport notSupport 219.99us 26.85ns 4.47ms 545.38ns -Gb_setsDs 8192 18.02ms 2199.93ns 3.11ms 380.22ns noSupport notSupport 213.35us 26.04ns 5.48ms 669.10ns -Gb_setsDs 8192 19.08ms 2329.55ns 2.62ms 319.88ns noSupport notSupport 236.75us 28.90ns 5.32ms 649.09ns -Gb_setsDs 8192 19.20ms 2343.43ns 2.62ms 319.37ns noSupport notSupport 215.22us 26.27ns 4.56ms 556.99ns -Gb_setsDs 8192 19.40ms 2368.73ns 2.69ms 328.96ns noSupport notSupport 221.91us 27.09ns 4.63ms 565.05ns -Gb_setsDs 8192 18.43ms 2249.21ns 2.58ms 314.46ns noSupport notSupport 236.23us 28.84ns 5.96ms 728.08ns -Gb_setsDs 8192 20.91ms 2552.49ns 2.67ms 326.40ns noSupport notSupport 216.07us 26.38ns 5.05ms 616.65ns -Gb_setsDs 8192 24.69ms 3014.39ns 2.93ms 357.34ns noSupport notSupport 340.35us 41.55ns 5.26ms 642.41ns -Gb_setsDs 16384 39.86ms 2432.62ns 6.42ms 391.78ns noSupport notSupport 579.19us 35.35ns 9.56ms 583.75ns -Gb_setsDs 16384 37.74ms 2303.45ns 8.02ms 489.26ns noSupport notSupport 450.54us 27.50ns 9.86ms 601.83ns -Gb_setsDs 16384 38.54ms 2352.38ns 5.54ms 338.18ns noSupport notSupport 439.45us 26.82ns 9.25ms 564.52ns -Gb_setsDs 16384 38.97ms 2378.33ns 5.62ms 343.32ns noSupport notSupport 446.98us 27.28ns 9.23ms 563.59ns -Gb_setsDs 16384 39.07ms 2384.88ns 5.47ms 333.99ns noSupport notSupport 432.84us 26.42ns 9.19ms 560.99ns -Gb_setsDs 16384 39.80ms 2429.20ns 5.53ms 337.80ns noSupport notSupport 500.49us 30.55ns 9.62ms 587.10ns -Gb_setsDs 16384 39.25ms 2395.93ns 6.29ms 383.88ns noSupport notSupport 476.98us 29.11ns 9.36ms 571.14ns -Gb_setsDs 16384 40.35ms 2462.47ns 6.29ms 383.66ns noSupport notSupport 1.11ms 67.49ns 10.06ms 614.31ns -Gb_setsDs 16384 41.94ms 2560.01ns 6.04ms 368.54ns noSupport notSupport 434.89us 26.54ns 9.90ms 604.09ns -Gb_setsDs 16384 47.54ms 2901.35ns 6.19ms 377.85ns noSupport notSupport 430.21us 26.26ns 10.13ms 618.44ns -Gb_setsDs 16384 41.10ms 2508.82ns 5.59ms 341.36ns noSupport notSupport 437.31us 26.69ns 9.87ms 602.41ns -Gb_setsDs 16384 41.51ms 2533.75ns 5.61ms 342.46ns noSupport notSupport 458.50us 27.98ns 9.41ms 574.58ns -Gb_setsDs 16384 38.92ms 2375.34ns 5.98ms 365.03ns noSupport notSupport 449.59us 27.44ns 9.35ms 570.80ns -Gb_setsDs 16384 38.62ms 2357.19ns 5.80ms 353.77ns noSupport notSupport 434.27us 26.51ns 9.59ms 585.39ns -Gb_setsDs 16384 39.26ms 2396.54ns 5.54ms 338.17ns noSupport notSupport 447.76us 27.33ns 11.18ms 682.26ns -Gb_setsDs 16384 41.23ms 2516.44ns 5.94ms 362.52ns noSupport notSupport 428.96us 26.18ns 10.19ms 622.04ns -Gb_setsDs 16384 41.58ms 2538.06ns 6.14ms 374.79ns noSupport notSupport 490.08us 29.91ns 10.15ms 619.64ns -Gb_setsDs 16384 45.14ms 2755.28ns 5.94ms 362.66ns noSupport notSupport 434.15us 26.50ns 9.83ms 600.16ns -Gb_setsDs 16384 42.91ms 2618.77ns 6.01ms 366.67ns noSupport notSupport 488.25us 29.80ns 10.62ms 648.27ns -Gb_setsDs 16384 42.02ms 2564.54ns 5.68ms 346.44ns noSupport notSupport 428.43us 26.15ns 10.35ms 631.87ns -Gb_setsDs 16384 39.84ms 2431.68ns 7.37ms 449.54ns noSupport notSupport 461.19us 28.15ns 9.99ms 609.94ns -Gb_setsDs 16384 40.91ms 2496.96ns 5.70ms 347.84ns noSupport notSupport 455.54us 27.80ns 9.90ms 604.06ns -Gb_setsDs 32768 83.67ms 2553.54ns 12.49ms 381.21ns noSupport notSupport 882.08us 26.92ns 19.32ms 589.59ns -Gb_setsDs 32768 84.03ms 2564.30ns 13.03ms 397.60ns noSupport notSupport 887.70us 27.09ns 23.17ms 707.11ns -Gb_setsDs 32768 85.69ms 2615.05ns 13.87ms 423.33ns noSupport notSupport 876.09us 26.74ns 18.80ms 573.83ns -Gb_setsDs 32768 80.98ms 2471.17ns 11.83ms 360.94ns noSupport notSupport 859.15us 26.22ns 18.62ms 568.29ns -Gb_setsDs 32768 81.10ms 2475.00ns 11.64ms 355.10ns noSupport notSupport 865.82us 26.42ns 19.55ms 596.67ns -Gb_setsDs 32768 84.72ms 2585.53ns 12.22ms 372.90ns noSupport notSupport 865.40us 26.41ns 19.62ms 598.77ns -Gb_setsDs 32768 87.65ms 2674.92ns 12.59ms 384.16ns noSupport notSupport 874.49us 26.69ns 19.41ms 592.37ns -Gb_setsDs 32768 85.44ms 2607.56ns 14.28ms 435.93ns noSupport notSupport 958.77us 29.26ns 19.36ms 590.89ns -Gb_setsDs 32768 83.06ms 2534.84ns 12.26ms 374.29ns noSupport notSupport 840.64us 25.65ns 19.03ms 580.77ns -Gb_setsDs 32768 84.17ms 2568.64ns 12.59ms 384.32ns noSupport notSupport 852.12us 26.00ns 19.37ms 591.04ns -Gb_setsDs 32768 83.61ms 2551.64ns 13.14ms 400.96ns noSupport notSupport 856.47us 26.14ns 19.34ms 590.34ns -Gb_setsDs 32768 84.25ms 2571.19ns 11.92ms 363.89ns noSupport notSupport 864.35us 26.38ns 18.88ms 576.05ns -Gb_setsDs 32768 83.93ms 2561.49ns 12.77ms 389.82ns noSupport notSupport 853.55us 26.05ns 19.56ms 597.03ns -Gb_setsDs 32768 85.81ms 2618.61ns 12.04ms 367.44ns noSupport notSupport 855.91us 26.12ns 19.47ms 594.11ns -Gb_setsDs 32768 84.00ms 2563.56ns 13.80ms 421.03ns noSupport notSupport 1.18ms 35.95ns 21.72ms 662.96ns -Gb_setsDs 32768 86.49ms 2639.44ns 11.77ms 359.22ns noSupport notSupport 1.01ms 30.76ns 18.99ms 579.65ns -Gb_setsDs 32768 84.03ms 2564.25ns 12.40ms 378.55ns noSupport notSupport 850.18us 25.95ns 19.25ms 587.41ns -Gb_setsDs 32768 84.31ms 2572.94ns 12.18ms 371.75ns noSupport notSupport 842.03us 25.70ns 18.98ms 579.32ns -Gb_setsDs 32768 82.62ms 2521.27ns 12.38ms 377.83ns noSupport notSupport 923.40us 28.18ns 19.08ms 582.14ns -Gb_setsDs 32768 82.21ms 2508.84ns 12.11ms 369.67ns noSupport notSupport 859.79us 26.24ns 19.55ms 596.47ns -Gb_setsDs 32768 83.88ms 2559.66ns 12.41ms 378.64ns noSupport notSupport 854.87us 26.09ns 18.89ms 576.60ns -Gb_setsDs 32768 83.43ms 2546.22ns 12.11ms 369.50ns noSupport notSupport 860.92us 26.27ns 18.87ms 575.97ns -Gb_setsDs 65536 183.59ms 2801.37ns 25.92ms 395.58ns noSupport notSupport 1.78ms 27.22ns 40.88ms 623.81ns -Gb_setsDs 65536 173.45ms 2646.62ns 25.54ms 389.71ns noSupport notSupport 1.77ms 27.06ns 40.49ms 617.83ns -Gb_setsDs 65536 173.71ms 2650.56ns 26.83ms 409.35ns noSupport notSupport 1.79ms 27.39ns 40.12ms 612.11ns -Gb_setsDs 65536 175.85ms 2683.24ns 26.12ms 398.50ns noSupport notSupport 1.77ms 26.99ns 39.70ms 605.70ns -Gb_setsDs 65536 175.02ms 2670.65ns 29.41ms 448.70ns noSupport notSupport 2.16ms 33.01ns 41.72ms 636.66ns -Gb_setsDs 65536 174.19ms 2657.92ns 25.60ms 390.64ns noSupport notSupport 1.78ms 27.14ns 40.01ms 610.48ns -Gb_setsDs 65536 174.67ms 2665.20ns 25.75ms 392.91ns noSupport notSupport 1.77ms 26.97ns 40.02ms 610.67ns -Gb_setsDs 65536 174.90ms 2668.69ns 25.76ms 393.10ns noSupport notSupport 1.74ms 26.56ns 40.36ms 615.88ns -Gb_setsDs 65536 175.01ms 2670.36ns 25.62ms 390.90ns noSupport notSupport 1.73ms 26.45ns 44.77ms 683.21ns -Gb_setsDs 65536 177.73ms 2711.87ns 25.85ms 394.46ns noSupport notSupport 1.73ms 26.35ns 40.55ms 618.70ns -Gb_setsDs 65536 174.52ms 2663.01ns 30.28ms 462.04ns noSupport notSupport 1.99ms 30.33ns 42.74ms 652.22ns -Gb_setsDs 65536 205.35ms 3133.46ns 27.73ms 423.20ns noSupport notSupport 1.82ms 27.77ns 46.03ms 702.34ns -Gb_setsDs 65536 175.25ms 2674.12ns 25.93ms 395.59ns noSupport notSupport 1.75ms 26.64ns 44.33ms 676.45ns -Gb_setsDs 65536 174.01ms 2655.12ns 25.74ms 392.69ns noSupport notSupport 1.76ms 26.80ns 41.12ms 627.40ns -Gb_setsDs 65536 175.19ms 2673.15ns 26.58ms 405.65ns noSupport notSupport 1.80ms 27.45ns 39.99ms 610.13ns -Gb_setsDs 65536 176.84ms 2698.31ns 26.40ms 402.85ns noSupport notSupport 1.77ms 27.07ns 40.39ms 616.32ns -Gb_setsDs 65536 174.84ms 2667.79ns 25.64ms 391.28ns noSupport notSupport 1.81ms 27.56ns 43.14ms 658.27ns -Gb_setsDs 65536 182.25ms 2780.90ns 25.50ms 389.13ns noSupport notSupport 1.79ms 27.37ns 41.54ms 633.85ns -Gb_setsDs 65536 181.61ms 2771.11ns 25.44ms 388.19ns noSupport notSupport 1.78ms 27.09ns 40.21ms 613.49ns -Gb_setsDs 65536 173.98ms 2654.73ns 25.25ms 385.35ns noSupport notSupport 1.76ms 26.82ns 41.72ms 636.54ns -Gb_setsDs 65536 175.14ms 2672.49ns 26.06ms 397.57ns noSupport notSupport 1.73ms 26.35ns 39.89ms 608.60ns -Gb_setsDs 65536 177.63ms 2710.41ns 25.49ms 388.92ns noSupport notSupport 1.79ms 27.32ns 39.42ms 601.43ns -Gb_setsDs 131072 395.57ms 3017.92ns 54.51ms 415.91ns noSupport notSupport 3.56ms 27.17ns 99.51ms 759.19ns -Gb_setsDs 131072 392.29ms 2992.97ns 54.98ms 419.46ns noSupport notSupport 3.62ms 27.59ns 104.91ms 800.40ns -Gb_setsDs 131072 386.41ms 2948.04ns 56.94ms 434.41ns noSupport notSupport 3.60ms 27.44ns 87.52ms 667.70ns -Gb_setsDs 131072 389.99ms 2975.37ns 55.51ms 423.50ns noSupport notSupport 3.67ms 27.99ns 87.66ms 668.78ns -Gb_setsDs 131072 386.23ms 2946.67ns 55.43ms 422.94ns noSupport notSupport 3.55ms 27.08ns 89.50ms 682.84ns -Gb_setsDs 131072 391.05ms 2983.44ns 56.65ms 432.21ns noSupport notSupport 3.57ms 27.20ns 87.62ms 668.47ns -Gb_setsDs 131072 393.53ms 3002.38ns 55.93ms 426.72ns noSupport notSupport 3.69ms 28.15ns 95.14ms 725.85ns -Gb_setsDs 131072 393.91ms 3005.28ns 55.80ms 425.70ns noSupport notSupport 3.72ms 28.40ns 90.60ms 691.19ns -Gb_setsDs 131072 389.51ms 2971.73ns 57.00ms 434.85ns noSupport notSupport 3.76ms 28.68ns 122.88ms 937.49ns -Gb_setsDs 131072 399.27ms 3046.19ns 56.93ms 434.37ns noSupport notSupport 3.57ms 27.22ns 84.22ms 642.54ns -Gb_setsDs 131072 393.61ms 3002.97ns 55.29ms 421.83ns noSupport notSupport 3.53ms 26.96ns 84.83ms 647.17ns -Gb_setsDs 131072 383.64ms 2926.94ns 55.92ms 426.64ns noSupport notSupport 3.53ms 26.91ns 87.28ms 665.92ns -Gb_setsDs 131072 404.82ms 3088.52ns 54.79ms 418.00ns noSupport notSupport 3.53ms 26.93ns 84.28ms 642.97ns -Gb_setsDs 131072 391.02ms 2983.23ns 56.54ms 431.39ns noSupport notSupport 3.65ms 27.88ns 88.23ms 673.16ns -Gb_setsDs 131072 390.81ms 2981.67ns 56.38ms 430.17ns noSupport notSupport 3.53ms 26.92ns 86.33ms 658.63ns -Gb_setsDs 131072 406.50ms 3101.37ns 56.50ms 431.07ns noSupport notSupport 3.54ms 27.02ns 85.96ms 655.79ns -Gb_setsDs 131072 397.71ms 3034.31ns 55.95ms 426.87ns noSupport notSupport 3.57ms 27.25ns 87.21ms 665.35ns -Gb_setsDs 131072 393.32ms 3000.78ns 57.04ms 435.18ns noSupport notSupport 3.63ms 27.73ns 86.10ms 656.87ns -Gb_setsDs 131072 415.22ms 3167.86ns 57.81ms 441.05ns noSupport notSupport 3.64ms 27.79ns 86.88ms 662.85ns -Gb_setsDs 131072 386.43ms 2948.26ns 56.66ms 432.27ns noSupport notSupport 3.74ms 28.53ns 91.02ms 694.42ns -Gb_setsDs 131072 386.89ms 2951.71ns 55.67ms 424.74ns noSupport notSupport 3.57ms 27.24ns 86.94ms 663.27ns -Gb_setsDs 131072 387.39ms 2955.58ns 55.63ms 424.45ns noSupport notSupport 3.93ms 29.98ns 90.49ms 690.40ns -Gb_setsDs 524288 1.84s 3516.04ns 250.98ms 478.71ns noSupport notSupport 14.60ms 27.84ns 371.33ms 708.26ns -Gb_setsDs 524288 1.81s 3455.21ns 240.42ms 458.57ns noSupport notSupport 14.94ms 28.49ns 372.15ms 709.83ns -Gb_setsDs 524288 1.81s 3450.87ns 244.42ms 466.18ns noSupport notSupport 15.48ms 29.52ns 372.58ms 710.65ns -Gb_setsDs 524288 1.79s 3420.16ns 238.41ms 454.73ns noSupport notSupport 14.37ms 27.40ns 361.63ms 689.75ns -Gb_setsDs 524288 1.78s 3404.46ns 236.78ms 451.62ns noSupport notSupport 14.63ms 27.90ns 364.05ms 694.37ns -Gb_setsDs 524288 1.83s 3486.90ns 242.42ms 462.38ns noSupport notSupport 14.49ms 27.65ns 365.51ms 697.16ns -Gb_setsDs 524288 1.77s 3384.51ns 238.29ms 454.51ns noSupport notSupport 14.67ms 27.99ns 359.48ms 685.65ns -Gb_setsDs 524288 1.79s 3412.72ns 238.51ms 454.92ns noSupport notSupport 14.67ms 27.98ns 366.78ms 699.58ns -Gb_setsDs 524288 1.81s 3461.54ns 256.68ms 489.59ns noSupport notSupport 14.36ms 27.40ns 361.57ms 689.65ns -Gb_setsDs 524288 1.79s 3408.01ns 240.40ms 458.54ns noSupport notSupport 14.50ms 27.65ns 390.45ms 744.72ns -Gb_setsDs 524288 1.80s 3434.64ns 242.60ms 462.72ns noSupport notSupport 14.54ms 27.74ns 365.08ms 696.34ns -Gb_setsDs 524288 1.79s 3414.15ns 239.53ms 456.87ns noSupport notSupport 15.18ms 28.95ns 382.10ms 728.80ns -Gb_setsDs 524288 1.81s 3445.90ns 240.86ms 459.40ns noSupport notSupport 15.55ms 29.67ns 364.34ms 694.93ns -Gb_setsDs 524288 1.79s 3411.49ns 242.50ms 462.53ns noSupport notSupport 14.54ms 27.73ns 365.28ms 696.72ns -Gb_setsDs 524288 1.79s 3420.78ns 237.94ms 453.84ns noSupport notSupport 14.58ms 27.81ns 364.85ms 695.90ns -Gb_setsDs 524288 1.81s 3453.52ns 247.72ms 472.48ns noSupport notSupport 16.21ms 30.92ns 362.33ms 691.09ns -Gb_setsDs 524288 1.82s 3465.25ns 296.10ms 564.76ns noSupport notSupport 14.40ms 27.46ns 378.03ms 721.03ns -Gb_setsDs 524288 1.87s 3562.21ns 243.07ms 463.63ns noSupport notSupport 14.43ms 27.52ns 359.56ms 685.80ns -Gb_setsDs 524288 1.79s 3415.53ns 236.54ms 451.17ns noSupport notSupport 14.58ms 27.80ns 359.61ms 685.91ns -Gb_setsDs 524288 1.82s 3474.19ns 238.02ms 453.98ns noSupport notSupport 14.65ms 27.94ns 364.19ms 694.63ns -Gb_setsDs 524288 1.80s 3433.15ns 236.81ms 451.68ns noSupport notSupport 14.64ms 27.92ns 364.93ms 696.04ns -Gb_setsDs 524288 1.79s 3406.54ns 237.12ms 452.28ns noSupport notSupport 14.42ms 27.51ns 363.19ms 692.73ns -Gb_setsDs 1048576 3.74s 3567.44ns 507.58ms 484.07ns noSupport notSupport 27.47ms 26.20ns 745.00ms 710.48ns -Gb_setsDs 1048576 3.75s 3579.12ns 510.29ms 486.65ns noSupport notSupport 27.60ms 26.32ns 749.01ms 714.31ns -Gb_setsDs 1048576 3.75s 3578.68ns 507.80ms 484.28ns noSupport notSupport 27.28ms 26.02ns 746.13ms 711.57ns -Gb_setsDs 1048576 3.76s 3584.59ns 513.70ms 489.90ns noSupport notSupport 27.06ms 25.81ns 770.35ms 734.66ns -Gb_setsDs 1048576 3.80s 3619.74ns 553.72ms 528.07ns noSupport notSupport 28.57ms 27.25ns 752.03ms 717.19ns -Gb_setsDs 1048576 3.79s 3611.85ns 512.42ms 488.68ns noSupport notSupport 27.35ms 26.08ns 752.94ms 718.06ns -Gb_setsDs 1048576 3.83s 3655.68ns 508.85ms 485.28ns noSupport notSupport 27.29ms 26.03ns 798.20ms 761.23ns -Gb_setsDs 1048576 3.73s 3560.12ns 504.34ms 480.97ns noSupport notSupport 28.71ms 27.38ns 750.85ms 716.06ns -Gb_setsDs 1048576 3.73s 3555.14ns 519.80ms 495.72ns noSupport notSupport 27.28ms 26.02ns 749.97ms 715.22ns -Gb_setsDs 1048576 3.75s 3580.50ns 506.38ms 482.92ns noSupport notSupport 28.53ms 27.21ns 776.24ms 740.28ns -Gb_setsDs 1048576 3.78s 3602.14ns 501.57ms 478.33ns noSupport notSupport 26.89ms 25.64ns 746.67ms 712.08ns -Gb_setsDs 1048576 3.80s 3621.38ns 566.56ms 540.31ns noSupport notSupport 27.37ms 26.11ns 754.73ms 719.77ns -Gb_setsDs 1048576 3.74s 3567.73ns 501.19ms 477.97ns noSupport notSupport 29.19ms 27.84ns 749.30ms 714.59ns -Gb_setsDs 1048576 3.77s 3599.20ns 506.43ms 482.97ns noSupport notSupport 27.06ms 25.81ns 788.59ms 752.06ns -Gb_setsDs 1048576 3.75s 3574.00ns 514.96ms 491.10ns noSupport notSupport 33.15ms 31.62ns 1.15s 1093.67ns -Gb_setsDs 1048576 4.48s 4276.68ns 672.20ms 641.06ns noSupport notSupport 30.03ms 28.64ns 951.84ms 907.74ns -Gb_setsDs 1048576 4.45s 4243.25ns 705.56ms 672.88ns noSupport notSupport 36.45ms 34.76ns 987.48ms 941.74ns -Gb_setsDs 1048576 4.55s 4341.09ns 645.28ms 615.39ns noSupport notSupport 29.21ms 27.85ns 878.41ms 837.71ns -Gb_setsDs 1048576 4.40s 4195.27ns 609.17ms 580.95ns noSupport notSupport 33.50ms 31.95ns 936.53ms 893.15ns -Gb_setsDs 1048576 4.48s 4270.52ns 635.04ms 605.62ns noSupport notSupport 27.80ms 26.51ns 852.13ms 812.65ns -Gb_setsDs 1048576 4.63s 4419.32ns 610.74ms 582.45ns noSupport notSupport 31.31ms 29.86ns 870.95ms 830.60ns -Gb_setsDs 1048576 4.37s 4166.85ns 633.26ms 603.92ns noSupport notSupport 30.95ms 29.52ns 915.68ms 873.26ns - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -OrddictDs 8 4.83us 603.63ns 3.47us 433.25ns 11.27us 1408.88ns 1.17us 146.63ns 3.22us 402.00ns -OrddictDs 8 3.02us 377.00ns 2.33us 291.75ns 6.69us 836.63ns 761ns 95.13ns 2.25us 281.88ns -OrddictDs 8 4.15us 518.50ns 2.46us 308.00ns 7.07us 884.13ns 912ns 114.00ns 3.12us 389.50ns -OrddictDs 8 3.10us 387.00ns 2.31us 289.25ns 8.85us 1105.88ns 711ns 88.88ns 3.11us 388.25ns -OrddictDs 8 3.32us 414.50ns 3.18us 397.00ns 7.25us 906.75ns 631ns 78.88ns 2.90us 363.13ns -OrddictDs 8 2.77us 345.63ns 2.24us 280.50ns 5.31us 663.75ns 541ns 67.63ns 2.10us 263.00ns -OrddictDs 8 2.79us 348.25ns 2.21us 276.75ns 5.48us 685.00ns 541ns 67.63ns 2.10us 263.00ns -OrddictDs 8 3.10us 386.88ns 2.21us 276.88ns 5.80us 725.00ns 611ns 76.38ns 2.23us 278.13ns -OrddictDs 8 2.92us 364.50ns 2.71us 339.38ns 5.93us 741.38ns 621ns 77.63ns 2.15us 269.25ns -OrddictDs 8 3.49us 435.88ns 2.87us 358.13ns 7.87us 983.13ns 1.07us 134.00ns 2.29us 286.75ns -OrddictDs 8 2.91us 363.25ns 2.18us 273.00ns 5.71us 713.75ns 592ns 74.00ns 2.12us 265.50ns -OrddictDs 8 2.73us 340.75ns 2.13us 266.75ns 5.38us 672.50ns 591ns 73.88ns 2.15us 269.25ns -OrddictDs 8 2.87us 358.25ns 2.06us 257.88ns 5.06us 632.50ns 561ns 70.13ns 2.19us 274.25ns -OrddictDs 8 3.61us 450.88ns 2.77us 346.88ns 7.25us 906.75ns 641ns 80.13ns 2.71us 338.13ns -OrddictDs 8 3.10us 387.00ns 2.50us 313.00ns 6.55us 819.00ns 662ns 82.75ns 2.60us 325.50ns -OrddictDs 8 3.17us 395.75ns 2.29us 286.75ns 6.49us 811.50ns 611ns 76.38ns 2.23us 279.25ns -OrddictDs 8 3.10us 386.88ns 2.27us 284.38ns 6.30us 787.63ns 692ns 86.50ns 2.30us 288.00ns -OrddictDs 8 2.90us 362.00ns 2.08us 260.38ns 5.77us 721.38ns 611ns 76.38ns 2.27us 283.13ns -OrddictDs 8 2.94us 366.88ns 2.17us 271.75ns 5.53us 691.38ns 581ns 72.63ns 2.16us 270.50ns -OrddictDs 8 2.56us 320.63ns 2.29us 286.75ns 6.45us 806.50ns 561ns 70.13ns 3.17us 395.75ns -OrddictDs 8 3.33us 415.75ns 3.04us 379.50ns 6.15us 769.00ns 631ns 78.88ns 2.22us 278.00ns -OrddictDs 8 2.81us 350.63ns 2.16us 270.50ns 5.46us 682.50ns 581ns 72.63ns 2.19us 274.25ns -OrddictDs 16 8.70us 543.50ns 5.96us 372.63ns 17.91us 1119.56ns 842ns 52.63ns 8.75us 546.63ns -OrddictDs 16 8.29us 517.88ns 5.92us 370.06ns 16.89us 1055.69ns 802ns 50.13ns 8.44us 527.25ns -OrddictDs 16 8.41us 525.94ns 8.38us 523.50ns 16.34us 1021.25ns 722ns 45.13ns 7.39us 462.06ns -OrddictDs 16 8.53us 532.88ns 5.99us 374.44ns 16.06us 1003.75ns 23.78us 1486.50ns 14.42us 901.06ns -OrddictDs 16 8.61us 537.88ns 5.67us 354.38ns 16.32us 1020.06ns 801ns 50.06ns 11.18us 698.81ns -OrddictDs 16 7.71us 482.19ns 5.83us 364.38ns 15.11us 944.31ns 791ns 49.44ns 8.34us 521.00ns -OrddictDs 16 8.75us 546.63ns 78.20us 4887.56ns 21.48us 1342.50ns 912ns 57.00ns 9.15us 571.69ns -OrddictDs 16 9.30us 581.13ns 6.30us 393.81ns 18.61us 1163.44ns 1.49us 93.31ns 11.60us 725.06ns -OrddictDs 16 9.09us 567.94ns 6.21us 388.19ns 20.08us 1254.88ns 901ns 56.31ns 8.19us 511.56ns -OrddictDs 16 8.49us 530.94ns 4.23us 264.25ns 14.28us 892.31ns 992ns 62.00ns 9.98us 623.63ns -OrddictDs 16 9.32us 582.31ns 5.70us 356.31ns 19.00us 1187.19ns 932ns 58.25ns 92.70us 5793.63ns -OrddictDs 16 8.92us 557.31ns 5.97us 373.19ns 15.94us 996.25ns 831ns 51.94ns 8.43us 526.63ns -OrddictDs 16 7.12us 445.25ns 8.75us 546.63ns 16.10us 1006.25ns 872ns 54.50ns 25.49us 1592.94ns -OrddictDs 16 9.07us 566.63ns 5.66us 353.81ns 15.22us 951.13ns 832ns 52.00ns 8.06us 504.06ns -OrddictDs 16 8.14us 509.06ns 3.75us 234.19ns 12.58us 786.50ns 721ns 45.06ns 7.87us 491.56ns -OrddictDs 16 13.75us 859.13ns 23.65us 1478.38ns 19.20us 1199.75ns 961ns 60.06ns 8.06us 503.50ns -OrddictDs 16 10.63us 664.38ns 5.75us 359.38ns 23.45us 1465.88ns 1.01us 63.25ns 33.07us 2067.00ns -OrddictDs 16 10.14us 633.69ns 29.63us 1851.56ns 60.87us 3804.63ns 1.03us 64.44ns 52.97us 3310.56ns -OrddictDs 16 8.57us 535.38ns 5.60us 350.00ns 14.58us 911.06ns 762ns 47.63ns 5.49us 343.13ns -OrddictDs 16 8.29us 518.44ns 50.25us 3140.69ns 18.19us 1137.13ns 862ns 53.88ns 8.82us 551.00ns -OrddictDs 16 8.46us 528.50ns 5.64us 352.50ns 16.20us 1012.50ns 802ns 50.13ns 7.90us 494.00ns -OrddictDs 16 8.43us 526.63ns 5.75us 359.44ns 14.93us 933.00ns 731ns 45.69ns 7.76us 485.25ns -OrddictDs 32 24.47us 764.56ns 12.03us 376.00ns 40.68us 1271.13ns 1.14us 35.69ns 15.74us 491.84ns -OrddictDs 32 22.61us 706.63ns 11.98us 374.47ns 31.67us 989.66ns 961ns 30.03ns 15.35us 479.66ns -OrddictDs 32 24.68us 771.13ns 20.03us 625.84ns 31.87us 995.94ns 1.02us 31.94ns 21.85us 682.81ns -OrddictDs 32 29.91us 934.56ns 30.36us 948.66ns 90.24us 2819.94ns 1.47us 46.00ns 26.14us 816.84ns -OrddictDs 32 24.05us 751.72ns 19.53us 610.19ns 48.00us 1500.00ns 1.31us 41.00ns 36.22us 1131.81ns -OrddictDs 32 25.77us 805.25ns 21.18us 661.84ns 90.26us 2820.59ns 1.47us 46.00ns 26.91us 840.97ns -OrddictDs 32 82.83us 2588.56ns 18.08us 565.13ns 51.70us 1615.50ns 1.11us 34.75ns 22.58us 705.69ns -OrddictDs 32 23.13us 722.91ns 11.94us 373.19ns 29.84us 932.38ns 951ns 29.72ns 15.09us 471.50ns -OrddictDs 32 125.21us 3912.78ns 23.11us 722.28ns 63.75us 1992.16ns 1.24us 38.81ns 15.17us 474.00ns -OrddictDs 32 16.12us 503.75ns 18.47us 577.31ns 47.10us 1471.81ns 1.20us 37.56ns 23.95us 748.28ns -OrddictDs 32 25.86us 808.06ns 20.84us 651.22ns 46.56us 1454.91ns 1.23us 38.50ns 24.60us 768.63ns -OrddictDs 32 22.63us 707.25ns 68.31us 2134.75ns 33.92us 1060.09ns 1.01us 31.63ns 44.87us 1402.16ns -OrddictDs 32 30.09us 940.19ns 28.63us 894.78ns 73.07us 2283.31ns 1.43us 44.78ns 25.83us 807.13ns -OrddictDs 32 22.71us 709.75ns 26.22us 819.34ns 76.48us 2390.09ns 1.49us 46.66ns 58.46us 1826.81ns -OrddictDs 32 28.06us 876.97ns 27.17us 849.06ns 63.39us 1980.88ns 1.37us 42.91ns 25.18us 786.78ns -OrddictDs 32 29.43us 919.84ns 24.97us 780.19ns 76.23us 2382.09ns 1.87us 58.56ns 31.53us 985.28ns -OrddictDs 32 15.42us 481.81ns 18.59us 581.09ns 56.96us 1779.88ns 1.36us 42.59ns 24.03us 751.06ns -OrddictDs 32 24.21us 756.72ns 21.14us 660.59ns 44.21us 1381.63ns 1.16us 36.34ns 24.29us 758.91ns -OrddictDs 32 19.81us 618.97ns 11.49us 359.13ns 28.37us 886.63ns 962ns 30.06ns 14.98us 468.06ns -OrddictDs 32 27.83us 869.72ns 19.46us 608.03ns 42.45us 1326.53ns 1.16us 36.31ns 15.07us 470.88ns -OrddictDs 32 27.40us 856.28ns 19.91us 622.09ns 31.03us 969.63ns 1.19us 37.25ns 15.33us 479.03ns -OrddictDs 32 50.54us 1579.34ns 27.69us 865.38ns 76.36us 2386.16ns 1.98us 62.00ns 29.91us 934.53ns -OrddictDs 64 109.66us 1713.50ns 39.04us 610.05ns 200.20us 3128.17ns 2.22us 34.75ns 129.32us 2020.64ns -OrddictDs 64 90.78us 1418.42ns 125.65us 1963.34ns 111.59us 1743.56ns 1.66us 25.98ns 56.80us 887.44ns -OrddictDs 64 60.77us 949.58ns 67.36us 1052.44ns 214.15us 3346.08ns 3.88us 60.58ns 168.17us 2627.70ns -OrddictDs 64 92.36us 1443.16ns 92.67us 1448.02ns 255.19us 3987.27ns 3.73us 58.23ns 145.69us 2276.44ns -OrddictDs 64 90.25us 1410.13ns 96.25us 1503.91ns 196.03us 3062.89ns 3.60us 56.20ns 105.60us 1649.94ns -OrddictDs 64 44.98us 702.86ns 35.62us 556.52ns 105.69us 1651.36ns 1.60us 25.05ns 52.64us 822.47ns -OrddictDs 64 44.61us 697.08ns 36.00us 562.45ns 98.57us 1540.22ns 1.67us 26.14ns 52.75us 824.19ns -OrddictDs 64 44.80us 700.05ns 36.08us 563.72ns 119.58us 1868.47ns 1.70us 26.63ns 52.65us 822.63ns -OrddictDs 64 44.16us 690.03ns 46.59us 727.92ns 101.65us 1588.27ns 1.61us 25.20ns 52.40us 818.72ns -OrddictDs 64 57.25us 894.48ns 61.31us 958.03ns 199.01us 3109.55ns 2.52us 39.44ns 148.58us 2321.52ns -OrddictDs 64 98.95us 1546.17ns 77.35us 1208.66ns 91.96us 1436.89ns 1.62us 25.36ns 52.43us 819.19ns -OrddictDs 64 45.26us 707.25ns 36.28us 566.84ns 107.36us 1677.50ns 2.09us 32.70ns 65.70us 1026.61ns -OrddictDs 64 64.74us 1011.58ns 39.98us 624.75ns 93.09us 1454.59ns 1.60us 25.05ns 52.11us 814.17ns -OrddictDs 64 44.20us 690.66ns 36.19us 565.42ns 117.66us 1838.44ns 1.65us 25.83ns 52.69us 823.25ns -OrddictDs 64 45.24us 706.94ns 65.49us 1023.31ns 96.55us 1508.59ns 1.65us 25.83ns 52.82us 825.30ns -OrddictDs 64 44.99us 703.03ns 36.18us 565.28ns 119.53us 1867.69ns 1.75us 27.41ns 53.36us 833.73ns -OrddictDs 64 44.70us 698.48ns 54.26us 847.83ns 89.98us 1405.91ns 1.63us 25.52ns 52.24us 816.20ns -OrddictDs 64 44.35us 693.02ns 35.65us 556.97ns 99.63us 1556.66ns 1.67us 26.14ns 76.14us 1189.72ns -OrddictDs 64 44.64us 697.55ns 35.78us 559.02ns 107.56us 1680.63ns 1.58us 24.73ns 52.40us 818.72ns -OrddictDs 64 45.54us 711.63ns 35.85us 560.11ns 89.37us 1396.36ns 1.63us 25.52ns 52.35us 817.92ns -OrddictDs 64 44.64us 697.55ns 35.83us 559.80ns 100.09us 1563.86ns 2.32us 36.31ns 109.10us 1704.73ns -OrddictDs 64 44.30us 692.23ns 35.74us 558.39ns 88.61us 1384.45ns 1.75us 27.39ns 73.08us 1141.81ns -OrddictDs 128 139.57us 1090.39ns 145.02us 1132.97ns 333.63us 2606.49ns 2.85us 22.23ns 198.40us 1549.99ns -OrddictDs 128 321.01us 2507.92ns 252.70us 1974.22ns 404.38us 3159.25ns 3.87us 30.21ns 210.74us 1646.43ns -OrddictDs 128 160.32us 1252.49ns 146.91us 1147.77ns 308.67us 2411.45ns 2.99us 23.33ns 204.42us 1597.03ns -OrddictDs 128 178.34us 1393.30ns 130.92us 1022.84ns 333.85us 2608.22ns 2.94us 23.01ns 188.40us 1471.88ns -OrddictDs 128 152.06us 1187.99ns 130.80us 1021.91ns 747.90us 5842.99ns 17.26us 134.87ns 620.42us 4847.07ns -OrddictDs 128 349.13us 2727.58ns 477.97us 3734.15ns 748.90us 5850.82ns 4.39us 34.28ns 240.14us 1876.08ns -OrddictDs 128 175.13us 1368.17ns 153.48us 1199.03ns 374.61us 2926.63ns 6.54us 51.11ns 573.91us 4483.66ns -OrddictDs 128 380.53us 2972.88ns 303.89us 2374.11ns 361.14us 2821.43ns 3.10us 24.26ns 189.16us 1477.84ns -OrddictDs 128 140.73us 1099.47ns 138.34us 1080.77ns 306.20us 2392.20ns 2.82us 21.99ns 207.23us 1618.95ns -OrddictDs 128 139.03us 1086.16ns 152.78us 1193.55ns 336.28us 2627.16ns 2.88us 22.47ns 197.09us 1539.74ns -OrddictDs 128 180.10us 1407.07ns 169.92us 1327.48ns 322.79us 2521.80ns 2.89us 22.55ns 188.50us 1472.66ns -OrddictDs 128 139.39us 1088.98ns 130.91us 1022.77ns 304.89us 2381.94ns 2.71us 21.13ns 273.32us 2135.30ns -OrddictDs 128 139.51us 1089.92ns 147.94us 1155.75ns 346.31us 2705.59ns 2.96us 23.16ns 188.75us 1474.63ns -OrddictDs 128 156.07us 1219.30ns 239.56us 1871.53ns 332.41us 2596.95ns 2.95us 23.02ns 270.49us 2113.23ns -OrddictDs 128 210.46us 1644.23ns 134.40us 1050.01ns 337.27us 2634.91ns 2.98us 23.32ns 216.51us 1691.52ns -OrddictDs 128 189.40us 1479.71ns 392.21us 3064.14ns 530.35us 4143.34ns 3.17us 24.73ns 199.95us 1562.13ns -OrddictDs 128 170.57us 1332.56ns 153.80us 1201.54ns 338.94us 2647.98ns 2.98us 23.25ns 207.34us 1619.81ns -OrddictDs 128 145.35us 1135.55ns 132.12us 1032.16ns 326.32us 2549.36ns 3.10us 24.19ns 189.08us 1477.20ns -OrddictDs 128 147.93us 1155.67ns 157.38us 1229.55ns 307.06us 2398.92ns 2.86us 22.30ns 199.90us 1561.74ns -OrddictDs 128 163.75us 1279.34ns 131.98us 1031.06ns 304.48us 2378.73ns 2.75us 21.45ns 206.75us 1615.20ns -OrddictDs 128 141.27us 1103.70ns 132.90us 1038.26ns 303.39us 2370.20ns 2.77us 21.68ns 236.03us 1843.98ns -OrddictDs 128 142.41us 1112.54ns 132.33us 1033.80ns 329.23us 2572.14ns 2.94us 22.93ns 188.09us 1469.46ns -OrddictDs 256 1.26ms 4902.88ns 2.62ms 10240.64ns 2.75ms 10756.96ns 5.85us 22.86ns 737.33us 2880.21ns -OrddictDs 256 540.00us 2109.36ns 689.42us 2693.04ns 1.33ms 5201.49ns 5.65us 22.07ns 1.10ms 4305.62ns -OrddictDs 256 848.96us 3316.26ns 1.15ms 4483.70ns 2.23ms 8700.68ns 5.93us 23.17ns 837.96us 3273.29ns -OrddictDs 256 896.50us 3501.95ns 895.01us 3496.12ns 1.21ms 4714.61ns 5.48us 21.41ns 730.84us 2854.85ns -OrddictDs 256 524.08us 2047.17ns 526.68us 2057.35ns 1.96ms 7673.07ns 5.81us 22.70ns 758.43us 2962.63ns -OrddictDs 256 545.15us 2129.49ns 552.87us 2159.65ns 1.49ms 5818.45ns 11.88us 46.41ns 1.92ms 7502.93ns -OrddictDs 256 1.05ms 4102.88ns 1.50ms 5870.59ns 2.94ms 11487.26ns 10.76us 42.03ns 1.91ms 7479.32ns -OrddictDs 256 1.17ms 4587.69ns 942.97us 3683.46ns 2.08ms 8117.62ns 9.54us 37.26ns 2.05ms 8021.35ns -OrddictDs 256 1.05ms 4102.64ns 591.31us 2309.81ns 1.41ms 5490.54ns 5.89us 23.01ns 776.80us 3034.36ns -OrddictDs 256 525.86us 2054.14ns 521.49us 2037.08ns 1.20ms 4692.65ns 5.81us 22.70ns 959.31us 3747.30ns -OrddictDs 256 948.78us 3706.17ns 544.35us 2126.35ns 2.90ms 11329.93ns 6.63us 25.91ns 1.21ms 4721.06ns -OrddictDs 256 1.19ms 4654.98ns 613.69us 2397.24ns 1.86ms 7284.90ns 29.12us 113.77ns 1.20ms 4692.84ns -OrddictDs 256 692.75us 2706.04ns 525.46us 2052.57ns 1.31ms 5123.98ns 5.45us 21.29ns 741.03us 2894.65ns -OrddictDs 256 554.26us 2165.09ns 967.96us 3781.09ns 2.02ms 7885.71ns 23.38us 91.34ns 1.66ms 6499.65ns -OrddictDs 256 748.51us 2923.89ns 672.42us 2626.65ns 1.70ms 6639.20ns 6.13us 23.95ns 855.85us 3343.14ns -OrddictDs 256 734.60us 2869.54ns 542.19us 2117.93ns 1.36ms 5317.41ns 5.91us 23.09ns 874.07us 3414.34ns -OrddictDs 256 758.04us 2961.08ns 508.26us 1985.38ns 1.18ms 4617.47ns 5.22us 20.39ns 748.32us 2923.14ns -OrddictDs 256 509.95us 1991.99ns 515.38us 2013.20ns 1.26ms 4919.09ns 5.15us 20.12ns 769.18us 3004.62ns -OrddictDs 256 531.95us 2077.93ns 534.68us 2088.58ns 1.31ms 5111.05ns 5.28us 20.63ns 749.87us 2929.17ns -OrddictDs 256 500.87us 1956.54ns 594.55us 2322.45ns 1.26ms 4930.83ns 5.29us 20.66ns 727.81us 2842.99ns -OrddictDs 256 524.98us 2050.70ns 552.08us 2156.56ns 1.20ms 4678.21ns 6.42us 25.09ns 739.52us 2888.74ns -OrddictDs 256 537.16us 2098.29ns 500.13us 1953.64ns 1.23ms 4809.63ns 5.14us 20.07ns 729.43us 2849.33ns -OrddictDs 516 1.84ms 3562.26ns 2.44ms 4726.34ns 7.67ms 14864.98ns 11.37us 22.04ns 3.02ms 5844.42ns -OrddictDs 516 4.49ms 8701.68ns 5.91ms 11445.97ns 4.87ms 9447.64ns 10.21us 19.78ns 3.01ms 5832.16ns -OrddictDs 516 1.86ms 3598.16ns 2.81ms 5446.64ns 6.94ms 13456.70ns 11.08us 21.47ns 5.50ms 10667.20ns -OrddictDs 516 1.93ms 3741.68ns 2.08ms 4038.77ns 5.17ms 10023.04ns 10.32us 20.00ns 3.02ms 5852.90ns -OrddictDs 516 1.83ms 3537.58ns 4.37ms 8473.72ns 8.94ms 17318.27ns 10.69us 20.72ns 5.31ms 10299.00ns -OrddictDs 516 3.63ms 7031.59ns 2.24ms 4347.46ns 5.20ms 10085.34ns 10.36us 20.08ns 3.08ms 5976.39ns -OrddictDs 516 2.08ms 4034.66ns 2.05ms 3970.23ns 4.92ms 9532.48ns 10.10us 19.57ns 3.40ms 6597.72ns -OrddictDs 516 1.90ms 3689.82ns 2.14ms 4140.10ns 10.38ms 20116.80ns 32.69us 63.35ns 5.94ms 11503.00ns -OrddictDs 516 2.25ms 4366.52ns 2.12ms 4106.43ns 4.86ms 9412.44ns 10.08us 19.53ns 3.44ms 6658.18ns -OrddictDs 516 1.81ms 3504.13ns 2.26ms 4385.95ns 5.25ms 10182.86ns 10.15us 19.67ns 3.00ms 5813.99ns -OrddictDs 516 1.87ms 3615.63ns 2.35ms 4559.95ns 12.46ms 24147.94ns 18.57us 36.00ns 5.62ms 10894.79ns -OrddictDs 516 1.93ms 3743.62ns 2.02ms 3918.60ns 5.05ms 9777.30ns 10.19us 19.75ns 3.35ms 6493.89ns -OrddictDs 516 2.00ms 3875.71ns 2.06ms 3994.19ns 5.00ms 9680.33ns 10.41us 20.17ns 3.25ms 6301.29ns -OrddictDs 516 2.03ms 3931.06ns 2.72ms 5276.52ns 12.02ms 23286.09ns 23.39us 45.34ns 9.17ms 17762.47ns -OrddictDs 516 4.20ms 8143.91ns 3.18ms 6156.97ns 5.72ms 11078.80ns 10.75us 20.83ns 3.35ms 6488.21ns -OrddictDs 516 2.24ms 4336.10ns 2.17ms 4213.90ns 4.94ms 9581.03ns 10.51us 20.37ns 4.26ms 8259.53ns -OrddictDs 516 1.89ms 3661.40ns 2.05ms 3970.67ns 5.95ms 11522.74ns 10.19us 19.75ns 3.29ms 6370.21ns -OrddictDs 516 3.30ms 6401.45ns 2.07ms 4018.30ns 4.83ms 9369.92ns 10.01us 19.40ns 3.06ms 5938.23ns -OrddictDs 516 2.07ms 4007.40ns 2.09ms 4045.12ns 4.83ms 9369.88ns 10.41us 20.17ns 3.01ms 5830.75ns -OrddictDs 516 2.95ms 5720.38ns 2.11ms 4095.38ns 7.93ms 15377.76ns 10.91us 21.14ns 3.02ms 5855.82ns -OrddictDs 516 2.06ms 3989.12ns 2.05ms 3963.39ns 5.00ms 9697.52ns 11.09us 21.49ns 3.08ms 5966.81ns -OrddictDs 516 1.81ms 3501.00ns 2.06ms 3985.37ns 7.12ms 13796.23ns 10.11us 19.59ns 3.10ms 6015.12ns -OrddictDs 1024 10.00ms 9765.02ns 12.98ms 12676.60ns 19.33ms 18877.00ns 19.68us 19.22ns 12.70ms 12403.57ns -OrddictDs 1024 10.91ms 10658.04ns 10.83ms 10579.71ns 26.02ms 25406.41ns 19.71us 19.25ns 12.13ms 11847.65ns -OrddictDs 1024 7.75ms 7569.49ns 8.05ms 7862.71ns 19.91ms 19439.62ns 20.27us 19.79ns 12.48ms 12189.59ns -OrddictDs 1024 7.43ms 7255.70ns 8.08ms 7886.77ns 23.30ms 22754.32ns 19.67us 19.21ns 12.89ms 12588.18ns -OrddictDs 1024 7.10ms 6933.29ns 8.73ms 8521.39ns 23.29ms 22740.37ns 19.57us 19.11ns 12.39ms 12098.84ns -OrddictDs 1024 8.58ms 8377.76ns 9.87ms 9637.74ns 24.46ms 23883.01ns 19.28us 18.82ns 18.57ms 18134.56ns -OrddictDs 1024 7.02ms 6852.23ns 14.36ms 14028.23ns 20.84ms 20352.75ns 19.60us 19.14ns 17.55ms 17140.43ns -OrddictDs 1024 10.95ms 10689.82ns 8.55ms 8346.30ns 24.54ms 23968.18ns 19.83us 19.36ns 23.61ms 23058.42ns -OrddictDs 1024 8.17ms 7983.01ns 11.18ms 10921.93ns 30.03ms 29328.10ns 19.83us 19.36ns 13.66ms 13344.37ns -OrddictDs 1024 8.34ms 8145.14ns 10.92ms 10666.87ns 20.71ms 20225.03ns 93.46us 91.27ns 17.73ms 17311.89ns -OrddictDs 1024 8.74ms 8536.97ns 10.06ms 9820.46ns 28.97ms 28290.08ns 88.22us 86.15ns 18.39ms 17961.89ns -OrddictDs 1024 7.19ms 7025.82ns 8.15ms 7958.17ns 22.79ms 22257.27ns 20.65us 20.16ns 12.28ms 11989.89ns -OrddictDs 1024 7.80ms 7616.50ns 8.13ms 7941.87ns 21.82ms 21309.14ns 39.54us 38.62ns 15.22ms 14865.30ns -OrddictDs 1024 7.17ms 6997.85ns 8.42ms 8226.72ns 26.87ms 26239.04ns 19.99us 19.52ns 16.56ms 16172.56ns -OrddictDs 1024 7.03ms 6866.35ns 8.27ms 8080.26ns 21.35ms 20851.61ns 19.98us 19.51ns 12.51ms 12216.73ns -OrddictDs 1024 7.12ms 6956.29ns 12.05ms 11772.10ns 22.18ms 21663.64ns 19.59us 19.13ns 13.64ms 13320.72ns -OrddictDs 1024 7.57ms 7389.01ns 11.95ms 11670.12ns 25.85ms 25245.50ns 19.74us 19.27ns 19.10ms 18650.71ns -OrddictDs 1024 7.35ms 7173.13ns 8.21ms 8020.34ns 33.10ms 32328.34ns 19.82us 19.35ns 17.21ms 16808.09ns -OrddictDs 1024 7.81ms 7623.20ns 8.00ms 7808.76ns 22.45ms 21924.05ns 41.88us 40.90ns 12.92ms 12613.06ns -OrddictDs 1024 12.28ms 11995.98ns 14.34ms 14008.22ns 22.12ms 21604.52ns 19.46us 19.00ns 15.02ms 14669.94ns -OrddictDs 1024 7.72ms 7540.13ns 12.14ms 11857.19ns 24.25ms 23685.45ns 20.03us 19.56ns 12.16ms 11875.87ns -OrddictDs 1024 12.93ms 12627.90ns 12.18ms 11897.15ns 22.97ms 22430.53ns 19.69us 19.23ns 19.75ms 19285.03ns -OrddictDs 2048 36.41ms 17778.72ns 33.10ms 16163.18ns 79.74ms 38935.76ns 37.26us 18.19ns 56.53ms 27602.49ns -OrddictDs 2048 28.99ms 14157.19ns 38.26ms 18682.82ns 104.09ms 50825.57ns 37.74us 18.43ns 54.27ms 26498.56ns -OrddictDs 2048 34.35ms 16770.31ns 37.57ms 18345.46ns 78.07ms 38118.91ns 56.94us 27.80ns 48.41ms 23638.27ns -OrddictDs 2048 29.60ms 14453.00ns 45.00ms 21971.59ns 77.57ms 37877.68ns 37.08us 18.10ns 58.87ms 28743.92ns -OrddictDs 2048 31.32ms 15292.85ns 34.52ms 16855.81ns 98.87ms 48277.58ns 51.67us 25.23ns 57.19ms 27922.44ns -OrddictDs 2048 45.16ms 22052.35ns 42.11ms 20562.73ns 82.24ms 40156.30ns 37.44us 18.28ns 47.70ms 23292.37ns -OrddictDs 2048 33.09ms 16157.09ns 40.29ms 19671.67ns 93.75ms 45774.70ns 78.63us 38.39ns 70.41ms 34378.98ns -OrddictDs 2048 41.80ms 20411.58ns 45.98ms 22452.04ns 98.90ms 48289.98ns 37.61us 18.36ns 63.68ms 31092.31ns -OrddictDs 2048 39.83ms 19449.11ns 42.77ms 20883.71ns 102.11ms 49856.39ns 37.74us 18.43ns 59.42ms 29012.34ns -OrddictDs 2048 35.99ms 17571.94ns 38.69ms 18890.95ns 94.62ms 46199.17ns 221.74us 108.27ns 61.22ms 29891.04ns -OrddictDs 2048 41.74ms 20378.47ns 47.02ms 22959.61ns 93.17ms 45490.98ns 37.45us 18.29ns 61.27ms 29914.95ns -OrddictDs 2048 40.55ms 19801.06ns 47.80ms 23339.88ns 98.04ms 47870.31ns 38.93us 19.01ns 71.22ms 34776.41ns -OrddictDs 2048 54.94ms 26824.84ns 55.09ms 26899.17ns 92.94ms 45381.85ns 37.49us 18.31ns 51.79ms 25287.79ns -OrddictDs 2048 29.25ms 14283.34ns 35.77ms 17464.21ns 92.86ms 45343.65ns 37.73us 18.42ns 64.25ms 31372.28ns -OrddictDs 2048 28.12ms 13729.84ns 34.93ms 17057.53ns 89.38ms 43641.32ns 170.87us 83.43ns 61.67ms 30110.59ns -OrddictDs 2048 45.01ms 21979.15ns 50.26ms 24543.43ns 95.87ms 46810.99ns 77.99us 38.08ns 65.06ms 31765.37ns -OrddictDs 2048 40.66ms 19852.84ns 43.75ms 21361.93ns 95.90ms 46825.83ns 38.13us 18.62ns 59.92ms 29259.74ns -OrddictDs 2048 40.28ms 19670.11ns 41.98ms 20496.16ns 93.72ms 45762.75ns 77.78us 37.98ns 61.34ms 29948.90ns -OrddictDs 2048 39.42ms 19249.88ns 45.98ms 22449.25ns 97.62ms 47665.30ns 84.67us 41.34ns 61.55ms 30055.06ns -OrddictDs 2048 31.90ms 15578.42ns 36.44ms 17791.13ns 81.51ms 39797.36ns 37.67us 18.39ns 58.79ms 28705.42ns -OrddictDs 2048 29.34ms 14324.68ns 49.01ms 23932.45ns 86.58ms 42274.40ns 37.40us 18.26ns 67.46ms 32938.60ns -OrddictDs 2048 35.85ms 17504.70ns 51.62ms 25205.63ns 99.70ms 48683.50ns 47.37us 23.13ns 72.55ms 35425.56ns -OrddictDs 4096 150.81ms 36819.23ns 178.82ms 43657.29ns 412.11ms 100612.44ns 74.42us 18.17ns 290.16ms 70840.98ns -OrddictDs 4096 135.65ms 33117.23ns 163.53ms 39923.19ns 351.66ms 85855.13ns 73.36us 17.91ns 231.10ms 56421.39ns -OrddictDs 4096 140.01ms 34182.78ns 173.82ms 42437.64ns 362.38ms 88472.61ns 126.39us 30.86ns 220.52ms 53837.22ns -OrddictDs 4096 132.31ms 32303.42ns 187.50ms 45777.16ns 393.43ms 96051.78ns 87.08us 21.26ns 236.29ms 57688.38ns -OrddictDs 4096 144.85ms 35364.37ns 177.43ms 43318.88ns 375.78ms 91743.93ns 162.98us 39.79ns 243.81ms 59523.52ns -OrddictDs 4096 130.99ms 31979.78ns 160.38ms 39156.23ns 400.37ms 97747.79ns 73.37us 17.91ns 226.45ms 55284.79ns -OrddictDs 4096 142.83ms 34871.31ns 152.28ms 37178.74ns 381.13ms 93048.94ns 73.90us 18.04ns 260.10ms 63501.14ns -OrddictDs 4096 140.51ms 34304.90ns 182.95ms 44666.21ns 390.04ms 95223.77ns 74.29us 18.14ns 237.55ms 57994.65ns -OrddictDs 4096 126.04ms 30772.69ns 174.79ms 42673.68ns 399.90ms 97632.41ns 92.55us 22.60ns 267.85ms 65392.85ns -OrddictDs 4096 143.29ms 34982.32ns 151.66ms 37025.99ns 346.70ms 84643.35ns 73.64us 17.98ns 383.63ms 93658.91ns -OrddictDs 4096 190.32ms 46465.74ns 135.95ms 33189.86ns 314.95ms 76892.54ns 116.29us 28.39ns 219.80ms 53663.16ns -OrddictDs 4096 120.05ms 29309.30ns 142.26ms 34730.40ns 308.30ms 75269.29ns 73.56us 17.96ns 210.29ms 51340.04ns -OrddictDs 4096 121.00ms 29540.09ns 135.07ms 32976.86ns 313.82ms 76616.51ns 73.95us 18.05ns 192.75ms 47059.03ns -OrddictDs 4096 112.25ms 27404.52ns 131.24ms 32041.22ns 323.66ms 79018.62ns 97.22us 23.74ns 198.81ms 48536.66ns -OrddictDs 4096 116.89ms 28536.77ns 133.95ms 32701.84ns 309.36ms 75526.58ns 72.99us 17.82ns 228.47ms 55777.68ns -OrddictDs 4096 120.33ms 29378.10ns 138.54ms 33823.99ns 307.23ms 75006.51ns 73.28us 17.89ns 191.32ms 46708.63ns -OrddictDs 4096 118.39ms 28904.62ns 135.17ms 33000.42ns 303.89ms 74192.49ns 93.01us 22.71ns 192.71ms 47048.37ns -OrddictDs 4096 112.43ms 27448.38ns 131.49ms 32102.10ns 308.33ms 75275.79ns 73.05us 17.83ns 192.17ms 46915.84ns -OrddictDs 4096 112.98ms 27583.66ns 130.67ms 31900.75ns 314.36ms 76748.85ns 74.70us 18.24ns 196.73ms 48029.04ns -OrddictDs 4096 112.60ms 27489.62ns 130.96ms 31972.09ns 301.63ms 73640.50ns 73.81us 18.02ns 195.13ms 47638.02ns -OrddictDs 4096 116.10ms 28344.24ns 135.51ms 33084.17ns 305.15ms 74500.36ns 73.69us 17.99ns 191.79ms 46824.46ns -OrddictDs 4096 111.67ms 27262.22ns 133.72ms 32646.89ns 310.08ms 75702.30ns 73.00us 17.82ns 191.45ms 46740.95ns -OrddictDs 8192 440.41ms 53761.28ns 536.08ms 65439.34ns 1.26s 153860.04ns 158.00us 19.29ns 785.11ms 95838.94ns -OrddictDs 8192 439.98ms 53708.37ns 534.33ms 65225.55ns 1.24s 151401.21ns 149.03us 18.19ns 775.11ms 94617.39ns -OrddictDs 8192 440.27ms 53743.30ns 575.62ms 70266.15ns 1.27s 154593.77ns 149.13us 18.20ns 781.72ms 95424.26ns -OrddictDs 8192 445.63ms 54398.55ns 536.03ms 65433.73ns 1.27s 154947.20ns 149.33us 18.23ns 792.08ms 96689.01ns -OrddictDs 8192 450.75ms 55023.20ns 529.99ms 64695.85ns 1.25s 152639.65ns 174.92us 21.35ns 813.66ms 99323.24ns -OrddictDs 8192 446.97ms 54561.21ns 551.09ms 67271.31ns 1.26s 153460.13ns 150.60us 18.38ns 846.09ms 103281.95ns -OrddictDs 8192 449.12ms 54824.44ns 532.10ms 64953.03ns 1.24s 151528.46ns 148.92us 18.18ns 776.73ms 94815.86ns -OrddictDs 8192 446.77ms 54536.77ns 532.88ms 65048.74ns 1.25s 153011.09ns 174.69us 21.32ns 779.64ms 95170.80ns -OrddictDs 8192 444.60ms 54272.68ns 594.87ms 72615.49ns 1.24s 151702.92ns 149.21us 18.21ns 786.82ms 96047.17ns -OrddictDs 8192 442.39ms 54002.24ns 547.13ms 66788.05ns 1.30s 158637.92ns 149.38us 18.23ns 775.82ms 94705.06ns -OrddictDs 8192 446.70ms 54528.94ns 529.97ms 64693.15ns 1.34s 163741.09ns 149.74us 18.28ns 774.75ms 94574.23ns -OrddictDs 8192 485.41ms 59254.67ns 568.18ms 69357.39ns 1.25s 152432.99ns 149.44us 18.24ns 784.25ms 95733.34ns -OrddictDs 8192 452.31ms 55213.60ns 572.49ms 69883.83ns 1.32s 161398.55ns 176.38us 21.53ns 773.14ms 94376.98ns -OrddictDs 8192 460.22ms 56179.14ns 537.57ms 65621.91ns 1.24s 151146.95ns 149.60us 18.26ns 806.74ms 98478.74ns -OrddictDs 8192 451.62ms 55129.47ns 531.79ms 64916.34ns 1.23s 150345.61ns 149.26us 18.22ns 791.09ms 96568.57ns -OrddictDs 8192 468.09ms 57139.98ns 529.30ms 64611.81ns 1.25s 152368.77ns 151.12us 18.45ns 860.31ms 105018.25ns -OrddictDs 8192 441.91ms 53943.52ns 524.96ms 64081.59ns 1.28s 155816.27ns 148.80us 18.16ns 773.10ms 94372.78ns -OrddictDs 8192 460.38ms 56198.97ns 524.77ms 64059.39ns 1.24s 151646.83ns 165.62us 20.22ns 772.51ms 94301.06ns -OrddictDs 8192 457.71ms 55872.86ns 557.42ms 68044.36ns 1.24s 151146.52ns 149.88us 18.30ns 783.55ms 95648.66ns -OrddictDs 8192 443.47ms 54134.69ns 530.21ms 64723.46ns 1.23s 150715.86ns 176.66us 21.56ns 838.94ms 102410.27ns -OrddictDs 8192 453.80ms 55394.97ns 664.24ms 81083.43ns 1.35s 165142.20ns 149.61us 18.26ns 768.33ms 93790.40ns -OrddictDs 8192 446.16ms 54462.59ns 527.56ms 64399.78ns 1.24s 151529.18ns 151.33us 18.47ns 777.46ms 94904.70ns -OrddictDs 16384 1.79s 109199.10ns 2.12s 129128.22ns 5.12s 312207.76ns 335.97us 20.51ns 3.22s 196744.29ns -OrddictDs 16384 1.78s 108396.32ns 2.17s 132608.68ns 5.01s 305707.83ns 338.54us 20.66ns 3.31s 202197.73ns -OrddictDs 16384 1.78s 108933.91ns 2.20s 134171.46ns 5.06s 309015.92ns 304.43us 18.58ns 3.20s 195270.12ns -OrddictDs 16384 1.80s 109604.85ns 2.19s 133842.64ns 5.22s 318881.32ns 304.93us 18.61ns 3.40s 207759.03ns -OrddictDs 16384 1.78s 108904.49ns 2.10s 128290.87ns 5.06s 309049.02ns 314.66us 19.21ns 3.24s 197716.68ns -OrddictDs 16384 1.92s 116892.18ns 2.16s 131559.47ns 5.52s 337091.05ns 646.88us 39.48ns 3.23s 197304.34ns -OrddictDs 16384 1.81s 110603.04ns 2.11s 128540.49ns 5.02s 306164.01ns 299.86us 18.30ns 3.24s 198002.74ns -OrddictDs 16384 1.78s 108387.24ns 2.13s 129953.67ns 4.99s 304501.44ns 323.53us 19.75ns 3.18s 193895.50ns -OrddictDs 16384 1.83s 111933.43ns 2.13s 130159.03ns 5.02s 306552.59ns 320.78us 19.58ns 3.27s 199552.16ns -OrddictDs 16384 1.81s 110671.38ns 2.34s 142573.66ns 5.35s 326536.76ns 357.31us 21.81ns 3.26s 198977.59ns -OrddictDs 16384 1.79s 109181.76ns 2.13s 130301.73ns 5.25s 320633.34ns 335.88us 20.50ns 3.35s 204596.73ns -OrddictDs 16384 1.85s 113200.46ns 2.12s 129417.39ns 5.36s 327371.49ns 487.42us 29.75ns 3.67s 223849.24ns -OrddictDs 16384 1.78s 108432.26ns 2.13s 129920.23ns 5.18s 316280.89ns 318.25us 19.42ns 3.21s 195796.02ns -OrddictDs 16384 1.85s 112764.50ns 2.18s 132852.02ns 5.31s 323956.77ns 468.89us 28.62ns 3.57s 217742.51ns -OrddictDs 16384 1.86s 113824.74ns 2.20s 134095.75ns 5.22s 318454.26ns 300.42us 18.34ns 3.21s 196158.59ns -OrddictDs 16384 1.77s 108135.75ns 2.19s 133481.72ns 5.05s 308463.55ns 301.14us 18.38ns 3.20s 195299.42ns -OrddictDs 16384 1.91s 116510.29ns 2.20s 134354.74ns 5.20s 317160.81ns 323.15us 19.72ns 3.24s 197792.51ns -OrddictDs 16384 1.91s 116854.55ns 2.28s 139293.86ns 5.03s 306873.32ns 308.44us 18.83ns 3.18s 194364.65ns -OrddictDs 16384 1.79s 109541.28ns 2.14s 130556.85ns 5.26s 320992.27ns 327.59us 19.99ns 3.23s 196992.29ns -OrddictDs 16384 1.79s 109071.13ns 2.25s 137370.91ns 5.03s 306953.27ns 301.03us 18.37ns 3.29s 200874.17ns -OrddictDs 16384 1.90s 116147.93ns 2.11s 128962.59ns 5.05s 308490.40ns 325.31us 19.86ns 3.26s 199202.71ns -OrddictDs 16384 1.86s 113228.93ns 2.25s 137324.15ns 5.32s 324514.45ns 348.66us 21.28ns 3.27s 199530.62ns -OrddictDs 32768 7.57s 231101.06ns 9.37s 285824.24ns 21.43s 654116.88ns 593.94us 18.13ns 13.50s 412121.68ns -OrddictDs 32768 7.59s 231577.56ns 9.49s 289553.28ns 21.63s 660003.39ns 848.78us 25.90ns 13.34s 407087.58ns -OrddictDs 32768 7.41s 226054.97ns 9.35s 285407.70ns 21.96s 670086.59ns 602.08us 18.37ns 13.24s 404036.84ns -OrddictDs 32768 7.45s 227225.19ns 9.37s 286046.43ns 21.05s 642446.25ns 594.92us 18.16ns 12.99s 396423.07ns -OrddictDs 32768 7.30s 222752.69ns 9.11s 277933.02ns 21.18s 646304.30ns 573.76us 17.51ns 13.26s 404531.57ns -OrddictDs 32768 7.45s 227494.87ns 9.13s 278633.59ns 21.74s 663382.34ns 589.97us 18.00ns 13.11s 400096.09ns -OrddictDs 32768 7.35s 224325.95ns 9.42s 287324.01ns 21.72s 662718.83ns 603.39us 18.41ns 13.07s 398916.62ns -OrddictDs 32768 7.43s 226666.77ns 9.23s 281721.87ns 21.57s 658174.63ns 1.22ms 37.34ns 13.18s 402303.24ns -OrddictDs 32768 7.44s 226955.32ns 9.34s 284922.53ns 21.75s 663827.25ns 660.67us 20.16ns 13.78s 420554.78ns -OrddictDs 32768 7.42s 226537.43ns 9.51s 290236.92ns 21.31s 650226.66ns 607.33us 18.53ns 13.34s 407173.86ns -OrddictDs 32768 7.40s 225754.08ns 9.13s 278592.90ns 21.66s 660925.27ns 620.02us 18.92ns 13.12s 400503.44ns -OrddictDs 32768 7.46s 227807.09ns 9.05s 276183.57ns 21.51s 656457.20ns 608.18us 18.56ns 13.23s 403795.68ns -OrddictDs 32768 7.51s 229292.57ns 9.38s 286402.64ns 21.20s 646992.82ns 599.10us 18.28ns 13.18s 402261.45ns -OrddictDs 32768 7.50s 228999.44ns 9.20s 280630.14ns 21.88s 667796.22ns 595.69us 18.18ns 13.29s 405677.08ns -OrddictDs 32768 7.47s 227889.64ns 9.28s 283107.50ns 21.69s 661850.45ns 624.07us 19.05ns 13.32s 406540.89ns -OrddictDs 32768 7.61s 232224.49ns 9.15s 279263.35ns 21.40s 653191.25ns 789.15us 24.08ns 13.43s 409904.65ns -OrddictDs 32768 7.56s 230605.74ns 9.34s 285103.38ns 21.75s 663774.95ns 630.63us 19.25ns 13.25s 404208.52ns -OrddictDs 32768 7.74s 236093.57ns 9.68s 295392.34ns 21.78s 664575.67ns 591.30us 18.05ns 13.36s 407719.65ns -OrddictDs 32768 7.36s 224466.09ns 9.26s 282680.58ns 21.86s 667005.46ns 840.52us 25.65ns 13.44s 410073.18ns -OrddictDs 32768 7.90s 241090.16ns 9.32s 284434.42ns 21.71s 662643.58ns 591.44us 18.05ns 13.24s 404184.59ns -OrddictDs 32768 7.53s 229831.80ns 9.29s 283616.53ns 21.61s 659519.24ns 685.82us 20.93ns 13.58s 414547.02ns -OrddictDs 32768 7.47s 227954.03ns 9.37s 285830.16ns 22.03s 672323.97ns 616.04us 18.80ns 13.93s 424983.84ns -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 65536 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip skip skip skip skip skip - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -OrdsetsDs 8 3.20us 399.50ns 1.87us 234.13ns noSupport notSupport 962ns 120.25ns 1.58us 197.88ns -OrdsetsDs 8 2.48us 310.63ns 2.63us 328.13ns noSupport notSupport 581ns 72.63ns 1.83us 229.25ns -OrdsetsDs 8 2.05us 256.75ns 1.45us 181.50ns noSupport notSupport 501ns 62.63ns 1.40us 175.25ns -OrdsetsDs 8 1.85us 231.63ns 1.34us 167.88ns noSupport notSupport 561ns 70.13ns 1.43us 179.13ns -OrdsetsDs 8 1.60us 200.38ns 1.36us 170.38ns noSupport notSupport 481ns 60.13ns 2.03us 254.25ns -OrdsetsDs 8 1.95us 244.25ns 1.35us 169.13ns noSupport notSupport 541ns 67.63ns 1.35us 169.00ns -OrdsetsDs 8 2.32us 290.50ns 1.88us 235.50ns noSupport notSupport 581ns 72.63ns 1.81us 226.63ns -OrdsetsDs 8 1.71us 214.13ns 1.28us 160.38ns noSupport notSupport 491ns 61.38ns 1.35us 169.00ns -OrdsetsDs 8 1.62us 203.00ns 1.31us 164.00ns noSupport notSupport 491ns 61.38ns 1.30us 162.88ns -OrdsetsDs 8 2.17us 271.75ns 1.81us 226.63ns noSupport notSupport 591ns 73.88ns 1.71us 214.25ns -OrdsetsDs 8 1.93us 241.63ns 1.30us 162.88ns noSupport notSupport 631ns 78.88ns 1.37us 171.63ns -OrdsetsDs 8 2.28us 285.50ns 1.80us 225.50ns noSupport notSupport 2.79us 348.13ns 2.40us 300.50ns -OrdsetsDs 8 1.86us 233.00ns 1.34us 167.75ns noSupport notSupport 501ns 62.63ns 1.32us 165.38ns -OrdsetsDs 8 1.81us 226.63ns 1.33us 166.63ns noSupport notSupport 491ns 61.38ns 1.31us 164.13ns -OrdsetsDs 8 1.65us 206.63ns 1.26us 157.88ns noSupport notSupport 501ns 62.63ns 1.36us 170.25ns -OrdsetsDs 8 2.07us 259.25ns 1.66us 207.88ns noSupport notSupport 561ns 70.13ns 1.56us 195.38ns -OrdsetsDs 8 1.68us 210.38ns 1.28us 160.38ns noSupport notSupport 521ns 65.13ns 1.31us 164.00ns -OrdsetsDs 8 2.31us 288.13ns 1.85us 231.63ns noSupport notSupport 601ns 75.13ns 1.43us 179.13ns -OrdsetsDs 8 1.69us 211.63ns 1.22us 152.75ns noSupport notSupport 481ns 60.13ns 1.30us 162.75ns -OrdsetsDs 8 1.70us 213.00ns 1.22us 152.75ns noSupport notSupport 481ns 60.13ns 1.34us 167.75ns -OrdsetsDs 8 2.23us 279.25ns 1.40us 175.25ns noSupport notSupport 500ns 62.50ns 1.34us 167.88ns -OrdsetsDs 8 2.15us 269.25ns 1.82us 228.00ns noSupport notSupport 591ns 73.88ns 1.71us 214.13ns -OrdsetsDs 16 4.27us 266.75ns 4.91us 306.81ns noSupport notSupport 881ns 55.06ns 7.43us 464.63ns -OrdsetsDs 16 4.60us 287.44ns 4.86us 303.69ns noSupport notSupport 962ns 60.13ns 7.06us 441.44ns -OrdsetsDs 16 4.01us 250.44ns 4.72us 294.94ns noSupport notSupport 702ns 43.88ns 7.29us 455.81ns -OrdsetsDs 16 4.05us 253.00ns 4.73us 295.50ns noSupport notSupport 961ns 60.06ns 6.68us 417.69ns -OrdsetsDs 16 3.92us 244.81ns 4.98us 311.19ns noSupport notSupport 772ns 48.25ns 6.17us 385.69ns -OrdsetsDs 16 4.01us 250.44ns 4.67us 291.81ns noSupport notSupport 791ns 49.44ns 7.02us 439.00ns -OrdsetsDs 16 5.10us 318.69ns 5.96us 372.63ns noSupport notSupport 781ns 48.81ns 10.57us 660.63ns -OrdsetsDs 16 3.14us 196.00ns 3.19us 199.13ns noSupport notSupport 621ns 38.81ns 6.29us 393.25ns -OrdsetsDs 16 3.85us 240.44ns 3.85us 240.44ns noSupport notSupport 581ns 36.31ns 5.49us 343.19ns -OrdsetsDs 16 3.13us 195.38ns 3.18us 198.50ns noSupport notSupport 582ns 36.38ns 5.96us 372.56ns -OrdsetsDs 16 2.98us 186.56ns 3.19us 199.13ns noSupport notSupport 631ns 39.44ns 5.45us 340.63ns -OrdsetsDs 16 4.05us 252.94ns 4.86us 303.75ns noSupport notSupport 621ns 38.81ns 7.86us 490.94ns -OrdsetsDs 16 3.90us 243.56ns 4.73us 295.56ns noSupport notSupport 932ns 58.25ns 8.06us 504.06ns -OrdsetsDs 16 3.96us 247.31ns 4.72us 294.94ns noSupport notSupport 702ns 43.88ns 7.08us 442.69ns -OrdsetsDs 16 4.89us 305.56ns 5.85us 365.69ns noSupport notSupport 711ns 44.44ns 6.49us 405.75ns -OrdsetsDs 16 3.23us 201.63ns 3.17us 197.88ns noSupport notSupport 601ns 37.56ns 6.09us 380.69ns -OrdsetsDs 16 4.48us 279.94ns 4.68us 292.44ns noSupport notSupport 771ns 48.19ns 8.09us 505.31ns -OrdsetsDs 16 2.97us 185.38ns 3.22us 201.00ns noSupport notSupport 671ns 41.94ns 5.19us 324.38ns -OrdsetsDs 16 2.90us 180.94ns 3.17us 197.88ns noSupport notSupport 621ns 38.81ns 5.19us 324.38ns -OrdsetsDs 16 2.88us 180.31ns 3.18us 198.50ns noSupport notSupport 612ns 38.25ns 5.37us 335.63ns -OrdsetsDs 16 2.98us 186.56ns 3.13us 195.38ns noSupport notSupport 592ns 37.00ns 4.89us 305.56ns -OrdsetsDs 16 3.21us 200.38ns 3.20us 199.75ns noSupport notSupport 581ns 36.31ns 6.22us 388.88ns -OrdsetsDs 32 10.71us 334.69ns 10.20us 318.72ns noSupport notSupport 791ns 24.72ns 11.82us 369.47ns -OrdsetsDs 32 13.75us 429.56ns 12.12us 378.84ns noSupport notSupport 821ns 25.66ns 11.44us 357.56ns -OrdsetsDs 32 14.26us 445.53ns 10.92us 341.25ns noSupport notSupport 831ns 25.97ns 11.16us 348.78ns -OrdsetsDs 32 8.93us 278.94ns 9.60us 299.94ns noSupport notSupport 772ns 24.13ns 10.95us 342.19ns -OrdsetsDs 32 13.19us 412.03ns 14.82us 463.06ns noSupport notSupport 852ns 26.63ns 10.87us 339.69ns -OrdsetsDs 32 13.48us 421.13ns 9.90us 309.31ns noSupport notSupport 802ns 25.06ns 10.98us 343.13ns -OrdsetsDs 32 9.47us 295.88ns 9.71us 303.38ns noSupport notSupport 792ns 24.75ns 11.01us 344.06ns -OrdsetsDs 32 13.29us 415.16ns 15.19us 474.66ns noSupport notSupport 791ns 24.72ns 11.02us 344.41ns -OrdsetsDs 32 13.47us 421.09ns 10.36us 323.72ns noSupport notSupport 791ns 24.72ns 10.90us 340.63ns -OrdsetsDs 32 9.22us 288.06ns 9.61us 300.25ns noSupport notSupport 791ns 24.72ns 10.80us 337.50ns -OrdsetsDs 32 8.72us 272.38ns 9.62us 300.56ns noSupport notSupport 772ns 24.13ns 10.65us 332.78ns -OrdsetsDs 32 9.40us 293.66ns 9.60us 299.94ns noSupport notSupport 802ns 25.06ns 10.91us 340.94ns -OrdsetsDs 32 8.67us 270.81ns 9.52us 297.44ns noSupport notSupport 751ns 23.47ns 10.81us 337.81ns -OrdsetsDs 32 10.49us 327.81ns 9.74us 304.31ns noSupport notSupport 812ns 25.38ns 10.88us 340.00ns -OrdsetsDs 32 9.23us 288.34ns 9.67us 302.13ns noSupport notSupport 812ns 25.38ns 11.06us 345.63ns -OrdsetsDs 32 9.78us 305.56ns 9.58us 299.31ns noSupport notSupport 802ns 25.06ns 10.86us 339.38ns -OrdsetsDs 32 8.68us 271.13ns 9.46us 295.56ns noSupport notSupport 801ns 25.03ns 10.70us 334.38ns -OrdsetsDs 32 8.97us 280.22ns 9.64us 301.19ns noSupport notSupport 782ns 24.44ns 10.92us 341.25ns -OrdsetsDs 32 10.50us 328.13ns 9.65us 301.50ns noSupport notSupport 802ns 25.06ns 10.88us 340.00ns -OrdsetsDs 32 16.07us 502.19ns 18.08us 565.09ns noSupport notSupport 1.21us 37.88ns 15.23us 475.88ns -OrdsetsDs 32 10.35us 323.41ns 10.98us 343.16ns noSupport notSupport 1.01us 31.63ns 44.03us 1376.00ns -OrdsetsDs 32 14.12us 441.13ns 15.16us 473.72ns noSupport notSupport 841ns 26.28ns 11.48us 358.81ns -OrdsetsDs 64 27.68us 432.53ns 30.18us 471.50ns noSupport notSupport 1.20us 18.80ns 38.91us 608.00ns -OrdsetsDs 64 26.16us 408.73ns 30.29us 473.23ns noSupport notSupport 1.11us 17.38ns 96.14us 1502.22ns -OrdsetsDs 64 27.55us 430.50ns 30.74us 480.27ns noSupport notSupport 1.22us 19.11ns 38.91us 608.00ns -OrdsetsDs 64 26.43us 412.97ns 30.55us 477.30ns noSupport notSupport 1.16us 18.16ns 48.41us 756.41ns -OrdsetsDs 64 26.45us 413.28ns 30.42us 475.25ns noSupport notSupport 1.20us 18.78ns 37.90us 592.20ns -OrdsetsDs 64 25.47us 397.92ns 30.45us 475.73ns noSupport notSupport 1.17us 18.31ns 49.47us 773.02ns -OrdsetsDs 64 36.87us 576.08ns 30.61us 478.23ns noSupport notSupport 1.23us 19.27ns 37.61us 587.66ns -OrdsetsDs 64 25.49us 398.23ns 30.52us 476.83ns noSupport notSupport 1.11us 17.38ns 37.62us 587.83ns -OrdsetsDs 64 35.48us 554.31ns 37.85us 591.42ns noSupport notSupport 1.23us 19.25ns 40.17us 627.73ns -OrdsetsDs 64 27.53us 430.19ns 30.15us 471.03ns noSupport notSupport 1.16us 18.16ns 72.93us 1139.59ns -OrdsetsDs 64 57.61us 900.11ns 31.24us 488.09ns noSupport notSupport 1.28us 20.03ns 38.18us 596.58ns -OrdsetsDs 64 27.32us 426.89ns 30.66us 479.02ns noSupport notSupport 1.17us 18.31ns 51.79us 809.16ns -OrdsetsDs 64 25.92us 404.98ns 30.83us 481.67ns noSupport notSupport 1.17us 18.33ns 37.43us 584.83ns -OrdsetsDs 64 38.80us 606.28ns 30.87us 482.31ns noSupport notSupport 1.23us 19.25ns 42.43us 662.95ns -OrdsetsDs 64 26.05us 407.02ns 30.43us 475.42ns noSupport notSupport 1.18us 18.47ns 37.62us 587.81ns -OrdsetsDs 64 25.92us 404.98ns 30.35us 474.16ns noSupport notSupport 1.17us 18.33ns 37.60us 587.50ns -OrdsetsDs 64 25.37us 396.36ns 30.21us 471.98ns noSupport notSupport 1.15us 18.00ns 37.18us 580.92ns -OrdsetsDs 64 45.38us 709.08ns 30.97us 483.88ns noSupport notSupport 1.22us 19.11ns 47.24us 738.09ns -OrdsetsDs 64 26.01us 406.39ns 30.63us 478.55ns noSupport notSupport 1.18us 18.48ns 37.70us 589.06ns -OrdsetsDs 64 25.35us 396.05ns 30.14us 470.89ns noSupport notSupport 1.15us 18.00ns 37.08us 579.36ns -OrdsetsDs 64 25.32us 395.59ns 30.01us 468.84ns noSupport notSupport 1.20us 18.78ns 37.20us 581.23ns -OrdsetsDs 64 25.70us 401.53ns 30.30us 473.38ns noSupport notSupport 1.16us 18.17ns 37.45us 585.14ns -OrdsetsDs 128 78.13us 610.36ns 128.52us 1004.06ns noSupport notSupport 2.00us 15.66ns 118.29us 924.15ns -OrdsetsDs 128 96.05us 750.38ns 115.87us 905.20ns noSupport notSupport 2.04us 15.96ns 116.21us 907.87ns -OrdsetsDs 128 76.32us 596.27ns 105.95us 827.71ns noSupport notSupport 1.98us 15.49ns 114.92us 897.85ns -OrdsetsDs 128 85.18us 665.46ns 117.98us 921.72ns noSupport notSupport 1.94us 15.19ns 116.75us 912.09ns -OrdsetsDs 128 78.10us 610.13ns 107.89us 842.90ns noSupport notSupport 1.98us 15.50ns 137.85us 1076.93ns -OrdsetsDs 128 76.34us 596.42ns 152.04us 1187.84ns noSupport notSupport 2.04us 15.97ns 116.05us 906.61ns -OrdsetsDs 128 75.94us 593.29ns 117.54us 918.28ns noSupport notSupport 2.12us 16.59ns 115.55us 902.70ns -OrdsetsDs 128 76.47us 597.45ns 117.49us 917.88ns noSupport notSupport 1.96us 15.34ns 115.54us 902.63ns -OrdsetsDs 128 115.23us 900.27ns 105.99us 828.03ns noSupport notSupport 2.06us 16.13ns 115.08us 899.10ns -OrdsetsDs 128 77.12us 602.53ns 108.37us 846.66ns noSupport notSupport 1.98us 15.50ns 116.60us 910.91ns -OrdsetsDs 128 95.87us 748.98ns 111.90us 874.21ns noSupport notSupport 1.99us 15.58ns 288.08us 2250.61ns -OrdsetsDs 128 171.98us 1343.56ns 205.77us 1607.61ns noSupport notSupport 2.88us 22.47ns 214.88us 1678.76ns -OrdsetsDs 128 129.25us 1009.77ns 210.37us 1643.53ns noSupport notSupport 2.69us 21.05ns 211.15us 1649.64ns -OrdsetsDs 128 127.97us 999.76ns 234.82us 1834.52ns noSupport notSupport 2.83us 22.07ns 214.21us 1673.52ns -OrdsetsDs 128 128.20us 1001.55ns 211.27us 1650.58ns noSupport notSupport 2.63us 20.59ns 211.69us 1653.87ns -OrdsetsDs 128 137.11us 1071.14ns 128.89us 1006.95ns noSupport notSupport 2.11us 16.52ns 138.51us 1082.09ns -OrdsetsDs 128 97.10us 758.60ns 139.51us 1089.93ns noSupport notSupport 2.06us 16.13ns 150.82us 1178.29ns -OrdsetsDs 128 97.04us 758.13ns 123.94us 968.29ns noSupport notSupport 2.04us 15.96ns 143.24us 1119.05ns -OrdsetsDs 128 183.75us 1435.57ns 170.25us 1330.06ns noSupport notSupport 2.14us 16.75ns 135.21us 1056.35ns -OrdsetsDs 128 107.96us 843.45ns 123.72us 966.57ns noSupport notSupport 2.11us 16.52ns 134.17us 1048.21ns -OrdsetsDs 128 95.29us 744.44ns 122.55us 957.41ns noSupport notSupport 2.00us 15.66ns 166.96us 1304.39ns -OrdsetsDs 128 95.73us 747.88ns 122.96us 960.63ns noSupport notSupport 2.07us 16.20ns 134.14us 1047.98ns -OrdsetsDs 256 313.50us 1224.59ns 514.27us 2008.86ns noSupport notSupport 3.74us 14.60ns 472.07us 1844.02ns -OrdsetsDs 256 294.23us 1149.33ns 417.86us 1632.27ns noSupport notSupport 3.76us 14.68ns 396.79us 1549.96ns -OrdsetsDs 256 287.67us 1123.70ns 404.90us 1581.63ns noSupport notSupport 3.61us 14.09ns 454.84us 1776.71ns -OrdsetsDs 256 263.73us 1030.20ns 407.10us 1590.23ns noSupport notSupport 3.69us 14.40ns 471.09us 1840.19ns -OrdsetsDs 256 253.33us 989.58ns 439.76us 1717.81ns noSupport notSupport 3.87us 15.11ns 524.71us 2049.64ns -OrdsetsDs 256 423.60us 1654.69ns 414.81us 1620.37ns noSupport notSupport 3.70us 14.44ns 494.72us 1932.51ns -OrdsetsDs 256 275.18us 1074.93ns 423.07us 1652.62ns noSupport notSupport 3.63us 14.17ns 425.80us 1663.30ns -OrdsetsDs 256 251.59us 982.77ns 441.92us 1726.27ns noSupport notSupport 3.78us 14.75ns 412.77us 1612.39ns -OrdsetsDs 256 247.76us 967.82ns 437.93us 1710.65ns noSupport notSupport 3.81us 14.87ns 402.14us 1570.86ns -OrdsetsDs 256 455.40us 1778.91ns 424.72us 1659.07ns noSupport notSupport 3.86us 15.07ns 395.31us 1544.17ns -OrdsetsDs 256 399.16us 1559.21ns 430.03us 1679.82ns noSupport notSupport 3.78us 14.75ns 397.93us 1554.43ns -OrdsetsDs 256 331.29us 1294.11ns 461.27us 1801.84ns noSupport notSupport 3.69us 14.40ns 429.62us 1678.21ns -OrdsetsDs 256 261.98us 1023.35ns 401.61us 1568.79ns noSupport notSupport 3.63us 14.17ns 410.68us 1604.20ns -OrdsetsDs 256 264.74us 1034.16ns 401.32us 1567.65ns noSupport notSupport 3.63us 14.17ns 419.10us 1637.12ns -OrdsetsDs 256 252.22us 985.23ns 417.27us 1629.96ns noSupport notSupport 3.67us 14.32ns 395.12us 1543.43ns -OrdsetsDs 256 271.72us 1061.39ns 429.28us 1676.88ns noSupport notSupport 3.76us 14.68ns 399.65us 1561.12ns -OrdsetsDs 256 266.01us 1039.09ns 400.45us 1564.25ns noSupport notSupport 3.63us 14.16ns 463.80us 1811.70ns -OrdsetsDs 256 274.38us 1071.80ns 431.63us 1686.07ns noSupport notSupport 3.74us 14.60ns 416.03us 1625.11ns -OrdsetsDs 256 247.36us 966.25ns 411.68us 1608.12ns noSupport notSupport 3.75us 14.64ns 441.66us 1725.25ns -OrdsetsDs 256 251.50us 982.42ns 457.94us 1788.81ns noSupport notSupport 12.06us 47.12ns 511.77us 1999.12ns -OrdsetsDs 256 311.25us 1215.82ns 534.24us 2086.86ns noSupport notSupport 4.00us 15.61ns 503.05us 1965.04ns -OrdsetsDs 256 335.15us 1309.20ns 499.25us 1950.20ns noSupport notSupport 3.90us 15.22ns 534.76us 2088.90ns -OrdsetsDs 516 1.19ms 2301.53ns 1.80ms 3491.68ns noSupport notSupport 7.44us 14.42ns 1.55ms 3007.57ns -OrdsetsDs 516 981.47us 1902.08ns 1.66ms 3219.44ns noSupport notSupport 7.03us 13.63ns 1.51ms 2934.43ns -OrdsetsDs 516 950.82us 1842.68ns 1.62ms 3136.34ns noSupport notSupport 7.00us 13.57ns 1.61ms 3123.91ns -OrdsetsDs 516 988.63us 1915.96ns 1.64ms 3174.51ns noSupport notSupport 7.18us 13.92ns 1.55ms 3008.08ns -OrdsetsDs 516 979.54us 1898.33ns 1.62ms 3139.58ns noSupport notSupport 7.30us 14.15ns 1.54ms 2981.15ns -OrdsetsDs 516 958.73us 1858.00ns 1.80ms 3493.94ns noSupport notSupport 7.06us 13.69ns 1.62ms 3139.34ns -OrdsetsDs 516 1.03ms 1987.60ns 1.71ms 3305.82ns noSupport notSupport 7.63us 14.79ns 1.85ms 3587.08ns -OrdsetsDs 516 1.19ms 2310.45ns 1.78ms 3444.51ns noSupport notSupport 7.59us 14.72ns 1.59ms 3081.58ns -OrdsetsDs 516 1.06ms 2062.71ns 1.62ms 3136.01ns noSupport notSupport 7.15us 13.86ns 1.54ms 2987.14ns -OrdsetsDs 516 1.00ms 1946.11ns 1.69ms 3266.98ns noSupport notSupport 7.05us 13.67ns 1.56ms 3024.52ns -OrdsetsDs 516 956.70us 1854.06ns 1.63ms 3165.67ns noSupport notSupport 28.25us 54.75ns 1.57ms 3039.33ns -OrdsetsDs 516 967.17us 1874.37ns 1.63ms 3166.55ns noSupport notSupport 7.46us 14.46ns 1.66ms 3216.06ns -OrdsetsDs 516 967.67us 1875.34ns 1.62ms 3143.06ns noSupport notSupport 6.95us 13.47ns 1.67ms 3243.49ns -OrdsetsDs 516 1.04ms 2018.46ns 1.69ms 3277.90ns noSupport notSupport 7.71us 14.93ns 1.74ms 3375.81ns -OrdsetsDs 516 1.13ms 2195.20ns 2.15ms 4158.94ns noSupport notSupport 12.67us 24.56ns 1.79ms 3460.35ns -OrdsetsDs 516 1.32ms 2559.99ns 1.64ms 3181.83ns noSupport notSupport 7.46us 14.47ns 1.63ms 3160.86ns -OrdsetsDs 516 940.40us 1822.49ns 1.73ms 3349.43ns noSupport notSupport 7.75us 15.01ns 1.54ms 2992.13ns -OrdsetsDs 516 1.01ms 1956.95ns 1.62ms 3145.29ns noSupport notSupport 7.20us 13.96ns 1.56ms 3022.25ns -OrdsetsDs 516 1.02ms 1967.84ns 1.62ms 3140.03ns noSupport notSupport 7.05us 13.67ns 1.55ms 3012.44ns -OrdsetsDs 516 967.87us 1875.71ns 1.63ms 3166.55ns noSupport notSupport 7.39us 14.33ns 1.61ms 3112.30ns -OrdsetsDs 516 942.18us 1825.94ns 1.75ms 3392.34ns noSupport notSupport 7.60us 14.74ns 1.80ms 3492.70ns -OrdsetsDs 516 1.21ms 2341.41ns 1.96ms 3800.11ns noSupport notSupport 7.76us 15.05ns 1.57ms 3049.35ns -OrdsetsDs 1024 3.39ms 3312.40ns 6.41ms 6263.25ns noSupport notSupport 14.34us 14.00ns 6.57ms 6415.41ns -OrdsetsDs 1024 3.52ms 3441.27ns 7.16ms 6987.39ns noSupport notSupport 14.83us 14.48ns 6.29ms 6147.25ns -OrdsetsDs 1024 3.41ms 3331.38ns 6.58ms 6429.58ns noSupport notSupport 14.34us 14.00ns 6.32ms 6171.31ns -OrdsetsDs 1024 3.68ms 3597.71ns 7.08ms 6912.46ns noSupport notSupport 15.17us 14.81ns 6.72ms 6561.53ns -OrdsetsDs 1024 4.07ms 3976.66ns 6.48ms 6330.55ns noSupport notSupport 14.57us 14.23ns 6.18ms 6031.44ns -OrdsetsDs 1024 4.32ms 4215.74ns 6.52ms 6367.51ns noSupport notSupport 14.40us 14.06ns 6.58ms 6423.73ns -OrdsetsDs 1024 4.01ms 3920.16ns 6.35ms 6204.63ns noSupport notSupport 15.01us 14.66ns 6.27ms 6120.23ns -OrdsetsDs 1024 3.39ms 3314.39ns 6.28ms 6128.48ns noSupport notSupport 14.56us 14.22ns 6.47ms 6314.87ns -OrdsetsDs 1024 4.08ms 3980.76ns 6.38ms 6228.63ns noSupport notSupport 14.48us 14.14ns 6.22ms 6077.61ns -OrdsetsDs 1024 3.49ms 3406.30ns 6.62ms 6462.78ns noSupport notSupport 20.91us 20.42ns 8.70ms 8492.27ns -OrdsetsDs 1024 3.81ms 3717.24ns 6.74ms 6578.15ns noSupport notSupport 14.29us 13.95ns 6.95ms 6783.38ns -OrdsetsDs 1024 3.48ms 3394.92ns 9.75ms 9517.34ns noSupport notSupport 22.63us 22.10ns 7.61ms 7434.56ns -OrdsetsDs 1024 3.52ms 3442.10ns 7.01ms 6850.33ns noSupport notSupport 14.68us 14.33ns 6.24ms 6097.35ns -OrdsetsDs 1024 3.67ms 3581.31ns 6.81ms 6653.16ns noSupport notSupport 14.68us 14.33ns 7.22ms 7054.46ns -OrdsetsDs 1024 8.47ms 8275.19ns 9.11ms 8897.18ns noSupport notSupport 14.41us 14.07ns 7.22ms 7053.04ns -OrdsetsDs 1024 7.66ms 7477.89ns 6.79ms 6626.62ns noSupport notSupport 14.64us 14.29ns 13.09ms 12782.95ns -OrdsetsDs 1024 6.48ms 6323.53ns 8.43ms 8235.00ns noSupport notSupport 18.38us 17.95ns 10.28ms 10037.30ns -OrdsetsDs 1024 4.19ms 4089.62ns 7.77ms 7585.74ns noSupport notSupport 15.51us 15.15ns 7.59ms 7408.62ns -OrdsetsDs 1024 3.44ms 3357.20ns 7.37ms 7193.71ns noSupport notSupport 14.76us 14.41ns 7.02ms 6858.25ns -OrdsetsDs 1024 3.75ms 3665.29ns 6.64ms 6484.40ns noSupport notSupport 14.56us 14.22ns 6.30ms 6150.83ns -OrdsetsDs 1024 3.51ms 3428.89ns 7.74ms 7555.04ns noSupport notSupport 14.66us 14.31ns 6.52ms 6368.50ns -OrdsetsDs 1024 3.80ms 3710.44ns 6.35ms 6204.60ns noSupport notSupport 14.25us 13.91ns 6.16ms 6013.21ns -OrdsetsDs 2048 13.55ms 6616.88ns 26.81ms 13092.13ns noSupport notSupport 27.87us 13.61ns 25.18ms 12297.32ns -OrdsetsDs 2048 13.42ms 6551.63ns 27.70ms 13527.79ns noSupport notSupport 28.78us 14.05ns 25.42ms 12414.33ns -OrdsetsDs 2048 13.21ms 6449.54ns 31.24ms 15255.31ns noSupport notSupport 27.53us 13.44ns 25.72ms 12559.25ns -OrdsetsDs 2048 13.55ms 6615.22ns 29.93ms 14614.43ns noSupport notSupport 27.52us 13.44ns 25.71ms 12553.22ns -OrdsetsDs 2048 15.32ms 7482.02ns 27.69ms 13518.71ns noSupport notSupport 27.41us 13.38ns 25.31ms 12356.79ns -OrdsetsDs 2048 15.18ms 7414.41ns 30.31ms 14801.34ns noSupport notSupport 27.90us 13.62ns 26.32ms 12850.24ns -OrdsetsDs 2048 14.67ms 7162.68ns 27.80ms 13574.54ns noSupport notSupport 27.42us 13.39ns 26.30ms 12842.52ns -OrdsetsDs 2048 13.76ms 6718.71ns 29.32ms 14316.48ns noSupport notSupport 27.79us 13.57ns 25.88ms 12638.45ns -OrdsetsDs 2048 14.96ms 7303.31ns 30.12ms 14705.55ns noSupport notSupport 27.70us 13.53ns 26.46ms 12918.47ns -OrdsetsDs 2048 14.37ms 7017.91ns 30.91ms 15093.60ns noSupport notSupport 27.37us 13.36ns 25.80ms 12598.53ns -OrdsetsDs 2048 13.98ms 6826.05ns 30.93ms 15102.17ns noSupport notSupport 27.49us 13.42ns 25.16ms 12283.81ns -OrdsetsDs 2048 14.22ms 6942.86ns 33.58ms 16394.34ns noSupport notSupport 29.14us 14.23ns 37.93ms 18520.44ns -OrdsetsDs 2048 17.32ms 8455.54ns 26.35ms 12868.34ns noSupport notSupport 27.53us 13.44ns 24.59ms 12008.49ns -OrdsetsDs 2048 13.47ms 6579.56ns 26.60ms 12990.02ns noSupport notSupport 27.83us 13.59ns 26.44ms 12910.12ns -OrdsetsDs 2048 13.54ms 6609.77ns 26.44ms 12912.16ns noSupport notSupport 27.63us 13.49ns 24.94ms 12178.41ns -OrdsetsDs 2048 13.29ms 6489.42ns 26.18ms 12781.23ns noSupport notSupport 28.01us 13.68ns 24.46ms 11945.09ns -OrdsetsDs 2048 13.52ms 6599.27ns 26.12ms 12754.17ns noSupport notSupport 27.66us 13.51ns 27.18ms 13270.14ns -OrdsetsDs 2048 15.36ms 7498.00ns 29.30ms 14305.81ns noSupport notSupport 27.52us 13.44ns 25.86ms 12625.85ns -OrdsetsDs 2048 13.53ms 6607.45ns 31.56ms 15408.01ns noSupport notSupport 27.79us 13.57ns 25.25ms 12329.74ns -OrdsetsDs 2048 13.87ms 6773.40ns 29.94ms 14617.32ns noSupport notSupport 27.34us 13.35ns 26.02ms 12704.66ns -OrdsetsDs 2048 13.56ms 6620.98ns 30.23ms 14761.75ns noSupport notSupport 28.43us 13.88ns 25.99ms 12688.85ns -OrdsetsDs 2048 14.33ms 6996.53ns 28.07ms 13706.31ns noSupport notSupport 27.95us 13.65ns 25.90ms 12648.89ns -OrdsetsDs 4096 59.13ms 14436.96ns 105.27ms 25700.30ns noSupport notSupport 53.95us 13.17ns 101.44ms 24764.41ns -OrdsetsDs 4096 60.72ms 14824.02ns 110.14ms 26889.06ns noSupport notSupport 54.61us 13.33ns 102.82ms 25101.57ns -OrdsetsDs 4096 59.09ms 14425.92ns 104.44ms 25497.46ns noSupport notSupport 53.80us 13.13ns 102.08ms 24921.58ns -OrdsetsDs 4096 59.12ms 14433.96ns 104.94ms 25619.82ns noSupport notSupport 54.48us 13.30ns 103.90ms 25366.13ns -OrdsetsDs 4096 59.26ms 14467.20ns 104.52ms 25516.97ns noSupport notSupport 60.80us 14.84ns 111.63ms 27253.79ns -OrdsetsDs 4096 59.20ms 14453.14ns 102.18ms 24947.34ns noSupport notSupport 54.70us 13.35ns 98.16ms 23963.86ns -OrdsetsDs 4096 57.89ms 14133.16ns 120.16ms 29336.12ns noSupport notSupport 54.27us 13.25ns 101.46ms 24770.17ns -OrdsetsDs 4096 57.23ms 13972.47ns 123.48ms 30147.09ns noSupport notSupport 71.57us 17.47ns 115.00ms 28075.47ns -OrdsetsDs 4096 54.40ms 13280.97ns 108.59ms 26511.76ns noSupport notSupport 54.53us 13.31ns 102.88ms 25118.32ns -OrdsetsDs 4096 60.86ms 14858.92ns 105.20ms 25682.75ns noSupport notSupport 54.67us 13.35ns 110.08ms 26876.12ns -OrdsetsDs 4096 58.92ms 14385.41ns 128.94ms 31480.36ns noSupport notSupport 61.18us 14.94ns 125.07ms 30534.69ns -OrdsetsDs 4096 69.55ms 16978.85ns 127.51ms 31131.18ns noSupport notSupport 71.07us 17.35ns 114.25ms 27892.13ns -OrdsetsDs 4096 62.36ms 15224.16ns 106.74ms 26059.04ns noSupport notSupport 53.90us 13.16ns 101.60ms 24805.42ns -OrdsetsDs 4096 57.16ms 13954.24ns 108.36ms 26453.96ns noSupport notSupport 55.03us 13.44ns 113.71ms 27761.66ns -OrdsetsDs 4096 67.42ms 16459.41ns 125.38ms 30611.36ns noSupport notSupport 54.92us 13.41ns 124.23ms 30329.73ns -OrdsetsDs 4096 71.12ms 17363.31ns 108.07ms 26385.39ns noSupport notSupport 54.24us 13.24ns 98.61ms 24075.26ns -OrdsetsDs 4096 54.65ms 13341.97ns 107.69ms 26292.58ns noSupport notSupport 54.11us 13.21ns 136.44ms 33311.65ns -OrdsetsDs 4096 70.75ms 17274.12ns 121.42ms 29642.35ns noSupport notSupport 54.31us 13.26ns 116.75ms 28504.61ns -OrdsetsDs 4096 62.02ms 15141.96ns 108.52ms 26494.06ns noSupport notSupport 54.27us 13.25ns 106.21ms 25931.25ns -OrdsetsDs 4096 57.25ms 13977.01ns 106.07ms 25897.16ns noSupport notSupport 53.77us 13.13ns 103.43ms 25252.37ns -OrdsetsDs 4096 56.63ms 13825.12ns 105.49ms 25753.85ns noSupport notSupport 53.95us 13.17ns 107.90ms 26343.64ns -OrdsetsDs 4096 70.22ms 17144.71ns 104.54ms 25522.06ns noSupport notSupport 54.09us 13.21ns 98.84ms 24129.77ns -OrdsetsDs 8192 225.93ms 27579.79ns 426.91ms 52112.77ns noSupport notSupport 185.98us 22.70ns 422.78ms 51608.92ns -OrdsetsDs 8192 223.60ms 27295.38ns 449.56ms 54877.75ns noSupport notSupport 144.91us 17.69ns 431.57ms 52682.36ns -OrdsetsDs 8192 235.69ms 28770.92ns 433.78ms 52951.23ns noSupport notSupport 153.68us 18.76ns 449.98ms 54929.36ns -OrdsetsDs 8192 249.33ms 30435.80ns 430.64ms 52568.75ns noSupport notSupport 144.67us 17.66ns 408.41ms 49854.35ns -OrdsetsDs 8192 215.67ms 26326.36ns 427.06ms 52131.44ns noSupport notSupport 144.29us 17.61ns 420.49ms 51329.67ns -OrdsetsDs 8192 213.53ms 26066.02ns 452.82ms 55276.48ns noSupport notSupport 143.90us 17.57ns 422.60ms 51587.31ns -OrdsetsDs 8192 215.88ms 26352.73ns 442.45ms 54010.27ns noSupport notSupport 144.58us 17.65ns 432.34ms 52775.31ns -OrdsetsDs 8192 219.52ms 26796.98ns 446.96ms 54560.99ns noSupport notSupport 144.53us 17.64ns 409.36ms 49971.28ns -OrdsetsDs 8192 217.21ms 26514.33ns 437.42ms 53396.32ns noSupport notSupport 143.06us 17.46ns 425.09ms 51890.43ns -OrdsetsDs 8192 225.05ms 27471.48ns 436.34ms 53264.76ns noSupport notSupport 145.41us 17.75ns 410.90ms 50158.76ns -OrdsetsDs 8192 221.72ms 27065.55ns 429.66ms 52448.98ns noSupport notSupport 144.33us 17.62ns 420.93ms 51383.67ns -OrdsetsDs 8192 221.95ms 27093.50ns 438.44ms 53520.99ns noSupport notSupport 148.62us 18.14ns 420.50ms 51330.29ns -OrdsetsDs 8192 210.00ms 25634.46ns 435.04ms 53105.79ns noSupport notSupport 168.40us 20.56ns 442.43ms 54007.71ns -OrdsetsDs 8192 254.59ms 31077.47ns 425.28ms 51913.99ns noSupport notSupport 144.43us 17.63ns 410.49ms 50108.43ns -OrdsetsDs 8192 222.27ms 27132.91ns 427.91ms 52234.66ns noSupport notSupport 144.81us 17.68ns 410.46ms 50105.10ns -OrdsetsDs 8192 222.34ms 27140.83ns 429.20ms 52392.14ns noSupport notSupport 145.18us 17.72ns 410.58ms 50119.35ns -OrdsetsDs 8192 222.05ms 27105.54ns 438.97ms 53585.25ns noSupport notSupport 145.01us 17.70ns 421.96ms 51508.77ns -OrdsetsDs 8192 222.44ms 27153.55ns 429.34ms 52409.91ns noSupport notSupport 145.12us 17.71ns 412.35ms 50335.26ns -OrdsetsDs 8192 217.70ms 26575.03ns 431.94ms 52727.27ns noSupport notSupport 144.44us 17.63ns 413.38ms 50460.89ns -OrdsetsDs 8192 218.89ms 26720.19ns 435.32ms 53139.75ns noSupport notSupport 161.48us 19.71ns 473.02ms 57741.54ns -OrdsetsDs 8192 249.73ms 30484.92ns 424.65ms 51837.55ns noSupport notSupport 143.81us 17.55ns 414.89ms 50646.20ns -OrdsetsDs 8192 234.13ms 28580.78ns 439.61ms 53662.96ns noSupport notSupport 143.24us 17.49ns 448.14ms 54705.01ns -OrdsetsDs 16384 906.30ms 55316.16ns 1.80s 110038.95ns noSupport notSupport 238.53us 14.56ns 1.84s 112013.83ns -OrdsetsDs 16384 946.11ms 57746.03ns 1.79s 109384.82ns noSupport notSupport 209.90us 12.81ns 1.70s 103985.59ns -OrdsetsDs 16384 929.64ms 56740.61ns 1.72s 105138.11ns noSupport notSupport 257.37us 15.71ns 1.64s 99807.25ns -OrdsetsDs 16384 868.61ms 53015.70ns 1.71s 104276.36ns noSupport notSupport 210.33us 12.84ns 1.67s 102044.53ns -OrdsetsDs 16384 865.58ms 52830.68ns 1.80s 109788.45ns noSupport notSupport 211.30us 12.90ns 1.66s 101205.12ns -OrdsetsDs 16384 884.62ms 53993.00ns 1.77s 107900.01ns noSupport notSupport 224.52us 13.70ns 1.71s 104562.09ns -OrdsetsDs 16384 862.30ms 52630.36ns 1.73s 105356.72ns noSupport notSupport 210.29us 12.84ns 1.66s 101508.46ns -OrdsetsDs 16384 860.39ms 52514.07ns 1.78s 108824.51ns noSupport notSupport 222.29us 13.57ns 1.67s 102055.77ns -OrdsetsDs 16384 886.85ms 54129.03ns 1.72s 105179.47ns noSupport notSupport 210.20us 12.83ns 1.74s 106171.64ns -OrdsetsDs 16384 870.59ms 53136.69ns 1.91s 116881.58ns noSupport notSupport 208.43us 12.72ns 1.80s 110063.26ns -OrdsetsDs 16384 881.18ms 53783.04ns 1.76s 107223.67ns noSupport notSupport 298.04us 18.19ns 1.68s 102513.74ns -OrdsetsDs 16384 880.91ms 53766.22ns 1.81s 110525.37ns noSupport notSupport 241.49us 14.74ns 1.68s 102297.70ns -OrdsetsDs 16384 876.68ms 53508.40ns 1.78s 108859.23ns noSupport notSupport 210.18us 12.83ns 1.68s 102554.34ns -OrdsetsDs 16384 926.54ms 56551.68ns 1.75s 106855.61ns noSupport notSupport 211.29us 12.90ns 1.74s 106202.96ns -OrdsetsDs 16384 870.42ms 53126.06ns 1.74s 106110.84ns noSupport notSupport 525.24us 32.06ns 1.76s 107546.75ns -OrdsetsDs 16384 857.89ms 52361.69ns 1.77s 107800.40ns noSupport notSupport 211.37us 12.90ns 1.74s 106496.22ns -OrdsetsDs 16384 888.69ms 54241.22ns 1.71s 104074.35ns noSupport notSupport 210.37us 12.84ns 1.75s 106886.41ns -OrdsetsDs 16384 875.17ms 53416.43ns 1.78s 108769.68ns noSupport notSupport 209.73us 12.80ns 1.76s 107439.76ns -OrdsetsDs 16384 869.10ms 53045.40ns 1.71s 104635.98ns noSupport notSupport 209.76us 12.80ns 1.67s 101970.25ns -OrdsetsDs 16384 863.76ms 52719.57ns 1.82s 111105.25ns noSupport notSupport 212.23us 12.95ns 1.65s 100831.31ns -OrdsetsDs 16384 866.67ms 52897.54ns 1.75s 107027.26ns noSupport notSupport 230.79us 14.09ns 1.68s 102529.70ns -OrdsetsDs 16384 861.49ms 52581.24ns 1.74s 106465.68ns noSupport notSupport 235.78us 14.39ns 1.65s 100484.23ns -OrdsetsDs 32768 3.42s 104223.85ns 7.11s 217130.51ns noSupport notSupport 431.04us 13.15ns 7.05s 215174.63ns -OrdsetsDs 32768 3.54s 107962.49ns 7.16s 218592.26ns noSupport notSupport 560.47us 17.10ns 7.27s 222010.70ns -OrdsetsDs 32768 3.74s 114060.67ns 6.98s 213114.51ns noSupport notSupport 429.81us 13.12ns 7.03s 214613.43ns -OrdsetsDs 32768 3.49s 106427.95ns 7.02s 214334.85ns noSupport notSupport 423.90us 12.94ns 7.19s 219331.96ns -OrdsetsDs 32768 3.70s 112986.69ns 7.16s 218551.31ns noSupport notSupport 437.10us 13.34ns 7.16s 218522.40ns -OrdsetsDs 32768 3.56s 108603.32ns 7.15s 218214.13ns noSupport notSupport 448.85us 13.70ns 7.08s 216080.21ns -OrdsetsDs 32768 3.40s 103767.63ns 7.15s 218256.83ns noSupport notSupport 430.29us 13.13ns 7.18s 219119.71ns -OrdsetsDs 32768 3.62s 110487.35ns 7.13s 217626.10ns noSupport notSupport 440.27us 13.44ns 6.99s 213416.65ns -OrdsetsDs 32768 3.54s 108056.00ns 7.54s 230099.19ns noSupport notSupport 418.05us 12.76ns 7.45s 227322.30ns -OrdsetsDs 32768 3.59s 109429.60ns 7.24s 220890.06ns noSupport notSupport 443.44us 13.53ns 7.31s 223232.65ns -OrdsetsDs 32768 3.45s 105138.25ns 6.95s 212004.69ns noSupport notSupport 446.34us 13.62ns 6.92s 211191.46ns -OrdsetsDs 32768 3.51s 107143.82ns 7.10s 216568.37ns noSupport notSupport 478.60us 14.61ns 7.04s 214864.06ns -OrdsetsDs 32768 3.48s 106232.13ns 7.13s 217503.35ns noSupport notSupport 432.70us 13.20ns 7.04s 214884.33ns -OrdsetsDs 32768 3.44s 105096.65ns 7.14s 217969.91ns noSupport notSupport 419.60us 12.81ns 7.35s 224162.24ns -OrdsetsDs 32768 3.53s 107874.32ns 7.16s 218509.04ns noSupport notSupport 421.01us 12.85ns 7.03s 214687.94ns -OrdsetsDs 32768 3.71s 113205.64ns 7.26s 221614.27ns noSupport notSupport 419.02us 12.79ns 7.19s 219393.17ns -OrdsetsDs 32768 3.48s 106275.31ns 7.05s 215184.22ns noSupport notSupport 433.10us 13.22ns 7.24s 220912.18ns -OrdsetsDs 32768 3.68s 112448.20ns 7.25s 221355.60ns noSupport notSupport 432.42us 13.20ns 6.98s 213070.25ns -OrdsetsDs 32768 3.59s 109686.43ns 7.00s 213594.41ns noSupport notSupport 420.80us 12.84ns 7.11s 217038.23ns -OrdsetsDs 32768 3.56s 108536.60ns 7.03s 214414.40ns noSupport notSupport 440.87us 13.45ns 7.05s 215190.94ns -OrdsetsDs 32768 3.44s 104848.93ns 6.94s 211678.98ns noSupport notSupport 437.39us 13.35ns 6.94s 211639.52ns -OrdsetsDs 32768 3.53s 107724.31ns 7.20s 219599.27ns noSupport notSupport 607.96us 18.55ns 7.12s 217378.17ns -OrdsetsDs 65536 14.80s 225899.12ns 28.66s 437283.93ns noSupport notSupport 866.67us 13.22ns 32.11s 489891.58ns -OrdsetsDs 65536 16.41s 250471.98ns 31.91s 486922.25ns noSupport notSupport 881.42us 13.45ns 32.42s 494703.43ns -OrdsetsDs 65536 16.17s 246702.39ns 31.64s 482809.29ns noSupport notSupport 1.19ms 18.20ns 31.25s 476888.71ns -OrdsetsDs 65536 14.51s 221479.95ns 27.92s 425986.94ns noSupport notSupport 898.15us 13.70ns 29.22s 445806.35ns -OrdsetsDs 65536 14.25s 217363.37ns 28.87s 440586.79ns noSupport notSupport 857.39us 13.08ns 29.26s 446427.39ns -OrdsetsDs 65536 14.36s 219062.67ns 27.91s 425926.97ns noSupport notSupport 850.84us 12.98ns 29.01s 442733.44ns -OrdsetsDs 65536 14.63s 223280.60ns 31.01s 473235.84ns noSupport notSupport 863.53us 13.18ns 32.38s 494012.04ns -OrdsetsDs 65536 16.26s 248099.01ns 31.53s 481048.17ns noSupport notSupport 885.66us 13.51ns 31.76s 484649.93ns -OrdsetsDs 65536 15.28s 233189.37ns 28.68s 437569.28ns noSupport notSupport 1.38ms 21.01ns 31.57s 481659.47ns -OrdsetsDs 65536 16.18s 246876.70ns 29.94s 456904.07ns noSupport notSupport 916.92us 13.99ns 29.79s 454564.32ns -OrdsetsDs 65536 14.32s 218473.68ns 27.36s 417517.07ns noSupport notSupport 905.26us 13.81ns 28.79s 439259.32ns -OrdsetsDs 65536 13.75s 209825.62ns 31.45s 479912.62ns noSupport notSupport 970.60us 14.81ns 36.96s 564001.87ns -OrdsetsDs 65536 17.82s 271915.29ns 34.09s 520196.80ns noSupport notSupport 850.51us 12.98ns 34.07s 519838.11ns -OrdsetsDs 65536 16.93s 258297.92ns 33.90s 517255.18ns noSupport notSupport 1.02ms 15.57ns 34.62s 528229.25ns -OrdsetsDs 65536 14.04s 214296.01ns 27.87s 425273.18ns noSupport notSupport 1.02ms 15.55ns 36.79s 561320.14ns -OrdsetsDs 65536 18.16s 277164.94ns 35.00s 534133.15ns noSupport notSupport 845.01us 12.89ns 36.65s 559162.36ns -OrdsetsDs 65536 17.76s 271054.85ns 35.52s 541931.78ns noSupport notSupport 1.58ms 24.17ns 35.96s 548703.23ns -OrdsetsDs 65536 17.18s 262086.36ns 29.95s 456937.32ns noSupport notSupport 869.07us 13.26ns 28.02s 427588.79ns -OrdsetsDs 65536 16.13s 246130.19ns 35.25s 537820.43ns noSupport notSupport 893.68us 13.64ns 35.23s 537573.57ns -OrdsetsDs 65536 17.61s 268778.59ns 34.72s 529787.35ns noSupport notSupport 912.57us 13.92ns 33.91s 517494.21ns -OrdsetsDs 65536 16.61s 253385.11ns 33.51s 511258.77ns noSupport notSupport 879.84us 13.43ns 35.95s 548480.15ns -OrdsetsDs 65536 14.22s 216985.51ns 28.84s 440102.29ns noSupport notSupport 855.26us 13.05ns 35.64s 543824.71ns -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 131072 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip skip skip skip skip skip - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -AtomicsDs 8 681ns 85.13ns 681ns 85.13ns 471ns 58.88ns 481ns 60.13ns noSupport notSupport -AtomicsDs 8 731ns 91.38ns 572ns 71.50ns 380ns 47.50ns 491ns 61.38ns noSupport notSupport -AtomicsDs 8 551ns 68.88ns 601ns 75.13ns 360ns 45.00ns 562ns 70.25ns noSupport notSupport -AtomicsDs 8 611ns 76.38ns 511ns 63.88ns 371ns 46.38ns 451ns 56.38ns noSupport notSupport -AtomicsDs 8 611ns 76.38ns 571ns 71.38ns 371ns 46.38ns 501ns 62.63ns noSupport notSupport -AtomicsDs 8 632ns 79.00ns 661ns 82.63ns 451ns 56.38ns 541ns 67.63ns noSupport notSupport -AtomicsDs 8 491ns 61.38ns 621ns 77.63ns 341ns 42.63ns 571ns 71.38ns noSupport notSupport -AtomicsDs 8 561ns 70.13ns 691ns 86.38ns 371ns 46.38ns 561ns 70.13ns noSupport notSupport -AtomicsDs 8 611ns 76.38ns 572ns 71.50ns 450ns 56.25ns 541ns 67.63ns noSupport notSupport -AtomicsDs 8 612ns 76.50ns 541ns 67.63ns 500ns 62.50ns 531ns 66.38ns noSupport notSupport -AtomicsDs 8 571ns 71.38ns 551ns 68.88ns 441ns 55.13ns 491ns 61.38ns noSupport notSupport -AtomicsDs 8 581ns 72.63ns 621ns 77.63ns 401ns 50.13ns 611ns 76.38ns noSupport notSupport -AtomicsDs 8 562ns 70.25ns 561ns 70.13ns 430ns 53.75ns 521ns 65.13ns noSupport notSupport -AtomicsDs 8 712ns 89.00ns 571ns 71.38ns 360ns 45.00ns 511ns 63.88ns noSupport notSupport -AtomicsDs 8 582ns 72.75ns 551ns 68.88ns 430ns 53.75ns 601ns 75.13ns noSupport notSupport -AtomicsDs 8 481ns 60.13ns 561ns 70.13ns 411ns 51.38ns 491ns 61.38ns noSupport notSupport -AtomicsDs 8 571ns 71.38ns 511ns 63.88ns 391ns 48.88ns 520ns 65.00ns noSupport notSupport -AtomicsDs 8 561ns 70.13ns 541ns 67.63ns 401ns 50.13ns 511ns 63.88ns noSupport notSupport -AtomicsDs 8 531ns 66.38ns 571ns 71.38ns 381ns 47.63ns 531ns 66.38ns noSupport notSupport -AtomicsDs 8 581ns 72.63ns 551ns 68.88ns 381ns 47.63ns 641ns 80.13ns noSupport notSupport -AtomicsDs 8 571ns 71.38ns 551ns 68.88ns 401ns 50.13ns 571ns 71.38ns noSupport notSupport -AtomicsDs 8 721ns 90.13ns 481ns 60.13ns 391ns 48.88ns 531ns 66.38ns noSupport notSupport -AtomicsDs 16 772ns 48.25ns 962ns 60.13ns 571ns 35.69ns 952ns 59.50ns noSupport notSupport -AtomicsDs 16 2.46us 154.06ns 1.00us 62.63ns 611ns 38.19ns 851ns 53.19ns noSupport notSupport -AtomicsDs 16 932ns 58.25ns 1.03us 64.50ns 591ns 36.94ns 891ns 55.69ns noSupport notSupport -AtomicsDs 16 692ns 43.25ns 952ns 59.50ns 531ns 33.19ns 941ns 58.81ns noSupport notSupport -AtomicsDs 16 831ns 51.94ns 912ns 57.00ns 591ns 36.94ns 962ns 60.13ns noSupport notSupport -AtomicsDs 16 811ns 50.69ns 1.01us 63.25ns 561ns 35.06ns 932ns 58.25ns noSupport notSupport -AtomicsDs 16 872ns 54.50ns 1.02us 63.88ns 751ns 46.94ns 922ns 57.63ns noSupport notSupport -AtomicsDs 16 882ns 55.13ns 972ns 60.75ns 631ns 39.44ns 942ns 58.88ns noSupport notSupport -AtomicsDs 16 842ns 52.63ns 962ns 60.13ns 541ns 33.81ns 1.44us 90.13ns noSupport notSupport -AtomicsDs 16 791ns 49.44ns 992ns 62.00ns 561ns 35.06ns 872ns 54.50ns noSupport notSupport -AtomicsDs 16 1.05us 65.75ns 971ns 60.69ns 621ns 38.81ns 912ns 57.00ns noSupport notSupport -AtomicsDs 16 732ns 45.75ns 1.02us 63.88ns 621ns 38.81ns 1.04us 65.13ns noSupport notSupport -AtomicsDs 16 731ns 45.69ns 972ns 60.75ns 711ns 44.44ns 962ns 60.13ns noSupport notSupport -AtomicsDs 16 801ns 50.06ns 802ns 50.13ns 541ns 33.81ns 771ns 48.19ns noSupport notSupport -AtomicsDs 16 33.43us 2089.38ns 1.15us 72.00ns 651ns 40.69ns 952ns 59.50ns noSupport notSupport -AtomicsDs 16 812ns 50.75ns 982ns 61.38ns 591ns 36.94ns 922ns 57.63ns noSupport notSupport -AtomicsDs 16 22.20us 1387.56ns 1.15us 72.00ns 622ns 38.88ns 891ns 55.69ns noSupport notSupport -AtomicsDs 16 961ns 60.06ns 922ns 57.63ns 581ns 36.31ns 922ns 57.63ns noSupport notSupport -AtomicsDs 16 751ns 46.94ns 972ns 60.75ns 621ns 38.81ns 932ns 58.25ns noSupport notSupport -AtomicsDs 16 831ns 51.94ns 1.00us 62.63ns 551ns 34.44ns 912ns 57.00ns noSupport notSupport -AtomicsDs 16 752ns 47.00ns 791ns 49.44ns 551ns 34.44ns 852ns 53.25ns noSupport notSupport -AtomicsDs 16 882ns 55.13ns 1.07us 67.00ns 571ns 35.69ns 962ns 60.13ns noSupport notSupport -AtomicsDs 32 1.05us 32.88ns 1.80us 56.34ns 872ns 27.25ns 3.41us 106.44ns noSupport notSupport -AtomicsDs 32 1.10us 34.44ns 1.45us 45.41ns 852ns 26.63ns 1.40us 43.81ns noSupport notSupport -AtomicsDs 32 1.22us 38.19ns 1.59us 49.78ns 862ns 26.94ns 1.40us 43.84ns noSupport notSupport -AtomicsDs 32 1.08us 33.81ns 1.81us 56.69ns 972ns 30.38ns 1.80us 56.34ns noSupport notSupport -AtomicsDs 32 1.26us 39.47ns 1.72us 53.84ns 982ns 30.69ns 1.72us 53.84ns noSupport notSupport -AtomicsDs 32 1.31us 41.00ns 1.86us 58.25ns 1.09us 34.13ns 1.81us 56.66ns noSupport notSupport -AtomicsDs 32 1.13us 35.38ns 1.76us 55.09ns 1.05us 32.88ns 1.73us 54.19ns noSupport notSupport -AtomicsDs 32 1.13us 35.38ns 1.56us 48.84ns 892ns 27.88ns 1.44us 45.09ns noSupport notSupport -AtomicsDs 32 1.21us 37.88ns 2.03us 63.56ns 912ns 28.50ns 1.66us 51.97ns noSupport notSupport -AtomicsDs 32 1.25us 39.16ns 1.89us 59.16ns 1.18us 36.94ns 1.74us 54.50ns noSupport notSupport -AtomicsDs 32 1.07us 33.50ns 1.46us 45.72ns 921ns 28.78ns 1.72us 53.88ns noSupport notSupport -AtomicsDs 32 1.29us 40.38ns 1.86us 58.25ns 1.05us 32.88ns 1.85us 57.91ns noSupport notSupport -AtomicsDs 32 1.27us 39.78ns 1.74us 54.47ns 972ns 30.38ns 1.80us 56.34ns noSupport notSupport -AtomicsDs 32 1.27us 39.75ns 1.75us 54.81ns 942ns 29.44ns 1.72us 53.84ns noSupport notSupport -AtomicsDs 32 1.13us 35.41ns 1.67us 52.28ns 941ns 29.41ns 1.73us 54.19ns noSupport notSupport -AtomicsDs 32 1.17us 36.63ns 1.73us 54.19ns 921ns 28.78ns 1.76us 55.13ns noSupport notSupport -AtomicsDs 32 1.24us 38.81ns 1.77us 55.41ns 942ns 29.44ns 1.58us 49.47ns noSupport notSupport -AtomicsDs 32 1.17us 36.66ns 1.68us 52.59ns 1.08us 33.81ns 1.67us 52.28ns noSupport notSupport -AtomicsDs 32 1.33us 41.63ns 1.71us 53.53ns 992ns 31.00ns 1.80us 56.38ns noSupport notSupport -AtomicsDs 32 1.13us 35.41ns 1.78us 55.72ns 1.24us 38.81ns 2.05us 64.19ns noSupport notSupport -AtomicsDs 32 1.72us 53.84ns 2.27us 70.78ns 951ns 29.72ns 2.82us 88.00ns noSupport notSupport -AtomicsDs 32 1.12us 35.06ns 1.88us 58.84ns 922ns 28.81ns 2.44us 76.41ns noSupport notSupport -AtomicsDs 64 3.07us 47.91ns 4.58us 71.53ns 2.56us 40.08ns 4.01us 62.61ns noSupport notSupport -AtomicsDs 64 1.95us 30.52ns 4.10us 64.03ns 2.07us 32.41ns 3.45us 53.84ns noSupport notSupport -AtomicsDs 64 1.97us 30.84ns 3.25us 50.72ns 1.68us 26.30ns 3.26us 50.88ns noSupport notSupport -AtomicsDs 64 1.84us 28.81ns 3.42us 53.38ns 1.55us 24.27ns 3.20us 49.94ns noSupport notSupport -AtomicsDs 64 1.81us 28.34ns 3.37us 52.59ns 1.75us 27.39ns 3.21us 50.09ns noSupport notSupport -AtomicsDs 64 1.90us 29.75ns 3.79us 59.17ns 1.64us 25.67ns 3.15us 49.16ns noSupport notSupport -AtomicsDs 64 2.14us 33.50ns 3.25us 50.72ns 1.84us 28.80ns 3.27us 51.03ns noSupport notSupport -AtomicsDs 64 2.75us 43.05ns 4.51us 70.45ns 1.85us 28.95ns 4.54us 70.92ns noSupport notSupport -AtomicsDs 64 2.71us 42.42ns 3.56us 55.56ns 2.13us 33.34ns 4.18us 65.28ns noSupport notSupport -AtomicsDs 64 3.67us 57.28ns 4.46us 69.67ns 1.90us 29.73ns 3.38us 52.77ns noSupport notSupport -AtomicsDs 64 3.72us 58.08ns 4.38us 68.41ns 2.73us 42.58ns 5.01us 78.27ns noSupport notSupport -AtomicsDs 64 2.46us 38.52ns 3.84us 59.95ns 1.75us 27.39ns 3.25us 50.73ns noSupport notSupport -AtomicsDs 64 1.95us 30.53ns 3.48us 54.33ns 1.63us 25.52ns 3.18us 49.63ns noSupport notSupport -AtomicsDs 64 1.80us 28.19ns 2.79us 43.52ns 1.44us 22.53ns 2.76us 43.06ns noSupport notSupport -AtomicsDs 64 4.34us 67.78ns 25.90us 404.66ns 1.66us 25.98ns 3.47us 54.17ns noSupport notSupport -AtomicsDs 64 1.78us 27.88ns 2.75us 42.89ns 1.44us 22.53ns 2.67us 41.80ns noSupport notSupport -AtomicsDs 64 2.31us 36.16ns 5.81us 90.80ns 1.85us 28.95ns 3.21us 50.09ns noSupport notSupport -AtomicsDs 64 1.71us 26.77ns 2.71us 42.42ns 1.45us 22.70ns 2.67us 41.64ns noSupport notSupport -AtomicsDs 64 2.13us 33.34ns 34.63us 541.16ns 2.02us 31.63ns 5.84us 91.27ns noSupport notSupport -AtomicsDs 64 2.44us 38.19ns 3.22us 50.25ns 1.61us 25.20ns 2.69us 42.11ns noSupport notSupport -AtomicsDs 64 2.07us 32.41ns 3.24us 50.56ns 24.81us 387.59ns 3.23us 50.41ns noSupport notSupport -AtomicsDs 64 1.67us 26.14ns 2.71us 42.42ns 1.47us 23.02ns 2.67us 41.64ns noSupport notSupport -AtomicsDs 128 2.98us 23.25ns 6.17us 48.22ns 4.67us 36.47ns 5.66us 44.23ns noSupport notSupport -AtomicsDs 128 3.52us 27.47ns 6.20us 48.45ns 3.49us 27.23ns 5.65us 44.15ns noSupport notSupport -AtomicsDs 128 2.92us 22.77ns 5.26us 41.09ns 2.44us 19.10ns 5.22us 40.77ns noSupport notSupport -AtomicsDs 128 3.67us 28.65ns 6.34us 49.55ns 3.65us 28.49ns 5.57us 43.52ns noSupport notSupport -AtomicsDs 128 3.58us 27.94ns 6.47us 50.57ns 3.23us 25.20ns 5.34us 41.71ns noSupport notSupport -AtomicsDs 128 4.04us 31.55ns 6.67us 52.13ns 3.76us 29.35ns 6.69us 52.29ns noSupport notSupport -AtomicsDs 128 4.03us 31.46ns 6.72us 52.52ns 3.43us 26.77ns 6.65us 51.98ns noSupport notSupport -AtomicsDs 128 3.02us 23.56ns 27.53us 215.09ns 3.14us 24.50ns 6.47us 50.56ns noSupport notSupport -AtomicsDs 128 14.72us 114.98ns 6.94us 54.24ns 3.89us 30.38ns 6.73us 52.59ns noSupport notSupport -AtomicsDs 128 2.94us 22.93ns 5.25us 41.02ns 2.54us 19.80ns 5.21us 40.70ns noSupport notSupport -AtomicsDs 128 3.01us 23.48ns 5.34us 41.72ns 2.49us 19.48ns 5.26us 41.09ns noSupport notSupport -AtomicsDs 128 3.48us 27.16ns 6.27us 49.00ns 3.53us 27.55ns 5.75us 44.93ns noSupport notSupport -AtomicsDs 128 3.11us 24.27ns 5.37us 41.95ns 2.54us 19.88ns 5.33us 41.64ns noSupport notSupport -AtomicsDs 128 2.79us 21.76ns 5.37us 41.95ns 2.48us 19.34ns 5.32us 41.56ns noSupport notSupport -AtomicsDs 128 2.92us 22.85ns 5.34us 41.72ns 2.52us 19.73ns 5.30us 41.41ns noSupport notSupport -AtomicsDs 128 2.79us 21.77ns 5.35us 41.79ns 2.48us 19.34ns 5.32us 41.56ns noSupport notSupport -AtomicsDs 128 2.92us 22.85ns 5.27us 41.17ns 2.58us 20.12ns 5.21us 40.70ns noSupport notSupport -AtomicsDs 128 5.57us 43.52ns 6.31us 49.31ns 3.37us 26.30ns 5.23us 40.86ns noSupport notSupport -AtomicsDs 128 2.86us 22.30ns 5.25us 41.02ns 2.44us 19.09ns 5.22us 40.78ns noSupport notSupport -AtomicsDs 128 3.23us 25.20ns 6.34us 49.55ns 3.29us 25.67ns 5.99us 46.80ns noSupport notSupport -AtomicsDs 128 2.86us 22.30ns 6.25us 48.84ns 2.52us 19.65ns 5.23us 40.85ns noSupport notSupport -AtomicsDs 128 3.46us 27.01ns 6.27us 49.00ns 3.35us 26.14ns 5.48us 42.81ns noSupport notSupport -AtomicsDs 256 6.50us 25.40ns 11.49us 44.89ns 4.53us 17.69ns 10.32us 40.31ns noSupport notSupport -AtomicsDs 256 4.96us 19.37ns 11.93us 46.61ns 4.98us 19.45ns 10.53us 41.13ns noSupport notSupport -AtomicsDs 256 6.26us 24.46ns 12.67us 49.50ns 5.14us 20.08ns 10.33us 40.35ns noSupport notSupport -AtomicsDs 256 5.84us 22.82ns 10.35us 40.43ns 4.46us 17.41ns 10.33us 40.35ns noSupport notSupport -AtomicsDs 256 6.38us 24.93ns 11.16us 43.60ns 4.51us 17.61ns 10.32us 40.31ns noSupport notSupport -AtomicsDs 256 6.43us 25.13ns 10.96us 42.82ns 4.53us 17.69ns 10.33us 40.35ns noSupport notSupport -AtomicsDs 256 6.61us 25.83ns 11.99us 46.85ns 6.00us 23.44ns 10.92us 42.66ns noSupport notSupport -AtomicsDs 256 6.33us 24.73ns 11.40us 44.54ns 4.56us 17.80ns 10.51us 41.05ns noSupport notSupport -AtomicsDs 256 6.08us 23.76ns 11.29us 44.11ns 4.47us 17.45ns 10.33us 40.35ns noSupport notSupport -AtomicsDs 256 6.16us 24.07ns 11.20us 43.75ns 4.47us 17.46ns 10.32us 40.31ns noSupport notSupport -AtomicsDs 256 6.45us 25.20ns 11.32us 44.22ns 4.55us 17.77ns 10.52us 41.09ns noSupport notSupport -AtomicsDs 256 5.07us 19.80ns 10.55us 41.21ns 4.50us 17.57ns 10.54us 41.17ns noSupport notSupport -AtomicsDs 256 6.31us 24.66ns 12.11us 47.31ns 4.49us 17.53ns 10.32us 40.31ns noSupport notSupport -AtomicsDs 256 5.23us 20.43ns 10.55us 41.21ns 4.46us 17.42ns 10.52us 41.09ns noSupport notSupport -AtomicsDs 256 6.11us 23.88ns 12.93us 50.52ns 4.46us 17.41ns 10.53us 41.13ns noSupport notSupport -AtomicsDs 256 18.75us 73.22ns 22.48us 87.82ns 4.53us 17.69ns 10.53us 41.13ns noSupport notSupport -AtomicsDs 256 6.15us 24.03ns 11.69us 45.67ns 4.46us 17.41ns 10.33us 40.35ns noSupport notSupport -AtomicsDs 256 6.26us 24.46ns 11.48us 44.85ns 4.43us 17.30ns 10.32us 40.31ns noSupport notSupport -AtomicsDs 256 4.89us 19.10ns 10.55us 41.21ns 4.47us 17.45ns 10.51us 41.05ns noSupport notSupport -AtomicsDs 256 6.37us 24.89ns 12.13us 47.39ns 4.39us 17.14ns 10.53us 41.13ns noSupport notSupport -AtomicsDs 256 5.03us 19.64ns 10.54us 41.17ns 4.48us 17.49ns 10.51us 41.05ns noSupport notSupport -AtomicsDs 256 4.83us 18.86ns 10.55us 41.21ns 4.42us 17.26ns 10.51us 41.05ns noSupport notSupport -AtomicsDs 516 10.53us 20.41ns 22.55us 43.71ns 8.43us 16.33ns 21.12us 40.93ns noSupport notSupport -AtomicsDs 516 11.98us 23.22ns 20.70us 40.11ns 8.47us 16.41ns 21.10us 40.89ns noSupport notSupport -AtomicsDs 516 12.22us 23.69ns 20.72us 40.15ns 8.51us 16.48ns 21.10us 40.89ns noSupport notSupport -AtomicsDs 516 9.31us 18.04ns 20.70us 40.11ns 8.46us 16.39ns 21.01us 40.72ns noSupport notSupport -AtomicsDs 516 12.04us 23.34ns 21.94us 42.52ns 8.58us 16.62ns 21.06us 40.81ns noSupport notSupport -AtomicsDs 516 12.29us 23.82ns 22.76us 44.11ns 8.51us 16.48ns 21.53us 41.72ns noSupport notSupport -AtomicsDs 516 11.55us 22.39ns 21.37us 41.41ns 8.36us 16.19ns 21.72us 42.09ns noSupport notSupport -AtomicsDs 516 9.29us 18.00ns 20.70us 40.11ns 8.43us 16.33ns 21.02us 40.73ns noSupport notSupport -AtomicsDs 516 9.96us 19.30ns 21.10us 40.89ns 8.48us 16.43ns 21.39us 41.45ns noSupport notSupport -AtomicsDs 516 12.43us 24.09ns 21.15us 40.99ns 8.47us 16.41ns 21.48us 41.63ns noSupport notSupport -AtomicsDs 516 9.07us 17.57ns 20.71us 40.13ns 8.49us 16.45ns 21.07us 40.83ns noSupport notSupport -AtomicsDs 516 9.11us 17.65ns 21.08us 40.85ns 8.60us 16.66ns 21.36us 41.39ns noSupport notSupport -AtomicsDs 516 11.57us 22.42ns 24.97us 48.39ns 8.56us 16.58ns 21.37us 41.41ns noSupport notSupport -AtomicsDs 516 9.16us 17.75ns 20.82us 40.35ns 8.42us 16.31ns 20.98us 40.66ns noSupport notSupport -AtomicsDs 516 9.08us 17.59ns 20.71us 40.13ns 8.46us 16.39ns 20.98us 40.66ns noSupport notSupport -AtomicsDs 516 11.46us 22.21ns 22.43us 43.47ns 8.54us 16.54ns 21.56us 41.78ns noSupport notSupport -AtomicsDs 516 9.38us 18.17ns 20.72us 40.15ns 8.44us 16.35ns 29.09us 56.38ns noSupport notSupport -AtomicsDs 516 12.52us 24.27ns 23.13us 44.83ns 8.54us 16.54ns 21.34us 41.36ns noSupport notSupport -AtomicsDs 516 9.06us 17.55ns 20.70us 40.11ns 8.47us 16.42ns 20.99us 40.68ns noSupport notSupport -AtomicsDs 516 12.14us 23.53ns 22.04us 42.72ns 8.51us 16.48ns 37.72us 73.10ns noSupport notSupport -AtomicsDs 516 8.98us 17.40ns 20.83us 40.36ns 8.47us 16.41ns 21.00us 40.70ns noSupport notSupport -AtomicsDs 516 9.20us 17.82ns 20.71us 40.13ns 8.40us 16.29ns 20.97us 40.64ns noSupport notSupport -AtomicsDs 1024 25.22us 24.63ns 69.06us 67.44ns 19.20us 18.75ns 41.27us 40.30ns noSupport notSupport -AtomicsDs 1024 17.15us 16.75ns 42.04us 41.05ns 16.10us 15.72ns 57.29us 55.94ns noSupport notSupport -AtomicsDs 1024 24.39us 23.82ns 41.50us 40.53ns 16.27us 15.89ns 41.16us 40.19ns noSupport notSupport -AtomicsDs 1024 17.40us 17.00ns 42.02us 41.03ns 16.19us 15.81ns 41.94us 40.96ns noSupport notSupport -AtomicsDs 1024 17.00us 16.60ns 42.09us 41.10ns 16.30us 15.92ns 41.95us 40.97ns noSupport notSupport -AtomicsDs 1024 21.50us 21.00ns 62.52us 61.05ns 16.37us 15.99ns 41.19us 40.22ns noSupport notSupport -AtomicsDs 1024 17.23us 16.83ns 59.02us 57.64ns 16.27us 15.89ns 41.93us 40.95ns noSupport notSupport -AtomicsDs 1024 17.31us 16.91ns 42.02us 41.03ns 16.20us 15.82ns 41.92us 40.94ns noSupport notSupport -AtomicsDs 1024 21.26us 20.76ns 41.40us 40.43ns 16.28us 15.90ns 83.50us 81.54ns noSupport notSupport -AtomicsDs 1024 19.43us 18.97ns 43.96us 42.93ns 33.76us 32.97ns 43.48us 42.46ns noSupport notSupport -AtomicsDs 1024 20.82us 20.33ns 48.19us 47.06ns 23.55us 23.00ns 47.70us 46.58ns noSupport notSupport -AtomicsDs 1024 135.81us 132.63ns 62.30us 60.84ns 25.60us 25.00ns 45.81us 44.74ns noSupport notSupport -AtomicsDs 1024 50.82us 49.63ns 62.91us 61.43ns 25.22us 24.63ns 51.13us 49.94ns noSupport notSupport -AtomicsDs 1024 26.22us 25.60ns 51.43us 50.22ns 25.06us 24.47ns 51.15us 49.95ns noSupport notSupport -AtomicsDs 1024 26.19us 25.57ns 51.40us 50.19ns 25.02us 24.43ns 50.92us 49.73ns noSupport notSupport -AtomicsDs 1024 26.23us 25.61ns 61.30us 59.87ns 25.19us 24.60ns 51.05us 49.85ns noSupport notSupport -AtomicsDs 1024 26.05us 25.44ns 51.41us 50.20ns 25.35us 24.75ns 51.17us 49.98ns noSupport notSupport -AtomicsDs 1024 26.51us 25.89ns 51.34us 50.14ns 25.18us 24.59ns 51.15us 49.95ns noSupport notSupport -AtomicsDs 1024 26.48us 25.86ns 61.80us 60.36ns 25.52us 24.92ns 51.44us 50.23ns noSupport notSupport -AtomicsDs 1024 26.42us 25.80ns 51.59us 50.38ns 25.35us 24.75ns 51.31us 50.10ns noSupport notSupport -AtomicsDs 1024 25.44us 24.84ns 51.02us 49.82ns 24.48us 23.91ns 50.69us 49.50ns noSupport notSupport -AtomicsDs 1024 26.09us 25.48ns 61.52us 60.08ns 25.07us 24.48ns 49.44us 48.28ns noSupport notSupport -AtomicsDs 2048 53.85us 26.29ns 120.97us 59.07ns 46.96us 22.93ns 96.70us 47.22ns noSupport notSupport -AtomicsDs 2048 62.73us 30.63ns 108.98us 53.21ns 68.75us 33.57ns 119.34us 58.27ns noSupport notSupport -AtomicsDs 2048 51.59us 25.19ns 128.88us 62.93ns 49.93us 24.38ns 128.26us 62.63ns noSupport notSupport -AtomicsDs 2048 50.92us 24.87ns 119.34us 58.27ns 49.86us 24.35ns 120.53us 58.85ns noSupport notSupport -AtomicsDs 2048 79.18us 38.66ns 131.57us 64.25ns 49.55us 24.20ns 120.64us 58.91ns noSupport notSupport -AtomicsDs 2048 80.83us 39.47ns 100.61us 49.13ns 71.95us 35.13ns 120.95us 59.06ns noSupport notSupport -AtomicsDs 2048 63.97us 31.24ns 99.30us 48.48ns 70.99us 34.66ns 101.38us 49.50ns noSupport notSupport -AtomicsDs 2048 62.61us 30.57ns 109.83us 53.63ns 62.82us 30.67ns 110.28us 53.85ns noSupport notSupport -AtomicsDs 2048 69.55us 33.96ns 110.27us 53.84ns 49.64us 24.24ns 129.07us 63.02ns noSupport notSupport -AtomicsDs 2048 50.91us 24.86ns 121.03us 59.10ns 49.62us 24.23ns 109.12us 53.28ns noSupport notSupport -AtomicsDs 2048 61.83us 30.19ns 113.43us 55.39ns 48.16us 23.52ns 113.31us 55.33ns noSupport notSupport -AtomicsDs 2048 70.30us 34.33ns 100.46us 49.05ns 69.29us 33.83ns 112.33us 54.85ns noSupport notSupport -AtomicsDs 2048 64.99us 31.73ns 109.12us 53.28ns 63.54us 31.02ns 99.05us 48.37ns noSupport notSupport -AtomicsDs 2048 51.13us 24.96ns 120.11us 58.65ns 49.88us 24.36ns 119.24us 58.22ns noSupport notSupport -AtomicsDs 2048 48.20us 23.54ns 115.08us 56.19ns 47.97us 23.42ns 129.19us 63.08ns noSupport notSupport -AtomicsDs 2048 61.76us 30.15ns 102.30us 49.95ns 48.80us 23.83ns 101.21us 49.42ns noSupport notSupport -AtomicsDs 2048 53.90us 26.32ns 113.25us 55.30ns 55.24us 26.97ns 104.64us 51.09ns noSupport notSupport -AtomicsDs 2048 55.93us 27.31ns 105.00us 51.27ns 55.04us 26.88ns 105.49us 51.51ns noSupport notSupport -AtomicsDs 2048 65.91us 32.18ns 105.06us 51.30ns 55.57us 27.14ns 104.99us 51.26ns noSupport notSupport -AtomicsDs 2048 55.93us 27.31ns 114.00us 55.67ns 53.62us 26.18ns 118.63us 57.93ns noSupport notSupport -AtomicsDs 2048 33.66us 16.44ns 81.86us 39.97ns 41.39us 20.21ns 82.00us 40.04ns noSupport notSupport -AtomicsDs 2048 33.87us 16.54ns 81.87us 39.98ns 32.07us 15.66ns 90.82us 44.35ns noSupport notSupport -AtomicsDs 4096 67.03us 16.37ns 163.66us 39.95ns 63.39us 15.48ns 163.59us 39.94ns noSupport notSupport -AtomicsDs 4096 132.05us 32.24ns 182.27us 44.50ns 63.71us 15.55ns 163.72us 39.97ns noSupport notSupport -AtomicsDs 4096 76.23us 18.61ns 183.08us 44.70ns 63.64us 15.54ns 183.58us 44.82ns noSupport notSupport -AtomicsDs 4096 69.33us 16.93ns 179.61us 43.85ns 63.54us 15.51ns 163.63us 39.95ns noSupport notSupport -AtomicsDs 4096 66.63us 16.27ns 176.63us 43.12ns 72.05us 17.59ns 167.02us 40.78ns noSupport notSupport -AtomicsDs 4096 66.82us 16.31ns 166.83us 40.73ns 63.44us 15.49ns 174.34us 42.56ns noSupport notSupport -AtomicsDs 4096 66.49us 16.23ns 163.66us 39.95ns 63.41us 15.48ns 181.08us 44.21ns noSupport notSupport -AtomicsDs 4096 66.78us 16.30ns 166.84us 40.73ns 63.75us 15.56ns 166.81us 40.73ns noSupport notSupport -AtomicsDs 4096 68.06us 16.62ns 189.19us 46.19ns 64.09us 15.65ns 163.65us 39.95ns noSupport notSupport -AtomicsDs 4096 66.82us 16.31ns 178.33us 43.54ns 63.50us 15.50ns 168.94us 41.24ns noSupport notSupport -AtomicsDs 4096 66.42us 16.22ns 164.82us 40.24ns 63.62us 15.53ns 196.76us 48.04ns noSupport notSupport -AtomicsDs 4096 67.93us 16.58ns 166.57us 40.67ns 63.55us 15.51ns 200.63us 48.98ns noSupport notSupport -AtomicsDs 4096 66.46us 16.23ns 166.85us 40.74ns 63.62us 15.53ns 166.84us 40.73ns noSupport notSupport -AtomicsDs 4096 81.54us 19.91ns 217.57us 53.12ns 63.88us 15.60ns 163.63us 39.95ns noSupport notSupport -AtomicsDs 4096 80.42us 19.63ns 175.46us 42.84ns 63.49us 15.50ns 166.83us 40.73ns noSupport notSupport -AtomicsDs 4096 66.81us 16.31ns 175.75us 42.91ns 63.42us 15.48ns 181.65us 44.35ns noSupport notSupport -AtomicsDs 4096 76.89us 18.77ns 166.84us 40.73ns 115.86us 28.29ns 167.44us 40.88ns noSupport notSupport -AtomicsDs 4096 67.64us 16.51ns 166.94us 40.76ns 79.65us 19.45ns 179.68us 43.87ns noSupport notSupport -AtomicsDs 4096 66.60us 16.26ns 163.69us 39.96ns 63.51us 15.51ns 163.61us 39.94ns noSupport notSupport -AtomicsDs 4096 66.92us 16.34ns 166.82us 40.73ns 63.48us 15.50ns 166.83us 40.73ns noSupport notSupport -AtomicsDs 4096 68.73us 16.78ns 182.63us 44.59ns 63.71us 15.55ns 163.65us 39.95ns noSupport notSupport -AtomicsDs 4096 66.38us 16.21ns 190.54us 46.52ns 63.50us 15.50ns 163.65us 39.95ns noSupport notSupport -AtomicsDs 8192 133.01us 16.24ns 343.89us 41.98ns 126.65us 15.46ns 327.36us 39.96ns noSupport notSupport -AtomicsDs 8192 133.25us 16.27ns 333.79us 40.75ns 141.78us 17.31ns 366.13us 44.69ns noSupport notSupport -AtomicsDs 8192 132.60us 16.19ns 342.69us 41.83ns 126.52us 15.44ns 356.10us 43.47ns noSupport notSupport -AtomicsDs 8192 214.19us 26.15ns 367.67us 44.88ns 140.47us 17.15ns 337.61us 41.21ns noSupport notSupport -AtomicsDs 8192 151.14us 18.45ns 338.13us 41.28ns 126.42us 15.43ns 456.12us 55.68ns noSupport notSupport -AtomicsDs 8192 332.55us 40.59ns 505.31us 61.68ns 320.89us 39.17ns 556.87us 67.98ns noSupport notSupport -AtomicsDs 8192 318.97us 38.94ns 549.27us 67.05ns 343.73us 41.96ns 564.90us 68.96ns noSupport notSupport -AtomicsDs 8192 321.57us 39.25ns 531.20us 64.84ns 329.81us 40.26ns 635.27us 77.55ns noSupport notSupport -AtomicsDs 8192 389.91us 47.60ns 662.19us 80.83ns 311.45us 38.02ns 344.64us 42.07ns noSupport notSupport -AtomicsDs 8192 132.42us 16.16ns 398.70us 48.67ns 141.40us 17.26ns 397.93us 48.58ns noSupport notSupport -AtomicsDs 8192 158.52us 19.35ns 387.43us 47.29ns 143.44us 17.51ns 377.92us 46.13ns noSupport notSupport -AtomicsDs 8192 141.34us 17.25ns 369.66us 45.12ns 134.67us 16.44ns 337.79us 41.23ns noSupport notSupport -AtomicsDs 8192 135.41us 16.53ns 360.82us 44.05ns 126.56us 15.45ns 336.06us 41.02ns noSupport notSupport -AtomicsDs 8192 132.20us 16.14ns 357.42us 43.63ns 126.65us 15.46ns 333.70us 40.74ns noSupport notSupport -AtomicsDs 8192 145.29us 17.74ns 359.65us 43.90ns 126.69us 15.46ns 355.40us 43.38ns noSupport notSupport -AtomicsDs 8192 149.61us 18.26ns 342.30us 41.78ns 126.51us 15.44ns 342.52us 41.81ns noSupport notSupport -AtomicsDs 8192 169.16us 20.65ns 341.20us 41.65ns 126.47us 15.44ns 346.64us 42.31ns noSupport notSupport -AtomicsDs 8192 132.46us 16.17ns 343.25us 41.90ns 135.23us 16.51ns 327.50us 39.98ns noSupport notSupport -AtomicsDs 8192 132.65us 16.19ns 329.65us 40.24ns 126.63us 15.46ns 342.15us 41.77ns noSupport notSupport -AtomicsDs 8192 132.57us 16.18ns 358.22us 43.73ns 126.43us 15.43ns 328.48us 40.10ns noSupport notSupport -AtomicsDs 8192 132.19us 16.14ns 354.87us 43.32ns 126.76us 15.47ns 350.27us 42.76ns noSupport notSupport -AtomicsDs 8192 137.49us 16.78ns 348.41us 42.53ns 126.39us 15.43ns 357.35us 43.62ns noSupport notSupport -AtomicsDs 16384 266.39us 16.26ns 712.16us 43.47ns 252.03us 15.38ns 702.94us 42.90ns noSupport notSupport -AtomicsDs 16384 264.34us 16.13ns 706.72us 43.13ns 266.34us 16.26ns 699.44us 42.69ns noSupport notSupport -AtomicsDs 16384 279.49us 17.06ns 675.22us 41.21ns 266.42us 16.26ns 683.74us 41.73ns noSupport notSupport -AtomicsDs 16384 264.69us 16.16ns 676.63us 41.30ns 266.13us 16.24ns 705.44us 43.06ns noSupport notSupport -AtomicsDs 16384 275.28us 16.80ns 679.85us 41.49ns 252.29us 15.40ns 789.44us 48.18ns noSupport notSupport -AtomicsDs 16384 275.97us 16.84ns 675.89us 41.25ns 265.82us 16.22ns 709.87us 43.33ns noSupport notSupport -AtomicsDs 16384 292.02us 17.82ns 732.07us 44.68ns 277.18us 16.92ns 726.39us 44.34ns noSupport notSupport -AtomicsDs 16384 277.42us 16.93ns 732.48us 44.71ns 277.53us 16.94ns 757.26us 46.22ns noSupport notSupport -AtomicsDs 16384 300.71us 18.35ns 813.55us 49.65ns 461.83us 28.19ns 821.12us 50.12ns noSupport notSupport -AtomicsDs 16384 271.88us 16.59ns 682.02us 41.63ns 280.95us 17.15ns 722.18us 44.08ns noSupport notSupport -AtomicsDs 16384 265.38us 16.20ns 678.89us 41.44ns 267.38us 16.32ns 704.85us 43.02ns noSupport notSupport -AtomicsDs 16384 301.69us 18.41ns 697.32us 42.56ns 266.28us 16.25ns 684.63us 41.79ns noSupport notSupport -AtomicsDs 16384 290.49us 17.73ns 735.02us 44.86ns 252.91us 15.44ns 699.00us 42.66ns noSupport notSupport -AtomicsDs 16384 326.75us 19.94ns 687.66us 41.97ns 291.83us 17.81ns 762.19us 46.52ns noSupport notSupport -AtomicsDs 16384 315.89us 19.28ns 693.63us 42.34ns 277.40us 16.93ns 725.79us 44.30ns noSupport notSupport -AtomicsDs 16384 331.22us 20.22ns 716.38us 43.72ns 260.92us 15.93ns 719.15us 43.89ns noSupport notSupport -AtomicsDs 16384 265.18us 16.19ns 692.95us 42.29ns 268.71us 16.40ns 701.78us 42.83ns noSupport notSupport -AtomicsDs 16384 269.98us 16.48ns 692.24us 42.25ns 266.60us 16.27ns 704.77us 43.02ns noSupport notSupport -AtomicsDs 16384 264.01us 16.11ns 693.03us 42.30ns 261.83us 15.98ns 676.98us 41.32ns noSupport notSupport -AtomicsDs 16384 264.76us 16.16ns 712.09us 43.46ns 275.11us 16.79ns 717.74us 43.81ns noSupport notSupport -AtomicsDs 16384 453.39us 27.67ns 705.55us 43.06ns 266.17us 16.25ns 672.27us 41.03ns noSupport notSupport -AtomicsDs 16384 273.96us 16.72ns 765.60us 46.73ns 283.89us 17.33ns 720.00us 43.95ns noSupport notSupport -AtomicsDs 32768 564.82us 17.24ns 1.48ms 45.28ns 569.64us 17.38ns 1.53ms 46.55ns noSupport notSupport -AtomicsDs 32768 590.62us 18.02ns 1.43ms 43.67ns 519.11us 15.84ns 1.39ms 42.46ns noSupport notSupport -AtomicsDs 32768 566.62us 17.29ns 1.37ms 41.68ns 545.91us 16.66ns 1.44ms 43.92ns noSupport notSupport -AtomicsDs 32768 557.42us 17.01ns 1.38ms 42.05ns 644.43us 19.67ns 1.62ms 49.55ns noSupport notSupport -AtomicsDs 32768 636.05us 19.41ns 1.50ms 45.67ns 533.75us 16.29ns 1.40ms 42.80ns noSupport notSupport -AtomicsDs 32768 580.33us 17.71ns 1.42ms 43.26ns 511.56us 15.61ns 1.43ms 43.71ns noSupport notSupport -AtomicsDs 32768 575.52us 17.56ns 1.56ms 47.73ns 797.78us 24.35ns 2.12ms 64.80ns noSupport notSupport -AtomicsDs 32768 3.35ms 102.18ns 1.65ms 50.22ns 542.86us 16.57ns 1.41ms 43.15ns noSupport notSupport -AtomicsDs 32768 629.67us 19.22ns 1.48ms 45.14ns 533.77us 16.29ns 1.42ms 43.48ns noSupport notSupport -AtomicsDs 32768 572.76us 17.48ns 1.43ms 43.70ns 503.44us 15.36ns 1.45ms 44.28ns noSupport notSupport -AtomicsDs 32768 1.14ms 34.87ns 2.24ms 68.27ns 1.31ms 39.87ns 2.19ms 66.93ns noSupport notSupport -AtomicsDs 32768 1.40ms 42.58ns 2.17ms 66.30ns 1.34ms 40.81ns 1.39ms 42.44ns noSupport notSupport -AtomicsDs 32768 550.13us 16.79ns 1.47ms 44.78ns 579.14us 17.67ns 1.77ms 53.95ns noSupport notSupport -AtomicsDs 32768 1.65ms 50.21ns 2.17ms 66.22ns 1.33ms 40.54ns 2.14ms 65.33ns noSupport notSupport -AtomicsDs 32768 1.37ms 41.81ns 2.01ms 61.28ns 562.25us 17.16ns 1.40ms 42.73ns noSupport notSupport -AtomicsDs 32768 545.18us 16.64ns 1.63ms 49.65ns 895.45us 27.33ns 1.58ms 48.20ns noSupport notSupport -AtomicsDs 32768 1.09ms 33.14ns 1.99ms 60.65ns 559.60us 17.08ns 2.20ms 67.13ns noSupport notSupport -AtomicsDs 32768 1.19ms 36.28ns 1.44ms 43.94ns 881.56us 26.90ns 1.50ms 45.81ns noSupport notSupport -AtomicsDs 32768 1.03ms 31.56ns 1.58ms 48.21ns 582.00us 17.76ns 1.46ms 44.66ns noSupport notSupport -AtomicsDs 32768 560.43us 17.10ns 1.39ms 42.43ns 520.53us 15.89ns 1.38ms 42.21ns noSupport notSupport -AtomicsDs 32768 550.20us 16.79ns 1.37ms 41.93ns 533.71us 16.29ns 1.39ms 42.33ns noSupport notSupport -AtomicsDs 32768 638.74us 19.49ns 1.40ms 42.62ns 526.30us 16.06ns 1.40ms 42.68ns noSupport notSupport -AtomicsDs 65536 1.11ms 16.98ns 2.90ms 44.21ns 1.19ms 18.18ns 2.98ms 45.48ns noSupport notSupport -AtomicsDs 65536 1.13ms 17.18ns 2.80ms 42.67ns 1.07ms 16.35ns 2.83ms 43.11ns noSupport notSupport -AtomicsDs 65536 2.47ms 37.70ns 4.17ms 63.68ns 2.62ms 39.99ns 3.50ms 53.33ns noSupport notSupport -AtomicsDs 65536 1.12ms 17.09ns 4.10ms 62.56ns 3.61ms 55.04ns 4.50ms 68.69ns noSupport notSupport -AtomicsDs 65536 2.99ms 45.68ns 4.32ms 65.96ns 2.61ms 39.87ns 4.28ms 65.36ns noSupport notSupport -AtomicsDs 65536 2.72ms 41.54ns 3.56ms 54.35ns 1.09ms 16.57ns 3.02ms 46.08ns noSupport notSupport -AtomicsDs 65536 1.15ms 17.54ns 2.78ms 42.40ns 1.03ms 15.70ns 2.81ms 42.82ns noSupport notSupport -AtomicsDs 65536 1.16ms 17.73ns 4.71ms 71.80ns 2.01ms 30.69ns 2.84ms 43.33ns noSupport notSupport -AtomicsDs 65536 1.14ms 17.40ns 2.77ms 42.32ns 1.94ms 29.58ns 3.28ms 50.03ns noSupport notSupport -AtomicsDs 65536 1.33ms 20.22ns 3.64ms 55.50ns 2.02ms 30.77ns 3.43ms 52.32ns noSupport notSupport -AtomicsDs 65536 1.38ms 21.06ns 3.19ms 48.62ns 1.78ms 27.23ns 3.40ms 51.95ns noSupport notSupport -AtomicsDs 65536 1.90ms 28.96ns 2.87ms 43.77ns 1.08ms 16.45ns 3.19ms 48.70ns noSupport notSupport -AtomicsDs 65536 2.02ms 30.90ns 2.98ms 45.41ns 1.94ms 29.56ns 2.94ms 44.81ns noSupport notSupport -AtomicsDs 65536 1.48ms 22.61ns 2.95ms 45.04ns 1.20ms 18.28ns 3.30ms 50.28ns noSupport notSupport -AtomicsDs 65536 1.13ms 17.20ns 2.77ms 42.26ns 1.04ms 15.86ns 2.73ms 41.67ns noSupport notSupport -AtomicsDs 65536 1.09ms 16.60ns 2.97ms 45.29ns 1.04ms 15.93ns 2.74ms 41.81ns noSupport notSupport -AtomicsDs 65536 1.17ms 17.88ns 2.77ms 42.23ns 1.04ms 15.82ns 2.79ms 42.65ns noSupport notSupport -AtomicsDs 65536 2.24ms 34.20ns 3.40ms 51.82ns 1.95ms 29.71ns 3.61ms 55.12ns noSupport notSupport -AtomicsDs 65536 1.32ms 20.09ns 3.86ms 58.92ns 2.56ms 39.10ns 3.05ms 46.57ns noSupport notSupport -AtomicsDs 65536 2.78ms 42.43ns 4.44ms 67.71ns 1.26ms 19.23ns 3.10ms 47.32ns noSupport notSupport -AtomicsDs 65536 2.16ms 33.00ns 3.74ms 57.05ns 1.06ms 16.17ns 2.80ms 42.68ns noSupport notSupport -AtomicsDs 65536 1.53ms 23.37ns 3.29ms 50.20ns 1.08ms 16.49ns 2.86ms 43.59ns noSupport notSupport -AtomicsDs 131072 2.47ms 18.81ns 5.77ms 44.05ns 3.07ms 23.46ns 9.76ms 74.44ns noSupport notSupport -AtomicsDs 131072 5.53ms 42.21ns 6.49ms 49.49ns 2.45ms 18.72ns 6.43ms 49.02ns noSupport notSupport -AtomicsDs 131072 4.28ms 32.66ns 7.63ms 58.20ns 2.31ms 17.63ns 6.58ms 50.24ns noSupport notSupport -AtomicsDs 131072 2.29ms 17.46ns 7.73ms 58.98ns 4.06ms 30.99ns 6.88ms 52.47ns noSupport notSupport -AtomicsDs 131072 2.89ms 22.06ns 5.89ms 44.97ns 2.10ms 16.02ns 6.66ms 50.79ns noSupport notSupport -AtomicsDs 131072 3.16ms 24.14ns 6.84ms 52.15ns 3.31ms 25.27ns 6.28ms 47.95ns noSupport notSupport -AtomicsDs 131072 3.49ms 26.66ns 6.04ms 46.10ns 3.50ms 26.71ns 8.05ms 61.44ns noSupport notSupport -AtomicsDs 131072 2.62ms 19.95ns 6.34ms 48.35ns 2.11ms 16.12ns 5.67ms 43.27ns noSupport notSupport -AtomicsDs 131072 2.32ms 17.70ns 5.71ms 43.55ns 2.11ms 16.13ns 5.57ms 42.51ns noSupport notSupport -AtomicsDs 131072 2.25ms 17.18ns 5.56ms 42.43ns 2.21ms 16.83ns 5.77ms 43.98ns noSupport notSupport -AtomicsDs 131072 2.29ms 17.49ns 5.73ms 43.70ns 3.11ms 23.72ns 6.96ms 53.09ns noSupport notSupport -AtomicsDs 131072 2.24ms 17.11ns 5.64ms 43.06ns 2.11ms 16.07ns 5.58ms 42.57ns noSupport notSupport -AtomicsDs 131072 2.30ms 17.55ns 7.28ms 55.58ns 4.35ms 33.16ns 7.51ms 57.27ns noSupport notSupport -AtomicsDs 131072 3.98ms 30.36ns 6.37ms 48.60ns 2.84ms 21.64ns 6.64ms 50.64ns noSupport notSupport -AtomicsDs 131072 3.21ms 24.48ns 5.91ms 45.07ns 2.09ms 15.98ns 6.15ms 46.90ns noSupport notSupport -AtomicsDs 131072 4.01ms 30.60ns 6.90ms 52.64ns 2.10ms 15.98ns 5.64ms 43.00ns noSupport notSupport -AtomicsDs 131072 2.26ms 17.28ns 8.23ms 62.77ns 4.74ms 36.14ns 7.30ms 55.73ns noSupport notSupport -AtomicsDs 131072 3.96ms 30.21ns 7.79ms 59.40ns 3.03ms 23.14ns 6.61ms 50.42ns noSupport notSupport -AtomicsDs 131072 3.29ms 25.14ns 8.77ms 66.87ns 2.64ms 20.11ns 5.84ms 44.55ns noSupport notSupport -AtomicsDs 131072 2.34ms 17.84ns 7.68ms 58.58ns 3.32ms 25.36ns 8.95ms 68.32ns noSupport notSupport -AtomicsDs 131072 4.88ms 37.20ns 6.55ms 49.95ns 2.14ms 16.30ns 6.73ms 51.37ns noSupport notSupport -AtomicsDs 131072 3.86ms 29.44ns 7.46ms 56.91ns 3.61ms 27.53ns 6.81ms 51.99ns noSupport notSupport -AtomicsDs 524288 10.76ms 20.53ns 28.78ms 54.89ns 11.83ms 22.57ns 30.95ms 59.04ns noSupport notSupport -AtomicsDs 524288 14.28ms 27.23ns 29.01ms 55.32ns 10.15ms 19.36ns 25.59ms 48.82ns noSupport notSupport -AtomicsDs 524288 9.48ms 18.08ns 29.60ms 56.46ns 11.56ms 22.06ns 30.60ms 58.36ns noSupport notSupport -AtomicsDs 524288 9.49ms 18.11ns 28.32ms 54.02ns 14.61ms 27.87ns 30.43ms 58.04ns noSupport notSupport -AtomicsDs 524288 15.21ms 29.02ns 28.76ms 54.85ns 18.51ms 35.31ns 28.93ms 55.18ns noSupport notSupport -AtomicsDs 524288 16.09ms 30.69ns 32.80ms 62.55ns 13.44ms 25.63ns 30.11ms 57.44ns noSupport notSupport -AtomicsDs 524288 15.60ms 29.76ns 28.02ms 53.45ns 14.56ms 27.78ns 29.82ms 56.87ns noSupport notSupport -AtomicsDs 524288 9.48ms 18.08ns 26.49ms 50.53ns 12.85ms 24.50ns 28.59ms 54.53ns noSupport notSupport -AtomicsDs 524288 9.60ms 18.31ns 26.88ms 51.26ns 9.49ms 18.10ns 28.30ms 53.98ns noSupport notSupport -AtomicsDs 524288 11.83ms 22.56ns 26.51ms 50.57ns 12.14ms 23.15ns 30.93ms 58.99ns noSupport notSupport -AtomicsDs 524288 9.31ms 17.76ns 31.10ms 59.33ns 10.45ms 19.92ns 27.14ms 51.77ns noSupport notSupport -AtomicsDs 524288 12.73ms 24.28ns 29.76ms 56.75ns 10.20ms 19.45ns 26.64ms 50.81ns noSupport notSupport -AtomicsDs 524288 11.55ms 22.04ns 30.91ms 58.95ns 8.69ms 16.57ns 32.17ms 61.36ns noSupport notSupport -AtomicsDs 524288 8.84ms 16.87ns 22.73ms 43.34ns 17.18ms 32.77ns 22.71ms 43.32ns noSupport notSupport -AtomicsDs 524288 8.94ms 17.05ns 22.45ms 42.82ns 8.64ms 16.48ns 21.88ms 41.74ns noSupport notSupport -AtomicsDs 524288 8.84ms 16.86ns 26.10ms 49.78ns 8.74ms 16.67ns 25.22ms 48.10ns noSupport notSupport -AtomicsDs 524288 8.93ms 17.04ns 22.42ms 42.77ns 8.52ms 16.25ns 27.40ms 52.27ns noSupport notSupport -AtomicsDs 524288 11.55ms 22.03ns 27.93ms 53.28ns 8.37ms 15.96ns 22.05ms 42.05ns noSupport notSupport -AtomicsDs 524288 9.32ms 17.78ns 22.02ms 41.99ns 8.40ms 16.02ns 24.83ms 47.35ns noSupport notSupport -AtomicsDs 524288 9.12ms 17.40ns 22.79ms 43.47ns 8.41ms 16.04ns 22.04ms 42.04ns noSupport notSupport -AtomicsDs 524288 8.79ms 16.76ns 24.37ms 46.47ns 13.25ms 25.27ns 34.32ms 65.47ns noSupport notSupport -AtomicsDs 524288 8.90ms 16.98ns 28.60ms 54.55ns 13.14ms 25.05ns 29.21ms 55.71ns noSupport notSupport -AtomicsDs 1048576 25.95ms 24.75ns 56.49ms 53.88ns 20.06ms 19.13ns 55.29ms 52.73ns noSupport notSupport -AtomicsDs 1048576 21.64ms 20.63ns 56.69ms 54.07ns 20.10ms 19.17ns 65.33ms 62.30ns noSupport notSupport -AtomicsDs 1048576 24.50ms 23.37ns 57.41ms 54.75ns 19.22ms 18.33ns 54.20ms 51.69ns noSupport notSupport -AtomicsDs 1048576 19.96ms 19.04ns 55.96ms 53.37ns 20.81ms 19.84ns 58.52ms 55.81ns noSupport notSupport -AtomicsDs 1048576 24.44ms 23.30ns 57.61ms 54.94ns 17.37ms 16.57ns 53.27ms 50.80ns noSupport notSupport -AtomicsDs 1048576 23.19ms 22.12ns 54.20ms 51.69ns 17.13ms 16.34ns 54.74ms 52.21ns noSupport notSupport -AtomicsDs 1048576 26.79ms 25.55ns 55.58ms 53.01ns 30.42ms 29.01ns 54.80ms 52.26ns noSupport notSupport -AtomicsDs 1048576 22.97ms 21.91ns 55.70ms 53.12ns 18.71ms 17.85ns 55.50ms 52.93ns noSupport notSupport -AtomicsDs 1048576 30.47ms 29.06ns 56.89ms 54.25ns 25.92ms 24.72ns 54.39ms 51.87ns noSupport notSupport -AtomicsDs 1048576 19.41ms 18.51ns 57.71ms 55.04ns 19.97ms 19.05ns 51.89ms 49.48ns noSupport notSupport -AtomicsDs 1048576 29.25ms 27.90ns 57.27ms 54.62ns 24.81ms 23.66ns 58.60ms 55.88ns noSupport notSupport -AtomicsDs 1048576 24.72ms 23.57ns 53.53ms 51.05ns 19.60ms 18.70ns 58.29ms 55.59ns noSupport notSupport -AtomicsDs 1048576 19.90ms 18.98ns 58.76ms 56.04ns 19.73ms 18.82ns 54.86ms 52.32ns noSupport notSupport -AtomicsDs 1048576 34.40ms 32.80ns 54.68ms 52.15ns 18.78ms 17.91ns 56.69ms 54.06ns noSupport notSupport -AtomicsDs 1048576 26.16ms 24.95ns 56.26ms 53.65ns 21.90ms 20.89ns 59.05ms 56.32ns noSupport notSupport -AtomicsDs 1048576 24.49ms 23.36ns 55.46ms 52.89ns 19.42ms 18.52ns 59.06ms 56.33ns noSupport notSupport -AtomicsDs 1048576 19.28ms 18.39ns 57.68ms 55.01ns 26.35ms 25.13ns 57.83ms 55.15ns noSupport notSupport -AtomicsDs 1048576 19.23ms 18.33ns 54.11ms 51.60ns 24.62ms 23.48ns 60.13ms 57.34ns noSupport notSupport -AtomicsDs 1048576 20.07ms 19.14ns 56.05ms 53.46ns 20.53ms 19.58ns 60.65ms 57.84ns noSupport notSupport -AtomicsDs 1048576 20.84ms 19.87ns 56.23ms 53.62ns 18.26ms 17.42ns 56.88ms 54.24ns noSupport notSupport -AtomicsDs 1048576 25.40ms 24.22ns 55.31ms 52.75ns 19.33ms 18.43ns 51.57ms 49.18ns noSupport notSupport -AtomicsDs 1048576 25.80ms 24.60ns 57.94ms 55.26ns 22.63ms 21.58ns 56.44ms 53.83ns noSupport notSupport - -DsName V_Num insert insert/per read read/per update update/per for for/per delete delete/per -================================================================================================================================================= -PTermDs 8 102.03us 12753.75ns 1.84us 230.38ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 16 40.81us 2550.38ns 1.79us 112.06ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 32 78.51us 2453.34ns 3.60us 112.38ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 64 163.51us 2554.92ns 7.76us 121.31ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 128 360.57us 2816.93ns 18.71us 146.20ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 256 513.07us 2004.16ns 18.41us 71.89ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 516 1.33ms 2578.20ns 41.20us 79.84ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 1024 1.78ms 1733.47ns 69.95us 68.31ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 2048 4.64ms 2265.27ns 195.56us 95.49ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 4096 15.10ms 3686.03ns 565.23us 138.00ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 8192 45.16ms 5512.62ns 647.22us 79.01ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 16384 171.80ms 10486.01ns 1.38ms 84.29ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 32768 596.03ms 18189.26ns 4.08ms 124.56ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 65536 2.21s 33780.79ns 12.70ms 193.79ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 131072 9.71s 74066.88ns 26.40ms 201.39ns noSupport notSupport noSupport notSupport noSupport notSupport -PTermDs 524288 skip skip skip skip skip skip skip skip skip skip -PTermDs 1048576 skip skip skip skip skip skip skip skip skip skip -Ds benchmark...Over calculate the AVG - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -PdDs 8 380.79ns 151.01ns 172.14ns 244.82ns 409.59ns -PdDs 16 337.00ns 117.34ns 458.23ns 193.42ns 223.14ns -PdDs 32 433.85ns 98.19ns 315.92ns 139.48ns 120.28ns -PdDs 64 546.74ns 104.04ns 203.77ns 249.79ns 128.08ns -PdDs 128 485.81ns 91.41ns 190.24ns 239.88ns 117.75ns -PdDs 256 456.61ns 142.69ns 269.72ns 161.40ns 176.52ns -PdDs 516 420.09ns 92.22ns 227.12ns 199.30ns 110.67ns -PdDs 1024 401.53ns 138.63ns 182.23ns 226.76ns 116.83ns -PdDs 2048 376.99ns 165.95ns 184.13ns 131.97ns 136.06ns -PdDs 4096 381.69ns 109.78ns 212.84ns 201.82ns 99.67ns -PdDs 8192 407.77ns 100.78ns 224.06ns 228.88ns 114.63ns -PdDs 16384 414.07ns 181.48ns 260.61ns 235.62ns 144.94ns -PdDs 32768 433.77ns 209.56ns 307.05ns 216.45ns 157.21ns -PdDs 65536 352.26ns 262.16ns 266.30ns 432.19ns 181.49ns -PdDs 131072 521.97ns 260.27ns 624.71ns 326.34ns 309.86ns -PdDs 524288 874.12ns 454.01ns 744.52ns 451.76ns 531.35ns -PdDs 1048576 836.65ns 587.55ns 755.16ns 685.28ns 467.90ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -ArrayDs 8 293.36ns 77.33ns 734.44ns 66.41ns notSupport -ArrayDs 16 879.22ns 92.35ns 316.97ns 94.29ns notSupport -ArrayDs 32 642.32ns 81.15ns 337.31ns 75.48ns notSupport -ArrayDs 64 393.67ns 101.58ns 337.30ns 65.13ns notSupport -ArrayDs 128 387.97ns 75.66ns 333.07ns 78.41ns notSupport -ArrayDs 256 382.50ns 71.00ns 311.89ns 79.36ns notSupport -ArrayDs 516 333.44ns 73.57ns 346.72ns 67.91ns notSupport -ArrayDs 1024 387.49ns 85.99ns 343.29ns 89.95ns notSupport -ArrayDs 2048 330.02ns 81.38ns 315.14ns 81.15ns notSupport -ArrayDs 4096 323.56ns 84.15ns 293.45ns 85.85ns notSupport -ArrayDs 8192 325.85ns 82.70ns 262.67ns 85.62ns notSupport -ArrayDs 16384 361.83ns 101.75ns 369.47ns 109.27ns notSupport -ArrayDs 32768 378.72ns 104.51ns 358.05ns 118.01ns notSupport -ArrayDs 65536 375.24ns 113.17ns 367.95ns 103.81ns notSupport -ArrayDs 131072 410.79ns 147.34ns 407.83ns 147.65ns notSupport -ArrayDs 524288 463.24ns 147.61ns 428.52ns 146.98ns notSupport -ArrayDs 1048576 489.09ns 161.41ns 485.94ns 161.78ns notSupport - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -TupleDs 8 139.34ns 32.01ns 120.84ns 29.57ns notSupport -TupleDs 16 396.43ns 24.89ns 240.70ns 19.59ns notSupport -TupleDs 32 283.51ns 16.56ns 353.83ns 16.44ns notSupport -TupleDs 64 309.64ns 11.63ns 243.54ns 11.47ns notSupport -TupleDs 128 306.19ns 8.21ns 240.75ns 7.81ns notSupport -TupleDs 256 691.42ns 11.57ns 503.85ns 9.53ns notSupport -TupleDs 516 687.16ns 6.31ns 509.19ns 6.37ns notSupport -TupleDs 1024 1060.69ns 6.16ns 1050.66ns 6.62ns notSupport -TupleDs 2048 2289.73ns 6.15ns 2410.23ns 6.53ns notSupport -TupleDs 4096 3542.44ns 5.95ns 3954.08ns 6.43ns notSupport -TupleDs 8192 8636.98ns 5.96ns 9087.09ns 6.13ns notSupport -TupleDs 16384 14338.97ns 6.18ns 14067.01ns 6.55ns notSupport -TupleDs 32768 37820.70ns 6.55ns 40711.26ns 6.27ns notSupport -TupleDs 65536 85504.79ns 6.30ns 87268.02ns 6.38ns notSupport -TupleDs 131072 skip skip skip skip skip -TupleDs 524288 skip skip skip skip skip -TupleDs 1048576 skip skip skip skip skip - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -ListsDs 8 156.71ns 222.09ns 609.90ns 27.06ns 263.55ns -ListsDs 16 103.22ns 227.96ns 831.76ns 14.56ns 384.37ns -ListsDs 32 212.48ns 325.20ns 965.83ns 9.31ns 584.67ns -ListsDs 64 198.58ns 364.26ns 1166.77ns 5.91ns 930.08ns -ListsDs 128 169.09ns 654.16ns 1903.78ns 5.52ns 1676.63ns -ListsDs 256 145.92ns 1284.26ns 3172.48ns 5.18ns 3122.38ns -ListsDs 516 151.49ns 2550.20ns 6583.39ns 5.79ns 6344.50ns -ListsDs 1024 141.53ns 5041.37ns 12632.31ns 4.04ns 13173.98ns -ListsDs 2048 135.03ns 9686.72ns 25868.67ns 21.97ns 24369.04ns -ListsDs 4096 137.23ns 20508.67ns 51039.29ns 27.57ns 53059.31ns -ListsDs 8192 153.08ns 38929.59ns 99639.56ns 22.12ns 102036.11ns -ListsDs 16384 150.39ns 77838.93ns 206671.83ns 10.89ns 200045.04ns -ListsDs 32768 134.95ns 168017.69ns 462098.37ns 29.56ns 463337.08ns -ListsDs 65536 skip skip skip skip skip -ListsDs 131072 skip skip skip skip skip -ListsDs 524288 skip skip skip skip skip -ListsDs 1048576 skip skip skip skip skip - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -MapsDs 8 327.11ns 55.93ns 593.61ns 148.08ns 394.79ns -MapsDs 16 679.16ns 74.20ns 500.87ns 119.17ns 210.82ns -MapsDs 32 571.13ns 35.63ns 326.31ns 55.18ns 197.72ns -MapsDs 64 599.81ns 30.92ns 342.66ns 46.99ns 292.60ns -MapsDs 128 598.67ns 52.71ns 487.68ns 66.83ns 345.61ns -MapsDs 256 393.53ns 34.01ns 386.47ns 41.57ns 266.33ns -MapsDs 516 379.85ns 34.06ns 353.11ns 36.08ns 236.09ns -MapsDs 1024 395.59ns 30.27ns 401.06ns 35.03ns 250.88ns -MapsDs 2048 421.83ns 44.37ns 448.39ns 52.64ns 304.57ns -MapsDs 4096 469.49ns 39.61ns 551.77ns 45.32ns 258.13ns -MapsDs 8192 573.77ns 55.84ns 694.65ns 42.96ns 262.84ns -MapsDs 16384 593.08ns 88.35ns 533.92ns 53.23ns 262.24ns -MapsDs 32768 626.57ns 34.13ns 827.04ns 58.65ns 334.62ns -MapsDs 65536 650.22ns 39.07ns 980.58ns 54.69ns 416.06ns -MapsDs 131072 835.75ns 40.74ns 1206.48ns 65.75ns 584.87ns -MapsDs 524288 1218.77ns 51.03ns 1624.63ns 66.65ns 863.14ns -MapsDs 1048576 1383.51ns 50.90ns 1867.69ns 52.89ns 1101.91ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -EtsSetDs 8 591.48ns 701.36ns 776.75ns 983.15ns 278.59ns -EtsSetDs 16 512.08ns 515.87ns 656.47ns 652.78ns 249.46ns -EtsSetDs 32 532.42ns 343.17ns 551.35ns 427.07ns 187.70ns -EtsSetDs 64 392.56ns 224.74ns 479.27ns 374.28ns 169.29ns -EtsSetDs 128 585.23ns 278.82ns 696.43ns 417.93ns 294.98ns -EtsSetDs 256 368.20ns 178.39ns 534.81ns 271.84ns 175.13ns -EtsSetDs 516 505.19ns 227.91ns 556.90ns 337.74ns 228.71ns -EtsSetDs 1024 503.26ns 188.16ns 497.29ns 292.38ns 206.90ns -EtsSetDs 2048 581.93ns 230.64ns 581.32ns 373.92ns 271.14ns -EtsSetDs 4096 518.80ns 177.24ns 532.10ns 346.66ns 237.49ns -EtsSetDs 8192 498.17ns 205.68ns 555.26ns 328.14ns 255.99ns -EtsSetDs 16384 552.67ns 198.60ns 517.47ns 363.54ns 290.39ns -EtsSetDs 32768 563.63ns 236.34ns 611.04ns 427.34ns 313.42ns -EtsSetDs 65536 699.89ns 262.24ns 602.95ns 449.72ns 310.03ns -EtsSetDs 131072 748.84ns 292.58ns 642.27ns 471.80ns 346.08ns -EtsSetDs 524288 892.88ns 382.77ns 719.06ns 523.30ns 417.00ns -EtsSetDs 1048576 964.09ns 398.30ns 756.19ns 534.83ns 451.25ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -EtsOrdDs 8 846.08ns 769.14ns 705.58ns 953.21ns 297.19ns -EtsOrdDs 16 602.00ns 733.43ns 640.25ns 644.24ns 299.46ns -EtsOrdDs 32 587.41ns 357.23ns 531.09ns 327.66ns 218.05ns -EtsOrdDs 64 476.32ns 235.78ns 473.87ns 251.70ns 225.02ns -EtsOrdDs 128 533.43ns 253.82ns 680.73ns 252.69ns 299.95ns -EtsOrdDs 256 603.88ns 280.40ns 582.88ns 237.83ns 257.31ns -EtsOrdDs 516 640.70ns 288.99ns 631.40ns 277.78ns 235.83ns -EtsOrdDs 1024 783.37ns 375.94ns 749.60ns 347.80ns 293.64ns -EtsOrdDs 2048 669.77ns 289.99ns 680.68ns 271.70ns 255.59ns -EtsOrdDs 4096 582.62ns 302.94ns 755.14ns 310.77ns 309.56ns -EtsOrdDs 8192 636.46ns 332.92ns 705.60ns 326.03ns 300.03ns -EtsOrdDs 16384 572.41ns 304.80ns 649.80ns 296.09ns 298.34ns -EtsOrdDs 32768 572.53ns 379.16ns 775.26ns 351.59ns 301.16ns -EtsOrdDs 65536 654.99ns 375.62ns 751.47ns 366.82ns 309.13ns -EtsOrdDs 131072 636.73ns 366.90ns 728.85ns 357.48ns 300.79ns -EtsOrdDs 524288 544.84ns 350.93ns 686.75ns 327.41ns 267.61ns -EtsOrdDs 1048576 610.36ns 393.07ns 776.48ns 352.97ns 293.04ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -DictDs 8 1721.19ns 301.57ns 863.03ns 183.93ns 1192.56ns -DictDs 16 1277.54ns 276.61ns 939.10ns 91.89ns 486.31ns -DictDs 32 2772.55ns 373.28ns 933.73ns 56.70ns 447.60ns -DictDs 64 1137.39ns 250.04ns 1020.10ns 37.79ns 469.18ns -DictDs 128 1168.12ns 399.00ns 1257.44ns 33.37ns 587.79ns -DictDs 256 1691.55ns 381.05ns 832.62ns 33.32ns 792.90ns -DictDs 516 1485.64ns 228.91ns 1000.85ns 28.80ns 681.30ns -DictDs 1024 1693.46ns 227.22ns 770.93ns 26.50ns 587.33ns -DictDs 2048 1164.59ns 204.62ns 742.93ns 24.75ns 515.04ns -DictDs 4096 1282.44ns 230.87ns 771.09ns 27.52ns 540.44ns -DictDs 8192 1676.28ns 264.63ns 1102.40ns 33.79ns 648.32ns -DictDs 16384 1691.98ns 321.93ns 1475.91ns 34.60ns 816.38ns -DictDs 32768 2299.15ns 378.49ns 2171.19ns 32.39ns 1530.05ns -DictDs 65536 3389.27ns 536.22ns 3439.51ns 67.70ns 2570.48ns -DictDs 131072 3503.61ns 501.04ns 4504.50ns 55.41ns 3692.33ns -DictDs 524288 11297.59ns 873.66ns 16967.99ns 131.90ns 14256.20ns -DictDs 1048576 23114.72ns 941.05ns 29721.31ns 137.72ns 25792.02ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -Gb_treesD 8 723.85ns 575.26ns 732.73ns 102.64ns 629.79ns -Gb_treesD 16 1325.54ns 310.54ns 642.16ns 59.05ns 555.45ns -Gb_treesD 32 1322.94ns 278.18ns 596.80ns 119.71ns 440.27ns -Gb_treesD 64 1606.07ns 353.45ns 839.12ns 42.36ns 516.72ns -Gb_treesD 128 1714.69ns 224.64ns 493.53ns 108.08ns 400.54ns -Gb_treesD 256 1704.37ns 262.77ns 556.03ns 28.35ns 459.92ns -Gb_treesD 516 1676.66ns 283.20ns 616.97ns 55.23ns 413.46ns -Gb_treesD 1024 1928.74ns 342.99ns 588.59ns 43.78ns 459.16ns -Gb_treesD 2048 2034.94ns 309.33ns 695.54ns 57.80ns 477.77ns -Gb_treesD 4096 2320.49ns 366.03ns 652.48ns 114.08ns 549.85ns -Gb_treesD 8192 2489.97ns 342.34ns 699.48ns 47.96ns 584.43ns -Gb_treesD 16384 2767.97ns 376.90ns 779.76ns 38.48ns 587.03ns -Gb_treesD 32768 2813.71ns 408.17ns 897.74ns 36.23ns 653.99ns -Gb_treesD 65536 3059.85ns 430.69ns 929.83ns 76.90ns 664.44ns -Gb_treesD 131072 3563.40ns 446.99ns 987.81ns 54.97ns 696.64ns -Gb_treesD 524288 4007.51ns 511.83ns 1161.14ns 49.22ns 729.95ns -Gb_treesD 1048576 4207.05ns 515.74ns 1265.28ns 63.05ns 775.72ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -SetsDs 8 1160.28ns 283.46ns notSupport 142.33ns 1078.94ns -SetsDs 16 1100.33ns 250.38ns notSupport 163.53ns 746.39ns -SetsDs 32 905.81ns 260.31ns notSupport 49.48ns 710.62ns -SetsDs 64 712.19ns 211.47ns notSupport 28.32ns 765.67ns -SetsDs 128 670.66ns 213.13ns notSupport 26.86ns 763.12ns -SetsDs 256 945.82ns 220.48ns notSupport 21.89ns 900.99ns -SetsDs 516 720.65ns 166.68ns notSupport 19.50ns 655.27ns -SetsDs 1024 756.98ns 181.62ns notSupport 18.69ns 697.27ns -SetsDs 2048 819.02ns 174.24ns notSupport 18.19ns 763.94ns -SetsDs 4096 838.81ns 174.29ns notSupport 19.39ns 719.50ns -SetsDs 8192 953.25ns 183.84ns notSupport 19.98ns 809.47ns -SetsDs 16384 1054.32ns 201.04ns notSupport 19.76ns 864.81ns -SetsDs 32768 1102.21ns 211.59ns notSupport 21.00ns 1042.74ns -SetsDs 65536 1425.85ns 217.67ns notSupport 21.07ns 1599.38ns -SetsDs 131072 2251.85ns 269.26ns notSupport 25.50ns 2690.01ns -SetsDs 524288 9565.43ns 565.76ns notSupport 30.02ns 11006.20ns -SetsDs 1048576 18746.14ns 667.29ns notSupport 39.70ns 22876.84ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -Gb_setsDs 8 719.36ns 256.35ns notSupport 98.78ns 915.11ns -Gb_setsDs 16 1658.58ns 243.80ns notSupport 62.21ns 507.52ns -Gb_setsDs 32 1042.79ns 247.54ns notSupport 43.41ns 610.20ns -Gb_setsDs 64 1092.46ns 192.30ns notSupport 33.22ns 657.98ns -Gb_setsDs 128 1426.40ns 255.11ns notSupport 28.29ns 389.38ns -Gb_setsDs 256 1456.13ns 252.24ns notSupport 28.69ns 412.01ns -Gb_setsDs 516 1534.20ns 256.50ns notSupport 26.63ns 429.62ns -Gb_setsDs 1024 1801.21ns 292.11ns notSupport 26.93ns 476.10ns -Gb_setsDs 2048 1823.43ns 291.97ns notSupport 28.66ns 471.68ns -Gb_setsDs 4096 2117.08ns 309.07ns notSupport 27.73ns 512.24ns -Gb_setsDs 8192 2364.89ns 329.30ns notSupport 27.34ns 622.15ns -Gb_setsDs 16384 2474.46ns 363.81ns notSupport 28.01ns 598.90ns -Gb_setsDs 32768 2564.18ns 381.35ns notSupport 26.78ns 590.60ns -Gb_setsDs 65536 2690.05ns 398.95ns notSupport 27.22ns 628.42ns -Gb_setsDs 131072 2996.92ns 427.84ns notSupport 27.56ns 682.06ns -Gb_setsDs 524288 3439.55ns 460.96ns notSupport 28.02ns 698.96ns -Gb_setsDs 1048576 3789.79ns 526.43ns notSupport 27.50ns 776.20ns - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -OrddictDs 8 387.81ns 302.86ns 795.67ns 82.34ns 303.07ns -OrddictDs 16 549.46ns 646.38ns 1080.89ns 55.89ns 830.76ns -OrddictDs 32 909.61ns 658.33ns 1649.18ns 39.37ns 749.39ns -OrddictDs 64 888.59ns 781.15ns 1921.28ns 31.03ns 1163.06ns -OrddictDs 128 1383.80ns 1359.16ns 2846.37ns 25.27ns 1791.45ns -OrddictDs 256 2907.86ns 2722.94ns 6459.80ns 28.80ns 3910.06ns -OrddictDs 516 4424.61ns 4595.77ns 12380.41ns 22.37ns 7182.28ns -OrddictDs 1024 8154.92ns 9917.63ns 23179.93ns 24.74ns 14782.06ns -OrddictDs 2048 17835.84ns 20745.90ns 45057.85ns 26.82ns 29645.77ns -OrddictDs 4096 31131.87ns 36615.38ns 83258.48ns 20.07ns 54002.91ns -OrddictDs 8192 54866.12ns 66403.54ns 153886.27ns 18.89ns 96364.15ns -OrddictDs 16384 111269.58ns 132394.78ns 314713.00ns 20.59ns 199593.75ns -OrddictDs 32768 228442.88ns 283863.26ns 659678.65ns 19.67ns 406311.92ns -OrddictDs 65536 skip skip skip skip skip -OrddictDs 131072 skip skip skip skip skip -OrddictDs 524288 skip skip skip skip skip -OrddictDs 1048576 skip skip skip skip skip - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -OrdsetsDs 8 247.34ns 187.30ns notSupport 69.75ns 186.86ns -OrdsetsDs 16 232.77ns 259.43ns notSupport 44.18ns 407.83ns -OrdsetsDs 32 343.69ns 336.82ns notSupport 25.43ns 351.07ns -OrdsetsDs 64 450.72ns 476.94ns notSupport 18.52ns 659.19ns -OrdsetsDs 128 797.83ns 1071.42ns notSupport 16.76ns 1141.76ns -OrdsetsDs 256 1138.67ns 1692.90ns notSupport 14.64ns 1727.25ns -OrdsetsDs 516 1990.54ns 3280.08ns notSupport 14.78ns 3126.52ns -OrdsetsDs 1024 3968.64ns 6852.53ns notSupport 14.80ns 6800.10ns -OrdsetsDs 2048 6871.30ns 14097.65ns notSupport 13.55ns 12583.90ns -OrdsetsDs 4096 14885.63ns 27057.22ns notSupport 13.63ns 26390.40ns -OrdsetsDs 8192 27433.13ns 53050.80ns notSupport 17.97ns 51582.20ns -OrdsetsDs 16384 53697.16ns 107563.32ns notSupport 13.66ns 103967.49ns -OrdsetsDs 32768 108119.39ns 217251.40ns notSupport 13.47ns 217236.17ns -OrdsetsDs 65536 240691.43ns 475047.53ns notSupport 14.32ns 500761.09ns -OrdsetsDs 131072 skip skip skip skip skip -OrdsetsDs 524288 skip skip skip skip skip -OrdsetsDs 1048576 skip skip skip skip skip - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -AtomicsDs 8 74.41ns 71.70ns 50.27ns 66.69ns notSupport -AtomicsDs 16 124.08ns 61.53ns 37.16ns 57.89ns notSupport -AtomicsDs 32 37.38ns 54.87ns 30.40ns 56.72ns notSupport -AtomicsDs 64 36.12ns 75.28ns 28.62ns 52.92ns notSupport -AtomicsDs 128 26.12ns 46.69ns 23.70ns 43.71ns notSupport -AtomicsDs 256 23.33ns 44.63ns 17.75ns 40.75ns notSupport -AtomicsDs 516 20.43ns 41.36ns 16.43ns 41.89ns notSupport -AtomicsDs 1024 23.84ns 50.85ns 21.17ns 46.58ns notSupport -AtomicsDs 2048 28.54ns 53.68ns 26.53ns 54.35ns notSupport -AtomicsDs 4096 16.97ns 42.40ns 15.83ns 41.67ns notSupport -AtomicsDs 8192 20.97ns 46.59ns 19.48ns 45.87ns notSupport -AtomicsDs 16384 17.31ns 42.93ns 16.45ns 43.68ns notSupport -AtomicsDs 32768 25.08ns 48.74ns 20.56ns 47.99ns notSupport -AtomicsDs 65536 24.75ns 51.49ns 24.09ns 47.87ns notSupport -AtomicsDs 131072 23.71ns 51.10ns 21.54ns 50.75ns notSupport -AtomicsDs 524288 20.39ns 51.64ns 21.57ns 52.80ns notSupport -AtomicsDs 1048576 22.66ns 53.66ns 19.94ns 53.93ns notSupport - -DsName V_Num insert/per read/per update/per for/per delete/per -===================================================================================== -PTermDs 8 12753.75ns 120.98ns notSupport notSupport notSupport -PTermDs 16 2550.38ns 104.76ns notSupport notSupport notSupport -PTermDs 32 2453.34ns 117.40ns notSupport notSupport notSupport -PTermDs 64 2554.92ns 127.89ns notSupport notSupport notSupport -PTermDs 128 2816.93ns 128.16ns notSupport notSupport notSupport -PTermDs 256 2004.16ns 107.38ns notSupport notSupport notSupport -PTermDs 516 2578.20ns 114.94ns notSupport notSupport notSupport -PTermDs 1024 1733.47ns 72.46ns notSupport notSupport notSupport -PTermDs 2048 2265.27ns 125.25ns notSupport notSupport notSupport -PTermDs 4096 3686.03ns 106.14ns notSupport notSupport notSupport -PTermDs 8192 5512.62ns 90.06ns notSupport notSupport notSupport -PTermDs 16384 10486.01ns 137.92ns notSupport notSupport notSupport -PTermDs 32768 18189.26ns 173.39ns notSupport notSupport notSupport -PTermDs 65536 33780.79ns 207.83ns notSupport notSupport notSupport -PTermDs 131072 74066.88ns 214.32ns notSupport notSupport notSupport -PTermDs 524288 skip skip skip skip skip -PTermDs 1048576 skip skip skip skip skip - diff --git a/src/docs/erlangApp相关.md b/src/docs/erlangApp相关.md deleted file mode 100644 index 532dccb..0000000 --- a/src/docs/erlangApp相关.md +++ /dev/null @@ -1,88 +0,0 @@ -文件命名为 - application_Name.app - -格式如下: -{application,"app名字", - [ - {description,"app描述"}, - {vsn ,"版本号"}, - {id ,Id},%%app id 同 erl -id ID - {modules,[Modules]},%%app包含的模块,systools模块使用它来生成script、tar文件 - {maxP,Num},%%进程最大值 - {maxT,Time},%%app运行时间 单位毫秒 - {registered,[mod]},%%指定app 名字模块,systools用来解决名字冲突 - {included_applictions ,[XX]},%%指定子 app,只加载,但是不启动 - {applictions,[xxxx]},%%启动自己的app前,appliation:ensure_all_started将会首先启动此列表的app application:start会检查该列表是否都启动 - {env,[xxxx]},%%配置app的env,可以使用application:get_env(AppName, Key)获取 - {mod,{xxx,args}},%%指定app启动模块,参数,对应自己app的application behavior - {start_phases,[{xxx,xxx}]]%%指定启动阶段一些操作,对应otp application start_phase函数 - ] -} - -必须要配置的为description,vsn,modules,registered,applications。 -Application为应用名, -descripttion为应用的简单描述 -id 产品标识 -vsn 应用版本 -modules 应用所涉及到的module -registered 注册进程 -applications 本应用启动时需要事先启动的其他应用 - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -erlang官网说明 - -{application, Application, - [{description, Description}, - {id, Id}, - {vsn, Vsn}, - {modules, Modules}, 本应用程序引入的所有模块。systools 在生成启动脚本和tar文件时使用这个列表。一个模块只能在一个应用程序中定义 - {maxP, MaxP}, 已经弃用了 - {maxT, MaxT}, 时间单位为毫秒 - {registered, Names}, 注册过程的所有名称均在此应用程序中启动。systools使用这个列表来检测不同应用程序之间的名字冲突 - {included_applications, Apps}, 此应用程序包含的所有应用程序 当此应用程序启动时,应用程序控制器会自动加载所有包含的应用程序,但不会启动。假设包含应用程序的最高管理者由本应用程序的主管启动 - {applications, Apps}, 允许启动此应用程序之前必须启动的所有应用程序。systools使用这个列表来生成正确的启动脚本。缺省为空列表,但请注意所有应用程序对(至少)Kernel和STDLIB都有依赖关系 - {env, Env}, 应用程序使用的配置参数。通过调用application:get_env / 1,2来检索配置参数的值 - {mod, Start}, 指定应用程序回调模块和启动参数 - 对于作为监督树实施的应用程序,密钥mod是必需的,否则应用程序控制器不知道如何启动它。 对于没有进程的应用程序(通常是代码库,例如STDLIB),可以省略mod - {start_phases, Phases}, - {runtime_dependencies, RTDeps}]}. 应用程序依赖的应用程序版本列表 - - Value Default - ----- ------- -Application atom() - -Description string() "" -Id string() "" -Vsn string() "" -Modules [Module] [] -MaxP int() infinity -MaxT int() infinity -Names [Name] [] -Apps [App] [] -Env [{Par,Val}] [] -Start {Module,StartArgs} [] -Phases [{Phase,PhaseArgs}] undefined -RTDeps [ApplicationVersion] [] - -Module = Name = App = Par = Phase = atom() -Val = StartArgs = PhaseArgs = term() -ApplicationVersion = string() - -如果要使用systools中的函数 需要设置下面的key参数 - description vsn modules registered applications - 其他的key被systools忽略 - -应用的策略 - application:start(Name, Type) -type: -• permanent: if the app terminates, the entire system is taken down, excluding manual termination of the app with application:stop/1. -• transient: if the app terminates for reason normal, that’s ok. Any other reason for termination shuts down the entire system. -• temporary: the application is allowed to stop for any reason. It will be reported, but nothing bad will happen. - - - - - - - - - \ No newline at end of file diff --git a/src/docs/erlangNif编程相关.md b/src/docs/erlangNif编程相关.md deleted file mode 100644 index 40ed442..0000000 --- a/src/docs/erlangNif编程相关.md +++ /dev/null @@ -1,64 +0,0 @@ -# 描述 - NIF库包含Erlang模块的某些功能的本机实现。像其他任何函数一样,调用本机实现的函数(NIF),与调用方没有任何区别。 - NIF库被构建为动态链接的库文件,并通过调用erlang:load_nif / 2在运行时加载。 - - 警告 - 谨慎使用此功能。 - 执行本机功能作为VM的本机代码的直接扩展。执行不是在安全的环境中进行的。VM 无法提供与执行Erlang代码时相同的服务, - 例如抢先式调度或内存保护。如果本机功能运行不正常,则整个VM都会出现异常。 - 崩溃的本机功能将使整个VM崩溃。 - 错误实现的本机功能可能会导致VM内部状态不一致,从而导致VM崩溃或在调用本机功能后的任何时候VM的其他异常行为。 - 在返回之前进行长时间工作的本机功能会降低VM的响应能力,并可能导致其他奇怪的行为。这种奇怪的行为包括但不限于极端的内存 - 使用情况以及调度程序之间的不良负载平衡。在Erlang / OTP发行版之间,由于冗长的工作而可能发生的奇怪行为也会有所不同。 - -# 简单示例 -``` - /* niftest.c */ - #include - static ERL_NIF_TERM hello(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) - { - return enif_make_string(env, "Hello world!", ERL_NIF_LATIN1); - } - static ErlNifFunc nif_funcs[] = - { - {"hello", 0, hello} - }; - ERL_NIF_INIT(niftest,nif_funcs,NULL,NULL,NULL,NULL) -``` -``` - -module(niftest). - -export([init/0, hello/0]). - -on_load(init/0). - init() -> - erlang:load_nif("./niftest", 0). - - hello() -> - erlang:nif_error("NIF library not loaded"). -``` - 在上面的示例中,使用了on_load指令,该命令功能是在加载模块时自动调用的指定的函数-init/0。 - init函数初始化依次调用erlang:load_nif / 2 , - 该加载器会加载NIF库,并用C中的本机实现替换hello函数。加载后,NIF库将保持不变。在清除它所属的模块代码版本之前,不会将其卸载。 - 如果在成功加载NIF库之前调用了该函数,则每个NIF必须具有用Erlang调用的实现。典型的此类存根实现是调用erlang:nif_error, - 这将引发异常。如果NIF库缺少某些操作系统或硬件体系结构的实现,则Erlang函数也可以用作后备实现。 - - 注意 - NIF不必导出,它可以在模块本地。但是,编译器会优化未使用的本地存根函数,从而导致NIF库的加载失败。 - -# 功能性 - NIF代码和Erlang运行时系统之间的所有交互都是通过调用NIF API函数来执行的。存在以下功能的功能: - 读写Erlang术语 - 任何Erlang术语都可以作为函数参数传递给NIF,并作为函数返回值返回。这些术语属于C类型的 ERL_NIF_TERM,只能使用API​​函数读取或写入。大部分用于读取术语内容的函数都以enif_get_为前缀,并且如果该术语属于预期类型(或非预期类型),则通常返回 true(或false)。编写术语的函数都带有enif_make_前缀 ,通常返回创建的ERL_NIF_TERM。还有一些查询术语的函数,例如enif_is_atom,enif_is_identical和enif_compare。 - - 类型的所有方面ERL_NIF_TERM属于类型的环境ErlNifEnv。术语的生存期由其环境对象的生存期控制。读取或写入术语的所有API函数都将术语所属的环境作为第一个函数参数 - -增加和减少资源的引用计数的次数必须匹配,否则可能引发问题。 -至此,持久资源的主要接口的实现就介绍完了,用户使用时,可以先通过enif_open_resource_type建立资源类型的描述符, -然后利用此描述符,使用enif_alloc_resource分配资源所占用的内存空间,使用enif_make_resource将资源导出到erlang模块层, -在进程间传递资源描述符,资源再传回NIF时,可以通过enif_get_resource取回资源描述符中的资源数据结构, -同时可以通过enif_keep_resource来共享资源,通过enif_release_resource来放弃使用资源,gc系统也会正确回收引用计数为0的资源, -开发者再也不用担心内存没有被正确释放了。 -持久资源为NIF的开发带来了极大的便利,用户可以将一些大规模的数据结构一次传入内存,生成一个资源描述符, -然后在进程间传递资源描述符而不是资源数据本身,减轻每次资源数据拷贝的开销,同时持久资源也是线程安全的, -写erlang程序也可以像写c程序一样高效了。 - - \ No newline at end of file diff --git a/src/docs/erlangSupervisor相关.md b/src/docs/erlangSupervisor相关.md deleted file mode 100644 index 77f80c3..0000000 --- a/src/docs/erlangSupervisor相关.md +++ /dev/null @@ -1,243 +0,0 @@ -### 监督原则 - 主管负责启动,停止和监视其子进程。主管的基本思想是,必须通过在必要时重新启动子进程来保持其子进程活动。 - 主管的孩子被定义为孩子规格列表 。当主管启动时,将根据此列表从左到右依次启动子进程。主管终止时,它首先以相反的启动顺序从右到左终止其子进程。 - - sup_flags() = - #{strategy => strategy(), % optional - intensity => non_neg_integer(), % optional - period => pos_integer() % optional - } -#### 重启策略 - one_for_one-如果一个子进程终止并要重新启动,则仅影响该子进程。这是默认的重启策略。 - one_for_all-如果一个子进程终止并要重新启动,则所有其他子进程均终止,然后重新启动所有子进程。 - rest_for_one-如果一个子进程终止并要重新启动,则子进程的“剩余”(即,按照启动顺序终止的子进程之后的子进程)将终止。 - 然后,终止的子进程以及重新启动后的所有子进程。 - - simple_one_for_one-简化的one_for_one 主管,其中所有子进程都是动态添加的,具有相同进程类型(即,运行相同代码)的实例。 - 功能 delete_child / 2和 restart_child / 2 是无效simple_one_for_one监事和回报 {错误,simple_one_for_one}如果指定的主管使用此重启策略。 - - 通过将子级的pid()指定为第二个参数,可以将函数terminate_child / 2用于simple_one_for_one主管下的子级。 - 如果改用子规范标识符,则 terminate_child / 2返回 {error,simple_one_for_one}。 - - 由于simple_one_for_one主管可以有多个子代,因此它会异步关闭所有子代。这意味着孩子们并行进行清理,因此未定义他们停止的顺序 - - 为了防止主管进入子进程终止和重新启动的无限循环,使用上面映射中的键强度和周期指定的两个整数值来定义最大重新启动强度。 - 假设值MAXR为强度 和MAXT为周期,然后,如果超过MAXR 重新启动内发生MAXT秒,监控终止所有的子进程,然后本身。在这种情况下, - 主管本身的终止原因将被关闭。 强度默认为1,期间默认为 5。 - -#### 子进程规范 - child_spec() = - #{ - id => child_id(), % mandatory - start => mfargs(), % mandatory - restart => restart(), % optional - shutdown => shutdown(), % optional - type => worker(), % optional - modules => modules() % optional - } - - id用于由主管内部标识子规范。该ID关键是强制性的。 - 请注意,这个在职业上的标识符被称为“名称”。现在尽可能使用术语“标识符”或“ id”,但为了保持向后兼容性,仍然可以找到“名称”的某些出现,例如在错误消息中。 - start定义用于启动子进程的函数调用。它必须是用作apply(M,F,A)的模块功能参数元组{M,F,A}。 - 启动函数必须创建并链接到子进程,并且必须返回{ok,Child}或 {ok,Child,Info},其中Child是子进程的pid,Info是主管忽略的任何术语。 - restart定义终止的子进程何时必须重新启动。 - 一个permanent 的子进程总是会重启。 - 一个temporary 的子进程不会再重新启动(甚至当主管的重启策略是rest_for_one或one_for_all和兄弟姐妹的死亡原因临时进程被终止)。 - 一个transient的子进程重新启动,只有当它异常终止,即与另一个出口原因,而不是 normal,shutdown,或{shutdown,Term}。 - 该restart是可选的。如果未指定,则默认为permanent.。 - shutdown定义必须终止子进程的方式。 - brutal_kill意味着子进程使用exit(Child,kill)无条件终止 - 整数超时值表示主管通过调用exit(Child,shutdown)告诉子进程终止 ,然后等待退出信号,原因是该子进程退出了shutdown。如果在指定的毫秒数内未收到退出信号,则使用exit(Child,kill)无条件终止子进程 。 - infinity 如果子进程是另一个主管,则必须将关闭时间设置为infinity,以使子树有足够的时间关闭。 - - 对于类型为Supervisor的孩子,将关闭时间设置为无穷大以外的任何时间,都 可能导致比赛状态,在该情况下,所讨论的孩子会取消其自己的孩子的链接,但无法在杀死孩子之前终止他们。 - - 如果子进程是工作进程,也可以将其设置为infinity。 - 当子进程为工作进程时,将关闭时间设置为无穷大时要小心 。因为在这种情况下,监视树的终止取决于子进程,所以它必须以安全的方式实现,并且其清除过程必须始终返回。 - - 在shutdown 是可选的。如果未指定,则在子类型为worker的情况下默认为5000,在子类型为supervisor的情况下默认为infinity。 - type specifies if the child process is a supervisor or a worker. - 该type关键是可选的。如果未指定,则默认为worker。. - - modules 在代码替换期间,释放处理程序将使用modules模块来确定哪些进程正在使用某个模块。作为一个经验法则,如果孩子过程是一个 主管,gen_server或, - gen_statem,这是为与一个元素列表[模块],其中模块是回调模块。如果子进程是具有动态回调模块集的事件管理器(gen_event),则 必须使用动态值。 - 有关发布处理的更多信息,请参见 OTP设计原则中的发布处理。 - 该modules的关键是可选的。如果未指定,则默认为[M],其中M来自孩子的开头{M,F,A}。 - Internally 主管还跟踪PID的 孩子的孩子的过程中,或者不确定如果没有PID存在。 - - -#### 函数 - count_children(SupRef) -> PropListOfCounts - Types SupRef = sup_ref() - PropListOfCounts = [Count] - Count = - {specs, ChildSpecCount :: integer() >= 0} | 已死或活着的孩子总数。 - {active, ActiveProcessCount :: integer() >= 0} | 此主管管理的所有正在运行的子进程的计数 - 对于 simple_one_for_one主管,不会执行任何检查以确保每个子进程仍处于活动状态,尽管除非主管非常重载,否则此处提供的结果可能非常准确。 - {supervisors, ChildSupervisorCount :: integer() >= 0} | 规范列表中标记为child_type =主管的所有子进程的计数 ,无论该子进程是否仍在运行 - {workers, ChildWorkerCount :: integer() >= 0} -标记为所有儿童的数量 CHILD_TYPE =工人在规范列表中,如果不管孩子进程仍然活着。 - - delete_child(SupRef, Id) -> Result - Types SupRef = sup_ref() - Id = child_id() - Result = ok | {error, Error} - Error = running | restarting | not_found | simple_one_for_one - - 告诉主管SupRef删除Id标识的子规范。相应的子进程一定不能运行。使用 terminate_child / 2终止它。 - 如果成功,函数将返回ok。如果存在由ID标识的子规范,但相应的子进程正在运行或将要重新启动,则该函数分别返回{error,running}或 {error,restarting}。如果由ID标识的子规范不存在,则该函数返回{error,not_found}。 - - - get_childspec(SupRef, Id) -> Result - Types - SupRef = sup_ref() - Id = pid() | child_id() - Result = {ok, child_spec()} | {error, Error} - Error = not_found - - 返回由Id在主管SupRef下标识的子项的子项规范图。返回的映射包含所有键,包括必需键和可选键。 - - - restart_child(SupRef, Id) -> Result - Types - SupRef = sup_ref() - Id = child_id() - Result = - {ok, Child :: child()} | - {ok, Child :: child(), Info :: term()} | - {error, Error} - Error = - running | restarting | not_found | simple_one_for_one | term() - - 告诉主管SupRef重新启动与Id标识的子规范相对应的子进程。子规范必须存在,并且相应的子进程一定不能运行。 - 注意,对于临时子代,子代说明在子代终止时会自动删除;因此,不可能重新启动此类子级。 - 如果由ID标识的子规范不存在,则该函数返回{error,not_found}。如果子规范存在但相应的进程已在运行,则该函数返回{error,running}。 - 如果子进程启动函数返回{ok,Child} 或{ok,Child,Info},则将pid添加到主管,并且该函数返回相同的值。 - 如果子进程启动函数返回ignore,则pid保持设置为undefined,该函数返回{ok,undefined}。 - 如果子进程启动函数返回错误元组或错误值,或者失败,则该函数返回 {error,Error},其中Error是包含有关错误信息的术语。 - - start_child(SupRef, ChildSpec) -> startchild_ret() - Types - SupRef = sup_ref() - ChildSpec = child_spec() | (List :: [term()]) - startchild_ret() = - {ok, Child :: child()} | - {ok, Child :: child(), Info :: term()} | - {error, startchild_err()} - startchild_err() = - already_present | {already_started, Child :: child()} | term() - ChildSpec必须是有效的子规范(除非主管是simple_one_for_one 主管;请参见下文)。通过使用子规范中定义的启动功能来启动子进程。 - 对于simple_one_for_one主管,将使用Module:init / 1中定义的子规范,而ChildSpec必须改为是List的任意列表。然后,通过将List附加到现有的启动函数参数(即,通过调用apply(M,F,A ++ List))来 启动子进程,其中{M,F,A}是子规范中定义的启动函数。 - - 如果已经存在带有指定标识符的子规范,则将丢弃ChildSpec,并且该函数将根据相应的子进程是否在运行而返回{error,already_present}或 {error,{already_started,Child}}。 - 如果子进程启动函数返回 {ok,Child}或 {ok,Child,Info},则将子规范和pid添加到主管,并且该函数返回相同的值。 - 如果子进程启动函数返回ignore,则将子规范添加到主管(除非该主管是simple_one_for_one主管,请参见下文),将pid设置为undefined,并且该函数返回 {ok,undefined}。 - 对于simple_one_for_one主管,当子进程启动函数返回ignore时,该函数将返回 {ok,undefined},并且没有子级添加到主管。 - 如果子进程启动函数返回错误元组或错误值,或者失败,则子规范被丢弃,函数返回{error,Error},其中 Error是包含有关错误和子规范的信息的术语。 - - start_link(模块,Args)-> startlink_ret() - start_link(SupName,Module,Args)-> startlink_ret() - 种类 - SupName = sup_name() - 模块= module() - Args = term() - startlink_ret()= - {确定,pid()} | 忽略| {错误,startlink_err()} - startlink_err()= - {已经开始,pid()} | {关机,term()} | 术语() - sup_name()= - {本地,名称:: atom()} | - {global,Name :: atom()} | - {via,Module :: module(),Name :: any()} - 创建一个监督程序,作为监督树的一部分。例如,该功能可确保主管链接到呼叫过程(其主管)。 - - 创建的主管进程将调用 Module:init / 1来查找有关重启策略,最大重启强度和子进程的信息。为了确保同步启动过程,在返回Module:init / 1并启动所有子进程之前,不会返回 start_link / 2,3。 - - 如果SupName = {local,Name},则主管使用register / 2在本地注册为Name。 - - 如果SupName = {global,Name},则使用 global:register_name / 2将主管全局注册为Name。 - - 如果 SupName = {via,Module,Name},则使用Module表示的注册表将主管注册为Name。所述模块的回调必须导出功能REGISTER_NAME / 2, unregister_name / 1,和发送/ 2,它必须表现得像在相应的功能 全球。因此, {via,global,Name}是有效的引用。 - - 如果未提供姓名,则主管未注册。 - - 模块是回调模块的名称。 - - Args是作为参数传递给Module:init / 1的任何术语。 - - 如果成功创建了主管及其子进程(即,如果所有子进程启动函数都返回 {ok,Child},{ok,Child,Info}或ignore),则该函数返回{ok,Pid},其中Pid是主管的pid。 - - 如果已经存在具有指定SupName的进程,则 该函数返回 {error,{already_started,Pid}},其中Pid是该进程的pid。 - - 如果Module:init / 1返回ignore,则此函数也返回ignore,并且supervisor因normal终止。 - - 如果Module:init / 1失败或返回错误值,则此函数返回{error,Term},其中 Term是包含有关错误信息的术语,而主管则以Term终止。 - - 如果任何子进程启动功能失败或返回错误的元组或错误值,则主管首先使用原因shutdown终止所有已启动的子进程, 然后终止自身并返回 {error,{shutdown,Reason}}。 - - - Terminate_child(SupRef,Id)->结果 - 种类 - SupRef = sup_ref() - ID = pid()| child_id() - 结果=正常| {错误,错误} - 错误=找不到| simple_one_for_one - 告诉主管SupRef终止指定的孩子。 - - 如果主管不是simple_one_for_one,则 ID必须是子规范标识符。该过程(如果有的话)将终止,并且除非它是一个临时子进程,否则该子进程规范将由主管保留。子进程以后可以由主管重新启动。子进程也可以通过调用restart_child / 2显式重启 。使用 delete_child / 2 删除子级规范。 - - 如果子级是临时的,则该子级规范将在过程终止后立即删除。这意味着delete_child / 2没有意义,并且restart_child / 2不能用于这些子级。 - - 如果主管是simple_one_for_one,则 ID 必须是子进程的pid()。如果指定的进程处于活动状态,但不是指定的主管的子进程,则该函数返回 {error,not_found}。如果指定了子规范标识符而不是pid(),则函数返回{error,simple_one_for_one}。 - - 如果成功,函数将返回ok。如果没有带有指定ID的子规范,则该函数返回{error,not_found}。 - - 有关SupRef的描述,请参见 start_child / 2。 - - - which_children(SupRef)-> [{Id,Child,Type,Modules}] - 种类 - SupRef = sup_ref() - ID = child_id() | 未定义 - 子= 子() | 重新开始 - 类型= worker() - 模块= modules() - 返回一个新创建的列表,其中包含有关属于主管SupRef的所有子规范和子进程的信息。 - - 请注意,在内存不足的情况下监视多个子项时调用此函数可能会导致内存不足异常。 - - 有关SupRef的描述,请参见 start_child / 2。 - - 为每个子规范/过程提供以下信息: - - Id-在子规范中定义,或 为simple_one_for_one主管未定义。 - - 子 -相应子进程的pid,如果该进程将要重新启动,则原子重新启动;如果没有这样的进程,则未定义。 - - 类型 -子规范中定义的类型。 - - 模块 -子规范中定义的模块。 - - - Module:init(Args)->结果 - 种类 - Args = term() - 结果= {确定,{SupFlags,[ChildSpec]}} | 忽视 - SupFlags = sup_flags() - ChildSpec = child_spec() - 每当使用start_link / 2,3启动管理员时 ,新进程就会调用此函数以查找有关重新启动策略,最大重新启动强度和子级规范的信息。 - - Args是提供给start函数的Args参数。 - - SupFlags是主管标志,用于定义主管的重新启动策略和最大重新启动强度。[ChildSpec]是有效的子规范的列表,这些规范定义了主管必须启动和监视的子进程。请参阅前面的“ 监督原则”一节中的讨论 。 - - 请注意,当重新启动策略为 simple_one_for_one时,子规范的列表必须是仅包含一个子规范的列表。(忽略子规范标识符。)然后,在初始化阶段不启动任何子进程,但是假定所有子进程都使用start_child / 2动态启动 。 - - 该函数还可以返回ignore。 - - 请注意,此功能也可以作为代码升级过程的一部分来调用。因此,该功能不应有任何副作用。有关管理程序代码升级的更多信息,请参阅《OTP设计原则》中的“ 更改管理程序”部分 。 - - - - - - \ No newline at end of file diff --git a/src/docs/erlangVS环境编译nifdll.md b/src/docs/erlangVS环境编译nifdll.md deleted file mode 100644 index b03b9c9..0000000 --- a/src/docs/erlangVS环境编译nifdll.md +++ /dev/null @@ -1,35 +0,0 @@ -# window下编译nif dll 需要安装vs - -## 第一种 makefile配置(可参考jiffy的Makefile) 命令行下编译dll 需要设置vs相关环境变量 -具体要设置的环境变量可参考下面几个 -``` -path 新增 - D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64 - -LIB - D:\Windows Kits\10\Lib\10.0.18362.0\ucrt\x64 - D:\Windows Kits\10\Lib\10.0.18362.0\um\x64 - D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.24.28314\lib\x64 - -INCLUDE - D:\Windows Kits\10\Include\10.0.18362.0\ucrt - D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.24.28314\include -``` - -### 脚本配置 - VsDevCmd.bat 文件设置适当的环境变量来生成命令行。 - 备注 - Visual Studio 2015 及更早版本基于相同目的使用 VSVARS32.bat,而不是 VsDevCmd.bat。 - 此文件保存在 - Program Files\Microsoft Visual Studio\Version \Common7\Tools 或 - Program Files (x86)\Microsoft Visual Studio\Version \Common7\Tools。 - -## 第二种 在vs单独编译 然后拷贝使用 - VS编译 - 1 新建空项目或者从现有代码创建项目 - 2 先选择 编辑框上边的 解决方案配置 与 解决方案平台 - 3 右键项目属性 设置 配置与第2步 解决方案配置 一样 设置 平台与第二步设置的 解决方案平台 一样 - 4 右键项目属性 配置属性 -> 常规 -> 配置类型 ->动态库(.dll) - 5 右键项目属性 配置属性 -> VC++目录 -> 包含目录 新增 D:\Program Files\erl10.6\erts-10.6\include - 6 右键项目属性 生成 - 注意编译使用的erlang include要合使用的erl版本对应 \ No newline at end of file diff --git a/src/docs/erlang二进制.md b/src/docs/erlang二进制.md deleted file mode 100644 index 2dd26e6..0000000 --- a/src/docs/erlang二进制.md +++ /dev/null @@ -1,95 +0,0 @@ -## 二进制语法 - Bin = <> - <> = Bin - 每个E 1..n 指定bitstring的Segment - 每个段具有以下一般语法: - Value:Size/TypeSpecifierList - 可以省略Size或TypeSpecifier或两者。因此,允许以下变体: - Ei = - Value | - Value:Size | - Value/TypeSpecifierList | - Value:Size/TypeSpecifierList -### Value - 当在二进制构造中使用时,Value部分是任何表达式,用于求值为整数,浮点或位串,如果表达式不是单个文字或变量,则将其括在括号中。 - 在二进制匹配中使用时,用于位串匹配,Value必须是变量,或整数,浮点或字符串,简单而言就是Value部分必须是文字或变量。 -### Size - 在位串构造中使用,Size是要求求整数的表达式。 - 用于位串匹配,Size必须是整数,或绑定到整数的变量。 - Size的值以Unit指定段的大小,默认值取决于类型 - • For integer it is 8. - • For float it is 64. - • For binary and bitstring it is the whole binary or bit string. - 在匹配中,此默认值仅对最后一个元素有效。匹配中的所有其他位串或二进制元素必须具有大小规范,段的大小Size部分乘以TypeSpecifierList中的unit(稍后描述)给出了段的位数.对于utf8,utf16和utf32类型,不得给出Size的大小。段的大小由类型和值本身隐式确定。 - -### TypeSpecifierList - 是一个类型说明符列表,按任何顺序,用连字符("-")分隔。默认值用于任何省略的类型说明符 -#### Type - Type= integer | float | binary | bytes | bitstring | bits | utf8 | utf16 | utf32 - 默认值为integer。bytes是二进制的简写,bits是bitstring的简写。有关utf类型的更多信息,请参见下文。 -#### Signedness - Signedness= signed | unsigned - 只有匹配和类型为整数时才有意义。默认值为无符号。 -#### Endianness - Endianness= big | little | native - Native-endian意味着字节顺序在加载时被解析为big-endian或little-endian,具体取决于运行Erlang机器的CPU的本机内容。仅当Type为integer,utf16,utf32或float时,字节顺序才有意义。默认值为big。 -#### Unit - Unit= unit:IntegerLiteral - 允许的范围是1..256。对于integer,float和bitstring,默认值为1;对于binary,默认值为8。对于utf8,utf16和utf32类型,不能给出Unit说明符。 - 它与Size说明符相乘,以给出段的有效大小。单位大小指定没有大小的二进制段的对齐方式,二进制类型的段必须具有可被8整除的大小 - -### 注意 - 构造二进制文件时,如果整数段的大小N太小而不能包含给定的整数,则整数的最高有效位将被静默丢弃,并且只有N个最低有效位被放入二进制。 -#### 例子: - X:4/little-signed-integer-unit:8 - 该元素的总大小为4 * 8 = 32位,它包含一个小端序的有符号整数 - -### 关于 utf8 utf16 utf32 - 构造utf类型的段时,Value必须是0..16#D7FF或16#E000 .... 16#10FFFF范围内的整数。如果Value超出允许范围,则构造将失败并返回badarg异常。生成的二进制段的大小取决于类型或值,或两者: - • For utf8, Value is encoded in 1-4 bytes. - • For utf16, Value is encoded in 2 or 4 bytes. - • For utf32, Value is always be encoded in 4 bytes. - 构造时,可以给出一个文字字符串,后跟一个UTF类型,例如:<<“abc”/ utf8 >>,这是<< $ a / utf8,$ b / utf8,$ c / utf8的语法糖>>。 - 成功匹配utf类型的段,得到0..16#D7FF或16#E000..16#10FFFF范围内的整数。 - 如果返回值超出这些范围,则匹配失败。 - - -### 如何实现二进制文件 - 在内部,二进制和位串以相同的方式实现。 - 内部有四种类型的二进制对象: - 两个是二进制数据的容器,称为: - • Refc binaries (short for reference-counted binaries) - • Heap binaries - 两个仅仅是对二进制文件的一部分的引用,被称为: - • sub binaries - • match contexts - -### Refc Binaries - Refc二进制文件由两部分组成: - •存储在进程堆上的对象,称为ProcBin - •二进制对象本身,存储在所有进程堆之外 - 任何数量的进程都可以通过任意数量的ProcBins引用二进制对象。该对象包含一个引用计数器,用于跟踪引用的数量,以便在最后一个引用消失时将其删除。 - 进程中的所有ProcBin对象都是链表的一部分,因此当ProcBin消失时,垃圾收集器可以跟踪它们并减少二进制文件中的引用计数器。 - -### Heap Binaries - 堆二进制文件是小型二进制文件,最多64个字节,并直接存储在进程堆上。它们在进程被垃圾收集时以及作为消息发送时被复制。它们不需要垃圾收集器进行任何特殊处理。 -### Sub Binaries - The reference objects sub binaries and match contexts can reference part of a refc binary or heap binary - 子二进制文件由split_binary / 2创建或者当二进制文件以二进制模式匹配时。子二进制是对另一个二进制文件(refc或堆二进制文件的一部分,但从不进入另一个子二进制文件)的引用。因此,匹配二进制文件相对便宜,因为实际的二进制数据永远不会被复制。 -### Match Context - 匹配上下文类似于子二进制,但针对二进制匹配进行了优化 - -### 关于iolist - 定义(直接引用霸爷的文章) - 1. [] - 2. binary - 3. 列表, 每个元素是int(0-255)或者binary或者iolist. - 其中binary是指 bitsize % 8 == 0 . - int 是0-255 - Iolist的作用是用于往port送数据的时候.由于底层的系统调用如writev支持向量写, 就避免了无谓的iolist_to_binary这样的扁平话操作, 避免了内存拷贝,极大的提高了效率. - 另外额外补充: - erlang中列表时在头部添加比较高效,但是binary是在尾部追加更高效 - -### 关于消息接收转发解码和发送 - erlang通常会将接收到的消息由网关进程转发给其他工作进程, 建议先匹配消息id, 然后转发二进制消息到工作进程,然后由工作进程解码再处理 - 同时广播消息可先编码成二进制之后再广播, 避免重复编码 \ No newline at end of file diff --git a/src/docs/erlang套接字编程.md b/src/docs/erlang套接字编程.md deleted file mode 100644 index e1b65e4..0000000 --- a/src/docs/erlang套接字编程.md +++ /dev/null @@ -1,448 +0,0 @@ -## gen_tcp 编程接口 - -#### listen(Port, Options) -> {ok, ListenSocket} | {error, Reason} - Types - Port = inet:port_number() - Options = [listen_option()] - ListenSocket = socket() - Reason = system_limit | inet:posix() - 设置一个套接字以侦听本地主机上的端口Port。 - - 用法: - listen(Port, Options) -> {ok, ListenSocket} | {error, Reason} - 在本地开启一个监听某个端口的套接字(socket)。开启成功的话,会返回一个套接字标识符 Socket,其一般会传递给 get_tcp:accept/1 或 get_tcp:accept/2 调用。 - - 如果参数 Port 为 0,那么底层操作系统将赋值一个可用的端口号,可以使用 inet:port/1 来获取一个 socket 监听的端口。 - - 连接到IP地址为Address的主机的TCP端口Port上的服务器。参数 地址可以是主机名或IP地址。 - 提供以下选项: - {ip, Address} - 如果主机有许多网络接口,则此选项指定要使用的接口。 - {ifaddr, Address} - 与{ip,Address}相同。如果主机有许多网络接口,则此选项指定要使用的接口。 - {fd, integer() >= 0} - 如果以某种方式未使用gen_tcp连接了套接字 ,请使用此选项传递文件描述符。如果将{ip,Address}和/或 {port,port_number()}与该选项结合使用,则 在连接前将fd绑定到指定的接口和端口。如果未指定这些选项,则假定fd已被适当绑定。 - inet - 为IPv4设置套接字。 - inet6 - 设置用于IPv6的套接字。 - local - 设置Unix域套接字。见 inet:local_address() - {port,Port} - 指定要使用的本地端口号。 - - {tcp_module, module()} - 覆盖使用哪个回调模块。默认为 inet_tcp IPv4和inet6_tcp使用IPv6。 - Opt - 参见 inet:setopts / 2。 - - 可以使用send / 2将数据包发送到返回的套接字Socket。 从对等方发送的数据包将作为消息传递: - {tcp, Socket, Data} - - 如果套接字处于{active,N}模式(有关详细信息,请参见inet:setopts / 2),并且其消息计数器降至0,则将传递以下消息以指示套接字已转换为被动({active,false}) 模式: - {tcp_passive, Socket} - - 如果套接字已关闭,则会发出以下消息: - {tcp_closed, Socket} - - 如果套接字上发生错误,则会传递以下消息(除非在套接字的选项列表中指定了{active,false},在这种情况下,可通过调用recv / 2来检索数据包): - {tcp_error, Socket, Reason} - - 可选的Timeout参数指定超时(以毫秒为单位)。默认为infinity。 - 注意::: - 请记住,如果底层OS connect()的调用返回超时,调用gen_tcp:连接也将返回超时(即{错误,ETIMEDOUT} ),即使较大的超时指定。 - 指定要连接的选项的默认值会受到内核配置参数 inet_default_connect_options的影响。有关详细信息,请参见 inet(3)。 - - 参数 Options 的一些常用选项: - - {active, true}:套接字设置为主动模式。所有套接字接收到的消息都作为 Erlang 消息转发到拥有这个套接字进程上。当开启一个套接字时,默认是主动模式。 - {active, false}:设置套接字为被动模式。套接字收到的消息被缓存起来,进程必须通过调用函数 gen_tcp:recv/2 或 gen_tcp:recv/3 来读取这些消息。 - {active, once}:将设置套接字为主动模式,但是一旦收到第一条消息,就将其设置为被动模式,并使用 gen_tcp:recv/2 或 gen_tcp:recv/3 函数来读取后续消息。 - {keepalive, true}:当没有转移数据时,确保所连接的套接字发送保持活跃(keepalive)的消息。因为关闭套接字消息可能会丢失,如果没有接收到保持活跃消息的响应,那么该选项可确保这个套接字能被关闭。默认情况下,该标签是关闭的。 - {nodelay, true}:数据包直接发送到套接字,不过它多么小。在默认情况下,此选项处于关闭状态,并且与之相反,数据被聚集而以更大的数据块进行发送。 - {packet_size, Size}:设置数据包允许的最大长度。如果数据包比 Size 还大,那么将认为这个数据包无效。 - {packet, 0}:表示 Erlang 系统会把 TCP 数据原封不动地直接传送给应用程序 - {reuseaddr, true}:允许本地重复使用端口号 - {delay_send, true}:数据不是立即发送,而是存到发送队列里,等 socket 可写的时候再发送 - {backlog, 1024}:缓冲区的长度 - {exit_on_close, false}:设置为 flase,那么 socket 被关闭之后还能将缓冲区中的数据发送出去 - {send_timeout, 15000}:设置一个时间去等待操作系统发送数据,如果底层在这个时间段后还没发出数据,那么就会返回 {error,timeout} - - {Rand, _RandSeed} = random:uniform_s(9999, erlang:now()), - Port = 40000 + Rand, - gen_tcp:listen(Port, [binary, {packet, 0}, {active, false}]). - -#### accept(ListenSocket) -> {ok, Socket} | {error, Reason} accept(ListenSocket, Timeout) -> {ok, Socket} | {error, Reason} - Types - ListenSocket = socket() Returned by listen/2. - Timeout = timeout() Socket = socket() Reason = closed | timeout | system_limit | inet:posix() - 在侦听套接字上接受传入的连接请求。 套接字必须是从listen / 2返回的套接字 。 超时以毫秒为单位指定超时值。默认为infinity。 - - 返回值: - {ok, Socket} if a connection is established - {error, closed} if ListenSocket is closed - {error, timeout} if no connection is established within the specified time - {error, system_limit} if all available ports in the Erlang emulator are in use - A POSIX error value if something else goes wrong, see inet(3) for possible error values - - 用法: - 该函数会引起进程阻塞,直到有一个连接请求发送到监听的套接字。 - - 如果连接已建立,则返回 {ok,Socket}; - 或如果 ListenSocket 已经关闭,则返回{error,closed}; - 或如果在指定的时间内连接没有建立,则返回{error,timeout}; - 或如果 Erlang 虚拟机里可用的端口都被使用了,则返回 {error, system_limit}; - 如果某些东西出错,也可能返回一个 POSIX 错误。一些有可能的错误请查看 inet 模块的相关说明。 - - 使用 gen_tcp:send/2 向该函数返回的套接字 Socket 发送数据包。往端口发送的数据包会以下面格式的消息发送: - {tcp, Socket, Data} - 如果在建立套接字 Socket 的时候选项列表中指定了 {active,false},这样就只能使用 gen_tcp:recv/2 或 gen_tcp:recv/3 来接收数据包了。 - - {Rand, _RandSeed} = random:uniform_s(9999, erlang:now()), - Port = 40000 + Rand, - case gen_tcp:listen(Port, [binary, {packet, 0}, {active, false}]) of - {ok, ListenSocket} -> - case gen_tcp:accept(ListenSocket) of - {ok, Socket} -> - Socket; - {error, SocketAcceptFail} -> - SocketAcceptFail - end; - _ -> - socket_listen_fail - end. - -#### connect(Address, Port, Options) -> {ok, Socket} | {error, Reason} -#### connect(Address, Port, Options, Timeout) -> {ok, Socket} | {error, Reason} - Types - Address = inet:socket_address() | - inet:hostname() Port = inet:port_number() - Options = [connect_option()] - Timeout = timeout() - Socket = socket() - Reason = timeout | inet:posix() - 连接一个 TCP 端口 - - 用法: - connect(Address, Port, Options, Timeout) -> {ok, Socket} | {error, Reason} - 用给出的端口 Port 和 IP 地址 Address 连接到一个服务器上的 TCP 端口上。参数 Address 即可以是一个主机名,也可以是一个 IP 地址。 - 提供以下选项: - {ip, Address} - 如果主机有许多网络接口,则此选项指定要使用的接口。 - {ifaddr, Address} - 与{ip,Address}相同。如果主机有许多网络接口,则此选项指定要使用的接口。 - {fd, integer() >= 0} - 如果以某种方式未使用gen_tcp连接了套接字 ,请使用此选项传递文件描述符。如果将{ip,Address}和/或 {port,port_number()}与该选项结合使用,则 在连接前将fd绑定到指定的接口和端口。如果未指定这些选项,则假定fd已被适当绑定。 - inet - 为IPv4设置套接字。 - inet6 - 设置用于IPv6的套接字。 - local - 设置Unix域套接字。见 inet:local_address() - {port,Port} - 指定要使用的本地端口号。 - - {tcp_module, module()} - 覆盖使用哪个回调模块。默认为 inet_tcp IPv4和inet6_tcp使用IPv6。 - Opt - 参见 inet:setopts / 2。 - - 可以使用send / 2将数据包发送到返回的套接字Socket。 从对等方发送的数据包将作为消息传递: - {tcp, Socket, Data} - - 如果套接字处于{active,N}模式(有关详细信息,请参见inet:setopts / 2),并且其消息计数器降至0,则将传递以下消息以指示套接字已转换为被动({active,false}) 模式: - {tcp_passive, Socket} - - 如果套接字已关闭,则会发出以下消息: - {tcp_closed, Socket} - - 如果套接字上发生错误,则会传递以下消息(除非在套接字的选项列表中指定了{active,false},在这种情况下,可通过调用recv / 2来检索数据包): - {tcp_error, Socket, Reason} - - 可选的Timeout参数指定超时(以毫秒为单位)。默认为infinity。 - 注意::: - 请记住,如果底层OS connect()的调用返回超时,调用gen_tcp:连接也将返回超时(即{错误,ETIMEDOUT} ),即使较大的超时指定。 - 指定要连接的选项的默认值会受到内核配置参数 inet_default_connect_options的影响。有关详细信息,请参见 inet(3)。 - -#### gen_tcp:close/1 - Types - Socket = socket() - 关闭一个 TCP 套接字 - 请注意,在大多数TCP实现中,执行关闭操作并不能保证在远程端检测到关闭之前,已发送的任何数据都会传递给接收方。如果要保证将数据传递给收件人,可以通过两种常用方法来实现。 - 使用gen_tcp:shutdown(Sock,write)发出信号,表明不再发送任何数据,并等待套接字的读取端关闭。 - 使用套接字选项{packet,N}(或类似的选项)可以使接收器在知道已接收到所有数据时关闭连接。 - - -#### recv(Socket, Length) -> {ok, Packet} | {error, Reason} -#### recv(Socket, Length, Timeout) -> {ok, Packet} | {error, Reason} - Types - Socket = socket() - Length = integer() >= 0 - Timeout = timeout() - Packet = string() | binary() | HttpPacket - Reason = closed | timeout | inet:posix() - HttpPacket = term() 看到的描述 HttpPacket中 的erlang:decode_packet / 3 在ERTS。 - - 在被动模式下从套接字接收数据包。 - 返回值{error,closed}指示关闭的套接字。 - Argument Length is only meaningful when the socket is in raw mode and denotes the number of bytes to read. - 参数 Length 仅在套接字处于 raw mode 时才有意义,它表示要读取的字节数。 - - Length为0,则返回所有可用字节。 - 如果Length > 0,则返回确切的 Length字节,否则返回错误; - 从另一侧关闭套接字时,可能会丢弃少于长度字节的数据 - 可选的Timeout参数指定超时(以毫秒为单位)。默认为infinity。 - - 用法: - recv(Socket, Length, Timeout) -> {ok, Packet} | {error, Reason} - 这个函数是从一个被动模式的套接字接受一个数据包。如果返回一个 {error, closed} 的返回值,那表明 Socket 已经关闭。 - - 当 Socket 是 raw 模式下,参数 Length 才有意义的,并且 Length 表示接收字节的大小。如果 Length = 0,所有有效的字节数据都会被接收。如果 Length > 0,则只会接收 Length 长度的字节,或发生错误;当另一端 Socket 关闭时,接收的数据长度可能会小于 Length。 - - 选项 Timeout 是一个以毫秒为单位的超时值,默认值是 infinity。 - - {Rand, _RandSeed} = random:uniform_s(9999, erlang:now()), - Port = 40000 + Rand, - case gen_tcp:listen(Port, [binary, {packet, 0}, {active, false}]) of - {ok, ListenSocket} -> - case gen_tcp:accept(ListenSocket) of - {ok, Socket} -> - gen_tcp:recv(Socket, 0, 5000); - {error, SocketAcceptFail} -> - SocketAcceptFail - end; - _ -> - socket_listen_fail - end. - -#### send(Socket, Packet) -> ok | {error, Reason} - Types - Socket = socket() - Packet = iodata() - Reason = closed | inet:posix() - 在一个套接字 Socket 发送一个数据包 - 用法: - send(Socket, Packet) -> ok | {error, Reason} - 在一个套接字 Socket 发送一个数据包。 - -#### shutdown(Socket, How) -> ok | {error, Reason} - Types - Socket = socket() - How = read | write | read_write - Reason = inet:posix() - 在一个或两个方向上关闭socket - - 以某种方式半关闭一个套接字。 - - 如果参数 How 为 write 的形式,则套接字 socket 会关闭数据写入,读取仍可以正常执行。 - 如果How == read或Socket端口没有缓冲传出数据,则套接字将立即关闭,并且Reason中将返回遇到的任何错误。 - 要实现套接字半打开, 那么套接字要设置 {exit_on_close, false} 这个参数。 - 如果套接字端口中缓冲了数据,则将尝试关闭套接字的操作推迟到该数据写入内核套接字发送缓冲区中为止。 - 如果遇到任何错误,则关闭套接字,并在下一个recv / 2或 send / 2上返回 {error,closed}。 - - 如果对等方在写端执行了关闭操作,则选项{exit_on_close,false}很有用。 - - -#### gen_tcp:controlling_process/2 - 改变一个套接字的控制进程 - - 将新的控制过程Pid分配给 Socket。控制过程是从套接字接收消息的过程。 - 如果由当前控制进程以外的任何其他进程调用, 则返回{error,not_owner}。 - 如果由Pid标识的进程不是现有的本地pid, 则返回{error,badarg}。 - 在某些情况下,在执行此函数期间关闭Socket时,也可能返回{error,badarg}。 - - 如果套接字设置为活动模式,则此功能会将呼叫者邮箱中的所有消息传送到新的控制进程。 - 如果在传输过程中有任何其他进程正在与套接字交互,则传输可能无法正常进行,并且消息可能会保留在呼叫者的邮箱中。 - 例如,在传输完成之前更改套接字活动模式可能会导致此情况 - -#### 套接字选项 - {active, true | false | once | -32768..32767} | - 如果值为true,这是默认值,则将从套接字接收的所有内容作为消息发送到接收进程。 - 如果值为false(被动模式),则该进程必须通过调用gen_tcp:recv / 2,3, gen_udp:recv / 2,3或gen_sctp:recv / 1,2来显式接收传入的数据 (取决于套接字的类型) )。 - 如果该值为一次({active,once}), 则套接字中的一条数据消息将发送到该进程。要接收更多消息, 必须使用选项{active,一次}再次调用 setopts / 2。 - - 如果该值是-32768到32767(含)之间的整数N,则将该值添加到发送到控制进程的套接字的数据消息计数中。 - 套接字的默认消息计数为0。如果指定了负值,并且其大小等于或大于套接字的当前消息计数,则套接字的消息计数将设置为0。 - 一旦套接字的消息计数达到0,则可能是由于 向进程发送接收到的数据消息或通过显式设置该消息, - 然后通过特定于套接字类型的特殊消息通知该进程套接字已进入被动模式。 一旦套接字进入被动模式,为了接收更多消息, - 必须再次调用setopts / 2才能将套接字设置回主动模式。 - 如果该值是-32768到32767(含)之间的整数N,则将该值添加到发送到控制进程的套接字的数据消息计数中。套接字的默认消息计数为0。 - 如果指定了负值,并且其大小等于或大于套接字的当前消息计数,则套接字的消息计数将设置为0。一旦套接字的消息计数达到0, - 要么是由于向进程发送接收到的数据消息,要么是因为已显式设置它,然后通过特定于套接字类型的特殊消息通知该进程该套接字已进入被动模式。 - 一旦套接字进入被动模式,为了接收更多消息,必须再次调用setopts / 2才能将套接字设置回主动模式。 - 使用{active,一次}或{active,N}时,套接字在接收到数据时会自动更改行为。与面向连接的套接字(即gen_tcp)结合使用时, - 可能会造成混淆,因为具有{active,false}行为的套接字报告的关闭方式与具有{active,true} 行为的套接字关闭的方式不同。为了简化编程, - 当套接字在{active,false}模式下被关闭且对等方关闭时, 在设置为{active,一旦}时仍会生成消息 {tcp_closed,Socket }, - {active,true}或{active,N}模式。因此可以肯定地假设,当套接字在{active,true}和 {active,false}模式之间来回切换时, - 消息 {tcp_closed,Socket}可能最终会出现套接字端口终止(取决于选项exit_on_close)。 - 但是, 当检测到对等关闭时,完全取决于基础的TCP / IP堆栈和协议。 - 注意{active,true}模式不提供流量控制;快速的发送者可以轻松地使接收者的传入消息溢出。对于 {active,N}模式,消息数大于零时也是如此。 - 仅当高级协议提供自己的流控制(例如,确认收到的消息)或交换的数据量很少时,才使用活动模式。{active,false} 模式, - 使用{active,一旦}模式或{active,N} 模式(具有适用于应用程序的N值)提供流量控制。另一端发送的速度不能超过接收器可以读取的速度。 - - {broadcast, Boolean} (UDP sockets) - 启用/禁用发送广播的权限。 - {buffer, integer() >= 0} | - 驱动程序使用的用户级缓冲区的大小。不要与sndbuf 和recbuf选项混淆,它们与内核套接字缓冲区相对应。对于TCP,建议使用val(buffer)> = val(recbuf), - 以避免由于不必要的复制而导致的性能问题。对于UDP,适用相同的建议,但最大值不应大于网络路径的MTU。 - 设置recbuf时,val(buffer)会自动设置为上述最大值。但是,为Recbuf设置的大小 通常变大,建议您使用 getopts / 2 来分析操作系统的行为。 - 请注意,这也是从单个recv调用可以接收的最大数据量。如果您使用的MTU高于正常值,请考虑将缓冲区设置为更高。 - {delay_send, boolean()} | - 通常,当Erlang进程发送到套接字时,驱动程序会尝试立即发送数据。如果失败,驱动程序将使用任何可用方法将要发送的消息排队, - 只要操作系统表示可以处理该消息。设置{delay_send,true} 会使所有消息排队。这样,发送到网络的消息就更大, - 但更少。该选项将影响发送请求与Erlang进程的调度,而不是更改套接字的任何实际属性。该选项是特定于实现的。默认为false。 - {deliver, port | term} | - 当{active,true}时,数据在以下端口上传递 {S, {data, [H1,..Hsz | Data]}} or term : {tcp, S, [H1..Hsz | Data]}. - {dontroute, boolean()} | - 启用/禁用传出消息的路由旁路 - {exit_on_close, boolean()} | - 默认情况下,此选项设置为true。 - 将其设置为false的唯一原因是,如果要在检测到关闭后继续向套接字发送数据,例如,如果对等方使用 gen_tcp:shutdown / 2 关闭写端。 - {header, integer() >= 0} | - 仅当创建套接字时指定了选项binary 时,此选项才有意义。如果指定了选项 header, - 则从套接字接收的数据的第一个 Size Number字节是列表的元素,其余数据是指定为同一列表尾部的二进制文件。例如,如果Size == 2,则接收到的数据与[Byte1,Byte2 | Binary]匹配 - {high_msgq_watermark, integer() >= 1} | - 当消息队列上的数据量达到此限制时,套接字消息队列将设置为繁忙状态。请注意,此限制仅涉及尚未达到ERTS内部套接字实现的数据。默认为8 kB。 - 如果套接字消息队列繁忙或套接字本身繁忙,则挂起套接字的数据发送器。 - 有关更多信息,请参见选项low_msgq_watermark, high_watermark和low_watermark。 - Notice that distribution sockets disable the use of high_msgq_watermark and low_msgq_watermark. Instead use the distribution buffer busy limit, which is a similar feature. - {high_watermark, integer() >= 0} | - 当ERTS套接字实现在内部排队的数据量达到此限制时,将套接字设置为繁忙状态。默认为8 kB。 - 如果套接字消息队列繁忙或套接字本身繁忙,则挂起套接字的数据发送器。 - 有关更多信息,请参见选项low_watermark, high_msgq_watermark和low_msqg_watermark。 - {ipv6_v6only, Boolean} - 限制套接字仅使用IPv6,禁止任何IPv4连接。这仅适用于IPv6套接字(选项inet6)。 - 在大多数平台上,必须先在套接字上设置此选项,然后才能将其与地址关联。因此,仅在创建套接字时指定它,而在调用包含此描述的函数(setopts / 2)时不使用它是合理的。 - 将此选项设置为true的套接字的行为 是唯一可移植的行为。现在,FreeBSD不建议使用IPv6的初衷是将IPv6用于所有流量(您可以使用 {ipv6_v6only,false}来覆盖建议的系统默认值),但OpenBSD(受支持的GENERIC内核)禁止使用,并且在Windows(具有单独的IPv4和IPv6协议栈)。大多数Linux发行版的系统默认值仍为false。逐渐改变了操作系统之间从IPv4流量中分离IPv6流量的策略,因为逐渐证明,要确保正确,安全地实现双堆栈实施是困难而复杂的。 - 在某些平台上,此选项唯一允许的值为true,例如OpenBSD和Windows。在这种情况下,尝试在创建套接字时将此选项设置为false会失败。 - 在不存在的平台上设置此选项将被忽略。使用getopts / 2获取此选项 不会返回任何值,即返回的列表不包含 {ipv6_v6only,_}元组。在Windows上,该选项不存在,但会将其模拟为值为true的只读选项。 - 因此, 在创建套接字时将此选项设置为true永远不会失败,除非可能是在您已将内核自定义为仅允许false的平台上进行,但在OpenBSD上这是可行的(但尴尬)。 - 如果使用getopts / 2读回选项值 而没有获取任何值,则该选项在主机操作系统中不存在。IPv6和IPv4套接字在同一端口上侦听的行为以及获取IPv4流量的IPv6套接字的行为不再可预测。 - {keepalive, boolean()} | - 没有其他数据交换时,启用/禁用连接的套接字上的定期传输。如果另一端没有响应,则认为连接已断开,并且将错误消息发送到控制过程。默认为禁用。 - {linger, {boolean(), integer() >= 0}} | - 确定在close / 1套接字调用中刷新未发送数据的超时(以秒为单位)。 - 第一个组件是如果启用了延迟,第二个组件是刷新超时(以秒为单位)。有3种选择: - {false,_} - close / 1或shutdown / 2会立即返回,而不是等待刷新数据,而在后台进行关闭。 - {true,0} - 关闭连接时中止连接。丢弃仍保留在发送缓冲区中的所有数据,并将RST发送给对等方。 - 这避免了TCP的TIME_WAIT状态,但是使创建该连接的另一个“化身”成为可能。 - 当时间> 0时,{true,时间} - 在成功发送了套接字的所有排队消息或达到了超时(时间)之前,close / 1或shutdown / 2不会返回。 - {low_msgq_watermark, integer() >= 1} | - 如果套接字消息队列处于繁忙状态,则当消息队列中排队的数据量低于此限制时,套接字消息队列将设置为不繁忙状态。请注意,此限制仅涉及尚未达到ERTS内部套接字实现的数据。默认为4 kB。 - 当套接字消息队列和套接字不繁忙时,将恢复由于繁忙的消息队列或繁忙的套接字而挂起的发件人。 - 有关更多信息,请参见选项high_msgq_watermark, high_watermark和low_watermark。 - 请注意,分发套接字禁止使用 high_msgq_watermark和low_msgq_watermark。而是使用 分配缓冲区繁忙限制,这是一个类似功能。 - {low_watermark, integer() >= 0} | - 如果套接字处于繁忙状态,则当ERTS套接字实现在内部排队的数据量低于此限制时,会将套接字设置为不繁忙状态。默认为4 kB。 - 当套接字消息队列和套接字不繁忙时,将恢复由于繁忙的消息队列或繁忙的套接字而挂起的发件人。 - 有关更多信息,请参见选项high_watermark, high_msgq_watermark和low_msgq_watermark - {mode, list | binary} | - 接收到的数据包按照list或者binary的定义进行传递。 - list | - 接收到的数据包以列表形式发送。 - binary | - 接收到的数据包以二进制形式传送 - {bind_to_device,Ifname :: binary()} - 将套接字绑定到特定的网络接口。必须在创建套接字的函数调用中使用此选项,即 gen_tcp:connect / 3,4, gen_tcp:listen / 2, gen_udp:open / 1,2或 gen_sctp:open / 0,1,2。 - 与getifaddrs / 0不同,Ifname编码为二进制。如果系统在网络设备名称中使用非7位ASCII字符(这种情况不太可能发生),则在对该参数进行编码时必须格外小心。 - 此选项使用特定于Linux的套接字选项 SO_BINDTODEVICE,例如在Linux内核2.0.30或更高版本中,因此仅在针对此类操作系统编译运行时系统时才存在。 - 在Linux 3.8之前,可以设置此套接字选项,但无法使用getopts / 2进行检索。从Linux 3.8开始,它是可读的。 - 虚拟机还需要提升的特权,这些特权可以以超级用户身份运行,或者(对于Linux)具有CAP_NET_RAW能力 。 - 此选项的主要用例是将套接字绑定到 Linux VRF实例。 - {nodelay, boolean()} | - {nodelay,布尔值}(TCP / IP套接字) - 如果Boolean == true, 则为套接字打开选项TCP_NODELAY,这意味着也会立即发送少量数据。 - {nopush,布尔型}(TCP / IP套接字) - 这相当于TCP_NOPUSH在BSD和TCP_CORK在Linux上。 - 如果Boolean == true,则为套接字打开相应的选项,这意味着将累积少量数据,直到可用完整的MSS数据为止或关闭此选项。 - 请注意,虽然OSX上提供了TCP_NOPUSH套接字选项,但其语义却大不相同(例如,取消设置它不会导致立即发送累积的数据)。因此,在OSX上有意忽略了nopush选项 - {packet, 0 | 1 | 2 | 4 | raw | sunrm | asn1 | cdr | fcgi | line | tpkt | http | httph | http_bin | httph_bin} | - raw | 0 没有包装。 - 1 | 2 | 4 数据包包含一个标头,该标头指定了数据包中的字节数,然后是该字节数。标头长度可以是一个, - 两个或四个字节,并包含一个按big-endian字节顺序排列的无符号整数。每个发送操作都会生成标头,并且在每个接收操作上都会剥离标头。4字节的标头限制为2Gb。 - asn1 | cdr | sunrm | fcgi | tpkt | line - 这些数据包类型仅对接收有效。发送数据包时,应用程序有责任提供正确的标头。但是,在接收时,对于接收到的每个完整数据包,将一条消息发送到控制过程,并且类似地,对gen_tcp:recv / 2,3的每次调用都 返回一个完整数据包。标头未剥离。 - 数据包类型的含义如下: - asn1 -ASN.1 BER - sunrm -Sun的RPC编码 - CDR -CORBA(GIOP 1.1) - fcgi-快速CGI - tpkt -TPKT格式[RFC1006] - line-行模式,数据包以换行符结尾的行,比接收缓冲区长的行被截断 - http | http_bin - 超文本传输​​协议。按照ERTS的erlang:decode_packet / 3中 描述的 HttpPacket格式返回数据包。被动模式下的套接字从gen_tcp:recv返回{ok,HttpPacket}, 而主动套接字发送诸如 {http,Socket,HttpPacket}之类的消息。 - httph | httph_bin - 通常不需要这两种类型,因为在读取第一行之后,套接字会在内部自动从http / http_bin切换到 httph / httph_bin。但是,有时可能有用,例如从分块编码中解析预告片 - {packet_size, integer() >= 0} | - 设置数据包主体的最大允许长度。如果数据包头指示数据包的长度大于最大允许长度,则该数据包被视为无效。如果数据包头对于套接字接收缓冲区太大,则会发生相同的情况。 - 对于面向行的协议(line,http *),选项packet_size还可以保证接受指定长度的行,并且由于内部缓冲区的限制,该行不会被视为无效。 - {line_delimiter, Char}(TCP/IP sockets) - 设置面向行的协议(line)的行定界字符。默认为$ \ n。 - {priority, integer() >= 0} | - 在实现此功能的平台上设置SO_PRIORITY套接字级别选项。行为和允许范围在不同系统之间有所不同。该选项在未实现的平台上被忽略。请谨慎使用。 - {raw,Protocol :: integer() >= 0,OptionNum :: integer() >= 0, ValueBin :: binary()} | - {read_packets,Integer}(UDP套接字) - 设置在数据可用时无需套接字就可以读取的最大UDP数据包数。当读取了这么多的数据包并将其传送到目标进程后,新的数据包才被读取,直到有可用数据的新通知到达为止。默认为5。如果此参数设置得太高,由于UDP数据包泛洪,系统可能会变得无响应。 - - {recbuf, integer() >= 0} | - 用于套接字的接收缓冲区的最小大小。建议您使用 getopts / 2 来检索操作系统设置的大小。 - {reuseaddr, boolean()} | - 允许或禁止端口号的本地重用。默认情况下,不允许重用。 - {send_timeout, integer() >= 0 | infinity} | - 仅允许用于面向连接的套接字。 - 指定最长时间等待基础TCP堆栈接受发送操作。当超过限制时,发送操作将返回 {error,timeout}。未知发送了多少数据包;因此,只要发生超时,套接字就将关闭(请参见 下面的send_timeout_close)。默认为infinity。 - {send_timeout_close, boolean()} | - 仅允许用于面向连接的套接字。 - 与send_timeout一起使用,以指定当send操作返回{error,timeout}时是否自动关闭套接字。推荐的设置为 true,它将自动关闭套接字。由于向后兼容,默认为false。 - {show_econnreset, boolean()} | - 当此选项设置为false时(默认情况下),将从TCP对等方接收到的RST视为正常关闭(就像已发送FIN一样)。gen_tcp:recv / 2的调用者 获得{错误,关闭}。在活动模式下,控制进程收到 {tcp_closed,Socket}消息,指示对等方已关闭连接。 - 将此选项设置为true可让您区分正常关闭的连接和TCP对等方中止(有意或无意)的连接。调用 gen_tcp:recv / 2 返回{error,econnreset}。在活动模式下,控制过程会在通常的{tcp_closed,Socket}之前接收到 {tcp_error,Socket,econnreset}消息,就像其他套接字错误一样。调用 gen_tcp:send / 2 也会返回{error,econnreset} 当检测到TCP对等体已发送RST时。 - 从gen_tcp:accept / 1返回的已连接套接字 从侦听套接字 继承了show_econnreset设置。 - {sndbuf, integer() >= 0} | - 用于套接字的发送缓冲区的最小大小。鼓励您使用 getopts / 2来检索操作系统设置的大小。 - {tos, integer() >= 0} | - 在实现此功能的平台上设置IP_TOS IP级别选项。行为和允许范围在不同系统之间有所不同。该选项在未实现的平台上被忽略。请谨慎使用。 - {tclass, integer() >= 0} | - 在实现此功能的平台上 设置IPV6_TCLASS IP级别选项。行为和允许范围在不同系统之间有所不同。该选项在未实现的平台上被忽略。请谨慎使用。 - {ttl, integer() >= 0} | - {recvtos, boolean()} | - {recvtclass, boolean()} | - {recvttl, boolean()} | - - option_name() = - active | buffer | delay_send | deliver | dontroute | - exit_on_close | header | high_msgq_watermark | - high_watermark | keepalive | linger | low_msgq_watermark | - low_watermark | mode | nodelay | packet | packet_size | - pktoptions | priority | - {raw,Protocol :: integer() >= 0, OptionNum :: integer() >= 0, ValueSpec ::(ValueSize :: integer() >= 0) | (ValueBin :: binary())} | - recbuf | reuseaddr | send_timeout | send_timeout_close | - show_econnreset | sndbuf | tos | tclass | ttl | recvtos | - recvtclass | recvttl | pktoptions | ipv6_v6only - - connect_option() = - {ip, inet:socket_address()} | - {fd, Fd :: integer() >= 0} | - {ifaddr, inet:socket_address()} | - inet:address_family() | - {port, inet:port_number()} | - {tcp_module, module()} | - {netns, file:filename_all()} | - {bind_to_device, binary()} | - option() - listen_option() = - {ip, inet:socket_address()} | - {fd, Fd :: integer() >= 0} | - {ifaddr, inet:socket_address()} | - inet:address_family() | - {port, inet:port_number()} | - {backlog, B :: integer() >= 0} | - {tcp_module, module()} | - {netns, file:filename_all()} | - {bind_to_device, binary()} | - option() - socket() - As returned by accept/1,2 and connect/3,4. \ No newline at end of file diff --git a/src/docs/erlang性能优化.md b/src/docs/erlang性能优化.md deleted file mode 100644 index 35c46b3..0000000 --- a/src/docs/erlang性能优化.md +++ /dev/null @@ -1,220 +0,0 @@ -#### erlang 各种 优化设置 - 一、 erl启动时参数: - +K true 开启epoll调度,在linux中开启epoll,会大大增加调度的效率 - +A 100 异步线程池,为某些port调用服 - +P 1024000 最大进程数 - +Q 65535 最大port数 - +sbt db 绑定调度器,绑定后调度器的任务队列不会在各个CPU线程之间跃迁,结合sub使用,可以让CPU负载均衡的同时也避免了大量的跃迁发生。 - 将scheduler绑定到具体的cpu核心上,再配合erlang进程和port绑定,可以显著提升性能,但是如果绑定错误,反而会有反效果 - ( 进程调度器绑定:erlang:process_flag(scheduler, 1),当进程使用了port时,还需要port绑定支持,防止进程在不同调度器间迁移引起性能损失,如cache、跨numa node拷贝等,当进程使用了port时,主要是套接字,若进程与port不在一个scheduler上,可能会引发严重的epoll fd锁竞争及跨numa node拷贝,导致性能严重下降) - 注意:一个linux系统中,最好只有一个evm开启此选项,若同时有多个erlang虚拟机在系统中运行,还是关闭为好 - - +sub true 开启CPU负载均衡,false的时候是采用的CPU密集调度策略,优先在某个CPU线程上运行任务,直到该CPU负载较高为止。 - +swct eager 此选项设置为eager后,CPU将更频繁的被唤醒,可以增加CPU利用率 - +spp true 开启并行port并行调度队列,当开启后会大大增加系统吞吐量,如果关闭,则会牺牲吞吐量换取更低的延迟。 - +zdbbl 65536 分布式erlang的端口buffer大小,当buffer满的时候,向分布式的远程端口发送消息会阻塞 - - 二、erlang内部进程启动参数 - 示例:创建一个新进程并进行注册,该进程是全局唯一的自增ID生成进程,因此无法做多进程处理,这个时候单进程的性能就是至关重要的 - 首先,出于性能和功能考虑,这个进程不是gen_server;其次进行了部分参数调优能 - register(num_generator, spawn_opt(?MODULE, init, [],[{priority,high},{scheduler,0},{min_heap_size, 65536 * 2},{min_bin_vheap_size,65536 * 2}])). - 参数讲解: - 1.priority - erlang是公平调度策略,因此默认情况下每个进程得到的运行时间片是相同的:2000reductions,但是对于我们的应用场景来说,这个进程应该是优先级较高的,需要得到更多的调度,因此设置为high,还可以设置为max,但是max是系统进程的预留优先级,用high即可 - 2. scheduler - 将该进程绑定到指定的scheduler上,防止进程的任务被scheduler分配来分配去,可以减少CPU调用,注意这个和+sbt db是不同的,+sbt db是防治调度器的任务队列在CPU线程间跃迁,scheduler是为了防止进程在时间片切换过程中被分配给其它的调度器 - 3.min_heap_size - 进程初始堆大小,用内存换CPU的典型做法,增大初始大小,可以显著降低GC次数和内存再分配次数, 减少处理过程中产生大量term,尤其是list时的gc次数 - 4.min_bin_vheap_size - 进程初始二进制堆大小,当该进程对于binary数据的处理交换很多时,可以获得和增大min_heap_size一样的效果, 减少大量消息到达或处理过程中产生大量binary时的gc次数 - - 三、port(socket)调优 - 示例:服务器监听端口,接受客户端请求。典型应用场景web服务器,需要实现高吞吐,低延迟的目标 - Res = gen_tcp:listen(Port, [binary, - {reuseaddr, true}, - {nodelay, true}, - {delay_send,true}, - {high_watermark,64 * 1024}, - {send_timeout, 30000}, - {send_timeout_close, true}, - {keepalive, true}]) - - 参数详解: - binary: - 接收到客户端的消息后,作为binary来处理,binary在erlang中是很高效的数据结构,超过64字节,就是全局保存的,因此在很多操作下是不需要复制的,仅仅复制binary的指针即可,详细请搜索refc binary,注意:binary大量使用需要有丰富的经验,不然可能会内存泄漏 - reuseaddr: - 允许系统复用port,对于高吞吐的系统,这个参数很重要,请搜索:linux port 复用 - nodelay: - 开启linux中的TCP_NODELAY参数,请搜索:TCP_NODELAY 40毫秒延迟 - delay_send: - 默认的erlang port消息发送,是直接发送,若失败则排队处理,然后由调度器进行队列poll操作,如果设置为true,那么就不尝试直接发送,而且扔进队列,等待poll,开启选项会增加一点点消息延迟,换来吞吐量的大量提升 - high_watermark: - port的发送缓存,缓存满了后,下次发送会直接阻塞,直到缓存低于某个阈值low_watermark。如果是密集网络IO系统,请增大该buffer,避免发送阻塞 - 延迟发送:{delay_send, true},聚合若干小消息为一个大消息,性能提升显著 - 发送高低水位:{high_watermark, 128 * 1024} | {low_watermark, 64 * 1024},辅助delay_send使用,delay_send的聚合缓冲区大小为high_watermark,数据缓存到high_watermark后,将阻塞port_command,使用send发送数据,直到缓冲区大小降低到low_watermark后,解除阻塞,通常这些值越大越好,但erlang虚拟机允许设置的最大值不超过128K - 发送缓冲大小:{sndbuf, 16 * 1024},操作系统对套接字的发送缓冲大小,在延迟发送时有效,越大越好,但有极值 - 接收缓冲大小:{recbuf, 16 * 1024},操作系统对套接字的接收缓冲大小 - send_timeout: - 在high_watermark中提到了发送阻塞,如果阻塞超过这个时间,那么就会超时,发送直接返回,停止发送 - send_timeout_close: - 如果发生了send_timeout同时设置了send_timeout_close选项,那么超时后,会直接关闭socket.如果发送进程不是很重要,例如web用户进程,强烈建议开启这个选项,当发送30秒超时的时候,就说明该用户出现了很大的麻烦,断开连接是最理想的做法,否则可能出现很多奇怪的bug. - keepalive: - 遵循HTTP/1.1协议的keepalive规定,这个根据业务需求选择是否开启,如果同一个客户端会连续发起http请求,那么建议设置为true,避免多次TCP握手 - 示例:服务器发起大量的http请求,在优化了参数后,同样的吞吐量所耗费的时间是未优化前的1/3 - 1/2(经过严苛的测试得出的数据) - - inets:start(), - httpc:set_options([{max_keep_alive_length,500},{max_sessions,100},{nodelay,true},{reuseaddr,true}]), - - 参数详解: - max_keep_alive_length: - 在同一条http连接上允许发送的最大包数,默认为5,超过5个包,就会重连 - max_sessions: - 跟目标服务器之间最大的并行http连接数目,大大的增加了数据上行吞吐量 - nodelay_true: - 见上文 - reuseaddr: - -   6. 数据结构: -      减少遍历,尽量使用API提供的操作 -      由于各种类型的变量实际可以当做c的指针,因此erlang语言级的操作并不会有太大代价 -      lists:reverse为c代码实现,性能较高,依赖于该接口实现的lists API性能都不差,避免list遍历,[||]和foreach性能是foldl的2倍,不在非必要的时候遍历list -      dict:find为微秒级操作,内部通过动态hash实现,数据结构先有若干槽位,后根据数据规模变大而逐步增加槽位,fold遍历性能低下 -      gb_trees:lookup为微秒级操作,内部通过一个大的元组实现,iterator+next遍历性能低下,比list的foldl还要低2个数量级 - 9. 文件预读,批量写,缓存: - 这些方式都是局部性的体现: - 预读:读空间局部性,文件提供了read_ahead选项 - 批量写:写空间局部性 -  对于文件写或套接字发送,存在若干级别的批量写: -    1. erlang进程级:进程内部通过list缓存数据 -    2. erlang虚拟机:不管是efile还是inet的driver,都提供了批量写的选项delayed_write|delay_send, -       它们对大量的异步写性能提升很有效 -    3. 操作系统级:操作系统内部有文件写缓冲及套接字写缓冲 -    4. 硬件级:cache等 - 缓存:读写时间局部性,读写空间局部性,主要通过操作系统系统,erlang虚拟机没有内部的缓存 - 10.套接字标志设置: - 延迟发送:{delay_send, true},聚合若干小消息为一个大消息,性能提升显著 - 发送高低水位:{high_watermark, 128 * 1024} | {low_watermark, 64 * 1024},辅助delay_send使用,delay_send的聚合缓冲区大小为high_watermark,数据缓存到high_watermark后,将阻塞port_command,使用send发送数据,直到缓冲区大小降低到low_watermark后,解除阻塞,通常这些值越大越好,但erlang虚拟机允许设置的最大值不超过128K - 发送缓冲大小:{sndbuf, 16 * 1024},操作系统对套接字的发送缓冲大小,在延迟发送时有效,越大越好,但有极值 - 接收缓冲大小:{recbuf, 16 * 1024},操作系统对套接字的接收缓冲大小 - -#### Erlang 虚拟机调优 - 目录 - SMP - Schedulers - Port Settings - Asynchronous Thread Pool - Kernel Polling - Warning Messages - Process Limit - Distribution Buffer - Erlang Built-in Storage - Crash Dumps - Net Kernel Tick Time - Shutdown Time - Riak 是用Erlang语言写的,运行在Erlang虚拟机之上.所以Erlang虚拟机的调优对Riak的性能优化就显得尤为重要. Erlang虚拟机本身提供了非常多的配置参数对性能调优, Riak支持其中的一部分参数,你可以在每个node的Riak配置文件中进行设置. - - -下表列出了其中的一部分,左边一列是Erlang中的参数名称, 右边一列是在Riak中的参数名称. -```Erlang parameter Riak parameter -+A erlang.async_threads -+K erlang.K -+P erlang.process_limit -+Q erlang.max_ports -+S erlang.schedulers.total, erlang.schedulers.online -+W erlang.W -+a erlang.async_threads.stack_size -+e erlang.max_ets_tables -+scl erlang.schedulers.compaction_of_load -+sfwi erlang.schedulers.force_wakeup_interval --smp erlang.smp -+sub erlang.schedulers.utilization_balancing -+zdbbl erlang.distribution_buffer_size --kernel net_ticktime erlang.distribution.net_ticktime --env FULLSWEEP_AFTER erlang.fullsweep_after --env ERL_CRASH_DUMP erlang.crash_dump --env ERL_MAX_ETS_TABLES erlang.max_ets_tables --name nodename -``` -Note on upgrading to 2.0 -在Riak2.0版本之前, Erlang虚拟机相关的参数放在配置文件 vm.args 里面. 在2.0及之后的版本中, 所有Erlang虚拟机相关的配置参数放在配置文件 riak.conf 里面. 如果你从Riak2.0之前的版本升级到Riak 2.0, 你仍然可以继续使用旧的配置文件 vm.args. 但是, 如果你同时设置了配置文件 vm.args 和riak.conf, 在 vm.args里面的配置将会覆盖riak.conf里面的配置. -##### SMP - 有些操作系统提供Erlang虚拟机对称多处理器能力(SMP)以利用多处理器硬件架构的优势. SMP的支持可以通过设置erlang.smp参数来打开和关闭, 默认是打开的. 下面的例子是关闭SMP的支持. - riak.conf - erlang.smp = disable - 由于Riak也可以运行在一些不支持SMP的操作系统上, 所以在使用之前需要确认操作系统是否支持SMP,如果操作系统本身不支持,那么需要在启动Riak集群之前在配置文件riak.conf中关闭SMP的选项. - - 比较安全的一个选择是把erlang.smp设置成auto, 这个选项会指示Erlang虚拟机启动SMP支持之前检查操作系统是否支持以及是否有一个以上的逻辑处理器,只有这两个条件都满足的时候,Erlang虚拟机才启动SMP支持. - -##### Schedulers - Note on missing scheduler flags - We recommend that all users set the +sfwi to 500 (milliseconds) and the +sclflag to false if using the older, vm.args-based configuration system. If you are using the new, riak.conf-based configuration system, the corresponding parameters are erlang.schedulers.force_wakeup_interval anderlang.schedulers.compaction_of_load. - Please note that you will need to uncomment the appropriate lines in your riak.conf for this configuration to take effect. - 如果在Erlang虚拟机里已经打开了支持SMP的选项, 比如erlang.smp已经被设置成enabled 或者auto,而且机器本身超过一个逻辑处理器同时也支持SMP, 那么当你启动Riak的时候, 你可以配置逻辑处理器的数量或者调度线程的数量,同时也可以设置online线程的数量. - 全部调度线程的数量可以通过参数erlang.schedulers.total来设置, online线程的数量则是通过参数erlang.schedulers.online来配置. 这两个参数可以分别对应到Erlang虚拟机的参数Schedulers 和SchedulersOnline. - 两个参数的最大值都是1024, 参数并没有统一的默认值. 但是, Erlang 虚拟机自己会尝试去判定有多少配置的CPU(core)和可用的CPU(core). 如果Erlang虚拟机能够做出这个判定,那么参数schedulers.total会默认设置成配置的CPU(core)数量, - 参数schedulers.online会默认设置成可用的CPU(core)数量. 但是, 如果Erlang虚拟机不能做出判定, 两个参数的默认值将会设置成1. - 如果两个参数中的任意一个被设置成负数, 那么意味着这个参数值将会被设成默认配置的处理器数量(如果scheduler.total是负数)或者可用的处理器数量(如果schedulers.online是负数) 减去配置的负值. 比如, 如果机器配置有100个cpu(cores)然后参数schedulers.total配置为-50, 计算以后的值就是50. - 如果两个参数中的任意一个被设置为0,两个值都会被重新设为默认值. - 如果SMP支持被关闭, 比如erlang.smp被设成disabled或者设成auto 但是机器本身不支持SMP或者机器只有一个逻辑处理器,那么两个参数schedulers.total 和 schedulers.online都将会被忽略. - -Scheduler Wakeup Interval -调度器唤醒是一个可选处理, 通过这个Erlang 虚拟机调度器被周期性的扫描来判定是否已经陷入睡眠, 比如是否调度器有一个空的运行列表. 这个扫描时间间隔可以通过参数erlang.schedulers.force_wakeup_interval设置, 单位为毫秒.这个参数对应于Erlang虚拟机的+sfwi选项.该参数默认设为0, 不激活调度器唤醒功能. -Erlang在R15Bx版本里有把调度器睡眠过于频繁的倾向,如果你使用的是更新的版本,比如Riak2.0 及以后, 那多数情况下不需要启动唤醒功能. -注: OTP的工程师曾经解释过这个功能,如果需要调度的任务不是很多,没有很多task在运行列表上的话, R15B的Erlang虚拟机会倾向于把这些task尽量集中到尽可能少的调度器上来调度, 睡眠没有调度任务的调度器, 这样可以减少调度器之间的通信花费overhead, 提高CPU的利用率. 但这个也是一个trade off, 具体还是需要用户来根据自己的实际环境来调优. 因为一旦task的数量增加比较多,或者task数量没有增加但是task本身比较耗时,那么很可能就会触发调度器的唤醒, 而唤醒调度器是比较expensive的操作, 如果频繁睡眠唤醒的话,可能会得不偿失. - -##### Scheduler Compaction and Balancing - Erlang调度器提供了两种方式来分发负载到不同的调度器上, 集中负载和utilization balancing. - 集中负载是默认打开的, 打开的时候Erlang虚拟机会尝试去尽可能多的使调度器繁忙,比如通过把任务集中到有限的几个调度器上(假设这几个有限的调度器充分运行的情况下可以调度完目前的tasks)使这几个调度器一直有工作做(not run out of work). 为了达到这个目的, 当虚拟机分配任务的时候会考虑哪些调度器应该被分配任务. 用户可以设置参数erlang.schedulers.compaction_of_load为false来关闭这个功能. - 另外一个选项, utilization balancing, 为了支持负载平衡, 默认是关闭的. 如果打开了这个选项, Erlang虚拟机则努力在不同调度器之间平衡调度器的利用. 如果不考虑每个调度器没有任务可调度的频度的话, 可以打开这个设置, erlang.schedulers.utilization_balancing 设为true(老版本里面通过设置+scl false) - 在任何时候, 只可以是使用两个功能中的一个. 如果同时设置这两个选项为false的话, Riak 会默认使用集中负载选项.如果同时设置为true, Riak会使用那个在配置文件riak.conf中最先出现的那个.(如果是旧版本的话,配置文件会是vm.args) - -##### Port Settings -Riak 使用epmd, Erlang 端口映射Daemon来进行大多数的节点间的通信. 在这个系统里, 集群里的其他节点使用由nodename参数(或者是name in vm.args)来作为节点ID. 比如, riak@10.9.8.7. 在每个节点上, daemon把这些节点ID解析成一个TCP的端口. 用户可以指定一个端口范围给Riak节点来监听使用,同时也可以知道最大数量的并ports/sockets. -Port Range -默认情况下 , epmd绑定到TCP端口4369上并且侦听通配符接口. epmd 默认使用一个不能预测的端口作为节点间的通信, 通过绑定到端口0上, 意味着会使用第一个可用的端口. 这样就使得防火墙非常难配置. -为了是防火墙配置简化, 用户可以指导Erlang虚拟机使用一个有限范围的端口或者单一端口. 这个最小和最大值可以设置在参数erlang.distribution.port_minimum和erlang.distribution.port_maximum里面. 比如, 下面的值被设为3000和5000. -riak.conf -app.config -erlang.distribution.port_range.minimum = 3000 -erlang.distribution.port_range.maximum = 5000 -用户可以设置Erlang虚拟机使用一个单一端口, 如果只设置了最小值没有设置最大值,则表示使用单一端口. 比如, 下面设置使用单一端口5000. -riak.conf -app.config -erlang.distribution.port_range.minimum = 5000 -如果最小端口没有设置, Erlang虚拟机将会在随机的高编号端口上侦听. - -##### Maximum Ports -用户可以通过设置参数erlang.max_ports来指定Erlang虚拟机可以使用的最大并发的 ports/sockets数量, 范围从1024到134217727. 默认值是65536. 在vm.args里面对应的参数是+Q 或者-env ERL_MAX_PORTS. -Asynchronous Thread Pool -如果Erlang虚拟机支持线程可用, 用户可以为Erlang虚拟机设置异步线程池的线程数量, 使用参数erlang.async_threads(+A in vm.args). 线程数量范围从0至1024, 默认值是64,下面的例子是设置成600的情况. -riak.conf -vm.args -erlang.async_threads = 600 - - -##### Stack Size -除了可以指定异步线程的数量之外, 用户还可以为每个异步线程指定stack size. 参数是erlang.async_threads.stack_size, 对应到Erlang的+a参数. 用户可以在Riak中为这个参数指定size以KB, MB,GB 为单位, 有效的范围值是16至8192个字, 在32位的系统上就是64至32768字节. 该参数没有默认值, 我们建议设置为16K words, 对应为64 KB在32位系统上. 我们建议这么小一个值是考虑到异步线程数量可能会很大. -注:The 64 KB default is enough for drivers delivered with Erlang/OTP but might not be large enough to accommodate drivers that use the driver_async()functionality, documented here. We recommend setting higher values with caution, always keeping the number of available threads in mind. -Kernel Polling -如果系统支持, 用户可以在Erlang中利用内核轮询. 内核轮询可以在使用很多文件描述符的时候提高性能. 在使用中的文件描述符越多, 内核轮询发挥的作用就越大. 该选择在Riak的Erlang虚拟机中是默认打开的, 该参数对应到Erlang虚拟机中的+K参数 - -##### Warning Messages -Erlang虚拟机的error_logger 是一个事件管理器, 从Erlang运行时系统注册错误, 告警和信息事件. 默认情况下, error_logger的信息事件被映射为告警,但是用户可以设置映射成错误或者信息. 该设置为参数erlang.W, 可以设置的值为w(warning), errors 或者i(info reports). - -##### Process Limit -参数erlang.process_limit可以用来设置系统同时存在的最大进程数量(对应到Erlang的+P参数), 有效范围从1024至134217727. 默认值是256000. - -##### Distribution Buffer -用户可以通过参数erlang.distribution_buffer_size设置Erlang虚拟机的distribution buffer busy limit(对应到Erlang的+zdbbl参数). 修改这个参数对那些有许多busy dist port事件的节点可能会有帮助, 默认值是32MB, 最大值是2097151KB. 增大这个参数可以允许进程缓存更多的待发消息, 当缓存满的时候,发送线程被挂起直到缓存减小到设定值. 所以, 更大的缓存有助于降低延迟以及增加吞吐量,代价就是使用了更多的RAM. 用户需要根据机器的RAM资源来考虑设定这个值. - -##### Erlang Built-in Storage -Erlang使用一个内置的数据库,ets(Erlang Term Storage)用来快速访问内存(constant access time rather than logarithmic access time). erts 表的最大数量设置在参数erlang.max_erts_tables里面, 默认值是256000,这个值要大于Erlang虚拟机自身的默认值1400(对应到vm.args 的参数e). 更大的erlang.max_erts_tables值可以提供更快的数据访问,代价是消耗更高的内存. - -##### Crash Dumps -默认情况下, Riak 的Erlang crash dumps文件是存放在位置./log/erl_crash.dump. 用户可以通过设置参数erlang.crash_dump来更改存放位置. 该参数对应到Erlang虚拟机的ERL_CRASH_DUMP环境变量. - -##### Net Kernel Tick Time -网络内核是Erlang的一个系统进程, 提供了不同的网络监视形式. 在一个Riak集群里面, 网络内核的功能之一就是去周期性的检测节点存活. Tick time就是这个检查频度, 可以通过erlang.distribution.net_ticktime设置,单位是秒. 该参数对应到vm.args里面的参数-kernal net_ticktime. - -##### Shutdown Time -用户可以设定Erlang虚拟机的关闭时间, 该设置参数为erlang.shutdown_time,默认是10秒, 一旦10秒过了, 所有存在的进程就会被杀掉. 减少关闭时间在某些情景下可能是有帮助的, 比如说在测试的时候需要频繁的启停Riak集群. 在vm.args里参数是shutdown_time, 单位是毫秒. \ No newline at end of file diff --git a/src/docs/erlang数据结构相关.md b/src/docs/erlang数据结构相关.md deleted file mode 100644 index 4dd5336..0000000 --- a/src/docs/erlang数据结构相关.md +++ /dev/null @@ -1,300 +0,0 @@ -# erlang各种数据类型占用的内存大小 - 有效编程的一个好的开始是知道不同数据类型和操作需要多少内存。 - Erlang数据类型和其他项目消耗多少内存与实现方式有关,但是下表显示了OTP 19.0中erts-8.0系统的一些数据。 - 度量单位是存储字。 同时存在32位和64位实现。 因此,一个字分别是4字节或8字节。 - erlang:system_info(wordsize). - -``` -Data Type Memory Size - -Small integer - 1 word. - On 32-bit architectures: -134217729 < i < 134217728 - (28 bits). - On 64-bit architectures: -576460752303423489 < i < - 576460752303423488 (60 bits). - -Large - integer 3..N words. - -Atom - 1 word. - An atom refers into an atom table, which also consumes - memory. The atom text is stored once for each unique - atom in this table. The atom table is not garbage-collected. - -Float - On 32-bit architectures: 4 words. - On 64-bit architectures: 3 words. - -Binary - 3..6 words + data (can be shared). - -List - 1 word + 1 word per element + the size of each element. - -String (is the same as a list of integers) - 1 word + 2 words per character. - -Tuple - 2 words + the size of each element. - -Small Map - 5 words + the size of all keys and values. - -Large Map (> 32 keys) - N x F words + the size of all keys and values. - N is the number of keys in the Map. - F is a sparsity factor that can vary - between 1.6 and 1.8 due to the probabilistic nature of - the internal HAMT data structure. - -Pid - 1 word for a process identifier from the current local - node + 5 words for a process identifier from another - node. - A process identifier refers into a process table and a - node table, which also consumes memory. - -Port - 1 word for a port identifier from the current local node + - 5 words for a port identifier from another node. - A port identifier refers into a port table and a node table, - which also consumes memory. - -Reference - On 32-bit architectures: 5 words for a reference from - the current local node + 7 words for a reference from - another node. - On 64-bit architectures: 4 words for a reference from - the current local node + 6 words for a reference from - another node. - A reference refers into a node table, which also - consumes memory. - -Fun - 9..13 words + the size of environment. - A fun refers into a fun table, which also consumes - memory. - -Ets table - Initially 768 words + the size of each element (6 words - + the size of Erlang data). The table grows when - necessary. - -Erlang process - 338 words when spawned, including a heap of 233 words. -``` - -# System Limits - Erlang语言规范对进程数,原子长度等没有任何限制。 但是,出于性能和内存节省的原因,在Erlang语言和执行环境的实际实现中始终会受到限制。 -``` -Processes - The maximum number of simultaneously alive Erlang - processes is by default 262,144. This limit can be - configured at startup. For more information, see the - +P command-line flag in the erl(1) manual page in - ERTS. - -Known nodes - A remote node Y must be known to node X if there - exists any pids, ports, references, or funs (Erlang data - types) from Y on X, or if X and Y are connected. The - maximum number of remote nodes simultaneously/ever - known to a node is limited by the maximum number of - atoms available for node names. All data concerning - remote nodes, except for the node name atom, are - garbage-collected. - -Connected nodes - The maximum number of simultaneously connected - nodes is limited by either the maximum number of - simultaneously known remote nodes, the maximum - number of (Erlang) ports available, or the maximum - number of sockets available. - -Characters in an atom - 255. - -Atoms - By default, the maximum number of atoms is 1,048,576. - This limit can be raised or lowered using the +t option. - -Elements in a tuple - The maximum number of elements in a tuple is - 16,777,215 (24-bit unsigned integer). - -Size of binary - In the 32-bit implementation of Erlang, 536,870,911 - bytes is the largest binary that can be constructed - or matched using the bit syntax. In the 64- - bit implementation, the maximum size is - 2,305,843,009,213,693,951 bytes. If the limit - is exceeded, bit syntax construction fails with a - system_limit exception, while any attempt to - match a binary that is too large fails. This limit is - enforced starting in R11B-4. - In earlier Erlang/OTP releases, operations on too large - binaries in general either fail or give incorrect results. - In future releases, other operations that create binaries - (such as list_to_binary/1) will probably also - enforce the same limit. - -Total amount of data allocated by an Erlang node - The Erlang runtime system can use the complete 32-bit - (or 64-bit) address space, but the operating system often - limits a single process to use less than that. - -Length of a node name - An Erlang node name has the form host@shortname - or host@longname. The node name is used as an atom - within the system, so the maximum size of 255 holds - also for the node name. - -Open ports - The maximum number of simultaneously open Erlang - ports is often by default 16,384. This limit can be - configured at startup. For more information, see the - +Q command-line flag in the erl(1) manual page in - ERTS. - -Open files and sockets - 同时打开的文件和套接字的最大数量取决于可用的Erlang端口的最大数量,以及特定于操作系统的设置和限制。 - -Number of arguments to a function or fun - 255 - -Unique References on a Runtime System Instance - Each scheduler thread has its own set of references, - and all other threads have a shared set of references. - Each set of references consist of 2## - 1 unique - references. That is, the total amount of unique - references that can be produced on a runtime system - instance is (NoSchedulers + 1) × (2## - - 1). - If a scheduler thread create a new reference each nano - second, references will at earliest be reused after more - than 584 years. That is, for the foreseeable future they - are unique enough. - -Unique Integers on a Runtime System Instance - There are two types of unique integers both created - using the erlang:unique_integer() BIF: - 1. Unique integers created with the monotonic - modifier consist of a set of 2## - 1 unique integers. - 2. Unique integers created without the monotonic - modifier consist of a set of 2## - 1 unique integers - per scheduler thread and a set of 2## - 1 unique - integers shared by other threads. That is, the total - amount of unique integers without the monotonic - modifier is (NoSchedulers + 1) × (2## - - 1). - If a unique integer is created each nano second, unique - integers will at earliest be reused after more than 584 - years. That is, for the foreseeable future they are unique - enough. -``` - -# Erlang 常用数据结构实现 - erlang虚拟机中用Eterm表示所有的类型的数据,具体的实施方案通过占用Eterm的后几位作为类型标签,然后根据标签类型来解释剩余位的用途。这个标签是多层级的,最外层占用两位,有三种类型: - list,剩下62位是指向列表Cons的指针 - boxed对象,即复杂对象,剩余62位指向boxed对象的对象头。包括元组,大整数,外部Pid/Port等 - immediate立即数,即可以在一个字中表示的小型对象,包括小整数,本地Pid/Port,Atom,NIL等 - - 这三种类型是Erlang类型的大框架,前两者是可以看做是引用类型,立即数相当于是值类型,但无论对于哪种类型,Erlang Eterm本身只占用一个字,理解这一点是很重要的。 - 对于二三级标签的细分和编码,一般我们无需知道这些具体的底层细节,以下是几种常用的数据结构实现方式。 - 一. 常用类型 - 1. atom - atom用立即数表示,在Eterm中保存的是atom在全局atom表中的索引,依赖于高效的哈希和索引表,Erlang的atom比较和匹配像整数一样高效。atom表是不回收的,并且默认最大值为1024*1024,超过这个限制Erlang虚拟机将会崩溃,可通过+t参数调整该上限。 - 2.Pid/Port - 在R9B之后,随着进程数量增加和其它因素,Pid只在32位中表示本地Pid(A=0),将32位中除了4位Tag之外的28位,都可用于进程Pid表示, - 出于Pid表示的历史原因,仍然保留三段式的显示,本地Pid表示变成了<0, Pid低15位, Pid高13位>。对于外部Pid,采用boxed复合对象表示, - 在将本地Pid发往其它node时,Erlang会自动将为Pid加上本地节点信息,并打包为一个boxed对象,占用6个字。另外,Erlang需要维护Pid表, - 每个条目占8个字节,当进程数量过大时,Pid表将占用大量内存,Erlang默认可以使用18位有效位来表示Pid(262144),可通过+P参数调节, - 最大值为27位(2^27-1),此时Pid表占用内存为2G。 - 3. ists - 列表以标签01标识,剩余62位指向列表的Cons单元,Cons是[Head|Tail]的组合,在内存中体现为两个相邻的Eterm,Head可以是任何类型的Eterm, - 。因此形如L2 = [Elem|L1]的操作,实际上构造了一个新的Cons,其中Head是Elem Eterm,Tail是L1 Eterm,然后将L2的Eterm指向了这个新的Cons, - 因此L2即代表了这个新的列表。对于[Elem|L2] = L1,实际上是提出了L1 Eterm指向的Cons,将Head部分赋给Elem,Tail部分赋给L2, - 注意Tail本身就是个List的Eterm,因此list是单向列表,并且构造和提取操作是很高效的。需要再次注意的是,Erlang所有类型的Eterm本身只占用一个字大小。 - 这也是诸如list,tuple能够容纳任意类型的基础。 - - Erlang中进程内对对象的重复引用只需占用一份对象内存(只是Eterm本身一个字的拷贝),但是在对象跨进程时,对象会被展开,执行速深度拷贝: - - 4. tuple - tuple属于boxed对象的一种,每个boxed对象都有一个对象头(header),boxed Eterm即指向这个header,这个header里面包含具体的boxed对象类型, - 如tuple的header末6位为000000,前面的位数为tuple的size: - tuple实际上就是一个有头部的数组,其包含的Eterm在内存中紧凑排列,tuple的操作效率和数组是一致的。 - list,tuple中添加元素,实际上都是在拷贝Eterm本身,Erlang虚拟机会追踪这些引用,并负责垃圾回收。 - 5. binary - Erlang binary用于处理字节块,Erlang其它的数据结构(list,tuple,record)都是以Eterm为单位的,用于处理字节块会浪费大量内存 - ,如”abc”占用了7个字(加上ETerm本身),binary为字节流提供一种操作高效,占用空间少的解决方案。 - - 之前我们介绍的数据结构都存放在Erlang进程堆上,进程内部可以使用对象引用,在对象跨进程传输时,会执行对象拷贝。 - 为了避免大binary跨进程传输时的拷贝开销,Erlang针对binary作出了优化,将binary分为小binary和大binary。 - heap binary - 小于64字节(定义于erl_binary.h ERL_ONHEAP_BIN_LIMIT宏)的小binary直接创建在进程堆上,称为heap binary,heap binary是一个boxed对象: - refc binary - 大于64字节的binary将创建在Erlang虚拟机全局堆上,称为refc binary(reference-counted binary),可被所有Erlang进程共享, - 这样跨进程传输只需传输引用即可,虚拟机会对binary本身进行引用计数追踪,以便GC。refc binary需要两个部分来描述, - 位于全局堆的refc binary数据本身和位于进程堆的binary引用(称作proc binary),这两种数据结构定义于global.h中。 - 下图描述refc binary和proc binary的关系: - 所有的OffHeap(进程堆之外的数据)被组织为一个单向链表,进程控制块(erl_process.h struct process)中的off_heap字段维护链表头和所有OffHeap对象的总大小, - 当这个大小超过虚拟机阀值时,将导致一次强制GC。注意,refc binary只是OffHeap对象的一种,以后可扩展其它种类。 - sub binary - sub binary是Erlang为了优化binary分割的(如split_binary/2),由于Erlang变量不可变语义,拷贝分割的binary是效率比较底下的做法,Erlang通过sub binary来复用原有binary。 - bit string - 当我们通过如<<2:3,3:6>>的位语法构建binary时,将得到<<65,1:1>>这种非字节对齐的数据,即二进制流, - 在Erlang中被称为bitstring,Erlang的bitstring基于ErlSubBin结构实现,此时bitsize为最后一个字节的有效位数, - size为有效字节数(不包括未填满的最后一个字节),对虚拟机底层来说,sub bianry和bit string是同一种数据结构。 - - ## 复合类型 - 1. record - 这个类型无需过多介绍,它就是一个tuple,所谓record filed在预编译后实际上都是通过数值下标来索引,因此它访问field是O(1)复杂度的。 - 2. map - 该结构体之后就是依次存放的Value,因此maps的get操作,需要先遍历keys tuple,找到key所在下标,然后在value中取出该下标偏移对应的值。因此是O(n)复杂度的。详见maps:get源码($BEAM_SRC/erl_map.c erts_maps_get)。 - - 如此的maps,只能作为record的替用,并不是真正的Key->Value映射,因此不能存放大量数据。而在OTP18中,maps加入了针对于big map的hash机制, - 当maps:size < MAP_SMALL_MAP_LIMIT时,使用flatmap结构,也就是上述OTP17中的结构,当maps:size >= MAP_SMALL_MAP_LIMIT时, - 将自动使用hashmap结构来高效存取数据。MAP_SMALL_MAP_LIMIT在erl_map.h中默认定义为32。 - - 仍然要注意Erlang本身的变量不可变原则,每次执行更新maps,都会导致新开辟一个maps,并且拷贝原maps的keys和values,在这一点上,maps:update比maps:put更高效,因为前者keys数量不会变,因此无需开辟新的keys tuple,拷贝keys tuples ETerm即可。实际使用maps时: - - 更新已有key值时,使用update(:=)而不是put(=>),不仅可以检错,并且效率更高 - 当key/value对太多时,对其进行层级划分,保证其拷贝效率 - 实际测试中,OTP18中的maps在存取大量数据时,效率还是比较高的,这里有一份maps和dict的简单测试函数,可通过OTP17和OTP18分别运行来查看效率区别。通常情况下,我们应当优先使用maps,比起dict,它在模式匹配,mongodb支持,可读性上都有很大优势。 - - 3. array - array下标从0开始 - array有两种模式,一种固定大小,另一种按需自动增长大小,但不会自动收缩 - 支持稀疏存储,执行array:set(100,value,array:new()),那么[0,99]都会被设置为默认值(undefined),该默认值可修改。 - 在实现上,array最外层被包装为一个record: - ... 其他等待被添加 - -## 顺序 -number < atom < reference < fun < port < pid < tuple < map < nil < list < bit string - %% Module Description - %% sets sets, a collection of unique elements. - %% gb_sets sets, but based on a general balanced data structure - %% gb_tree a general balanced tree - %% dict maps, also called associative arrays - %% queue double-ended queues - %% ets hash tables and ordered sets (trees), stored outside the process - %% dets on-disk hash tables - (请注意:不常用的模块ordset和 orddict只是有序列表,因此对于诸如插入之类的常见操作具有O(n)) - -# Erlang标准数据结构的选择 - 实际上,Erlang程序使用列表(本机或通过dict)来处理涉及多达数百个元素的数据结构, - 并使用ETS(Erlang术语存储)或mnesia来处理更大的数据。 - ETS使用散列来允许几乎恒定时间访问几乎任意数量的数据。 - 对于由几个(几十个或几百个)项组成的数据集合,列表通常要优于ETS和树。 对于大量小物品,ETS往往效果最好。 - 对于较大的项目,数据插入ets和从ets读取都会复制数据, 需要掂量。 - - lists ,maps 和record是erlang最为常用的数据结构,lists使用方便简单,maps则查询高效,record则需要预定义, - 对比测试数据maps在查询性能上比lists高, 而在遍历上lists则更优。对于频繁插入和查询的数据,maps是最佳的选择, - record在数据量小的情况下 插入 更新 查询效率都很高, 而且使用的是模式匹配也很方便 - lists则适用于广播列表之类需要遍历的数据和数据量少的情况。 - 更多数据结构 - utPdDs, utArrayDs, utTupleDs, utListsDs, utMapsDs, utEtsSetDs, utEtsOrdDs, utDictDs, utGb_treesDs, utSetsDs, utGb_setsDs, utOrddictDs, utOrdsetsDs, utAtomicsDs, utPTermDs - 测试代码见 testCase/DsTest - 数据结构测评结果见 dosc/erlang-DsBenchMark.txt \ No newline at end of file diff --git a/src/docs/erlang规范.md b/src/docs/erlang规范.md deleted file mode 100644 index 7320bb2..0000000 --- a/src/docs/erlang规范.md +++ /dev/null @@ -1,1159 +0,0 @@ -Erlang 编码标准指引 -==================================== -Table of Contents: -* [约定 & 规则](#约定--规则) - * [源码布局](#源码布局) - * [用空格代替制表符(tab)](#用空格代替制表符(tab)) - * [使用你的空格键](#使用你的空格键) - * [行尾不要留空格](#行尾不要留空格) - * [每行100列](#每行100列) - * [保持现有风格](#保持现有风格) - * [避免多层嵌套](#避免多层嵌套) - * [更多, 小函数比 case 表达式好用](#更多-小函数比-case-表达式好用) - * [函数按逻辑功能分组](#函数按逻辑功能分组) - * [集中你的 types](#集中你的-types) - * [不要上帝模块](#不要上帝模块) - * [Honor DRY](#抽象重复代码) - * [避免动态调用](#避免动态调用) - * [语法](#语法) - * [避免使用 if 表达式](#避免使用-if-表达式) - * [避免嵌套 try...catches](#避免嵌套try...catches) - * [命名](#命名) - * [在命名概念时保持一致](#在命名概念时保持一致) - * [Don't use _Ignored variables](#不要使用匿名变量) - * [避免用布尔类型作为函数参数](#避免用布尔类型原子作为函数参数) - * [原子(atoms)请用小写](#原子(atoms)请用小写) - * [函数名](#函数名) - * [变量名](#变量名) - * [宏](#宏) - * [宏的应用场景](#宏的应用场景) - * [宏名要大写](#宏名要大写) - * [记录(Records)](#记录(Records)) - * [记录命名](#记录命名) - * [在 specs 里避免出现记录(record)](#在specs里避免出现记录) - * [给记录添加类型Types](#给记录添加类型Types) - * [其它](#其它) - * [给函数添加-spec函数规范定义](#给函数添加-spec函数规范定义) - * [模块中不要用import](#模块中不要用import) - * [Don't Use Case Catch](#Don't Use Case Catch) -* [好的建议和方法](#好的建议和方法) - * [优先使用高级函数而不是手写的递归方法](#优先使用高级函数而不是手写的递归方法) - * [驼峰式命名,下划线命名](#驼峰式命名,下划线命名) - * [更短 (但仍保持有意义的) 的变量名称](#更短(但仍保持有意义的)的变量名称 ) - * [注释等级](#注释等级) - * [保持函数精简](#保持函数精简) - * [避免不必要调用length/1](#避免不必要调用length/1 ) - -### 约定--规则 -### 源码布局 - -#### 用空格代替制表符(tab) -> 用空格代替制表符(tab),使用两个空格符作为缩进. -*Examples*: [indent](src/indent.erl) -```erlang -%% @doc 不一致 -bad() -> - try - ThisBlock = is:indented(with, two, spaces), - that:is_good(ThisBlock) %% 这一部分的代码缩进用两个空格,没啥毛病 - catch - _:_ -> - this_block:is_indented(with, four, spaces) %% 但是这一部分的却用了4个空格,看起来不统一,很糟糕 - end. - -%% @doc 一致,但是使用4个空格 -better() -> - receive - {this, block} -> is:indented(with, four, spaces); - _That -> is:not_good() %% 这一部分的代码缩进用四个空格,不太好 - after 100 -> - but:at_least(it, is, consistent) %% 但起码全部是使用一致的风格 - end. - -%% @doc 不错 -good() -> - case indentation:block() of - {2, spaces} -> me:gusta(); - {_, _} -> not_sure:if_gusta() - end. -``` - -*原因*: 这并不意味着允许代码中存在多层嵌套的结构.如果代码足够干净,2个空格就足够了,代码看起来更加简洁,同时在同一行中也能容纳更多的字符. - -*** -#### 使用你的空格键 -> 使用空格来分割开运算符和逗号. - -*Examples*: [spaces](src/spaces.erl) -```erlang -% @doc 没有空格 -bad(_My,_Space,_Bar)->[is,'not',working]. - -% @doc 带空格!! -good(_Hey, _Now, _It) -> ["works " ++ "again, " | [hooray]]. -``` - -*原因*: 同上,主要是为了代码易于读写,等等. 在这里顺便提醒一下erlang宏展开的时候会自动在两边增加分隔符 -*Examples*: -define(plus,+). -t(A,B) -> A?plus+B. -结果会是这样的: -t(A,B) -> A + + B. -而不是这样的: -t(A,B) -> A ++ B. - -*** -#### 行尾不要留空格 -> 检查你的没一行代码的最后,不要有空格. - -*Examples*: [trailing_whitespace](src/trailing_whitespace.erl) - -```erlang -bad() -> "这行尾部有空格". - -good() -> "这行没有". -``` - -*原因*: 这是提交噪音. 可以看看[长篇论据](https://programmers.stackexchange.com/questions/121555/why-is-trailing-whitespace-a-big-deal). - -#### 每行100列 -> 每行最多100个字符. - -*Examples*: [col_width](src/col_width.erl) - -```erlang -%$ @doc 太宽 -bad([#rec{field1 = FF1, field2 = FF2, -field3 = FF3}, #rec{field1 = BF1, field2 = BF2, field3 = BF3} | Rest], Arg2) -> - other_module:bad(FF1, FF2, FF3, BF1, BF2, BF3, bad(Rest, Arg2)). - -%% @doc 不错 (< 100 字符) -good([Foo, Bar | Rest], Arg2) -> - #rec{field1 = FF1, field2 = FF2, field3 = FF3} = Foo, - #rec{field1 = BF1, field2 = BF2, field3 = BF3} = Bar, - other_module:good(FF1, FF2, FF3, BF1, BF2, BF3, good(Rest, Arg2)). -``` - -*原因*:太长的行在处理的时候是相当痛苦的: 要么在编辑的时候不停水平滚动, 要么就是忍受自动断行造成布局错乱. -100个字符的限制不仅仅让每一行保持简短, 另外也能让你可以毫无压力地在标准的手提电脑屏幕上并排同时打开两个文件, 或者三个 1080p 显示器上. - -*** -#### 保持现有风格 -> 当你维护别人的模块时, 请坚持按前人的编码风格样式维护. 如果项目有整体的风格样式, 那么在编写新的模块是也要坚持按项目的整体风格进行. - -*Examples*: [existing_style](src/existing_style.erl) - -```erlang -bad() -> - % 之前的代码 - List = [ {elem1, 1} - , {elem2, 2} - % 新代码 (不按之前的格式来编码) - , {elem3, 3}, {elem4, 4}, - {elem5, 5} - ], - other_module:call(List). -good() -> - % 之前的代码 - List = [ {elem1, 1} - , {elem2, 2} - % 新代码 (按之前的格式来编码) - , {elem3, 3} - , {elem4, 4} - , {elem5, 5} - ], - other_module:call(List). -``` - -*原因*: 在维护别人的代码的时候,如果你不喜欢他的编码规范,这仅仅是你个人不喜欢而已,但是如果你不按他之前写的编码样式继续编写, -那这个模块就有两种编码样式了,这样你本人看起来这些代码很丑陋,别人看你的代码也觉得很丑陋,这样会让代码更加不容易维护. - -*** - -#### 避免多层嵌套 -> 尽量不要出现超过三个层级嵌套的代码样式 - -*Examples*: [nesting](src/nesting.erl) - -```erlang -bad() -> - case this:function() of - has -> - try too:much() of - nested -> - receive - structures -> - it:should_be(refactored); - into -> - several:other(functions) - end - catch - _:_ -> - dont:you("think?") - end; - _ -> - i:do() - end. - -good() -> - case this:function() of - calls -> - other:functions(); - that -> - try do:the(internal, parts) of - what -> - was:done(in) - catch - _:the -> - previous:example() - end - end. - -%% 译者注: 上面部分代码的意思:通过将嵌套部分的代码封装成一些新的函数,可以减少嵌套的结构. -``` - -*原因*: 嵌套级别表示函数中的逻辑比较复杂,过多地将需要执行和完成的决策放在单个函数中. 这不仅阻碍了可读性,而且阻碍了可维护性,如果嵌套过多梳理逻辑 -分支代码也很容易看错拆分成相应的函数可读性更好,逻辑也会更清晰,也便于调试以及编写单元测试的进行, - -*** -#### 更多-小函数比-case-表达式好用 -> 使用模式匹配的函数子句代替 case 表达式. 特别是当 case 在: -> - 函数的开头(下面代码第一个bad函数) -> - case分支比较多的时候 - -*Examples*: [smaller_functions](src/smaller_functions.erl) - -```erlang -%% @doc 这个函数仅仅使用的是 case 表达式 -bad(Arg) -> - case Arg of - this_one -> should:be(a, function, clause); %% 这一句应该用一个函数子句代替 - and_this_one -> should:be(another, function, clause) %% 这一句应该用另一个函数子句代替 - end. - -%% @doc 使用模式匹配 -good(this_one) -> is:a(function, clause); %% 这是一个函数子句 -good(and_this_one) -> is:another(function, clause). %% 这是另一个函数子句 - - -%% @doc case 表达式在函数内部 -bad() -> - InitialArg = some:initial_arg(), - InternalResult = - case InitialArg of - this_one -> should:be(a, function, clause); - and_this_one -> should:be(another, function, clause) - end, - some:modification(InternalResult). - -%% @doc 使用多个函数字句代替内部 case 表达式 -good() -> - InitialArg = some:initial_arg(), - InternalResult = good(InitialArg), - some:modification(InternalResult). -``` - -*原因:* 一般而言,函数体中的一个case代表某种决定,同时函数应尽可能的简单. 如果决策结果的每个分支作为一个函数子句而不是一个case子句来实现, -同时函数子句的函数名也可以让代码容易读懂. 换言之, 这个 case 在此扮演的是 '匿名函数', 除非它们在高阶函数的上下文中被使用,而只是模糊的含义. - -*** -#### 函数按逻辑功能分组 -> 始终保持区分导出函数和未导出的函数, 并将导出的放在前面, 除非还有其他方法更加有助于可读性和代码发现的. - -*Examples*: [grouping_functions](src/grouping_functions) - -`bad.erl`: - -```erlang -%%% @doc 私有和公用函数随意摆放 --module(bad). - --export([public1/0, public2/0]). - -public1() -> private3(atom1). - -private1() -> atom2. - -public2() -> private2(private1()). - -private2(Atom) -> private3(Atom). - -private3(Atom) -> Atom. -``` - -`better.erl`: - -```erlang -%%% @doc 按函数相关程度区分组 --module(better). - --export([public1/0, public2/0]). - -public1() -> - case application:get_env(atom_for_public_1) of - {ok, X} -> public1(X); - _ -> throw(cant_do) - end. -%% @doc 这是一个仅仅与上面函数相关的私有函数 -public1(X) -> private3(X). - -public2() -> private2(private1()). - -private1() -> atom2. - -private2(Atom) -> private3(Atom). - -private3(Atom) -> Atom. -``` - -`good.erl`: - -```erlang --module(good). - --export([public1/0, public2/0]). - -public1() -> - case application:get_env(atom_for_public_1) of - {ok, X} -> private3(X); - _ -> throw(cant_do) - end. - -public2() -> private2(private1()). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PRIVATE FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -private1() -> atom2. - -private2(Atom) -> private3(Atom). - -private3(Atom) -> Atom. -``` - -*原因*: 好的代码结构易于读/理解/修改,很多时候在写erlang代码的时候写着写着发现需要添加一些额外的分支匹配函数, -有时候这种分支匹配函数就为了某种情况下使用,有可能就用一次,这时候我的习惯就是把这个分支匹配函数写在要用这个函数的函数前面 - -*** -#### 集中你的 types -> 将 types 都放在文件开头的地方 - -*Examples*: [type_placement](src/type_placement.erl) - -```erlang --type good_type() :: 1..3. - --spec good() -> good_type(). -good() -> 2. - - --type bad_type() :: 1..3. --spec bad() -> bad_type(). -bad() -> 2. -``` - -*原因*: Types 定义的数据结构极有可能被用于多个函数,所以他们的定义不能只与其中一个有关. -另外将他们在代码中放在一起并像文档一样展示他们就像edoc 也是将 types 放在每个文档的开头一样. - -*** -#### 不要上帝模块 -> 不要让你的系统使用上帝模块 (模块中包含了很多函数 和/或 函数与函数之间处理的事情并不相关) - -*Examples*: [god](src/god.erl) - -```erlang -%%% @doc all of your db operations belong to us! --module(god). - --export([create_user/1, create_user/2, create_user/3]). --export([update_user/2, update_user/3]). --export([delete_user/1]). --export([create_post/1, create_post/2, create_post/3]). --export([update_post/2, update_post/3]). --export([delete_post/1]). --export([create_comment/2, create_comment/3]). --export([update_comment/3, update_comment/4]). --export([delete_comment/2]). - -create_user(Name) -> create_user(Name, undefined). - -create_user(Name, Email) -> create_user(Name, Email, undefined). - -create_user(Name, Email, Phone) -> - some_db:insert(users, [{name, Name}, {email, Email}, {phone, Phone}]). - -update_user(Name, Changes) -> - some_db:update(users, [{name, Name}], Changes). - -update_user(Name, Key, Value) -> - update_user(Name, [{Key, Value}]). - -delete_user(Name) -> - some_db:delete(users, [{name, Name}]). - -create_post(Text) -> create_post(Text, undefined). - -create_post(Text, Title) -> create_post(Text, Title, undefined). - -create_post(Text, Title, Image) -> - some_db:insert(posts, [{text, Text}, {title, Title}, {image, Image}]). - -update_post(Text, Changes) -> - some_db:update(posts, [{text, Text}], Changes). - -update_post(Text, Key, Value) -> - update_post(Text, [{Key, Value}]). - -delete_post(Text) -> - some_db:delete(posts, [{text, Text}]). - -create_comment(PostId, Text) -> create_comment(PostId, Text, undefined). - -create_comment(PostId, Text, Image) -> - some_db:insert(comments, [{post_id, PostId}, {text, Text}, {image, Image}]). - -update_comment(PostId, CommentId, Changes) -> - some_db:update(comments, [{post_id, PostId}, {id, CommentId}], Changes). - -update_comment(PostId, CommentId, Key, Value) -> - update_comment(PostId, CommentId, [{Key, Value}]). - -delete_comment(PostId, CommentId) -> - some_db:delete(comments, [{post_id, PostId}, {id, CommentId}]). -``` - -*原因*: 上帝模块, 类似上帝对象, 了解过多或者负责过多的模块. 上帝模块通常是因为不断的增加功能函数演变出来的. -A beautiful, to-the-point module with one job, one responsibility done well, gains a function. Then another, which does the same thing but with different parameters. -总有一天, 你会写出一个包含500多个函数并且高达6000多行代码的模块 .因此,让模块(和功能)只做一件事情就可以很容易地探索和理解代码,从而维护它. -这个的意思就是按功能拆分模块,不同功能让放到不同模块实现,A模块做A功能相关的事情,B模块做B模块相关的事情,不要把不相关的功能放到一个模块去,特别是作为较底层的模块 - - -*** -#### 抽象重复代码 -> 不要在多个地方使用相同的代码,请用函数或者变量去代替。 -1 把重复的代码抽象成函数 -2 把同个作用域同个函数(参数也一样)的结果用变量保存,替换后面再次调到该函数的地方 -*Examples*: [dry](src/dry.erl) - -```erlang -%% @doc this is a very very trivial example, DRY has a much wider scope but it's -%% provided just as an example -bad() -> - case somthing:from(other, place) of - {show, _} -> - display:nicely(somthing:from(other, place)); - nothing -> - display:nothing() - end. - -good() -> - case somthing:from(other, place) of - {show, _} = ThingToShow -> - display:nicely(ThingToShow); - dont_show_me -> - display:nothing() - end. -``` - -*原因*: 这是一条特别的规约,因为这样子审查人员就可以拒绝接受那些好几个地方都包含相同代码的提交(PRs)了,或者接受那些在某个地方已完成的可复用新实现。 - -*** -#### 避免动态调用 -> If there is no specific need for it, don't use dynamic function calling. - -*Examples*: [dyn_calls](src/dyn_calls.erl) - -```erlang -bad(Arg) -> - Mods = [module_1, module_2, module_3], - Fun = my_function, - lists:foreach( - fun(Mod) -> - Mod:Fun(Arg) - end, Mods). - -good(Arg) -> - mdoule_1:my_function(Arg), - module_2:my_function(Arg), - module_3:my_function(Arg). -``` - -*原因*: Dynamic calls can't be checked by [``xref``](http://erlang.org/doc/apps/tools/xref_chapter.html), -one of the most useful tools in the Erlang world. ``xref`` is a cross reference checking/observing tool. -Xref是一个交叉引用工具,可用于查找函数,模块,应用程序和发行版之间的依赖关系。它通过分析定义的函数和函数调用来实现 - - -*原因*: 不要写面条式代码很难阅读, 理解和修改. The function callgraph for your program should strive to be a directed acyclic graph. - -### 语法 -Erlang语法很可怕, 我说得对吗? 所以你也可以充分利用它, 对吗? _对_? - -*** -#### 避免使用 if 表达式 -> Don't use `if`. - -*Examples*: [no_if](src/no_if.erl) - -```erlang -bad(Connection) -> - {Transport, Version} = other_place:get_http_params(), - if - Transport =/= cowboy_spdy, Version =:= 'HTTP/1.1' -> - [{<<"connection">>, utils:atom_to_connection(Connection)}]; - true -> - [] - end. - - -better(Connection) -> - {Transport, Version} = other_place:get_http_params(), - case {Transport, Version} of - {cowboy_spdy, 'HTTP/1.1'} -> - [{<<"connection">>, utils:atom_to_connection(Connection)}]; - {_, _} -> - [] - end. - -good(Connection) -> - {Transport, Version} = other_place:get_http_params(), - connection_headers(Transport, Version, Connection). - -connection_headers(cowboy_spdy, 'HTTP/1.1', Connection) -> - [{<<"connection">>, utils:atom_to_connection(Connection)}]; -connection_headers(_, _, _) -> - []. -``` - -*原因*: 在某些情况下,`if`会在代码中引入静态布尔逻辑,从而降低代码的灵活性。在其他情况下, -`case`或在其子句中具有模式匹配的函数调用是更具说明性。 对于新手(已经学会在其他语言中使用`if`), -Erlang的“if”可能难以理解或容易被滥用。 - -*更多相关的讨论看下面*: -- [From OOP world](http://antiifcampaign.com/) -- [In this repo](issues/14) -- [In erlang-questions](http://erlang.org/pipermail/erlang-questions/2014-September/080827.html) - -*** -#### 避免嵌套try...catches -> Don't nest `try…catch` clauses - -*Examples*: [nested_try_catch](src/nested_try_catch.erl) - -```erlang -bad() -> - try - maybe:throw(exception1), - try - maybe:throw(exception2), - "We are safe!" - catch - _:exception2 -> - "Oh, no! Exception #2" - end - catch - _:exception1 -> "Bummer! Exception #1" - end. - -good1() -> - try - maybe:throw(exception1), - maybe:throw(exception2), - "We are safe!" - catch - _:exception1 -> - "Bummer! Exception #1"; - _:exception2 -> - "Oh, no! Exception #2" - end. - -good2() -> - try - maybe:throw(exception1), - a_function:that_deals(with, exception2), - "We are safe!" - catch - _:exception1 -> - "Bummer! Exception #1" - end. -``` -*原因*: 嵌套`try ... catch`块会破坏它们的整个目的,即将处理错误的代码与处理预期执行路径的代码隔离开来。 -### 命名 - -*** -#### 在命名概念时保持一致 -> 对于相同的概念,在任何地方都使用相同的变量名 (即使在不同的模块当中). - -*Examples*: [consistency](src/consistency.erl) - -```erlang -bad(UserId) -> internal_bad(UserId). - -internal_bad(User_Id) -> internal_bad2(User_Id). - -internal_bad2(Usr) -> db:get_by_id(Usr). - - -good(UserId) -> internal_good(UserId). - -internal_good(UserId) -> internal_good2(UserId). - -internal_good2(UserId) -> db:get_by_id(UserId). -``` - -*原因*: 当要找出所有用到``OrgID`` 的代码 (例如 我们想把变量从 ``string`` 转为 ``binary``), -我们只要搜索名为 ``OrgID``的变量,而不需要查找所有有可能关于 ``OrgID``的命名变量. -对于这个还是要注意 相同的概念 这个限定 比如我们经常用到的等级 玩家等级 装备等级 技能等级 公会等级 虽然都是等级,但是最好前缀..level -类似还有一些同类型枚举定义加个前缀,字典原子名定义可以加个 pd_ 前缀 - -*** -#### 不要使用匿名变量 -> 以_开头的变量仍然是变量,并且是匹配和绑定的,_开头的变量只是在不使用它的时候避免编译器产生警告信息。如果将_添加到变量的名称,请不要使用它。 -同时即使下划线开头的变量,在后面代码中不使用,但是应该还是需要把下线线后面的变量名写成好,一是为了可读性,二 当修改需要使用该比变量的时候直接去掉下划线 -三 即使是_划线开始 ,但是这个变量名还是被绑定了的 同个函数内不能和其他下划线开头的变量一样 -*Examples*: [ignored_vars](src/ignored_vars.erl) - -```erlang -bad(_Number) -> 2 * _Number. - -good(Number) -> 2 * Number. -``` - -*原因*: They are **not** supposed to be used. - -*** -#### 避免用布尔类型原子作为函数参数 -> Don't use boolean parameters (i.e. `true` and `false`) to control clause selection. - -*Examples*: [boolean_params](src/boolean_params.erl) - -```erlang -bad(EdgeLength) -> bad_draw_square(EdgeLength, true). - -bad_draw_square(EdgeLength, true) -> - square:fill(square:draw(EdgeLength)); -bad_draw_square(EdgeLength, false) -> - square:draw(EdgeLength). - -good(EdgeLength) -> good_draw_square(EdgeLength, full). - -good_draw_square(EdgeLength, full) -> - square:fill(square:draw(EdgeLength)); -good_draw_square(EdgeLength, empty) -> - square:draw(EdgeLength). -``` - -*原因*: 主要目的在于,使用其他原子做匹配时意图清晰,不要求读者检查功能定义以了解其功能。 - -*** -#### 原子(atoms)请用小写 -> 原子命名只能使用小写字母. 当一个原子含有多个单词时 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -,单词之间用 `_` 隔开. 特殊情况可以允许用大写 (例如 `'GET'`, `'POST'`, 等等) - 但是尽量还是控制在一定使用量. - -*Examples*: [atoms](src/atoms.erl) - -```erlang -bad() -> ['BAD', alsoBad, bad_AS_well]. - -good() -> [good, also_good, 'good@its.mail']. -``` - -*原因*: 坚持一个约定使得更容易在代码周围没有“重复”原子。 此外,不使用大写字母或特殊字符减少了对原子周围的需求。 -*** -#### 函数名 -> 函数名称只能使用小写字符或数字。 函数名中的单词必须用`_`分隔。 - -*Examples*: [function_names](src/function_names.erl) - -```erlang -badFunction() -> {not_allowed, camel_case}. - -'BAD_FUNCTION'() -> {not_allowed, upper_case}. - -good_function() -> ok. - -base64_encode() -> ok. -``` - -*原因*: 函数名称是原子,它们应遵循适用于它们的相同规则。 - -*** -#### 变量名 -> 使用驼峰式命名变量. 单词之间不要用下划线分割. - -*Examples*: [variable_names](src/variable_names.erl) - -```erlang -bad(Variablename, Another_Variable_Name) -> - [Variablename, Another_Variable_Name]. - -good(Variable, VariableName) -> - [Variable, VariableName]. -``` - -*原因*:遵循一个约定可以更容易地在代码周围没有“重复”变量。 Camel-case使变量名称在视觉上与原子更加明显,并且符合OTP标准。 - -大部分从其他语言转过来可能都习惯了驼峰命名法,可能对函数名 原子也喜欢用, -但是看很多erlang的开源项目,包括OTP自身的代码命名风格的话都是遵循上面这些规则 - -### 宏 - -*** -#### 宏的应用场景 -> 除了包含以下使用方式的情况外,不要使用宏 -> * 预定义部分: ``?MODULE``, ``?MODULE_STRING`` and ``?LINE`` -> * 魔术数字: ``?DEFAULT_TIMEOUT`` - -*Examples*: [macros](src/macros.erl) -```erlang --module(macros). - --define(OTHER_MODULE, other_module). --define(LOG_ERROR(Error), - error_logger:error_msg( - "~p:~p >> Error: ~p~n\tStack: ~p", - [?MODULE, ?LINE, Error, erlang:get_stacktrace()])). - --define(HTTP_CREATED, 201). - --export([bad/0, good/0]). - -bad() -> - try - ?OTHER_MODULE:some_function(that, may, fail, 201) - catch - _:Error -> - ?LOG_ERROR(Error) - end. - -good() -> - try - other_module:some_function(that, may, fail, ?HTTP_CREATED) - catch - _:Error -> - log_error(?LINE, Error) - end. - -log_error(Line, Error) -> - error_logger:error_msg( - "~p:~p >> Error: ~p~n\tStack: ~p", - [?MODULE, Line, Error, erlang:get_stacktrace()]). -``` - -*原因*: 宏的使用不利于调试工作的进行. 如果你尝试用它们来避免重复的代码块,可以使用以下函数去实现。 -具体看 [related blog post](https://medium.com/@erszcz/when-not-to-use-macros-in-erlang-1d3f10d377f#.xc9b4bsl9) by [@erszcz](https://github.com/erszcz). - -*** -#### 宏名要大写 -> 宏名应以大写字母命名: - -*Examples*: [macro_names](src/macro_names.erl) -```erlang --module(macro_names). - --define(bad, 1). --define(BADMACRONAME, 2). --define(Bad_Macro_Name, 3). --define(Bad_L33t_M@Cr0, 4). - --define(GOOD, 5). --define(GOOD_MACRO_NAME, 6). -``` - -*原因*: 这样做可以区分开普通变量和宏,在使用`grep`等工具查找这个宏时不会出现重复宏名,让查找变得更加容易等好处 - - -### 记录(Records) - -*** -#### 记录命名 -> 记录(`record`)命名只能使用小写字母. 单词之间用 `_`分隔. 这个规则同样适用于`record`的字段名 - -*Examples*: [record_names](src/record_names.erl) - -```erlang --module(record_names). - --export([records/0]). - --record(badName, {}). --record(bad_field_name, {badFieldName :: any()}). --record('UPPERCASE', {'THIS_IS_BAD' :: any()}). - --record(good_name, {good_field_name :: any()}). - -records() -> [#badName{}, #bad_field_name{}, #'UPPERCASE'{}, #good_name{}]. -``` - -*原因*: `record`和其字段名都是原子(`atom`), 因此跟原子的命名规则是一样的. - - -#### 在specs里避免出现记录 -> 在 specs 里应该尽可能用 `types` 代替 记录(`records`). - -*Examples*: [record_spec](src/record_spec.erl) - -```erlang --module(record_spec). - --record(state, {field1:: any(), field2:: any()}). - --opaque state() :: #state{}. - --export_type([state/0]). - --export([bad/1, good/1]). - --spec bad(#state{}) -> {any(), #state{}}. -bad(State) -> {State#state.field1, State}. - --spec good(state()) -> {any(), state()}. -good(State) -> {State#state.field1, State}. -``` - -*原因*: 类型可以导出使用,同时也有助于文档化, 使用 ``opaque`` 可以对记录进行封装和抽象. - -*** -#### 给记录添加类型Types -> 保持给记录(`record`)的每个字段添加类型定义的习惯 - -*Examples*: [record_types](src/record_types.erl) - -```erlang --module(record_types). - --export([records/0]). - --record(bad, {no_type}). - --record(good, {with_type :: string(), with_value_type = 1 :: non_neg_integer()}). - -records() -> [#bad{}, #good{}]. -``` - -*原因*: 记录(`record`)定义的是数据结构, 而其中最重要的部分之一就是记录组成部分的类型定义. - -### 其它 - -*** -#### 给函数添加-spec函数规范定义 -*Examples*: [specs](src/specs.erl) - -*原因*: 1 便于Dialyzer分析 - 2 更容易知道函数的参数类型和返回以及用法 - -*** -#### 模块中不要用import -> Do not use the `-import` directive - -*Examples*: [import](src/import.erl) - -*原因*:从其他模块导入函数会使代码更难以读取和调试,因为您无法直接区分本地函数和外部函数。 -*** - -*** -#### Don't Use Case Catch -> 不要用`case catch` 捕获匹配异常, 使用 `try ... of ... catch` 代替 `case catch`. - -*Examples*: [case-catch](src/case_catch.erl) - -*原因*: `case catch ...` 把正确的的结果与异常一起处理令人困惑。 - `try ... of ... catch` 把正确的的结果与异常分开处理。 - -## 好的建议和方法 -当我们写代码时,应该考虑以下一些注意事项,但是不要引发PR拒绝,或者含糊到无法连贯执行。 - -*** -### 优先使用高级函数而不是手写的递归方法 -> 有时实现函数最好的方式是编写递归函数, 但是比较经常的写法是使用 fold函数 或者 列表推导式 会更加安全和可读性更高. - -*Examples*: [alternatives to recursion](src/recursion.erl) - -```erlang --module(recursion). - --export([recurse/1, fold/1, map/1, comprehension/1]). - -%% -%% 例子: -%% 不同的方法实现大写字符串 -%% - -%% 差的: 使用不必要的人工手写递归 -recurse(S) -> - lists:reverse(recurse(S, [])). - -recurse([], Acc) -> - Acc; -recurse([H | T], Acc) -> - NewAcc = [string:to_upper(H) | Acc], - recurse(T, NewAcc). - -%% 好的: 使用fold函数实现同样的结果,更加安全,更少的代码行数 -fold(S) -> - Result = lists:foldl(fun fold_fun/2, [], S), - lists:reverse(Result). - -fold_fun(C, Acc) -> - [string:to_upper(C) | Acc]. - -%% 更佳的: 使用map函数代替fold函数,更简单的实现方法,因为在这种情况下,fold函数大材小用了。 -map(S) -> - lists:map(fun string:to_upper/1, S). - -%% 最好的: 在这种情况下,列表推导式最简单的实现方法(假设忽略string:to_upper也能直接对string使用的事实) -comprehension(S) -> - [string:to_upper(C) || C <- S]. -``` - -*原因*: 人工手写的递归容易出错, 并且代价昂贵。在有错误的情况下,一个错误的递归函数会失去它的基本功能, -如螺旋般地失去控制,导致整个erlang节点挂掉,抵消了erlang最主要的好处之一: 进程的死亡不会导致整个节点的崩溃。 - -另外,对于一个有经验的erlang开发者而言,folds 和 列表推导式比复杂的递归函数更容易理解。 -显而易见的是:它们能为列表中的每个元素执行操作,递归也许同样能够实现,但是它经常需要仔细的检查,以验证控制流在实践中实际执行的路径。 - -*** -### 驼峰式命名,下划线命名 -> 符号命名:使用驼峰式命名变量,原子,函数和模块则使用下划线命名 -> *Examples*: [camel_case](src/camel_case.erl) -```erlang --module(camel_case). - --export([bad/0, good/0]). -%% 差的 -bad() -> - Variable_Name = moduleName:functionName(atomConstant), - another_ModuleName:another_Function_Name(Variable_Name). -%% 好的 -good() -> - VariableName = module_name:function_name(atom_constant), - another_module_name:another_function_name(VariableName). -``` - -*小节结论*:本节对下面一个问题很有帮助。 - -*** -### 更短(但仍保持有意义的)的变量名称 - -> 只要易于阅读和理解,保持变量名称简短。 - -*Examples*: [var_names](src/var_names.erl) -```erlang --module(var_names). - --export([bad/1, good/1]). -%% 差的 -bad(OrganizationToken) -> - OID = organization:get_id(OrganizationToken), - OID. -%% 好的 -good(OrgToken) -> - OrgID = organization:get_id(OrgToken), - OrgID. -``` - -*小节结论*: 它有助于减少每行的长度,这也是上面描述的。 - -*** -### 注释等级 - -> 模块注释用 **%%%**, 函数注释用 **%%**, 代码注释用 **%**. - -*Examples*: [comment_levels](src/comment_levels.erl) - -```erlang -% 这样的注释坏到家了 -%%% @doc 这样的注释不错 --module(comment_levels). - --export([bad/0, good/0]). - -% @doc 这样的注释不好 -%%% @doc 这的注释也不好 -bad() -> - R = 1 + 2, %%% 这样的注释不好(not good) - R. %% 这样的注释依然不好(bad again) - -%% @doc 这种注释我喜欢 -good() -> - % 这个注释得到国际注释协会的一致认可 - % 还有 Chuck Norris的认可 - R = 1 + 2, - R. % This comment (megusta) 这个注释我喜欢(megusta 西班牙语:我喜欢) -``` -*小节结论*: 清晰的陈述了注释是什么, 并且寻找特定的注释比如:"%% @"等 是非常有用的。 - 注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。 - 修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。 - 注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害。 - 当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。 - -*** -### 保持函数精简 -> 只做一件事,尝试着用少量表达式来写函数. 除了集成测试外,每个函数理想的表达式数量是不超过**12**个. - -*Examples*: [small_funs](src/small_funs.erl) - -*小结*: 从3个方面: -- 简洁的函数有助于是可读性和组装性。可读性又有助于维护。这一点强调的足够多了,你的代码越简洁,就越容易修复和更改。 -- 简洁的函数目的清晰明了,因此您只需要了解执行操作的其中一小部分的子集,这使得验证它是否正确地工作变得非常简单。 - -- 强有力的论据: - + 一个函数只干一件事情,如果函数太冗长你可能更适合改为以多个函数实现 - + 很明显,简单的,简洁的函数更容易理解 - + 重用性,保持函数的精简有利于后续使用(特别是erlang) - + 屏幕尺寸:出于如何原因如果通过ssh连接服务器或者,你希望能够看到整个函数 - - -*提示*: - -本指导, 联合 **[避免多层嵌套](#avoid-deep-nesting)** and -**[在case表达式中使用更多更小的函数](#more-smaller-functions-over-case-expressions)** -两个指导, 可以很好的利用来构建函数,如下所示: - -```erlang -some_fun(#state{name=foo} = State) -> - do_foo_thing(), - continue_some_fun(State); -some_fun(#state{name=bar} = State) -> - do_bar_thing(), - continue_some_fun(State). - -continue_some_fun(State) -> - ..., - ok. -``` -记住这些: - -- 像这样在函数结尾调用函数是没有代价的 -- 这种模式高效、紧凑、清晰 -- 这样重置缩进,因此代码不会游离于屏幕右边边缘地带 -最重要的: -- 测试起来简单,因为函数描绘了测试节点. -- 提供更多的跟踪切入面,因此我们能够找到哪里的代码计算运行导致脱轨,而嵌套case写法在运行时是不可跟踪的。 - - -*** -### 避免不必要调用length/1 -> 许多用`length/1`作为`case`条件都可以被模式匹配替代掉,尤其在检查列表是否至少有一个元素时很管用。 -(要遍历列表,时间长度不定) -*Examples*: [pattern matching](src/pattern_matching.erl) -```erlang --module(pattern_matching). - --export([bad/1, good/1]). - -bad(L) -> - case length(L) of - 0 -> error; - _ -> ok - end. - -good([]) -> - error; -good(_L) -> - ok. -``` -*小结*:模式匹配是`Erlang`的核心内容之一,并且它的性能和可读性都很好。模式匹配也更加灵活,因此它使得代码逻辑变得更加简单。 - -防坑指南---------------------------------------------------------------------------------------- -'--' 运算与 '++'运算 - > [1,2,3,4] -- [1] -- [2]. - [2,3,4] -这是从后面算起的,先算 [1] -- [2] ,得到 [1] 后被 [1,2,3,4] --,最后得到 [2,3,4] - '++'运算也是一样的,也是从后面开始算起。 -> [1,2,3,4] -- [1] ++ [2,3,4]. - [] - -++只是lists:append/2的一个别名:如果要用一定要确定 ShortList++LongList - -erlang:list_to_binary() -如果参数是多层嵌套结构,就会被扁平化掉,使用 binary_to_list 不能转成原来的数据,也就是不可逆的。 -6> list_to_binary([1,2,[3,4],5]) . -<<1,2,3,4,5>> -如果想可逆,可以使用 erlang:term_to_binary -7> binary_to_term(term_to_binary([1,2,[3,4],5])). -[1,2,[3,4],5] - -ets:tablist/2在数据比较大的时候尽量少用 - -erlang 不同数据类型比较 -number < atom < reference < fun < port < pid < tuple < list < bit string - -Erlang中整数值没有上限值,最大值只是受限于硬件(内存有多大) 但是erlang的浮点数是有上限的遵循 IEEE754 - -在 guard 模式下,原本会抛出异常的代码就不会报错了,而是结束当前计算并返回false。 -在 guard 模式下,erlang是有两种表达方法的: -1. , 和 ; -2. andalso 和 orelse - -然而,这两种表述是有区别的: - -首先,假如条件语句是这样的 X >= N; N >= 0, - 当前半句出现异常时候,后面半句还是会执行,而且结果可能回是true; -然后,假如条件语句是这样的 X >= N orelse N >= 0, - 当前半句出现异常时候,后面半句是会被跳过的,返回的结果就是异常 -而其实两种都有各自的优缺点,所以,很多情况下都是把他们两种混合起来使用,达到业务需求 -最后补充下,when 之后是不允许使用自定义function的,会产生副作用,所以只能是跟整数比较或者是内部的函数,如:is_integer/1,is_atom/1. -顺带讲一下 and andalso or orelse -and 和 or 两边参与运算的必须是true或者是false才行 返回值也必然是true或者false 但是andalso orelse跟这个是短路求值 是有点差别的 比如下面 -(A > 1 orelse io:format("this is run ~n")). -(A > 1 andalso io:format("this is run ~n"). -(true andalso io:format("this is run ~n") andalso io:format("this is run2 ~n")). -(true andalso io:format("this is run ~n") andalso io:format("this is run2 ~n")). -true andalso false andalso fdfd . -true andalso false andalso io:format("this is run ~n") orelse io:format("this is run2 ~n"). -true andalso false andalso io:format("this is run ~n") andalso io:format("this is run2 ~n"). -true andalso false orelse io:format("this is run ~n") andalso io:format("this is run2 ~n"). - - - - -其他的更多的 -[那些经历过的Erlang小坑1-10](https://www.cnblogs.com/zhongwencool/p/3712909.html) -[那些经历过的Erlang小坑11-20](http://www.bubuko.com/infodetail-249770.html) -[那些经历过的Erlang小坑21-30](https://www.cnblogs.com/zhongwencool/p/erlang_tip_21_30.html) - - - diff --git a/src/docs/erlang进程.md b/src/docs/erlang进程.md deleted file mode 100644 index 14c836f..0000000 --- a/src/docs/erlang进程.md +++ /dev/null @@ -1,344 +0,0 @@ -Erlang 进程相关学习 -==================================== - -# 目录 -1. [actor模型和进程特性](#actor模型和进程特性) -2. [进程创建](#进程创建) -3. [进程监控与注册](#进程注册与监控) -4. [进程调度](#进程调度) -5. [进程发送消息](#进程发送消息) -6. [进程接收消息](#进程接收消息) -7. [进程GC](#进程GC) -8. [更多](#更多) - - - -## actor模型和进程特性 - ### actor模型 - 在计算机科学中,它是一个并行计算的数学模型,最初为由大量独立的微处理器组成的高并行计算机所开发,Actor模型的理念非常简单: - 天下万物皆为Actor。Actor之间通过发送消息来通信,消息的传送是异步的,通过一个邮件队列(mail queue)来处理消息。每个Actor - 是完全独立的,可以同时执行它们的操作。每一个Actor是一个计算实体,映射接收到的消息到以下动作: - 1. 发送有限个消息给其它Actor - 2. 创建有限个新的Actor - 3. 为下一个接收的消息指定行为 - - 以上三种动作并没有固定的顺序,可以并发地执行。Actor会根据接收到的消息进行不同的处理。 - 简而言之: 一个Actor指的是一个最基本的计算单元,它能接收一个消息并且基于其执行计算。 - 综上,我们知道可以把系统中的所有事物都抽象成一个Actor,那么在一个系统中,可以将一个大规模的任务分解为一些小任务,这些小任务 - 可以由多个Actor并发处理,从而减少任务的完成时间和任务复杂度。 - 为什么会在讲Erlang进程的时候讲Actor模型的概念,就是因为对于Erlang的并发编程模型正是基于Actor模型,Erlang的代码运行在 - 进程中,而进程就是Erlang称呼Actor的方式,Eralng也是最著名的使用Actor规则的编程的语言。 - - ### Eralng进程特性 - 在Erlang的进程不是我们传统上的进程,Erlang进程是轻量级进程,它的生成、上下文切换和消息传递是由虚拟机管理的,操作系统 - 线程进程和Erlang进程之间没有任何联系,这使并发有关的操作不仅独立于底层的操作系统,而且也是非常高效和具有很强可扩展性。 - 它运行在 Erlang 虚拟机上,非常小,非常轻,可以瞬间创建上万,甚至几十万个,进程间完全是独立的内存空间执行,不共享内存, - 这些独立的内存空间可以独立的进行垃圾回收,基于独立运行,在发生错误的时候也是隔离的,其他不相关的进程可以继续运行。 - 在进程运行时若出现错误,由于进程的轻量级,Erlang 采取的措施是“任其崩溃”和“让其他进程修复”。 - 在Erlang上查看默认限制数量是26万多,可以进行修改。每个进程创建后都会有一个独一无二的 Pid,这些进程之间通过 Pid 来互相发 - 送消息,进程的唯一交互方式也是消息传递,消息也许能被对方收到,也许不能,收到后可以处理该消息。消息发送是异步的如果想知道某 - 个消息是否被进程收到,必须向该进程发送一个消息并等待回复。 - -## 进程创建 -Erlang 中的并发编程只需要如下几个简单的函数。 -```erlang -Pid = spawn(Mod,Func, Args) -``` -创建一个新的并发进程来执行Mod模块中的 Fun(),Args 是参数。 -跟上面提供的spawn/3功能相同的函数还有: -```erlang -spawn(Fun) -> pid() -spawn(Node, Fun) -> pid() -spawn(Module, Function, Args) -> pid() -spawn(Node, Module, Function, Args) -> pid() -spawn_link(Fun) -> pid() -spawn_link(Node, Fun) -> pid() -spawn_link(Module, Function, Args) -> pid() -spawn_link(Node, Module, Function, Args) -> pid() -spawn_monitor(Fun) -> {pid(), reference()} -spawn_monitor(Module, Function, Args) -> {pid(), reference()} -spawn_opt(Fun, Options) -> pid() | {pid(), reference()} -spawn_opt(Node, Fun, Options) -> pid() | {pid(), reference()} -spawn_opt(Module, Function, Args, Options) ->pid() | {pid(), reference()} -spawn_opt(Node, Module, Function, Args, Options) ->pid() | {pid(), reference()} -``` -创建好进程,返回对应的Pid之后向就可以向进程进程发送消息,erlang用 “!”来发送消息,格式如下。notice:消息发送是异步的, -发送方不等待而是继续之前的工作。 -```erlang -Pid !Message, -Pid1 ! Pid2 ! Pid3 ! Pid..n ! Message. -``` - -erlang用 receve ... end 来接受发送给某个进程的消息,匹配后处理,格式如下。 -```erlang -receive - Pattern1 [when Guard1] -> - Expression1; - Pattern2 [when Guard2] -> - Expression2; - ... - after T -> - ExpressionTimeout -end -``` -某个消息到达后,会先与 Pattern 进行匹配,匹配相同后执行,若未匹配成功消息则会保存起来待以后处理,进程会开始下一轮操作, -若等待超时T,则会执行表达式 ExpressionTimeout。 - - -## 进程注册与监控 - ### 进程注册 - 有些时候使用通过进程Pid来标识进程需要维护进程Pid,出于某些原因维护进程Pid,不方便灵活,比如你给某个服务器进程请求数据, - 你还得考虑怎么得到服务器进程的Pid,有些时候进程由于某种异常重启后Pid会发生变化,如果没有及时同步机制,会导致功能异常, - 于是乎Erlang提供了一套进程注册管理的机制----注册进程Erlang中管理注册进程的有4个内置函数,register、unregister、 - whereis、registered,它们的用法如下: - 1)register(Atom, Pid):将一个进程Pid注册一个名为AnAtom的原子,如果原子AnAtom已经被另一个注册进程所使用, - 那么注册就会失败。 - 2)unregister(Atom):移除与AnAtom相对应进程的所有注册信息。如果一个注册死亡,那么它也会被自动取消注册。 - 3)whereis(Atom) -> Pid | undefined:判断AnAtom是否已经被其他进程注册。如果成功,则返回进程标识符Pid。 - 如果AnAtom没有与之相对应的进程,那么就返回原子undefined。 - 4)registered() -> [AnAtom ::atom()]:返回一个系统中所有已经注册的名称列表。 - - ### 进程监控 - Erlang 对于进程处理理念之一是“任其崩溃”和“让其他进程修复”,常规Erlang系统中有很多进程同时运行,进程之间可能相互依赖, - 这么复杂的情况之下怎么实现该理念呢?Erlang除了提供exception,try catch等语法,还支持Link和Monitor两种监控进程的机制, - 使得所有进程可以连接起来,组成一个整体。当某个进程出错退出时,其他进程都会收到该进程退出的消息通知。有了这些特点,使用erlang - 建立一个简单,并且健壮的系统就不是什么难事。 - #### 进程双向监控-Link - 相关API link(Pid), A进程调用了link(Pid) 则A进程与Pid之间就建立起了双向连接,如果两个进程相连接,如果其中一个终止时, - 讲发送exit信号给另一方,使其终止,同时终止进程会依次发送exit信号给所有与其连接的进程,这使得exit信号在系统内层层蔓延。 - 该函数连接不存在的进程时会导致发起连接的进程终止 - spawn_link()系列函数 它与link(Pid)的差别就是 原子性与非原子性 - unlink(Pid) 移除调用进程与Pid的连接 - 通过调用process_flag(trap_exit, true)可以设置捕捉exit信号, - 假如有A,B两个进程且彼此link - 总结... - 1.当A的结束原因是normal时(进程正常执行完就是normal),B是不会退出的,此时link机制不发生作用 - 2.若A的结束原因是killed,例如调用exit(PidA,kill) ,则无论B是否有设置trap_exit,B都会terminate,此时退出信号捕捉机制是无效的 - 3.若A的结束原因不是normal也不是killed(例如exit(PidA,Reason)),那么B在设置了trap_exit时,会捕捉到退出信号, - 取而代之的是收取到一条消息{‘EXIT’,Pid,Reason},这时B不会结束,用户可以根据收到的消息对A进程的结束进行处理;若B没有设置trap_exit,B就会terminate - - |捕获状态 |退出信号(原因) |动作 | - | :-------------------| ------------------: | :--------------------------------------:| - |false | normal | 不做任何事 | - |false | kill | 消亡,向链接的进程广播退出信号(killed) | - |false | X | 消亡,向链接的进程广播退出信号X | - |true | normal | 接收到{'EXIT', Pid, nomal} | - |true | kill | 消亡,向链接的进程广播退出信号(killed) | - |true | X | 将{'EXIT', Pid, X} 加入到邮箱 | - #### 监视器(monitor) - 相关API - monitor(process, monitor_process_identifier()) %monitor_process_identifier() 为Pid或者已注册的进程名称 - demonitor(MonitorRef) - demonitor(MonitorRef, OptionList) - 监视器与link不同的是它是单向式观察一些进程终止,各个监视器通过Erlang的引用相互区分,是调用monitor返回的,具有唯一性, - 而且A进程可以设置多个对B进程的监视器,每一个通过不同的引用区分。 - 当被监视的进程终止时,一条格式{'Down',Reference, process, Pid, Reason}的消息会被发给监视此进程的进程 - 调用erlang:demonitor(Reference)可以移除监视器, - 调用erlang:demonitor(Reference,[flush])可以让该监视进程邮箱中所有与Reference对应的{'DOWN', Reference,process,Pid,Reason} - 的消息被冲刷掉。 - 如果尝试监视一个不存在的进程会导致收到一条{'DOWN', Reference, process, Pid,Reason}的消息,其中Reason为noproc,这和link()不一样 - -## 进程调度 -就目前计算机体系结构而言,任何进程或线程要执行就需要得到CPU资源,对于erlang的进程同样如此。erlang虚拟机同时存在成千上万的进程, -但是cpu核心数又是有限的,所有erlang并发特性就需要一个合适的调度规则来安排各个进程的运行, -简单而言,erlang虚拟机调度程序保留两个队列,准备好运行的就绪队列以及等待接收消息的进程的等待队列。当等待队列中的进程收到消息或获 -得超时时,它将被移动到就绪队列。调度程序从就绪队列中选择第一个进程并将其交给BEAM执行一个时间片。当时间片用完时,BEAM会抢占正在 -运行的进程,并将进程添加到就绪队列的末尾。如果在时间片用完之前在接收中阻止了进程,则会将其添加到等待队列中。 - -Erlang调度器主要有以下特点: -1. 进程调度运行在用户空间 :Erlang进程不同于操作系统进程,Erlang的进程调度也跟操作系统完全没有关系,是由Erlang虚拟机来完成的; -2. 调度是抢占式的:每一个进程在创建时,都会分配一个固定数目的reduction(这个数量默认值是2000),每一次操作(函数调用), - reduction就会减少,当这个数量减少到0时或者进程没有匹配的消息时,抢占就会发生(无视优先级); -3. 每个进程公平的使用CPU:每个进程分配相同数量的reduction,可以保证进程可以公平的(不是相等的)使用CPU资源 -4. 调度器保证软实时性:Erlang中的进程有优先级,调度器可以保证在下一次调度发生时,高优先级的进程可以优先得到执行。 - -Reduction -受操作系统中基于时间片调度算法的影响,一开始知道有reduction这个概念时,一直想搞清楚这个reduction到底对应多长的绝对时间,不过, -从Erlang本身对reduction的使用来看,完全没有必要纠结这个问题。《Erlang编程指南》一书中对reduction的说明如下: -程序中的每一个命令,无论它是一个函数调用,还是一个算术操作,或者内置函数,都会分配一定数量的reduction。虚拟机使用这个值来衡量一个 -进程的活动水平。 - -进程优先级 -Erlang进程有四种优先级:max, high, normal, low(max只在Erlang运行时系统内部使用,普通进程不能使用)。Erlang运行时有两个 -运行队列对应着max和high优先级的运行任务,normal和low在同一个队列中。调度器在调度发生时,总是首先查看具体max优先级的进程队列, -如果队列中有可以进行的进程,就会运行,直到这个队列为空。然后会对high优先级的进程队列做同样的操作(在SMP环境,因为同时有几个调度器,所以在同一时间,可能会有不同优先级的任务在同时运行; -但在同一个调度器中,同一时间,肯定是高优先级的任务优先运行)。普通进程在创建时,一般是normal优先级。normal和low优先级的进程只有 -在系统中没有max和high优先级的进程可运行时才会被调度到。通常情况下,normal和low优先级的进程交替执行,low优先级获得CPU资源相对 -更少(一般情况下):low优先级的任务只有在运行了normal优先级任务特定次数后(在R15B中,这个数字是8)才会被调度到(也就是说只有 -在调度了8个normal优先级的进程后,low优先级的进程才会被调度到,即使low优先级的进程比normal优先级的进程更早进入调度队列,这种 -机制可能会引起优先级反转:假如你有成千上万的活动normal进程,而只有几个low优先级进程,那么相比normal进程,low优先级可能会获得 -更多的CPU资源)。 - -## 进程发送消息 -Erlang系统中,进程之间的通信是通过消息传递来完成的。消息使用Pid ! Message的形式发送,通过receive语句获取。每个Erlang进程 -都有用来存储传入消息的信箱。当一个消息发送的时候,它会从发送进程中拷贝到接收进程的信箱,并以它们到达的时间次序存储。消息的传递是 -异步的,一个发送进程不会在发送消息后被暂停。 - -上面提到发送消息时,会在两个进程之间存在消息复制,为什么需要复制呢?这就跟进程的堆内存有关。虽然在Erlang的文档(heap_type)中 -说明堆内存有三种类型:private,shared,hybrid,但是在实际的代码中,只有两种private和hybrid -(参见[$R15B_OTP_SRC/erts/emulator/beam/erl_bif_info.c --> system_info_1]), -(参见[$R15B_OTP_SRC/erts/Makefile.in:# Until hybrid is nofrag, don't build it.), -也就是说Erlang目前的堆内存只有一种:private。 -private类型的堆内存是跟shared类型相对的:shared是指所有线程共享同一块内存(比如Java),多个线程对同一块内存的访问需要锁保护; -而private类型的堆内存是指每个进程独享一块内存,对于内存的访问不需要锁保护。 -在Erlang的private堆内存架构下,发送消息需要做三件事件: - 1. 计算消息的大小,并在接收进程的内存空间中给消息分配内存; - 2. 将消息的内容拷贝到接收进程的堆内存中; - 3. 最后将消息的地址添加到接收进程的消息队列。 -从上面的步骤可以看出,拷贝消息的代码是O(n),n是消息的长度,也就是说消息越长,花费越大。所以在使用Erlang时,要避免大数据量的大消息传递。 - -在shared堆内存架构下,发送消息只需要O(1)(只传递消息地址),那为什么Erlang要默认选择private类型的堆内存呢? -其实这跟后面要讲到的Erlang的GC相关:private的优势就是GC的延迟很低,可以很快的完成(因为只保存一个进程的数据, -GC扫描时的数据量很小)。在SMP环境下,实际上每个进程有两个消息队列。进程发送消息时,实际上消息是添加到目标进程的公有队列 -(通过锁来保证互斥访问);而目标进程在消费消息时,实际上是在自己的私有消息队列上处理的,从而减小锁带来的访问开销。但是, -如果目标进程在自己的私有消息队列上无法匹配到消息,那么公有队列中的消息将被添加到私有队列。 - -## 进程接收消息 -```erlang -receive - Pattern1 [when Guard1] -> - Expression1; - Pattern2 [when Guard2] -> - Expression2; - ... - after T -> - ExpressionTimeout -end -``` -整个过程如下 - 1. 当我们输入receive语句时,我们启动一个计时器(如果有after T)。 - 2. 获取邮箱中的第一个消息,并尝试将其与Pattern1、Pattern2等进行匹配。 - 如果匹配成功,则从邮箱中删除消息,并计算模式后面的表达式。 - 3. 如果receive语句中的任何模式都不匹配邮箱中的第一个消息,那么第一个消息将从邮箱中删除并放入“save队列”中。 - 然后尝试邮箱中的第二条消息。重复此过程,直到找到匹配的消息或检查邮箱中的所有消息为止。 - 4. 如果邮箱中的所有消息都不匹配,则进程将被挂起,并在下次将新消息放入邮箱时重新安排执行时间。注意,当新消息到达时, - 保存队列中的消息不会重新匹配;只匹配新消息( Erlang的实现是非常“聪明”的,并且能够最小化每个消息被接收方的receive测试的次数) - 5. 一旦匹配了消息,那么所有放入save队列的消息都将按照到达进程的顺序重新进入邮箱。如果设置了计时器, - 则清除计时器。 - 6. 如果计时器在等待消息时超时,则计算表达式ExpressionsTimeout,并按到达进程的顺序将任何保存的消息放回邮箱。 - -## 进程GC -erlang 进程GC -Memory Layout 内存分布 - -在我们深入垃圾回收机制之前,我们先来看看Erlang进程的内存布局. 一个Erlang进程的内存布局通常分为是三个部分(有人认为是四个部分, -把mailbox作为单独的一个部分), 进程控制块, 堆和栈,和普通的Linux进程的内存布局非常类似. -``` - Shared Heap Erlang Process Memory Layout - - +----------------------------------+ +----------------------------------+ - | | | | - | | | PID / Status / Registered Name | Process - | | | | Control - | | | Initial Call / Current Call +----> Block - | | | | (PCB) - | | | Mailbox Pointers | - | | | | - | | +----------------------------------+ - | | | | - | | | Function Parameters | - | | | | Process - | | | Return Addresses +----> Stack - | | | | - | +--------------+ | | Local Variables | - | | | | | | - | | +------------+--+ | +-------------------------------+--+ - | | | | | | | | - | | | +-------------+--+ | | ^ v +----> Free - | | | | | | | | | Space - | | | | +--------------+-+ | +--+-------------------------------+ - | +-+ | | | | | | - | +-+ | Refc Binary | | | Mailbox Messages (Linked List) | - | +-+ | | |   | - | +------^---------+ | | Compound Terms (List, Tuples) | Process - | | | | +----> Private - | | | | Terms Larger than a word | Heap - | | | | | - | +--+ ProcBin +-------------+ Pointers to Large Binaries | - | | | | - +----------------------------------+ +----------------------------------+ -``` -进程控制块: 进程控制块持有关于进程的一些信息, 比如PID, 进程状态(running, waitting), 进程注册名, 初始和当前调用, -指向进程mailbox的指针 - -栈: 栈是向下增长的, 栈持有函数调用参数,函数返回地址,本地变量以及一些临时空间用来计算表达式. - -堆: 堆是向上增长的, 堆持有进程的mailbox, 复合terms(Lists, Tuples, Binaries),以及大于一个机器字的对象(比如浮点数对象). -大于64个字节的二进制terms,被称为Reference Counted Binary, 他们不是存在进程私有堆里面,他们是存在一个大的共享堆里,所有进程 -都可以通过指向RefC Binary的指针来访问该共享堆,RefC Binary指针本身是存在进程私有堆里面的. - -GC Details -为了更准确的解释默认的Erlang垃圾回收机制, 实际上运行在每个独立Erlang进程内部的是分代拷贝垃圾回收机制, 还有一个引用计数的 -垃圾回收运行在共享堆上. - -Private Heap GC 私有堆垃圾回收 -私有堆的垃圾回收是分代的. 分代机制把进程的堆内存分为两个部分,年轻代和年老代. 区分是基于这样一个考虑, 如果一个对象在运行 -一次垃圾回收之后没有被回收,那么这个对象短期内被回收的可能性就很低. 所以, 年轻代就用来存储新分配的数据,年老代就用来存放运行 -一定次数的垃圾回收之后依然幸存的数据. 这样的区分可以帮助GC减少对那些很可能还不是垃圾的数据不必要的扫描. 对应于此, Erlang的 -GC扫描有两个策略, Generational(Minor) 和 Fullsweep(Major). Generational GC只回收年轻代的区域, 而Fullsweep则同时回收年轻代和 -年老代. - -下面我们一起来review一下一个新创建的Erlang进程触发GC的步骤, 假设以下不同的场景: - -场景 1: - -Spawn > No GC > Terminate -假设一个生存期较短的进程, 在存活期间使用的堆内存也没有超过 min_heap_size,那么在进程结束是全部内存即被回收. - -场景 2: - -Spawn > Fullsweep > Generational > Terminate -假设一个新创建的进程,当进程的数据增长超过了min_heap_size时, fullsweep GC即被触发, 因为在此之前还没有任何GC被触发,所以堆区 -还没有被分成年轻代和年老代. 在第一次fullsweep GC结束以后, 堆区就会被分为年轻代和年老代了, 从这个时候起, GC的策略就被切换为 -generational GC了, 直到进程结束. - -场景 3: - -Spawn > Fullsweep > Generational > Fullsweep > Generational > ... > Terminate -在某些情景下, GC策略会从generation再切换回fullsweep. 一种情景是, 在运行了一定次数(fullsweep_after)的genereration GC之后, -系统会再次切换回fullsweep. 这个参数fullsweep_after可以是全局的也可以是单进程的. 全局的值可以通过函数erlang:system_info(fullsweep_after)获取, -进程的可以通过函数erlang:process_info(self(),garbage_collection)来获取. 另外一种情景是, 当generation GC(minor GC)不能够收集到足够的内存空间时. -最后一种情况是, 当手动调用函数garbage_collector(PID)时. 在运行fullsweep之后, GC策略再次切换回generation GC直到以上的任意一个情景再次出现. - -场景 4: - -Spawn > Fullsweep > Generational > Fullsweep > Increase Heap > Fullsweep > ... > Terminate -假设在场景3里面,第二个fullsweep GC依然没有回收到足够的内存, 那么系统就会为进程增加堆内存, 然后该进程就回到第一个场景,像刚创建的进程一样首先 -开始一个fullsweep,然后循环往复. - -那么对Erlang来说, 既然这些垃圾回收机制都是自动完成的, 为什么我们需要花时间去了解学习呢? 首先, 通过调整GC的策略可以使你的系统运行的更快. 其次, - 了解GC可以帮助我们从GC的角度来理解为什么Erlang是一个软实时的系统平台. 因为每个进程有自己的私有内存空间和私有GC,所以每次GC发生的时候只在进程 - 内部进行,只stop本进程, 不会stop其他进程,这正是一个软实时系统所需要的. - -Shared Heap GC 共享堆垃圾回收 -共享堆的GC是通过引用计数来实现的. 共享堆里面的每个对象都有一个引用计数,这个计数就是表示该对象被多少个Erlang进程持有(对象的指针存在进程的私有堆里). - 如果一个对象的引入计数变成0的时候就表示该对象不可访问可以被回收了. - - 进程调度 - ## ## 进程调度 -就目前计算机体系结构而言,任何进程或线程要执行就需要得到CPU资源,对于erlang的进程同样如此。erlang虚拟机同时存在成千上万的进程, -但是cpu核心数又是有限的,所有erlang并发特性就需要一个合适的调度规则来安排各个进程的运行, -简单而言,erlang虚拟机调度程序保留两个队列,准备好运行的就绪队列以及等待接收消息的进程的等待队列。当等待队列中的进程收到消息或获 -得超时时,它将被移动到就绪队列。调度程序从就绪队列中选择第一个进程并将其交给BEAM执行一个时间片。当时间片用完时,BEAM会抢占正在 -运行的进程,并将进程添加到就绪队列的末尾。如果在时间片用完之前在接收中阻止了进程,则会将其添加到等待队列中。 - -Erlang调度器主要有以下特点: -1. 进程调度运行在用户空间 :Erlang进程不同于操作系统进程,Erlang的进程调度也跟操作系统完全没有关系,是由Erlang虚拟机来完成的; -2. 调度是抢占式的:每一个进程在创建时,都会分配一个固定数目的reduction(这个数量默认值是2000),每一次操作(函数调用), - reduction就会减少,当这个数量减少到0时或者进程没有匹配的消息时,抢占就会发生(无视优先级); -3. 每个进程公平的使用CPU:每个进程分配相同数量的reduction,可以保证进程可以公平的(不是相等的)使用CPU资源 -4. 调度器保证软实时性:Erlang中的进程有优先级,调度器可以保证在下一次调度发生时,高优先级的进程可以优先得到执行。 - -1. What operators does Erlang have? -``` -Arithmetic operators: + - * / div rem -Comparison operators: =:= == =/= /= > >= < =< -Logical operators: and andalso or orelse -Bitwise operators: bsl bsr Bitwise logical operators: band Bor bxor bnot -``` ---------------------- - - - - - diff --git a/src/docs/erlang集群相关.md b/src/docs/erlang集群相关.md deleted file mode 100644 index 582f8c7..0000000 --- a/src/docs/erlang集群相关.md +++ /dev/null @@ -1,333 +0,0 @@ -节点连接 - -分布式erlang系统中的节点是松散连接的, 第一次使用另一个节点名称 例如调用 spawn(Node, M, F, A)或者 - net_adm:ping(Node)的时候 就会尝试连接该节点 - - -默认情况下 节点连接是可以传递的 如果节点A连接了节点B 节点B连接了节点C 则节点A会尝试连接到节点C - 可以通过命令 `-connect_all false` 来关闭这个功能 - -如果想主动断开与某个节点的连接 可以使用 `erlang:disconnect_node(Node)` 强制断开节点连接 - -Erlang Port Mapper Daemon epmd会在启动Erlang节点的每个主机上自动启动。它负责将符号节点名映射到机器地址。请参见ERTS中的 epmd(1)手册页。 -四、跨机器连通防火墙问题 -要想连通某个节点,该节点(即被连接的)要保证: -1. epmd的端口(默认是4369)在防火墙打开; -2. erl要加 `-kernel inet_dist_listen_min Min inet_dist_listen_max Max` 设定使用的端口范围(若只有一个端口,则Min==Max),要保证这些端口在防火墙打开,并且这些端口不能全部被占用 -也就是要连接某个节点,是和该节点所在机器的epmd以及该节点通讯。所以发起连接的节点不需要上面的2个要求,即所在机器不需要防火墙打开4369端口,也不需要加-kernel inet_dist_listen_min Min inet_dist_listen_max Max - -隐藏节点 在分布式erlang系统中 有时候连接到所有节点是不好的 可以用使用 命令行标记 `-hidden` 隐藏节点和其他节点的连接是不可传递的 同样隐藏节点也不会显示在nodes()函数返回的节点列表 -这也意味这未将隐藏节点添加到global跟踪的节点集群中,另外`nodes(hidden) or nodes(connected)` 会返回隐藏的节点 - -节点cookie -身份验证确定允许哪些节点相互通信。在不同Erlang节点的网络中,它以最低的级别内置到系统中。每个节点都有自己的cookie,它是一个Erlang原子。 -当一个节点尝试连接到另一个节点时,将对魔术cookie进行比较。如果它们不匹配,则连接的节点拒绝连接。 -可以使用 `erlang:set_cookie(node(), Cookie)` 将本地节点的Cookie设置为Cookie, `erlang:get_cookie()` 返回本地节点的cookie -为了使cookie为Cookie1的节点Node1能够连接到具有不同cookie Cookie2的节点Node2或者让Node2接收到Node1的连接,必须首先在Node1处调用 -`erlang:set_cookie(Node2, Cookie2)`(该调用不会修改 Node1本地的cookie, 而且这样操作之后 Node1会自动与Node2所连节点列表中的节点cookie都为Cookie1的节点互联,不相同的cookie不会自动互联) - 这样具有多个cookie的分布式系统就可以互联了 - - 关于分布式的BIFS - Some useful BIFs for distributed programming (for more information, see the erlang(3) manual page in ERTS: - -BIF Description -erlang:disconnect_node(Node) Forces the disconnection of a node. - -erlang:get_cookie() Returns the magic cookie of the current node. - -is_alive() Returns true if the runtime system is a node and can connect to other nodes, false otherwise. - -monitor_node(Node, true|false) Monitors the status of Node. A message{nodedown, Node} is received if the connection to it is lost. - -node() Returns the name of the current node. Allowed in guards. - -node(Arg) Returns the node where Arg, a pid, reference, or port, is located. - -nodes() Returns a list of all visible nodes this node is connected to. - -nodes(Arg) Depending on Arg, this function can return a list not only of visible nodes, but also hidden nodes and previously known nodes, and so on. - -erlang:set_cookie(Node, Cookie) Sets the magic cookie used when connecting to Node. If Node is the current node, Cookie is used when connecting to all new nodes. - -spawn[_link|_opt](Node, Fun) Creates a process at a remote node. - -spawn[_link|opt](Node, Module, FunctionName, Args) Creates a process at a remote node. - -Distribution Command-Line Flags - -Examples of command-line flags used for distributed programming (for more information, see the erl(1) manual page in ERTS: - -Command-Line Flag Description - --connect_all false Only explicit connection set-ups are used. - --hidden Makes a node into a hidden node. - --name Name Makes a runtime system into a node, using long node names. - --setcookie Cookie Same as calling erlang:set_cookie(node(), Cookie). - --sname Name Makes a runtime system into a node, using short node names. - -Distribution Modules Examples of modules useful for distributed programming: -In the Kernel application: - -Module Description - -global A global name registration facility. - -global_group Grouping nodes to global name registration groups. - -net_adm Various Erlang net administration routines. - -net_kernel Erlang networking kernel. - - -Kernel Modules Useful For Distribution. In the STDLIB application: -Module Description - -slave Start and control of slave nodes. - - -%% ***************************************** net_adm 模块 ********************************************** - -## dns_hostname(Host) -> {ok, Name} | {error, Host} - Types - Host = atom() | string() - Name = string() - 返回的正式名称主机,或 {错误,主机}如果没有这样的名字中找到 - -## host_file() -> Hosts | {error, Reason} - Types - Hosts = [Host :: atom()] - Reason = - file:posix() | - badarg | terminated | system_limit | - {Line :: integer(), Mod :: module(), Term :: term()} - 读取文件.hosts.erlang,请参阅文件部分 。以列表形式返回此文件中的主机。如果无法读取文件或无法解释文件上的Erlang术语,则返回{error,Reason}。 - -## localhost() -> Name - Types - Name = string() - 返回本地主机的名称。如果Erlang以命令行标志-name开头,则Name是标准名称。 - -## names() -> {ok, [{Name, Port}]} | {error, Reason} -## names(Host) -> {ok, [{Name, Port}]} | {error, Reason} - Types - Host = atom() | string() | inet:ip_address() - Name = string() - Port = integer() >= 0 - Reason = address | file:posix() - ie. - (arne@dunn)1> net_adm:names(). - {ok,[{"arne",40262}]} - 与epmd -names类似,请参阅 erts:epmd(1)。 主机默认为本地主机。返回epmd在指定主机上注册的Erlang节点的名称和关联的端口号 。如果epmd无法运行,则返回 {error, address}。 - -## ping(Node) -> pong | pang - Types - Node = atom() - Sets up a connection to Node. Returns pong if it is successful, otherwise pang. - -## world() -> [node()] -## world(Arg) -> [node()] - Types - Arg = verbosity() - verbosity() = silent | verbose - 调用Erlang主机文件.hosts.erlang中指定的所有主机的names(Host),收集答复,然后在所有这些节点上评估ping(Node)。返回已成功ping通的所有节点的列表。 - Arg默认为silent。如果Arg == verbose,则该函数将写入有关将其ping到标准输出的节点的信息。 - 当启动一个节点并且最初不知道其他网络节点的名称时,此功能很有用。 - Returns {error, Reason} if host_file() returns {error, Reason}. - -## world_list(Hosts) -> [node()] -## world_list(Hosts, Arg) -> [node()] - Types - Hosts = [atom()] - Arg = verbosity() - verbosity() = silent | verbose - Same as world/0,1, but the hosts are specified as argument instead of being read from .hosts.erlang. - - -## .hosts.erlang - 文件.hosts.erlang由许多以Erlang术语编写的主机名组成。在当前工作目录,用户的主目录和$OTP_ROOT (Erlang / OTP的根目录)中依次查找。 - 文件.hosts.erlang的格式必须是每行一个主机名。主机名必须用引号引起来。 - example - 'super.eua.ericsson.se'. - 'renat.eua.ericsson.se'. - 'grouse.eua.ericsson.se'. - 'gauffin1.eua.ericsson.se'. - ^ (new line) - -%% ***************************************** net_kernel 模块 ********************************************** -## 描述 - 网络内核是注册为net_kernel的系统进程, 必须运行才能使分布式Erlang正常工作。该过程的目的是实现BIF的部分spawn / 4和spawn_link / 4并提供对网络的监视。 - 使用命令行标志-name或-sname启动一个Erlang节点 : - $ erl -sname foobar - 也可以 直接从普通的Erlang Shell提示符下调用net_kernel:start([foobar]): - 1> net_kernel:start([[foobar, shortnames])。 - {ok,<0.64.0>} - (foobar @ gringotts)2> - - 如果节点以命令行标志-sname开头,则节点名称为foob​​ar @ Host,其中Host是主机的简称(不是完全限定的域名)。如果以flag -name开头,则节点名称为foob​​ar @ Host,其中Host是标准域名。有关更多信息,请参见 erl。 - - 通常,引用另一个节点时会自动建立连接。可以通过将内核配置参数dist_auto_connect设置为never来禁用此功能 ,请参阅 kernel(6)。在这种情况下,必须通过调用connect_node / 1显式建立连接 。 - -## allow(Nodes) -> ok | error - Types - Nodes = [node()] - - 允许访问指定的节点集。 - 在第一次调用allow / 1之前,可以连接具有正确cookie的任何节点。当允许/ 1被调用,建立允许节点列表。从(或到)不在该列表中的节点进行的任何访问尝试都将被拒绝。 - 随后对allow / 1的调用会将指定的节点添加到允许的节点列表中。无法从列表中删除节点。 - 如果Nodes中的任何元素都不是原子,则返回错误。 - -## connect_node(Node) -> boolean() | ignored - Types - Node = node() - 建立与Node的连接。如果已建立连接或已经建立连接,或者Node是本地节点本身,则返回 true。如果连接尝试失败,则返回false;如果本地节点未处于活动状态, 则将其忽略。 - -## get_net_ticktime() -> Res - Types - Res = NetTicktime | {ongoing_change_to, NetTicktime} | ignored - NetTicktime = integer() >= 1 - 获取net_ticktime(请参阅 kernel(6))。 - 定义的返回值(Res): - NetTicktime - net_ticktime is NetTicktime seconds.。 - {ongoing_change_to,NetTicktime} - net_kernel is currently changing net_ticktime to NetTicktime seconds. - ignored - The local node is not alive. - -##getopts(Node, Options) -> {ok, OptionValues} | {error, Reason} | ignored - Types - Node = node() - Options = [inet:socket_getopt()] - OptionValues = [inet:socket_setopt()] - Reason = inet:posix() | noconnection - 获取连接到Node的配电插座的一个或多个选项。 - 如果Node是连接的节点,则返回值与inet:getopts(Sock,Options) 中的返回值相同 ,其中Sock是Node的分发套接字。 - 返回忽略,如果本地节点是不是活的或 {错误,noconnection}如果节点未连接。 - -## monitor_nodes(Flag) -> ok | Error -## monitor_nodes(Flag, Options) -> ok | Error - Types - Flag = boolean() - Options = [Option] - Option = {node_type, NodeType} | nodedown_reason - NodeType = visible | hidden | all - Error = error | {error, term()} - 调用过程订阅或取消订阅节点状态更改消息。当新的节点连接时nodeup消息,一个节点断开时nodedown消息被传递到所有订阅的进程 - 如果Flag为true,则开始新的订阅。如果Flag为false,则将 停止所有使用相同选项启动的先前订阅。如果两个选项列表包含相同的选项集,则认为它们是相同的。 - 从内核版本2.11.4和ERTS版本5.5.4开始,保证以下内容: - 在从远程节点传递通过新建立的连接传递的任何消息之前,先传递nodeup消息。 - 直到已传递了来自远程节点的通过连接传递的所有消息后,才会传递nodedown消息。 - - - 从内核2.13版和ERTS 5.7版开始,保证以下内容: - 在erlang:nodes / X结果中出现相应节点后,将传递nodeup消息 。 - 在erlang:nodes / X的结果中对应的节点消失之后,将传递nodedown消息 。 - - 节点状态更改消息的格式取决于 Options。如果Options为 [],这是默认设置,则格式如下: - {nodeup,Node} | {nodedown,Node} Node= node() - 如果Options不是[],则格式如下: - {nodeup,Node,InfoList} | {nodedown,Node,InfoList} Node= node() InfoList = [{Tag,Val}] - InfoList是一个元组列表。其内容取决于 Options,请参见下文。 - 另外,当OptionList == []时,仅监视可见节点,即出现在erlang:nodes / 0结果中的 节点。 - 选项可以是以下任意一项: - {node_type,NodeType} NodeType的有效值: - visible - 订阅仅针对可见节点的节点状态更改消息。元组{node_type,visible}包含在InfoList中。 - hidden - 订阅仅针对隐藏节点的节点状态更改消息。元组{node_type,hidden}已包含在InfoList中。 - all - 订阅可见和隐藏节点的节点状态更改消息。元组 {node_type,visible | hidden}已包含在 InfoList中。 - - nodedown_reason - 元组{nodedown_reason,Reason}包含 在nodedown消息的InfoList中。 - 原因可以取决于所使用的分发模块或进程是任何术语,但是对于标准TCP分发模块,可以是以下任意一种: - connection_setup_failed - 连接设置失败( 发送nodeup消息后)。 - no_network - 没有可用的网络。 - net_kernel_terminated - 所述net_kernel过程终止。 - shutdown - 未指定的连接关闭。 - connection_closed - 连接已关闭。 - disconnect - 连接已断开连接(从当前节点强制连接)。 - net_tick_timeout - Net tick time-out. - send_net_tick_failed - Failed to send net tick over the connection. - get_status_failed - 从保持连接的端口检索状态信息失败。 - -## set_net_ticktime(NetTicktime)-> Res -## set_net_ticktime(NetTicktime,TransitionPeriod)-> Res - Types - NetTicktime = integer() >= 1 - TransitionPeriod = integer() >= 0 - Res = - unchanged | change_initiated | - {ongoing_change_to, NewNetTicktime} - NewNetTicktime = integer() >= 1 - 将net_ticktime(请参阅 kernel(6))设置为 NetTicktime秒。 TransitionPeriod默认为60。 - 一些定义: - Minimum transition traffic interval (MTTI) - minimum(NetTicktime, PreviousNetTicktime)*1000 div 4 milliseconds. - Transition period - 调用set_net_ticktime / 2之后,要覆盖TransitionPeriod秒的最少连续MTTI的时间(即(((TransitionPeriod * 1000-1)div MTTI + 1)* MTTI 毫秒)。 - 如果 NetTicktime ok | {error, Reason} | ignored - Types - Node = node() | new - Options = [inet:socket_setopt()] - Reason = inet:posix() | noconnection - Set one or more options for distribution sockets。参数节点可以是一个节点名称,也可以是新的原子,以影响所有将来连接的节点的分配套接字。 - 如果Node不是连接的节点或new,则返回值与 inet:setopts / 2 或{error,noconnection}相同。 - 如果Node是新的,则Options 还将添加到内核配置参数 inet_dist_listen_options 和 inet_dist_connect_options。 - 如果本地节点不活动,则返回忽略。 - -## start([Name]) -> {ok, pid()} | {error, Reason} -## start([Name, NameType]) -> {ok, pid()} | {error, Reason} -## start([Name, NameType, Ticktime]) -> {ok, pid()} | {error, Reason} - Types - Name = atom() - NameType = shortnames | longnames - Reason = {already_started, pid()} | term() - 通过启动net_kernel和其他必要的过程,将非分布式节点转变为分布式节点。 - 请注意,该参数是仅包含一个,两个或三个参数的列表。NAMETYPE默认为longnames 和滚动时间至15000。 - -## stop() -> ok | {error, Reason} - Types - Reason = not_allowed | not_found - 将分布式节点转变为非分布式节点。对于网络中的其他节点,这与发生故障的节点相同。仅当使用start / 1启动网络内核时才可能 ,否则返回{error,not_allowed}。如果本地节点未处于活动状态,则返回 {error,not_found}。 - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/docs/picture/erlang参数传递讲解.png b/src/docs/picture/erlang参数传递讲解.png deleted file mode 100644 index f40b311230c3dc8dc4aca8cbdd8ffd5a31089a98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56079 zcmb?@cT^MI`mO~OEApb6Hz|MSq`pb3T3Vcw=K@_h3M9`uK4FD1lvv zML3H6{Y(e-!hf2Z-H#q|{kwDcWn|XB`;sqQ8;$yROR=Cp?BA`Tv&>4T<4%ved~Ld#qIANOYaU!-if;7xI^d|17_GUT{ylO1zVd)9%5ZDk(knX zRG7l-e6G;!;@4TnXS92@p-{n`)G&oNb)N=@4H`9fcoNY+BrVBM56cA07X?Efza;9< zpsG!hls~X0`(p=r^M%Fu7h~at>Wb!^daiCVi;n@`fIOBs+NIXOwRO!Nu9eTa#R<4FTAX*F)1OJ`OK z^8$6`TU%`2QFi%rhb_x8^pX5-`IVK_81VHnDXF#bMq*C4fK@6n*6V}ijW}Y^Ltw$T ztyGEZLNvte>hBr2UblL=Q+TktbJUo`D;RwQxX0{l6wG1a>(38%t!WMv;UnVV@|B02GKZ;b%VXhGftA!h$`@=}eKk}9 zjiKJzxNd=LU*Ag1f`YTin8`8yWBnf+Hj&45dTkKzjf6y`vN@0cHRxz#9J)D`>V2K{ zLEOXH>r!287?tbMxz*EBGZLuf zQ3ZNPoc-I?S~uqUy61tDydD+3IbViF9g!V5pw4*H%sRCb>5z&o9%_#H8z=E5^9$A1 zeOLrH0allOg?DD`=Wo!ylF)+pEz3zIL0r1E-FL)>MPzXBIV&NK%U4^;0W0@c#+LCH zGWmC0Rh2{pZkHT__Q zBpo?!wUpX>h>owRT#s2!^>_Xz=%OO?L4dT8sHZdEKyvlF0o!6Bv*1<-^|>0;3liaT zz%HYrPE`+=o<>qFSVWHa=Rt>8aeYoi`-QlrO%y@>;tyU^?z400L(i7gk^w-rzAn{9 z(h^ut?6Y!3mW%mhh5w-^Owqqjh5 zvMmA79>C)RA)roy8UN)h=b`4*Ipvo(WKDC#0D& z!r|9z%=~lh?czCng=*1sLJ#;#CVGz;c`kSmlG}|ohw$8LVNP=Rg{>Nu7U zWwex{Fk4jQiH~=HiZ8?QgEUzM|ypgnznH-#roH_5$Os`+lXybyi~Z~ ziFGzJjd*R-gukF(#-u9ag%@Btu|ZmMS$a~PZk;b?8@-5Ej>|eqb)OS%UPxP? zj=4cJmvjp677y{qiOg2R&F0^`&Sa4|2XKT}TkV;37S>yGd=;r#+5ja>`veS!C&Lat zk@(dfBhFO|62UD-zC)?LGZI+*srTkArybe|ZMo9IWfE0xrOQOLNUE>uq}V*r(r~Lr zqMXE)KcIcLd9X{&!%|#SA>3S3)?j8)bwfsn!qH6(?^r`5_IzeFQD=2b#fNig5|a?A zG*Af;f9*3HQ3HMi9LDsVECWlq~Ijj!n~DOZ3O)+#(a;cla+xSi&trT9o%!`o=5+SoFh^ z*X`yQ@}nIvW`N{|PMLvDv^k5Wa-oK@4=sYBM!32_ac#u8+`K5n_B7bli3@zYNWlKq zcpSUgn~}21?2c?YmS?Q#$RR5!Xr1rraBkB zeDF$MsB=X@c&%O~sH1#5dP>c9#3p4-oYj4s^hBwiPRX zs2K6i$IQVc$GT46e_-=fx~eUGE4S+Sq1QoSD-_?hvQsgz zvAXm!?N@PE-U?~=f%vydR;-=l_(}^^6Eb;!ddc76MNU@$T24Qb=_cT)RjE71Si;t1fiKfkuqcvp4FJxU*52Mx`}bCHtHJ9 zZk@e4XW1RyOD@N7t%EBOTkh z{vz>X6o*!tG$aid5~8>`nqv#-_L!BJ9<;CY0e)+0*N(rucT!S(pM!foQzgp|S>b!w zI}z)34bd_dcS?o3Hs_d>_V>r2_{r^bmO=}k+bv>0YtFf;ZLY*j2W|lbO!QZ+w}Ks? z@5@KlKEZ{lo%>ACCJrOBHEA_DY?O+!@tI-0R(oGj5r?v#&U?a9$>JMxOo2QSJYqKy zgHeWNt}1-dqbb@Hy99fCkLk0j>Y*Fbla$WhuV{UmcugoE}f$5 z<2dMs#t<5J5<1ltnh$tAD`93**(|B}aPTtv-L%2nt; zft%3c7OxE-DclkvAWv!MKJ%htrtxc@zDggFyxlvRMwuG2;PVCUC&hw7*> zkm$i?h*Gs6RcW)k!i#CBS?F}6SWv6r?O?VkpxoPBSZe)&=$emi&(xhwau}R1>@5M< zU!A10`o+*hSkxk=!vxidOw;neQ5AE#K2*Q%XgwT7g+8_l9B^474pSun3IoHz13%%o zXCm*jkQrn(O{!q@Q}E5EPA{uU^dhz+RIGDCcww>(hK`=EUC$dP{p->{U?S42j8iqn z%j9e-iS^k-TNJ^Ep3We9Cdnun?K}CeGZ=aI-M$ZUG*^dJYC(F{_kX@pFMNVD`!31F zd!6eC!|Jcow={AyT3>VRRtU^qr10sO)`cFuOH%dA6()}j&!FH1*}TrCDNSqLZ_oBk zK4>8&-5@S^rj0xhU)f$e4B~$)Ifhm|jp283T1!*&IQ)b$GnwzuvR?P*Uy4vv@`wKi zIcaJKfi4Z#zZbl5@gcpKkE;bU$-peK4mL-JU*%&oEyhfHVkaJawoDB{O8M4Q9={D* zsPB+!zAdul_X+FU)7-llGjkL`G!GS zE;Y7KN%>#uOI+;BDQ%c3*1!$Qnu{$A#k^#C{Grm{?PPWFWG%FQ*v!EUuChY6I(rwo zr%5N=@)brmo#ngSOK(gkO{#i$NI|@I?>87KTB6S6SNc9n3sbE6f~`!oAbo1;GXaX@ zHr9+|7tnB0X2bV_gt!>@AAvs1#@AJYWT0(%(&*f&ducniVa4RwI`MDL0c#+l(Pz^y zh=ml3yjDK0bjEnhC@f!`LQm|A%;;eI3+W_)(ef|t?zU``JTC*B94I{`cmGR@X?%qW z`@kR&L!lqFo>>O!N2%3(j~6kp$dbyH?kVJ>-}lNa;w!cq$zk8Iv<*5c4$IJSJrc~s zQB(~_VLRA45BftCer)lk$Y4ceYxjpL`luDos|ZqOm`+WpTUK9Yk}TgE;8K;!q~ECG z(hww{GQ`zTTzpLb-^+UgmNP|KA^h55uUKmA3V9enR2seR6@~eHa#8}G%rZ=ehK$%d9_9<2WHQ#6ZvtGbtac##(5RSjj8_r6gF+zn z^!XGNz5%Ryk0kB$-=fg(7-K4#?oJz;(FU}Ir>X)^doCTaRh1~59^8Mp?!3P zx!p8h#q%V)*VIe>bN3WG8@^xlR0eH59ak@pB)v%l!unlSwU=p+1>|7I*yNm_vsMge zwZ8-12A8~<0`YN2OxAZxz3*?X`UQK^0hvk#M6 zQ8MHC8q$xec&<6Spz)jF=NRy0A^&CjEo3$irm1ox z(gy&a;GG-W6y=W*_tz(?CoHSSitJkQ`9feW!p`GBvsuedri&ysDMsTyMt%_^CorV( zOG_bOd61&$FMg{=4-v$#-Q@S~Wu=j<4C+x#hB?iy!T)R~-y#=6LNdpb*cIFuoo3mh zax8L?%tG&9^b`}294vQI2FfbHJsFL6LP{V~1KW1IX+X-{HNQgFgj4k;E6?AC%rm9e z+1)bY;Jzd5&zXBN6*}N0DH(2Ap>>Yd(i=L>f!6MK2+SXR<12wS8Js+mOZ_~Sg3wQJ zxP8u)`U*!3cLunM2>HpQXQ^{f;29=%>S`WP)oCXGQ{4)m4md*&G zddd>A2;5ZKUg-iY&GWn|*@uEUI zHy(;3>))e7*FT>L>g*C303%UdC8}%jcWrt`yYsR>+g}s6`O~;HbV27*LSVB{cF)7n z-&mFfF#hah!-MXZKG$4=k*le(EPq5|5&OldG{19wnu-sb!q-O|L_Ott)|n~*R+^7t zBddhZlWU&Wf)+y6m8KQ4q(xRlB~QhvDGsErnh^1B;04DWKImVl2j%eKY<}bsqE2^A z)wL%x`lI^{$>u4+X}^4+{5#iuE|7m~#U!j}iE%ys_6qR!nYA4`sP~6UV|27yk{TSo zrS~eaY+u7cS>lTLWCQ1$z9$_I1RhI>*8Bo5oMe$CE51*%cq*2E?5m%rgC+xSd|JL+ z?zmrW8fRnSJqZRYf{*-)ySB5{OJX(=Ev7cw@ zw^rlZOO>%0#f*fh_VUQOvpdVX-DI*XvFnFw@^9;T-T9OoN!HWZxe-HRqlVYLUjksn z>j6u5HKt|whm0di*5Xf5B>5q)-3E-l3nIT?7ZenXXgN9Dpbg-rMVUGO1+eU!>Hqin z_3IAS<$-Bt(8;H{K$@z_fElkvLwa3&V$1jSyP_=*faW{c@OxeT@-|(jbdIs`{KdG{ zT8qh&$E4QK!SwR?Z)i-X_cg>Dots7||8WsPks38nm z`ObDzoSMwON>v=8}>Tj&hzjE&;VJxfKEhetC`A_Pxv7n%diOMk!ZM-4B=pPaFN+WL!aUwbn+3 z?O;txz^h$PSySmD2*@X2fNpo$c53hIMBep#HXmw*x0Pk0WisnuB7OJbmTRUG-HNq0 zu;dEUY+cg)Es8;x_0;Pi9M z7B7YTEzegu6sqkMd2_eCr~Y`dFjUPV%;Z8W&_lHu@DiDF4jV_x@)D}`UUY~`LrbRO&My^7J88~Pna;v%vOZgbe1 z!-9+R&W_(}Uf-cWS%j_a*LXb>JVCC2-?4fckhmoy{0iQkw5(;~7Et<+p(REx?s~$G z&o9J8*u`(tBhmH9A zJa!$(1|TUk$STf7S!d)$cM8kkvJPsOiwz7nodLha_-7oMCNUeudKYO(0~^=Li?{jO z`flX^?h+{;$pf@pBW8RAb;NVe4Mc+sC%T;;Gui6!G?+S(=jQr;$X9pQch@eHmMixz z=oPUFk2JQ53JMIi^@dbF{m_&?`Bhw7na=%Fs zzxF0}83}^TRK8bFmAm)Xo%CT+Y-Z zq?4q-jDesFs(DJ3-`>tX>Wj|&mFcXTwJL@xoAyOkaw^RMHu)Z~AA*hD_iQ`A&YtYTi!R6>?+qnYz!|L%b zmk!I_x0_)L$?(y8Lsuv-Ztc(0vv1^2ZPlQEYA5DC^?c1cX5u}7Zni^2sPiiV75M>? zc9)>WAZWB_>w0j~RWM9jS@H)BsChw$W$Dk+%*@RCZoXFY5rcl21I2Cr?LRoZa<8oJ=X5^J^M`qi`k7*}dylh$$vZ2{+CP$a>I)B8(($IP74`w1X-E zZ>k+FmvXFLTm6_g95C$}w=q><{J*^bjXz3E9e7q$2u;&#*u9uurI0$vamL=ZVWnD_ zxksVEj6(K~$8pWUH+<x|4P{XSxqG`bu`fU>8-DkFTJ8yzT*3q^ zIKOd7)2#8(_pW%7y@1QVTbHLtQbC^91yWDZJmb8ERCNAfNhQ_^2fAH6m_0R@XN5+s zkZ%0x1~J{`dq=TdRS%INLO{}m(Y+5{SJjbgVD%R-M(1%EdI0KGQv{pTkf&K|kau9% zj>tF41{|5-fvdjN8K{N@QNFlCwGHDYYOP zuJ+yBM6L1;C}36{lMviO|LMe0=^WF@5ti--(~n&6IKWivGdpYBlTmkj8sHNZ9wjyQ{6iv}iU~A<35uRq9G!>+)3O zTOXAkPFFKqUzeVQ#t%r31=dukz&CgzDSUq!Ty!bCg6otm4KcB9Z0el5HiCkEOYF&@ zKe^VHATpSzOAYHoKZ*gdFaJn+;}%;A(zs<1u!h}uN`CXlBU{P-(bs2VNj`v~Mp96} z&vK2`Z(;wi%;4%e%feoh&jwuY1987N%-6i>)ZuuD3qVbeY#HE3J17^Oxl)$XJ6p3%c!?{;wW?^ zSou9ItiIo+8yD>`aD^;~=Bg3-V$q_%l)MO1c6^pw(~i2H8>@VdBGNGVD>$Wjz@Ph7 zf!%ZPqLV+Oml5npcrGd3Oa;i1XwGFBOb{ z$+OB=Md0=YJMGWi1Y~hsYd%|;ifv7s#xffpM{EgL68O}@tQ!$i< zHM@Evi?!$j$+I@NS2y2!1 zmOX+DN^U^+fL9RWZc|>6liKDH+RlI+?Y4_BP21_UJfLcpjR_xB5;Xc|V$O20`z;21gl*hcb zBoPHx$xUGMl^FK**gL_$FLb#vV!U!w7PAv|Yytx#Wydsiwwxo++c$TYe4PxkuCsO= zs2Q0o5)OnscYAJBNbrG^mUB;MATe4*<$YOOSbfl_4|m{=j~{qA*336FWGI$uzyIc_ zAp4bK*{JCuaXU-Y1F)EmcNLJ(KtbyBj)hj+p%`jl@qG{a+?C0ip`F#x2+FyWn0j7) z(p8wc`TSG3e?CWp#j(4S3q~uYi6>J&MD3sL)(zei0XItfoEd*hQ^8b2fiq%Y^T#%g zm@9H##@61_LI}w~?QAE46V2B`YXLx7thB{c71udG@d~G&Cvn%Qx++1u2Pm*ctWEb; z*5%WR`ux6qu0AX`bqF0}AgqHwW3k-jGf}C!M0O$9&yNk~vEQ>3Mg;5L*|K#U?~zJE zF5w2o7#X(-dAWhm{U|Q81!;gi{0}LTP@S!L+oqb{2^J>)48R($&DI91^B2jGL(Qu> zPCwS|&vvf7v~*iIG}APEX~QoxAn(Z->a+p5J%JCvJO~Ic>8g^LL;>f8w7O5Zc;-z1 zJYVXw@fe^`W`efj$zZ~<-HI2UOy8gGen*+egyQ&ak&SnKIt3bQ3;OjKgXk-MuwzfLu&YSstUi88d7_JGcXf@HIp z?LsGc3X3)D-0wn?lYvHF?q?K^(se_2&L$R*aocIETBTy?GN!Rp z!ql>K)ksiCPT(}7ykyHz^2P7mJnyy ztz(l)Kne>Td)&irx87Q^Fj`VW$+LbD?{#04e_TB!I#kVK(slpqrYNQTnALlvOpEK2 z-r@Z~-2%qgzt2DxLl=Vm)y@S;`W1~K$N0x&t^*DK7GevXtBUbV6X9o0S(*(rmg#lB zcBLz6d)lM2>W^7DE#{K*`W54LP4C1Ygr>AZU4>jS@j>26@6PLaef$im>dHtq-6xEA zPe9lel$E^Y#W8B*Ji_JD8Tm{ggfnGp6RXPQy(7}`_>1S9s2PQiLpp1*uKhu~1(c~^ z)jpK{QyQ->bODbUiw?gvg?Z7mB75IOAtA%fgd7F=$soiV8?gUQZ17jp>5Wzt-mL;Z zg5HyL=IFZj7wpxOBw>$10?I(?_aVklWMjgkbnK?#w(YlXHEo91!RJJ6o7QbK3^H?> zrz#Zud&o6Ce8hBvTCVC~^+^c)P zX|pL9@a;UevOTXsE+x=99~kE+#)*r0?{z{2yWW^G$;*(N%p+ZB=Un6F$GpgCPh%SGri~Ti`?K(=uGj>aWk_}3@q=d+o{i5q%ri>Q_NisIj9c^% z<%C6+T+hisp6t@?%=RcduJQ4NKakW0T4G5ifsMyo4bB27(kKBZ&#Mr$|4Ql=h{+8& zaxzc0rG-^%>U2u$Gb?evnvf?exxE=R?R%FTV`cm!Qop}2ZccKx^nlI!Ni|2G_)qW> zrftphwZWc;Qy0)T0p{`D=7chR9SWO~Mn|W4xZK2JJ>&^aYhiwtEf!dq8#~iRQYJy{ zaKkwaMj#&KB_n<=3f}f)+b=`g(L+@tpB3kSS%Zvz3WnLnJ+$PJub`Do7CV0TnWZv& z`&1%sRsv9JY74cBLjuV}N=@9@F>(2$WC!Pxc}vtDLExA&`Nw5h_nZ>+hnLpbI#%JZ zL>AALovFaJ{hQ#Mgj5dyj@rE{aNkd=PLHRZgUGmZ)mM4zx+>8$@1-gXGcCII)qJNPCgP90bId8u9Dgki7tb8J(BVN z&3rvwEoB;?jvU0>5dkOc*)_^$UHBORBT~~yeNOkgW3g@g<;}y?jy~-4v&t@hvzT?#Cw8WCE~Zwm(>qjyA;UnTa7^3WqPMRE>4_M(NqR%8~W#s)YRU_ zVIgT3h-2f0p?yD!5q&IFX^01Ty^WpQUny?ZTD}SVux12ON?QiV8m90G@#9?PNA!JA zYlN8GCXY^EbEUUI6HJx7wJ5aPotJkn`ejY~TP4jV&9rRcuGH)AV%pebL_Jqn)lF`& z;wta<o#iPH#PFfXF!37&WyNy&x$7K9#!Dzx(S_| zs#ZGQ=WZWx?ox^X<;HI010X5-)S)dP38eL&Lye_Si-iL_w>XAcRXJWQ{^cj*xTs1p zbru-_uEz5)fH%I}5i3n1ChD4tkWXW*DPK4pJlM5${xPg;>ru}W5W9%S*s|(43w?h(#<_W z$Q`7de3m_f(;Oag(NU>ojCb*AHz*O07tnqp(W0a1PCRb|`N!@GdkhGfQYdME?X1VR z`-eOU{=l^8yOs9i0`7@crzs0`C9d~l1IX*5^Vu!X2H`1YsrE!6WkNjRb-4hq*19*} z+Fw_KoN1pyb@f9HJ?q#VaEEJ2 zDkSpTZ&2&sWo);dOkLlvU0XD0;MIpE3|z^3P3hXkHgmqniFb7#n#W!z#}0#Xa@Ost zIm*07$x_yrn#uy7(B%)Me5eRCI|Nyh4(M@JPHA_A{V*Aa6q>4 ztxdZaK#=1t&P0n_a^=wZGWK*Q)+5%h6Ss*hE(dUKuT0o>yH{P#oru7Z+uqxoHt>Mf zALe>)t3mv6lDYJ=94*ua3Y`eEriNztcE%dwjBt(acD2jPi49%h$u2mduf_rA)xVyW z93@j0bH!qFgv>-OGDEp&zrp+{0WTh?;_5X8qS)M<`S>9?<`TD}U9q>xMk8ftsiiEu zi{)usXPP==@Ewkh@;N+~ zaEgNFv{ZmQ5q)=Wkf5+pR`*QB4N zVa7eV44)zcg+wp}dCga(@w}jv1xy`YB)aqv>%wIN4dl93yvy|bO*g?KhW=OQm!)k{ zwG#r}{m~w8Fv#t@0~7NMlLhUtF$hS_S>rt>OUUJuoo z&@rkLD{I8fA=iU>iEo0-j%Zq3gIh*eigrZ5%=%2`yO@5)0PbW%ej2Q!swSJ%wJ#$a z_H7+)8l&`P;i$Ewa00K{FX`YG;5Qwxil$irBP*r!{u*jG) zCNt2J#1bivuhFx(>&m=r-f;!;`hCGZ`&gWd1xt zPRxrOSh_cczVKWczSm#RJqqPBApNuBV`pu4AsSA6sHY$nG%S11>HBD_nuN|HJh~n4 zoxVu+6~b0}ioC&w*>XWK^M82$U= zoO<(e%yJs7F?^k+LwwJUoS1b|+nyO{zrvpxZY+ABO&Qj%8F}cBaQN|c@{(s-zjNp} zCOz#74Rt*cZ(yq|zq{U0{a;f3L|^=z`{03yT{(S86ilc~1WU-Ya5qWiMTZf;8~OxI z`N-Ro%S_~}9PGYVC9iwFhM^$Ik2y;q$$ocXBJl7@2(!QB~;GFp@GI^!n)Iv;)#_7 z(M-?4e~E-2?_>KSRIv(SPTrrzmFx5R47SO(w$OdM9;~IP4O{ife83~8_pt*Lzi=%P zp`nLI$6FosS}oy8*CGGmM8vHbpY#7CX1e^Bn|Sn@1LqMZjnm-O=1wQhZ5410qjXDH z3o?xn?M5u?lcc;&8JKlQE?Ir-IPRGCyDW^BZt9W0YPFP@+X*QeK@8N{$Elt>^Exe+Y0|kQfbeK$3q=(rC~$%6NmFgi#GLE%GF^@;%Nwhl~2& zh+oZox%Di=J2JTbYatH{hsZv^J*dTpLcHN6$TxfTV!V=0xe?6nm1^OI0+}zbfOr~x<^U*Z=gVxtfZr4GC13|Vt9=fg@Rq#LN zKv~TdJ$M%>(w81rsb5kLKi~?|>F{d@v{=l?!f9j}+TOqJ!~zmKUdDKvRx?8YxOA(E z^dv77R^^uw{b=^tBL1@voEKgP%9xyh;{w|Rg_a-~YhDf{YAW{gCW%p=Uq9@+s`D|+ zDd+0IFOx`$NG!WGur*gmj;y4Z}uQ;#b0zfcN@G z*Jyhw>SKzT0d`_4Jno}^d7OAL>?5q5zHRB}wl#Q`nv=@!19QVAe??y*;>W#uUb*H0mj{)LS`k3^^~lHq*mN*0H(U= zW%joUIa57SozeDStd$!L-@(x%P@C6tNhZG1rk+oLw~^b{RxykRn(mRi?NrOeyr3t+Ke_JnloN8PO;y6u8ZEE8X2=o~@nU)scn8rZtStxT#7{^?S@ zlW_*ry`}68wVP(I=FpSs=1o`OF6eow_e{w)*~#7x?VWRVOMTf=GdUM>Yj%yDgBx(( zVLrRD`N6MX`4`@%&yXH65{ z3q=vyDty()0y8*53g*dq&+C#IjcAm#Z}~~G>UhjPDy8osyAB18!2iviXx(@1E91Gv zRUfWVAk!-`qrtX453|B@@f2cbZ|<4aAzC}1ptZ@{dp=MrEssO0cTb{mszrFoIuIT- z^d2H0t~_#+E6}`WA}rUy8Dd!R%4b^|m>ddF3%QP9u26sVj^#e?hrqGB&9(KnTh9{p zHFYs5-1n~I@MknWC8h`Zflx21n^*iVkQeMyqB5RQ<;&EDh|KG4tnZWrjxy>cOI4KZ z(K$q?zvkwCzfdcGYXs*(TFKw}Wsl4o*bs3v2Lg_}wnU?!_fX)! z`U=yDZ;W??iLkb7rQSb7C%zl9czQqE7STmOuS8XHWyPX$9rrCBi8(9;E1A448e6Su zt+TYB|Dunm3i>9JDqK?)vuSM<-zNz?_%3xlW;5^*l;(Mrv}+B ztGzi9k|t3EfFNE?MDe65QQSK(5XAHwp~UgTP7vV#q^4A|1hZKgoZ_djP`<@3L9G57 zfB3;t@cr8@;pRk%=Kt>yThFq*f;clY9hL+6(Dxzim)I2(otLTUJYB$z zkRp3RjGBq06Fv*RPe3v5%71_yTh!o-oh)Z{iAT*fc7UUKy5O=n4j;u{ooef_`kt|| z?t`RUeObs5i#T)R=q!B^%$eDUGjQ_~(t7D|Thxp|HwWEcxVVFO*~r?{6PJcdkFj50 z+p)&U1@l|A$!1>RST&VXMkfv!0fPcPH8<5{aYHcizV<6)aN(#%<@y#0ju!=)_0ydL zi<7;llPUZ&eStM7X{qhV=j`9$GKBQ4ToqB9rSUi99+>yr*@eI-J^t0$X!l-c(9CGi z#=c#4D!@DNiMqFL%%v}hRO(J8s7B`54>D6B>=mA-Ci^C!uCKJcKjxpmglCbb%3kLc z0S=2y1KSR3q=|q`mZ(68QdT8do)!RA+eHfu5-)Z(7{mv|E0>A~bw`5hx&U)lDKnJn zjVpvmqf1$yCvGbCQ#bTLw0b&F3oB9jR>w2B*?*F`H*Ab~> zSvD#XPHp!OwR@JG@YBp^1-aTxyJ0sCdDWzs+!&B2(;3vM_sONnps3!^<%dyplM$s{ zD3$i^QbyUGXSYZdGnJRB&*~~)u?7NZs=PwcpW73z$Lt*AydV-Ktiq;0jyvD!;jIdO zdyYqzjlG)sOnL|>kIh;aA%5NN4?&!-o@(_}-!O55kI3A~8ip$6PiZkDo8KPsFqJdUJB59T} zcZ0?iH~#)gwK{qkTNFPLyXm@q&7F}yx-(|*oUVqyqwIOrahz*0x@fhKmAsQSQ%#iU zqa=8Jk;!-P9;nrnsH~WCU5=pSh(~P)&58<^F0s6nI_aM*Pd6Cht{OTuG7>}|J5q<~ z!{#duov~F9nKU_7ft~7}LL<)0Up_0dablXP`2}%}UPaGKzi4B9tJl0j^v=eKvugQD zTXTdJRhELI@*OV7($yk zB8ubp*y^?$eQ+m>6)AU<<5OO2vXMsnCm9Q9?6BEqO3)@jUE4IF+6_!+t>$p>Rd^-4 zOxDz4Dj9F4?toAQn^xjF-W&;^aydK$e&{)!q5hrgK49m(#^Zqq<~&jK{oh`IS&C+T>O5=N}$(=qsQAe%9V9ib3sBg zwo-CHO`Vl!zd8ViW3DBGpQzg1yHk4J>z*dNn)Td zY=!j(&TBm-gY8yUeE+*;C&{rFJY#XA5=lr$dkQDnmh2Uh!|6XJ@6$Kwe)zbEQwP5J z|K05IfBr<_-N&G>Y>bxAeE}1)>ud+gS104y{bFT&AF3PA^}Q62nYuDw3p{w+WGO!B z3JtCO{B}3%0E&YBw4w~yIXxh)&`s&|CFuG=ceYlovhEZ*4zH9o09#qLH7Y%rTMC18 zN}bm7`H3)38n>G#2Y zw>rhgZ(^OIestJ^(CbCPAxdic0TZrjULSVbxZF(}CnqwquI2*v?lB8H#MN_+X8n_1 z|C_W$YFK1^v2%w^5Nfl+jv-Pbr<=#Vg2L=`$@_4P1FMF&o|#h{vg^tjm1?M}C`#l$ z>o#L1msUMLE$>>={bP=8ZI75~WNUfzQ`f`>Yjr!dHj!iVHsfFAzv+|pldWCBlf4eZ zlY`xelid@#?-90mV^hDQ@z6apcYjt1-m^`S_B0&5u+5jeUmj-W@u6R-^8^TQ-m)TW zx}T_pjV?_t)#;ro=7whWwY^H0DgTSP_l|1n`_~3-sECbfK|s261wkQn57I(u4Tnz4AkY#_h6Xq|6%E@p{4GY9-Im>X*%={MTJJ z_FEc)0kuStt-*!xk?(`;1HInAiC@*%bQ3_U=F>@Hf}EQRwD>(}>)J+%d-+DXMtT18 zv)n*3jbENtrU+>K`2wf(L8VOo>M!o{)vd_w^ze>!p&*=eF6UDN1w2>s_-p5`&gSNk zVKzV;jfj}m#TSL;vZXn*khKN(05KNkS(6)YL<;ylOA*A1RnL{BXrX+$41t&`osgz2 zX3DKWLnDv={Jvpa;ExYEWzC}+d5~(7oS|)7MjnNp+d*Pdsi5fSf29Z}J)Yk3dQpB* z^q$pV{phBva6{AxH>Dys(=}Cz^Zl%j%^TB6fAKy0`(3)r@_QP3^U|6I(}(N1-38T# zq`gIZp)(7UWtCD9OHQ*rwegN>e1#SE6UbKf!FlOGqjs!1lzdIoG z-LOpaX_%ratq>4NGvMGG<1u3nS*86vf`H}i#nJwJ#K1L9gwGX2`vv2wfJlU2rQw$z z8XHJe#X~=_tdY5NwD2~!+F-zDs@%AYa{(ib`}FUev)^3&|H91v|3S{=f1@(Wzjt-e zHGV#KYVwFmlXRgpM;s)tGG=XoNo6)79_QZI87k6V*)($6rsFvjFs@fK1{O(_OS&}v z^sDo-Y1#Q^3M!45KN^-u`6~86Wo+v=MHQ2Z600!SMQ3njDJDQ8c&4s-%jd>=!3D(j||WA zj{kF#9LPTG2yzd&_;ib3g5W#2kxTv1L5(nKqKfeR>%Zl_)-O|Wd8uwaSF>zF@a#gq zJ=3%He*d~5QQ8fqW)=np^~*_ahw>DB%IGt4Zj}(8`G>IIA^RWP{z(spe@2U2;=<3Y ze>#u)uj%Eysbd*}-pF&&;kzKoN&t~1`hHycP z-9ZU@IR(6K0?o|1KXzFjT=l;}aTGCJke-RRsLezd&K3k_>9hz3J_N|`o9qit`Uz2T z#Q`vjaCLdyq}*hzv4+u3%iqu+H&1wQq7zdAWg=%BdU6=6iCYHYB8hFn`TE!!6HCEj z82$~ouW=C@v6_c2i@Fz}Gt}i%d(iPU=G>7*Q>GqZmFNoPvi5Qip#gT=BY9{e)*-US z#<*DiZFnF!_5Q=KIdr{=o{y|i+XB*Mws4v$ z*2kH|HyS>^dji}T>!I1&HIZk3V_EYole_vXvLtl`euyo1TA4-(9Ekx0@_mP!EK{eL z3mIKqO9K>aa)Kg<%SF@zYVP$pFM>8r&v`+bG}-SVX^)837yV+lR6EJ}VIrGKexTx3 zn&yaWY7a(*lajJPLwkBi)#hVfvzNWEV8$y@@igJV z?k&bvANy)F*WT9{M=!@F{gi(=nKXk!T`b-iTYSqF1caqp95NY|70y0k7sxN3;Ag4S zbb`9utTHleRWp1%{zY^9wr}yIjs<-L;(a;lV26Zy?JX;NWEgFnQU*_8VVoj=9d^#- ziE*)V8l2l`ks2auNFh_Z#*HXdTd9QnfI79=-WW7}e^uY;3@vvQD04EI0@m0f8?>ko zQiZA~5@(!XbI?(8nF1J7*!QYHIYj(6>x)62K#icZ4#fl+KR}C=9dD}??FR)nKGC84 z_mzTYc-U{H!FuBkoV-R?!_hYyn=}(9Ir6LvKKCk0$+Oa-j$V0{U&G7-lYapFRP-(_ z;X+R)#>$Ks9ZE0-HA)!&X1K;74VF|BCA-M7teZ$mr~ewxD~> zVh@@jjf84yh_k5CoL4$q-Y983p}G8d;zDPzu9X+0F=N_^EEk#E{HDW(vQL7P`jIl( zhA66{$q{x}T7*htMgoRQiM1s}dLFYB>q>!N0$FBvi>FC}>$o*ik1vFX#>rV^Y1DxB z?}TM8zv-;JtS1HQOv=Tcu>OBK4+`J7|izabj2n(&i*1A*_o9 zovHrGbel*)0hQvGZir|-`y@BPXE^;`*c4!6eXoXn3qFZ%v9FCyX$Lg5Z_*7X+Btan z*)ZD?!{K`(EI=c-_I@guOf?~Z>lw#TNq%#ncin%h{`ye%J)7W#y(=vIq$$tYQDPAw zz>?%ZJ+E|IHl@9o{<>`4=k2_E46znPgbG<@%4T+Ng&t`!EV&m%U_=Q@M#CFw55Oep zL>6TOj7|(+1=bY~A-HGVzBX|%yfi@Kay9h|H9tc0%JoB1(dMpL-;A%-du6=kHAl?E zZn&fKp)s46A?K_b9+5@>{9%Ap^45C-G!%6QntS*@=kI7U~HS9q*4m#e5{Qbp@^7HeC)cQe_A}R zjvrmQ(N7x^!yA6sWzK6Z5pD~OO%;1JiwBABR(<{l%`!*ub=Tp#5=)Pf>hoqEuP?H; z*!nM-C!23O5DsEgDyt!rogUz`v z*^mV(=AIhCQGwL6UFoQ~&s%Egb#ex&9g*nYkan`MXS8;B*8?qs(bMDKTz7>dFMbvr zT*+D|dLTHaRWepliDR#H#D{Fch`aHfKTnlj#P^1V_;bD(Py3fR$9SaNIsh7)A(Bf$;wu5J7=r!qm8DE_>C2t zR}$9+5wWVvzB9k89(JH0H_U+gAp6_?B^E~KP*PL$IYZ2|9g-r`JvAP7@l~zCljX@6<5J(6Qwa^i_0hg;Fh{VdQQ;xF| z8yuew_m=*mS_{tIpra~P-+7XLWY=DKUSi;pKL&h8Y~$m&a9R-0zQXCIl4>4~fVy~) zOmK1ReXv0%evn_pPGP^edd&Qlfh9lj?Sq=nqvJ||_BX@HdU?L@SEj7S%Q{>Rvv-E( zF02=%zN$G_DWAD+n%Xl=J@aCR>O`P)J~RguTp~3CR&7A~`V6p+*fCk0ub`aHsFf^S@(xUNyd4hKIS6QjN$D+lgGL)#KZX6||T_fv3}4fJ|w40Co5=70`HN-s{ajp`YIfPZ{rv+@PO*ALpxWOj20C zlCG5?$k)n=hw zF`KuH!`A7!wu_yd~+O zA<0rM?Jy0+U)!-TipiDKV(UR=Pxa}48t<(_uQFELvJ{5ZM+#gQp{_9b8$$eGd!%X{71oC_e0U<~;&8)qGCfAID^AhS z0~$NR%eDID3k(fyKqf=wm(6X&BC(ti@9z$i#zI<(H_J|BFjPBm_Te(g|FTlks28&T zawh+4%B3fsnIQrYF`zeLjZh{WEti2M8=d#Jq#bOv-pu7`a?LLMs$VJna`dq{K+)1h zI-=yDV>=Jxr!wayb1l2=sgiVw$Wdu<4`u+;=JP3{#y`+8AT*3{-Xkg4QK@pW^UyuQ za0-)hsN?Q%X6azrp3;*f`1z>m>rVMzCs;Xx{oqNnLEbIX2`>+tHQ(6Nwmsg${&KH% zM^9wL&RF+Z$~YiiXzW84j@qzPC$m+#04jn0IBlVM>1I}_(pkw#!sPPg0yCU~+qRd! z_CBIf*Wpg^7;$w*)Yd{D!K}`C%ol7O*dqSoE6G{xm0*kS%&TIGl9(JaNh_Yu3G{h* zmE-$V5wVu^JMkxT61L_(wui3O=1{aYd@rlFX`qE}nmtqy10kfYcA1xtPCLzFCMB1B1lc-KiqT zC%=GdZQC84T^)=+gf#N4^{=njWq45aYQH+O>4=dWp7y99X|V5(Dv*&d5!k0( zJ(hZ)RI!biMD$r?qr|f`L@b}a`76xer5lKL-8|!35L52eLz?=ux(x_Af0BZrDZxct z>CoK5S^J;&<1YWLQ)Zne>hodXbchEzugeptpE7UCC(2laNEp)$!n1^S0C=fDawPo9+HG(ky-QUP9{6d$u&(=tNAZ7D&<$( zRv6YW2>o0{+*=M7U1T4ExGD`ulvUak@cK>(9ZqC5f9#|ACP}~YM)GtYpzgu^9S5Bu z`(-+*YAP~39D+=<)H{;Gkdn@eay?g{DqCK?o%q-v2FT!;P;U`_D*kmsU3D+=bD62Y zxEmlCE37G65>+qiivodn#{Xp>KZicV;Ns6sjf2M>qd|_9DuY4Ps+?LXCZo5UQWf5( zUf(HC8K$1c#k9hKHr zdUnYL?7db)flM?QO{*Ce)o;p4O>?tzJZ9DD01AstlZPIsF~mcxQ$= z4-Gh*7YE$e50qOoo`@PuS^vzQkh5Ku5NkAU>SmAazdTXm{3HBIOSsohLk>$9C1*s1 z$Tz{jx8Z{1qCz&aq+>aOLD#^#O2{RM$9oI^{0}J;GnvbOVw+s|rOph-Bf0zK5#r!b za~=^eCPR-TOd-jJ*HSic8gn`PT8x&Cqi!%bkAsxi8E@2uC;NQ0^^N(PuqDYuEp)T) z--3jQUjvrx@8S+Q%dV+znA7slT$K+Ent}FbU)Ws8QiNX(9XTnV=2n5c$T*f{`i`wr=hiXq~p8Fj|T@Ee5We z>^itJaW0RdXx^Mjrl)9r>Rs~p3)`oK3RxJvZ7Q?H+!jr6Z!Mtgbb0fiThP}>kDInJ zP*Qd0Ug~M*L$l-Y=EQ|V&(Fj8oKSf^m*}pmog&nbPs@708_T9xpp!bZI`OEk&Dntf zJ<4eJ-%Qs^NJ6;U;S&OvH?F`awV9l|Zai<6w^ZY{zqGA1K3U&uV_IU}7?fH4sk~FZ zskSgf>0=Y;aZ7OhS>czn)!jd4i623_yw0ADz?Ndnn$v|NmWijl4}V>Zx^vcsR4V#D zU<;G6BDDOvum`0D&>i_B_Rv7dUuMZTq<`92sRUX%``Jd%$s3P9>(!KNHB!9(IT7l@ zF|;H%t9QK?jjlSKCqY_wHLxb881YgxU)~>(y9hmX*Fq0+p#Aqr`pG(x^1Viv2l(9i z3owU_tyMt{nsd9b$8wZ++6!hr6#QBZsQV6j z6#N;AI_trl9a~-*`1(|3LhM_|Os<-9>BEQ)0hP_sTcf<|%^9|_-?4#F1f6 zpxMeR70%>w#mdolP}v5G?i{$IOXu&pdb>dgdr zjrX@@$a^M=Aaa= zwp}DGA!E}0V(^ZX;cd;}kGVpy`HX|mKg%B~r?cOvkjSxzRgBhyz2Nzb99AH4D<&-K zUUr5Jr`oyRmZ?R$M-Nlhb3N=?YP((3=3@t>#Tr(O+M2+wyYM@=m~Gt^cvGwlI)63Q(Nu<&)6o8iR&8L>BnSPt6dURCM%c&4pkXnp z+w-o#4GD?zbl1L45NaUFyy*9=iZV$MIolf^!CDKtD-xr7k=d(Al@|m6xelFA>&JbT z{1qM_`hnjqziB=3pjABLSt8bnG|2G0NJe|xwj>vRY(DC&AfOb$^D_-7M^D#ywz{O? zB$BBNr200n^HD z+G6Km?JiX(fPC`_SrKjwztSQ|>LvODO&su}uMv|qIh?f!Y-~Qt*7Nei2VAm?Lj5B} zavJ%nGO)i<6tz(+cBL4X?1r|^o>W%zp~aD)D|oAdOX-DZJuf+1kHomPSJDDrDgp?XSD>vh0KOrNV3>n^hlodLJk=GP2p zxMHU*YT2p{=cw)~0ZtPuoZhv1jJI!V9^Ym3M_?-wO4o3QM<1(cj3~)zI}&Gwc#njm z%v%oH0wp!w4yQ@wxw+1|2GpkX)R;!2ifRw`I@b+jJIsIZ8`=;GvfpM(*0RlfdO7x5UN&rbcv5Av*j6 zCapQGS4+vbkGwlS$)dNHIBja*uv|WkmAnc-TQ-}=VLM#jFNUg->gDPRepC?SBmeeN zeeux{!YlXNT^Ze0&w@Wv z4XcGJ<=haH8r18!3A7QAemnLh5aQRBjO%TB$+zd(C<em92vI@dCGNw*q((T{X6IA*{$Fw?o?!)WJaP6+@?+57 zSNe7#{!Fx-zTTK6v#c6~ySnOoHqfx2W9UKNN1pj|hqijBX#Q`-KJX3fro}F$9@U#v zvkY{TobGU|FtxsC6I4yvW9nJe@OWwAKKTUS%)_2;c$d*lA`G9Yo-+u4nI!X$S>E-K zPnL#Hi&KWWR`r$nQqMP7SxM(0RbQgIkn2%ttLgj30+gz}AV@BlAxHX1*n!ujL$=b2 z?^0qqf}_uBpY+Z=C;yuWX{?p9nV__&9-&Y)3u+Yu$O8n+x*7VCgqkzOBrLt0thZsk zF&vtOj)ZJ;*Gx|i+wYUPPVt54J89Ctc%vKS#Dr3$s~u#QDKx0oCyp#%=;<7D?FN_? zdRiPVS38~09M6WvJUU18o=7}cNk}q_RLth;I8R4>S=C-8E8N#9>Bz3mfDrhW>isrJ ztv0km)KBd#KBsYFK7?(^wsPCN->6dF&&u3ioeV!hE`3pcwBA4Vxt9Uad&y!q=6PRI zvHNvpc0fj6#;S_@z++-F$vH~v`GOF5x#HzaYBB@xTX2wREuBlA=tM7DtS9j5JyIjj zS(%#se4iMXFlK)^@R0G71}+Om0b`p;bFp8?_FYum|4Yc8Ba!EoUon}l448I z`Bch{rE+gHmaQg`Hj<9UzsI7s#~%xqmEI|^T9W3*;ES)sm4yRYK<%Z#F9M#medZTJ zeBPT)buVgU2?)2_JJ+_AOSsvJ@jQ58+IAY(p$YoxM%(|yqM`e%8k;ECH*teNUUG@fO@h4H~u?3^ivR5e6n@ z1ty^Okrr{p-fzReYF1avKJx`^aILj?0~iDfanR$tE2%m!?)(Qd4+E?4yyLVv2JtAx zKk7xjJyTy58$Q^Eq}~$hLiUWho4{f<9ds&+&orFQ`Vm)K)L-8l=>nbJ<*W4&JTOL0 z7Vy0jp61{mRCL*^np7LO%RatjQI@xfU+%!WOh>53IJNphY@7(+OS>ydeS!KR3>v87 zl+$zc>_ba+u4aU2h6r;P;f7jYW*Ry18#FVt+-MdAojxvH- z!4-i7I4!}=+l5|S`*m)#_P#3lt#-r<5MMz5x}d?@EHjZ4f8Km9XuvuV>VEv*`OC8N zCd{S1HOedoH^B46N3wFV5u}*?)tFt%%z*fLgT8IW+fz2AqB+(36_Bej=tXS&qFG;@ z+S4sC!SFMg-hpn6rGKu(vT8ew!&xN%RJZ3)$~yNZge)yQ)DYPjkFJ_sZJ2)L?pL`D z3{xMvkulkI?uXprbvhxrz{B{eee-6W#s4U?Fv|9?Oqop*fqwK~G0}$df0IV^e-(!Q zPOJD$u;{KimDYu4=Aom49inp+B3_k*HvuYp(?$_RcL`pNY;}9t)J{s@NOB?3g$U=+*yNF! zK%I_lLr@R*;EnG|A&!3y=e*ugEdY*zh};a1S4sR}@riLy%v^u0H+0?7I7DAEjEoBK z(-~i%qCR>?K4)v9U%(bqx>f~N5KNAM>4bZnrlIaVxQE=wbsnDQxe#+H^YeoY|6F8q z)wG48*ZQvwBZMHXl*sq?mH!pY4K}e!;G`R2+BzPk37!{!uu*r*KG$)Fzh=NV~m8OL3vn zY*{_--X%c2d-LrPJc25GPK3QuWx-&9GfT4GvI_z9&&)IV@xuM5z-lF*h@e_Chf!xi z0|g5uM>evH{ZdbLX}3fd+efSAkn{;abI6fNRHn(h-1eALl#4z_>9Ae6Z}!b{WC-Un zr>S}Kc;1EaEtgwar`Vn)W!w<5C&*D9>8Pf>HD*;;TYY2jrM$ zvI=KV;qV8R%2)nmY@ZEFUL4*qC#N7yHEz?-44-x(NK2pU&s*d(uoLUXW&bwLRYF0st{7DsDcx3? z*p*cHgO+XUjJ>^#CG?SgRM9_cX)C*zbIk9JP;XcI-w2ldkLbAUb4*nmei^ z#j{JvUJ%8gutoY}t%h2;z?e24Pz3O_Hl*3U zXh#66jfqSs(%N!?U7>|XFGMX*!lSp?cb;2SkuoKppcbqCj&VRhkswYrIsu<1 z-d;#gao%+K8MkZC5CSPuvw@7hU|;CEx#997S&e&Ttk}*p*?fN&L#oqac}!}RLWVwO zNtV&0vrx=Qb7)q})Lg!#BPM+b7Pfd*+sWSImQrb3meu?((09wbm5E=6uj=L6-Y`rR z6*&~?o$PkfztnOS|G3__+mA5N8C085XK!V^Ct=^`Iis!*Sfz8tu5KKcd*n%q-Ya8= zznP9-yF0k|A@Tk7IBtwae_-sI*N|3)fLjty#hteU+ zX2SAh^!f^?63IVkmN&_=q-#WY)Wq_Duu8iQ{78IDa)z#mZC5iV#{S4+7RJzsTG8Bx z1-*;OE6dgVidzkEw<&HA+3XPZaSm--Xh7Sf=>Tb1FQ6|L&Y@|npd>bkWGBrm!q`}VkCi)6H zDZ8!~6r_qVU-fEz`t>>9~Z7`?85MQ;7WG@5DP~^YCbIk|~3>p;DWu+^R>6oG)(ikq*#uQh}XT&`SXX z9q@9o!pN$rbh5lZYFiaIKWNORUKMFD{T>(P4Es)S7WwfZmWkKV#jYoAf+w{{do)OO zvW8n&Ex&*%XUpqFRnlzXk z3_pwpYB>g3?7IYEeajwi;$o6a*I*Tdpdm=@)#L>XH^m=BsP=s2(AdwboTZ~VqxbjT z3A7GS&##(ieW3qfivG1H@kUl+q@Y#}u&!6Sf#+vDCr^;H<*%)c5B!UQkE_=y?rbO0 z&r(d%ge2#vMw3kc9nff$QU6N%iG2yu=rE;k9c0AzFQ2;dbsC%EDAo-Hh67e$k8{#|e<{-j3vunt&ON$1D(@j&ys zw&+;Q^%4H-a?4l}#?VM3nGU$%Kyv4kX7;FCf+wJQ1)hu9lhxa6zSr1}mIXVyw%08G z)KH||*H|aMpvSV=6qKCV#PbZJY7<{&E~67Sfb&HT@4?&U1?a~1#*y4|@8VYAE`$MR zUP9`!-nlS!SuN*SudT1fb*2~I(q#Wr0L1N@Ad>Uy2M}Mj-sG92s3<`;L0CF-s!k$v zs^98^Qy(i~JwNxFArrSV2i|pmje}KNgk|TMe^)@s?u+u;N9>sYMP2q&yqoNE0%8r= zm@nv2^8z`y=*`J9J%K{hr}%iUKK#?qIBTQ8x-T_r8H957ls!acJ%&-IKdMywSSb_ z5yI5y-nyUkk*JWb*j4v$<=-lB*(+>N%`?vT&1q;mhG$8kpAG10#Y)?)1SXA|bMFG8 zk=v$iPh`e{N1xYykYVM!4PaA2h3wJ>MO`%6T7FL_);6)1@=b>C2!mynU zw|02zs+P0IDf#QKBl9yiH89~%?-bebiwMlf5A6MNLnP(ho1fF>rD4U~9U67A-3#Il z`_KP6yKtO0eIF2xZNLWe$OEJfbBJY27F@+tGYp$o7&cx)q-^$i@EJYiEXOYap@G#b zx)%D zc2L)SEn7!k$N6`v_&+_o;Iyb(Av@=2?HrzP<(xMYU&~{fU34wc>bn7ZuX`UaC2*N% zx>Mk`xVPuRCV9>P`p6?NxK4J`IN~&j zw3h)Tqg0j-T)ocrtAkTa$0>Rh`c_oy){0BPy#oKM9{Uvu9j60R5uNm_vMJWO{B9z| zUXvE}@B%;lMa&&97E}!z!r$GToq<6w0qj~sSdJBvu*-y=vW+=ACN}XrzF;5JQ%(1!Z?Un2L3A7TQSmo4Z6|j8o!e!TF*y9W^}V3r zFnGcvL{nTIGYvjH(Yi3+bIzQ5xRR2m0>Uy6)EaKh=N_7kIx1teuPTKOA?_X9M1J zlBqDU?b7*ZBJ(UdQ`b^d|HUm(41SMy|2i^<>b`rU|7I;vx3t$#5wEtX;FC~AMtKL# z4w8OeGU?cxb$*(_O-SST3BAj#DxiP=54m!qhW%xWSKzLcc4abj9Z%F=jfx}{4VvSB zU~=L%Ka`1dSuekNmY5!-ZSBP}tT3LRZLijnlc_6m%$I+0kTelD6}Z5caZ~k?whO?d zUE^VIqt01U^gMR7K80r%#@L!S%_au8t>of&oiUZDV{^V1o;H2GGrpwfuj*4PC)|d6 zulqgNR@vlQlJn@XxQB|0*cZ8<6h2B|TM_PFWPoVgSMxfvS|23ydeyed;_wneS5$1# z{*xNwk!77}JC0d~56Okyj!QBI?&xB5%AG6j0FYtVxzkwr=MO4t1tl*a8P%4pqB3l0 zM89N7qvc!&58s8p#_g1*hl}yOBQ;B%aU#pPf+W3!pHGDC9hZHdw0b#E)E7J9$@76~ zb5v^z&8I(en=vlQ`FyRkP)e|VNW-l9LIAqYp)sog382!4$fu%sHwHnzQ4<1Mb3I7} zYt8Q!9)EfM%z4~)+%G(Q9CT>WDA=OL@~I&v%5=CC7I~FU$cymR`m7jI91(%q?&!9b z5U%`WOL^~#wC}5tn7$_1{)Z)XImUKi9$x9PuMJNouCvi`uS7*Qyk=9eNmi&rjM5O_xPT~<{%c)%DK8}p~z&Axgd$gZTGia6+SP_XiyQ} z7w%VtZfnBZ_?+IF(=iffG61$E1@ugORbN_Siq(A@Xf}9}SW=~_e89^Ei189m+%-RcvT&>BT?^sEwHI1o0Q%w?p_T8bIb(b8EPCSx2n zc8)dTRnoqvHR95uv#_h~_6-Z$($FZOh)+k^QjwXuthV%=l{_cmKM6ySR;wBvZ6jOW@UsXvu*31cV zES~17Zxclw2c>AP~_?a{kQpN87K1=V$&dN(Ahf zenP-^-{5aSXJ-i{RS~tEiY@ltbuZ}g$6Ya+yj$XBGrbRv=L<|r_{&8{C9f9o^eU7F z-sq6lizyJYbjU(-)jqg;gHLFMSEGz*H!RDIRzQXo5vA%scYX;u2w@lesK;~6yKlRB zy5eOQy5>=m0A0D@H(hnAuH7!>YCox(lW^veX1!!z=h21?w+jd6(0B-;dAP-Hwu?s@ zKQaZ-?OM{iJ()QNf5LJ_cNt?`dM@j$!7a_L-w&a$@91<0Vc?2QiUrrN4+t##3g8N5 zyGoyX@Ja5bOa~Z@2R_w5wx?p;?Hzi}d?g$50eh#ils5jRwRMWa6yw{jF|93(d?LR2 zvNzMcN3s?vKXR)a&3=OnTX?h`d1=*}#R>r&&bU)Dj)6)e%R>7sa@`fOJV7%v3bc&&hTAM7B z0XK-UZ?~p9k4OflZ_AtCFW0Myf@Q+#nz@&im!PgSK^WRnkO2^@?1$%#9up>rcRM|$ zh{k%^I+~YO?H~^*dDelf%VB0o+o1`s{~Xk3oic+j`tqBcSsy!AN?eD>o~Q{``BClZ)bM+tq{DHf9Pwa(ov>k^6s z8kgvO_I6^L8y?3#+RtN{6_7DqgEtQ(8y{_) zN^b4!ZgL)V!)T@7{F2m159^rwyg%#sRH}T_{0|UYezCW{%CUWeEZCArRO-@*$2r+O z;^HoY(l^%F*Cg0GtNKUviSkr6V|c}w14tO9v!6nrkP`9p$~POqwL3y z!+rfn*8TDuD?h7tGd%R+ebDt=(AB?Q9xDM(F7R+OqIUPT0?!|`aIHdwNw4j8V_;cZ zU0G;rlh1hG5j?IPTK$z0ZVdGMH0HR^y6$EgHq~})Sv7F2U;WuS_yX;MSYayZ!wM@ZtabHo+A!V9v}{uR(q@8uiKxa#vtu`7EQfOj0Bllhea)+i&2TBV5su;2dO8x z!)FJ%QevC+aaT~*sL%l4T4w*yz@xE7gN}n9q!kV(XJaXSbdOyzSyt*pkF9j^qYMNL zUp?nBeB2#AM~JKB$$6JCrQ@`EOW&tUTPDPnDsVX{=JJ z&af^hJy{IWOQ282;Vv`N**h^eOWg>uHmuRK<&ibkwp^f&7Egkw*da@I;w!~PcK=w%E z@*S`s?uRR?fX?}oS3XaZ>E6ht;EL%+sUxY^)mr>VKr;3%&)%q|*^n8eS_w}XAd$fa0 z;A%eJ-YJOS@R+{}aq1X)U7T-t;e|k(?zM|_j)E3FSIfx5)@x=ajkb%bGvlTAVjyqP zWK-#mKs0N52rJ5)5IEsoi7~q}q1CM~^(1TU+0;yIVp;YdKqGy)hVZ)Kax+f8*{so4 zOMVOQj|v@{bHgHmRz`|%zNXstxsM`OQ6X{}q3MO^PtlIA?C67&_7ub2vePFmo3j4d zlUDTAzrJ90O6AJQ-(S9oMFtZ#-xkcPIX#j?>=~^eI@nsGo0CC(EmqZ|m4Jf2BMJ$P z%f*_C?8r1s0LX%y{G7h#htQ2u^7P{0rIElNq-RAw$t&3v=JHFurCRVx^kC(F`pBt* z&h;A@v%a4PB^%0n97YAsuEPcE`I8?|lvD-6V-YS6+n}p6?)K!(aFHEsNF(tLMK6^m zFz{m2Z5O()q-5{sY58^+){`l#Xp+ww%41VCGPb@Eg|Ydz*3lgSRy{d znN%snU8^~+Sspf{j3e$<-D8i^5^Vsx{|NCpsmjyMLH%sCBr^>JYHq|-H6u>B4I3XQ z$*wCrcx>3|nGnWEhg<)fL`h^@N;=MH#*f6f8?)8N{WbX#n(vWdKUDKQw0bl)$=p%b z{fklg=K9ciehb0$OwF>{RkLKd$lj;t?-7_#mO_sTOsC#VIpZO7JMt^YuTviCFzHj@ zFIy*FT3q}MzdDn2$idvkAU@&HwAkIQ(El4HTSwk~zZ)D^^^JpK=HGbA?SZr3++J!= z)wc~vEw;EGVqJput?!2RZ+ABojppqAo64q^k;}14;55gcW2m$@cLxp zwf@{@MTDnIW#IjNK<3Vo3DZp_1sUbu%3F&8ce5Yb-(N#==e3qF{hp)a&G`+8dN1fX z2btT*qvNK~FjE$Ui5_i;)NSAMAeA01A$w`JpG+&mM=zR26uXLi~%b6>i*A@t{jv|NAyG3@&b! zdX3-=Mmj=RAIzhs9c{4moV&$wl5|~45@ta=-n5OFjO$BqJRco!>57J+&m@{QN~^|j zM61b++RQZ?8ABpqkabDq*8B=}`b`xM9aS%HBQ{;A?DZwm=V0>-5^GBxj~%ylb&l4vhfcAL`&JwS z2<&uix0C8+4dy8w@qHMZ&tSrznbD?fbs91X@`U- zZV~3opm4JSS`A`uOb8poKAz?l8Y9D4lh+&kV)rrW8P1}~Y_{e~!|-;+qwX~ePTn$w za`U%tyIwpmI2~J9l;pl+r<@=D32+1$0kkqCn1EV26f${K;%|NS>9D+gWrF8 zm}fcf+ipMr{^hr-wSu6FX7eQ5^*WIik!28lKKwvbTteh zp*pGpx|yA8mf=?zq$#AVr~OmUdagdOeOSKvNy^5ix?}ZDX2$a3`Fr++Hh;%7*#d-< zf^F6zye&H3`^dD)6y>pNPJ88cm*v#y+R-T{TS^V}dk!%3E?!0Duu{_FC9PO<$~heE z`r^a+F`u6GtOa_kDmU6xC>Vb$H)H4s6<2k&ZFH`H0kVs`GjCTM8jtgZYsvI5r5Zqd z;g62M9Eb#e3YKj9Fu$Dr?f8!Oa6ZY|#B%Yg(R6^nFCdxAKkXT@P~+%l-_+N_ZAlZ8 zdYt#_Sf?n?(fOcmAPK1tj0j;KWpLlDj)#UnW?aJfr&Ekut!X*rQgj55A=B=N(9h7_ z9)*%;<}nHeWcnwcLfa?Zc0EICP9?Ss#FZ_;#fCRi%}izd@d_p_6C64Bq!k0hep@@U zdfD4@)C_;{8Qx95B9c3uahb||{*O49Bp~i(4BH{D#RT|G>n_E?QYu7hg6H8;rB%GK zK*Nnxt}G?fUAIZI9fi&I3VW#OxyE4|ziTEhnr0x9%{)a+(7HVtW{u(94~YoY)GQBl ze#_Y8;@|Z-@WTuV*io!qtFbAFHs$Xuc1sLv^eIV0di^Wd@4kw+r5(oyd(%6UG${>) z>He9MSNs~}OV2+a{?B**smR+WC!U`^CwJ9E+Pq! z@pQyfN7%8^sFtP4ZuP`L{i5k`v?s@Km49ODHC9_}_^5IC1q`Wr$p}$DS|W#M;S%vJ z0TeV)X-gku%?knfZG6yo?6}I`bi;u%7CI(k>UxZP5K)DGfRA7;PBGZ?a@dMs0~$m) z5Uhm|7a#Ox!dFFj^iWyE5m`l3O7Bj9|B89Ljl$9CQ@@=z86z9scXk1xb((#%0iqK% zBkZFn#bmp#A9CTD9UY-L`{Vm}s5IS3V{bO92H!6pgIxMn?aLNTeICJ0W;rPxWL)6d z!8Y;-J`ml8G`8tX2-$4iV?TB3x2_@$s48U~_YHHDPf1)ZKhusR$2N6DCk5)uaFl|c z5SskG%6}*b9|LJy`*0wVjya|cJw$MeBD0dmZOx6l7f+pfnVo!nh;dQx3T$Ij)w&ZY zd}Q`Rv%V_fUc71NH=5be=zr^;cRa4-muPtw!0{*iruPG(b}ab zAvzdZZ4Ip?W-UUCP*q}#*6v`|Db$#jDiVaG5hS4lQ8A=SXoP6lL?fgTK@i?_Kj(R$ z>s;qL*Lkn!(|dnfZtKok>t5^r55ND^Y}dncZ&yAE5fYzYnNFcjaSiBB2Qcm&146@d z%%4?R+scxB#G+(=&_!%LBEzW@7g~B#Od{1~(ru9yFxer~Pk8XkM@K1h0NTT83?>6u z-E=2M3*X1swTyGN(%nnCd!;p`=VizPy-{6@l*4nSp<>&4_}9wcTlQtkS!uxJ zIXTP6+57r?8QQLgt~1eFN^(uoAH0vTRNB>RVp~t0D;L(3FZVrVL84Dg3#t;1H1D&v zyx(y6PH8vFOw(%pa6E6RYxSL}GlvmCSuTb%9$9F~7UU?JmR)Gyq}4UHthTy1*!N$; zz}fTF?BB-!C|3S&3UOb{umS~*3xZL&;%Fb$=D!8ely%21v5 zV3<=zI^7EEb&b@ur+^vJFuk;s*%;+#S=A%J7#1z=xZ8Pm;1M{fKN|78jlqmvN?SY< zGc!vGLS(EzpI!mbJV-O;8I@176Y4s{@VN~EhS~eW-!1y3kLVemjy+8F{an|_NzHxe z>cfI-WUtn(cGDgj*-=O;`bh9{E&io_qL?Qt}Sx3(;J-5B!_N#6ZS>0e;shHUV91Pe*zzYB7vZaf9Q&tJFPvO zeO<#+NDVfdhLsMD6j*PIGh9)S)TQaWK{h7XzJiIN%NE*f=VM~!I#jBYIIj9(%XwnW zfg{u_CA`O~^Vq@ZRDG1BIVSy5?rcl}%S6+XJP;A30O_$+pGQf6>=c`YMWMG}XOmXW ztDhOSuo@E-;vp=jJ&ba-a>3U231V5=y3}&Iu9-1@;z0b<%$xqRBcf1$3(dvVV(XT3 zUh8gWz10#1!u0W_0q~MIa&qUfsxw+wPMawGrNu}_sJw{2QlU}*;!LRzj`&wBy8Vtz zJOS4`%4+0WU`n)uM-Ny#oI!K(U&8?(mglz);%6jD!In0n!MRReQkie5aH5UbV~6QO z24D$i3)`o&GE0~}mro(_{<$;36yB?h?hEgswtnw8BPMIyCT0EUCpxZ(;1@M$@5HFz z$U*7F8C1(wC(}di9mZ^NSd%^lnzHd{SgB)wt15I|UiG#|AoykSE=SB>={LO~C z0>+*5%+jvA;N>|{ZXmF!Bg7nhk0CleblP)4mSSPDPoEb9w9@QfxrNG}^)@Sx;)egz zXYj zsK%u`B!+)7Ngq<~-(3jCS?Kmh>q~vq&{(PL6YN?*h4vM`2I}l&O0XGDFi=*z(T`b) ze>GIO!~~`_Ij72NBw<7(-X+*77|u9+^R2#VRU|K=(3X|Z zGjyhkhV84Wxde0`5`=y(F&fxgT4_s!EbwyGGpnkh4!n^@ z!N~5(9^tDc^P#!TrDinXnrpjfP&0#NryQQ3AMxYGlN6h5W;02cO^3lpKNu`HrSL|^ zeZ5CfAhg*T(f(%BT-3CTUwBc}WfOY2EeiIff|c##p8|y8nczSZ_Fg^ppBP`|r>fnC z*o-C#Bf*tk^fBFh)JEhNM6tNf>^bH_4O#VcRWebw#-F|+0cH)}gf~RaP~>HE__gs7 z^aL;m<)Z5r*eQP#v88N#2v_4cXk6lGhuHJY=j}LCI_A>Nag!&JF1WJY%k=%U*9mpQ z8q^=T#}c2zGDr-&}yHL>Hx($5{&1*=&x#OEk6tZi*} zbC1%%qP)O^yHfl!M|sw9Z_J++x)hCE-JTa3WN=uR|29bU`;Zmo5_*0N$83{Nl4n$P zJ>`x@lWCQP9=&1*l9ss=p>rda13cT7=j`us7tdq+{RS zZPTo)t8&NNv5FgIWVQP5vwAa~}FzOMcl1Nwo`j=6HnB(C>b~_6#qp|1YuMY5e7@tY1b9 z=z@j*zaY`CBR;Z(1$)2#+s|=$?SJm2^fl4|J;qgz59t!yc9Hr*;m{dkVma*(Vn2|t1B@7#q)Sl==trskhCoxTFk<4W> zO`>Z&sx{#QrU#iuf6Y8bUY+V00S;(jYj}d$7?eZXOg}*`UnSJ? z?fpqtn=OtO+eEE-jQ6P%u!{(Lem>lFJR58(3JGIitl2+XKkHTzei0)Q$##(Pv}fR#aKWBaB5_vYEirbY6n05`&Anj~@2@821i`p-y?)ns(9`6)XfNBQ zT8M7$g8^bJv;OO1P9|OE$c{^x_1jS)6OFuqoR>v29#I&0#qgov$%yI~1=+rLCk0+0 zf-kkDeBdeT50kZw#Gh*2E8Gl7Oyk4FZYFB0OKIh5LKnw15 zlw@Md5Q`L?b7<#)HgC*qrC>)^l{75S{Nvn3_tw%#RD?w?TJ?$vyHI0s@>@^F)g${# zuFL`b;VLgcpuE@3o5H*73J)N163aBe_kyA=<9lNb?L6Ty^>`Cw@0sv$14gr)_Ap~D*tUzq=_@O z+2&kzJT-Ws15g_1L>VuxO;>q;`MO)o<9zS)ljoy% z^G;(qkDp4KApU2Wj%8kEoiXQH0|w38|LGGAVzl7<0UP^DntGy~l@vII^K^G)T)|9Z zv5A1Y-vu@}ylMY$PW_DPp`hR{!8B9_Z0#R+7&zR?ca?VX^#jXpV2VyL~T@1cNbhA$3jsw?v)fwvQY%dc{vY?3Ka)PiM=ccDZ3 zHviJ!+rNHTkuh-2?{$FI;a-k=jB!$bBu39uIUIFQ1`R6Eu=g9j+7~B{82oUg)WMI> zsnH*`>yOIHo(RNlqX5smc*6UP7{9Fs>d)N|zdknsDxA!c0CS*)!#pnHLAUH-qa`&glU0ovMbHh{4wK`5Y6wbaz_n?zSB-s;<}_ z4Yu0wI7Nif@Y!EWLwV4Qwyi<}`dJqp+|g z#~Tm{EEXkLcF@IG(QT78f#Mo)Oy}OtTF&NI)@X{>d1hQ>^jhK=-YGnDiSC;p)wW7m2jH(1KVoCk`3?fapo;i;o^ zQj~lH7N*U1hz1b+6}Ci1xzy8Pi~5~!D)Zo%cG-@Gx=k3YS4|hf88EOysQ0H(<7K;} z_yX8{d)ls%!qkyNZ@CNTXZJCI=}u#9_xZ?7u@#WDMB)#3&q_Qqv4FLn_T%KDhLKe3 zVqadq^G{u!9%|pCJ)naB2AHzc&ir2t=k5Pwrug6bIfBSs5m6NNos!FbI|^K)LI`t-4Sptwm7gc$3>Xdy;? zi6hV~#?8yFKCfPk;CP)cG2$0^^4P_;>}&q;wy?V`7SdlB3F_%cxVWW@1FSX#{U&uT*8Q2B`f;K`2t14`(K&M7Rj1eP)#S9gFZuJx--ghyhF6eT>ZRDeEKF$egBq& zmsTs2YmMAW+JYaV{xl=ah|{mGlUKdkdFwr`O{M5+5l~gw+aignFMw{0Z5`ewvdl|# zEBhMm@C%ovg$<{!&0h6x#YE5w3LNT#qMDEK3k?yOPKKI#iTN%HcLt~n59+z=-)2XI zt>hEwVM()!_Z&tdhARvHsq4Z%D6!C_Mf!}O>TWMC&+SCMc~$=adbdkySX4LrKHVlZ zpxk1+@eRHPW8?Y$wVE?{d}(nfWF_`Z)5#7a&thwl(BXD{>lseGlB!T74UyuF;qRq&30waGc{vN~C8;~%{Eh#3q_ zr-I3-h}-R}7In?8Lz-~#X<{?wHv~uD6A`42DoQkUKk?xJi}mop7fM@)jdxi|7;?$icW!VJD=|;XDHOnFcrZl2~gR!hkhCE8(H@RkI!75|i;Pi3y3zESQ1N z{RnxKkb+&j`}o(-o?KRo?D%+# zTy4e26#;;?n%3ua2@^5x<-t<#MMK5skw8Qju6H0+Jb^bM8Ly30s-n6>83j*u(|NMj z1h)LZA89~6><<|P07;G7o&y~X0SlDtB}4Q0=dy4y@)CcRTP2`G4u~;b>BB$Y&!ts; z%}~8dK+4Wg)S+*6@1bU8n#JEb@E1A4Dqk|v2hP{TmD9>~{-l_cj6Fx-m~L-d^L5*w zr#o8WhJ3G_l2xk;0Q%3iu38YAhdY!8a+Ovuob}eY&3x!xr$DR@+-9+%QhRfCB=4}h z`(@)F?7F&AH2B5J$pw3uy)}Dg^LzTs>VUn`3$JZud{L!EGR#Ykwy&=`5QG<&2Bc!f zYo66%=6FK2)SoN}tdFVT#MxR0)GV1BiMeWf;%+$~ zI&v~ept1&*9piRlJtWSyN`B`>iMfk`r)HHbASYG@=D_~;q=z$-W!6& znsIsF*vlqvf`A}T(Z-g1^Wy1Psp~C3y0MQ&)TTJUHTRhSv5yt#xUdk#wp!qx^dlA# zV}mT+)#5damV=9+tr%~3v5&7~cJ=HkaSf@zop(RNIfj)g9QFd0c$@&LXrS|KC!_d7 zZFa2cVAH@*fxhuJ4zue*>nsv76D7oN9FMg<610fb*LxA_-4?A1J2)HcZ|1%pI|$A+ z9%yt3{g$_Z*OObG;e=z9M%}0x;p@q8i`{ao77=Ww10^~x= zr9$87Rd2r*VA5!+OjfKOxf(?ZWYJTS@9F})!G~FsQW_siyY;sT^;G?aDhnjr1J29!ru?-XCwDSiOp;2 zB5fz@_1hCHB4W9+WP1-^GQu%7gW^alf31(0$~t}zk_DnNO7H+9>>uwJHPf0`Zv4#q zqlnL2I{dT`8E1G}xH)X$QEA?kt%iRdPi$wX^DDvm%w-v8eZSLwGf`(?@A37_!w!P) z^H^&t$r%>@matYl>Q%Ai8Cz{It|S|w$#Pj&%laX(tx!ylnhu{pVV}aMP3qGOIeYwg{UVEGV1#h?eAtoCiduKn`~W4&g_T80z3 zxyevud(3I8`riwPlm!_dzi%RMCLlFErFQk~F<2q!Wq<^BaI?9-l^u`7vAVtMOQgAX znfy3QGTq76G3&VOxg~?J^^V86sRy$?)!b|?XWl$NX?0~FTmxg>{cAPlmr*}KYm|$S zPk8WK8i35^T-1r-9LPKO|gO57zoD>rhr{NVX|L z_Jo|Vy;gylmU>dwUs{Viuda=s75zBt|ENeA;hH|w-k^!5eQb`Czl_loVbH~fx(`Z8 zJLZtdisHeGvz#iKa{fL@_@D3q8BG5DXo*3@LZrG_kamGYx3d@IRQOEJk~Oz150Sko|fwp2Q~YDU#fj%y`>R8~}{z z91!4|M}3Az)UpjddDOhhdfZY?D|-)WZIs&VN?Y!Uk^dF&+bpzcT6jLvs@^nwRxxvf(mlZ@+o$+|OVQ>*uFQD&)ZM5sCh{Cy)h2SiZ`gyJ)d-%oK z?m5Tv4S5G=cM4)TP#a1VwYShE^cWf_1MDf8SK8_kT}?^B6fnGJ4Kf=vnY68QuurJ+ zy+a0(7H{h8GkQ>t7-QOYC~bQBvX&q8(fgJ)u;rN!G?CtV`5(s5T}1s9h)S0XE8qzl zeBFUq(XGVh2ZJ39K)RP;<1!UE2Wl-qrB|MOMT31Y>Qf_Xzj_i{ z0Gy4Mc``1n?Iht{=)Mkf-_wR{Q^k6>ae9!|0k zATaGKZ|moCaIPz5ON^1svRGOauA`(l^YXa5k6b3+DbL$b-LiOP&CGM&ULi+v&}GM6 zm%pfghel+!b~DTKVl>#SE8xBEYkElZ@Ge*9%?yK8oDAp%nQKw!(z0D3M0{Nxy>g=^ zJ;Q#`+-E%DN-;y1R%ld?VEnkS3o>490;-NHH!Z*pD~IFa{0roq#!5F6i8r&9AZI&v z>Z6a72e^BB{l3-RknBqx3l6+O#O)NPrQmtCi+vVo?@JFz&UO=6HGKw>m`&JH>laeh z=e~+>VuCVx0>xNmAm@>uA{5-eI|qzow*dVf5?FS5^;eP^} z3o}SQ>M6l72V`%crS7OZ_-6E$=ZgCQ=c=13>^2wyfTi2(l^wU*0s2hQ>VG%n!srR4 zA=gg9o9B6*eD`$D&6Rz0FT72;STZZA=urazRqL8!zkL9hYJkbbwZ5!B;}4$^y5`AHiN}nF&X^%qH_DaYa$maBxG03((AxPD6Krdi2tpld3UGt@)0uk zsV`@1SlN1i-Lnw_*_hZHxN?^Qeh!txjcIQd?_Z*fbNr?fttL=Ks}3l!p4sSI_Sj>4T{&QD!oSHd}D3 z-J*_q$Vgqo*KOrSd~i|~QUr<@V~3xCmQxS z@20Rej=@A$*46mPKf8v~_%Jo;3FZ4-@9bP~T^5u*eDNq{vaM4zN=R&%dekYvxB8yc z0u)?xn(rR(CaYi>{|BvhI1($JOoSMdi{fXB7-R5<6~!hC)bQ;T;g>vt?)dTdz-drT0F$kh-;Tw+={*)*C?$CNuAW{<}TT6AB5O0ZYC*DB_( zh}R&?zg*pMjtdu>p||bHt)6l*2do#&`yKXX6t`KTeTlwj6YcJ(PME*Jx=QDZk4>|9 z3lHZkhv*wUVv%)FNbIA<=f$kJ_NB%lml@B&4=QLhB_bHBb z|L_46Lwh9mXn@Vf3u4=2>Zv(X&5W7qox|ms=v_|lF@ruG^YM|E(~+{&H{5EYqLrz( zzuF+CKFT*F*T#;^tzHH>IQv?fM3!IeSgnw6Ld=5Q(u?rh?b@*{7&c)s^HzBWZQdbC zA8rj_b<6m8^Z<}UQXAxI2>pY6VabgAX@6GvC<#gc%I3}Z$A2>sWiHbiH{0#o2izcf zA-!-qAiB8eL&|EJkzHgS3j#hErAix-=BM762->VWE9#?VKTBlbKX4)dA_4Pfm#-i^ zoDi_%)-*wPul5f&)|==~X={wU%#lk*qX(b}PKohVXM#2<-N0TCPOMq{8( z2BW%b{IeAN4>}8QsJqT)mB6K2!svI4Z?5Rc70PhZs09;gA7Oj2N{4pS0IOaszD=xV z*rAxE3KS+Ayn$k3*vlp^>0tHn02jkQ(?K% z+G@Hgi5-VzyW#YY_LeC7F99rE&){n&?lgG@+;Ydq{U58dBtrFN0~@s~WpHuBv$I(> zKWvVEnFEyS4=Y=9B39khgk5XihmRGEinyWtSkqD=wMn5v_G0P@YMbvZPH1lto9S-u zE~>CTl+xT>tO^O=kg0-Z4N#uA`J%GX+&REv=`yiOw*e9GL^(QOJun`8HlGDeGQCb* zd?S1ge-fR2f8-n)Z(gu+p0%%HJ;;-buwt5Co}8;RnGhBJa<$@QHFcRzp4`Ru2wIdaJ;yZ;rsz9+IBU zPo5WB7`52hC8dz$ekm=9Wfucyja;7*Sg*$s4gVEg!?&?-{cilvo@L)O{ZNchn z?x|th`R(-x>f0ilM8(AVwa!og7dQ@YPwXmgtFB*scQU$t$(m)&ktj)ri0;%!bQ5Zv z%-Na$kALxb4eI4Hu^sQp)=sD5XQwarbK7QvKYfbdaAD!jlR5^4`^5u3GsWc*YOvDV z$rnCHvmtHZd80gN=DHd&i4ufoG(#T*osu~>Vix~W>K%!B(%qPcNbi;V#gYkSJw7FS zk9+Yp)=%qb>DJaHO~5pnAv4W3uhaBT5i+Xg>WwFk$7$5`VqY~PewBSXvT7rj1San^^O?mI=+3Q(o?)0_QU#rE_9;Ohp9633}oI>(Y zr$hF-5Bj+9^>*B~!zJgVuVB|=!@c8G_X*dpL>VjZP!}v2oSW4II*^%lGqCFjuY$o` z&f6cYON&DsmbI>NEzsyQ%OnUM6EU!?azVOP$c#{x`ZB}{5c!l(scyOmE;{QIhh(oCm- zEiQ6$F*-6wh?dHLq`(^!iI6@?S8Jb2m#X(Nhb?4)+Mx|5?j}2aSgQlFO7wFh^O%cQlx7w5F^}0TretYeJ(BE(kXZ>TLmhY}iLwh1^SRyk}kohPvznqMony|oDV z&crc}TO&v?7VlkehjX@A|E^IU)>`uI$K$I=7^V6hHGUNUhtPu-8Q6kMR%6X!+VOST z+`yy``-_`;wtJ!P=-uuK%TY|n?p6!A;colw!6t;l;}G6pg|_H$bqdiTc1zR`SN0s< z$%jU#Px)}Gr-`d-Els$952!|wU_@HF94h`~ ziKEn6Ym!#;;h8h8`^P_~=+;zUnc@Ep{zLA2m~3I$t}Q#WjQV-dPUiPD%&SrNm(VOk zPrMp=O4HTs3@E zF%SM7F%QO}UTe;{O?*GdqIU6Y&(YMki2^ZS9U-{<4UFa-lF?&ArZS#SU7WFX4MORr z^rm}DBQdx@Hm||wR!CWfGL+yJZ?Cmc&Q9TG=Q*#7a#U%wzSX9wS z8T93`w)HB*!z*OkeEarbr$4*UhJjE0cJIgSc6wzSEiRaI`UDz}o%Km)S*okF(_6CfCFugs-wNbIvi$>`K zi6(R9C^@U|Tsd!DL;Vy{$`6P6#4G@Xefa0Z=d7P!@6N2_J*pEIg(;%|WUfc1W*;PCd^ln;no9odzr=Tjz<#>oG{a&E@v&*#s(&ty2 z8>v|_r$1oXqp3_8+YWEWv4$>F@_8}p9W(;TS#MA_mEz-f>E^f@Fl4nw5irnLWTPIV zv*F8YU@>ZC<-xbg?~+*ibx(LEJSL#d*e_R5B#wKi*XSynY5Z?6|LM)@yJHRCjvK=vE@ErL)*x+RA{YLD(SBJ1jUp4wXVC#$jCM?>87qN_j6O2_yg zRQ$%LzDyxM(-y|JzR?^%IM2&;9!#3x3_nx_1W_7G`>AyOarefSfyVOgAHn#pmH2nL z8f>Cu<{Qf#iKrS>V2ay@ep$gNi4R^iSM0``ACg<9g*Tn98 zfL|mdG^|MgakbdTjdXr3L6xIuyywCz9kERp5-eo7R4z4 zr*BiTu!ke-`%=S;R;ImkNr#F}^0~QYkBnV>CS-Dk>MMP6xD!84Z-QGear`K1OMk(2 z_uIfL@AktAo^`b|*Ian+%|&~glp~Vzfr&1*#5)EdrPny=>b#h1?F1u%J-XO*wDibB zXw65BwV*MHGP3B6Q89MWOc8{8W#Q{c;4#9ioXZG4f>1!ZEKw`TSWCMisOj9lz%GaUok%&(+N{4)XRIT_()(dlP=BMz?>}PYnlRL#S>)*)pE4;-VWQ zf48mv>IvY$$V{;!8sLh+L25roi?B%8IczY_qlP_+F@#7QCMo3Y70p!#1%-<=cl%)o zjbMNDYVqk&!xy0Ve1T{zA5~c>7`jIH96ywH3^-Pv-)*U8jjnyV^tNxkNTLoOoAolb z5LQPPVWTZE8>yW#b_wtdJegCMm5l~|j9Uw3z07t8#pYRHtLuuOfkyfp*yLipY4@LK z430$$fkIk4A4Cs1ciK;sAPLC@U!B}*eY>{`0%zl4#zC2*5<#e?z1s7}B1E1bk`1Iy z0b=s4jX4c-Am0hvGJ#svmEdz+6zn+M8N3eV;&cb7cMx6z=A;;*GKyJHmYObKmjp=@ z7h_ic6Ypvw-uRbgIem9$U;MXaw&_3O_5Lf=`X8|ySv!I!o<`tGmQRzC3s`oz#^$RSg@=jOQ_tp8r z{S9zS@yq#6zrsY~6SK`wU0M&_#PS9be0up{@O13G0nt7vKd^%FtvfV>;q#7PjOfL-S#DG@#W!z818&bql)eo~vhTva zbJ4JNNSLnoyn*D*B+S~hR9jjvDlcfq_u5VLMDfC+yP24psi`MS@yEmIp4bI$6YAvM zILe55%f77bJjqtiKaTlQD_sf(%*728<4de~;m1%${Dn1o6#Da*1f>yGotXG`d`R`? z`{de$G+KwluL5{1yvPr+j^3x6_vG8Lx44B8e5sSWM7UbHQozdgt5qDuH(c*lmFWUT zs4Ccz+eRP2YQUlfQaq?j3K}IF1fqS)UGXcjdSBNrcL%7uq#J0)E((^}{>A=2mtB=k zmvb)#QLNxdu&nMip~w2^t!t|9x*SzuhdjJ51Ep`%et^kztBRdy4L=hCZh#e`MJ}K} zKQ~w8tXdztcI-a&j&Go_9-tm=Z(8nY=+RZ(eWBhh?l1@#q_AVI#%)1Gh%z<$@UjgR z+7-JNKP{|`qH7Pm^8isS>ZwDIC2L(LgQL2s@y&YUGaaH!KfXDEWRcr|1%fvdJo&D+ zre2xouKWqu8VPfbGT!M__DsPOKAyFOuk31iOj%zTu<(K2;~@^*5cWDS$q1rKs2B-- zJ)L0&V0%#q2i}%VGxkizOu#Wsd9I9RCe3Sbj>$f4XSz>8_`t1tp-m~O%?k+|DP#-B z1`3ZfjB7@7J45|*Yff9WSR7R92dZXN?G9;wn?{Z}GrMb!c{w1;Wyrh!dD-bamlV8X z&L2MaDmSzBLewM`e{FkJ;k{)#j=+G#JE%WR!Y+Dw@5P*Ln10O6Q7tUZV0*2fcwps|71=+R{$3(p=?BMtwl9hCK~E@z~Xb<3K?fs!VMidBEpa zW8`>&LUPPFG*RGk#C8siDoVY3+1meiWw;J(gT*hk(A9B-2DhZs(`2^a9 z&(r>&M}2(FTa2;-E3opj096XYBb0pZ?X%Zlo|_W+u+QX{xX|!DM|=v3uY?P;D!ir> zY7`Gf2OhwOR-q2PTRuwY`|0!$+SBOm{+{Qi_49;&4t$z};2#6oMN)=p^fy8YFf|9$ zk-77k@#KM*Rhix~CzsU2jSJz=0CkK@CtS^m^-x7wOxac1Sk!RZiu=aOWD8%5X#3(* zvN<(>E5j_0+J5mECVo=?yD%!O*qMy)&iP|tk3~qNrLTJcVVu+G{hXmBX0Bx>(1)OA zK%TH?Yv^M+{+A-(QYTK}>$IjH?|6lu_s4zIaR}v~Q48|^@uprG<-(7PFjD$Ec=*~_ z?cuC;)5CbsH}f^fxKnu|)|yba*3(q-w^>g0n+`80Vs(w}e;k>LS8HzxPwuim4-NI+ zQ04S|u_zC?VvMF+0BqzLsTn2AK%xe5bq{$2RGHSetS-*V&e&40+_@9jEw_Tl~==<)8ce~Q8N73AMeYgO*>pC&q(Q3ef zNSyQf?%iyYorWLcFSth?be)|@jfjcU1b5IfjcTHMvK`jl7ImAT8cD@nSpWK)5CJeA&XrbVWb)k7YGC36_|yMLo>`F~ zu{HdtS#X4=9CABP3UJF+Yb^|brM3h0p7G_joaqa*f(0#PZo$2-p%HV(>lc~FW!TYy8X zlJi}_<|f&e3Vd%tlqK(XRA!!VbPD7yv*U1OsN-!LXM1-_g-rD6xE>o_wZ+n7uYoVs z)=cE|K`CEWYU?9zNe~hD`m<59vgHTAqRtw&e^vSR>N-x80b5V@QhkqYHP9+u@hidx z*eV;j1Zpg{zR8UxKA5j;c-=bGn4kis#-Czj>g{nq-0+Ei>69*dzie2pY*^0?jZMF7 zH*|Ye9L9&HL7UT>?(tQ2x+L26&w9u?!K_<^n==uAkW1o@DBAl>o}_;nG1+6EWVw=a z5C7nTYdGk4Jr%E`UnlQG+C`j*N0Bz;^e<5NpE6zv*uelFKD0kG*I+t0^%@S|hSTU8 zoRR`_w5F*RJ)7P$e&nDN5|m(zRW0ptMRG;3SCo1ynHSKTM*eE7sspX@YFNNviD1WT zS>l%g?;Fq-d;cRL=YMuylPNUWfj@$XwidDWN zf~HRFd)ikg$;7`5M8>Wa9ej+64PdfTb+1#pi6%H;vpY)`m1T0idONwXD59qMKzJ7f z&-NLa7P%#HP2%e~bK=V1XLf6LhclEH$1)=WF;4l&r%xmV3p8W*uEgVK?AqoYIu!j<|f_Ng0WAQ#k8h8 zLFwrDw|Uc3IZ1ipC<~`d*;zG?x%_C^#xw6axOohFVivcn7I3bW&Z+*E=Q8^+n5{_F zh)>H_uB!<&shYtIIh1Ln&36EFV=d;{!Z7`I$kWS1br}Iae>*T9x}a(Y4LgM zHZtW(V`0ZFvrdNBy^(Z(Y zP+gu#F+ys4x+fiLS4QiLruMu*JG&wSU;DM~ENg+9F8dVXX&qVdfB6n#$F92e@YsA% zhV*TH{NUOKnpH+1B`B>VU;%7e9!Ga$QzPQR;JP4t-DqwX|bIXG|A(v-c) zD>mbM7T&ulJA)4jbV*gplLn7MXQ1qtT35{0p|{9N_Sz859ZlmtBOknHT9z%2BRwdX zcky&|g(1Q!86mEFC!oO%qs==~b5pvaC_x=@j2B>^(|%S?@s?Z(2u)tG-P{{_*H>6I z{y974x#8=dO9a1l<-!=`{IO`zItx$o1A2V6SU_=?7z@WIPa`(A=70+NSfvcHO+n@x!HCKkmXvl-XRkHwgn%BSW((ODn1;@EF^#jF4;A& z6Stx#d?$9t0DUK4)t7x2b5lPQZTVc$0+4U~T7%Hi55LZiGDLM3FC&gN_&mHL^AN*+ zvfM^R60#WT^OA2Dn9al=E%+|w`(Z?NRDtvW!_!cd>Qmv564B-lK4-oxX8NWwfZvoy zQ=pQ@z5tO$fqbv@YE7qNsShyiW%JMi9k6&PUlbYd^fG&=3_TCRY^=e5jyYSUxLVa> zrLJGp@#86M)aR)J+M3}PaH4#5qzqqxc2U7AzqprsyjAcdioV&yrv6XF<~JsL03|2! zBgAm{68Nk|?qWjW_=Bh(On531>swW)-d1{3WVF~mg`R-6_Qc+?XjZ@#e@df$d)V~T zdD$ZE7%$2a4yyTeGTCFt3Hq1{E6Yerbkbxm=A4NLVSC+DPLCGZKcBH9LZYqVPwq5uh zU!dNZGo%Y4=e#2F(PPTOZmcS?t^loq!^DUL=Ndm2qBC$>`5ZuA6*;v(E0*?$3-JT#K<>L4=KVD!MN~U$$52(76n4dZ8;fBD&hC%;HfBbiL&d zOf|V<`DXju;e6fV;tqc77>K9j@A7%*O5s!#cXQG~LXAF{d+3 z<#T2*x6K=;GooAboFHce!;G|WZ+7XD3)^*hQn^4o$}*-IOmJ}DS{B@SxU(U)o_X>| zs=rffy!-3M!ohm8=#pkvTnKCfk=Db{1qWrh=QX&AZ>chu>?lKw$`y5;)o7AGaoXj| zbsKnK#PrDIc$+M^TeJ8kG0T?anLeTxjLX!WFU8^9*ey}SmVe_SV@j(YgHI5+#FqFo$3Ua0JSVV$d-9nMyFjuC8&==T zJCWkVeK%SpR1+g6ymX#>6%~NbA|-=F0i1(XD?54VO~9^p$qiUBGxS~l4gwvUXysdg z+Re`Z;55pHD`o4o_@ps?s|~3e9oLSEdC{HgfEQl;U!$iqr@ibvmTchpfEMR3iFKLV zh&KDHc=f=H zhyMuM29cuZ=9HK1EejL*c)-i0aq3%*I`>LzTFX;((Ve15=C}&yqvlLuX*8;8-brVt zozMG`latJ4(Ig^tRB2z@7l;b3Za41oT^f7s_Cd0bt{n|j8I~K9@Ys;E)-}l+0&nNQC?~#iE zRzug&c~dO3v{RE4mZ~#t{$%8FJ7Dk&)y%p&2?H|Z~9%fJO-PFe44Y}F*N|C<&AtEym=p5tI`jhQ(7+ny2gJTTxtXYips7*f3BOK z4?UT7%5cRpH+u-b+7(K@(@YUb=|iH)_ft`w(1Y_Kj$mSzx$4G;1?=m#VdMYohjerBtRGW zjo}xsn1Zk(9g$(@IZU)GX4JGR*;Szy>OCzW$1bjz)W7ap>>HSeP4}s zr(oyP+JI@RmbJ-$%1NMWi^Ak=-x2pg0w$4g9`)6uf7oy+!b#1miWPr zwOd4*U+Rw=bW>2=iSD;9KGR`iw4+2&EKc91*>v{fp{=dK9-+kTp_jmn1zt8>oer_&%^F`mn z)K8uM(^RhZFYxid{j~q5+1&pjf#_$&O0Ht1Rq>*$CXP5+&ic|?E!D=+66n0))7WC^ z(vMxRskQzlTNKe=$?6N@JNck%f#;{#PBXVQPI=!t*N_};2bx(b33LsUM(567O!^gcSOSpaQ02uahW3= zY%Wp9i;SlD&{;QBUc8Zg)P5D&NPiU6XWX=%+g`*M+I*)SCk(L|IsgZigp)X5YZZ6e<`Afd!2MGV9`oXtG?w+Q~fWn zW}#zYT#t$6?$+|e05}C^Gds?N+PuSSc(3=5z8(E4AC|-V)Y$kuSt#mQ^`Wh0gi9t5 z%_E8Qy_am%bcdFgA_ehO^AivnK zJ-7Eqgn{H?Px1FL&7(Pz!x+%suGnh9nS!#BT5(avm&DIwBh?Z0R>!B2{UZsBq{nO= zv5u88!#W@7TgTSF(-ScDvGuIi_mcjr@!w5!zkYK-}7V?w))weKKwl7cc<8cKMCJYth+SNmvHT8#q? z&?7R6KpU~-<3`Vr#>AATy<-t!@tA0+G^JrH-m+vI^I{#aE^y={g|7u|C&qpcMLTB)jqIfjcgbt`>~LcVtmW`8@w1OnKD^?0Wh z4{(d|F6t;St0K5m zEj?gXV=P``mR7cqgrS^4O>k@!I`9W@rJ%Kja!=4`=3h=zuH_881Ty_oL0)&wKc(#I zc~N7;Np+D>{@PQspI90jZt^<9%J#E<&Gv~s*k%Tz&6p8WCi*x)*@r;zL5I()g@nwj0f*ZRdwSu*hn2po zt#nO=bKgpeWPdK`rh8`27GDkmjhQTN?&kA@z3*38_IJ`f5#g|g&YY&>tK+9vVl;*> zRxwcI*_JnH1`MAYhbcf^bCBp5R#hn{iJABVUs?$2atgP2ljDn#4@dIHJ#y&$6!{AG?%;OMD++f$(H z)Wy7@a4(9(`OQ$?X;Sf}cjRqv&2pES%6pTL!VmEPQIv=8sxcna6V@q18+ZD8*$hfE zh-mf~B$+#py@GBVinL=r_d{3um%qRLKH)*)$N(wa3PC2d=K_Yvztrpl4i(FQXX$OP z%=C7S)TMD16qZ5a`G#&MJdenY2W__-2#AJw+@f*R&HPlo1#jQNyWbhm2HJ zMA^~Uk5yX=RGZrsIdd5gm9XW8_9hmdR984bUU5pO>BYFVU!UChqc~$6v?RD~j6b+F zcgyB5)7UXjdwXvcL8IHlj;F?Dtc}H+FBg|bph%Y&h;_G~)T8R*$|)r3L~9O>d#X6c zR^m;~vrmt{N#}uhflp+4x%!nEae$8^&Y3bHBpkz%@hldX-`5M(qc+3Ll)ZEL9ZV9_ zOVf>{!B8n!9=uT^&->Z+giG4H^+1~Ghw0FIzoprW%l1z2BxS@6!4KL)g(t|{p9_|b zndM$5Kj8Dnca@o5^CeYXL9Lm$-daizZk;@G+yV8Q(q(T8=cAH=mh3sj*D_%)m6tsD z@GU==xMYh)p~)C(2`>>t&XxJ>kDGQ>+w_D9>Qi!a`~#_U2c9l&pXFdu)Ccn{`2fSY z<2n6w( zIPYwjft5F_{7*+Zv%f3vCdHA>n%weH%kgiFkN<*272ii@P1sM_W+!h3x;c4(tIu7| F_&2x88b1I4 diff --git a/src/docs/picture/erlang数据复制.png b/src/docs/picture/erlang数据复制.png deleted file mode 100644 index 1f86c4aeed4855e7651a483d5bd966c946dcc125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21177 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%0DS$ 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
8(Tk#J70ZKZbRiv=6+yp`3MZF*Y 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 jde=9*&6bVB9pyh;eVHU{8+bA-5E?{xjLSq~ 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

-YGOQ{aK2pO*%f{Ou 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 p5nW`+_4y+ZT2J~6 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

@#fP&<>4Z*$~ovM6*Eq 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 diff --git a/src/docs/time相关的日志.md b/src/docs/time相关的日志.md deleted file mode 100644 index f0dfe0b..0000000 --- a/src/docs/time相关的日志.md +++ /dev/null @@ -1,181 +0,0 @@ -erlang 模块的时间函数---------》》》》 - -localtime_to_universaltime/1 - 如果基础操作系统支持,则将本地日期和时间转换为世界标准时间(UTC). 否则,不进行任何转换,并 返回Localtime - -localtime_to_universaltime/2 - 将本地日期和时间转换为erlang:localtime_to_universaltime / 1,以协调世界时(UTC),但调用者确定夏令时是否处于活动状态。 - 如果IsDst == true,则本地 时间位于夏令时,如果IsDst == false ,则不是。如果IsDst == undefined,则底层操作系统可以猜测, - 这与调用 erlang:localtime_to_universaltime(Localtime)相同。 - -universaltime_to_localtime/1 - 如果基础操作系统支持,则以{{Year,Month,Day},{Hour,Minute,Second}}的形式将世界标准时间(UTC)日期和时间转换为本地日期和时间 。 - 否则,不进行任何转换,并 返回Universaltime。例: - -time/0 - 以{Hour,Minute,Second}的形式返回当前时间。时区和夏令时校正取决于基础操作系统。 -date/0 - 返回当前日期为{Year,Month,Day}。时区和夏令时校正取决于基础操作系统。 - -localtime/0 - 返回当前的本地日期和时间 {{Year,Month,Day},{Hour,Minute,Second}} 时区和夏令时校正取决于基础操作系统。 - -universaltime/0 - 如果基础操作系统支持,则根据世界标准时间(UTC)以{{Year,Month,Day},{Hour,Minute,Second}}的形式返回当前日期和时间 。 - 否则,erlang:universaltime()等效于 erlang:localtime()。例: - -posixtime_to_universaltime/1 - posixtime 转为 universaltime -universaltime_to_posixtime/1 - universaltime换为posixtime时间戳 - -system_time/0, - 以本地时间单位返回当前的 Erlang系统时间。 - -system_time/1 - 返回当前的 Erlang系统时间, 该时间已转换为作为参数传递的Unit。 - -convert_time_unit/3 - 转换时间的时间单位的值 FromUnit到相应 ConvertedTime时间单元的值 ToUnit。使用下限功能对结果进行四舍五入。 - 警告:在时间单位之间进行转换时,可能会失去准确性和精度。为了最大程度地减少此类损失,请以本地时间单位收集所有数据,然后对最终结果进行转换。 -time_offset/0 - 以 本地时间单位返回Erlang单调时间和 Erlang系统时间之间的当前时间偏移 。添加到Erlang单调时间的当前时间偏移会给出相应的Erlang系统时间。 - 时间偏移可能会或可能不会在操作期间更改,具体取决于所使用的时间扭曲模式。 - 注意: - 通过不同的过程,可以在稍有不同的时间点观察到时间偏移量的变化。 - 如果运行时系统处于 多时间扭曲模式,则当运行时系统检测到OS系统时间已更改时,时间偏移也会 更改。但是,运行时系统不会立即检测到它。 - 检查时间偏移的任务计划至少每分钟执行一次;因此,在正常操作下,一分钟内即可检测到,但是在重负载下可能需要更长的时间。 - -time_offset/1 - 返回Erlang单调时间和 Erlang系统时间之间的当前时间偏移, 该时间已转换为作为参数传递的Unit。 - -timestamp/0 - 以{MegaSecs,Secs,MicroSecs}格式返回当前的 Erlang系统时间。此格式与os:timestamp / 0 和不赞成使用的erlang:now / 0相同 。 - 存在erlang:timestamp()的原因纯粹是为了简化对采用这种时间戳格式的现有代码的使用。可以使用erlang:system_time / 1以您选择的时间单位 - 更有效地检索当前Erlang系统时间 。 - The erlang:timestamp() BIF is equivalent to: - timestamp() -> - ErlangSystemTime = erlang:system_time(microsecond), - MegaSecs = ErlangSystemTime div 1000000000000, - Secs = ErlangSystemTime div 1000000 - MegaSecs*1000000, - MicroSecs = ErlangSystemTime rem 1000000, - {MegaSecs, Secs, MicroSecs}. - - -calendar 时间模块 -------》》》》》 - 模块总结 - 本地和世界时间,星期几,日期和时间转换。 - 描述 - 此模块提供本地和通用时间,星期几以及许多时间转换功能的计算。 - - 根据当前时区和夏令时进行调整时,时间是本地时间。当它反映的是经度为零的时间时,它是通用的,无需为夏时制进行任何调整。 - 世界标准时间(UTC)时间也称为格林威治标准时间(GMT)。 - - 此模块中的时间函数local_time / 0和 Universal_time / 0都返回日期和时间。这是因为日期和时间的单独功能可能导致日期/时间组合错开24小时。 - 如果其中一个功能在午夜之前调用,而另一个功能在午夜之后调用,则会发生这种情况。此问题也适用于Erlang BIF date / 0和time / 0, - 如果需要可靠的日期/时间戳,强烈建议不要使用它们。 - - 所有日期均符合公历。此历法由教皇格雷戈里十三世在1582年引入,从今年开始在所有天主教国家中使用。德国和荷兰的新教部分在1698年采用了它, - 英格兰随后在1752年采用了,俄国在1918年(根据格里高利历法,1917年10月的革命发生在11月)。 - - 此模块中的公历将回溯到0年。对于给定的日期,公历天数是指指定日期之前(包括该日期)的天数。同样,指定日期和时间的公历秒数是直至并包括指定日期和时间的秒数。 - - 要计算时间间隔之间的差异,请使用计算公历天或秒的功能。如果将纪元指定为本地时间,则必须将其转换为通用时间,以获取各纪元之间经过时间的正确值 - 。不建议使用功能time_difference / 2。 - - 一年中的一周存在不同的定义。该模块包含符合ISO 8601标准的一年中的一周实施。由于指定日期的星期数可以落在上一个,当前或下一年, - 因此指定年号和星期数很重要。函数iso_week_number / 0和iso_week_number / 1 返回年份和星期数的元组。 -calendar: - -date_to_gregorian_days/1 -date_to_gregorian_days/3 - 计算从0年开始到指定日期结束的公历天数。 - -datetime_to_gregorian_seconds/1 - 计算从年份0开始到指定的日期和时间的公历秒数。 - -gregorian_days_to_date/1 - 根据指定的公历天数计算日期。 -gregorian_seconds_to_datetime/1 - 根据指定的公历秒数计算日期和时间。 - -day_of_the_week/1 -day_of_the_week/3 - 从指定的Year,Month和 Day计算星期几 。将星期几返回为 1:星期一,2:星期二,依此类推。 - -is_leap_year/1 - 检查指定的年份是否为闰年。 - -iso_week_number/0 - 返回表示实际日期的ISO周编号的元组{Year,WeekNum}。要确定实际日期,请使用函数 local_time / 0。 -iso_week_number/1 - 返回表示指定日期的ISO周编号的元组{Year,WeekNum}。 - -last_day_of_the_month/2 - 计算一个月中的天数。 - -local_time/0 - 等效于 erlang:localtime() - -local_time_to_universal_time/1 %% 不推荐使用了 额豁 - 从本地时间转换为世界标准时间(UTC)。 DateTime1必须引用1970年1月1日之后的本地日期。 - 警告:不推荐使用此功能。请改用 local_time_to_universal_time_dst / 1 ,因为它可以提供更正确和完整的结果。 - 尤其是对于不存在的时间段,由于在切换到夏时制时会被跳过,因此此功能仍会返回结果。 -local_time_to_universal_time/2 - -local_time_to_universal_time_dst/1 - 从本地时间转换为世界标准时间(UTC)。 参数DateTime1必须引用1970年1月1日之后的本地日期。 - - 返回值是0、1或2个可能的UTC时间的列表: - - [] - 对于当地时间{Date1,Time1},在切换到夏令时时会跳过该时间段,因此没有相应的UTC,因为当地时间是非法的(从未发生过)。 - - [DstDateTimeUTC,DateTimeUTC] - 对于从夏令时开始重复的时段中的本地{Date1,Time1},存在两个对应的UTC;一个用于夏令时仍处于活动状态的时段的第一个实例,另一个用于第二个实例。 - - [DateTimeUTC] - 对于所有其他本地时间,仅存在一个对应的UTC。 - -now_to_datetime/1 % = now_to_universal_time/1 - 返回从erlang:timestamp / 0的返回值转换的通用协调时间(UTC) 。 - -now_to_local_time/1 - 返回从erlang:timestamp / 0的返回值转换的本地日期和时间 。 - -now_to_universal_time/1 - 返回从erlang:timestamp / 0的返回值转换的通用协调时间(UTC) 。 - -rfc3339_to_system_time/1 -rfc3339_to_system_time/2 - 将RFC 3339时间戳转换为系统时间。RFC 3339描述了RFC 3339时间戳的数据格式 。 - -seconds_to_daystime/1 - 将指定的秒数转换为天,小时,分钟和秒。时间始终是非负的,但是如果参数Seconds是,则 Days是负的 。 - -seconds_to_time/1 - 根据指定的秒数计算时间。 秒数必须小于每天的秒数(86400)。 - -system_time_to_local_time/2 - 将指定的系统时间转换为本地日期和时间。 TODO 优化此函数 - -system_time_to_universal_time/2 TODO 优化此函数 - 将指定的系统时间转换为通用日期和时间。 - -system_time_to_rfc3339/1 -system_time_to_rfc3339/2 - 将系统时间转换为RFC 3339时间戳。RFC 3339描述了RFC 3339时间戳的数据格式 。偏移量的数据格式也由RFC 3339描述。 - -time_difference/2 %% 改函数过时 不用 -time_to_seconds/1 - 返回自午夜到指定时间的秒数。 - -universal_time/0 - 等效于erlang:universaltime(). - -universal_time_to_local_time/1 - erlang:universaltime_to_localtime(DateTime). - -valid_date/1 -valid_date/3 - 此功能检查日期是否有效。 \ No newline at end of file