\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ QPS (1/s) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.0984, 91.97590739201787) (0.1946, 61.86265179919216) (0.2243, 58.197145371898735) (0.22440000000000002, 58.00393524165449) (0.2279, 39.603830260730675) (0.3996, 30.949789340481523) (0.4128, 30.0266066995128) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.6325000000000001, 203.56918176264932) (0.7363000000000001, 134.77138610485616) (0.7367, 95.05961317439811) (0.8183, 80.94131047529079) (0.8230000000000001, 64.83020169789027) (0.8230999999999999, 47.73276306109714) (0.8234, 47.110391854235424) (0.8992000000000001, 39.65648551215981) (0.8997999999999999, 35.7142209399678) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 55.825577015478025) (0.17270000000000002, 41.143056063621195) (0.22759999999999997, 35.98199932347764) (0.2287, 35.69566714945089) (0.3316, 20.522108801998098) (0.4109, 18.430156750348363) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.6043000000000001, 51.54305704758927) (0.7883, 36.82251407992549) (0.8915, 23.457838991526522) (0.9667, 11.182686850779968) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.2186, 316.9312757818583) (0.2226, 247.51248507892325) (0.36469999999999997, 193.94692694547868) (0.3658, 153.995054084364) (0.3659, 151.6663905241484) (0.4889, 108.01106402243295) (0.6192, 50.31883320211075) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.177, 168.6300959666476) (0.1777, 112.24157474487498) (0.265, 109.07939527999241) (0.2666, 79.61953202332566) (0.26680000000000004, 79.58432744865637) (0.3416, 64.48761675348648) (0.3419, 37.16145611741503) (0.4274, 30.039135994400663) (0.42910000000000004, 27.263098602154415) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.2508, 1061.8682006689235) (0.25139999999999996, 639.7052139669524) (0.4805, 599.0739165639359) (0.6938, 348.4185817085362) (0.6954, 313.45689345928497) (0.7007, 195.80986979213958) (0.8291999999999999, 146.4815475264992) (0.8805999999999999, 146.06436096023705) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0616, 457.2704936146488) (0.5892000000000001, 431.9219721647804) (0.5934999999999999, 361.51902836520605) (0.597, 355.95198713573785) (0.6987, 240.08893522665093) (0.706, 217.70177464952633) (0.7617, 141.34205506292736) (0.7652, 138.38660110947393) (0.7938, 128.30759286369042) (0.7952, 117.66079135650281) (0.8005000000000001, 102.82231706216601) (0.8445, 69.43267452228683) (0.8451000000000001, 56.91910245759794) (0.8926999999999999, 53.7700509037534) (0.8961, 52.16230149759127) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 798.9824665205083) (0.0085, 656.406147297255) (0.016, 353.2411357134255) (0.017, 174.72296815227773) (0.0258, 154.2983072009671) (0.0268, 142.65207653242766) (0.029099999999999997, 139.58809055768322) (0.0318, 131.79393836443637) (0.0327, 106.05092477466128) (0.0437, 68.1234809556697) (0.0492, 60.78936413382819) (0.07930000000000001, 47.74266035126603) (0.07970000000000001, 46.57457605994231) (0.0813, 44.12141252721872) (0.0847, 42.75610113578437) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0514, 9.989239886755096) (0.0939, 8.679654091560991) (0.1593, 6.712354708797956) (0.2177, 5.518432453331529) (0.23370000000000002, 3.8819260439937664) (0.3386, 3.2041891365184365) (0.3821, 2.129632722777917) (0.4072, 1.361677554448378) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-QPS (1/s) tradeoff - up and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Build time (s) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.22440000000000002, 2.314427137374878) (0.4128, 4.428887605667114) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.8992000000000001, 55.98536705970764) (0.8997999999999999, 104.95484399795532) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2287, 4.256772756576538) (0.4109, 8.255039691925049) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9667, 83.74053239822388) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.6192, 7.216185569763184) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.4274, 17.007681131362915) (0.42910000000000004, 31.752697229385376) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.8805999999999999, 1.907350778579712) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8926999999999999, 6.006217002868652) (0.8961, 11.450723886489868) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.07970000000000001, 8.303024291992188) (0.0813, 15.29399561882019) (0.0847, 28.990959882736206) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.2177, 36.27193570137024) (0.23370000000000002, 69.56424331665039) (0.3386, 69.66912007331848) (0.3821, 136.1999032497406) (0.4072, 268.80417132377625) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Build time (s) tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Index size (kB) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.22440000000000002, 133904.0) (0.2279, 159180.0) (0.4128, 167152.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.8992000000000001, 5317644.0) (0.8997999999999999, 6768776.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2287, 235288.0) (0.4109, 285924.0) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9667, 3976368.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.6192, 670136.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.4274, 1141188.0) (0.42910000000000004, 1336384.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.8805999999999999, 317508.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8926999999999999, 550868.0) (0.8958999999999999, 557696.0) (0.8961, 700340.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.07970000000000001, 656184.0) (0.0813, 656708.0) (0.0847, 659220.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.2177, 1848840.0) (0.23370000000000002, 2061888.0) (0.3386, 2077860.0) (0.3821, 2503976.0) (0.4072, 3356156.0) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Index size (kB) tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Distance comp. }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.0072, 468) (0.009600000000000001, 485) (0.01, 505) (0.010100000000000001, 522) (0.0128, 839) (0.014599999999999998, 852) (0.0157, 916) (0.0158, 917) (0.0171, 921) (0.017599999999999998, 942) (0.0179, 944) (0.018, 979) (0.0182, 989) (0.0328, 1652) (0.033600000000000005, 1720) (0.035699999999999996, 1735) (0.037, 1799) (0.038, 1842) (0.1042, 5009) (0.1946, 9966) (0.20600000000000002, 10009) (0.2278, 11422) (0.2279, 11432) (0.22799999999999998, 11458) (0.3996, 19640) (0.4061, 20356) (0.4128, 20435) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.27959999999999996, 1178) (0.4777, 2382) (0.47800000000000004, 2386) (0.634, 5009) (0.7426, 10009) (0.8234, 20009) (0.8997999999999999, 50009) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.009, 506) (0.0093, 527) (0.0111, 538) (0.011300000000000001, 561) (0.0117, 588) (0.011899999999999999, 604) (0.0137, 917) (0.0164, 953) (0.0183, 984) (0.0185, 1006) (0.0188, 1025) (0.019200000000000002, 1035) (0.0315, 1881) (0.0346, 1941) (0.0354, 1993) (0.036199999999999996, 2042) (0.0368, 2071) (0.0939, 5009) (0.17270000000000002, 9777) (0.22759999999999997, 13029) (0.2287, 13129) (0.3316, 19835) (0.3969, 24053) (0.4029, 24477) (0.4109, 24716) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.054900000000000004, 434) (0.05639999999999999, 456) (0.0611, 464) (0.063, 488) (0.0651, 503) (0.0663, 527) (0.1026, 785) (0.10700000000000001, 815) (0.10900000000000001, 850) (0.10969999999999999, 872) (0.11499999999999999, 880) (0.1153, 910) (0.1197, 941) (0.11979999999999999, 956) (0.1234, 989) (0.6094999999999999, 5009) (0.7602, 8776) (0.7883, 10009) (0.8329000000000001, 11684) (0.8534, 13026) (0.8764, 18792) (0.8915, 20009) (0.9207000000000001, 28269) (0.9244999999999999, 30634) (0.9667, 50009) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0199, 432) (0.020999999999999998, 454) (0.0216, 467) (0.0224, 481) (0.0227, 486) (0.0234, 514) (0.0236, 545) (0.025, 557) (0.033, 676) (0.0354, 709) (0.038, 754) (0.0385, 783) (0.039, 820) (0.040600000000000004, 828) (0.0427, 896) (0.0428, 911) (0.2271, 5009) (0.3704, 10009) (0.4718, 18488) (0.4732, 18590) (0.4889, 20009) (0.5749, 36749) (0.6192, 50009) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0178, 418) (0.0201, 423) (0.0208, 444) (0.0221, 471) (0.025, 525) (0.0295, 681) (0.0312, 759) (0.0339, 841) (0.0379, 946) (0.0381, 970) (0.0385, 985) (0.1777, 5009) (0.2703, 10009) (0.3371, 18474) (0.3408, 18529) (0.3419, 18692) (0.3445, 20009) (0.40700000000000003, 36720) (0.42910000000000004, 50009) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0243, 444) (0.0253, 469) (0.0262, 477) (0.026500000000000003, 504) (0.0269, 509) (0.027800000000000002, 531) (0.028199999999999996, 559) (0.0414, 789) (0.0438, 835) (0.0454, 889) (0.0489, 943) (0.25139999999999996, 5009) (0.4805, 10009) (0.6668999999999999, 17859) (0.6731, 18117) (0.674, 18297) (0.6761, 18415) (0.7007, 20009) (0.8234, 36925) (0.8291999999999999, 37132) (0.8805999999999999, 50009) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.064, 234) (0.0656, 245) (0.0685, 251) (0.0706, 259) (0.0721, 267) (0.0744, 280) (0.11000000000000001, 422) (0.11579999999999999, 443) (0.1203, 470) (0.1216, 478) (0.122, 485) (0.127, 494) (0.1272, 500) (0.1316, 511) (0.597, 5009) (0.7036, 9574) (0.706, 10009) (0.7617, 14618) (0.7652, 14826) (0.7975, 19612) (0.8005000000000001, 20009) (0.8407, 30883) (0.8445, 31004) (0.8451000000000001, 31666) (0.8961, 50009) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.00030000000000000003, 112) (0.0004, 136) (0.0005, 243) (0.0006000000000000001, 260) (0.0085, 5009) (0.0154, 9989) (0.017, 10009) (0.0219, 15394) (0.0263, 15540) (0.0268, 16192) (0.0327, 20009) (0.0437, 30419) (0.0446, 30804) (0.0492, 31024) (0.0847, 50009) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0025, 439) (0.0034000000000000002, 451) (0.0035000000000000005, 479) (0.0058000000000000005, 743) (0.006900000000000001, 762) (0.007299999999999999, 833) (0.0079, 879) (0.015, 1500) (0.016900000000000002, 1604) (0.017, 1626) (0.0172, 1797) (0.017499999999999998, 1840) (0.020399999999999998, 2153) (0.0228, 2505) (0.025, 2770) (0.0251, 2845) (0.031, 3137) (0.0315, 3198) (0.0318, 3242) (0.033800000000000004, 3344) (0.0356, 3555) (0.0358, 3603) (0.036, 3655) (0.0514, 4938) (0.0522, 5009) (0.0939, 9144) (0.1036, 10009) (0.1593, 15680) (0.18560000000000001, 18321) (0.19290000000000002, 19035) (0.1955, 19652) (0.2064, 20009) (0.2177, 21747) (0.2284, 23015) (0.23370000000000002, 23432) (0.3386, 34081) (0.3821, 38771) (0.4072, 40552) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Distance comp. tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Relative Error }, ylabel={ QPS (1/s) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.10960820203291476, 91.97590739201787) (0.05519799763978496, 61.86265179919216) (0.048475521530412985, 58.197145371898735) (0.04839452006507797, 58.00393524165449) (0.04759090013941435, 39.603830260730675) (0.027188018208166263, 30.949789340481523) (0.02622714887168733, 30.0266066995128) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (7.490114768841169, 203.56918176264932) (4.491863031236208, 134.77138610485616) (4.461446651250363, 97.52567350501351) (4.393467139457369, 94.73954240142183) (2.547724363715805, 80.94131047529079) (1.225390521022282, 39.65648551215981) (1.212448673768944, 35.85344832560333) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.1278023137892575, 55.825577015478025) (0.06513589101405784, 41.143056063621195) (0.04881335313046731, 35.98199932347764) (0.048415094976912064, 35.69566714945089) (0.04797729264528517, 24.140706798218112) (0.04793781996571693, 24.102253680681514) (0.03221438262870395, 20.522108801998098) (0.026048482149200896, 18.430156750348363) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (2.0538353679361983, 51.54305704758927) (1.0715810333989975, 36.82251407992549) (0.9961083914513167, 26.418115038458122) (0.5637664357396583, 23.457838991526522) (0.5040820297321521, 18.415726782969667) (0.22464683376296077, 11.182686850779968) (0.21561302507975647, 9.917651296602035) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (1.4624179243442508, 316.9312757818583) (1.4418488993643905, 224.84972238915265) (0.910073555717158, 193.94692694547868) (0.8871528135458095, 153.995054084364) (0.5327750234556342, 108.01106402243295) (0.447179269667566, 94.17010526911356) (0.239910966773457, 50.31883320211075) (0.23846396846314918, 47.46129714997237) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3324510019034551, 168.6300959666476) (0.2700920666420862, 109.07939527999241) (0.26843879365168355, 79.58432744865637) (0.21465285256745958, 64.48761675348648) (0.21374840827143016, 52.7966567461294) (0.19817517605593113, 50.946407292373095) (0.1941725523974048, 50.686429283737255) (0.1911276698981092, 37.16145611741503) (0.15498349819619972, 30.039135994400663) (0.1542841410344316, 27.263098602154415) (0.15267656338350094, 27.262179617209025) (0.15253822943115775, 23.502267423396034) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (2.6341891272659947, 1061.8682006689235) (1.359137318241397, 599.0739165639359) (1.3560490666424505, 557.5739818731133) (1.3180143601109686, 494.6330192786759) (0.6875382377734226, 348.4185817085362) (0.6738986170125641, 326.5868779988979) (0.6395311390650834, 313.45689345928497) (0.34838538235825794, 146.4815475264992) (0.26684908683774716, 146.06436096023705) (0.2594568355378808, 141.52193549105462) (0.2506977295115288, 137.71948272581412) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (8.46304433810323, 457.2704936146488) (1.7681818696052432, 431.9219721647804) (1.6939964117456419, 337.7879072801548) (1.0066841631887666, 240.08893522665093) (0.9947471913774173, 217.70177464952633) (0.9946850161399534, 210.89226353508153) (0.8866617394889865, 200.69463830069034) (0.6494108076621452, 141.34205506292736) (0.6341847292948839, 138.38660110947393) (0.522088391953244, 128.30759286369042) (0.5203024444755965, 117.66079135650281) (0.5023395595555807, 102.82231706216601) (0.34414771388385734, 69.43267452228683) (0.3394846959949182, 56.91910245759794) (0.22224586961607296, 53.7700509037534) (0.21127991539160754, 52.16230149759127) (0.19958325039289065, 48.13845369536336) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (29.182641185881987, 798.9824665205083) (1.1883042331274005, 656.406147297255) (1.128571106113722, 550.7190012251756) (0.6678899121056866, 353.2411357134255) (0.5953111780866673, 290.02495043346045) (0.4594904240903903, 154.2983072009671) (0.4476735955188648, 142.65207653242766) (0.3204830325117792, 139.58809055768322) (0.24934742966478526, 68.1234809556697) (0.16099517898518068, 47.74266035126603) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.22245599760893855, 9.989239886755096) (0.12112551268278786, 8.679654091560991) (0.07171468787418564, 6.712354708797956) (0.05139016935566029, 5.518432453331529) (0.04714323740908394, 3.8819260439937664) (0.03240834593442934, 3.2041891365184365) (0.0279036168889988, 2.129632722777917) (0.026836861221627567, 1.361677554448378) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Relative Error-QPS (1/s) tradeoff - up and to the left is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Candidates generated }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.4128, 10.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.8997999999999999, 10.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.4109, 10.0) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9667, 10.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.6192, 10.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.42910000000000004, 10.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.8805999999999999, 10.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8961, 10.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0847, 10.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.4072, 10.0) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Candidates generated tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Index size (kB)/QPS (s) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.0984, 1455.859515789032) (0.1946, 2164.5370204086307) (0.2243, 2300.8688681259155) (0.22440000000000002, 2308.5330235290526) (0.2279, 4019.308207111359) (0.3996, 5400.7475838088985) (0.4128, 5566.7961975440985) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.6325000000000001, 26122.04830788231) (0.7363000000000001, 39456.77308581448) (0.7367, 56240.45608298206) (0.8183, 65697.52786030484) (0.8230000000000001, 104407.75784629823) (0.8234, 113509.90279481697) (0.8992000000000001, 134092.6693660097) (0.8997999999999999, 189526.07173981666) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 4214.698935127259) (0.17270000000000002, 5718.777905952453) (0.22759999999999997, 6539.047424373626) (0.2287, 6591.500279708863) (0.3316, 13932.486313110354) (0.4109, 15513.921225580218) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.6043000000000001, 77146.53006182099) (0.7883, 107987.41203191757) (0.8915, 169511.2666361275) (0.9667, 355582.52261375426) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.2186, 2114.452094848633) (0.2226, 2733.2762619400028) (0.36469999999999997, 3455.2545407867433) (0.3658, 4404.8687409687045) (0.3659, 5678.753196561813) (0.4889, 6204.327362804413) (0.6192, 13317.796883491515) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.177, 6767.404083229065) (0.1777, 10281.644770425797) (0.265, 10461.994193043709) (0.2666, 14494.282629818916) (0.26680000000000004, 14523.11073113823) (0.3416, 17696.234679634093) (0.3419, 31794.55606547928) (0.4274, 37990.04073262024) (0.42910000000000004, 49018.05255160522) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.2508, 299.0088598566055) (0.4805, 529.9980373392106) (0.6938, 911.2831997737884) (0.6954, 1018.385643005371) (0.8805999999999999, 2173.7540760297775) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.5892000000000001, 1275.387767931938) (0.597, 1553.816301042557) (0.6987, 2294.4331003007887) (0.7036, 2766.8900609493257) (0.7038, 3207.4233407287597) (0.706, 3216.9696417379378) (0.7617, 3928.766988372803) (0.7652, 4012.6717149496076) (0.7938, 4293.339058938026) (0.8005000000000001, 5423.880884368896) (0.8445, 10213.577467369081) (0.8926999999999999, 10244.885224044801) (0.8958999999999999, 11585.249570526123) (0.8961, 13426.171389932631) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 896.4652292299271) (0.0085, 999.6615703582764) (0.016, 1857.6092466545106) (0.017, 3779.262720768929) (0.0258, 4270.947698354721) (0.0268, 4619.63131570816) (0.0318, 4978.863278108596) (0.0323, 6655.887761378288) (0.0327, 7571.871737151146) (0.0437, 11856.880897287368) (0.0492, 13332.069047733306) (0.07970000000000001, 14088.88830583191) (0.0813, 14884.11096527958) (0.0847, 15418.150450773239) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0514, 185083.15156705855) (0.0939, 213008.48864444732) (0.1593, 275438.3640627194) (0.2177, 335029.923014431) (0.23370000000000002, 531150.7681065217) (0.3386, 648482.3184494447) (0.3821, 1175778.327041193) (0.4072, 2464721.54074655) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Index size (kB)/QPS (s) tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Eps 0.01 Recall }, ylabel={ QPS (1/s) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.099, 91.97590739201787) (0.1961, 61.86265179919216) (0.2262, 58.197145371898735) (0.2263, 58.00393524165449) (0.2298, 39.603830260730675) (0.40199999999999997, 30.949789340481523) (0.4152, 30.0266066995128) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.0005, 203.56918176264932) (0.0009, 134.77138610485616) (0.0010999999999999998, 97.52567350501351) (0.002, 80.94131047529079) (0.0028, 65.9131167480115) (0.005, 39.65648551215981) (0.0052, 35.85344832560333) (0.0054, 29.602125733093544) (0.0055, 28.813927332420374) (0.0058000000000000005, 22.122185572591324) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.09409999999999999, 55.825577015478025) (0.1731, 41.143056063621195) (0.2287, 35.98199932347764) (0.2298, 35.69566714945089) (0.33340000000000003, 20.522108801998098) (0.41319999999999996, 18.430156750348363) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.0052, 51.54305704758927) (0.011600000000000001, 36.82251407992549) (0.0225, 23.457838991526522) (0.023, 18.415726782969667) (0.0533, 11.182686850779968) (0.0539, 9.917651296602035) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0035000000000000005, 316.9312757818583) (0.0049, 247.51248507892325) (0.007299999999999999, 193.94692694547868) (0.0082, 156.12556737517374) (0.0173, 108.01106402243295) (0.018, 73.26392455166217) (0.0439, 50.31883320211075) (0.0451, 40.412400527928455) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0028, 168.6300959666476) (0.0033, 112.24157474487498) (0.004399999999999999, 109.81339046078276) (0.0067, 109.07939527999241) (0.0079, 80.42850675184235) (0.0094, 79.58432744865637) (0.014599999999999998, 64.48761675348648) (0.015099999999999999, 52.7966567461294) (0.0193, 50.946407292373095) (0.02, 50.686429283737255) (0.0219, 37.43795960378121) (0.0224, 37.16145611741503) (0.0403, 30.039135994400663) (0.0418, 23.502267423396034) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0059, 1061.8682006689235) (0.009600000000000001, 599.0739165639359) (0.017599999999999998, 348.4185817085362) (0.0185, 189.62598600965467) (0.032600000000000004, 146.4815475264992) (0.0436, 146.06436096023705) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0005, 457.2704936146488) (0.0049, 431.9219721647804) (0.0054, 361.51902836520605) (0.0056, 277.2929102981463) (0.009, 240.08893522665093) (0.011600000000000001, 217.70177464952633) (0.014599999999999998, 141.34205506292736) (0.0155, 138.38660110947393) (0.018099999999999998, 128.30759286369042) (0.0235, 117.66079135650281) (0.0329, 69.43267452228683) (0.053200000000000004, 53.7700509037534) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 798.9824665205083) (0.0060999999999999995, 656.406147297255) (0.0108, 353.2411357134255) (0.0117, 280.1049228778915) (0.0131, 174.72296815227773) (0.0194, 154.2983072009671) (0.020200000000000003, 142.65207653242766) (0.0222, 139.58809055768322) (0.023, 106.05092477466128) (0.0243, 85.63220457075823) (0.0332, 68.1234809556697) (0.0363, 60.78936413382819) (0.06, 47.74266035126603) (0.060899999999999996, 42.75610113578437) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0516, 9.989239886755096) (0.09419999999999999, 8.679654091560991) (0.1599, 6.712354708797956) (0.2185, 5.518432453331529) (0.23610000000000003, 3.8819260439937664) (0.3416, 3.2041891365184365) (0.3856, 2.129632722777917) (0.41130000000000005, 1.361677554448378) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Eps 0.01 Recall-QPS (1/s) tradeoff - up and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Eps 0.1 Recall }, ylabel={ QPS (1/s) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.10729999999999999, 91.97590739201787) (0.21539999999999998, 61.86265179919216) (0.24860000000000002, 58.197145371898735) (0.2487, 58.00393524165449) (0.2525, 39.603830260730675) (0.4382, 30.949789340481523) (0.4535, 30.0266066995128) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.0006000000000000001, 203.56918176264932) (0.0010999999999999998, 134.77138610485616) (0.0024000000000000002, 80.94131047529079) (0.003, 65.9131167480115) (0.0031, 47.110391854235424) (0.0057, 39.65648551215981) (0.0060999999999999995, 29.602125733093544) (0.0062, 28.813927332420374) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.1012, 55.825577015478025) (0.1877, 41.143056063621195) (0.2479, 35.98199932347764) (0.2492, 35.69566714945089) (0.36619999999999997, 20.522108801998098) (0.45359999999999995, 18.430156750348363) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.0054, 51.54305704758927) (0.0124, 36.82251407992549) (0.024399999999999998, 23.457838991526522) (0.0246, 18.415726782969667) (0.05739999999999999, 11.182686850779968) (0.0581, 9.917651296602035) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0038, 316.9312757818583) (0.0050999999999999995, 247.51248507892325) (0.008, 193.94692694547868) (0.0086, 156.12556737517374) (0.019200000000000002, 108.01106402243295) (0.0481, 50.31883320211075) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0031, 168.6300959666476) (0.004, 112.24157474487498) (0.0045, 109.81339046078276) (0.0073999999999999995, 109.07939527999241) (0.008400000000000001, 80.42850675184235) (0.0099, 79.58432744865637) (0.0161, 64.48761675348648) (0.017, 52.7966567461294) (0.020499999999999997, 50.946407292373095) (0.0212, 50.686429283737255) (0.023899999999999998, 37.43795960378121) (0.024399999999999998, 37.16145611741503) (0.0438, 30.039135994400663) (0.0449, 23.502267423396034) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0062, 1061.8682006689235) (0.0103, 599.0739165639359) (0.0194, 348.4185817085362) (0.020399999999999998, 189.62598600965467) (0.0361, 146.4815475264992) (0.0474, 146.06436096023705) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0005, 457.2704936146488) (0.0055, 431.9219721647804) (0.006, 361.51902836520605) (0.010100000000000001, 240.08893522665093) (0.0127, 217.70177464952633) (0.0153, 141.34205506292736) (0.0162, 138.38660110947393) (0.020200000000000003, 128.30759286369042) (0.0254, 117.66079135650281) (0.036, 69.43267452228683) (0.0588, 53.7700509037534) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 798.9824665205083) (0.0064, 656.406147297255) (0.011300000000000001, 353.2411357134255) (0.011899999999999999, 280.1049228778915) (0.0134, 174.72296815227773) (0.0198, 154.2983072009671) (0.0206, 142.65207653242766) (0.0223, 139.58809055768322) (0.022600000000000002, 131.79393836443637) (0.0227, 114.14236826887097) (0.0242, 106.05092477466128) (0.0243, 99.04313648815047) (0.0254, 85.63220457075823) (0.034499999999999996, 68.1234809556697) (0.0381, 60.78936413382819) (0.062, 47.74266035126603) (0.0641, 42.75610113578437) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.056100000000000004, 9.989239886755096) (0.10149999999999999, 8.679654091560991) (0.1736, 6.712354708797956) (0.2386, 5.518432453331529) (0.2556, 3.8819260439937664) (0.3729, 3.2041891365184365) (0.4181, 2.129632722777917) (0.44539999999999996, 1.361677554448378) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Eps 0.1 Recall-QPS (1/s) tradeoff - up and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Percentile 50 (millis) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.0984, 10.759353637695312) (0.1946, 16.026973724365234) (0.2243, 17.063021659851074) (0.22440000000000002, 17.18306541442871) (0.2279, 25.08103847503662) (0.3996, 32.103776931762695) (0.4128, 33.16175937652588) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.6325000000000001, 4.862427711486816) (0.7363000000000001, 7.2869062423706055) (0.7367, 10.536551475524902) (0.8183, 12.354135513305664) (0.8230000000000001, 15.458345413208008) (0.8230999999999999, 20.93827724456787) (0.8234, 21.20387554168701) (0.8992000000000001, 25.165438652038574) (0.8997999999999999, 27.889013290405273) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 17.809391021728516) (0.17270000000000002, 24.161696434020996) (0.22759999999999997, 27.660250663757324) (0.2287, 27.810215950012207) (0.3316, 48.476457595825195) (0.4109, 53.99620532989502) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.6043000000000001, 19.254446029663086) (0.7883, 27.016401290893555) (0.8915, 42.4271821975708) (0.9667, 89.06638622283936) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.2186, 3.140091896057129) (0.2226, 4.007697105407715) (0.36469999999999997, 5.09035587310791) (0.3658, 6.433248519897461) (0.3659, 6.54911994934082) (0.4889, 9.197354316711426) (0.6192, 19.738078117370605) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.177, 5.863785743713379) (0.1777, 8.887171745300293) (0.265, 9.130597114562988) (0.2666, 12.51065731048584) (0.26680000000000004, 12.522697448730469) (0.3416, 15.430927276611328) (0.3419, 26.871085166931152) (0.4274, 33.18989276885986) (0.42910000000000004, 36.58270835876465) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.2508, 0.9211301803588867) (0.25139999999999996, 1.5398263931274414) (0.4805, 1.6477108001708984) (0.6938, 2.8668642044067383) (0.6954, 3.1949281692504883) (0.7007, 4.9790143966674805) (0.8291999999999999, 6.78861141204834) (0.8805999999999999, 6.836175918579102) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0616, 2.1638870239257812) (0.0629, 2.271413803100586) (0.5892000000000001, 2.307295799255371) (0.5934999999999999, 2.7506351470947266) (0.597, 2.785921096801758) (0.6987, 4.149913787841797) (0.706, 4.5528411865234375) (0.7617, 7.032036781311035) (0.7652, 7.186770439147949) (0.7938, 7.688164710998535) (0.7952, 8.38315486907959) (0.8005000000000001, 9.656071662902832) (0.8445, 14.386653900146484) (0.8451000000000001, 17.451763153076172) (0.8926999999999999, 18.417954444885254) (0.8961, 19.011616706848145) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 1.2351274490356445) (0.0085, 1.446366310119629) (0.016, 2.681136131286621) (0.017, 5.720019340515137) (0.0258, 6.419897079467773) (0.029099999999999997, 6.881833076477051) (0.0318, 7.6171159744262695) (0.0327, 9.567499160766602) (0.0437, 14.64533805847168) (0.0492, 16.396284103393555) (0.07930000000000001, 20.879268646240234) (0.07970000000000001, 21.366477012634277) (0.0813, 22.512197494506836) (0.0847, 23.259520530700684) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0514, 94.41816806793213) (0.0939, 114.68958854675293) (0.1593, 148.3461856842041) (0.2177, 180.58443069458008) (0.23370000000000002, 256.90948963165283) (0.3386, 311.23995780944824) (0.3821, 468.40202808380127) (0.4072, 733.423113822937) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Percentile 50 (millis) tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Percentile 95 (millis) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.0984, 11.706781387329102) (0.1946, 17.208600044250485) (0.22440000000000002, 18.256711959838867) (0.2279, 26.446640491485596) (0.3996, 33.94749164581299) (0.4128, 34.88204479217529) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.6325000000000001, 5.522871017456055) (0.7363000000000001, 8.266496658325195) (0.7367, 11.500036716461182) (0.8183, 13.088011741638184) (0.8230000000000001, 16.077983379364014) (0.8230999999999999, 21.758735179901123) (0.8234, 22.09855318069458) (0.8992000000000001, 25.867700576782227) (0.8997999999999999, 28.862881660461426) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 18.888413906097412) (0.17270000000000002, 25.680482387542725) (0.22759999999999997, 28.920888900756836) (0.2287, 29.47232723236084) (0.3316, 50.721728801727295) (0.4109, 56.441402435302734) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.6043000000000001, 20.573556423187256) (0.7883, 28.327894210815426) (0.8915, 43.983376026153564) (0.9667, 92.69416332244873) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.2186, 3.367531299591064) (0.2226, 4.413497447967529) (0.36469999999999997, 5.75488805770874) (0.3658, 6.997919082641602) (0.3659, 7.2034358978271475) (0.3704, 9.943032264709473) (0.4889, 9.951329231262207) (0.6192, 20.92719078063965) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.177, 6.4455389976501465) (0.1777, 9.424829483032227) (0.265, 9.775316715240479) (0.26680000000000004, 13.06992769241333) (0.3416, 16.13452434539795) (0.3419, 27.95562744140625) (0.4274, 34.478724002838135) (0.42910000000000004, 37.81799077987671) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.2508, 1.1069893836975098) (0.25139999999999996, 1.762568950653076) (0.4805, 1.8587708473205566) (0.6938, 3.160738945007324) (0.6954, 3.483867645263672) (0.7007, 5.854380130767822) (0.8805999999999999, 7.471144199371338) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0616, 2.356886863708496) (0.5892000000000001, 2.4795889854431152) (0.5934999999999999, 2.9579758644104004) (0.597, 3.1495213508605957) (0.6987, 4.505884647369385) (0.706, 4.8938751220703125) (0.7617, 7.780146598815918) (0.7652, 8.016908168792725) (0.7938, 8.599734306335447) (0.7952, 9.397614002227783) (0.8005000000000001, 10.538852214813232) (0.8445, 15.495026111602783) (0.8451000000000001, 18.75619888305664) (0.8926999999999999, 20.03113031387329) (0.8961, 20.335614681243896) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 1.3437509536743164) (0.0085, 1.9803524017333982) (0.016, 3.803467750549316) (0.017, 6.593537330627441) (0.0258, 8.040213584899902) (0.0268, 8.346211910247803) (0.0318, 9.17365550994873) (0.0327, 10.58276891708374) (0.0437, 15.880751609802246) (0.0492, 17.65202283859253) (0.07930000000000001, 22.608911991119385) (0.07970000000000001, 23.092567920684814) (0.0813, 24.236249923706055) (0.0847, 24.994254112243652) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 119.51408386230469) (0.1593, 154.07202243804932) (0.2177, 186.83964014053345) (0.23370000000000002, 265.46252965927124) (0.3386, 320.2907681465149) (0.3821, 481.55055046081543) (0.4072, 747.8924512863159) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Percentile 95 (millis) tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Percentile 99 (millis) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.0984, 12.181031703948975) (0.1946, 17.921693325042725) (0.2243, 18.83082866668701) (0.22440000000000002, 18.906607627868652) (0.2278, 27.3919939994812) (0.2279, 27.79926776885986) (0.3996, 34.62743043899536) (0.4128, 35.656118392944336) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.6325000000000001, 6.0475945472717285) (0.7363000000000001, 8.552601337432861) (0.7367, 11.788573265075684) (0.8183, 13.444578647613525) (0.8230000000000001, 16.46475315093994) (0.8230999999999999, 22.05780267715454) (0.8234, 22.718322277069092) (0.8992000000000001, 26.135437488555908) (0.8997999999999999, 29.487106800079346) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 19.58540678024292) (0.17270000000000002, 26.139075756072998) (0.22759999999999997, 29.960155487060547) (0.2287, 30.198824405670166) (0.3316, 51.81710720062256) (0.4109, 57.749106884002686) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.6043000000000001, 20.93557119369507) (0.7883, 28.916561603546143) (0.8915, 45.28195142745972) (0.9667, 94.8031997680664) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.2186, 3.5109686851501465) (0.2226, 4.6774959564208975) (0.36469999999999997, 6.100707054138184) (0.3658, 7.4468183517456055) (0.3659, 7.462530136108398) (0.3704, 10.253043174743652) (0.4889, 10.33583402633667) (0.6192, 21.803593635559082) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.177, 6.684422492980957) (0.1777, 9.788029193878174) (0.265, 9.969394207000732) (0.2666, 13.524370193481445) (0.26680000000000004, 13.603463172912598) (0.3416, 16.931180953979492) (0.3419, 28.502750396728516) (0.4274, 34.99792814254761) (0.42910000000000004, 38.65751981735229) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.2508, 1.255214214324951) (0.25139999999999996, 1.8552350997924805) (0.4805, 2.076900005340576) (0.6938, 3.2805776596069336) (0.6954, 3.6974287033081055) (0.7007, 6.3954687118530265) (0.8805999999999999, 7.810213565826416) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0616, 2.4755382537841797) (0.5892000000000001, 2.598576545715332) (0.5934999999999999, 3.2479476928710933) (0.597, 3.5308480262756343) (0.6987, 4.686856269836426) (0.706, 5.0778889656066895) (0.7617, 8.111560344696045) (0.7652, 8.47515344619751) (0.7938, 9.0751314163208) (0.7952, 9.830241203308105) (0.8005000000000001, 10.786774158477783) (0.8445, 15.973048210144041) (0.8451000000000001, 19.432835578918457) (0.8926999999999999, 20.672404766082764) (0.8961, 21.378443241119385) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 1.3993120193481443) (0.0085, 2.625758647918701) (0.016, 4.697632789611816) (0.017, 6.885056495666504) (0.0258, 8.738272190093992) (0.0268, 8.917732238769531) (0.0318, 9.74304676055908) (0.0327, 11.095545291900635) (0.0437, 16.66048526763916) (0.0492, 18.17705631256103) (0.07970000000000001, 23.78525733947754) (0.0813, 25.508615970611572) (0.0847, 25.681679248809814) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 122.18733072280884) (0.1593, 157.66771078109738) (0.2177, 190.2066206932068) (0.23370000000000002, 269.2418122291565) (0.3386, 324.9403738975525) (0.3821, 487.65690088272095) (0.4072, 759.0296959877014) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Percentile 99 (millis) tradeoff - down and to the right is better } \label{} \end{figure}
\begin{figure} \centering \begin{tikzpicture} \begin{axis}[ xlabel={ Recall }, ylabel={ Percentile 99.9 (millis) }, ymode = log, yticklabel style={/pgf/number format/fixed, /pgf/number format/precision=3}, legend style = { anchor=west} ] \addplot [ color=red!90!black, mark=o, mark size=2.5pt, line width=1pt ] coordinates { (0.0984, 13.274167776107829) (0.1946, 18.793968200683608) (0.2243, 19.174380064010645) (0.22440000000000002, 19.9564452171326) (0.2278, 28.44496083259595) (0.2279, 29.033945560455326) (0.3996, 35.44749546051042) (0.4128, 36.144721269607565) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.6325000000000001, 6.634529829025294) (0.7363000000000001, 8.780291080474859) (0.7367, 12.303228139877417) (0.8183, 15.073158025741629) (0.8230000000000001, 17.577339887619075) (0.8230999999999999, 22.30146980285645) (0.8234, 23.58751821517958) (0.8992000000000001, 26.748384952545205) (0.8997999999999999, 30.374099969864) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 20.704723834991558) (0.17270000000000002, 26.870488405227725) (0.22759999999999997, 30.70437812805179) (0.2287, 31.02590084075934) (0.3316, 53.352460861206175) (0.4109, 58.77351045608529) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.6043000000000001, 21.26314353942871) (0.7883, 30.065647602081416) (0.8915, 46.676195859909065) (0.9667, 96.85982632637038) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.2186, 3.847978591918958) (0.2226, 5.261279582977346) (0.36469999999999997, 6.337339162826553) (0.3658, 7.659448385238692) (0.3659, 7.87369012832643) (0.3704, 10.434910297393802) (0.4889, 10.589378356933596) (0.6192, 23.269875764846866) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.177, 6.856229543685916) (0.1777, 10.044229984283481) (0.265, 10.125177860260012) (0.2666, 14.108758211135873) (0.26680000000000004, 14.453941822052029) (0.3416, 18.95469188690187) (0.3419, 29.969498157501352) (0.4274, 36.367042064666784) (0.42910000000000004, 40.28730130195633) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.2508, 1.4498350620270002) (0.4805, 2.2332897186279532) (0.6884, 3.913124322891275) (0.6938, 4.064375400543218) (0.6954, 4.334939241409303) (0.6977, 7.624365568161116) (0.8805999999999999, 8.25171017646792) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0616, 2.9161345958709965) (0.5892000000000001, 2.9751045703888046) (0.597, 3.6297175884246853) (0.6987, 5.277639150619507) (0.706, 5.885313510894814) (0.7617, 8.307409048080462) (0.7652, 8.984893321990974) (0.7938, 9.25141835212708) (0.7952, 10.12181568145754) (0.8005000000000001, 11.206355571746974) (0.8445, 16.311846017837563) (0.8451000000000001, 20.70163655281069) (0.8926999999999999, 21.22677350044254) (0.8961, 22.34774494171145) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 1.7633202075958445) (0.0085, 3.0230474472046236) (0.016, 5.066576957702696) (0.017, 7.036694288253785) (0.0258, 9.278610944747996) (0.0268, 9.401936769485486) (0.0318, 10.32379555702212) (0.0327, 11.471337556838995) (0.0437, 17.346010446548558) (0.0492, 19.206559896469248) (0.07970000000000001, 24.427574872970702) (0.0847, 26.072037696838382) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0939, 124.32253789901743) (0.1593, 159.83306789398208) (0.2177, 192.44994473457353) (0.23370000000000002, 272.86900711059616) (0.3386, 332.19428801536566) (0.3821, 491.76509308815014) (0.4072, 770.3772108554841) }; \addlegendentry{ trevi-4096-euclidean (k = 10) }; \end{axis} \end{tikzpicture} \caption{ Recall-Percentile 99.9 (millis) tradeoff - down and to the right is better } \label{} \end{figure}
P2HNNS-benchmarks is a fork of the original ANN-BENCHMARKS repository, which was developed by Martin Aumueller (maau@itu.dk), Erik Bernhardsson (mail@erikbern.com), and Alec Faitfull (alef@itu.dk). This fork, reconfigured by Søren Majlund Jensen and Christian Porsmose Stender, includes minor modifications to address the P2HNNS problem. We acknowledge and give full credit to the original developers for their work. Please use GitHub to submit your implementations or improvements.