diff --git a/.gitignore b/.gitignore index 4e6417a74efe..d404dff495eb 100644 --- a/.gitignore +++ b/.gitignore @@ -33,5 +33,8 @@ hack/tls-setup/certs /tools/local-tester/bridge/bridge /tools/proto-annotations/proto-annotations /tools/benchmark/benchmark +/tools/rw-benchmark/rw-benchmark +/tools/rw-benchmark/rw_benchmark.html +/tools/rw-benchmark/*.csv /out /etcd-dump-logs diff --git a/CHANGELOG/CHANGELOG-3.6.md b/CHANGELOG/CHANGELOG-3.6.md index 0d8924bf2452..680a10fb3229 100644 --- a/CHANGELOG/CHANGELOG-3.6.md +++ b/CHANGELOG/CHANGELOG-3.6.md @@ -74,9 +74,10 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0). - Add [`etcd grpc-proxy start --endpoints-auto-sync-interval`](https://github.com/etcd-io/etcd/pull/14354) flag to enable and configure interval of auto sync of endpoints with server. - Add [`etcd grpc-proxy start --listen-cipher-suites`](https://github.com/etcd-io/etcd/pull/14308) flag to support adding configurable cipher list. -### tools/benchmark +### tools -- [Add etcd client autoSync flag](https://github.com/etcd-io/etcd/pull/13416) +- [Add etcd client autoSync flag for benchmark](https://github.com/etcd-io/etcd/pull/13416) +- [Reimplement the rw-heatmaps using Golang and rename it to rw-benchmark](https://github.com/etcd-io/etcd/pull/15060) ### Metrics, Monitoring diff --git a/Makefile b/Makefile index 1044e776904b..6c0d1b3ba705 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,10 @@ build: ./bin/etcdctl version ./bin/etcdutl version +.PHONY: tools +tools: + GO_BUILD_FLAGS="${GO_BUILD_FLAGS} -v" ./scripts/build_tools.sh + # Tests GO_TEST_FLAGS?= diff --git a/bill-of-materials.json b/bill-of-materials.json index 9638e8e54aa2..3b7c4743cac8 100644 --- a/bill-of-materials.json +++ b/bill-of-materials.json @@ -8,6 +8,15 @@ } ] }, + { + "project": "github.com/ahrtr/gocontainer", + "licenses": [ + { + "type": "MIT License", + "confidence": 1 + } + ] + }, { "project": "github.com/anishathalye/porcupine", "licenses": [ @@ -125,6 +134,15 @@ } ] }, + { + "project": "github.com/go-echarts/go-echarts/v2", + "licenses": [ + { + "type": "MIT License", + "confidence": 1 + } + ] + }, { "project": "github.com/go-logr/logr", "licenses": [ diff --git a/go.mod b/go.mod index 3339b0c2ccc5..5de78871b417 100644 --- a/go.mod +++ b/go.mod @@ -15,10 +15,12 @@ replace ( ) require ( + github.com/ahrtr/gocontainer v0.3.0 github.com/bgentry/speakeasy v0.1.0 github.com/cheggaaa/pb/v3 v3.1.0 github.com/coreos/go-semver v0.3.0 github.com/dustin/go-humanize v1.0.0 + github.com/go-echarts/go-echarts/v2 v2.2.5-0.20211021024243-33ae1aa415d6 github.com/spf13/cobra v1.6.1 github.com/stretchr/testify v1.8.1 go.etcd.io/bbolt v1.3.6 diff --git a/go.sum b/go.sum index f5dbc0efb5a4..8a1a254edb2d 100644 --- a/go.sum +++ b/go.sum @@ -43,6 +43,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= +github.com/ahrtr/gocontainer v0.3.0 h1:/4wM0VhaLEYZMoF6WT8ZHUmf2n9BVpCD3uMaKrA0iHY= +github.com/ahrtr/gocontainer v0.3.0/go.mod h1:cQoR5/JTMoDNEkk5vGaohPZ+nnTQVB2nk2Y012WJWsM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -105,6 +107,8 @@ github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-echarts/go-echarts/v2 v2.2.5-0.20211021024243-33ae1aa415d6 h1:+p0u+1svKoBC2xS6GzpmcDHShkAGqD+wUQLpxIpygM0= +github.com/go-echarts/go-echarts/v2 v2.2.5-0.20211021024243-33ae1aa415d6/go.mod h1:6TOomEztzGDVDkOSCFBq3ed7xOYfbOqhaBzD0YV771A= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -316,6 +320,7 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= diff --git a/scripts/build_lib.sh b/scripts/build_lib.sh index 9c297a191e5b..7842fa401515 100755 --- a/scripts/build_lib.sh +++ b/scripts/build_lib.sh @@ -64,6 +64,7 @@ tools_build() { out="bin" if [[ -n "${BINDIR}" ]]; then out="${BINDIR}"; fi tools_path="tools/benchmark + tools/rw-benchmark tools/etcd-dump-db tools/etcd-dump-logs tools/local-tester/bridge" diff --git a/tools/rw-benchmark/README.md b/tools/rw-benchmark/README.md new file mode 100644 index 000000000000..dc8e684febe3 --- /dev/null +++ b/tools/rw-benchmark/README.md @@ -0,0 +1,31 @@ +# etcd/tools/rw-benchmark + +`etcd/tools/rw-benchmark` is the mixed read/write performance evaluation tool for etcd clusters. + +## Execute + +### Benchmark +To get a mixed read/write performance evaluation result: +```sh +# run with default configurations and specify the working directory +./rw-benchmark.sh -w ${WORKING_DIR} +``` +`rw-benchmark.sh` will automatically use the etcd binary compiled under `etcd/bin/tools` directory. + +Note: the result csv file will be saved to current working directory. The working directory is where etcd database is saved. The working directory is designed for scenarios where a different mounted disk is preferred. + +### Plot Graphs +To generate a HTML page including all the line charts based on the benchmark result csv files: +```sh +# To generate a HTML page with each chart including one pair of read & write +# benchmark results from one data csv file. +./rw-benchmark -l "main" ${FIRST_CSV_FILE} + +# To generate a HTML page with each chart including two pair of read & write +# benchmark results from two data csv files respectively. +./rw-benchmark -l "main:dev" ${FIRST_CSV_FILE} ${SECOND_CSV_FILE} +``` + +The read QPS is displayed as blue, and write QPS is displayed as red. +The data in the second CSV file is rendered as dashed line if present. See example in [example/rw_benchmark.html](example/rw_benchmark.html). +Note each line in the line chart can be hidden or displayed by clicking on the related legend. diff --git a/tools/rw-benchmark/example/dev.csv b/tools/rw-benchmark/example/dev.csv new file mode 100644 index 000000000000..b73cf165e28f --- /dev/null +++ b/tools/rw-benchmark/example/dev.csv @@ -0,0 +1,450 @@ +type,ratio,conn_size,value_size,iter1,iter2,iter3,iter4,iter5,comment +PARAM,,,,,,,,,"key_size=256,key_space_size=65536,backend_size=21474836480,range_limit=100" +DATA,0.0078,32,16,245.3039:35907.7856,245.9720:36006.3388,249.4058:36508.7530,253.5596:37116.4270,250.7366:36703.4469, +DATA,0.0078,64,16,254.0160:37182.3257,253.3490:37084.3820,256.7318:37578.2896,260.4655:38126.3240,261.4608:38272.0847, +DATA,0.0078,128,16,262.7082:38454.4469,263.0416:38493.9911,264.3438:38691.6580,265.4096:38847.0270,271.3836:39722.8663, +DATA,0.0078,256,16,269.6633:39465.8525,273.1094:39974.8167,275.0659:40216.2359,276.1103:40412.2910,277.1494:40558.5642, +DATA,0.0078,512,16,283.7732:41529.8232,285.6024:41793.5425,283.8550:41532.4117,286.3505:41910.9292,286.5039:41924.1279, +DATA,0.0078,1024,16,296.3893:43347.6227,294.5624:43082.5616,296.2384:43331.2918,296.3411:43348.3959,296.4917:43358.9956, +DATA,0.0078,2048,16,303.5654:44347.1160,307.3025:44912.2690,304.3031:44457.5080,303.7355:44379.9010,307.0249:44869.9095, +DATA,0.0078,4096,16,299.2113:43619.8452,308.2896:44953.8624,306.7261:44722.7202,302.8368:44147.8721,311.0803:45331.8404, +DATA,0.0078,32,32,245.4262:35926.0714,245.2868:35905.9232,247.9258:36291.8726,251.0414:36748.3773,251.8507:36866.3259, +DATA,0.0078,64,32,253.4841:37103.8275,256.5283:37551.1120,256.9161:37605.2321,259.7757:38024.6263,263.0550:38505.7050, +DATA,0.0078,128,32,261.8840:38332.0061,265.8609:38880.0913,267.2260:39107.4491,268.8825:39357.4822,271.1324:39687.0379, +DATA,0.0078,256,32,270.9987:39661.8881,270.3364:39566.6495,273.7607:40069.1395,275.8317:40370.3985,276.1555:40420.6694, +DATA,0.0078,512,32,285.3112:41752.3532,286.4141:41921.8897,284.6794:41582.6788,287.7059:42103.5390,288.4593:42207.0728, +DATA,0.0078,1024,32,294.6313:43101.7053,296.8888:43419.0507,296.9067:43425.4108,296.1054:43306.3025,298.5457:43666.6932, +DATA,0.0078,2048,32,304.2676:44453.1484,305.3394:44619.8856,306.1261:44744.1478,308.0870:45003.8131,304.3376:44461.8427, +DATA,0.0078,4096,32,301.2507:43929.5523,307.9588:44862.9134,307.3224:44800.4046,307.2125:44778.7150,307.8729:44870.9432, +DATA,0.0078,32,64,247.5560:36237.9497,248.5397:36382.0009,250.9582:36735.8489,252.7836:37001.3028,254.5248:37257.7661, +DATA,0.0078,64,64,255.3265:37374.1839,257.0772:37629.1600,258.3864:37821.7312,260.1196:38075.1992,263.7144:38602.9881, +DATA,0.0078,128,64,257.5580:37697.9083,259.1785:37936.4356,260.9700:38196.4015,264.4438:38707.9825,265.7542:38899.5856, +DATA,0.0078,256,64,273.0860:39966.5545,272.2796:39846.2562,274.0054:40099.5757,274.1302:40120.5171,278.4102:40749.9690, +DATA,0.0078,512,64,282.6958:41306.5556,281.8350:41243.7066,282.5847:41354.2775,284.0854:41568.3294,283.0601:41427.9986, +DATA,0.0078,1024,64,295.7037:43244.9124,294.8195:43120.1046,294.2447:43041.6226,294.6880:43106.3313,296.6594:43395.3474, +DATA,0.0078,2048,64,305.9406:44708.2725,308.8593:45121.4582,305.5380:44635.7246,306.3365:44750.5638,306.9355:44846.2554, +DATA,0.0078,4096,64,302.8041:44144.3848,310.5427:45266.6685,304.5057:44388.3417,311.2041:45359.7440,308.2669:44924.6234, +DATA,0.0078,32,128,244.5960:35804.5336,247.0914:36170.0234,249.1690:36474.1612,251.7953:36858.6312,253.5863:37120.5320, +DATA,0.0078,64,128,256.5514:37553.3141,257.9939:37765.4411,259.1628:37935.1997,261.6221:38296.7217,264.4253:38706.1891, +DATA,0.0078,128,128,260.2760:38098.2561,261.4276:38266.6637,263.9492:38635.7555,264.6510:38737.8780,267.5009:39155.6445, +DATA,0.0078,256,128,271.2933:39710.3744,270.3887:39577.8527,271.9555:39807.9712,272.3304:39856.1203,275.9455:40385.5599, +DATA,0.0078,512,128,281.3126:41164.7704,283.8962:41537.1944,284.0447:41569.3827,284.0217:41556.7459,286.5323:41921.8665, +DATA,0.0078,1024,128,296.7369:43398.6812,295.4814:43211.2698,296.7117:43401.2712,296.8471:43415.5686,296.6107:43379.8121, +DATA,0.0078,2048,128,299.3453:43738.5757,299.9749:43826.8815,303.4636:44308.7493,302.7071:44220.5260,304.6584:44513.3662, +DATA,0.0078,4096,128,301.8481:43997.1846,309.4917:45097.7546,306.5916:44698.2856,306.4367:44702.4568,304.5669:44404.4825, +DATA,0.0078,32,256,245.7049:35966.8847,246.7623:36121.7315,247.9522:36296.0213,252.0113:36889.8499,251.4815:36812.6389, +DATA,0.0078,64,256,254.0013:37179.8300,254.6351:37273.3363,257.0999:37633.0125,261.7172:38309.1466,263.0458:38502.9900, +DATA,0.0078,128,256,262.6193:38440.6001,262.6473:38446.1040,264.9504:38752.0608,266.5987:39025.7768,268.9464:39366.7634, +DATA,0.0078,256,256,271.4783:39735.1107,271.3949:39720.5355,273.7046:40057.2812,275.7635:40362.6068,275.0612:40256.7280, +DATA,0.0078,512,256,284.9653:41695.1055,284.4362:41619.5236,283.6212:41497.9173,285.1754:41740.5573,290.1212:42451.6175, +DATA,0.0078,1024,256,294.6859:43103.9550,291.0143:42566.4041,292.6760:42801.4983,292.9971:42855.5802,294.2554:43040.4185, +DATA,0.0078,2048,256,302.6425:44209.5427,304.4568:44473.7784,302.6683:44236.6600,301.7085:44072.0469,303.5931:44350.5663, +DATA,0.0078,4096,256,302.1649:44051.5963,300.6207:43823.2247,301.9759:44014.9101,299.3887:43647.6263,302.6554:44121.3072, +DATA,0.0078,32,512,246.4472:36075.6652,247.9521:36295.8226,248.1986:36332.0343,251.2789:36782.8214,251.6665:36839.1718, +DATA,0.0078,64,512,254.9960:37326.7352,253.6512:37129.9680,256.9369:37610.6968,259.7640:38023.0508,261.2666:38243.2208, +DATA,0.0078,128,512,262.0199:38352.9274,262.0647:38360.6575,263.6960:38600.2108,265.1174:38806.9788,267.3974:39140.9617, +DATA,0.0078,256,512,269.2336:39400.9049,269.2644:39409.9625,269.9892:39517.0987,271.4614:39728.1497,273.3548:40006.1864, +DATA,0.0078,512,512,279.9374:40965.4856,282.9156:41397.3402,283.0245:41419.8212,284.4125:41629.0126,284.7382:41663.0691, +DATA,0.0078,1024,512,290.4840:42487.0120,291.3584:42616.0709,292.7913:42819.0611,293.9338:43001.4140,294.8488:43126.4106, +DATA,0.0078,2048,512,301.3523:44008.7125,300.2045:43862.8536,299.3167:43721.0893,302.1761:44150.3813,302.8751:44261.7487, +DATA,0.0078,4096,512,299.5718:43672.6860,306.6884:44709.5265,309.5588:45128.4846,303.6135:44254.9947,308.5245:44978.9000, +DATA,0.0078,32,1024,242.9162:35559.0238,241.1194:35295.4355,243.4934:35643.0954,246.9903:36154.8837,248.8257:36423.7090, +DATA,0.0078,64,1024,253.1756:37058.1535,251.2068:36771.3661,253.5970:37122.1111,255.5374:37404.5467,258.3402:37816.1025, +DATA,0.0078,128,1024,260.0573:38063.0746,260.5809:38141.0828,262.9449:38487.2369,263.3000:38541.1304,264.3973:38700.8223, +DATA,0.0078,256,1024,270.5580:39599.2591,268.5317:39303.5105,269.7210:39475.3890,273.5503:40039.0487,273.7460:40068.5788, +DATA,0.0078,512,1024,278.7953:40721.0110,277.5264:40608.3297,279.7073:40932.3902,281.8563:41247.7830,282.8999:41395.7588, +DATA,0.0078,1024,1024,290.9346:42552.2334,288.5605:42211.0872,290.9595:42533.9821,290.6334:42507.8316,292.6158:42797.3576, +DATA,0.0078,2048,1024,296.6684:43335.6262,300.9516:43975.3553,299.4936:43761.9856,297.9460:43538.1791,299.7838:43813.6001, +DATA,0.0078,4096,1024,299.8189:43703.4650,307.4083:44803.8670,303.2560:44203.3426,304.7796:44418.8780,306.0158:44595.9284, +DATA,0.125,32,16,2688.3306:21414.5487,2701.5095:21519.5545,2763.8310:22016.0304,2770.5615:22069.5965,2816.2995:22433.9932, +DATA,0.125,64,16,2777.2219:22122.1914,2807.6785:22364.5989,2851.8292:22716.3155,2887.5275:23000.6138,2939.8964:23417.7319, +DATA,0.125,128,16,3195.0390:25450.0320,3237.1515:25784.4008,3287.3610:26185.3980,3317.5577:26424.4016,3340.3211:26606.7545, +DATA,0.125,256,16,3491.5528:27812.0030,3543.0765:28219.1893,3581.6341:28506.0427,3586.9961:28567.3536,3659.3819:29146.3670, +DATA,0.125,512,16,4011.8435:31957.5053,4000.8464:31809.0610,4026.4510:32060.8299,4020.7425:32018.4437,4026.7916:32065.5497, +DATA,0.125,1024,16,4065.5622:32364.2504,4104.1082:32672.1802,4187.0733:33327.3621,4170.1383:33189.5592,4153.4770:33059.1563, +DATA,0.125,2048,16,4045.6547:32172.9201,4086.0554:32492.6722,4103.9459:32637.5675,4104.9787:32640.9894,4136.6182:32893.8754, +DATA,0.125,4096,16,3905.9967:31010.6437,4034.3397:32031.9098,4033.6323:31984.7580,3966.0390:31479.6604,4000.3492:31756.9263, +DATA,0.125,32,32,2668.6322:21257.6515,2696.3941:21478.7868,2752.4705:21925.5685,2770.1805:22066.5390,2827.4598:22522.8737, +DATA,0.125,64,32,2809.1824:22376.8778,2821.6064:22475.5142,2893.2305:23045.9962,2915.6732:23224.6140,2984.2453:23770.6440, +DATA,0.125,128,32,3190.0083:25410.1737,3209.1114:25562.1780,3292.6149:26225.9952,3313.6653:26394.2895,3353.5880:26713.1752, +DATA,0.125,256,32,3525.6776:28082.4347,3582.3095:28532.6903,3606.5747:28728.1820,3605.7758:28719.2794,3656.5350:29123.9668, +DATA,0.125,512,32,4008.5489:31912.7154,3946.7253:31427.9629,4001.4365:31865.3975,3971.3058:31622.7745,3966.0150:31583.5591, +DATA,0.125,1024,32,4057.9169:32299.1206,4081.3798:32486.0756,4110.3198:32718.6037,4124.4566:32830.0908,4089.2878:32551.3940, +DATA,0.125,2048,32,4026.9901:32022.8108,4047.8319:32193.8737,4080.2489:32445.6267,4072.6909:32392.5555,4033.5526:32077.4223, +DATA,0.125,4096,32,3856.4829:30620.7092,3961.8313:31451.7405,4006.8914:31814.0146,3861.3532:30659.6275,3912.0860:31060.9550, +DATA,0.125,32,64,2610.9407:20798.0809,2633.3022:20976.2238,2675.9047:21315.6074,2712.9397:21610.5706,2766.7571:22039.3021, +DATA,0.125,64,64,2823.3620:22489.1664,2873.9922:22892.1472,2947.8372:23481.1381,2968.2267:23644.2686,3005.6247:23941.0437, +DATA,0.125,128,64,3170.2343:25252.9101,3212.4538:25588.4031,3276.3982:26092.8871,3283.4200:26153.2124,3331.8635:26540.0373, +DATA,0.125,256,64,3510.4803:27960.1770,3492.5116:27817.0348,3527.2164:28093.0590,3591.0376:28603.4506,3583.5379:28543.6633, +DATA,0.125,512,64,3935.8173:31344.8793,3987.8759:31756.5741,3943.7568:31403.8259,3965.2953:31576.0188,4012.9501:31954.3686, +DATA,0.125,1024,64,4042.0418:32181.0773,4072.1603:32412.2964,4103.0035:32655.6380,4135.4359:32913.8859,4063.6049:32342.6616, +DATA,0.125,2048,64,4012.1469:31908.5469,4028.9674:32043.4257,4067.3883:32345.2186,4130.8314:32850.0406,4072.1176:32385.4542, +DATA,0.125,4096,64,3849.6112:30570.6397,3929.5052:31195.2562,4016.8860:31892.3501,3899.0957:30958.3022,3918.5780:31113.5682, +DATA,0.125,32,128,2614.9998:20830.4253,2638.2572:21015.6474,2701.7943:21521.7658,2740.7677:21832.3301,2764.1202:22018.2589, +DATA,0.125,64,128,2810.8620:22389.9506,2815.5879:22427.6672,2891.8336:23034.7879,2921.4146:23270.9007,2962.6759:23599.4780, +DATA,0.125,128,128,3093.1604:24630.7091,3131.9861:24948.1512,3151.6738:25104.6577,3180.9757:25337.5184,3227.4800:25707.8483, +DATA,0.125,256,128,3480.6059:27720.4525,3491.0510:27806.0576,3507.7249:27935.7529,3546.1849:28244.5335,3575.2149:28476.1336, +DATA,0.125,512,128,3952.4101:31477.0598,3883.2773:30924.5366,3926.9482:31268.4479,3963.1508:31558.5505,3995.5562:31816.7526, +DATA,0.125,1024,128,4000.5050:31843.7947,4061.2282:32327.6668,4053.5588:32267.3027,4054.4191:32279.6889,4028.8497:32064.2906, +DATA,0.125,2048,128,3990.5618:31739.8989,4090.0417:32523.6843,4038.2921:32116.0355,4094.6703:32563.3519,4032.1908:32062.1208, +DATA,0.125,4096,128,3799.1730:30165.2910,3879.8506:30804.5473,3988.3811:31663.9629,3942.8282:31308.9940,3886.2064:30851.3989, +DATA,0.125,32,256,2543.5140:20260.9955,2540.4879:20236.8859,2611.6972:20804.1993,2641.6679:21042.8528,2692.8055:21449.5781, +DATA,0.125,64,256,2760.7109:21990.0655,2733.2896:21772.4023,2803.6470:22332.5319,2829.2279:22535.7659,2924.2779:23293.7384, +DATA,0.125,128,256,3052.5485:24315.1449,3051.8897:24308.5151,3108.7286:24762.5157,3141.9203:25025.3038,3211.1433:25578.3989, +DATA,0.125,256,256,3434.7821:27356.3550,3435.8270:27365.0871,3445.2108:27438.8975,3455.4769:27523.0599,3517.9905:28017.1651, +DATA,0.125,512,256,3934.6695:31335.4032,3902.9595:31081.1651,3913.8060:31168.1776,3924.6040:31252.4327,3953.1090:31475.2410, +DATA,0.125,1024,256,4048.0253:32224.8352,4037.4012:32139.2133,4042.2979:32175.0946,4022.5331:32016.8052,4020.3575:32005.0904, +DATA,0.125,2048,256,3925.0047:31214.2054,3954.0463:31453.8591,4015.2157:31934.2549,3983.8123:31687.1349,4006.2290:31863.5703, +DATA,0.125,4096,256,3845.1686:30538.4345,3854.1531:30602.7490,3962.9363:31462.9370,3772.2293:29956.6481,3896.8122:30941.5297, +DATA,0.125,32,512,2441.0658:19444.9434,2424.1090:19309.7966,2486.8854:19809.9501,2519.5010:20069.7181,2561.8821:20407.3642, +DATA,0.125,64,512,2620.6335:20874.5900,2611.8291:20804.7427,2731.6972:21759.4612,2730.0859:21746.6456,2785.4880:22188.3012, +DATA,0.125,128,512,2968.8548:23648.3269,2955.3927:23540.2879,2995.3049:23858.9346,3039.8489:24207.1209,3068.9042:24445.1182, +DATA,0.125,256,512,3336.2469:26572.1406,3338.6273:26591.0475,3373.9597:26866.3131,3404.8003:27119.1469,3412.6990:27183.1395, +DATA,0.125,512,512,3793.3768:30207.6903,3753.1881:29889.4723,3798.0978:30244.9339,3799.0389:30249.5500,3775.4606:30066.9140, +DATA,0.125,1024,512,3912.6596:31142.8095,3965.8932:31567.5176,3976.1117:31649.6181,3988.7394:31750.3235,3946.6991:31413.2787, +DATA,0.125,2048,512,3843.7776:30566.8085,3916.4245:31150.0167,3914.4006:31085.9529,3900.6951:31023.3461,3887.4670:30916.5252, +DATA,0.125,4096,512,3705.0193:29422.4886,3736.6338:29672.8021,3818.6045:30321.0780,3833.8069:30443.8141,3795.7166:30137.0511, +DATA,0.125,32,1024,2351.6439:18732.5938,2296.7451:18295.2701,2318.2798:18466.6344,2316.5953:18453.4318,2367.5108:18859.0518, +DATA,0.125,64,1024,2476.6880:19728.2272,2449.0593:19508.1297,2489.1438:19827.3685,2513.9123:20025.1332,2534.4745:20188.6826, +DATA,0.125,128,1024,2821.8460:22476.0684,2778.9012:22135.4622,2825.5252:22507.2857,2863.2904:22804.8288,2879.5983:22937.0092, +DATA,0.125,256,1024,3165.1737:25209.0495,3137.5253:24990.4783,3207.4859:25547.4446,3187.3075:25385.2278,3245.2061:25845.7020, +DATA,0.125,512,1024,3635.1884:28946.9071,3638.1070:28973.3103,3671.6652:29240.1630,3682.9473:29331.1504,3713.7494:29537.4765, +DATA,0.125,1024,1024,3717.2491:29592.2459,3743.6078:29802.9812,3840.8029:30568.4451,3834.5095:30521.3636,3747.8019:29834.9686, +DATA,0.125,2048,1024,3679.8371:29273.1392,3711.8539:29521.0238,3783.8969:30092.3738,3762.2630:29923.9548,3780.3538:30064.6404, +DATA,0.125,4096,1024,3456.8370:27460.7623,3550.4174:28195.9654,3664.9736:29105.3679,3575.9299:28395.6906,3604.0633:28623.4495, +DATA,0.25,32,16,3665.9905:14672.1220,3683.7252:14743.0901,3723.3823:14901.6895,3817.4756:15278.4546,3806.0151:15232.5384, +DATA,0.25,64,16,4140.3744:16570.4723,4101.1807:16413.4539,4113.5405:16462.6303,4125.5143:16510.8655,4177.5500:16719.0901, +DATA,0.25,128,16,4427.5463:17719.0367,4413.7433:17664.4649,4416.8397:17676.0777,4427.2479:17718.2537,4442.6347:17780.0514, +DATA,0.25,256,16,4689.9346:18769.4019,4707.0754:18837.1121,4670.1787:18690.6756,4682.5471:18739.3684,4703.3969:18821.6596, +DATA,0.25,512,16,4899.5832:19604.6568,4874.5488:19504.0946,4893.7155:19582.4098,4846.9118:19393.8297,4890.5382:19569.1997, +DATA,0.25,1024,16,5026.3086:20108.2772,5068.6887:20278.1259,5045.5878:20180.5351,5011.9104:20046.7483,5022.7740:20092.5977, +DATA,0.25,2048,16,4918.2567:19661.4342,4951.7835:19794.9135,4959.7397:19838.5546,4996.0736:19975.1285,4931.0378:19713.9597, +DATA,0.25,4096,16,4717.9851:18843.6101,4905.1180:19585.3118,4883.2004:19498.9039,4851.0033:19367.6362,4861.9109:19413.3282, +DATA,0.25,32,32,3662.4386:14657.9286,3675.6185:14710.7257,3721.4966:14894.3414,3807.3741:15238.0400,3818.5712:15282.8497, +DATA,0.25,64,32,4139.5722:16567.0449,4114.0800:16465.1554,4101.8586:16416.3344,4166.1601:16673.7709,4169.1843:16685.3379, +DATA,0.25,128,32,4393.0806:17581.7233,4428.9509:17725.4577,4419.3062:17686.1095,4407.8728:17641.2157,4452.3203:17818.9002, +DATA,0.25,256,32,4637.3255:18556.6686,4669.8835:18688.9257,4657.3434:18639.4204,4650.2066:18609.9082,4660.8950:18651.8176, +DATA,0.25,512,32,4876.1182:19510.6832,4908.5095:19641.4920,4870.2318:19487.9791,4848.3862:19399.2758,4850.6092:19409.3452, +DATA,0.25,1024,32,4976.9962:19912.6266,5029.4337:20123.2309,4986.3813:19946.1397,4984.2381:19940.5438,5003.3401:20017.8279, +DATA,0.25,2048,32,4932.9541:19724.5472,5001.7581:19994.1508,4890.3877:19550.9976,4931.7867:19714.9087,4979.5423:19909.8540, +DATA,0.25,4096,32,4769.0006:19042.3938,4880.9683:19490.6560,4880.4886:19486.9034,4814.5987:19225.9242,4890.2172:19527.7544, +DATA,0.25,32,64,3589.0621:14364.2542,3579.2911:14325.1939,3623.2112:14500.9323,3703.3199:14821.5741,3749.2067:15005.1909, +DATA,0.25,64,64,4062.0171:16257.0012,4057.3081:16238.1217,4073.7329:16303.8665,4126.8081:16515.9574,4163.6094:16663.2717, +DATA,0.25,128,64,4360.1339:17449.6635,4344.6684:17387.8587,4363.9400:17465.1842,4337.2864:17357.7833,4337.0166:17357.4626, +DATA,0.25,256,64,4600.8758:18412.0740,4632.1563:18536.7024,4564.6119:18267.5584,4599.3077:18405.4179,4641.4561:18574.6027, +DATA,0.25,512,64,4819.1657:19283.4255,4833.8336:19342.5195,4854.3367:19424.4333,4774.5152:19104.7681,4822.8316:19293.3327, +DATA,0.25,1024,64,4954.0823:19820.5265,4986.6829:19947.0039,4949.4891:19803.9836,4942.6663:19772.7977,4988.3522:19954.8717, +DATA,0.25,2048,64,4879.3708:19506.2039,4946.1685:19772.3139,4897.8754:19579.8819,4953.5371:19804.3953,4995.8144:19971.3183, +DATA,0.25,4096,64,4681.5494:18694.0962,4819.0654:19243.1732,4716.5029:18835.3649,4777.0073:19076.0401,4686.2357:18713.3385, +DATA,0.25,32,128,3615.9692:14471.9812,3624.1224:14504.5487,3618.4752:14481.9850,3702.3119:14817.5404,3728.5318:14922.3511, +DATA,0.25,64,128,4024.5652:16106.7082,4037.7184:16159.8070,4054.3172:16226.1312,4077.9882:16320.6640,4097.3344:16398.3201, +DATA,0.25,128,128,4270.7170:17091.8833,4287.8617:17160.7417,4261.5880:17055.4683,4274.0452:17104.9812,4307.7382:17226.0034, +DATA,0.25,256,128,4627.7824:18520.7360,4629.5054:18527.4764,4590.3370:18369.7885,4610.9740:18452.8923,4636.3660:18554.9952, +DATA,0.25,512,128,4846.1071:19390.3765,4846.9552:19394.4877,4812.2838:19255.1539,4814.2798:19263.2350,4851.9443:19414.7233, +DATA,0.25,1024,128,4965.5383:19863.4459,4894.5898:19589.2920,4899.3892:19597.1351,4902.8869:19613.3047,4934.0808:19737.2676, +DATA,0.25,2048,128,4868.3483:19464.1125,4879.3032:19507.2209,4873.7829:19482.2744,4874.7418:19483.1478,4942.5622:19759.6756, +DATA,0.25,4096,128,4634.1780:18505.6123,4786.5154:19113.9979,4766.4422:19033.4546,4743.2445:18941.6037,4778.0257:19081.1447, +DATA,0.25,32,256,3515.9121:14071.5280,3481.2211:13932.6613,3502.8304:14019.1580,3600.5556:14410.2825,3592.4097:14377.6644, +DATA,0.25,64,256,3962.0544:15856.8115,3969.2524:15885.4569,3936.8229:15755.8028,4018.2479:16081.8269,4017.7978:16079.7751, +DATA,0.25,128,256,4246.7797:16996.5136,4252.8112:17020.4446,4204.1495:16824.9606,4262.7611:17059.8514,4247.8240:16999.8935, +DATA,0.25,256,256,4550.4897:18211.1596,4527.7345:18120.2767,4514.5835:18065.7449,4545.5055:18190.1170,4562.4856:18257.7385, +DATA,0.25,512,256,4765.3911:19066.5024,4731.8282:18935.9463,4721.5093:18893.5413,4733.0432:18939.3103,4763.4473:19059.2928, +DATA,0.25,1024,256,4911.4552:19652.0494,4910.9169:19646.6260,4896.7123:19589.3410,4892.4044:19575.5020,4913.6298:19655.1842, +DATA,0.25,2048,256,4829.6141:19309.2209,4860.1669:19431.0456,4791.0056:19154.4537,4877.8738:19499.9632,4849.1250:19387.9018, +DATA,0.25,4096,256,4630.0095:18490.1674,4737.5519:18918.5530,4741.3469:18934.4001,4746.1406:18953.1285,4680.1042:18691.5697, +DATA,0.25,32,512,3424.3144:13704.8528,3346.2248:13392.3835,3335.8492:13350.8157,3418.7078:13682.5019,3462.6642:13858.3917, +DATA,0.25,64,512,3831.1374:15332.7738,3819.2804:15285.2887,3814.4442:15265.8497,3862.1580:15457.0432,3881.8811:15535.7396, +DATA,0.25,128,512,4072.1535:16297.1888,4119.2424:16485.7568,4109.4352:16446.6899,4123.5608:16503.1080,4141.7134:16575.6164, +DATA,0.25,256,512,4355.2487:17428.8782,4365.4645:17470.5677,4359.4096:17445.1321,4376.3129:17514.5139,4414.2291:17664.7483, +DATA,0.25,512,512,4595.4230:18388.9820,4619.0849:18482.4665,4593.7088:18381.0865,4591.2709:18370.2010,4572.5888:18297.2118, +DATA,0.25,1024,512,4633.2004:18533.9255,4686.5659:18749.2266,4711.6338:18846.1655,4727.7997:18911.7646,4716.9426:18870.4300, +DATA,0.25,2048,512,4648.2652:18583.6103,4708.5927:18826.3199,4701.9185:18790.6895,4726.9665:18896.7140,4694.5250:18768.2980, +DATA,0.25,4096,512,4431.7806:17707.8680,4588.3178:18323.4040,4474.3439:17868.2209,4508.2744:18005.6754,4490.5233:17935.0019, +DATA,0.25,32,1024,3422.5620:13697.9199,3403.5955:13621.9902,3392.3348:13576.9382,3463.3463:13861.1750,3453.3969:13821.3234, +DATA,0.25,64,1024,3651.0054:14611.8007,3634.7393:14546.7271,3611.1311:14452.2894,3664.8828:14667.5341,3659.2204:14644.8436, +DATA,0.25,128,1024,3879.7422:15527.2621,3872.7905:15494.3571,3857.1650:15436.9392,3897.2413:15597.2249,3928.1523:15719.0075, +DATA,0.25,256,1024,4081.4910:16333.3462,4112.2147:16457.1572,4151.1681:16607.8250,4164.8934:16667.9363,4135.2446:16549.9635, +DATA,0.25,512,1024,4297.6158:17196.9486,4327.7115:17316.5091,4328.7991:17320.8344,4331.0364:17330.2422,4326.2095:17311.2313, +DATA,0.25,1024,1024,4462.9678:17853.7704,4475.8283:17906.8853,4444.8556:17782.9661,4485.9790:17946.4843,4510.8531:18045.7271, +DATA,0.25,2048,1024,4331.2551:17320.1562,4418.1151:17665.0531,4394.7991:17569.8030,4444.4527:17770.5357,4450.8912:17796.8631, +DATA,0.25,4096,1024,4199.5763:16774.3575,4316.3086:17240.2747,4359.7277:17412.8272,4253.2136:16988.8614,4432.6661:17702.7464, +DATA,0.5,32,16,4561.7465:9062.2372,4478.3880:8896.7019,4496.7929:8933.2429,4535.4921:9010.1335,4508.4979:8956.5041, +DATA,0.5,64,16,4663.2880:9263.7851,4577.4800:9093.4315,4622.2058:9182.3039,4671.4205:9280.1118,4665.2089:9264.6983, +DATA,0.5,128,16,4891.4830:9717.1256,4863.3370:9661.0579,4881.0574:9696.2919,4870.5913:9675.5132,4867.6096:9669.5546, +DATA,0.5,256,16,5112.4102:10155.4645,5094.7571:10120.3977,5135.9152:10202.4196,5111.2169:10153.1166,5076.4487:10084.6588, +DATA,0.5,512,16,5321.1948:10569.1063,5298.9730:10525.4493,5294.8807:10518.1890,5279.7911:10487.6938,5273.5174:10474.7619, +DATA,0.5,1024,16,5476.9656:10879.5226,5474.8134:10873.0051,5511.9992:10946.7152,5445.5462:10813.4512,5449.3753:10821.9501, +DATA,0.5,2048,16,5463.4644:10845.8200,5506.6351:10930.3451,5508.3234:10935.8094,5496.1919:10910.1836,5472.8703:10864.8573, +DATA,0.5,4096,16,5448.3856:10807.5590,5419.8576:10751.0319,5414.4297:10740.7205,5465.1696:10840.0402,5407.0946:10723.6905, +DATA,0.5,32,32,4569.1556:9077.0143,4530.6080:9000.4403,4541.0825:9021.2464,4543.1659:9025.3129,4522.9635:8985.2150, +DATA,0.5,64,32,4772.4481:9480.5886,4759.7076:9455.3654,4800.8848:9537.2201,4810.2064:9555.7412,4700.9394:9338.6908, +DATA,0.5,128,32,4760.3633:9456.4941,4730.6319:9397.5866,4752.0762:9440.2546,4737.6914:9411.5496,4802.2240:9539.6853, +DATA,0.5,256,32,5102.2808:10135.9275,5104.2771:10139.2794,5124.2520:10178.7955,5054.4418:10040.6735,5075.9305:10082.1335, +DATA,0.5,512,32,5312.4042:10551.5381,5347.3095:10621.6146,5338.2868:10602.6325,5315.8432:10559.2916,5309.5956:10547.1230, +DATA,0.5,1024,32,5429.2034:10782.6609,5449.9061:10822.7171,5470.2886:10863.2823,5429.4289:10782.4933,5430.9905:10785.3245, +DATA,0.5,2048,32,5453.6893:10826.2056,5490.9988:10900.4944,5503.9151:10926.0861,5461.0060:10840.6678,5477.9970:10873.6460, +DATA,0.5,4096,32,5491.0665:10891.9599,5458.1970:10826.7567,5468.7746:10847.1439,5401.2510:10714.3075,5458.5133:10827.0435, +DATA,0.5,32,64,4410.2339:8761.3093,4328.8745:8599.6733,4339.0272:8619.8575,4384.8060:8710.7849,4351.9040:8645.3655, +DATA,0.5,64,64,4728.2709:9392.9487,4684.8788:9306.7118,4737.8535:9411.9837,4649.7284:9236.8653,4572.9998:9084.6615, +DATA,0.5,128,64,4818.5245:9572.3220,4793.9712:9523.3022,4832.0083:9598.8911,4774.4793:9484.7206,4751.5822:9438.9777, +DATA,0.5,256,64,4967.8264:9868.6591,4976.7356:9886.0777,4966.2802:9865.0443,4950.6232:9834.4020,4957.7384:9848.5948, +DATA,0.5,512,64,5251.7015:10431.0867,5250.4248:10428.7444,5251.5184:10431.4433,5212.3528:10353.7371,5219.4048:10367.8096, +DATA,0.5,1024,64,5395.4133:10715.1388,5384.3164:10692.8909,5396.4522:10718.2675,5373.0559:10670.0730,5358.1607:10640.3121, +DATA,0.5,2048,64,5424.9314:10769.5162,5417.1109:10754.2468,5460.6047:10841.2307,5451.9486:10822.8868,5439.6833:10798.8854, +DATA,0.5,4096,64,5436.8457:10784.7823,5480.9109:10870.9776,5459.6922:10829.2907,5447.3181:10805.6145,5455.9278:10821.2193, +DATA,0.5,32,128,4400.1745:8741.3287,4290.3024:8523.0500,4324.5228:8591.0283,4339.6783:8621.1460,4354.8856:8651.3313, +DATA,0.5,64,128,4686.5000:9309.9843,4642.7895:9223.2292,4581.9291:9102.2786,4566.4671:9071.5442,4559.1818:9057.1201, +DATA,0.5,128,128,4800.0779:9535.2421,4781.5714:9498.7394,4807.2167:9549.8171,4794.6492:9524.7626,4745.4490:9426.9248, +DATA,0.5,256,128,5001.7907:9936.0611,4970.1969:9873.6242,4968.3971:9869.1130,4961.3845:9855.8436,4931.2849:9795.8022, +DATA,0.5,512,128,5263.3556:10454.1814,5243.3194:10414.6084,5231.7185:10391.2791,5232.2859:10393.1002,5243.8786:10415.6483, +DATA,0.5,1024,128,5338.3281:10602.0769,5367.0935:10657.9735,5371.6734:10660.5192,5321.4233:10568.7418,5341.4643:10607.9766, +DATA,0.5,2048,128,5329.0391:10576.3167,5358.2484:10637.5411,5329.4976:10579.9846,5351.7940:10623.6269,5358.3764:10637.3484, +DATA,0.5,4096,128,5345.6581:10603.8932,5388.0563:10688.7248,5372.0316:10655.6972,5300.4225:10514.4576,5358.8214:10630.5540, +DATA,0.5,32,256,4432.9626:8806.4210,4382.2933:8705.7766,4368.4569:8678.2879,4439.6868:8819.7890,4401.7870:8744.5148, +DATA,0.5,64,256,4595.4508:9128.9323,4561.0258:9060.6988,4563.3302:9065.2452,4599.3271:9136.8631,4621.8542:9181.6390, +DATA,0.5,128,256,4705.6261:9348.0181,4641.7628:9221.1773,4671.2902:9279.6146,4624.0533:9185.0833,4653.3823:9244.1898, +DATA,0.5,256,256,4937.9583:9809.3680,4906.0545:9745.8933,4908.3190:9749.9390,4942.5211:9818.2962,4926.8805:9787.1211, +DATA,0.5,512,256,5194.9428:10319.1908,5146.3904:10222.3120,5147.6130:10224.7425,5176.2913:10282.0678,5159.4597:10249.0892, +DATA,0.5,1024,256,5293.5913:10512.8797,5240.4718:10407.1082,5255.0937:10436.3270,5267.5064:10458.3123,5248.9982:10424.0367, +DATA,0.5,2048,256,5272.1401:10473.8613,5269.6773:10460.9101,5286.5714:10494.9924,5252.9457:10428.3633,5312.5486:10546.5225, +DATA,0.5,4096,256,5281.5563:10476.8907,5350.0258:10612.7013,5294.5702:10501.8617,5318.8049:10552.9619,5323.2610:10558.9586, +DATA,0.5,32,512,4330.7954:8603.4210,4320.8368:8583.6954,4315.8028:8573.7235,4350.8246:8643.1272,4331.0534:8604.0116, +DATA,0.5,64,512,4410.0419:8760.9114,4370.0120:8681.2860,4363.6749:8668.6957,4400.8354:8740.4947,4385.0684:8711.1748, +DATA,0.5,128,512,4526.6186:8992.3755,4472.8910:8885.5108,4524.6942:8988.5826,4577.3088:9093.0819,4559.8602:9058.3356, +DATA,0.5,256,512,4748.2875:9432.6112,4681.7693:9299.9398,4715.0637:9366.1622,4759.1320:9453.4939,4778.4767:9491.3640, +DATA,0.5,512,512,4851.3569:9633.7012,4843.7272:9620.6198,4879.3653:9692.0653,4887.3690:9708.2749,4881.3402:9696.2315, +DATA,0.5,1024,512,5078.0500:10085.8503,5108.0740:10144.2439,5105.7573:10140.2617,5096.6852:10123.0219,5106.2290:10141.5742, +DATA,0.5,2048,512,5122.0738:10168.7720,5162.3631:10248.1334,5139.1407:10202.0131,5142.4322:10208.5303,5197.5309:10318.5106, +DATA,0.5,4096,512,5093.2103:10105.5523,5184.1316:10283.2555,5188.8546:10293.0420,5166.4456:10248.9412,5172.6480:10261.0350, +DATA,0.5,32,1024,4050.0807:8045.8287,3982.5809:7911.7265,4018.4704:7983.0494,4042.7989:8031.3382,4054.7339:8055.0814, +DATA,0.5,64,1024,4134.1490:8212.6987,4053.0454:8051.5828,4080.5134:8106.2497,4129.4792:8203.3932,4084.2314:8113.5741, +DATA,0.5,128,1024,4282.5232:8506.7707,4209.2182:8361.6259,4261.5953:8465.7103,4268.7739:8480.2037,4283.1095:8508.6424, +DATA,0.5,256,1024,4463.3923:8866.4954,4451.0633:8842.0805,4459.2617:8858.0530,4493.7394:8926.9002,4466.7274:8873.1908, +DATA,0.5,512,1024,4616.7664:9170.4826,4618.5344:9173.8995,4649.0106:9234.8117,4626.6910:9190.0421,4654.0858:9244.3668, +DATA,0.5,1024,1024,4881.5916:9695.5237,4844.0869:9617.8278,4867.2216:9665.6569,4888.9399:9709.2733,4880.6343:9693.0902, +DATA,0.5,2048,1024,4885.8364:9700.3020,4924.0683:9775.7035,4904.8410:9737.0366,4887.5048:9703.2091,4900.0750:9727.9113, +DATA,0.5,4096,1024,4811.3568:9545.1790,4968.4614:9856.2429,4949.0467:9820.0172,4877.7057:9676.6700,4869.0558:9659.5500, +DATA,2,32,16,6054.5787:3002.3112,5845.5542:2898.6500,5906.1411:2928.7061,5999.8423:2975.1618,6048.5440:2999.3209, +DATA,2,64,16,5988.9990:2969.7887,5885.4923:2918.4456,5987.9463:2969.2472,5928.0896:2939.5755,5844.9849:2898.3681, +DATA,2,128,16,5980.1536:2965.3486,6054.8676:3002.3877,5950.6875:2950.7430,6073.4011:3011.5811,6105.8863:3027.6915, +DATA,2,256,16,6288.9747:3118.3952,6277.8350:3112.9352,6252.7918:3100.5079,6260.8656:3104.5199,6286.8751:3117.3933, +DATA,2,512,16,6503.6833:3224.7109,6463.7887:3204.8203,6500.1853:3222.9731,6506.3660:3226.0660,6465.8117:3206.0240, +DATA,2,1024,16,6823.9511:3383.1961,6826.0792:3384.0655,6807.4759:3374.9407,6813.1356:3377.5851,6804.1283:3373.0400, +DATA,2,2048,16,6874.8564:3407.5411,6922.2015:3431.1036,6877.0130:3408.4971,6936.1057:3437.6998,6858.1458:3399.3304, +DATA,2,4096,16,6856.9850:3397.0292,6810.3501:3373.8278,6878.3625:3407.5328,6862.8184:3399.7039,6918.4289:3427.0856, +DATA,2,32,32,5767.0864:2859.7337,5848.9319:2900.3325,5795.6598:2873.9191,5889.4259:2920.4192,5886.6226:2919.0176, +DATA,2,64,32,6061.2962:3005.6234,5884.9933:2918.1929,5709.4380:2831.1532,6010.1823:2980.2724,5985.5110:2968.0160, +DATA,2,128,32,6000.9394:2975.2069,5988.4485:2969.5108,5966.1683:2958.3935,6063.9088:3006.9226,6103.9434:3026.7479, +DATA,2,256,32,6141.5721:3045.0431,6067.5091:3008.6435,6118.5070:3033.8711,6091.2623:3020.4229,6118.1266:3033.6481, +DATA,2,512,32,6401.8452:3174.2078,6392.4394:3169.6280,6359.2440:3153.0793,6406.9927:3176.7789,6387.8713:3167.3298, +DATA,2,1024,32,6745.2348:3343.1788,6709.8883:3326.5625,6704.9010:3324.1280,6746.4151:3344.6165,6738.6533:3341.5083, +DATA,2,2048,32,6753.1213:3347.2394,6802.1314:3371.5096,6771.2760:3356.1784,6775.6566:3358.3241,6799.4158:3370.0591, +DATA,2,4096,32,6699.9788:3319.3226,6807.7198:3372.6742,6678.8895:3308.7665,6722.1647:3330.1629,6804.4093:3371.0369, +DATA,2,32,64,5792.1542:2872.1825,5645.6744:2799.5439,5705.8927:2829.4015,5808.1637:2880.1191,5826.6508:2889.2834, +DATA,2,64,64,5940.8310:2945.8651,5751.5068:2851.9955,5817.5363:2884.7476,5851.8769:2901.7739,5824.0372:2887.9570, +DATA,2,128,64,5921.6444:2936.3843,6001.9789:2976.1996,5839.3802:2895.5640,5901.2547:2926.2645,5873.8151:2912.5938, +DATA,2,256,64,6145.8596:3047.4571,6106.8944:3028.0549,6098.7687:3024.1812,6115.7494:3032.5204,6138.6729:3043.9451, +DATA,2,512,64,6372.7256:3159.8057,6372.3934:3159.4012,6393.5422:3170.2366,6382.5615:3164.7802,6443.0440:3194.6828, +DATA,2,1024,64,6639.2823:3291.6340,6663.2023:3303.3846,6619.1769:3281.6015,6602.4557:3273.4359,6621.5662:3282.5259, +DATA,2,2048,64,6696.3979:3319.0603,6787.2199:3364.1897,6768.1687:3354.6612,6731.7528:3336.5244,6761.5818:3351.3473, +DATA,2,4096,64,6699.3105:3318.8708,6808.3001:3372.8290,6716.6667:3327.5215,6784.6506:3360.3708,6840.9097:3388.9854, +DATA,2,32,128,5732.4052:2842.5516,5594.2401:2774.0331,5595.8082:2774.8147,5757.7374:2855.1149,5727.0765:2839.9082, +DATA,2,64,128,5926.6732:2938.8559,5686.1286:2819.5834,5649.4162:2801.3649,5810.1708:2881.0915,5834.5517:2893.1795, +DATA,2,128,128,5905.1451:2928.1733,5816.7574:2884.3020,5861.6306:2906.5665,5890.6146:2920.9437,5846.3383:2898.9713, +DATA,2,256,128,6089.7549:3019.4168,6067.3929:3008.5296,6103.2875:3026.3418,6058.9804:3004.3843,6098.0247:3023.7580, +DATA,2,512,128,6414.8479:3180.7241,6414.1780:3180.2478,6404.2556:3175.3899,6386.4573:3166.5811,6392.4568:3169.6065, +DATA,2,1024,128,6595.5467:3270.0130,6633.5896:3288.8530,6592.1256:3268.2548,6606.3361:3275.2048,6580.3852:3262.3735, +DATA,2,2048,128,6704.7835:3321.9740,6705.8456:3323.7156,6741.9508:3341.7592,6680.9725:3311.3757,6742.6817:3341.9025, +DATA,2,4096,128,6649.7355:3294.2180,6728.0812:3333.0634,6669.2122:3303.9852,6596.9251:3267.9795,6751.0648:3344.4654, +DATA,2,32,256,5472.1863:2713.5198,5365.3413:2660.5346,5302.5600:2629.4058,5313.5066:2634.8197,5419.2609:2687.2709, +DATA,2,64,256,5699.5754:2826.2746,5748.2150:2850.3549,5512.8930:2733.6760,5503.8084:2729.1878,5672.1790:2812.6783, +DATA,2,128,256,5699.0252:2825.9791,5702.4890:2827.6769,5679.5311:2816.2442,5733.9347:2843.3111,5737.6136:2845.0845, +DATA,2,256,256,5943.5750:2947.1654,5917.0153:2934.0752,5876.6293:2913.9897,5909.4540:2930.2846,5938.1360:2944.5038, +DATA,2,512,256,6254.7077:3101.2953,6292.4325:3120.0019,6230.8759:3089.4881,6194.9259:3071.5583,6238.8546:3093.4629, +DATA,2,1024,256,6508.6886:3226.9004,6493.8273:3219.6600,6432.9252:3189.3654,6457.6486:3201.7140,6478.5911:3212.0300, +DATA,2,2048,256,6610.2328:3276.4093,6653.6790:3297.9056,6583.8817:3263.2682,6584.8256:3263.8215,6622.9551:3282.7383, +DATA,2,4096,256,6629.1979:3284.3804,6661.1377:3300.0158,6599.8196:3269.6106,6617.6813:3278.4920,6608.7846:3274.3093, +DATA,2,32,512,5271.9264:2614.2088,5183.0991:2570.1610,5172.6082:2564.9666,5155.3845:2556.4250,5276.3541:2616.4062, +DATA,2,64,512,5463.6920:2709.2661,5195.4951:2576.2852,5115.0951:2536.4427,5380.4189:2667.9841,5408.7650:2682.0477, +DATA,2,128,512,5519.0739:2736.6893,5400.7393:2678.0641,5302.8822:2629.5407,5430.0146:2692.5882,5495.9911:2725.2441, +DATA,2,256,512,5666.3795:2809.7545,5604.2225:2778.9238,5614.9143:2784.1642,5631.8919:2792.6441,5619.8053:2786.6712, +DATA,2,512,512,5979.4683:2964.7070,5916.4162:2933.5217,5914.0873:2932.3488,5935.9935:2943.4055,5945.9459:2948.1603, +DATA,2,1024,512,6107.6476:3028.1851,6077.1643:3012.9476,6109.3551:3028.9756,6120.3387:3033.9704,6109.7835:3029.1781, +DATA,2,2048,512,6232.6818:3089.4651,6271.9981:3108.7541,6242.1773:3094.0940,6255.1761:3100.7456,6249.7359:3097.7337, +DATA,2,4096,512,6186.2952:3064.9845,6242.5011:3092.7800,6192.1043:3067.9012,6227.0217:3085.1162,6292.3032:3117.3272, +DATA,2,32,1024,5027.1526:2492.8375,4681.7410:2321.5544,4709.2646:2335.0488,4774.4412:2367.5196,4721.4519:2341.2480, +DATA,2,64,1024,5091.2078:2524.5753,4854.5954:2407.2521,4783.7581:2372.1212,4899.4013:2429.4713,4893.0610:2426.3243, +DATA,2,128,1024,5103.2636:2530.5614,4959.2862:2459.1720,4933.5534:2446.3714,4987.5873:2473.1752,4996.7108:2477.6986, +DATA,2,256,1024,5302.5838:2629.3269,5161.6111:2559.4342,5169.2915:2563.2023,5217.5526:2587.2131,5234.6343:2595.6282, +DATA,2,512,1024,5543.5803:2748.7242,5418.6664:2686.7363,5434.3222:2694.4425,5451.4954:2702.9926,5466.2206:2710.3446, +DATA,2,1024,1024,5723.3503:2837.6254,5697.3768:2824.6959,5692.4070:2822.2817,5687.7417:2820.1234,5721.9057:2836.7295, +DATA,2,2048,1024,5844.7969:2897.0525,5808.7842:2879.3038,5834.3327:2891.9261,5847.7479:2898.5731,5893.8226:2922.2552, +DATA,2,4096,1024,5824.3691:2885.7409,5837.9820:2892.5512,5842.8384:2894.8796,5820.5465:2883.9016,5873.5597:2910.0934, +DATA,4,32,16,6268.7107:1545.1514,5877.7895:1448.7930,6015.8402:1482.8164,6043.1492:1489.5521,6101.8537:1504.0211, +DATA,4,64,16,6308.0399:1554.8249,5859.8238:1444.3651,5940.4348:1464.2134,5922.1755:1459.7202,5794.8295:1428.3364, +DATA,4,128,16,6185.9293:1524.7344,6018.3474:1483.4109,6146.3055:1514.9519,6100.9638:1503.7872,6106.3120:1505.1130, +DATA,4,256,16,6407.5055:1579.2640,6338.0695:1562.1579,6397.0169:1576.7119,6381.3686:1572.8854,6358.3454:1567.1434, +DATA,4,512,16,6637.5379:1635.9678,6563.6597:1617.7069,6565.0999:1618.1675,6621.4020:1631.9806,6662.7196:1641.9609, +DATA,4,1024,16,6829.5505:1683.1315,6780.7730:1671.3688,6823.0658:1681.5014,6806.7297:1677.4522,6797.5592:1675.2633, +DATA,4,2048,16,7085.9853:1745.9972,7098.1654:1748.9092,7136.7429:1758.4248,7092.8934:1747.5708,7105.3687:1750.6717, +DATA,4,4096,16,7076.6646:1742.8464,7008.9127:1726.1421,7016.5677:1728.0318,7009.5753:1726.3064,7063.4095:1739.5228, +DATA,4,32,32,6074.9505:1497.3878,5766.7054:1421.4130,5680.0937:1400.0641,5835.0319:1438.2530,5674.6097:1398.7140, +DATA,4,64,32,6114.8364:1507.2185,5995.8552:1477.8819,5902.6044:1454.8990,5944.6195:1465.2513,6032.9100:1487.0197, +DATA,4,128,32,6115.7636:1507.4371,6007.6757:1480.7999,6079.6133:1498.5096,6093.8636:1502.0321,6172.1665:1521.3216, +DATA,4,256,32,6304.7440:1553.8474,6215.8066:1532.0788,6246.8844:1539.7393,6231.3439:1535.8883,6252.5814:1541.1151, +DATA,4,512,32,6433.1585:1585.5564,6358.5643:1567.2108,6421.9940:1582.7845,6400.9195:1577.6231,6429.5642:1584.6764, +DATA,4,1024,32,6727.0337:1657.6540,6738.6557:1660.8828,6750.1555:1663.7308,6745.7572:1662.4761,6769.0047:1668.1534, +DATA,4,2048,32,6897.1236:1699.4033,6914.8549:1703.7521,6920.7382:1705.2170,6873.5464:1693.6773,6870.4308:1692.7637, +DATA,4,4096,32,6923.1871:1705.2557,6964.7645:1715.3924,6978.5829:1718.6901,7019.4066:1728.7827,7077.3213:1743.0592, +DATA,4,32,64,5893.4016:1452.6360,5681.2801:1400.3581,5890.4807:1451.9200,5866.9453:1446.1211,5661.8446:1395.5653, +DATA,4,64,64,6181.7841:1523.7068,6009.0310:1481.1198,5984.6757:1475.1232,6008.6425:1481.0409,5951.9353:1467.0543, +DATA,4,128,64,6027.1183:1485.5861,5902.5567:1454.8822,5950.9824:1466.8234,5965.2163:1470.3260,5912.7906:1457.4040, +DATA,4,256,64,6276.0809:1546.9199,6147.5934:1515.2672,6233.4496:1536.4088,6191.6874:1526.1312,6194.5389:1526.8466, +DATA,4,512,64,6458.7748:1591.7763,6447.0363:1588.9685,6439.0908:1587.0707,6458.0899:1591.6973,6482.3276:1597.6676, +DATA,4,1024,64,6804.2443:1676.9302,6804.1276:1676.8599,6852.3303:1688.7422,6823.8659:1681.6852,6799.6973:1675.9455, +DATA,4,2048,64,6961.1229:1715.1698,6981.0563:1720.0525,6978.0171:1719.3614,6965.7790:1716.2610,6995.8250:1723.7697, +DATA,4,4096,64,6865.6256:1690.9298,6926.5869:1705.8720,6949.8434:1711.6362,6921.3996:1704.6667,6927.5808:1706.1938, +DATA,4,32,128,6204.0023:1529.1985,5738.5631:1414.4766,5857.1145:1443.6977,5909.1169:1456.5145,5836.2912:1438.5626, +DATA,4,64,128,6162.6881:1519.0059,5774.7313:1423.3794,5857.9135:1443.8698,5879.5884:1449.2239,5857.5456:1443.7856, +DATA,4,128,128,6175.8470:1522.2380,5931.8234:1462.0968,5946.4204:1465.7024,5912.4935:1457.3350,5923.6423:1460.0729, +DATA,4,256,128,6220.6454:1533.2059,6144.1026:1514.4105,6122.8466:1509.1766,6182.3443:1523.8289,6203.2312:1528.9641, +DATA,4,512,128,6532.9166:1610.1463,6440.4579:1587.2589,6446.7751:1588.9491,6493.9154:1600.5495,6475.8905:1596.1057, +DATA,4,1024,128,6758.5584:1665.5339,6732.0175:1659.0856,6782.5660:1671.5137,6756.3799:1665.0013,6763.4211:1666.8818, +DATA,4,2048,128,6763.2442:1666.4194,6757.4193:1664.9968,6766.7855:1667.3039,6760.3911:1665.2468,6840.2862:1685.4173, +DATA,4,4096,128,6870.4285:1692.0538,6970.8639:1716.8328,6945.1529:1710.4502,6885.0433:1695.6858,6989.2429:1721.2878, +DATA,4,32,256,5824.5611:1435.6698,5457.2934:1345.1477,5547.2272:1367.3150,5458.3329:1345.4043,5398.6776:1330.6983, +DATA,4,64,256,5960.3234:1469.1211,5473.5948:1349.1533,5618.2332:1384.8042,5742.9015:1415.5372,5746.6640:1416.4632, +DATA,4,128,256,6012.4062:1481.9488,5705.3946:1406.2945,5756.0440:1418.7661,5753.4943:1418.1477,5742.7079:1415.4754, +DATA,4,256,256,6065.0260:1494.9047,5863.3908:1445.2063,5916.4855:1458.3043,5893.5805:1452.6064,5876.7549:1448.4977, +DATA,4,512,256,6372.3674:1570.5584,6285.7876:1549.3177,6304.7310:1553.9064,6311.7471:1555.6373,6273.2353:1546.1919, +DATA,4,1024,256,6653.7658:1639.4014,6598.5577:1626.1983,6655.8907:1640.3579,6617.2146:1630.7977,6587.7273:1623.5125, +DATA,4,2048,256,6727.2334:1657.4362,6763.2648:1666.4410,6797.2063:1674.7226,6733.5773:1659.0706,6709.0983:1653.1774, +DATA,4,4096,256,6681.5207:1645.5775,6695.8217:1649.0871,6729.5061:1657.4074,6690.3407:1647.8046,6646.3950:1637.0520, +DATA,4,32,512,5566.6920:1372.1116,5103.1556:1257.8565,5223.1961:1287.4466,5288.0978:1303.4414,5235.6812:1290.5215, +DATA,4,64,512,5626.7637:1386.9011,5210.5570:1284.3260,5262.9434:1297.2308,5166.8371:1273.5486,5314.0469:1309.8318, +DATA,4,128,512,5767.6067:1421.6224,5490.6450:1353.3516,5510.0199:1358.1103,5468.7059:1347.9448,5507.9826:1357.6134, +DATA,4,256,512,5882.1460:1449.8429,5604.3001:1381.3592,5659.8076:1395.0216,5673.0013:1398.2412,5650.1684:1392.3686, +DATA,4,512,512,6101.2008:1503.7398,5938.2941:1463.6015,5991.4786:1476.7199,5980.1390:1473.6624,5953.8312:1467.3811, +DATA,4,1024,512,6289.3398:1550.0221,6221.0207:1533.3044,6274.1932:1546.2581,6256.9185:1541.9968,6248.6965:1540.0356, +DATA,4,2048,512,6403.0945:1577.6886,6396.5493:1576.0517,6406.1632:1578.5177,6407.0900:1578.7188,6391.3660:1574.7811, +DATA,4,4096,512,6354.1405:1565.0312,6431.8142:1584.1267,6429.3731:1583.6529,6401.0258:1576.5944,6471.3207:1594.1994, +DATA,4,32,1024,5297.4756:1305.7535,4696.8621:1157.7116,4833.1265:1191.2973,4788.9233:1180.4037,4864.7961:1199.1057, +DATA,4,64,1024,5434.9215:1339.6259,4952.8034:1220.7830,4957.5266:1221.9554,4860.0735:1197.9349,4866.3689:1199.4897, +DATA,4,128,1024,5435.9520:1339.8622,5001.8251:1232.8580,5019.2162:1237.1625,5041.8899:1242.7449,5047.0177:1243.9993, +DATA,4,256,1024,5527.1309:1362.3493,5260.6909:1296.6364,5327.4455:1313.1107,5267.6347:1298.3716,5333.7962:1314.6682, +DATA,4,512,1024,5704.8663:1406.1322,5502.0763:1356.1200,5545.4963:1366.8110,5530.8348:1362.9814,5531.3952:1363.3365, +DATA,4,1024,1024,5840.6035:1439.4336,5710.6736:1407.3672,5764.8565:1420.7583,5765.9452:1421.0422,5761.2139:1419.4174, +DATA,4,2048,1024,5998.7280:1478.0980,5937.4113:1463.0652,5955.6920:1467.4449,5974.5568:1471.7059,5956.2879:1467.6437, +DATA,4,4096,1024,5947.0917:1464.8578,5974.8328:1471.7509,6043.0103:1488.4577,6018.6945:1482.3917,6046.7420:1489.4660, +DATA,8,32,16,6171.2434:755.4594,6041.4708:739.5729,5820.5775:712.5328,5847.2415:715.7960,5851.2806:716.2901, +DATA,8,64,16,6280.8447:768.8756,6275.4041:768.1980,6096.9581:746.3630,6045.3597:740.0401,6180.7032:756.6120, +DATA,8,128,16,6235.3057:763.2937,6246.6881:764.6933,6043.7462:739.8380,6189.3253:757.6557,6117.8941:748.9186, +DATA,8,256,16,6420.2460:785.9027,6358.6884:778.3734,6268.2736:767.3184,6232.3398:762.9193,6316.9888:773.2843, +DATA,8,512,16,6666.7488:816.0911,6642.7411:813.1277,6573.7419:804.6793,6631.1323:811.7282,6604.3321:808.4546, +DATA,8,1024,16,6927.3574:847.9326,6916.1715:846.5070,6897.1915:844.1849,6941.4694:849.6178,6911.7922:845.9946, +DATA,8,2048,16,7096.4149:868.3971,7035.6314:860.8230,7107.0731:869.7030,7071.5497:865.3405,7017.2015:858.7050, +DATA,8,4096,16,7002.1507:856.4805,6989.3477:854.9627,7101.8518:868.7353,7110.5374:869.7894,7099.6771:868.4278, +DATA,8,32,32,6121.9763:749.4285,5976.3827:731.6057,5777.4145:707.2492,5828.5502:713.5086,5883.5670:720.2433, +DATA,8,64,32,6446.2865:789.1226,6172.7915:755.6415,5751.1599:704.0272,5889.4332:720.9551,6000.2683:734.5274, +DATA,8,128,32,6222.7646:761.7530,6051.5160:740.7992,5933.1373:726.3057,6079.0196:744.1528,6078.6635:744.1160, +DATA,8,256,32,6348.0133:777.0698,6343.0084:776.4645,6337.4746:775.7863,6298.0251:770.9177,6370.7674:779.8569, +DATA,8,512,32,6595.8240:807.3575,6526.2623:798.8804,6512.1270:797.1911,6505.5244:796.3256,6518.8737:797.9561, +DATA,8,1024,32,6941.7981:849.6761,6906.4850:845.3508,6871.9430:841.1199,6881.6569:842.3105,6900.1663:844.5814, +DATA,8,2048,32,6980.9380:854.2105,6928.4533:847.8645,6978.9547:854.0116,6992.9783:855.7488,6981.6427:854.3406, +DATA,8,4096,32,7039.2269:861.0588,7059.6947:863.5688,7087.0732:866.8930,7099.9162:868.5089,7100.4232:868.5699, +DATA,8,32,64,6295.2937:770.6393,5965.9941:730.3342,5757.4960:704.8082,5949.1045:728.2668,5747.1730:703.5429, +DATA,8,64,64,6283.6196:769.2096,6067.8461:742.7969,5868.1392:718.3523,5941.8545:727.3743,5860.1024:717.3681, +DATA,8,128,64,6177.0548:756.1620,6075.6877:743.7569,5991.6681:733.4683,6037.0560:739.0238,6085.6054:744.9651, +DATA,8,256,64,6302.7944:771.5425,6238.4596:763.6500,6262.3691:766.5986,6285.8952:769.4814,6260.2396:766.3353, +DATA,8,512,64,6553.8942:802.2408,6536.7246:800.1635,6513.4923:797.3073,6493.6043:794.8670,6512.0651:797.1090, +DATA,8,1024,64,6865.7138:840.3292,6789.1877:830.9624,6847.6305:838.1181,6803.5950:832.7429,6802.7754:832.6359, +DATA,8,2048,64,7025.8389:859.8097,6986.1059:854.9100,7005.3278:857.2563,7033.5543:860.7117,7057.2258:863.5833, +DATA,8,4096,64,6984.5759:854.4125,6941.4573:849.1517,6962.3547:851.6645,6939.3333:848.8390,7011.8032:857.7291, +DATA,8,32,128,6272.9581:767.9107,6072.6608:743.3913,5728.5825:701.2707,5835.2262:714.3255,5961.1126:729.7368, +DATA,8,64,128,6163.8323:754.5507,5956.1110:729.1192,5767.3572:706.0150,5936.5048:726.7172,5873.4050:718.9861, +DATA,8,128,128,6099.3781:746.6558,6086.8057:745.1186,5984.0665:732.5333,6023.9728:737.4203,6030.6342:738.2384, +DATA,8,256,128,6314.3681:772.8656,6236.7738:763.4696,6154.8442:753.2654,6184.9205:757.1216,6242.3582:764.1568, +DATA,8,512,128,6641.4348:812.9570,6552.3692:802.0659,6521.8803:798.3358,6502.4486:795.9562,6532.9047:799.6722, +DATA,8,1024,128,6859.3879:839.5876,6755.0432:826.7997,6770.5852:828.7443,6754.6328:826.7270,6811.0817:833.6484, +DATA,8,2048,128,6947.6812:850.2513,6914.2292:846.1426,6937.2833:848.9382,6909.8046:845.5697,6905.7283:845.0906, +DATA,8,4096,128,6980.8747:853.9745,7043.2820:861.5979,7013.0562:857.8836,7041.0254:861.2663,7047.8901:862.1133, +DATA,8,32,256,6178.1710:756.3081,5654.4437:692.1951,5605.3963:686.1895,5644.2962:690.9531,5704.0756:698.2714, +DATA,8,64,256,6166.0689:754.8218,5924.0837:725.1987,5726.0508:700.9514,5739.6179:702.6135,5777.8376:707.2947, +DATA,8,128,256,6022.7251:737.2430,5924.0651:725.1930,5769.5903:706.2725,5828.3771:713.4821,5805.3987:710.5373, +DATA,8,256,256,6268.6429:767.3740,6131.9007:750.6204,6044.4160:739.9082,6118.2945:748.9589,6089.5757:745.4471, +DATA,8,512,256,6248.4757:764.8496,6213.6023:760.5927,6129.1227:750.1606,6158.8871:753.8808,6158.5624:753.8557, +DATA,8,1024,256,6622.1991:810.5292,6565.9648:803.6148,6573.2960:804.5635,6599.9704:807.7877,6622.8130:810.6263, +DATA,8,2048,256,6814.8203:833.9596,6766.0536:827.9928,6782.3145:829.9902,6838.5033:836.8422,6833.8623:836.2679, +DATA,8,4096,256,6865.2672:839.9344,6879.5421:841.5715,6902.7787:844.3813,6860.9273:839.4365,6902.1547:844.4620, +DATA,8,32,512,5630.5629:689.2724,5531.8308:677.1841,5233.3011:640.6399,5314.3507:650.5623,5254.4182:643.2253, +DATA,8,64,512,5654.4551:692.1904,5428.5692:664.5393,5131.0344:628.1142,5284.6060:646.9157,5324.3980:651.7875, +DATA,8,128,512,5915.2818:724.1190,5676.2792:694.7639,5406.6776:661.7494,5478.1609:670.6097,5511.5113:674.6961, +DATA,8,256,512,5952.7128:728.6855,5774.9619:706.9296,5656.4519:692.4000,5707.3756:698.6638,5723.5693:700.6551, +DATA,8,512,512,6140.8354:751.7043,6055.2982:741.2255,5978.6183:731.8359,6015.2904:736.3292,6021.3815:737.0793, +DATA,8,1024,512,6292.4045:770.1811,6301.1440:771.2688,6253.2711:765.3326,6240.1368:763.7897,6257.8031:765.8453, +DATA,8,2048,512,6450.6669:789.3730,6417.0754:785.2970,6412.7396:784.7760,6433.8927:787.3282,6426.1870:786.4238, +DATA,8,4096,512,6474.8563:792.1157,6383.1939:780.8682,6392.5134:782.0145,6473.6823:791.8005,6474.8969:792.0730, +DATA,8,32,1024,5383.6608:659.0479,5075.2023:621.2876,4704.1324:575.8623,4762.0391:582.9511,4852.7280:594.0523, +DATA,8,64,1024,5435.8489:665.4314,5187.1570:634.9906,4895.3138:599.2622,4900.5015:599.8976,4921.4992:602.4694, +DATA,8,128,1024,5461.3530:668.5501,5243.6628:641.9037,4969.0638:608.2889,5065.8935:620.1375,5091.1685:623.2350, +DATA,8,256,1024,5550.6617:679.4745,5392.5623:660.1226,5254.8807:643.2577,5258.7201:643.7387,5284.5410:646.8905, +DATA,8,512,1024,5777.9574:707.2780,5669.1993:693.9545,5558.1857:680.3781,5598.8909:685.3490,5584.6672:683.6008, +DATA,8,1024,1024,5943.8386:727.5402,5894.8274:721.5312,5801.4120:710.0908,5826.2006:712.9899,5805.3670:710.5649, +DATA,8,2048,1024,5993.5615:733.4802,5976.8573:731.4744,5939.7024:726.9443,5949.2293:728.0520,5998.8356:734.1274, +DATA,8,4096,1024,6076.2827:743.3529,6063.8033:741.8461,6047.1604:739.8006,6081.7090:744.0166,6050.8913:740.2520, +DATA,128,32,16,6365.1507:48.3578,6482.5749:49.2499,6517.2370:49.5132,6294.0870:47.8180,6399.7954:48.6210, +DATA,128,64,16,6174.8025:46.9114,6480.4857:49.2338,6351.8767:48.2565,6213.4779:47.2052,6279.9723:47.7102, +DATA,128,128,16,6282.7279:47.7311,6394.6849:48.5820,6261.4765:47.5698,6306.2321:47.9075,6299.8325:47.8613, +DATA,128,256,16,6507.5517:49.4367,6394.5094:48.5796,6403.5284:48.6489,6445.2701:48.9644,6454.7153:49.0378, +DATA,128,512,16,6788.3694:51.5706,6715.5799:51.0171,6752.8474:51.3006,6769.7245:51.4292,6768.0578:51.4165, +DATA,128,1024,16,6989.6985:53.0958,6988.6509:53.0873,6977.9056:53.0047,7017.3643:53.3064,7029.9048:53.3992, +DATA,128,2048,16,7167.4992:54.4348,7149.4272:54.2985,7162.0587:54.3938,7158.1824:54.3672,7180.9830:54.5380, +DATA,128,4096,16,7105.5595:53.9473,7101.8588:53.9190,7135.7103:54.1763,7165.8019:54.4035,7190.6612:54.5840, +DATA,128,32,32,6236.4090:47.3797,6257.7320:47.5416,6391.2355:48.5560,6307.6934:47.9212,6197.4579:47.0838, +DATA,128,64,32,6497.6750:49.3643,6094.3122:46.2999,6237.7572:47.3896,6208.6806:47.1688,6266.3468:47.6060, +DATA,128,128,32,6245.0787:47.4449,6378.0230:48.4556,6329.6457:48.0879,6365.1696:48.3569,6267.1673:47.6131, +DATA,128,256,32,6388.8536:48.5360,6395.4902:48.5877,6351.3556:48.2515,6322.8137:48.0347,6386.1574:48.5159, +DATA,128,512,32,6587.3367:50.0434,6627.6980:50.3496,6605.3406:50.1787,6549.3163:49.7540,6582.4080:50.0056, +DATA,128,1024,32,6895.1823:52.3775,6879.6208:52.2600,6896.7468:52.3910,6900.3753:52.4124,6913.8034:52.5188, +DATA,128,2048,32,7036.1443:53.4400,7103.4755:53.9486,7027.1906:53.3684,7094.3943:53.8812,7078.8946:53.7645, +DATA,128,4096,32,7109.6597:53.9775,7107.1875:53.9620,7142.5723:54.2078,7112.4588:54.0026,7078.7511:53.7441, +DATA,128,32,64,6258.6992:47.5491,6269.6740:47.6324,6040.0264:45.8877,6283.4716:47.7372,6062.2604:46.0567, +DATA,128,64,64,6349.0982:48.2352,6362.8748:48.3400,6196.2593:47.0744,6087.0223:46.2443,6081.8540:46.2053, +DATA,128,128,64,6188.9935:47.0187,6273.0478:47.6578,6195.8511:47.0709,6205.1138:47.1418,6160.5996:46.8035, +DATA,128,256,64,6389.4053:48.5403,6359.9912:48.3178,6381.5573:48.4815,6360.8705:48.3245,6366.2591:48.3649, +DATA,128,512,64,6534.0699:49.6379,6540.3656:49.6857,6540.4501:49.6867,6545.2142:49.7231,6540.5396:49.6868, +DATA,128,1024,64,6832.5891:51.9058,6868.1809:52.1726,6838.2250:51.9446,6827.7367:51.8657,6813.9284:51.7597, +DATA,128,2048,64,6894.0989:52.3600,6895.3083:52.3672,6882.3662:52.2709,6880.5333:52.2560,6915.7479:52.5258, +DATA,128,4096,64,6979.4265:52.9890,6998.9065:53.1360,6983.9998:53.0238,7001.8551:53.1604,7007.8182:53.2055, +DATA,128,32,128,6234.4634:47.3650,6114.2942:46.4518,6230.8670:47.3375,6165.8836:46.8439,6088.5992:46.2568, +DATA,128,64,128,6102.2075:46.3597,6027.8147:45.7945,6184.3321:46.9839,6276.6997:47.6855,6144.2870:46.6795, +DATA,128,128,128,6091.9486:46.2821,6068.6919:46.1053,6042.3825:45.9052,6093.3975:46.2928,6111.1485:46.4273, +DATA,128,256,128,6366.3844:48.3661,6378.1139:48.4552,6322.6123:48.0339,6321.1558:48.0224,6328.1078:48.0747, +DATA,128,512,128,6613.5097:50.2413,6673.3714:50.6958,6678.5748:50.7359,6628.4543:50.3557,6634.0551:50.3978, +DATA,128,1024,128,6773.8468:51.4565,6821.0422:51.8136,6813.5429:51.7582,6810.9701:51.7379,6789.8125:51.5756, +DATA,128,2048,128,6953.7418:52.8071,6939.4994:52.7046,6978.7313:53.0042,6962.0003:52.8757,6961.1958:52.8704, +DATA,128,4096,128,7021.1482:53.3071,7111.0969:53.9898,7075.9972:53.7197,7038.3807:53.4376,7124.6276:54.0911, +DATA,128,32,256,5998.9612:45.5757,6113.7831:46.4480,5988.4308:45.4957,6272.2710:47.6522,6164.8374:46.8360, +DATA,128,64,256,6192.0661:47.0425,6219.7294:47.2529,6043.4562:45.9134,6007.8914:45.6434,6175.2336:46.9145, +DATA,128,128,256,6030.4247:45.8139,6048.7715:45.9539,6050.6305:45.9678,6130.9628:46.5780,6064.6737:46.0748, +DATA,128,256,256,6218.0951:47.2400,6194.5035:47.0598,6194.8640:47.0637,6248.9375:47.4744,6270.5817:47.6378, +DATA,128,512,256,6462.6747:49.0981,6419.9089:48.7706,6443.0890:48.9481,6422.0287:48.7872,6416.5725:48.7458, +DATA,128,1024,256,6733.0551:51.1465,6755.1144:51.3131,6748.8807:51.2678,6750.9672:51.2765,6741.8647:51.2129, +DATA,128,2048,256,6814.3743:51.7547,6799.6292:51.6348,6837.1514:51.9264,6830.2518:51.8761,6850.3832:52.0275, +DATA,128,4096,256,6800.2789:51.6301,6811.6493:51.7172,6826.4930:51.8296,6847.6399:51.9901,6815.9023:51.7486, +DATA,128,32,512,5972.1007:45.3716,5998.3949:45.5714,6014.3232:45.6924,5870.0125:44.5961,5712.1467:43.3967, +DATA,128,64,512,5835.7655:44.3355,5843.7900:44.3966,5855.7683:44.4876,5923.3845:45.0013,5926.6774:45.0266, +DATA,128,128,512,5870.2238:44.5968,5788.3567:43.9749,5871.8797:44.6101,5777.9394:43.8962,5790.4117:43.9908, +DATA,128,256,512,5976.6411:45.4054,5961.6031:45.2898,5960.9570:45.2854,5991.6419:45.5189,5938.2605:45.1131, +DATA,128,512,512,6187.7040:47.0069,6138.5797:46.6336,6151.8457:46.7351,6142.0931:46.6628,6142.7367:46.6648, +DATA,128,1024,512,6320.7063:48.0135,6351.4486:48.2488,6381.5306:48.4752,6373.1779:48.4120,6367.8248:48.3723, +DATA,128,2048,512,6438.7933:48.9035,6409.9383:48.6837,6439.1937:48.9051,6447.5976:48.9693,6434.0030:48.8662, +DATA,128,4096,512,6528.1843:49.5661,6545.9457:49.7066,6599.0138:50.1031,6531.6913:49.5928,6566.4654:49.8564, +DATA,128,32,1024,5574.2384:42.3490,5520.3324:41.9395,5405.9983:41.0708,5517.2701:41.9162,5659.2140:42.9946, +DATA,128,64,1024,5471.6097:41.5693,5530.7807:42.0186,5511.0365:41.8688,5523.0412:41.9598,5515.0114:41.8989, +DATA,128,128,1024,5502.8943:41.8063,5481.9797:41.6478,5481.8467:41.6470,5513.5040:41.8873,5549.9916:42.1640, +DATA,128,256,1024,5619.4046:42.6910,5587.4640:42.4492,5591.2760:42.4776,5584.0108:42.4224,5630.3908:42.7749, +DATA,128,512,1024,5764.5096:43.7934,5763.6710:43.7864,5769.7377:43.8321,5731.1233:43.5391,5745.3525:43.6471, +DATA,128,1024,1024,5909.5511:44.8914,5914.1402:44.9252,5901.8455:44.8265,5918.4482:44.9591,5906.0619:44.8627, +DATA,128,2048,1024,6033.9779:45.8276,6048.8641:45.9439,6046.3422:45.9229,6057.1156:46.0047,6093.5036:46.2808, +DATA,128,4096,1024,6063.7011:46.0420,6086.0667:46.2117,6073.8763:46.1172,6105.8860:46.3620,6039.6300:45.8593, diff --git a/tools/rw-benchmark/example/main.csv b/tools/rw-benchmark/example/main.csv new file mode 100644 index 000000000000..1887b103a72f --- /dev/null +++ b/tools/rw-benchmark/example/main.csv @@ -0,0 +1,450 @@ +type,ratio,conn_size,value_size,iter1,iter2,iter3,iter4,iter5,comment +PARAM,,,,,,,,,"key_size=256,key_space_size=65536,backend_size=21474836480,range_limit=100" +DATA,.0078,32,16,275.2097:35699.6517,275.7598:35770.8341,276.6643:35888.4949,280.6877:36410.3105,282.7565:36678.4655, +DATA,.0078,64,16,287.9189:37347.7926,285.7872:37070.6766,291.0218:37750.2837,291.0041:37746.9637,295.0926:38277.9731, +DATA,.0078,128,16,294.2808:38170.9881,295.0007:38265.7622,295.6440:38344.7534,299.1150:38799.1111,300.5459:38984.9335, +DATA,.0078,256,16,303.7108:39389.2514,304.3208:39472.6254,305.8598:39669.6816,308.2154:39973.2671,311.7550:40435.6755, +DATA,.0078,512,16,316.2363:41009.9776,317.8016:41209.6087,316.0046:40975.1872,318.5808:41312.1544,320.3262:41538.6970, +DATA,.0078,1024,16,332.8710:43138.9717,333.4443:43215.6988,332.6980:43116.0301,334.0257:43289.3462,337.9708:43806.3683, +DATA,.0078,2048,16,339.4003:43933.3206,338.7180:43847.0795,343.4526:44469.4587,342.9706:44405.8955,341.7929:44250.1950, +DATA,.0078,4096,16,346.4605:44747.4009,352.1168:45480.9005,350.5628:45279.4111,345.3134:44597.2115,349.5822:45158.7009, +DATA,.0078,32,32,275.0193:35674.7141,277.1508:35950.7877,281.3887:36501.3467,279.8863:36306.5047,282.4981:36645.3359, +DATA,.0078,64,32,283.7013:36801.1819,283.8610:36819.9436,289.6172:37567.2253,288.5556:37429.2563,292.8362:37984.2122, +DATA,.0078,128,32,294.4567:38195.6540,296.0793:38405.8347,298.1005:38663.8323,300.0342:38918.2497,300.9633:39038.7599, +DATA,.0078,256,32,301.8298:39137.8403,304.6975:39524.3599,306.8154:39798.0549,309.3178:40121.2406,308.7541:40044.3971, +DATA,.0078,512,32,319.3108:41404.6442,318.5293:41309.5251,320.3045:41529.7942,324.1827:42043.2607,322.5172:41818.7291, +DATA,.0078,1024,32,333.8348:43270.7514,333.1346:43182.6308,332.1604:43055.9310,334.5434:43356.5027,334.1247:43318.8554, +DATA,.0078,2048,32,340.8205:44129.3757,345.8192:44780.7407,342.0497:44279.1953,344.9351:44652.8148,338.3354:43811.8068, +DATA,.0078,4096,32,343.3454:44346.7987,349.4686:45135.1009,347.1277:44832.8434,348.4825:45040.2478,343.4122:44357.9805, +DATA,.0078,32,64,273.6960:35503.2176,278.2512:36093.8802,279.2134:36217.3143,280.4898:36384.5395,281.5798:36525.9221, +DATA,.0078,64,64,281.1627:36471.3468,283.8437:36817.9481,288.6079:37437.2055,290.8906:37732.4296,291.6838:37835.1874, +DATA,.0078,128,64,293.4843:38067.0915,296.7299:38490.2242,298.9975:38781.6273,300.7443:39010.0225,302.3922:39222.1024, +DATA,.0078,256,64,303.5753:39377.1749,303.5387:39369.8022,306.3454:39729.8125,308.6153:40027.9769,312.2730:40501.2225, +DATA,.0078,512,64,319.2198:41364.5159,319.9723:41491.8520,319.5366:41433.6028,321.8378:41738.0482,320.7581:41594.6083, +DATA,.0078,1024,64,331.7395:42997.6671,333.4211:43208.0154,331.6439:42981.8714,332.8800:43149.6592,335.7168:43508.3133, +DATA,.0078,2048,64,342.4190:44329.3981,340.2775:44053.0714,343.8498:44519.0973,343.9409:44533.1212,340.6213:44107.6273, +DATA,.0078,4096,64,342.7504:44271.3278,349.5100:45157.3860,349.2192:45123.9378,343.1603:44329.7203,341.8138:44154.3418, +DATA,.0078,32,128,276.0237:35805.0432,278.7092:36153.0775,282.3339:36623.0086,282.7148:36673.2140,284.3253:36881.3467, +DATA,.0078,64,128,286.6108:37177.1531,290.0107:37615.0286,290.8883:37733.3319,293.0064:38007.7860,293.8810:38119.3057, +DATA,.0078,128,128,295.2808:38299.2052,294.8694:38246.0939,297.9294:38646.6062,299.1149:38797.3794,301.5804:39116.2575, +DATA,.0078,256,128,301.8580:39149.8916,303.1494:39321.1440,303.2555:39335.7662,305.6285:39639.6200,308.8066:40052.9529, +DATA,.0078,512,128,318.6882:41317.1037,321.2140:41642.4738,317.7248:41122.9964,322.2201:41785.7534,322.4951:41820.8698, +DATA,.0078,1024,128,334.5421:43358.9046,331.9352:43032.1416,334.5543:43371.7474,331.5358:42973.2987,334.8756:43398.8535, +DATA,.0078,2048,128,342.3097:44298.8574,345.7186:44749.3243,343.4698:44441.5424,345.7264:44777.0666,341.7869:44252.1595, +DATA,.0078,4096,128,340.9718:44042.5528,349.8647:45194.2669,343.1470:44338.7374,346.8138:44802.6950,350.1632:45236.2235, +DATA,.0078,32,256,275.5737:35746.8566,276.0749:35811.8470,279.1194:36206.7247,281.2712:36480.2249,281.3299:36493.6403, +DATA,.0078,64,256,288.2689:37392.9227,288.1403:37375.0692,291.7872:37848.1769,292.5181:37943.4677,294.5132:38203.7281, +DATA,.0078,128,256,293.1003:38020.6465,293.4918:38069.2994,298.0448:38658.9890,299.9354:38905.4805,301.4538:39100.7916, +DATA,.0078,256,256,301.1580:39055.8325,303.5139:39369.2626,307.0305:39818.7305,307.6934:39908.8604,308.9708:40074.5705, +DATA,.0078,512,256,317.2092:41127.4023,317.0331:41084.0190,319.2608:41398.9493,323.4883:41945.6835,321.8842:41745.5626, +DATA,.0078,1024,256,333.0317:43173.0446,331.1486:42931.2680,333.3159:43170.1891,333.2240:43194.0654,335.1520:43442.8120, +DATA,.0078,2048,256,338.8338:43848.6440,336.8001:43623.9365,341.7408:44257.4055,338.7314:43853.3665,337.7926:43715.2865, +DATA,.0078,4096,256,340.4761:43995.5416,342.5319:44247.0038,345.5930:44644.5580,349.0593:45083.1749,346.1013:44714.9314, +DATA,.0078,32,512,272.6949:35373.5485,272.7176:35376.4741,276.8389:35911.1424,278.4377:36118.5876,278.5131:36128.2284, +DATA,.0078,64,512,285.0156:36970.3906,284.2273:36867.8524,286.1535:37116.3294,290.6028:37694.7604,289.0264:37490.9252, +DATA,.0078,128,512,292.7090:37966.5072,291.3096:37783.8426,296.2550:38428.1478,298.0867:38666.3027,299.2080:38810.2528, +DATA,.0078,256,512,302.4821:39228.8731,299.3900:38830.7354,302.4234:39225.9329,305.3936:39611.4129,306.9405:39810.2137, +DATA,.0078,512,512,314.6484:40807.2567,315.3620:40893.5373,313.8774:40697.6302,318.9439:41354.7466,318.5730:41307.6812, +DATA,.0078,1024,512,329.9824:42790.9644,327.3040:42423.8200,327.8066:42489.5048,329.1217:42661.8397,330.1478:42795.1225, +DATA,.0078,2048,512,338.9896:43885.2591,338.0850:43779.8301,339.5640:43965.6572,336.3054:43536.6865,338.5086:43826.0616, +DATA,.0078,4096,512,340.1657:43947.7745,346.0475:44713.2064,346.8084:44784.4293,343.9651:44433.1989,343.3289:44341.2887, +DATA,.0078,32,1024,274.8114:35647.8726,276.6143:35881.9106,277.0021:35926.7511,279.1139:36206.1877,278.3706:36107.3975, +DATA,.0078,64,1024,283.0836:36719.9496,283.3425:36752.5216,284.8597:36949.8077,283.5269:36777.1810,284.3391:36882.1664, +DATA,.0078,128,1024,291.8375:37854.4825,290.8814:37721.5980,293.6301:38088.1741,293.7587:38103.5393,298.1541:38675.0544, +DATA,.0078,256,1024,300.5121:38970.9807,297.8686:38633.9983,299.2346:38811.3341,301.5604:39087.9725,303.0813:39310.6343, +DATA,.0078,512,1024,313.6553:40663.9256,312.3602:40502.5085,313.6099:40672.6085,315.7968:40959.1526,316.5640:41042.4349, +DATA,.0078,1024,1024,327.0396:42379.9418,326.5781:42330.1677,323.3817:41913.5145,325.5285:42189.7072,330.2433:42806.9741, +DATA,.0078,2048,1024,335.2082:43401.3700,337.8374:43739.0018,338.6336:43828.4702,336.5021:43573.5302,335.4335:43432.8548, +DATA,.0078,4096,1024,336.2695:43449.0090,334.3879:43207.6635,340.2259:43950.8570,343.9760:44434.1404,336.4209:43463.2486, +DATA,.1250,32,16,2642.4101:21048.8101,2683.8498:21378.8107,2717.4822:21646.7774,2748.0396:21890.2686,2803.6697:22333.2734, +DATA,.1250,64,16,2871.5225:22804.8490,2889.2521:23014.3763,2960.8097:23584.6451,2964.5690:23614.3717,3018.2908:24042.0513, +DATA,.1250,128,16,3177.4529:25310.1733,3224.8515:25687.4919,3265.0928:26007.5301,3286.3523:26176.5199,3344.7597:26642.9095, +DATA,.1250,256,16,3532.9824:28141.3041,3575.0949:28475.0404,3609.6692:28752.1172,3617.2529:28812.4387,3681.5507:29324.1288, +DATA,.1250,512,16,4020.0970:31986.7152,4042.7446:32191.4786,4021.9946:32034.7264,4093.6509:32604.4062,4028.7082:32082.0355, +DATA,.1250,1024,16,4145.1583:33000.5639,4179.8948:33276.2559,4148.3422:33018.5822,4174.4767:33227.5528,4148.2375:33016.2913, +DATA,.1250,2048,16,4159.0700:33078.4258,4226.6842:33614.3148,4173.3854:33189.1723,4161.7783:33090.2639,4206.9917:33457.5030, +DATA,.1250,4096,16,4124.1788:32738.7765,4122.8804:32722.4691,4150.7992:32946.4340,4155.8743:32988.2027,4153.3874:32966.4764, +DATA,.1250,32,32,2550.2248:20314.4862,2567.4565:20451.6029,2623.0663:20894.7346,2644.5496:21065.7793,2692.7216:21449.5422, +DATA,.1250,64,32,2848.0655:22685.9912,2888.5823:23009.5728,2932.7943:23361.2844,2960.3209:23580.3950,3021.5594:24068.8884, +DATA,.1250,128,32,3168.7222:25240.3318,3208.0921:25551.9371,3258.6859:25957.0811,3284.2991:26159.4821,3315.2348:26405.8979, +DATA,.1250,256,32,3534.1605:28143.8662,3595.0599:28630.3621,3628.7970:28905.4159,3634.7070:28949.9644,3642.4016:29012.2450, +DATA,.1250,512,32,4000.3487:31859.2096,4022.2298:32028.4203,4018.1109:31998.8993,4042.1220:32183.7513,4031.1212:32104.7229, +DATA,.1250,1024,32,4149.2057:33030.7149,4141.8527:32968.1033,4124.5746:32832.1585,4146.0052:33006.7477,4157.2555:33094.7848, +DATA,.1250,2048,32,4152.7342:33024.7503,4176.2918:33218.4362,4170.9946:33173.4702,4136.1479:32891.3915,4181.9127:33258.7038, +DATA,.1250,4096,32,4001.2063:31762.5745,4159.3676:33014.8359,4172.0898:33122.4148,4168.1988:33082.9603,4144.4202:32899.2145, +DATA,.1250,32,64,2627.7170:20931.7521,2638.9640:21021.3064,2707.2044:21564.8310,2721.9525:21682.4844,2769.5634:22061.6252, +DATA,.1250,64,64,2805.9068:22350.3987,2855.4205:22744.8863,2914.0816:23211.9638,2948.1950:23484.0679,2993.8953:23847.4214, +DATA,.1250,128,64,3123.4896:24880.5152,3168.9124:25241.6609,3228.5612:25716.6420,3247.0833:25863.2716,3314.9897:26404.9619, +DATA,.1250,256,64,3554.0552:28307.8329,3538.6549:28185.7654,3600.9989:28680.7755,3598.2892:28660.2185,3630.0067:28914.3491, +DATA,.1250,512,64,3984.3996:31728.9747,4009.2213:31926.8817,3983.9041:31727.0725,3985.6904:31738.3990,3980.5475:31698.8617, +DATA,.1250,1024,64,4059.0484:32322.2716,4092.4235:32570.4150,4088.7566:32545.1969,4117.0983:32767.0162,4097.7255:32613.0242, +DATA,.1250,2048,64,4090.9518:32534.0787,4130.5681:32847.2463,4127.2171:32817.7157,4156.7182:33062.9185,4159.9579:33082.6219, +DATA,.1250,4096,64,4012.5644:31860.0480,4013.6343:31865.5569,4074.5053:32348.5327,4057.1439:32209.2633,4056.8850:32208.6430, +DATA,.1250,32,128,2655.3168:21151.5888,2669.5985:21265.3040,2700.2213:21509.2898,2725.4286:21710.0755,2791.2425:22234.3720, +DATA,.1250,64,128,2853.7375:22731.5027,2870.5537:22865.4729,2908.8874:23170.6647,2971.9697:23673.0775,3011.3610:23986.6988, +DATA,.1250,128,128,3161.9561:25186.8169,3172.2444:25268.1729,3250.3491:25890.3957,3228.0885:25713.1336,3262.0267:25983.5213, +DATA,.1250,256,128,3490.5881:27800.7327,3521.4196:28048.7442,3536.4875:28167.8798,3574.3274:28469.9882,3585.1649:28556.5252, +DATA,.1250,512,128,3953.4963:31482.9709,3945.8364:31423.7528,3975.4756:31656.7281,3997.0620:31834.8335,3923.7868:31244.0526, +DATA,.1250,1024,128,4136.1518:32926.5525,4111.7000:32726.1220,4107.0363:32689.4191,4114.8930:32755.3313,4054.7192:32270.3111, +DATA,.1250,2048,128,4059.3315:32277.2659,4063.3007:32319.1366,4075.6902:32412.4529,4067.2759:32342.7236,4094.7787:32558.9399, +DATA,.1250,4096,128,4040.0116:32067.6463,4078.8110:32379.8137,4085.9262:32420.8429,4036.5475:32046.3724,4025.6165:31958.8424, +DATA,.1250,32,256,2589.8164:20629.7486,2595.1502:20672.3461,2665.4331:21232.2336,2666.9530:21244.1008,2729.9627:21746.1462, +DATA,.1250,64,256,2762.3309:22003.8388,2780.8025:22150.6195,2838.8835:22608.6173,2869.1561:22854.4882,2920.7722:23265.2627, +DATA,.1250,128,256,3082.3462:24552.5160,3078.2942:24520.4082,3144.2786:25044.8992,3154.2942:25125.8571,3215.1360:25610.0913, +DATA,.1250,256,256,3435.7406:27365.6598,3440.2649:27401.1970,3466.7014:27613.9407,3505.5105:27920.0361,3541.9605:28211.9889, +DATA,.1250,512,256,3895.0207:31019.5277,3886.0534:30944.1383,3928.2691:31284.4771,3900.8922:31065.6338,3911.7350:31149.5879, +DATA,.1250,1024,256,4022.6181:32020.4647,4044.6807:32202.5945,4082.3661:32493.3203,4038.1287:32123.2891,4054.0743:32262.9391, +DATA,.1250,2048,256,4038.4142:32109.6328,4048.4505:32195.1006,4072.9391:32391.6120,4038.9754:32120.2734,4078.5243:32435.6285, +DATA,.1250,4096,256,4007.0935:31811.3937,4000.3634:31757.3650,4056.1922:32202.3730,4053.8768:32182.6023,4016.9826:31888.4184, +DATA,.1250,32,512,2467.1947:19653.0068,2455.8845:19563.0080,2501.8387:19928.9652,2542.0586:20249.3558,2604.5586:20747.2665, +DATA,.1250,64,512,2633.4136:20976.4152,2597.6028:20691.4207,2674.3151:21302.5522,2696.9662:21483.1563,2756.2305:21954.4918, +DATA,.1250,128,512,2971.0404:23665.4574,2959.7091:23574.9083,2986.5248:23789.0937,3025.3639:24097.4175,3071.2907:24464.1712, +DATA,.1250,256,512,3321.4493:26453.8129,3315.8933:26410.3539,3366.4386:26813.6844,3372.1475:26858.5296,3379.5774:26917.3703, +DATA,.1250,512,512,3827.1039:30476.5448,3812.9361:30368.3806,3843.7838:30609.6551,3833.6670:30529.1396,3840.9608:30587.9659, +DATA,.1250,1024,512,3934.6790:31320.4922,3911.4786:31133.6710,3961.8268:31537.9101,3953.1856:31468.3122,3971.9008:31616.1273, +DATA,.1250,2048,512,3891.6411:30951.5389,3955.9467:31460.9546,3935.4621:31303.2122,3982.1094:31668.4983,3886.6459:30907.1213, +DATA,.1250,4096,512,3832.1817:30421.7659,3929.8248:31204.5383,3921.9517:31141.7899,3891.5984:30896.0476,3918.6360:31108.8829, +DATA,.1250,32,1024,2423.0433:19301.3647,2352.9316:18742.9041,2384.1047:18991.1420,2409.4665:19193.2538,2446.2781:19486.4862, +DATA,.1250,64,1024,2522.4562:20092.6771,2476.1767:19724.2068,2526.0922:20121.9539,2614.4614:20825.5335,2728.6762:21735.2122, +DATA,.1250,128,1024,2854.3491:22735.5067,2857.3921:22761.0262,2889.4696:23015.5639,2908.7513:23169.9244,2943.4293:23446.1471, +DATA,.1250,256,1024,3254.0983:25918.8460,3214.0097:25598.8011,3263.0072:25982.1942,3269.5012:26040.5211,3256.0102:25934.5492, +DATA,.1250,512,1024,3645.1150:29027.6945,3617.3012:28800.9262,3694.5042:29421.3273,3697.2052:29443.1049,3691.7452:29398.2293, +DATA,.1250,1024,1024,3783.5959:30122.0354,3800.4878:30253.5221,3833.0703:30509.9627,3822.2568:30425.0785,3772.6151:30032.0252, +DATA,.1250,2048,1024,3760.7565:29914.9166,3773.8272:30017.3539,3884.9432:30909.6746,3840.6499:30548.0016,3749.9679:29821.7343, +DATA,.1250,4096,1024,3634.4925:28866.7013,3746.1413:29718.3685,3784.6257:30050.2006,3673.3521:29167.8611,3663.0938:29088.1106, +DATA,.2500,32,16,3678.7754:14723.3015,3655.7328:14631.1249,3718.4074:14881.9699,3792.3119:15177.7325,3828.4095:15322.2143, +DATA,.2500,64,16,4121.3207:16494.0743,4120.9736:16492.7239,4173.4924:16702.9698,4170.1734:16689.5549,4198.7777:16804.5597, +DATA,.2500,128,16,4429.8346:17729.0417,4384.0030:17544.8159,4470.2064:17890.2968,4423.6835:17703.4550,4426.3788:17714.7378, +DATA,.2500,256,16,4654.9875:18629.3987,4659.6454:18648.1851,4645.3063:18589.4877,4623.3892:18501.7435,4652.8665:18620.3977, +DATA,.2500,512,16,4854.0602:19423.2576,4876.6922:19512.6551,4842.0165:19372.8914,4830.7623:19327.7079,4813.6125:19259.6326, +DATA,.2500,1024,16,4962.2336:19850.2261,5006.1444:20024.4861,4952.4108:19808.2372,4981.4599:19927.0212,4971.8797:19888.4023, +DATA,.2500,2048,16,4961.4847:19835.2791,4976.9232:19898.9955,4922.2645:19683.9027,4983.3891:19912.3434,4918.8757:19666.4799, +DATA,.2500,4096,16,4851.4127:19371.8874,4920.8414:19650.4524,4899.8776:19564.1165,4907.6277:19597.2871,4843.4626:19340.9102, +DATA,.2500,32,32,3636.7863:14555.2358,3638.3726:14561.5847,3694.2692:14785.3288,3769.9590:15088.2383,3848.1931:15401.3386, +DATA,.2500,64,32,4121.5026:16494.5901,4127.3377:16518.1706,4118.2149:16481.5730,4155.8517:16632.4314,4187.1728:16757.4655, +DATA,.2500,128,32,4384.6781:17548.1376,4356.7907:17436.2194,4361.9621:17457.3067,4367.4390:17478.2592,4368.2044:17482.3027, +DATA,.2500,256,32,4652.4725:18617.4694,4673.1552:18701.7703,4628.6887:18523.3013,4641.3076:18568.2695,4637.1774:18557.4229, +DATA,.2500,512,32,4838.3451:19360.4789,4842.5205:19376.6479,4817.5793:19277.6383,4799.1493:19203.8590,4809.6233:19245.6165, +DATA,.2500,1024,32,4934.6041:19742.9710,4990.6944:19965.1224,4980.3228:19925.7295,4917.1703:19671.0579,4962.3534:19850.3922, +DATA,.2500,2048,32,4855.3235:19410.5387,4920.0289:19668.9404,4886.5261:19538.9886,4854.9828:19407.7757,4875.2303:19492.9775, +DATA,.2500,4096,32,4787.1754:19115.7642,4948.5597:19759.9002,4891.3306:19530.4049,4918.2183:19634.8201,4865.4303:19429.7330, +DATA,.2500,32,64,3577.7169:14318.7585,3645.9351:14591.8810,3636.1319:14552.6144,3721.9335:14896.1063,3766.6846:15075.1966, +DATA,.2500,64,64,4053.4789:16222.7857,4070.8638:16291.8762,4080.2754:16329.8371,4136.5950:16555.1500,4126.6119:16515.3384, +DATA,.2500,128,64,4343.4912:17379.8294,4352.6318:17419.3754,4356.0522:17433.7120,4350.9109:17411.9514,4341.3858:17374.0459, +DATA,.2500,256,64,4580.8891:18332.6275,4571.6624:18294.7372,4561.7951:18255.6827,4572.4680:18299.1015,4559.7334:18247.8664, +DATA,.2500,512,64,4760.4588:19047.8000,4810.9291:19249.9451,4824.2002:19303.6552,4750.2446:19003.7579,4768.1317:19078.7988, +DATA,.2500,1024,64,4937.4868:19751.2200,4935.9083:19743.3209,4838.4015:19356.2208,4900.6507:19602.2016,4902.4672:19612.1406, +DATA,.2500,2048,64,4868.3526:19466.5739,4898.5829:19583.8299,4835.3316:19336.8804,4864.3914:19450.4323,4901.2363:19594.8362, +DATA,.2500,4096,64,4748.8523:18965.4780,4825.5683:19274.3399,4827.7647:19277.8462,4843.5779:19341.0480,4832.4091:19297.1625, +DATA,.2500,32,128,3569.6411:14286.5471,3566.5980:14274.3378,3596.3961:14393.6383,3685.8868:14751.7706,3718.3791:14881.8028, +DATA,.2500,64,128,4062.2107:16257.8563,4077.2624:16317.5252,4071.9511:16296.4963,4107.6812:16439.7323,4127.2759:16518.0076, +DATA,.2500,128,128,4325.2868:17310.1776,4366.2758:17474.5595,4315.7424:17271.6469,4336.2528:17353.5632,4342.6375:17379.5784, +DATA,.2500,256,128,4597.4575:18397.7562,4554.9849:18227.4460,4568.2602:18281.9815,4564.2226:18265.4092,4594.7482:18387.0323, +DATA,.2500,512,128,4823.0966:19301.3032,4822.0844:19296.8520,4767.7977:19077.4555,4802.6128:19217.7504,4813.2055:19258.5672, +DATA,.2500,1024,128,4930.3900:19726.7582,4946.5882:19788.8190,4881.1912:19526.6904,4917.7653:19671.5452,4927.0469:19710.6456, +DATA,.2500,2048,128,4830.7699:19312.0825,4895.0830:19569.6679,4861.7811:19438.9171,4860.0863:19429.9743,4865.4771:19450.1915, +DATA,.2500,4096,128,4760.8978:19010.5998,4847.6252:19357.4658,4845.0426:19348.1202,4852.1292:19374.8931,4871.6724:19456.7409, +DATA,.2500,32,256,3492.3882:13977.3432,3460.4602:13849.5435,3483.7467:13942.8140,3571.6195:14294.4547,3620.6250:14490.5514, +DATA,.2500,64,256,4012.6463:16059.1893,3965.7450:15871.3728,3980.2587:15929.5673,4033.1493:16141.0603,4016.0905:16073.1611, +DATA,.2500,128,256,4261.5283:17055.3396,4263.2313:17061.8680,4257.2892:17038.1891,4270.6248:17091.5939,4253.9225:17024.8076, +DATA,.2500,256,256,4561.9295:18256.4028,4532.6985:18140.3303,4537.9841:18160.0972,4543.2303:18181.3813,4582.4603:18338.4435, +DATA,.2500,512,256,4719.9137:18885.9268,4707.2178:18835.5794,4716.2506:18872.6815,4761.4666:19053.9263,4748.3336:19002.2893, +DATA,.2500,1024,256,4848.6168:19396.4255,4861.3808:19446.2823,4866.0464:19464.2479,4869.1299:19479.8025,4782.6582:19131.6120, +DATA,.2500,2048,256,4748.3761:18980.1544,4806.3641:19215.5195,4814.5471:19246.4042,4862.9840:19440.2629,4843.8547:19364.4909, +DATA,.2500,4096,256,4749.6550:18967.2356,4823.1340:19259.7031,4819.9430:19249.9750,4788.6802:19121.6690,4770.6608:19049.6392, +DATA,.2500,32,512,3462.4190:13857.3802,3393.4919:13581.5509,3376.2456:13512.5037,3593.7594:14383.0374,3621.0857:14492.3992, +DATA,.2500,64,512,3823.5493:15302.2388,3826.1342:15312.6508,3819.2495:15285.2630,3857.3020:15437.2473,3861.3461:15453.4321, +DATA,.2500,128,512,4078.2061:16321.7479,4049.0528:16205.0961,4107.9920:16440.5170,4107.0753:16436.9145,4095.5569:16390.6226, +DATA,.2500,256,512,4366.9734:17474.9053,4382.1587:17537.0308,4396.2008:17593.1822,4405.9376:17632.3951,4430.0679:17729.6249, +DATA,.2500,512,512,4561.8202:18254.0124,4547.4976:18195.8070,4577.3897:18316.8624,4575.2372:18306.3522,4608.9634:18440.7872, +DATA,.2500,1024,512,4644.3538:18580.2820,4718.0450:18873.9843,4700.1864:18804.0365,4719.7371:18876.0828,4640.3385:18562.5504, +DATA,.2500,2048,512,4636.8255:18539.6495,4668.6731:18667.3211,4627.0556:18500.2594,4657.7983:18620.6896,4660.3450:18634.2530, +DATA,.2500,4096,512,4513.2348:18027.5791,4655.5116:18593.1207,4575.8647:18276.3600,4629.7516:18488.7808,4607.2486:18398.1666, +DATA,.2500,32,1024,3284.7641:13146.4164,3221.8173:12894.4543,3247.7298:12998.1946,3287.9232:13159.0232,3281.9414:13135.1018, +DATA,.2500,64,1024,3641.6751:14574.5160,3678.0026:14719.9016,3620.6382:14490.4098,3655.8324:14631.2968,3617.3287:14477.0936, +DATA,.2500,128,1024,3907.3607:15637.3065,3876.9480:15516.1861,3877.1023:15516.6146,3910.7740:15651.1269,3910.0875:15648.0242, +DATA,.2500,256,1024,4114.0984:16463.9350,4095.9390:16390.8361,4130.8072:16531.6569,4159.5907:16646.2225,4156.3776:16633.1216, +DATA,.2500,512,1024,4348.7624:17388.4327,4335.1656:17348.0614,4359.4396:17444.5203,4357.4822:17435.7829,4360.4032:17447.3011, +DATA,.2500,1024,1024,4412.4366:17651.6963,4454.3690:17820.8371,4455.6026:17821.7346,4435.8898:17745.8812,4465.0469:17864.0540, +DATA,.2500,2048,1024,4417.6738:17655.6556,4411.7385:17640.2867,4437.6555:17741.1992,4460.2687:17832.7420,4448.4295:17786.4643, +DATA,.2500,4096,1024,4262.1923:17024.0816,4414.6604:17631.0871,4334.3129:17307.9263,4395.9974:17558.5664,4375.2964:17467.6168, +DATA,.5000,32,16,4753.8604:9443.9386,4732.9213:9402.3308,4715.4256:9367.5944,4740.3707:9417.1305,4711.3313:9359.4718, +DATA,.5000,64,16,4802.5174:9540.4401,4792.1363:9519.8510,4811.5857:9558.4130,4852.7971:9640.3706,4830.1005:9595.1610, +DATA,.5000,128,16,5005.2510:9943.2069,4942.6849:9818.6376,4999.3610:9931.5592,4964.5976:9862.2221,4978.4940:9890.0441, +DATA,.5000,256,16,5230.6325:10390.0516,5223.6798:10377.1853,5210.8259:10350.9111,5183.7818:10297.5105,5170.9638:10271.9572, +DATA,.5000,512,16,5455.3533:10836.1498,5422.6451:10771.4141,5405.1843:10735.9462,5410.5929:10747.0701,5414.8412:10755.5656, +DATA,.5000,1024,16,5606.0147:11136.8259,5594.1828:11109.2315,5638.2712:11196.5459,5611.8125:11146.0570,5610.0645:11141.7635, +DATA,.5000,2048,16,5616.5840:11151.8857,5670.0544:11255.2035,5645.8036:11207.3730,5625.5908:11167.0027,5614.3631:11144.4706, +DATA,.5000,4096,16,5587.8650:11083.0453,5599.9802:11107.2937,5596.1502:11099.2904,5569.3088:11047.5001,5558.2582:11024.8920, +DATA,.5000,32,32,4670.3809:9278.1009,4634.8265:9207.4635,4680.9462:9299.0555,4633.2262:9204.3059,4614.6894:9167.4766, +DATA,.5000,64,32,4829.0559:9593.1990,4838.9076:9612.7667,4864.1506:9662.9008,4843.8690:9622.5284,4754.7395:9445.6925, +DATA,.5000,128,32,4914.9394:9763.7004,4840.6600:9615.9308,4889.4833:9713.0886,4892.8213:9719.7248,4897.1795:9728.4845, +DATA,.5000,256,32,5194.5960:10318.1817,5203.8007:10336.3855,5208.0708:10345.7871,5161.1832:10252.5937,5164.5741:10259.1893, +DATA,.5000,512,32,5271.7084:10471.3689,5272.0796:10472.6064,5258.7845:10445.4914,5224.3861:10377.4486,5232.2159:10393.0429, +DATA,.5000,1024,32,5549.9887:11021.6507,5552.8064:11026.8277,5523.1674:10968.5749,5512.6096:10947.2546,5525.8420:10974.0591, +DATA,.5000,2048,32,5506.5083:10932.0015,5611.7954:11140.0876,5572.8484:11062.6982,5532.6755:10983.2996,5510.4693:10939.0293, +DATA,.5000,4096,32,5479.3240:10866.9283,5498.2960:10906.0802,5564.1954:11035.7011,5499.1918:10907.6219,5523.3549:10955.3898, +DATA,.5000,32,64,4650.5501:9238.7081,4583.0038:9104.5358,4626.4959:9190.9071,4686.1739:9309.5015,4636.8704:9211.5258, +DATA,.5000,64,64,4718.9954:9374.4916,4687.8004:9312.5214,4733.2930:9402.8672,4780.2150:9496.1482,4728.4919:9393.4659, +DATA,.5000,128,64,4864.0466:9662.6241,4825.8198:9586.7802,4851.3267:9637.2669,4839.1685:9613.3173,4848.2626:9631.1848, +DATA,.5000,256,64,5031.2089:9993.8530,4994.0209:9916.8988,4993.9012:9920.1153,5006.7733:9945.7306,5007.1954:9946.8390, +DATA,.5000,512,64,5336.3641:10599.3663,5310.6634:10547.8891,5331.0403:10589.3669,5282.7672:10492.8398,5314.3536:10554.4758, +DATA,.5000,1024,64,5468.5738:10860.1486,5481.4622:10887.2878,5462.4376:10848.5009,5492.7137:10907.7927,5465.4149:10853.5769, +DATA,.5000,2048,64,5434.7321:10788.8251,5423.6490:10767.2480,5420.5043:10760.4522,5428.1086:10775.1038,5371.0165:10662.6151, +DATA,.5000,4096,64,5392.0647:10695.4735,5495.3975:10900.3166,5449.5472:10812.3323,5455.7641:10821.5814,5417.4945:10745.8120, +DATA,.5000,32,128,4624.1513:9186.2442,4609.3720:9156.8736,4599.9769:9138.2300,4674.9937:9287.2585,4598.8699:9136.0351, +DATA,.5000,64,128,4766.1539:9468.2622,4754.3610:9444.8835,4709.4010:9355.5029,4716.6750:9370.0354,4690.9297:9318.8385, +DATA,.5000,128,128,4815.6317:9566.5102,4794.6048:9524.5826,4829.7943:9594.4674,4881.5280:9697.5156,4846.5977:9627.8500, +DATA,.5000,256,128,5092.1825:10115.6520,5108.6487:10148.0508,5099.2683:10129.2996,5112.6088:10156.0434,5117.8753:10166.6945, +DATA,.5000,512,128,5293.8676:10515.4468,5264.1948:10456.2794,5267.4930:10461.0940,5262.0944:10451.4950,5258.8449:10446.2515, +DATA,.5000,1024,128,5398.7463:10721.9054,5397.7289:10719.8299,5386.0499:10696.4910,5381.8635:10687.9232,5386.4388:10695.7455, +DATA,.5000,2048,128,5553.9089:11022.5211,5414.5153:10747.6527,5434.8267:10788.7766,5448.4758:10814.9121,5467.6455:10853.6736, +DATA,.5000,4096,128,5403.1440:10716.8038,5519.0729:10946.9174,5443.1011:10796.1216,5437.5678:10785.5582,5417.3557:10745.9636, +DATA,.5000,32,256,4539.1862:9017.4668,4478.0613:8896.0325,4488.4630:8916.7236,4510.1055:8959.6825,4518.4634:8976.2836, +DATA,.5000,64,256,4704.4582:9345.6641,4634.7489:9207.2297,4619.8980:9177.6735,4680.6354:9298.4819,4677.9447:9292.8253, +DATA,.5000,128,256,4778.3430:9492.3046,4685.6250:9308.0500,4711.4094:9359.1087,4737.8522:9411.9936,4743.2354:9422.4294, +DATA,.5000,256,256,4937.4449:9807.6776,4904.4697:9742.5774,4920.0693:9773.7481,4961.8913:9856.4277,4923.4594:9780.5337, +DATA,.5000,512,256,5258.1447:10444.3230,5256.0093:10439.8217,5234.1324:10396.3584,5275.1283:10478.2713,5267.5783:10462.6172, +DATA,.5000,1024,256,5401.8382:10727.8484,5388.4266:10701.5099,5378.4331:10681.5050,5388.3167:10700.8090,5387.2028:10698.9022, +DATA,.5000,2048,256,5330.6205:10582.8745,5325.4540:10572.5907,5330.4755:10582.0488,5370.1810:10660.4743,5323.5413:10568.4915, +DATA,.5000,4096,256,5357.4215:10624.9491,5376.0497:10664.0470,5354.5991:10620.1225,5364.9028:10641.7700,5394.6550:10700.8568, +DATA,.5000,32,512,4363.7578:8668.9598,4319.4508:8580.9407,4338.7746:8619.3342,4401.3492:8743.6305,4373.0812:8687.4557, +DATA,.5000,64,512,4525.6533:8990.4449,4455.3658:8850.8556,4486.5311:8912.7039,4522.4022:8984.1051,4540.1159:9019.1254, +DATA,.5000,128,512,4623.2314:9184.1468,4601.9468:9141.7074,4655.3500:9247.9493,4627.3094:9192.4874,4637.2971:9212.0968, +DATA,.5000,256,512,4791.4980:9518.5819,4757.5084:9450.8110,4807.3971:9549.7946,4837.0069:9608.5938,4805.0443:9545.4076, +DATA,.5000,512,512,5033.4216:9997.5311,5061.0818:10053.3039,5041.9002:10015.1692,5063.2446:10057.4244,5065.9720:10062.1207, +DATA,.5000,1024,512,5062.2016:10052.9718,5065.2608:10060.0467,5066.8652:10062.4217,5115.2706:10158.5324,5086.1064:10100.5252, +DATA,.5000,2048,512,5108.0052:10140.8912,5170.9309:10265.8593,5150.7828:10225.9134,5163.6906:10250.3841,5189.9295:10302.7926, +DATA,.5000,4096,512,5065.9939:10051.7546,5121.4207:10160.8101,5023.1817:9965.0890,5155.8275:10228.2193,5096.0944:10109.1685, +DATA,.5000,32,1024,4171.6897:8287.3651,4096.5175:8138.0098,4142.3212:8229.0814,4165.6258:8275.3693,4174.5792:8293.1639, +DATA,.5000,64,1024,4243.6705:8430.2244,4168.2495:8280.3632,4205.6118:8354.6648,4214.8648:8373.0933,4203.1144:8349.8519, +DATA,.5000,128,1024,4368.6365:8678.6646,4314.9962:8571.8997,4360.2867:8661.9623,4376.2212:8693.4816,4375.4296:8691.9887, +DATA,.5000,256,1024,4535.4729:9009.5333,4517.6597:8974.0448,4529.6820:8998.1599,4595.4111:9128.4607,4602.8979:9143.3050, +DATA,.5000,512,1024,4799.5552:9530.8058,4782.9331:9500.4961,4808.4325:9551.3761,4838.1302:9609.9967,4825.0912:9584.5133, +DATA,.5000,1024,1024,4841.9993:9617.3208,4868.0068:9667.5456,4909.4112:9750.3833,4894.1417:9719.6232,4877.3895:9686.1292, +DATA,.5000,2048,1024,4948.4936:9823.9986,4999.1720:9929.9533,4977.7212:9881.8053,4990.8557:9908.5239,4978.2964:9883.0652, +DATA,.5000,4096,1024,4902.8107:9726.2847,4915.5678:9751.9412,4902.0749:9724.5367,4926.2833:9771.6042,4855.4427:9633.0348, +DATA,2.0000,32,16,5841.0426:2896.4229,5820.0310:2886.0070,6005.0712:2977.7578,5999.5883:2975.0369,5949.1547:2950.0323, +DATA,2.0000,64,16,6123.1317:3036.2499,6271.8633:3110.0153,5946.1724:2948.5406,6060.2669:3005.0992,6059.0009:3004.4917, +DATA,2.0000,128,16,6165.1051:3057.0306,6213.8544:3081.2711,6072.9066:3011.3111,6232.4907:3090.4607,6139.3723:3043.7093, +DATA,2.0000,256,16,6287.3550:3117.6351,6284.5600:3116.2077,6231.1657:3089.8403,6276.8990:3112.4799,6310.1410:3128.9018, +DATA,2.0000,512,16,6581.3565:3263.3954,6537.3319:3241.3421,6515.8413:3230.8563,6551.6132:3248.5205,6572.1978:3258.7420, +DATA,2.0000,1024,16,6908.2274:3424.7501,6905.2368:3423.6164,6880.1894:3410.9410,6884.1675:3413.3724,6898.8248:3420.4055, +DATA,2.0000,2048,16,6896.2988:3418.0940,6883.6940:3411.7983,6870.7484:3405.3954,6910.8356:3425.3095,6886.2991:3413.1297, +DATA,2.0000,4096,16,6764.0004:3350.8138,6841.6490:3389.2234,6771.3484:3354.5350,6777.5452:3357.7257,6775.5937:3355.9067, +DATA,2.0000,32,32,5897.8129:2924.5702,6128.2713:3038.8538,5798.1953:2875.1725,6045.6761:2997.8930,5884.5084:2917.9747, +DATA,2.0000,64,32,6123.3678:3036.3805,5910.9105:2931.0505,5941.1068:2946.0234,5977.7807:2964.2039,5879.3867:2915.4142, +DATA,2.0000,128,32,6049.7515:2999.8413,6104.0810:3026.8312,5993.0351:2971.7213,6102.3530:3025.9644,6022.3293:2986.2833, +DATA,2.0000,256,32,6203.4977:3075.8805,6195.0894:3071.8350,6195.3478:3072.0356,6187.5823:3068.1240,6246.2250:3097.2773, +DATA,2.0000,512,32,6436.4392:3191.4711,6425.3053:3185.8260,6420.5443:3183.4506,6406.2151:3176.3556,6384.6675:3165.7459, +DATA,2.0000,1024,32,6793.2333:3367.4390,6756.9272:3349.8834,6745.4138:3344.2236,6791.1743:3367.0006,6768.6110:3355.5872, +DATA,2.0000,2048,32,6840.3656:3390.3188,6834.5437:3388.7097,6834.8352:3387.7011,6854.3675:3397.4398,6840.9914:3390.7026, +DATA,2.0000,4096,32,6717.7663:3328.1737,6819.3611:3378.3755,6827.2107:3382.3035,6811.0883:3374.3260,6818.8596:3378.0976, +DATA,2.0000,32,64,5999.2965:2974.8931,5933.7490:2942.3887,5808.7575:2880.4127,6023.5405:2986.9154,5998.3390:2974.4227, +DATA,2.0000,64,64,5995.6305:2973.0769,5931.9728:2941.4935,5925.4747:2938.2332,5832.0123:2891.9263,5999.0832:2974.7571, +DATA,2.0000,128,64,6068.5572:3009.2396,6070.8202:3010.2854,6031.6013:2990.8227,5993.3692:2971.8526,6125.6884:3037.5336, +DATA,2.0000,256,64,6120.9146:3035.0446,6185.3983:3067.0925,6116.1260:3032.7327,6138.0702:3043.6584,6233.5576:3090.9778, +DATA,2.0000,512,64,6478.5428:3211.1988,6450.1466:3198.2054,6411.9289:3179.2650,6391.9011:3169.2801,6457.9293:3201.8884, +DATA,2.0000,1024,64,6635.1962:3289.4416,6590.0748:3267.2581,6608.2998:3276.1091,6629.9792:3286.7253,6647.9810:3295.9680, +DATA,2.0000,2048,64,6647.5250:3294.8157,6693.9941:3317.8426,6705.0258:3323.3266,6669.5418:3305.8674,6649.7670:3295.9501, +DATA,2.0000,4096,64,6665.0632:3301.7755,6736.4772:3337.2102,6638.9126:3288.9616,6659.7581:3299.3459,6655.0066:3296.9887, +DATA,2.0000,32,128,6006.4892:2978.4645,5924.9116:2938.0107,5837.4164:2894.6245,5907.7844:2929.5141,5968.4477:2959.5999, +DATA,2.0000,64,128,6018.4701:2984.3707,5930.0805:2940.5625,5968.2183:2959.4592,5935.2172:2943.1283,5991.5170:2970.9685, +DATA,2.0000,128,128,6039.9898:2995.0059,5964.3296:2957.5139,5999.4444:2974.9403,5953.5539:2951.9352,5955.1140:2952.9108, +DATA,2.0000,256,128,6170.8266:3059.8209,6199.8397:3074.2391,6180.2357:3064.4671,6181.9416:3065.4295,6164.8856:3056.9789, +DATA,2.0000,512,128,6445.5551:3195.5229,6428.0023:3187.3541,6410.7724:3178.6482,6383.5977:3165.0228,6430.8058:3188.4756, +DATA,2.0000,1024,128,6572.0308:3258.0514,6575.8674:3260.3713,6640.2360:3292.0162,6590.7596:3266.5082,6620.9239:3282.3630, +DATA,2.0000,2048,128,6659.5609:3300.8311,6683.1683:3312.4507,6689.4283:3315.6960,6731.3529:3336.5890,6676.1067:3309.0658, +DATA,2.0000,4096,128,6695.3390:3317.1254,6714.3718:3326.1710,6701.8039:3319.7109,6675.1378:3306.9415,6750.5742:3344.2537, +DATA,2.0000,32,256,5719.2114:2836.0088,5836.3387:2894.0781,5653.0354:2803.1949,5733.5023:2843.0633,5735.8451:2844.2609, +DATA,2.0000,64,256,5877.3940:2914.4139,5777.8991:2865.1015,5627.8648:2790.6751,5703.6095:2828.2677,5716.7098:2834.7381, +DATA,2.0000,128,256,5849.7000:2900.6829,5881.1179:2916.2679,5807.3453:2879.6902,5851.4630:2901.5509,5840.9829:2896.3773, +DATA,2.0000,256,256,5996.2081:2973.2047,5987.6110:2969.0235,5958.1295:2954.3333,5887.7731:2919.5004,5964.0298:2957.2521, +DATA,2.0000,512,256,6276.1909:3112.0256,6247.0137:3097.5389,6222.2030:3085.1382,6166.9731:3057.7672,6192.4268:3070.4231, +DATA,2.0000,1024,256,6515.8088:3230.4301,6505.8577:3225.2519,6427.8184:3186.7343,6429.7135:3187.9356,6469.1610:3207.3841, +DATA,2.0000,2048,256,6639.4190:3290.8733,6644.0545:3293.2390,6584.1519:3263.5429,6600.0222:3271.2793,6629.6825:3285.9735, +DATA,2.0000,4096,256,6600.2826:3269.7856,6605.7043:3272.5995,6525.9234:3233.1405,6500.7589:3220.6581,6515.8515:3228.1814, +DATA,2.0000,32,512,5391.9172:2673.7126,5311.7996:2633.9818,5340.1457:2648.0412,5268.2730:2612.3953,5367.5805:2661.6409, +DATA,2.0000,64,512,5512.7299:2733.6041,5288.0499:2622.1805,5365.6490:2660.6651,5326.3469:2641.1557,5418.4897:2686.8518, +DATA,2.0000,128,512,5543.3901:2748.7912,5425.6675:2690.4283,5416.7784:2686.0155,5476.4556:2715.5672,5515.4462:2734.9190, +DATA,2.0000,256,512,5722.5043:2837.5154,5649.3821:2801.3127,5666.9421:2810.0091,5681.7413:2817.3293,5661.6837:2807.3861, +DATA,2.0000,512,512,5960.6338:2955.4553,5903.2452:2927.0872,5886.4816:2918.6780,5923.4909:2937.1178,5942.4410:2946.6194, +DATA,2.0000,1024,512,6175.9335:3061.9813,6123.7239:3036.1174,6149.6004:3048.7813,6115.9182:3032.5916,6155.3897:3050.9481, +DATA,2.0000,2048,512,6243.1037:3094.5987,6225.8877:3085.9597,6281.5504:3113.5339,6244.1368:3094.9451,6286.4329:3115.9506, +DATA,2.0000,4096,512,6204.6209:3074.0059,6242.7406:3092.7996,6235.9410:3089.4473,6191.3529:3067.4569,6278.7168:3111.1490, +DATA,2.0000,32,1024,5097.6925:2527.8161,4967.7144:2463.3576,4888.8570:2424.2585,4857.4322:2408.6768,4950.7654:2454.9589, +DATA,2.0000,64,1024,5131.6267:2544.6288,4856.5662:2408.2338,4878.8043:2419.2540,4833.6926:2396.8819,4923.3662:2441.3650, +DATA,2.0000,128,1024,5221.7849:2589.3136,5028.0084:2493.2336,5008.6613:2483.6311,5039.2069:2498.7694,5084.9490:2521.3504, +DATA,2.0000,256,1024,5395.9945:2675.6905,5224.0553:2590.4449,5183.5680:2570.3765,5240.3231:2598.4451,5284.2828:2620.2848, +DATA,2.0000,512,1024,5579.9349:2766.7955,5512.7044:2733.4053,5500.7856:2727.5712,5516.5382:2735.2744,5527.9391:2740.1417, +DATA,2.0000,1024,1024,5736.8067:2844.3700,5677.6813:2814.9099,5660.4614:2806.4081,5712.7459:2832.3377,5679.3069:2815.6857, +DATA,2.0000,2048,1024,5858.2033:2903.7355,5887.1294:2918.0748,5875.7824:2912.0945,5904.1752:2926.5730,5899.2418:2924.2900, +DATA,2.0000,4096,1024,5876.7083:2911.6439,5926.2612:2936.2707,5842.5355:2895.2525,5865.0030:2905.8561,5918.9547:2932.7561, +DATA,4.0000,32,16,6281.7251:1548.3584,6036.5176:1487.9170,6341.6525:1563.1261,6266.1464:1544.5189,5956.0761:1468.0889, +DATA,4.0000,64,16,6328.1431:1559.7777,6269.2886:1543.3336,6257.2512:1542.3142,6241.8030:1538.5014,6164.3523:1519.4222, +DATA,4.0000,128,16,6328.0058:1559.7509,6123.8133:1509.4335,6184.8049:1524.4457,6206.6407:1529.8095,6283.1728:1548.7012, +DATA,4.0000,256,16,6478.4767:1596.8081,6349.3078:1564.9850,6390.7584:1575.1860,6388.6887:1574.6669,6432.1035:1585.3980, +DATA,4.0000,512,16,6675.9333:1645.4478,6615.6904:1630.5400,6607.2533:1628.4618,6587.9805:1623.7747,6607.7967:1628.4487, +DATA,4.0000,1024,16,6892.2488:1698.4427,6831.8538:1683.7186,6814.9929:1679.5191,6831.0984:1683.5399,6834.3032:1684.3137, +DATA,4.0000,2048,16,6952.1870:1712.9511,6949.1547:1712.2161,6918.1826:1704.5861,6914.0213:1703.5691,6996.4888:1723.8042, +DATA,4.0000,4096,16,7031.7603:1731.8282,7078.7222:1743.3459,7074.1873:1742.2142,7114.3355:1752.1078,7121.0004:1753.9040, +DATA,4.0000,32,32,6168.3630:1520.4152,6046.4103:1490.3554,6337.0914:1562.0038,6247.8500:1540.0063,6177.6557:1522.7049, +DATA,4.0000,64,32,6301.3006:1553.1644,5976.8261:1473.1923,6272.1349:1545.9822,6137.0500:1512.6832,6232.4366:1536.1933, +DATA,4.0000,128,32,6304.8494:1554.0443,6199.2556:1528.0123,6236.8057:1537.2656,6106.7744:1505.1993,6274.9751:1546.6795, +DATA,4.0000,256,32,6399.6235:1577.2913,6347.3796:1564.4279,6386.7535:1574.2044,6335.4433:1561.5904,6389.8836:1575.0032, +DATA,4.0000,512,32,6642.6956:1637.1150,6572.9887:1619.9928,6577.3674:1621.1629,6533.4470:1610.2445,6585.4053:1623.1192, +DATA,4.0000,1024,32,6837.4737:1685.1329,6814.7742:1679.5171,6823.1069:1681.4995,6852.8395:1688.8648,6824.8670:1681.9326, +DATA,4.0000,2048,32,6869.5941:1692.8056,6887.0800:1696.9308,6931.4755:1707.7694,6867.6920:1692.1371,6919.3439:1704.8534, +DATA,4.0000,4096,32,6948.7069:1711.3893,6973.7102:1717.5158,6971.1402:1716.7791,6938.3057:1708.6678,6944.5176:1710.3681, +DATA,4.0000,32,64,6272.1854:1546.0033,5945.0094:1465.3634,6187.7300:1525.1881,6175.0639:1522.0578,6152.3631:1516.4708, +DATA,4.0000,64,64,6233.6199:1536.4878,6059.1033:1493.4727,6084.3992:1499.7142,5967.0815:1470.7948,6221.6039:1533.5223, +DATA,4.0000,128,64,6299.5041:1552.7345,6110.0411:1506.0337,6076.0881:1497.6595,6165.1071:1519.5951,6197.7013:1527.6418, +DATA,4.0000,256,64,6367.0856:1569.3679,6227.4632:1534.9602,6240.2341:1538.0747,6252.2551:1541.0613,6316.1548:1556.8019, +DATA,4.0000,512,64,6557.8750:1616.1931,6521.6755:1607.3853,6492.2217:1600.1233,6529.5691:1609.3217,6570.4765:1619.4433, +DATA,4.0000,1024,64,6763.2002:1666.7828,6674.9466:1645.0646,6743.6457:1661.9232,6708.7835:1653.3470,6697.6433:1650.6043, +DATA,4.0000,2048,64,6905.2479:1701.3542,6927.9421:1706.9693,6911.3929:1702.8822,6895.0122:1698.9001,6889.1477:1697.3762, +DATA,4.0000,4096,64,6644.8937:1636.5536,6759.5301:1664.7509,6652.2440:1638.4014,6747.3217:1661.7030,6679.1366:1645.0291, +DATA,4.0000,32,128,6186.4353:1524.8693,5999.6877:1478.8361,6005.0375:1480.1568,5839.6026:1439.3767,6093.4369:1501.9470, +DATA,4.0000,64,128,6242.8556:1538.7629,6028.4039:1485.9043,6096.2241:1502.6203,5966.6887:1470.6961,5949.4178:1466.4357, +DATA,4.0000,128,128,6242.7919:1538.7402,6084.0139:1499.5920,6056.4129:1492.8010,6027.6083:1485.6848,6060.3510:1493.7873, +DATA,4.0000,256,128,6270.5410:1545.5356,6105.8032:1504.9541,6177.2925:1522.5341,6183.6684:1524.1086,6211.6626:1531.0486, +DATA,4.0000,512,128,6551.0162:1614.6407,6502.8285:1602.8010,6548.1754:1613.7698,6513.7228:1605.4373,6481.7956:1597.5285, +DATA,4.0000,1024,128,6807.4830:1677.6581,6746.5024:1662.7046,6756.2159:1665.0554,6817.7824:1680.1212,6756.9757:1665.2808, +DATA,4.0000,2048,128,6887.0761:1696.9241,6890.6800:1697.8583,6902.2045:1700.6175,6878.9008:1694.9413,6898.7133:1699.7409, +DATA,4.0000,4096,128,6840.1310:1684.6593,6857.8010:1689.0223,6822.7193:1680.3630,6833.3480:1682.9543,6909.3320:1701.6707, +DATA,4.0000,32,256,6066.4573:1495.2954,5768.1090:1421.7557,5894.5151:1452.9140,5845.0636:1440.7266,5839.6503:1439.3932, +DATA,4.0000,64,256,6164.4979:1519.4513,5850.1989:1441.9112,6007.2839:1480.6973,5778.8797:1424.4072,5826.6768:1436.1857, +DATA,4.0000,128,256,6139.1855:1513.1450,5901.5172:1454.6146,5974.8179:1472.6978,5931.2494:1461.9599,6014.1454:1482.3990, +DATA,4.0000,256,256,6196.2347:1527.2644,6081.6539:1498.9664,6150.6294:1516.0039,6119.2234:1508.2471,6007.3212:1480.6726, +DATA,4.0000,512,256,6425.1866:1583.6074,6282.6357:1548.4360,6339.7825:1562.5476,6281.2063:1548.1337,6289.5301:1550.1287, +DATA,4.0000,1024,256,6693.0646:1649.4694,6642.5424:1636.9969,6645.7575:1637.7935,6636.5643:1635.6509,6592.5355:1624.8164, +DATA,4.0000,2048,256,6831.2724:1683.1824,6801.7307:1675.9156,6802.4528:1676.1166,6771.9553:1668.6139,6762.3268:1666.2638, +DATA,4.0000,4096,256,6709.0243:1652.2667,6756.7756:1664.1808,6709.1120:1652.3169,6746.1029:1661.5366,6726.7384:1656.7097, +DATA,4.0000,32,512,5942.6790:1464.7871,5357.8796:1320.6422,5500.4205:1355.7715,5537.6387:1364.9508,5527.8815:1362.5466, +DATA,4.0000,64,512,5831.2672:1437.3022,5466.4578:1347.3995,5523.7199:1361.4992,5374.6065:1324.7612,5510.8262:1358.3344, +DATA,4.0000,128,512,5846.7082:1441.1203,5476.2994:1349.8033,5560.3382:1370.5178,5600.6880:1380.4733,5540.5753:1365.6563, +DATA,4.0000,256,512,5968.3622:1471.0895,5758.3727:1419.3210,5795.3425:1428.4467,5790.5120:1427.2406,5799.1755:1429.3506, +DATA,4.0000,512,512,6191.2767:1525.9754,6045.6273:1490.0587,6042.3611:1489.2217,6050.7891:1491.3366,6076.1072:1497.5539, +DATA,4.0000,1024,512,6337.5316:1561.9738,6254.0782:1541.3457,6262.2754:1543.2688,6242.5416:1538.5470,6244.0443:1538.8060, +DATA,4.0000,2048,512,6391.4271:1574.8978,6395.3882:1575.8032,6371.6703:1569.9316,6392.2143:1575.0048,6421.3771:1582.2046, +DATA,4.0000,4096,512,6416.1640:1580.2892,6455.9675:1590.1210,6467.9227:1592.9906,6415.2821:1579.8967,6499.1871:1600.7552, +DATA,4.0000,32,1024,5522.5268:1361.2269,4948.2543:1219.6766,4991.7156:1230.3882,5003.1116:1233.1938,5050.4668:1244.8713, +DATA,4.0000,64,1024,5462.1757:1346.3393,4895.1719:1206.5812,4935.3231:1216.4734,5035.4003:1241.1152,4888.7348:1205.0041, +DATA,4.0000,128,1024,5469.4854:1348.1461,5094.4578:1255.7021,5158.6790:1271.5324,5098.7239:1256.7516,5168.8207:1274.0240, +DATA,4.0000,256,1024,5677.3243:1399.3636,5259.0008:1296.2277,5351.7309:1319.0922,5333.9307:1314.7101,5311.7957:1309.2414, +DATA,4.0000,512,1024,5721.3245:1410.1211,5514.5805:1358.6654,5551.0891:1368.1462,5549.5683:1367.7838,5556.1879:1369.4494, +DATA,4.0000,1024,1024,5889.3258:1451.4119,5771.0167:1422.2671,5790.7932:1427.1157,5786.2815:1425.9778,5802.3862:1430.0015, +DATA,4.0000,2048,1024,5987.5494:1475.3629,5948.8517:1465.8739,5981.4987:1473.9490,5977.3269:1472.8661,5971.2468:1471.3222, +DATA,4.0000,4096,1024,5974.9484:1471.6926,6044.9356:1488.9351,6094.2382:1501.0544,5962.9837:1468.7353,6020.1102:1482.8412, +DATA,8.0000,32,16,6447.7782:789.3123,6371.1948:779.9368,6368.8349:779.6469,6461.5593:790.9991,6263.3155:766.7296, +DATA,8.0000,64,16,6438.7541:788.2043,6396.8271:783.0695,6459.6028:790.7580,6235.9969:763.3795,6343.1824:776.4987, +DATA,8.0000,128,16,6386.3891:781.7898,6379.0335:780.8799,6285.6521:769.4583,6214.2734:760.7115,6369.3024:779.6939, +DATA,8.0000,256,16,6524.3900:798.6672,6452.4987:789.8595,6389.5195:782.1651,6360.3140:778.5840,6400.8213:783.5332, +DATA,8.0000,512,16,6749.0432:826.1062,6710.3122:821.3868,6652.6947:814.3672,6713.8158:821.8523,6743.7836:825.4636, +DATA,8.0000,1024,16,6958.7912:851.6938,6915.7422:846.5592,6895.7375:843.9943,6910.2221:845.7799,6881.8116:842.3150, +DATA,8.0000,2048,16,7119.6801:871.2577,7081.2081:866.5295,7110.7529:870.1480,7108.8212:869.9541,7115.2762:870.7394, +DATA,8.0000,4096,16,7125.4377:871.6443,7100.0728:868.5450,7051.5231:862.5564,7088.0131:867.0362,7115.2108:870.3798, +DATA,8.0000,32,32,6676.9546:817.3668,6306.5354:772.0221,6073.9193:743.5452,6211.9297:760.4413,6198.5015:758.7972, +DATA,8.0000,64,32,6406.1273:784.2046,6211.6143:760.3953,6294.4225:770.5331,6246.5000:764.6560,6244.8192:764.4587, +DATA,8.0000,128,32,6352.1208:777.5908,6362.8455:778.9056,6258.9184:766.1804,6389.9546:782.2350,6316.7482:773.1937, +DATA,8.0000,256,32,6575.7286:804.9570,6463.1393:791.1795,6398.8662:783.3042,6378.8316:780.8432,6457.7858:790.5169, +DATA,8.0000,512,32,6719.1352:822.4965,6720.6544:822.6656,6642.8970:813.1410,6655.7434:814.6341,6665.5893:815.9299, +DATA,8.0000,1024,32,6909.9166:845.8229,6840.0479:837.0577,6873.7184:841.3141,6852.0485:838.7984,6864.4463:840.2176, +DATA,8.0000,2048,32,7016.9697:858.7018,6962.9151:852.0890,6996.2213:855.8448,6965.1802:852.1365,6982.7781:854.4874, +DATA,8.0000,4096,32,7044.7903:861.6918,7052.8242:862.7735,7031.8658:860.1463,7055.1610:863.0638,7029.6939:859.9165, +DATA,8.0000,32,64,6235.1464:763.2833,6290.3014:770.0346,6321.4556:773.8465,6220.3313:761.4684,6315.0783:773.0682, +DATA,8.0000,64,64,6341.6791:776.3157,6232.3716:762.9363,5972.4744:731.1194,6193.1412:758.1341,5996.3361:734.0421, +DATA,8.0000,128,64,6311.8458:772.6541,6268.9414:767.4111,6160.7356:754.1658,6233.0551:763.0150,6114.2299:748.4691, +DATA,8.0000,256,64,6408.6673:784.5050,6351.0237:777.4501,6255.5913:765.7592,6331.4132:775.0343,6325.6924:774.3582, +DATA,8.0000,512,64,6648.2489:813.8190,6594.8352:807.2827,6578.4839:805.2682,6574.3511:804.7671,6622.7744:810.6986, +DATA,8.0000,1024,64,6870.9749:841.0066,6798.8781:832.1716,6791.1134:831.1129,6830.4017:836.0314,6793.2814:831.5058, +DATA,8.0000,2048,64,6990.0098:855.4094,6922.1440:847.0592,6932.6794:848.3999,6963.5324:852.1528,6943.4689:849.7273, +DATA,8.0000,4096,64,7059.5559:863.5113,7010.7609:857.6278,7119.2439:870.8575,7113.2890:870.1090,7020.7283:858.8287, +DATA,8.0000,32,128,6576.9443:805.1235,6350.3686:777.3866,6098.3783:746.5400,6181.1233:756.6703,6092.3512:745.8019, +DATA,8.0000,64,128,6342.4911:776.4164,6144.3155:752.1594,5933.8572:726.3973,6151.1292:752.9850,6145.8821:752.3499, +DATA,8.0000,128,128,6371.2518:779.9343,6247.5037:764.7887,6116.3643:748.7374,6149.8043:752.8280,6265.5518:766.9920, +DATA,8.0000,256,128,6441.4395:788.4389,6316.8715:773.2690,6251.5760:765.2736,6242.8403:764.2101,6297.8603:770.9430, +DATA,8.0000,512,128,6592.1744:806.9270,6587.5531:806.3915,6465.9720:791.4785,6491.6751:794.6298,6531.1791:799.4553, +DATA,8.0000,1024,128,6854.8122:839.0130,6809.7827:833.5066,6761.2512:827.5406,6797.5272:832.0578,6767.9116:828.3827, +DATA,8.0000,2048,128,6892.7350:843.4793,6876.7534:841.5601,6862.9484:839.8365,6865.4091:840.1717,6901.6837:844.6478, +DATA,8.0000,4096,128,6943.1079:849.3093,6921.1336:846.7107,6966.4648:852.1555,6984.4942:854.3975,6994.7808:855.6594, +DATA,8.0000,32,256,6408.0027:784.4416,6023.1651:737.3315,5774.8375:706.9308,5873.6096:719.0237,5961.4538:729.7776, +DATA,8.0000,64,256,6249.2272:764.9936,6081.7858:744.5026,5860.1503:717.3717,5734.7513:702.0217,5797.7479:709.7363, +DATA,8.0000,128,256,6161.2989:754.2288,6054.3012:741.1400,5934.8343:726.5151,5990.8447:733.3672,5995.6043:733.9581, +DATA,8.0000,256,256,6351.6713:777.5249,6252.6951:765.4020,6182.2091:756.7713,6227.1847:762.1664,6149.2631:752.7468, +DATA,8.0000,512,256,6544.1537:801.0599,6430.5743:787.1565,6357.9967:778.3007,6380.2298:780.9834,6421.2947:785.9991, +DATA,8.0000,1024,256,6718.2886:822.3206,6654.8580:814.5415,6657.4112:814.8754,6633.5321:811.9105,6663.6535:815.6213, +DATA,8.0000,2048,256,6797.2139:831.8076,6804.5172:832.6917,6793.9222:831.4017,6818.5376:834.4615,6857.6153:839.2702, +DATA,8.0000,4096,256,6851.6561:838.1774,6836.5869:836.3186,6847.2287:837.5937,6902.5229:844.4038,6854.3589:838.4900, +DATA,8.0000,32,512,6065.3330:742.4926,5601.1736:685.6743,5326.1264:652.0041,5314.9289:650.6331,5372.4236:657.6706, +DATA,8.0000,64,512,5910.2564:723.5048,5728.1322:701.2107,5556.0235:680.1414,5501.5811:673.4773,5551.6547:679.6094, +DATA,8.0000,128,512,5925.5817:725.3847,5762.4549:705.4141,5519.2848:675.6479,5622.5510:688.2752,5567.6689:681.5633, +DATA,8.0000,256,512,6000.3789:734.5026,5901.4469:722.4083,5715.9856:699.7116,5858.8999:717.2129,5838.7418:714.7444, +DATA,8.0000,512,512,6215.6274:760.8392,6118.0452:748.8870,6056.2662:741.3495,6065.0204:742.3988,6066.7140:742.6209, +DATA,8.0000,1024,512,6355.4852:777.9243,6277.5937:768.3697,6243.9184:764.2604,6250.2391:765.0149,6269.3125:767.3645, +DATA,8.0000,2048,512,6442.9092:788.4698,6415.3972:785.1047,6422.2433:785.9473,6412.1970:784.7655,6414.8751:785.0733, +DATA,8.0000,4096,512,6433.9281:787.0913,6413.1283:784.5354,6433.2337:787.0000,6454.4085:789.5728,6501.5922:795.5000, +DATA,8.0000,32,1024,5861.6921:717.5642,5456.7600:667.9951,4996.1861:611.6119,4994.0592:611.3538,5081.9620:622.1133, +DATA,8.0000,64,1024,5695.5980:697.2295,5339.1595:653.5971,5004.7181:612.6547,5037.4157:616.6588,5081.3082:622.0283, +DATA,8.0000,128,1024,5575.4725:682.5152,5426.5295:664.2916,5093.8433:623.5638,5128.0702:627.7557,5163.4196:632.0746, +DATA,8.0000,256,1024,5676.6471:694.8888,5498.5082:673.1002,5291.5361:647.7551,5326.2249:652.0059,5329.3031:652.3757, +DATA,8.0000,512,1024,5891.7457:721.2146,5748.9515:703.7205,5587.6388:683.8489,5615.4448:687.3724,5649.3253:691.5280, +DATA,8.0000,1024,1024,5986.4695:732.7667,5904.8938:722.7609,5827.4764:713.3237,5847.4572:715.6847,5868.9822:718.3767, +DATA,8.0000,2048,1024,5970.5430:730.6818,5908.4163:723.0667,5882.8660:719.9503,5916.6666:723.8760,5927.1938:725.3744, +DATA,8.0000,4096,1024,6059.8157:741.4146,6076.5236:743.4015,5980.0030:731.5937,6046.1919:739.6870,6068.0003:742.3642, +DATA,128.0000,32,16,6717.2594:51.0328,6652.4950:50.5409,6567.7242:49.8968,6643.8307:50.4749,6625.9672:50.3393, +DATA,128.0000,64,16,6603.3895:50.1674,6532.6108:49.6297,6567.5560:49.8951,6601.3274:50.1519,6634.3791:50.4027, +DATA,128.0000,128,16,6229.9346:47.3304,6207.6957:47.1613,6244.3632:47.4397,6244.1544:47.4384,6267.1259:47.6127, +DATA,128.0000,256,16,6633.5451:50.3959,6651.6241:50.5332,6618.9321:50.2838,6637.7017:50.4281,6650.8777:50.5273, +DATA,128.0000,512,16,6837.8138:51.9470,6806.6846:51.7091,6771.7135:51.4424,6774.0822:51.4611,6752.9356:51.3007, +DATA,128.0000,1024,16,7041.6805:53.4903,7020.9921:53.3326,6986.8580:53.0722,6977.6461:53.0033,7010.2989:53.2508, +DATA,128.0000,2048,16,7186.4771:54.5825,7212.3944:54.7760,7251.5394:55.0749,7190.7145:54.6124,7197.6618:54.6632, +DATA,128.0000,4096,16,7163.0269:54.3823,7171.3395:54.4474,7207.4307:54.7187,7211.8943:54.7566,7208.3818:54.7272, +DATA,128.0000,32,32,6624.4121:50.3274,6791.5198:51.5970,6631.9902:50.3850,6453.3910:49.0282,6798.3374:51.6488, +DATA,128.0000,64,32,6459.7666:49.0760,6481.7249:49.2429,6461.3326:49.0880,6392.0819:48.5620,6479.9020:49.2293, +DATA,128.0000,128,32,6520.0571:49.5341,6520.6671:49.5388,6523.8660:49.5630,6547.2487:49.7412,6540.1358:49.6871, +DATA,128.0000,256,32,6564.4391:49.8704,6539.3219:49.6801,6584.4157:50.0232,6609.7230:50.2145,6629.0280:50.3607, +DATA,128.0000,512,32,6687.8812:50.8067,6655.7184:50.5628,6669.2577:50.6653,6678.6785:50.7370,6683.5095:50.7742, +DATA,128.0000,1024,32,6958.5352:52.8609,6924.1020:52.5992,6972.1563:52.9564,7003.2700:53.1979,6985.4845:53.0616, +DATA,128.0000,2048,32,7099.6488:53.9164,7101.3321:53.9336,7115.0922:54.0356,7100.7841:53.9267,7111.4580:54.0113, +DATA,128.0000,4096,32,7240.1795:54.9667,7206.1534:54.7128,7211.6022:54.7510,7165.2668:54.3997,7201.2305:54.6723, +DATA,128.0000,32,64,6669.3750:50.6691,6453.0368:49.0255,6497.4621:49.3630,6411.9131:48.7131,6535.0137:49.6482, +DATA,128.0000,64,64,6472.0971:49.1701,6512.9733:49.4807,6467.0075:49.1315,6438.6175:48.9156,6568.6360:49.9030, +DATA,128.0000,128,64,6379.6787:48.4672,6435.3864:48.8912,6456.9227:49.0545,6461.8015:49.0917,6473.6084:49.1802, +DATA,128.0000,256,64,6502.3519:49.3991,6493.6872:49.3338,6473.9750:49.1838,6491.3343:49.3158,6529.5179:49.6053, +DATA,128.0000,512,64,6647.8917:50.5005,6658.2160:50.5813,6620.8103:50.2424,6666.6442:50.6447,6650.9441:50.5258, +DATA,128.0000,1024,64,6905.5045:52.4588,6884.7626:52.2972,6888.8346:52.3293,6915.3361:52.5309,6919.2354:52.5601, +DATA,128.0000,2048,64,7099.4588:53.9204,7084.7595:53.8085,7099.4385:53.9195,7077.5428:53.7511,7085.8403:53.8163, +DATA,128.0000,4096,64,7116.9511:54.0344,7020.4592:53.3004,7047.3828:53.5071,7081.7619:53.7677,7099.4627:53.9012, +DATA,128.0000,32,128,6543.3960:49.7120,6604.9020:50.1792,6596.2383:50.1133,6481.8530:49.2444,6590.2807:50.0681, +DATA,128.0000,64,128,6471.2788:49.1638,6506.1026:49.4283,6486.9035:49.2828,6458.2164:49.0646,6342.6049:48.1864, +DATA,128.0000,128,128,6665.6834:50.6404,6522.9179:49.5556,6497.2956:49.3602,6526.2021:49.5806,6516.9242:49.5099, +DATA,128.0000,256,128,6570.6081:49.9176,6494.6491:49.3372,6514.1406:49.4881,6512.9073:49.4796,6532.1276:49.6246, +DATA,128.0000,512,128,6637.5945:50.4250,6573.6266:49.9385,6656.1431:50.5634,6618.8993:50.2836,6634.5969:50.4018, +DATA,128.0000,1024,128,6898.9469:52.4064,6877.4004:52.2426,6884.9839:52.2999,6916.7440:52.5398,6874.9582:52.2209, +DATA,128.0000,2048,128,6924.9161:52.5912,7008.6744:53.2293,6981.2653:53.0217,6988.0508:53.0730,6987.5833:53.0697, +DATA,128.0000,4096,128,7013.0452:53.2465,7050.1926:53.5248,7045.6380:53.4928,7041.9569:53.4629,7010.1689:53.2241, +DATA,128.0000,32,256,6351.4591:48.2538,6417.1959:48.7532,6236.6536:47.3816,6263.0861:47.5824,6430.9306:48.8575, +DATA,128.0000,64,256,6400.2250:48.6239,6486.7498:49.2816,6369.3227:48.3891,6290.0362:47.7865,6407.9977:48.6832, +DATA,128.0000,128,256,6335.7616:48.1344,6290.6649:47.7916,6292.9429:47.8088,6299.6308:47.8594,6310.0657:47.9391, +DATA,128.0000,256,256,6299.9187:47.8604,6296.1538:47.8325,6320.8069:48.0193,6315.5107:47.9789,6355.9337:48.2863, +DATA,128.0000,512,256,6561.8840:49.8490,6549.3781:49.7545,6519.0508:49.5244,6535.5513:49.6485,6554.6805:49.7949, +DATA,128.0000,1024,256,6691.7313:50.8309,6703.3672:50.9208,6704.9854:50.9358,6696.4785:50.8695,6732.1773:51.1411, +DATA,128.0000,2048,256,6895.7445:52.3727,6915.7993:52.5232,6930.7452:52.6396,6934.9896:52.6701,6947.2961:52.7641, +DATA,128.0000,4096,256,6898.7809:52.3789,6901.2064:52.3911,6909.4208:52.4593,6843.6530:51.9595,6905.6382:52.4299, +DATA,128.0000,32,512,6126.4708:46.5445,6080.7377:46.1970,6136.8112:46.6230,5985.8175:45.4759,6093.5700:46.2944, +DATA,128.0000,64,512,6033.7665:45.8397,6132.8239:46.5923,6081.7294:46.2043,6128.0093:46.5560,6105.8070:46.3871, +DATA,128.0000,128,512,6049.7166:45.9603,6026.9917:45.7882,5998.4856:45.5713,6008.7697:45.6502,6019.4135:45.7302, +DATA,128.0000,256,512,6061.0553:46.0461,6067.6000:46.0959,6022.4910:45.7537,6053.0576:45.9860,6107.1215:46.3961, +DATA,128.0000,512,512,6266.2186:47.6044,6238.8885:47.3967,6243.7895:47.4321,6272.0501:47.6482,6237.5461:47.3858, +DATA,128.0000,1024,512,6364.2219:48.3450,6376.7227:48.4409,6323.5495:48.0350,6398.6671:48.6049,6341.9705:48.1772, +DATA,128.0000,2048,512,6521.5822:49.5323,6510.7469:49.4526,6500.8388:49.3724,6518.0882:49.5039,6474.3070:49.1733, +DATA,128.0000,4096,512,6543.2855:49.6880,6599.4805:50.1107,6533.7095:49.6062,6537.5696:49.6370,6554.8700:49.7665, +DATA,128.0000,32,1024,5674.2270:43.1087,5771.5547:43.8480,5819.9998:44.2161,5759.3440:43.7553,5853.6548:44.4717, +DATA,128.0000,64,1024,5809.7536:44.1382,5755.3377:43.7247,5703.0369:43.3273,5824.8035:44.2522,5721.3265:43.4664, +DATA,128.0000,128,1024,5633.0242:42.7948,5717.2372:43.4347,5613.9499:42.6503,5712.5924:43.3997,5658.4108:42.9882, +DATA,128.0000,256,1024,5704.2629:43.3360,5724.5756:43.4896,5725.8612:43.5002,5716.9114:43.4315,5766.1913:43.8065, +DATA,128.0000,512,1024,5821.8293:44.2289,5823.6907:44.2411,5831.8981:44.3038,5818.5674:44.2024,5833.0766:44.3133, +DATA,128.0000,1024,1024,5963.3888:45.2995,5966.5486:45.3239,5987.0576:45.4804,6010.0831:45.6550,5958.5768:45.2667, +DATA,128.0000,2048,1024,6068.9860:46.0954,6085.2359:46.2185,6060.2276:46.0296,6092.9714:46.2772,6079.9955:46.1782, +DATA,128.0000,4096,1024,6082.2826:46.1806,6046.5503:45.9117,6070.9284:46.0945,6052.2499:45.9546,6070.3713:46.0921, diff --git a/tools/rw-benchmark/example/rw_benchmark.html b/tools/rw-benchmark/example/rw_benchmark.html new file mode 100644 index 000000000000..994fae0c94cb --- /dev/null +++ b/tools/rw-benchmark/example/rw_benchmark.html @@ -0,0 +1,692 @@ + + + + + + Awesome go-echarts + + + + + + + + + + +
+
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + +
+ + + diff --git a/tools/rw-benchmark/plot_data.go b/tools/rw-benchmark/plot_data.go new file mode 100644 index 000000000000..8e3275758171 --- /dev/null +++ b/tools/rw-benchmark/plot_data.go @@ -0,0 +1,465 @@ +// Copyright 2022 The etcd Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "encoding/csv" + "flag" + "fmt" + "io" + "os" + "reflect" + "strconv" + "strings" + + "github.com/ahrtr/gocontainer/map/linkedmap" + "github.com/go-echarts/go-echarts/v2/charts" + "github.com/go-echarts/go-echarts/v2/components" + "github.com/go-echarts/go-echarts/v2/opts" +) + +type params struct { + legends []string + layout components.Layout + csvFiles []string + outFile string +} + +func usage() string { + return strings.TrimLeft(` +rw-benchmark is a tool for visualize etcd read-write performance result. + +Usage: + rw-benchmark [options] result-file1.csv [result-file2.csv] + +Additional options: + -legend: Comma separated names of legends, such as "main,pr". + -layout: The layout of the page, valid values: none, center and flex. + -o: The HTML file name in which the benchmark data will be rendered, defaults to rw_benchmark.html. + -h: Print usage. +`, "\n") +} + +// parseParams parses all the options and arguments +func parseParams(args ...string) (params, error) { + var ps params + // Require at least one argument. + // + // Usually when users use a tool in the first time, they don't know how + // to use it, so usually they just execute the command without any + // arguments. So it would be better to display the usage instead of an + // error message in this case. + if len(args) == 0 { + fmt.Fprintln(os.Stderr, usage()) + os.Exit(2) + } + + var ( + help bool + legend string + layout string + outFile string + + err error + ) + fs := flag.NewFlagSet("", flag.ContinueOnError) + fs.BoolVar(&help, "h", false, "Print the usage") + fs.StringVar(&legend, "legend", "", "The comma separated names of legends") + fs.StringVar(&layout, "layout", "flex", "The layout of the page, valid values: none, center and flex.") + fs.StringVar(&outFile, "o", "rw_benchmark.html", "The HTML file name in which the benchmark data will be rendered") + if err = fs.Parse(args); err != nil { + return ps, err + } else if help { + fmt.Fprint(os.Stderr, usage()) + os.Exit(2) + } + + // At most two csv files can be provided. + if fs.NArg() < 1 || fs.NArg() > 2 { + return ps, fmt.Errorf("unexpected number of arguments: %d, only 1 or 2 csv files are expected", fs.NArg()) + } + + if ps.layout, err = parseLayout(layout); err != nil { + return ps, err + } + + ps.outFile = outFile + + csvFile1 := fs.Arg(0) + ps.csvFiles = append(ps.csvFiles, csvFile1) + csvFile2 := fs.Arg(1) + if len(csvFile2) > 0 { + ps.csvFiles = append(ps.csvFiles, csvFile2) + } + + if len(legend) > 0 { + ps.legends = strings.Split(legend, ",") + } else { + // If no legend is provided, defaults to "1" and "2". + for i := range ps.csvFiles { + ps.legends = append(ps.legends, fmt.Sprintf("%d", i+1)) + } + } + + if len(ps.legends) != len(ps.csvFiles) { + return ps, fmt.Errorf("the number of legends(%d) doesn't match the number of csv files(%d)", len(ps.legends), len(ps.csvFiles)) + } + + return ps, nil +} + +func parseLayout(layout string) (components.Layout, error) { + switch layout { + case "none": + return components.PageNoneLayout, nil + case "center": + return components.PageCenterLayout, nil + case "flex": + return components.PageFlexLayout, nil + default: + return components.PageNoneLayout, fmt.Errorf("invalid layout %q", layout) + } +} + +// loadCSV loads the data in a given csv file +// +// The return value is a map with three levels: +// +// Level 1 (lmRatio): Ratio --> lmValueSize +// Level 2 (lmValueSize): ValueSize --> lmConns +// Level 3 (lmConns): ConnSize --> [2]float64 +// +// In the value(array) of the 3rd map, the first value is the +// read-qps, the second value is the write-qps. +func loadCSV(filename string) (linkedmap.Interface, error) { + // Open the CSV file + f, err := os.Open(filename) + if err != nil { + return nil, fmt.Errorf("failed to open csv file %q, error: %w", filename, err) + } + defer f.Close() + + // Read the CSV file + csvReader := csv.NewReader(f) + records, err := csvReader.ReadAll() + if err != nil { + return nil, fmt.Errorf("failed to read csv file %q, error: %w", filename, err) + } + + lmRatio := linkedmap.New() + // Parse the data + for i, rec := range records { + // When `REPEAT_COUNT` is 1, then there are 6 fields in each record. + // Example: + // DATA,0.007,32,16,245.3039:35907.7856, + if len(rec) >= 6 && rec[0] == "DATA" { + // 0.007 in above example + ratio, err := strconv.ParseFloat(rec[1], 64) + if err != nil { + return nil, fmt.Errorf("failed to parse ratio %q at file %q:%d, error: %w", rec[1], filename, i, err) + } + + // 32 in above example + conns, err := strconv.ParseUint(rec[2], 10, 64) + if err != nil { + return nil, fmt.Errorf("failed to parse conns %q at file %q:%d, error: %w", rec[2], filename, i, err) + } + + // 16 in above example + valSize, err := strconv.ParseUint(rec[3], 10, 64) + if err != nil { + return nil, fmt.Errorf("failed to parse value_size %q at file %q:%d, error: %w", rec[3], filename, i, err) + } + + // parse all the QPS values. Note: the last column is empty. + var ( + cnt = len(rec) - 5 + avgReadQPS float64 + avgWriteQPS float64 + sumReadQPS float64 + sumWriteQPS float64 + ) + for j := 4; j < len(rec)-1; j++ { + // 245.3039:35907.7856 in above example + qps := strings.Split(rec[j], ":") + if len(qps) != 2 { + return nil, fmt.Errorf("unexpected qps values %q at file %q:%d", rec[j], filename, i) + } + readQPS, err := strconv.ParseFloat(qps[0], 64) + if err != nil { + return nil, fmt.Errorf("failed to parse read qps %q at file %q:%d, error: %w", qps[0], filename, i, err) + } + sumReadQPS += readQPS + writeQPS, err := strconv.ParseFloat(qps[1], 64) + if err != nil { + return nil, fmt.Errorf("failed to parse write qps %q at file %q:%d, error: %w", qps[1], filename, i, err) + } + sumWriteQPS += writeQPS + } + avgReadQPS, avgWriteQPS = sumReadQPS/float64(cnt), sumWriteQPS/float64(cnt) + + // Save the data into LinkedMap. + // The first level map: lmRatio + var ( + lmValueSize linkedmap.Interface + lmConn linkedmap.Interface + ) + lm := lmRatio.Get(ratio) + if lm == nil { + lmValueSize = linkedmap.New() + lmRatio.Put(ratio, lmValueSize) + } else { + lmValueSize = lm.(linkedmap.Interface) + } + + // The second level map: lmValueSize + lm = lmValueSize.Get(valSize) + if lm == nil { + lmConn = linkedmap.New() + lmValueSize.Put(valSize, lmConn) + } else { + lmConn = lm.(linkedmap.Interface) + } + + // The third level map: lmConns + lmConn.Put(conns, [2]float64{avgReadQPS, avgWriteQPS}) + } + } + return lmRatio, nil +} + +func loadData(files ...string) ([]linkedmap.Interface, error) { + var dataMaps []linkedmap.Interface + for _, f := range files { + lm, err := loadCSV(f) + if err != nil { + return nil, err + } + dataMaps = append(dataMaps, lm) + } + + return dataMaps, nil +} + +// convertBenchmarkData converts the benchmark data to format +// which is suitable for the line chart. +func convertBenchmarkData(lmConn linkedmap.Interface) ([]uint64, []float64, []float64) { + var ( + conns []uint64 + rQPS []float64 + wQPS []float64 + ) + it, hasNext := lmConn.Iterator() + var k, v interface{} + for hasNext { + k, v, hasNext = it() + connSize := k.(uint64) + rwQPS := v.([2]float64) + conns = append(conns, connSize) + rQPS = append(rQPS, rwQPS[0]) + wQPS = append(wQPS, rwQPS[1]) + } + + return conns, rQPS, wQPS +} + +func generateLineData(qps []float64) []opts.LineData { + items := make([]opts.LineData, 0) + for _, v := range qps { + items = append(items, opts.LineData{Value: v}) + } + return items +} + +// renderChart visualizes the benchmark data in a line chart. +// Note: +// 1. Each line chart is related to a ratio and valueSize combination. +// 2. The data in both CSV files are rendered in one line chart if the second file is present. +func renderChart(page *components.Page, ratio float64, valueSize uint64, legends []string, conns []uint64, rQPSs [][]float64, wQPSs [][]float64) { + // create a new line instance + line := charts.NewLine() + // set some global options like Title/Legend/ToolTip + line.SetGlobalOptions( + charts.WithTitleOpts(opts.Title{ + Title: fmt.Sprintf("etcd rw benchmark (RW Ratio: %f, Value Size: %d)", ratio, valueSize), + }), + charts.WithYAxisOpts(opts.YAxis{ + Name: "QPS (Request/sec)", + }), + charts.WithXAxisOpts(opts.XAxis{ + Name: "Connections", + }), + charts.WithTooltipOpts(opts.Tooltip{Show: true}), + charts.WithLegendOpts(opts.Legend{ + Show: true, + Orient: "vertical", + Left: "right", + Top: "middle", + }), + charts.WithToolboxOpts(opts.Toolbox{ + Show: true, + Orient: "horizontal", + Left: "right", + Feature: &opts.ToolBoxFeature{ + SaveAsImage: &opts.ToolBoxFeatureSaveAsImage{ + Show: true, Title: "Save as image"}, + DataView: &opts.ToolBoxFeatureDataView{ + Show: true, + Title: "Show as table", + Lang: []string{"Data view", "Turn off", "Refresh"}, + }, + }})) + + // Set data for X axis + line.SetXAxis(conns) + + // Render read QPS from the first CSV file + line.AddSeries(fmt.Sprintf("%s read", legends[0]), generateLineData(rQPSs[0]), + charts.WithLineStyleOpts(opts.LineStyle{ + Color: "Blue", + Type: "solid", + })) + + // Render read QPS from the second CSV file + if len(rQPSs) > 1 { + line.AddSeries(fmt.Sprintf("%s read", legends[1]), generateLineData(rQPSs[1]), + charts.WithLineStyleOpts(opts.LineStyle{ + Color: "Blue", + Type: "dashed", + })) + } + + // Render write QPS from the first CSV file + line.AddSeries(fmt.Sprintf("%s write", legends[0]), generateLineData(wQPSs[0]), + charts.WithLineStyleOpts(opts.LineStyle{ + Color: "Red", + Type: "solid", + })) + + // Render write QPS from the second CSV file + if len(wQPSs) > 1 { + line.AddSeries(fmt.Sprintf("%s write", legends[1]), generateLineData(wQPSs[1]), + charts.WithLineStyleOpts(opts.LineStyle{ + Color: "Red", + Type: "dashed", + })) + } + + page.AddCharts(line) +} + +// renderPage renders all data in one HTML page, which may contain multiple +// line charts, each of which is related to a read/write ratio and valueSize +// combination. +// +// Each element in the `dataMap` is a map with three levels, please see +// comment for function `loadCSV`. +func renderPage(dataMap []linkedmap.Interface, ps params) error { + page := components.NewPage() + page.SetLayout(ps.layout) + + it1, hasNext1 := dataMap[0].Iterator() + var k1, v1 interface{} + // Loop the first level map (lmRatio) + for hasNext1 { + k1, v1, hasNext1 = it1() + + ratio := k1.(float64) + lmValueSize := v1.(linkedmap.Interface) + + // Loop the second level map (lmValueSize) + it2, hasNext2 := lmValueSize.Iterator() + var k2, v2 interface{} + for hasNext2 { + k2, v2, hasNext2 = it2() + valueSize := k2.(uint64) + lmConn := v2.(linkedmap.Interface) + + var ( + conns []uint64 + rQPSs [][]float64 + wQPSs [][]float64 + ) + // Loop the third level map (lmConn) to convert the benchmark data + conns, rQPS1, wQPS1 := convertBenchmarkData(lmConn) + rQPSs = append(rQPSs, rQPS1) + wQPSs = append(wQPSs, wQPS1) + + // Convert the related benchmark data in the second CSV file if present. + if len(dataMap) > 1 { + if lm1 := dataMap[1].Get(ratio); lm1 != nil { + lmValueSize2 := lm1.(linkedmap.Interface) + + if lm2 := lmValueSize2.Get(valueSize); lm2 != nil { + lmConn2 := lm2.(linkedmap.Interface) + conn2, rQPS2, wQPS2 := convertBenchmarkData(lmConn2) + if reflect.DeepEqual(conns, conn2) { + rQPSs = append(rQPSs, rQPS2) + wQPSs = append(wQPSs, wQPS2) + } else { + fmt.Fprintf(os.Stderr, "[Ratio: %f, ValueSize: %d] ignore the benchmark data in the second CSV file due to different conns, %v vs %v\n", + ratio, valueSize, conns, conn2) + } + } else { + fmt.Fprintf(os.Stderr, "[Ratio: %f, ValueSize: %d] ignore the benchmark data in the second CSV file due to valueSize not found\n", + ratio, valueSize) + } + } else { + fmt.Fprintf(os.Stderr, "[Ratio: %f, ValueSize: %d] ignore the benchmark data in the second CSV file due to ratio not found\n", + ratio, valueSize) + } + } + + renderChart(page, ratio, valueSize, ps.legends, conns, rQPSs, wQPSs) + } + } + + f, err := os.Create(ps.outFile) + if err != nil { + return fmt.Errorf("failed to create file: %w", err) + } + page.Render(io.MultiWriter(f)) + + return nil +} + +func main() { + // parse CLI flags and arguments + //legends, csvFiles, outFile, err := parseParams(os.Args[1:]...) + ps, err := parseParams(os.Args[1:]...) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to parse the parameters: %v\n", err) + exit() + } + + // load data of CSV files (1 or 2 files are expected) + dataMap, err := loadData(ps.csvFiles...) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to load data file(s): %v\n", err) + exit() + } + + // render all data in one HTML page + if err = renderPage(dataMap, ps); err != nil { + fmt.Fprintf(os.Stderr, "Failed to render data to HTML page: %v\n", err) + exit() + } +} + +func exit() { + fmt.Fprintf(os.Stderr, "\n") + fmt.Fprintf(os.Stderr, "Run `rw-benchmark -h` to print usage info.\n") + os.Exit(1) +} diff --git a/tools/rw-heatmaps/rw-benchmark.sh b/tools/rw-benchmark/rw-benchmark.sh similarity index 100% rename from tools/rw-heatmaps/rw-benchmark.sh rename to tools/rw-benchmark/rw-benchmark.sh diff --git a/tools/rw-heatmaps/README.md b/tools/rw-heatmaps/README.md deleted file mode 100644 index 893ea9871cd3..000000000000 --- a/tools/rw-heatmaps/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# etcd/tools/rw-heatmaps - -`etcd/tools/rw-heatmaps` is the mixed read/write performance evaluation tool for etcd clusters. - -## Execute - -### Benchmark -To get a mixed read/write performance evaluation result: -```sh -# run with default configurations and specify the working directory -./rw-benchmark.sh -w ${WORKING_DIR} -``` -`rw-benchmark.sh` will automatically use the etcd binary compiled under `etcd/bin/` directory. - -Note: the result csv file will be saved to current working directory. The working directory is where etcd database is saved. The working directory is designed for scenarios where a different mounted disk is preferred. - -### Plot Graphs -To generate two images (read and write) based on the benchmark result csv file: -```sh -# to generate a pair of read & write images from one data csv file -./plot_data.py ${FIRST_CSV_FILE} -t ${IMAGE_TITLE} -o ${OUTPUT_IMAGE_NAME} - - -# to generate a pair of read & write images by comparing two data csv files -./plot_data.py ${FIRST_CSV_FILE} ${SECOND_CSV_FILE} -t ${IMAGE_TITLE} -o ${OUTPUT_IMAGE_NAME} -``` diff --git a/tools/rw-heatmaps/plot_data.py b/tools/rw-heatmaps/plot_data.py deleted file mode 100755 index 217eb6f8a8b1..000000000000 --- a/tools/rw-heatmaps/plot_data.py +++ /dev/null @@ -1,281 +0,0 @@ -#!/usr/bin/env python3 -import sys -import os -import argparse -import logging -import pandas as pd -import numpy as np -import matplotlib.pyplot as plt -import matplotlib.colors as colors - -logging.basicConfig(format='[%(levelname)s %(asctime)s %(name)s] %(message)s') -logger = logging.getLogger(__name__) -logger.setLevel(logging.INFO) - -params = None - - -def parse_args(): - parser = argparse.ArgumentParser( - description='plot graph using mixed read/write result file.') - parser.add_argument('input_file_a', type=str, - help='first input data files in csv format. (required)') - parser.add_argument('input_file_b', type=str, nargs='?', - help='second input data files in csv format. (optional)') - parser.add_argument('-t', '--title', dest='title', type=str, required=True, - help='plot graph title string') - parser.add_argument('-z', '--zero-centered', dest='zero', action='store_true', required=False, - help='plot the improvement graph with white color represents 0.0', - default=True) - parser.add_argument('--no-zero-centered', dest='zero', action='store_false', required=False, - help='plot the improvement graph without white color represents 0.0') - parser.add_argument('-o', '--output-image-file', dest='output', type=str, required=True, - help='output image filename') - parser.add_argument('-F', '--output-format', dest='format', type=str, default='png', - help='output image file format. default: jpg') - return parser.parse_args() - - -def load_data_files(*args): - df_list = [] - try: - for i in args: - if i is not None: - logger.debug('loading csv file {}'.format(i)) - df_list.append(pd.read_csv(i)) - except FileNotFoundError as e: - logger.error(str(e)) - sys.exit(1) - res = [] - try: - for df in df_list: - param_df = df[df['type'] == 'PARAM'] - param_str = '' - if len(param_df) != 0: - param_str = param_df['comment'].iloc[0] - new_df = df[df['type'] == 'DATA'][[ - 'ratio', 'conn_size', 'value_size']].copy() - cols = [x for x in df.columns if x.find('iter') != -1] - tmp = [df[df['type'] == 'DATA'][x].str.split(':') for x in cols] - - read_df = [x.apply(lambda x: float(x[0])) for x in tmp] - read_avg = sum(read_df) / len(read_df) - new_df['read'] = read_avg - - write_df = [x.apply(lambda x: float(x[1])) for x in tmp] - write_avg = sum(write_df) / len(write_df) - new_df['write'] = write_avg - - new_df['ratio'] = new_df['ratio'].astype(float) - new_df['conn_size'] = new_df['conn_size'].astype(int) - new_df['value_size'] = new_df['value_size'].astype(int) - res.append({ - 'dataframe': new_df, - 'param': param_str - }) - except Exception as e: - logger.error(str(e)) - sys.exit(1) - return res - - -# This is copied directly from matplotlib source code. Some early versions of matplotlib -# do not have CenteredNorm class -class CenteredNorm(colors.Normalize): - - def __init__(self, vcenter=0, halfrange=None, clip=False): - """ - Normalize symmetrical data around a center (0 by default). - - Unlike `TwoSlopeNorm`, `CenteredNorm` applies an equal rate of change - around the center. - - Useful when mapping symmetrical data around a conceptual center - e.g., data that range from -2 to 4, with 0 as the midpoint, and - with equal rates of change around that midpoint. - - Parameters - ---------- - vcenter : float, default: 0 - The data value that defines ``0.5`` in the normalization. - halfrange : float, optional - The range of data values that defines a range of ``0.5`` in the - normalization, so that *vcenter* - *halfrange* is ``0.0`` and - *vcenter* + *halfrange* is ``1.0`` in the normalization. - Defaults to the largest absolute difference to *vcenter* for - the values in the dataset. - - Examples - -------- - This maps data values -2 to 0.25, 0 to 0.5, and 4 to 1.0 - (assuming equal rates of change above and below 0.0): - - >>> import matplotlib.colors as mcolors - >>> norm = mcolors.CenteredNorm(halfrange=4.0) - >>> data = [-2., 0., 4.] - >>> norm(data) - array([0.25, 0.5 , 1. ]) - """ - self._vcenter = vcenter - self.vmin = None - self.vmax = None - # calling the halfrange setter to set vmin and vmax - self.halfrange = halfrange - self.clip = clip - - def _set_vmin_vmax(self): - """ - Set *vmin* and *vmax* based on *vcenter* and *halfrange*. - """ - self.vmax = self._vcenter + self._halfrange - self.vmin = self._vcenter - self._halfrange - - def autoscale(self, A): - """ - Set *halfrange* to ``max(abs(A-vcenter))``, then set *vmin* and *vmax*. - """ - A = np.asanyarray(A) - self._halfrange = max(self._vcenter-A.min(), - A.max()-self._vcenter) - self._set_vmin_vmax() - - def autoscale_None(self, A): - """Set *vmin* and *vmax*.""" - A = np.asanyarray(A) - if self._halfrange is None and A.size: - self.autoscale(A) - - @property - def vcenter(self): - return self._vcenter - - @vcenter.setter - def vcenter(self, vcenter): - self._vcenter = vcenter - if self.vmax is not None: - # recompute halfrange assuming vmin and vmax represent - # min and max of data - self._halfrange = max(self._vcenter-self.vmin, - self.vmax-self._vcenter) - self._set_vmin_vmax() - - @property - def halfrange(self): - return self._halfrange - - @halfrange.setter - def halfrange(self, halfrange): - if halfrange is None: - self._halfrange = None - self.vmin = None - self.vmax = None - else: - self._halfrange = abs(halfrange) - - def __call__(self, value, clip=None): - if self._halfrange is not None: - # enforce symmetry, reset vmin and vmax - self._set_vmin_vmax() - return super().__call__(value, clip=clip) - - -# plot type is the type of the data to plot. Either 'read' or 'write' -def plot_data(title, plot_type, cmap_name_default, *args): - if len(args) == 1: - fig_size = (12, 16) - df0 = args[0]['dataframe'] - df0param = args[0]['param'] - fig = plt.figure(figsize=fig_size) - count = 0 - for val, df in df0.groupby('ratio'): - count += 1 - plt.subplot(4, 2, count) - plt.tripcolor(df['conn_size'], df['value_size'], df[plot_type]) - plt.title('R/W Ratio {:.4f} [{:.2f}, {:.2f}]'.format(val, df[plot_type].min(), - df[plot_type].max())) - plt.yscale('log', base=2) - plt.ylabel('Value Size') - plt.xscale('log', base=2) - plt.xlabel('Connections Amount') - plt.colorbar() - plt.tight_layout() - fig.suptitle('{} [{}]\n{}'.format(title, plot_type.upper(), df0param)) - elif len(args) == 2: - fig_size = (12, 26) - df0 = args[0]['dataframe'] - df0param = args[0]['param'] - df1 = args[1]['dataframe'] - df1param = args[1]['param'] - fig = plt.figure(figsize=fig_size) - col = 0 - delta_df = df1.copy() - delta_df[[plot_type]] = ((df1[[plot_type]] - df0[[plot_type]]) / - df0[[plot_type]]) * 100 - for tmp in [df0, df1, delta_df]: - row = 0 - for val, df in tmp.groupby('ratio'): - pos = row * 3 + col + 1 - plt.subplot(8, 3, pos) - norm = None - if col == 2: - cmap_name = 'bwr' - if params.zero: - norm = CenteredNorm() - else: - cmap_name = cmap_name_default - plt.tripcolor(df['conn_size'], df['value_size'], df[plot_type], - norm=norm, - cmap=plt.get_cmap(cmap_name)) - if row == 0: - if col == 0: - plt.title('{}\nR/W Ratio {:.4f} [{:.1f}, {:.1f}]'.format( - os.path.basename(params.input_file_a), - val, df[plot_type].min(), df[plot_type].max())) - elif col == 1: - plt.title('{}\nR/W Ratio {:.4f} [{:.1f}, {:.1f}]'.format( - os.path.basename(params.input_file_b), - val, df[plot_type].min(), df[plot_type].max())) - elif col == 2: - plt.title('Gain\nR/W Ratio {:.4f} [{:.2f}%, {:.2f}%]'.format(val, df[plot_type].min(), - df[plot_type].max())) - else: - if col == 2: - plt.title('R/W Ratio {:.4f} [{:.2f}%, {:.2f}%]'.format(val, df[plot_type].min(), - df[plot_type].max())) - else: - plt.title('R/W Ratio {:.4f} [{:.1f}, {:.1f}]'.format(val, df[plot_type].min(), - df[plot_type].max())) - plt.yscale('log', base=2) - plt.ylabel('Value Size') - plt.xscale('log', base=2) - plt.xlabel('Connections Amount') - - if col == 2: - plt.colorbar(format='%.2f%%') - else: - plt.colorbar() - plt.tight_layout() - row += 1 - col += 1 - fig.suptitle('{} [{}]\n{} {}\n{} {}'.format( - title, plot_type.upper(), os.path.basename(params.input_file_a), df0param, - os.path.basename(params.input_file_b), df1param)) - else: - raise Exception('invalid plot input data') - fig.subplots_adjust(top=0.93) - plt.savefig("{}_{}.{}".format(params.output, plot_type, - params.format), format=params.format) - - -def main(): - global params - logging.basicConfig() - params = parse_args() - result = load_data_files(params.input_file_a, params.input_file_b) - for i in [('read', 'viridis'), ('write', 'plasma')]: - plot_type, cmap_name = i - plot_data(params.title, plot_type, cmap_name, *result) - - -if __name__ == '__main__': - main()