\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.