\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.47190000000000004, 169.04068865909065) (0.47990000000000005, 136.62568909699831) (0.7247, 84.19653282368883) (0.9216, 47.936033051842124) (0.9333, 47.53418101918658) (0.9340999999999999, 47.09728967107443) (0.9999, 33.90870198020066) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9473, 974.4915016978017) (0.9597, 504.97862725116977) (0.9615, 412.01714039964537) (0.9696, 290.5585163497633) (0.9731, 206.61497331761515) (0.975, 168.90404682321923) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42779999999999996, 107.30884522048707) (0.6444, 53.956185632823065) (0.6537, 50.279059120903085) (0.8582000000000001, 30.79637719585328) (0.8760999999999999, 29.987286855282708) (0.8873, 28.94228667335557) (0.9785999999999999, 21.41547653446443) (0.9833999999999999, 21.26536179209248) (0.9845, 20.29688316524072) (0.9849, 19.47243751360511) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9827999999999999, 86.96228382813649) (0.9853, 79.32177047959433) (0.9977, 43.59221727663216) (0.9982, 43.564658161925905) (0.9984999999999999, 42.00338289994171) (0.9987999999999999, 36.94702910290826) (0.9991, 24.82551161676933) (0.9999, 23.73467314698887) (1.0, 16.63762063949315) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.5095, 1010.498886218941) (0.5246999999999999, 974.3998141479847) (0.5296000000000001, 893.1253074287564) (0.6439, 498.45175042045645) (0.6529, 452.569727804542) (0.6567000000000001, 351.3232888177396) (0.71, 289.792305003571) (0.727, 283.0777786551608) (0.7535000000000001, 247.74568651621036) (0.757, 204.41950822005137) (0.7692, 196.3514147208227) (0.8010999999999999, 168.51787857555743) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.363, 471.33816511709836) (0.3632, 412.3054728159101) (0.44299999999999995, 237.4756256921624) (0.4455, 232.7376683362377) (0.44930000000000003, 226.37213723957623) (0.4521, 193.27326905550595) (0.511, 134.99026106524508) (0.5142, 131.65216641259912) (0.5158, 128.5349293636223) (0.5439, 92.29063563725686) (0.5514, 92.03007739203646) (0.5523, 79.136810912013) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.6649, 3876.8841132293473) (0.6885, 3026.2348473752527) (0.9122999999999999, 2025.895188533704) (0.9125, 1494.308926868962) (0.9648, 1162.005130847698) (0.9654, 1119.6147138849656) (0.9661, 1097.7772799082059) (0.978, 814.9127947190328) (0.9784, 780.483593075599) (0.9827, 761.7735796694934) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8842000000000001, 959.6129246877424) (0.898, 922.5251603029728) (0.8986000000000001, 809.6649303437487) (0.9276, 485.9248411938009) (0.9336, 473.74428179348797) (0.9378, 473.54269162298885) (0.9526999999999999, 282.2933399416865) (0.9605, 277.9785439181888) (0.9653, 196.53581301005582) (0.9695, 195.5494966853639) (0.9715999999999999, 191.68573787810402) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.064, 736.1815796988684) (0.0649, 723.3431830104969) (0.065, 675.8266715628591) (0.07239999999999999, 543.8633412235779) (0.12, 378.8206381770962) (0.1255, 365.4538526839786) (0.1921, 219.2103053361506) (0.1956, 160.54977076425263) (0.24609999999999999, 152.75996749369475) (0.2493, 150.17985186479493) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.29100000000000004, 20.0133123256182) (0.304, 19.942649117209235) (0.3226, 19.85096508051361) (0.5222, 10.130651537970946) (0.5577, 9.992203263447662) (0.7505, 5.78250566982943) (0.7628, 5.76800322417087) (0.769, 5.702733200365041) (0.7722, 5.5237272998999725) (0.8489000000000001, 4.042033492444728) (0.8501, 3.9973124872845665) }; \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.9999, 0.9870715141296387) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9731, 177.74964809417725) (0.975, 224.34585118293762) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.9785999999999999, 2.651897668838501) (0.9833999999999999, 3.644834041595459) (0.9845, 4.766846418380737) (0.9849, 5.1658124923706055) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9991, 120.79809236526489) (0.9992000000000001, 141.3734679222107) (1.0, 165.17899656295776) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.757, 21.665255784988403) (0.7692, 25.783196687698364) (0.8010999999999999, 29.98444700241089) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.5439, 41.337106704711914) (0.5514, 45.79136347770691) (0.5523, 53.27443718910217) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.978, 5.69340443611145) (0.9784, 6.429529428482056) (0.9827, 7.010652542114258) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9653, 15.834686756134033) (0.9695, 17.919652462005615) (0.9715999999999999, 19.64185404777527) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.24609999999999999, 14.642911672592163) (0.2493, 17.278897762298584) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.8461000000000001, 21.301631927490234) (0.8489000000000001, 25.600125312805176) (0.8501, 29.836978673934937) }; \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.9999, 200468.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9731, 7622576.0) (0.975, 7939380.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.9785999999999999, 368104.0) (0.9833999999999999, 368744.0) (0.9845, 374888.0) (0.9849, 381800.0) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9991, 7518872.0) (0.9992000000000001, 7530648.0) (1.0, 7656220.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.757, 945980.0) (0.7692, 949992.0) (0.8010999999999999, 989400.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.5439, 1879848.0) (0.5514, 1882808.0) (0.5523, 1959212.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.978, 246588.0) (0.9784, 247320.0) (0.9827, 248156.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9653, 792804.0) (0.9695, 794300.0) (0.9715999999999999, 796432.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.24609999999999999, 1011096.0) (0.2493, 1014368.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.8461000000000001, 3238208.0) (0.8489000000000001, 3243328.0) (0.8501, 3250112.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.47990000000000005, 10009) (0.7247, 20009) (0.9340999999999999, 35009) (0.999, 49949) (0.9997999999999999, 49996) (0.9999, 50000) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9473, 10009) (0.9615, 20009) (0.9702999999999999, 35009) (0.975, 50009) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42779999999999996, 10009) (0.6537, 20009) (0.8873, 35009) (0.9849, 50009) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9853, 10009) (0.9987999999999999, 20009) (0.9999, 35009) (1.0, 50009) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.5296000000000001, 10009) (0.6567000000000001, 20009) (0.7535000000000001, 35009) (0.8010999999999999, 50009) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3632, 10009) (0.4521, 20009) (0.5158, 35009) (0.5523, 50009) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.6885, 10009) (0.9125, 20009) (0.9661, 35009) (0.9827, 50009) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8986000000000001, 10009) (0.9378, 20009) (0.9605, 35009) (0.9715999999999999, 50009) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.07239999999999999, 10009) (0.1255, 20009) (0.1956, 35009) (0.2493, 50009) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.3226, 10009) (0.5577, 20009) (0.7722, 35009) (0.8501, 50009) }; \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.022190372574446286, 169.04068865909065) (0.02142811237059865, 136.62568909699831) (0.014568837098421791, 84.19653282368883) (0.014428916341889367, 82.85965110041455) (0.011584465532046445, 47.936033051842124) (0.011402745091906174, 47.53418101918658) (0.010831032517336938, 33.90870198020066) (0.010831031462719519, 33.359700220951034) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.7723272960311585, 974.4915016978017) (0.5621261672824024, 504.97862725116977) (0.4860711737618506, 446.1001399891387) (0.37244864832446517, 290.5585163497633) (0.35902267050606335, 259.5473102692902) (0.31934273289158516, 206.61497331761515) (0.2663169119098747, 180.52480792330257) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.028803770954558137, 107.30884522048707) (0.02868247676061117, 104.692288259531) (0.019279196529541968, 53.956185632823065) (0.017894220546332537, 50.279059120903085) (0.013055794858252362, 30.79637719585328) (0.012708027074721706, 29.987286855282708) (0.012532533063032005, 28.94228667335557) (0.011100076880426841, 21.41547653446443) (0.011058425151464457, 21.26536179209248) (0.011048627984623135, 20.29688316524072) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.20909338047917025, 86.96228382813649) (0.09840609613873294, 43.59221727663216) (0.09446282455710293, 43.564658161925905) (0.0929748775089124, 36.94702910290826) (0.06706900242416766, 24.969311523222398) (0.0624959997768023, 24.82551161676933) (0.06157931896484704, 21.066264682760128) (0.048936931077644144, 17.531792776354845) (0.045050568103801675, 17.42742681132787) (0.04400933829150396, 14.650916631351341) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.1682593841011865, 1010.498886218941) (0.15970380867284387, 893.1253074287564) (0.14580249210215104, 874.3969933263786) (0.11883896959729127, 498.45175042045645) (0.11628956510493363, 494.6376858766528) (0.10118556029724683, 441.43853908537073) (0.0928152727382798, 289.792305003571) (0.08970394863547339, 283.0777786551608) (0.07257763185083586, 247.74568651621036) (0.060038248954785406, 168.51787857555743) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.1452074269327059, 471.33816511709836) (0.1427746821102486, 453.50612459204706) (0.14202791794655376, 442.5581340383362) (0.1414084075613319, 391.21784264314255) (0.13984773931295075, 336.725445109301) (0.11755059391560775, 237.4756256921624) (0.1156398989024616, 232.7376683362377) (0.11554035537437068, 226.37213723957623) (0.11200964110999341, 193.27326905550595) (0.09561720023469061, 134.99026106524508) (0.09457526580067513, 131.65216641259912) (0.09347677141288006, 111.2524668923897) (0.08622674352272074, 92.29063563725686) (0.08542341570286842, 92.03007739203646) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.4017726135697831, 3876.8841132293473) (0.38686774179070893, 3026.2348473752527) (0.20869915551964638, 2025.895188533704) (0.20227216028149084, 1494.308926868962) (0.13255941566007678, 1162.005130847698) (0.12933905941523063, 1119.6147138849656) (0.12584453583339175, 864.31718842377) (0.10168425433763022, 814.9127947190328) (0.09796550442043504, 780.483593075599) (0.09659493444552039, 761.7735796694934) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.24257242636386933, 959.6129246877424) (0.24135755399419342, 809.6649303437487) (0.22798733042587338, 646.6678743914802) (0.1379936397233265, 485.9248411938009) (0.09413578646405005, 282.2933399416865) (0.07562172983936537, 196.53581301005582) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.15819953514314047, 736.1815796988684) (0.15493382181402732, 723.1336693460097) (0.10562910785828024, 378.8206381770962) (0.10531296807688148, 373.3336608889593) (0.10355013748434165, 274.1353841757701) (0.07994212430074195, 219.2103053361506) (0.07942426448173855, 213.77139463900815) (0.0780635435597814, 160.54977076425263) (0.07094417346130903, 152.75996749369475) (0.07028959103426757, 109.11321449699942) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0355807382742782, 20.0133123256182) (0.034845686931961356, 19.942649117209235) (0.032469249571720926, 19.85096508051361) (0.019987062566122014, 10.130651537970946) (0.018603561705016525, 9.992203263447662) (0.018594725681219677, 8.650563891325543) (0.013863927885451127, 5.78250566982943) (0.013639901127862095, 5.76800322417087) (0.013556494299968913, 5.702733200365041) (0.013483899219746994, 5.5237272998999725) (0.01221997197302794, 4.042033492444728) (0.012195280422259445, 3.9973124872845665) }; \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.9999, 10.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.975, 10.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.9849, 10.0) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (1.0, 10.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.8010999999999999, 10.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.5523, 10.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.9827, 10.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9715999999999999, 10.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.2493, 10.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.8501, 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.47190000000000004, 1185.9156608400344) (0.47990000000000005, 1573.1448559970856) (0.7247, 2380.9531494579314) (0.9216, 4181.989773396492) (0.9333, 4228.115341229439) (0.9340999999999999, 4259.183519921303) (0.9999, 5911.992742071152) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9473, 7822.10618227005) (0.9597, 15094.848749328614) (0.9615, 19269.538136930463) (0.9696, 26234.219859603883) (0.9731, 36892.660186260226) (0.975, 47005.26807572365) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42779999999999996, 3430.3230012741087) (0.6444, 6822.276179880143) (0.6537, 7456.145889654159) (0.8582000000000001, 11952.834505792618) (0.8760999999999999, 12318.020025707245) (0.8873, 12952.95027068901) (0.9785999999999999, 17188.690590545655) (0.9833999999999999, 17340.123511894228) (0.9845, 18470.225056131363) (0.9849, 19607.20119056702) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9827999999999999, 86596.71375331879) (0.9853, 98221.86208014964) (0.9977, 172481.98118223573) (0.9982, 172861.40458188058) (0.9984999999999999, 182276.27089556694) (0.9987999999999999, 217968.16132548236) (0.9991, 303343.1139809074) (0.9999, 322575.3290380287) (1.0, 460175.1756393719) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.5095, 936.1514524173735) (0.5246999999999999, 972.574077129364) (0.5296000000000001, 1084.0584092140198) (0.6439, 1901.2391855392457) (0.6529, 2139.338847732544) (0.6567000000000001, 2934.174968784332) (0.71, 3264.3378849840165) (0.727, 3355.939856929779) (0.7535000000000001, 3993.611408185959) (0.757, 4627.6405233383175) (0.7692, 4838.223352506638) (0.8010999999999999, 5871.187130784988) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.363, 3988.3212078380584) (0.3632, 4656.198199089051) (0.44299999999999995, 7915.96187828064) (0.4455, 8089.829263391495) (0.44930000000000003, 8336.396974521636) (0.4521, 10137.004509595872) (0.511, 13925.804611129759) (0.5142, 14301.382584918976) (0.5158, 14681.830140205386) (0.5439, 20368.783756010052) (0.5514, 20458.615849897382) (0.5523, 24757.277648935316) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.6649, 63.793498277664185) (0.6885, 84.1758861579895) (0.9122999999999999, 121.7180441493988) (0.9125, 170.4707744293213) (0.9648, 212.2090457725525) (0.9654, 220.8974184894562) (0.9661, 226.0531389579773) (0.978, 302.59434088897706) (0.9784, 316.8804600048065) (0.9827, 325.7608384208679) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8842000000000001, 826.1706148424148) (0.898, 861.006327176094) (0.8986000000000001, 1003.7189083328248) (0.9276, 1631.5362640285493) (0.9378, 1677.3566862106325) (0.9526999999999999, 2808.440327227592) (0.9605, 2857.414780306816) (0.9653, 4033.8907594385146) (0.9695, 4061.8872125148773) (0.9715999999999999, 4154.88397215271) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.064, 1373.432897375107) (0.0645, 1399.901626646042) (0.0649, 1402.33297807312) (0.065, 1524.1126805753709) (0.07239999999999999, 1999.2522341251374) (0.12, 2669.0626066875457) (0.1255, 2775.6390924606326) (0.1921, 4612.447386766434) (0.24609999999999999, 6618.854511354446) (0.2493, 6754.354777984619) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.29100000000000004, 162058.5312031708) (0.304, 162376.02040571594) (0.3226, 163725.64189286807) (0.5222, 320149.9911277771) (0.5577, 325264.8003958435) (0.7505, 560886.2637043762) (0.7628, 561408.840139038) (0.769, 569921.8051779022) (0.7722, 597474.824664093) (0.8489000000000001, 802400.0805689392) (0.8501, 813074.2868711395) }; \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.47519999999999996, 169.04068865909065) (0.4829, 136.62568909699831) (0.7283999999999999, 84.19653282368883) (0.7288, 82.85965110041455) (0.9239, 47.936033051842124) (0.9355, 47.53418101918658) (0.9361, 47.09728967107443) (1.0, 33.90870198020066) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.008799999999999999, 974.4915016978017) (0.0098, 958.5387753852103) (0.01, 780.1935238214286) (0.014199999999999999, 504.97862725116977) (0.014799999999999999, 497.3145891493916) (0.0161, 412.01714039964537) (0.0215, 290.5585163497633) (0.0227, 287.0138388261068) (0.027700000000000002, 206.61497331761515) (0.0295, 199.37415124176044) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42960000000000004, 107.30884522048707) (0.6471, 53.956185632823065) (0.6571, 50.279059120903085) (0.8605, 30.79637719585328) (0.8789999999999999, 29.987286855282708) (0.8892, 28.94228667335557) (0.9795, 21.41547653446443) (0.9839, 21.26536179209248) (0.9849, 20.29688316524072) (0.9853999999999999, 19.47243751360511) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.0456, 86.96228382813649) (0.0849, 43.59221727663216) (0.0851, 43.564658161925905) (0.0858, 36.94702910290826) (0.1264, 24.969311523222398) (0.1299, 24.82551161676933) (0.1325, 21.066264682760128) (0.1741, 17.531792776354845) (0.1782, 17.42742681132787) (0.1806, 14.650916631351341) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.028199999999999996, 1010.498886218941) (0.028699999999999996, 968.7518188764034) (0.029699999999999997, 893.1253074287564) (0.0313, 874.3969933263786) (0.0454, 498.45175042045645) (0.0468, 498.2958305973996) (0.0496, 494.6376858766528) (0.051500000000000004, 441.43853908537073) (0.0522, 351.3232888177396) (0.06820000000000001, 289.792305003571) (0.0726, 283.0777786551608) (0.0819, 247.74568651621036) (0.0918, 204.41950822005137) (0.09340000000000001, 196.3514147208227) (0.09519999999999999, 174.50451631885898) (0.10600000000000001, 168.51787857555743) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0317, 471.33816511709836) (0.034499999999999996, 453.50612459204706) (0.034699999999999995, 442.5581340383362) (0.0356, 391.21784264314255) (0.0369, 336.725445109301) (0.052700000000000004, 237.4756256921624) (0.0546, 232.7376683362377) (0.0553, 226.37213723957623) (0.0583, 193.27326905550595) (0.0837, 134.99026106524508) (0.0858, 131.65216641259912) (0.0875, 111.2524668923897) (0.10469999999999999, 92.29063563725686) (0.1083, 92.03007739203646) (0.11000000000000001, 79.136810912013) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0213, 3876.8841132293473) (0.0386, 2025.895188533704) (0.05789999999999999, 1162.005130847698) (0.059, 1119.6147138849656) (0.0612, 864.31718842377) (0.07830000000000001, 814.9127947190328) (0.08209999999999999, 761.7735796694934) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.036199999999999996, 959.6129246877424) (0.0363, 921.857269297982) (0.0392, 809.6649303437487) (0.0617, 485.9248411938009) (0.0917, 282.2933399416865) (0.11710000000000001, 196.53581301005582) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0505, 736.1815796988684) (0.0517, 723.1336693460097) (0.0581, 543.8633412235779) (0.0944, 378.8206381770962) (0.10049999999999999, 365.4538526839786) (0.15109999999999998, 219.2103053361506) (0.1518, 160.54977076425263) (0.1911, 152.75996749369475) (0.1947, 150.17985186479493) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.2945, 20.0133123256182) (0.30779999999999996, 19.942649117209235) (0.3262, 19.85096508051361) (0.5279, 10.130651537970946) (0.5641, 9.992203263447662) (0.7579, 5.78250566982943) (0.77, 5.76800322417087) (0.7765, 5.702733200365041) (0.7795, 5.5237272998999725) (0.8558, 4.042033492444728) (0.8571, 3.9973124872845665) }; \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.5186, 169.04068865909065) (0.5267000000000001, 136.62568909699831) (0.7748, 84.19653282368883) (0.7758, 82.85965110041455) (0.7767000000000001, 68.11500435228852) (0.9499000000000001, 47.936033051842124) (0.9599, 47.53418101918658) (0.9609, 47.09728967107443) (1.0, 33.90870198020066) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.0095, 974.4915016978017) (0.010499999999999999, 958.5387753852103) (0.0106, 780.1935238214286) (0.0157, 504.97862725116977) (0.0164, 497.3145891493916) (0.0172, 412.01714039964537) (0.0236, 290.5585163497633) (0.0252, 287.0138388261068) (0.0303, 206.61497331761515) (0.0323, 199.37415124176044) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.46609999999999996, 107.30884522048707) (0.4664, 97.25047797440963) (0.6928, 53.956185632823065) (0.7038, 50.279059120903085) (0.8952, 30.79637719585328) (0.9147000000000001, 29.987286855282708) (0.9212999999999999, 28.94228667335557) (0.9882, 21.41547653446443) (0.9911, 21.26536179209248) (0.9916, 20.29688316524072) (0.9921, 19.47243751360511) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.0503, 86.96228382813649) (0.0938, 43.59221727663216) (0.094, 43.564658161925905) (0.09419999999999999, 36.94702910290826) (0.1395, 24.969311523222398) (0.1432, 24.82551161676933) (0.14550000000000002, 21.066264682760128) (0.1906, 17.531792776354845) (0.1956, 17.42742681132787) (0.1983, 14.650916631351341) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0304, 1010.498886218941) (0.0316, 968.7518188764034) (0.0328, 893.1253074287564) (0.0348, 874.3969933263786) (0.0494, 498.45175042045645) (0.0519, 498.2958305973996) (0.054000000000000006, 494.6376858766528) (0.056999999999999995, 441.43853908537073) (0.0571, 351.3232888177396) (0.07339999999999999, 289.792305003571) (0.0742, 287.1277578679386) (0.0796, 283.0777786551608) (0.0901, 247.74568651621036) (0.0983, 204.41950822005137) (0.1026, 196.3514147208227) (0.1046, 174.50451631885898) (0.1156, 168.51787857555743) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.035199999999999995, 471.33816511709836) (0.0388, 453.50612459204706) (0.0392, 412.3054728159101) (0.039900000000000005, 391.21784264314255) (0.0411, 336.725445109301) (0.058899999999999994, 237.4756256921624) (0.0611, 232.7376683362377) (0.0613, 226.37213723957623) (0.061399999999999996, 208.53847991935905) (0.065, 193.27326905550595) (0.093, 134.99026106524508) (0.09559999999999999, 131.65216641259912) (0.0973, 111.2524668923897) (0.1162, 92.29063563725686) (0.1203, 92.03007739203646) (0.12250000000000001, 79.136810912013) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0235, 3876.8841132293473) (0.0424, 2025.895188533704) (0.0634, 1162.005130847698) (0.0646, 1119.6147138849656) (0.0651, 1097.7772799082059) (0.067, 864.31718842377) (0.08549999999999999, 814.9127947190328) (0.0916, 761.7735796694934) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0395, 959.6129246877424) (0.0427, 809.6649303437487) (0.0673, 485.9248411938009) (0.0999, 282.2933399416865) (0.12689999999999999, 196.53581301005582) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.053200000000000004, 736.1815796988684) (0.054400000000000004, 723.1336693460097) (0.0605, 543.8633412235779) (0.0994, 378.8206381770962) (0.1041, 365.4538526839786) (0.1581, 219.2103053361506) (0.1584, 160.54977076425263) (0.199, 152.75996749369475) (0.20179999999999998, 150.17985186479493) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.3194, 20.0133123256182) (0.3362, 19.942649117209235) (0.3548, 19.85096508051361) (0.5739, 10.130651537970946) (0.6143, 9.992203263447662) (0.8049, 5.78250566982943) (0.8153, 5.76800322417087) (0.8199, 5.702733200365041) (0.8227, 5.5237272998999725) (0.8233, 4.966994411050091) (0.8888, 4.042033492444728) (0.8903000000000001, 3.9973124872845665) (0.8909, 3.476299986700925) }; \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.47190000000000004, 5.863428115844727) (0.47990000000000005, 7.288455963134766) (0.7247, 11.781454086303711) (0.9216, 20.714640617370605) (0.9333, 20.879745483398438) (0.9340999999999999, 21.111726760864258) (0.9999, 29.268383979797363) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9473, 1.0221004486083984) (0.9597, 1.9837617874145508) (0.9615, 2.424001693725586) (0.9696, 3.4422874450683594) (0.9731, 4.859805107116699) (0.975, 5.906224250793457) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42779999999999996, 9.265303611755371) (0.6444, 18.451809883117676) (0.6537, 19.73545551300049) (0.8582000000000001, 32.254815101623535) (0.8760999999999999, 33.11562538146973) (0.8873, 34.317970275878906) (0.9785999999999999, 46.395301818847656) (0.9833999999999999, 46.68402671813965) (0.9845, 48.91979694366455) (0.9849, 51.06401443481445) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9793, 11.419415473937988) (0.9827999999999999, 11.442303657531738) (0.9853, 12.513995170593262) (0.9977, 22.773265838623047) (0.9982, 22.81475067138672) (0.9984999999999999, 23.69999885559082) (0.9987999999999999, 26.91948413848877) (0.9991, 39.996981620788574) (0.9999, 41.78786277770996) (1.0, 59.77785587310791) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.5095, 0.9832382202148438) (0.5246999999999999, 1.0213851928710938) (0.5296000000000001, 1.1135339736938477) (0.6439, 1.995682716369629) (0.6529, 2.2051334381103516) (0.6567000000000001, 2.8580427169799805) (0.71, 3.441452980041504) (0.727, 3.5152435302734375) (0.7535000000000001, 4.078984260559082) (0.757, 4.854679107666016) (0.7692, 5.0841569900512695) (0.8010999999999999, 5.946993827819824) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.363, 2.114534378051758) (0.3632, 2.4328231811523438) (0.44299999999999995, 4.161477088928223) (0.4455, 4.254579544067383) (0.44930000000000003, 4.42349910736084) (0.4521, 5.135297775268555) (0.511, 7.306098937988281) (0.5142, 7.571697235107422) (0.5158, 7.746338844299316) (0.5476, 10.811209678649902) (0.5514, 10.861754417419434) (0.5523, 12.626409530639648) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.6649, 0.2523660659790039) (0.6885, 0.34046173095703125) (0.9122999999999999, 0.49185752868652344) (0.9125, 0.6841421127319336) (0.9648, 0.8678436279296875) (0.9654, 0.9006261825561523) (0.9661, 0.9248256683349609) (0.978, 1.2407302856445312) (0.9784, 1.2927055358886719) (0.9827, 1.3297796249389648) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8842000000000001, 1.0465383529663086) (0.898, 1.0790824890136719) (0.8986000000000001, 1.2254714965820312) (0.9276, 2.0581483840942383) (0.9378, 2.10416316986084) (0.9526999999999999, 3.542304039001465) (0.9605, 3.5979747772216797) (0.9653, 5.078911781311035) (0.9695, 5.112051963806152) (0.9715999999999999, 5.207538604736328) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.064, 1.348257064819336) (0.0649, 1.3699531555175781) (0.065, 1.4750957489013672) (0.07239999999999999, 1.8388032913208008) (0.12, 2.628445625305176) (0.1255, 2.7103424072265625) (0.1921, 4.55021858215332) (0.1956, 6.2198638916015625) (0.24609999999999999, 6.519317626953125) (0.2493, 6.6318511962890625) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.29100000000000004, 49.66545104980469) (0.304, 49.82709884643555) (0.3226, 50.130248069763184) (0.5222, 98.25968742370605) (0.5577, 99.58767890930176) (0.7505, 172.2412109375) (0.7628, 172.61290550231934) (0.769, 174.7654676437378) (0.7722, 180.5102825164795) (0.8489000000000001, 246.6883659362793) (0.8501, 249.57847595214844) }; \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.47190000000000004, 6.3182830810546875) (0.47990000000000005, 7.802605628967285) (0.7247, 12.582886219024658) (0.9216, 22.001612186431885) (0.9333, 22.156763076782227) (0.9340999999999999, 22.306382656097412) (0.9999, 31.078875064849854) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9473, 1.0805249214172363) (0.9597, 2.0623207092285156) (0.9615, 2.5475025177001953) (0.9696, 3.5438895225524902) (0.9731, 4.98422384262085) (0.975, 6.169414520263672) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42779999999999996, 9.797871112823486) (0.6444, 19.2865252494812) (0.6537, 20.870089530944824) (0.8537000000000001, 33.796632289886475) (0.8582000000000001, 34.036946296691895) (0.8760999999999999, 35.07031202316284) (0.8873, 36.10564470291138) (0.9785999999999999, 48.71948957443237) (0.9833999999999999, 49.30267333984375) (0.9845, 51.55506134033203) (0.9849, 53.84781360626221) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9827999999999999, 11.971807479858398) (0.9853, 13.225150108337402) (0.9982, 23.97211790084839) (0.9984999999999999, 24.77468252182007) (0.9987999999999999, 28.414428234100342) (0.9991, 42.178213596343994) (0.9999, 44.27485466003418) (1.0, 62.710785865783684) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.5095, 1.11008882522583) (0.5246999999999999, 1.1432290077209473) (0.5296000000000001, 1.2209534645080566) (0.6437, 2.137267589569092) (0.6439, 2.1458864212036133) (0.6529, 2.3520469665527344) (0.6567000000000001, 3.1055331230163574) (0.71, 3.628849983215332) (0.727, 3.7847042083740234) (0.7535000000000001, 4.412698745727539) (0.757, 5.167508125305176) (0.7692, 5.405128002166748) (0.8010999999999999, 6.305086612701416) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.363, 2.2552132606506348) (0.3632, 2.564728260040283) (0.44299999999999995, 4.555022716522216) (0.44930000000000003, 4.653632640838623) (0.4521, 5.608737468719482) (0.511, 7.954144477844238) (0.5142, 8.123195171356201) (0.5158, 8.131206035614014) (0.5439, 11.486864089965819) (0.5514, 11.493229866027832) (0.5523, 13.078498840332031) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.663, 0.3046989440917969) (0.6649, 0.3106951713562011) (0.6885, 0.39696693420410156) (0.9122999999999999, 0.5593299865722656) (0.9125, 0.7648825645446776) (0.9648, 0.9582042694091797) (0.9654, 0.9997129440307618) (0.9661, 1.0111689567565918) (0.978, 1.357102394104004) (0.9784, 1.4008045196533203) (0.9827, 1.4612913131713867) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8842000000000001, 1.1375069618225098) (0.8949, 1.1713743209838867) (0.898, 1.1830449104309082) (0.8986000000000001, 1.3840436935424805) (0.9276, 2.1567463874816895) (0.9336, 2.200615406036377) (0.9378, 2.2197723388671875) (0.9526999999999999, 3.6436080932617188) (0.9605, 3.724825382232666) (0.9653, 5.236399173736572) (0.9695, 5.2695393562316895) (0.9715999999999999, 5.378067493438721) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.064, 1.4575362205505369) (0.0645, 1.4687061309814453) (0.0649, 1.4959454536437988) (0.065, 1.5635490417480469) (0.07239999999999999, 1.9553542137145996) (0.12, 2.7709364891052246) (0.1255, 2.9190063476562496) (0.1921, 4.720056056976318) (0.1956, 6.540155410766601) (0.24609999999999999, 6.783652305603027) (0.2493, 6.905174255371094) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.29100000000000004, 52.17174291610718) (0.3226, 52.4405837059021) (0.5222, 102.15286016464233) (0.5577, 103.7179946899414) (0.7505, 178.50821018218994) (0.7628, 179.29717302322388) (0.769, 181.1325192451477) (0.7722, 187.19297647476196) (0.8489000000000001, 254.31909561157224) (0.8501, 257.8089118003845) }; \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.47190000000000004, 6.540775299072266) (0.47990000000000005, 8.031432628631592) (0.7247, 13.005423545837402) (0.9216, 22.74332284927368) (0.9333, 23.0069637298584) (0.9340999999999999, 23.158159255981445) (0.9999, 31.670253276824948) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9473, 1.115577220916748) (0.9597, 2.1167373657226562) (0.9615, 2.657182216644287) (0.9696, 3.607516288757324) (0.9731, 5.089373588562012) (0.975, 6.286640167236328) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42779999999999996, 10.13375997543335) (0.6444, 20.089147090911865) (0.6537, 21.474153995513916) (0.8537000000000001, 35.11344909667968) (0.8582000000000001, 35.24353265762329) (0.8760999999999999, 35.928511619567864) (0.8873, 37.166879177093506) (0.9785999999999999, 49.77808475494385) (0.9833999999999999, 50.722694396972656) (0.9845, 53.04953813552856) (0.9849, 55.23920774459839) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9827999999999999, 12.396337985992432) (0.9853, 13.62614631652832) (0.9982, 24.658818244934082) (0.9984999999999999, 25.35416841506958) (0.9987999999999999, 29.28168296813965) (0.9991, 43.5021710395813) (0.9999, 45.40078163146973) (1.0, 64.01487350463866) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.5095, 1.138458251953125) (0.5246999999999999, 1.242122650146484) (0.5296000000000001, 1.2686491012573242) (0.6437, 2.2063517570495605) (0.6529, 2.418081760406494) (0.6567000000000001, 3.519937992095947) (0.7085, 3.749375343322754) (0.71, 3.7665724754333496) (0.7203999999999999, 4.1465163230896) (0.727, 4.224076271057128) (0.7535000000000001, 4.641909599304198) (0.757, 5.457644462585449) (0.7692, 5.5403947830200195) (0.8010999999999999, 6.565110683441162) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.363, 2.3363208770751953) (0.3632, 2.6657986640930176) (0.44299999999999995, 4.776749610900879) (0.4455, 4.8427605628967285) (0.44930000000000003, 4.887945652008057) (0.4521, 5.946047306060788) (0.511, 8.299131393432617) (0.5158, 8.308906555175781) (0.5514, 11.827232837677002) (0.5523, 13.570582866668701) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.663, 0.3252291679382324) (0.6649, 0.3462839126586913) (0.6885, 0.4303574562072754) (0.9122999999999999, 0.585801601409912) (0.9125, 0.8152055740356445) (0.9648, 0.9906482696533203) (0.9654, 1.053962707519531) (0.9661, 1.0671782493591309) (0.978, 1.3911771774291992) (0.9784, 1.5092849731445308) (0.9827, 1.5576171875) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8842000000000001, 1.1754918098449707) (0.8949, 1.2086224555969238) (0.898, 1.2939000129699707) (0.8986000000000001, 1.7255854606628416) (0.9276, 2.2292208671569824) (0.9336, 2.269759178161621) (0.9378, 2.4625182151794434) (0.9526999999999999, 3.7045979499816895) (0.9605, 3.796679973602295) (0.9653, 5.367553234100342) (0.9695, 5.4183197021484375) (0.9715999999999999, 5.53349494934082) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.064, 1.5232658386230469) (0.0645, 1.5340709686279297) (0.065, 1.6263031959533691) (0.07239999999999999, 2.050981521606445) (0.12, 2.878119945526123) (0.121, 3.1947565078735343) (0.1216, 3.499279022216797) (0.1255, 3.559348583221435) (0.1921, 4.916832447052002) (0.1956, 6.710677146911621) (0.24609999999999999, 6.973552703857422) (0.2493, 7.106733322143555) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.29100000000000004, 53.30366849899292) (0.3226, 53.5263729095459) (0.5222, 104.09787178039551) (0.5577, 106.07809305191039) (0.7505, 182.28930711746216) (0.7628, 182.386212348938) (0.769, 184.0170407295227) (0.7722, 191.11196279525757) (0.8489000000000001, 257.93171644210815) (0.8501, 263.0261540412903) }; \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.44880000000000003, 6.741129398345998) (0.4643, 7.0164265632629395) (0.47190000000000004, 7.159879922866858) (0.47990000000000005, 8.38522195816051) (0.7247, 13.3626942634583) (0.9216, 23.59618067741404) (0.9333, 23.79599928855902) (0.9340999999999999, 23.859853267669838) (0.9999, 32.61738419532781) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9473, 1.1744921207428016) (0.958, 2.237338542938234) (0.9586, 2.4614195823669633) (0.9597, 2.6042034626007258) (0.9615, 2.933047056198122) (0.9696, 3.692627429962158) (0.9702999999999999, 5.407098770141623) (0.9731, 5.996866464614904) (0.975, 6.445531368255648) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.42779999999999996, 10.531682014465355) (0.5641, 20.47210621833806) (0.6444, 20.59923315048219) (0.6537, 22.105546951293974) (0.8582000000000001, 35.584889173507754) (0.8760999999999999, 37.279131889343304) (0.8873, 38.06925535202038) (0.9785999999999999, 50.90320897102366) (0.9833999999999999, 51.739819526672484) (0.9845, 54.09478354454045) (0.9849, 57.91408538818364) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9793, 12.804199934005839) (0.9827999999999999, 12.859012126922726) (0.9853, 14.060589313507196) (0.9982, 24.970609188079862) (0.9984999999999999, 25.884034633636507) (0.9987999999999999, 30.468192338943588) (0.9991, 43.99570298194886) (0.9999, 46.39624619483965) (1.0, 65.02197432518007) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.5095, 1.2474102973937993) (0.5246999999999999, 1.6036520004272503) (0.5296000000000001, 2.0186495780945) (0.6437, 2.5511200428009286) (0.6439, 2.619510889053345) (0.6529, 2.9269742965698375) (0.6567000000000001, 3.8228306770324734) (0.7085, 3.8750991821289134) (0.71, 4.996922254562434) (0.727, 5.011207342147839) (0.7535000000000001, 5.339987277984652) (0.769, 6.319330930709843) (0.7692, 7.1324772834778) (0.8010999999999999, 8.135032415390052) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.363, 2.3796789646148704) (0.3632, 2.8207781314849893) (0.4455, 5.026925563812266) (0.44930000000000003, 5.439336776733425) (0.4509, 6.356821775436454) (0.4521, 7.0173568725586355) (0.5158, 8.536829233169557) (0.5476, 12.429241657257123) (0.5514, 12.877768993377712) (0.5523, 14.249101638793947) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.663, 0.3695967197418256) (0.6639999999999999, 0.4791486263275295) (0.6885, 0.5005085468292297) (0.9122999999999999, 0.6940398216247561) (0.9125, 0.9048302173614531) (0.9648, 1.0583455562591557) (0.9654, 1.175596714019793) (0.9661, 1.256256818771365) (0.978, 1.405720710754395) (0.9784, 1.9354832172393799) (0.9827, 1.9525065422058192) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.8949, 1.2979621887207042) (0.898, 1.5363745689392094) (0.8986000000000001, 2.1510493755340607) (0.9276, 2.341091632843023) (0.9336, 2.4407439231872607) (0.9378, 2.9335184097290057) (0.9526999999999999, 3.7482221126556436) (0.9605, 3.9711272716523096) (0.9653, 6.483703136444126) (0.9695, 6.484933137893715) (0.9715999999999999, 6.573952198028568) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.064, 1.6823563575744698) (0.0645, 1.6863965988159666) (0.065, 2.038014888763429) (0.07239999999999999, 2.2308828830718994) (0.12, 3.1104257106781237) (0.1216, 3.609376192092999) (0.1255, 3.680499315261844) (0.1921, 5.064268827438356) (0.1956, 6.854806423187259) (0.24609999999999999, 7.608843803405801) (0.2493, 8.29187178611759) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.304, 54.419068098068244) (0.3226, 54.58399200439485) (0.5222, 105.56609749794008) (0.5577, 107.17910242080697) (0.7628, 184.41547584533703) (0.769, 186.18514919281012) (0.7722, 192.69588589668277) (0.8489000000000001, 259.9751298427583) (0.8501, 267.5944912433625) }; \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.