\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.0411, 1598.9143114187907) (0.0479, 1571.6838618802108) (0.06899999999999999, 1459.1908444324458) (0.0713, 1422.6607254365445) (0.22160000000000002, 329.99418736205996) (0.2552, 329.85793857977586) (0.2683, 328.39862856140667) (0.41859999999999997, 167.2260065516426) (0.471, 164.74804488803522) (0.9710000000000001, 42.14051254882944) (0.9722, 41.25642864852408) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.45890000000000003, 7829.678565895018) (0.5251, 7567.913218890625) (0.6902, 7436.247750582855) (0.6965, 6789.89909782153) (0.9093, 1882.296342802623) (0.9228999999999999, 1857.4844910843663) (0.9297000000000001, 1847.8575393643548) (0.9309, 1823.4003473512835) (0.9465999999999999, 970.2202823335323) (0.9723, 254.45133191431688) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.029699999999999997, 1007.9537018946666) (0.0583, 987.4024675268421) (0.059699999999999996, 981.4963669247996) (0.0615, 942.0778656048357) (0.22949999999999998, 212.58224357351511) (0.2366, 209.4399435541839) (0.26280000000000003, 209.11230830392893) (0.4267, 107.16755101593938) (0.9285, 26.802459873398423) (0.9364000000000001, 26.710322715705203) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.2523, 815.1215267048583) (0.3874, 793.3562647242134) (0.3886, 481.6911485617784) (0.7965, 174.16702993819717) (0.9144, 171.98884490838793) (0.9269999999999999, 171.39514485088702) (0.9279999999999999, 147.6414024212632) (0.9772000000000001, 87.08403750056033) (0.9818, 86.84929994992136) (0.9819000000000001, 86.00717166619742) (0.9989000000000001, 21.933831316191156) (0.9991, 21.83976248766753) (0.9992000000000001, 21.72002170436205) (0.9999, 21.09330918135056) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 8650.207577560586) (0.0654, 8433.304513923797) (0.2926, 1921.2385914686515) (0.3049, 1874.6741123766453) (0.30510000000000004, 1835.3655521516287) (0.3096, 1705.7539605883082) (0.5088, 982.1214862256556) (0.5145, 963.3069579988186) (0.5255, 919.4978160769359) (0.5294, 850.6532356755226) (0.73, 245.3403912620696) (0.7443, 242.39889782956595) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 4144.085966260851) (0.0586, 4106.699878198275) (0.0605, 3800.389797136957) (0.24, 872.796343760281) (0.2425, 825.4760362624194) (0.246, 783.3998508771799) (0.3685, 454.876022732609) (0.5316, 113.88373747590293) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.056999999999999995, 23712.441062403184) (0.057699999999999994, 23018.56059358776) (0.0763, 22805.789662559677) (0.0846, 18963.64885882736) (0.3297, 6935.53102408244) (0.364, 6680.136396141283) (0.36819999999999997, 6451.8125756617865) (0.39580000000000004, 5350.928626286286) (0.6607000000000001, 3603.824554409167) (0.6624, 3486.6326341454087) (0.6646, 3372.0986697496273) (0.6888, 2780.9390193690233) (0.9712999999999999, 949.8119422608733) (0.9715999999999999, 911.3238006878975) (0.974, 898.4257055365059) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.3782, 8242.404233702584) (0.44480000000000003, 8212.933355525314) (0.4626, 8034.418686619084) (0.4729, 7218.0310349396905) (0.8273999999999999, 1883.302950024696) (0.8893000000000001, 945.924935448798) (0.8955, 930.7783241567846) (0.8987999999999999, 886.079067423955) (0.9021000000000001, 826.9078470705946) (0.9582, 239.44898071148185) (0.9654999999999999, 235.41827298244633) (0.966, 235.15955826847198) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0052, 6197.120335689959) (0.0076, 6153.705306709312) (0.0103, 5836.966444746276) (0.0364, 1361.8400716911049) (0.064, 716.9719787522276) (0.065, 711.5138998941628) (0.0651, 650.2554943692018) (0.2083, 189.50709226555347) (0.20870000000000002, 187.1050597276449) (0.21259999999999998, 181.21456197579204) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.027800000000000002, 197.58894886058232) (0.039400000000000004, 196.06109370601624) (0.0407, 193.4060866856662) (0.0419, 189.7715481761059) (0.16770000000000002, 40.17069526679271) (0.1714, 40.08964902173245) (0.1718, 39.10411926350632) (0.2893, 20.148041730189565) (0.3009, 20.124497412231907) (0.3217, 19.979603703607076) (0.8047000000000001, 5.05032990978053) (0.8076000000000001, 5.036065612066649) (0.8107, 4.9298894819222125) }; \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.9644, 0.7508208751678467) (0.9710000000000001, 0.9228410720825195) (0.9722, 1.4381508827209473) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9723, 140.59971499443054) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.9285, 1.7797422409057617) (0.9364000000000001, 2.292909860610962) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9991, 96.52102470397949) (0.9992000000000001, 118.95203280448914) (0.9999, 144.13236927986145) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.7287, 16.504424333572388) (0.73, 18.645862579345703) (0.7443, 20.728420972824097) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.5316, 29.73098659515381) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.9712999999999999, 4.1625893115997314) (0.9715999999999999, 5.2431960105896) (0.974, 5.426664113998413) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.958, 12.807666301727295) (0.9582, 14.528089761734009) (0.9654999999999999, 15.293490886688232) (0.966, 16.336371421813965) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.20179999999999998, 12.01766324043274) (0.2083, 12.438732385635376) (0.20870000000000002, 14.10308313369751) (0.21259999999999998, 15.059098482131958) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.8049, 13.310030698776245) (0.8065, 16.696699619293213) (0.8076000000000001, 25.653686046600342) (0.8107, 32.04091262817383) }; \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.9710000000000001, 200980.0) (0.9722, 201620.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9723, 7738356.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.9285, 368744.0) (0.9364000000000001, 368872.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, 7528984.0) (0.9992000000000001, 7542552.0) (0.9999, 7669916.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.7287, 959832.0) (0.73, 960064.0) (0.7443, 964512.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.5316, 1893372.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.9712999999999999, 260596.0) (0.9715999999999999, 261584.0) (0.974, 262676.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.958, 804424.0) (0.9582, 804628.0) (0.9654999999999999, 806228.0) (0.966, 808600.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.20179999999999998, 1022724.0) (0.2083, 1022940.0) (0.20870000000000002, 1024324.0) (0.21259999999999998, 1026472.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.8049, 3238720.0) (0.8065, 3239360.0) (0.8076000000000001, 3251264.0) (0.8107, 3301568.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.0713, 1009) (0.2683, 5009) (0.471, 10009) (0.9722, 40009) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.6965, 1009) (0.9309, 5009) (0.9465999999999999, 10009) (0.9723, 40009) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0615, 1009) (0.26280000000000003, 5009) (0.4267, 10009) (0.9364000000000001, 40009) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.3886, 1009) (0.9279999999999999, 5009) (0.9819000000000001, 10009) (0.9999, 40009) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0654, 1009) (0.3096, 5009) (0.5294, 10009) (0.7443, 40009) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0605, 1009) (0.246, 5009) (0.3685, 10009) (0.5316, 40009) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0846, 1009) (0.39580000000000004, 5009) (0.6888, 10009) (0.974, 40009) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.4729, 1009) (0.8273999999999999, 5009) (0.9021000000000001, 10009) (0.966, 40009) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0103, 1009) (0.0364, 5009) (0.0651, 10009) (0.21259999999999998, 40009) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0419, 1009) (0.1718, 5009) (0.3217, 10009) (0.8107, 40009) }; \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.29838002214214737, 1598.9143114187907) (0.21690258389608597, 1571.6838618802108) (0.15360370034375592, 1459.1908444324458) (0.1424042044254752, 1437.0910506279195) (0.04808682706230811, 329.99418736205996) (0.0397862373633798, 329.85793857977586) (0.038749879826132226, 328.39862856140667) (0.02477786158942055, 167.2260065516426) (0.022192291697259055, 164.74804488803522) (0.011029799027278898, 42.14051254882944) (0.011024969991180553, 41.25642864852408) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (9.146231227183543, 7829.678565895018) (5.865482409911912, 7567.913218890625) (3.356614417775399, 7436.247750582855) (3.179343180592934, 6789.89909782153) (1.669345233607573, 1882.296342802623) (1.0939731990062236, 1857.4844910843663) (0.7783683730710124, 970.2202823335323) (0.4943243519235397, 254.45133191431688) (0.35588236586218164, 254.19617528543787) (0.3216630058113656, 222.52444116405908) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.6097242576085993, 1007.9537018946666) (0.33643424048781073, 987.4024675268421) (0.3331239044782264, 981.4963669247996) (0.32710168509700455, 942.0778656048357) (0.05467720833194454, 212.58224357351511) (0.04930055959540337, 209.11230830392893) (0.028876610576116433, 107.16755101593938) (0.02861860214383914, 104.4721656157854) (0.011773221031946399, 26.802459873398423) (0.011570170109726441, 26.710322715705203) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (2.806264241559636, 815.1215267048583) (1.6511924835666947, 793.3562647242134) (1.5554460148246, 785.8874291295774) (1.4480438652660768, 481.6911485617784) (0.6677269873303937, 174.16702993819717) (0.406704563812888, 171.98884490838793) (0.37116068328565605, 171.39514485088702) (0.23861558932386132, 87.08403750056033) (0.2107424501502694, 86.84929994992136) (0.06234193297224601, 21.933831316191156) (0.05820388119003004, 21.72002170436205) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.6188726484385808, 8650.207577560586) (0.24909269858276706, 1921.2385914686515) (0.2388945899998743, 1859.5218440296119) (0.23659295743895592, 1705.7539605883082) (0.17646789267422475, 982.1214862256556) (0.15684106495377195, 963.3069579988186) (0.0829382305246185, 245.3403912620696) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.2063221981278861, 4144.085966260851) (0.1711809939152388, 872.796343760281) (0.15501293084161327, 872.7247909742578) (0.14047643869658852, 454.876022732609) (0.13587398468546144, 440.80962261590935) (0.09070840685196478, 113.88373747590293) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (4.353706808498924, 23712.441062403184) (4.049877606197755, 23018.56059358776) (3.161956291105095, 22805.789662559677) (3.0245164228008106, 18963.64885882736) (0.7842868618712894, 6935.53102408244) (0.7507522718222035, 6680.136396141283) (0.7476074678282362, 6451.8125756617865) (0.6977354861692499, 5350.928626286286) (0.40156538667311636, 3603.824554409167) (0.3869692066030314, 2780.9390193690233) (0.11647784026244999, 949.8119422608733) (0.11507159070730981, 911.3238006878975) (0.11272378028192506, 691.5277666030477) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (1.0778143923985357, 8242.404233702584) (0.34661608016786605, 1883.302950024696) (0.22953914052089458, 945.924935448798) (0.08614532668620972, 239.44898071148185) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (1.2005477633597585, 6197.120335689959) (1.037896982249872, 6153.705306709312) (1.0285450498067592, 5836.966444746276) (0.9223026725195823, 5332.811194786073) (0.2712962953898739, 1361.8400716911049) (0.1569422749219272, 716.9719787522276) (0.1549763722548262, 711.5138998941628) (0.07683680985258162, 189.50709226555347) (0.07618222478629086, 187.1050597276449) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.4277159179394044, 197.58894886058232) (0.2691411712407042, 196.06109370601624) (0.2636524259748267, 193.4060866856662) (0.2610384163482382, 189.7715481761059) (0.06151041312864176, 40.17069526679271) (0.03569988581809693, 20.148041730189565) (0.03491650534272859, 20.124497412231907) (0.03251507778608714, 19.979603703607076) (0.012914574739309964, 5.05032990978053) (0.012887929533620156, 5.036065612066649) (0.012802488252072875, 4.9298894819222125) }; \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.9722, 10.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9723, 10.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.9364000000000001, 10.0) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9999, 10.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.7443, 10.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.5316, 10.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.974, 10.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.966, 10.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.21259999999999998, 10.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.8107, 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.0411, 125.69779291152953) (0.0479, 127.87558928012847) (0.06899999999999999, 137.90930827713012) (0.0713, 141.7203669118881) (0.22160000000000002, 609.0410307121277) (0.2552, 609.2925968837739) (0.2683, 613.948970746994) (0.41859999999999997, 1201.8465557146071) (0.471, 1219.923429965973) (0.9710000000000001, 4769.2822854757305) (0.9722, 4886.995956864357) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.45890000000000003, 988.3363582391738) (0.5251, 1022.7823411979675) (0.6902, 1045.3363390684126) (0.6965, 1166.0780058631897) (0.9093, 4111.125237845421) (0.9228999999999999, 4167.102356521606) (0.9297000000000001, 4196.059401130677) (0.9309, 4263.1230224847795) (0.9465999999999999, 7977.90784313774) (0.9723, 30411.929628278736) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.029699999999999997, 365.83426332664493) (0.0583, 374.0966952667236) (0.059699999999999996, 377.13028032875064) (0.0615, 398.8884716644287) (0.22949999999999998, 1735.1966645908356) (0.26280000000000003, 1766.4383459587098) (0.4267, 3442.0120316562657) (0.9285, 13757.841695940017) (0.9364000000000001, 13810.091473852157) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.2523, 9238.838324443817) (0.3874, 9525.702809729575) (0.3886, 15922.891717858314) (0.7965, 43228.52610319901) (0.9144, 43786.42117174149) (0.9269999999999999, 44006.800814352035) (0.9279999999999999, 51949.62845256328) (0.9772000000000001, 86456.53343704414) (0.9776, 86734.62394643785) (0.9818, 86846.43404551507) (0.9819000000000001, 87867.97488621713) (0.9989000000000001, 343340.654509407) (0.9991, 344737.4486902714) (0.9992000000000001, 347262.6364127998) (0.9999, 363618.4315157756) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 110.98739439392091) (0.0654, 114.36940269470215) (0.2926, 499.5902144908905) (0.3049, 514.4958228378296) (0.30510000000000004, 524.1026774597168) (0.3096, 577.2766898107528) (0.5088, 977.3047565517426) (0.5145, 996.6335154418946) (0.5255, 1046.1362530517576) (0.5294, 1157.5715681819916) (0.73, 3913.1917702636715) (0.7443, 3979.0279932632443) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 456.885309671402) (0.0586, 461.20146496582026) (0.0605, 500.36341046714784) (0.2391, 2169.49491933918) (0.24, 2170.0549200744626) (0.2425, 2303.6113908405305) (0.246, 2471.59097341156) (0.3685, 4163.807071258545) (0.5316, 16625.481758540154) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.056999999999999995, 10.989842813491821) (0.057699999999999994, 11.32373151397705) (0.0763, 11.517952409744261) (0.0846, 14.29872499847412) (0.3297, 37.57405151748657) (0.364, 39.15848187637329) (0.36819999999999997, 40.713519948005676) (0.39580000000000004, 50.67456864738464) (0.6607000000000001, 72.3109563369751) (0.6607999999999999, 74.85387118911743) (0.6624, 75.0248240776062) (0.6646, 77.89689025306701) (0.6888, 97.50519450855255) (0.9712999999999999, 274.3658911886215) (0.9715999999999999, 287.03738430023196) (0.974, 292.3736469039917) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.3782, 97.62054580020904) (0.44480000000000003, 98.16565715312957) (0.4626, 100.64200429916383) (0.4729, 114.52596920108796) (0.8273999999999999, 427.2429987907409) (0.8893000000000001, 850.625636185646) (0.8955, 868.735314321518) (0.8987999999999999, 909.8826838827134) (0.9021000000000001, 999.6905978441238) (0.958, 3359.999108549118) (0.9582, 3360.331698256493) (0.9654999999999999, 3424.661942278862) (0.966, 3438.5164096832273) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0052, 165.06698992252353) (0.0076, 166.45645979881286) (0.0103, 175.85710140991213) (0.0364, 753.739019241333) (0.064, 1426.7503198385236) (0.065, 1439.640181523323) (0.0651, 1604.7292318725586) (0.2083, 5397.898241014481) (0.20870000000000002, 5474.59273143673) (0.21259999999999998, 5664.401297601699) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.027800000000000002, 16391.20010848999) (0.039400000000000004, 16548.331638223648) (0.0407, 16810.556770553587) (0.0419, 17397.592166641236) (0.1615, 80664.4843169403) (0.16770000000000002, 80767.4345303669) (0.1714, 81099.83697381591) (0.1718, 84430.1843944397) (0.3009, 160966.00743087768) (0.3217, 162729.15360243226) (0.8047000000000001, 642430.1101036377) (0.8076000000000001, 645596.036757309) (0.8107, 669704.2625614167) }; \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.0411, 1598.9143114187907) (0.048, 1571.6838618802108) (0.06939999999999999, 1459.1908444324458) (0.07189999999999999, 1422.6607254365445) (0.223, 329.99418736205996) (0.257, 329.85793857977586) (0.2702, 328.39862856140667) (0.42140000000000005, 167.2260065516426) (0.47430000000000005, 164.74804488803522) (0.9724, 42.14051254882944) (0.9734999999999999, 41.25642864852408) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.0004, 7829.678565895018) (0.0015, 7436.247750582855) (0.0017000000000000001, 6789.89909782153) (0.0033, 1882.296342802623) (0.0062, 1857.4844910843663) (0.0085, 970.2202823335323) (0.0095, 942.0033886306591) (0.0098, 935.4664168701839) (0.0245, 254.45133191431688) (0.025500000000000002, 248.20878325558382) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0298, 1007.9537018946666) (0.058499999999999996, 987.4024675268421) (0.059899999999999995, 981.4963669247996) (0.0621, 942.0778656048357) (0.23010000000000003, 212.58224357351511) (0.238, 209.4399435541839) (0.2647, 209.11230830392893) (0.42869999999999997, 107.16755101593938) (0.9304, 26.802459873398423) (0.9381, 26.710322715705203) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.0032, 815.1215267048583) (0.0036, 809.0834543623394) (0.0070999999999999995, 793.3562647242134) (0.018, 174.16702993819717) (0.0223, 171.98884490838793) (0.025500000000000002, 171.39514485088702) (0.0256, 170.7740049664191) (0.0259, 147.6414024212632) (0.0375, 87.08403750056033) (0.0455, 86.84929994992136) (0.1387, 21.933831316191156) (0.14279999999999998, 21.72002170436205) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0062, 8650.207577560586) (0.017499999999999998, 1921.2385914686515) (0.0182, 1705.7539605883082) (0.0294, 982.1214862256556) (0.029699999999999997, 850.6532356755226) (0.076, 245.3403912620696) (0.08020000000000001, 242.39889782956595) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.013600000000000001, 4144.085966260851) (0.0207, 872.796343760281) (0.0258, 872.7247909742578) (0.0335, 454.876022732609) (0.0349, 447.9764924444959) (0.0368, 440.80962261590935) (0.0953, 113.88373747590293) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0023, 23712.441062403184) (0.0035000000000000005, 21628.373709559317) (0.010199999999999999, 6935.53102408244) (0.011, 6680.136396141283) (0.0111, 6512.93486294946) (0.0123, 5350.928626286286) (0.020999999999999998, 3603.824554409167) (0.0211, 3486.6326341454087) (0.0656, 949.8119422608733) (0.0669, 691.5277666030477) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0068000000000000005, 8242.404233702584) (0.0077, 8034.418686619084) (0.023, 1883.302950024696) (0.023100000000000002, 1708.6697092416687) (0.0364, 945.924935448798) (0.0398, 826.9078470705946) (0.10200000000000001, 239.44898071148185) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0045, 6197.120335689959) (0.0054, 6153.705306709312) (0.0085, 5836.966444746276) (0.028699999999999996, 1361.8400716911049) (0.0507, 716.9719787522276) (0.0522, 711.5138998941628) (0.16299999999999998, 189.50709226555347) (0.1674, 181.21456197579204) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.028199999999999996, 197.58894886058232) (0.0398, 196.06109370601624) (0.0409, 193.4060866856662) (0.0422, 189.7715481761059) (0.1695, 40.17069526679271) (0.17270000000000002, 40.08964902173245) (0.1733, 39.10411926350632) (0.2928, 20.148041730189565) (0.3043, 20.124497412231907) (0.32530000000000003, 19.979603703607076) (0.8121, 5.05032990978053) (0.8148, 5.036065612066649) (0.8178000000000001, 4.9298894819222125) }; \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.045200000000000004, 1598.9143114187907) (0.053700000000000005, 1571.6838618802108) (0.0755, 1459.1908444324458) (0.0782, 1422.6607254365445) (0.2451, 329.99418736205996) (0.282, 329.85793857977586) (0.2965, 328.39862856140667) (0.46020000000000005, 167.2260065516426) (0.5168, 164.74804488803522) (0.9835, 42.14051254882944) (0.9846, 41.38934370722073) (0.9858, 41.25642864852408) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.0005, 7829.678565895018) (0.0016, 7436.247750582855) (0.0019, 6789.89909782153) (0.0039, 1882.296342802623) (0.0067, 1857.4844910843663) (0.0092, 970.2202823335323) (0.010199999999999999, 942.0033886306591) (0.010499999999999999, 935.4664168701839) (0.027100000000000003, 254.45133191431688) (0.028199999999999996, 248.20878325558382) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.032600000000000004, 1007.9537018946666) (0.0648, 987.4024675268421) (0.0649, 981.4963669247996) (0.06760000000000001, 942.0778656048357) (0.251, 212.58224357351511) (0.26080000000000003, 209.4399435541839) (0.2884, 209.11230830392893) (0.4654, 107.16755101593938) (0.9513, 26.802459873398423) (0.9583, 26.710322715705203) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.0033, 815.1215267048583) (0.0038, 809.0834543623394) (0.0076, 793.3562647242134) (0.0195, 174.16702993819717) (0.0245, 171.98884490838793) (0.028399999999999998, 171.39514485088702) (0.0419, 87.08403750056033) (0.0503, 86.84929994992136) (0.1526, 21.933831316191156) (0.1571, 21.72002170436205) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.006500000000000001, 8650.207577560586) (0.0186, 1921.2385914686515) (0.019, 1859.5218440296119) (0.0199, 1705.7539605883082) (0.0313, 982.1214862256556) (0.0317, 963.3069579988186) (0.0328, 850.6532356755226) (0.08149999999999999, 245.3403912620696) (0.0877, 242.39889782956595) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0161, 4144.085966260851) (0.023100000000000002, 872.796343760281) (0.028999999999999998, 872.7247909742578) (0.0373, 454.876022732609) (0.0393, 447.9764924444959) (0.040999999999999995, 440.80962261590935) (0.1052, 113.88373747590293) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0025, 23712.441062403184) (0.0038, 21628.373709559317) (0.0109, 6935.53102408244) (0.012199999999999999, 6680.136396141283) (0.0134, 5350.928626286286) (0.023200000000000002, 3603.824554409167) (0.0233, 3486.6326341454087) (0.0716, 949.8119422608733) (0.0717, 911.3238006878975) (0.07239999999999999, 898.4257055365059) (0.0731, 691.5277666030477) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0070999999999999995, 8242.404233702584) (0.0085, 8034.418686619084) (0.0247, 1883.302950024696) (0.0254, 1708.6697092416687) (0.0402, 945.924935448798) (0.0434, 826.9078470705946) (0.11069999999999999, 239.44898071148185) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0046, 6197.120335689959) (0.0062, 6153.705306709312) (0.008799999999999999, 5836.966444746276) (0.029599999999999998, 1361.8400716911049) (0.0533, 716.9719787522276) (0.054900000000000004, 711.5138998941628) (0.1703, 189.50709226555347) (0.1726, 181.21456197579204) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.0316, 197.58894886058232) (0.0429, 196.06109370601624) (0.0441, 193.4060866856662) (0.0458, 189.7715481761059) (0.1834, 40.17069526679271) (0.188, 40.08964902173245) (0.1888, 39.10411926350632) (0.3175, 20.148041730189565) (0.3325, 20.124497412231907) (0.354, 19.979603703607076) (0.8519, 5.05032990978053) (0.8526999999999999, 5.036065612066649) (0.8555999999999999, 4.9298894819222125) }; \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.0411, 0.6189346313476562) (0.0479, 0.6307363510131836) (0.06899999999999999, 0.6711483001708984) (0.0713, 0.6819963455200195) (0.2552, 3.006100654602051) (0.2683, 3.040909767150879) (0.41859999999999997, 5.94782829284668) (0.471, 6.000399589538574) (0.9710000000000001, 23.603200912475586) (0.9722, 24.02651309967041) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.45890000000000003, 0.12409687042236328) (0.5251, 0.12755393981933594) (0.6902, 0.13113021850585938) (0.6965, 0.14257431030273438) (0.9093, 0.5244016647338867) (0.9228999999999999, 0.5252361297607422) (0.9297000000000001, 0.5369186401367188) (0.9309, 0.5419254302978516) (0.9465999999999999, 1.0237693786621094) (0.9723, 3.922104835510254) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.029699999999999997, 0.9771585464477539) (0.0583, 1.0095834732055664) (0.059699999999999996, 1.0149478912353516) (0.0615, 1.053452491760254) (0.22949999999999998, 4.676222801208496) (0.26280000000000003, 4.745960235595703) (0.4267, 9.264707565307617) (0.9285, 37.03343868255615) (0.9364000000000001, 37.142157554626465) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.2523, 1.2170076370239258) (0.3874, 1.2464523315429688) (0.3886, 2.3070573806762695) (0.7965, 5.723118782043457) (0.9144, 5.7773590087890625) (0.9269999999999999, 5.785942077636719) (0.9279999999999999, 6.279706954956055) (0.9772000000000001, 11.410832405090332) (0.9776, 11.445164680480957) (0.9818, 11.448144912719727) (0.9819000000000001, 11.534929275512695) (0.9989000000000001, 45.3336238861084) (0.9991, 45.45283317565918) (0.9992000000000001, 45.69661617279053) (0.9999, 47.052860260009766) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 0.10967254638671875) (0.0654, 0.11467933654785156) (0.2926, 0.5142688751220703) (0.3049, 0.5279779434204102) (0.30510000000000004, 0.5409717559814453) (0.3096, 0.5841255187988281) (0.5088, 1.0203123092651367) (0.5145, 1.0356903076171875) (0.5255, 1.0715723037719727) (0.5294, 1.1719465255737305) (0.7287, 4.047155380249023) (0.73, 4.064321517944336) (0.7443, 4.126906394958496) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 0.23651123046875) (0.0586, 0.23996829986572266) (0.0605, 0.2593994140625) (0.2391, 1.132369041442871) (0.24, 1.1372566223144531) (0.2425, 1.198410987854004) (0.246, 1.262664794921875) (0.3685, 2.1837949752807617) (0.5316, 8.731603622436523) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.056999999999999995, 0.04029273986816406) (0.057699999999999994, 0.04184246063232422) (0.0763, 0.04267692565917969) (0.0846, 0.05316734313964844) (0.3297, 0.14328956604003906) (0.364, 0.1468658447265625) (0.36819999999999997, 0.1518726348876953) (0.39580000000000004, 0.1900196075439453) (0.6607000000000001, 0.27751922607421875) (0.6624, 0.28443336486816406) (0.6646, 0.29408931732177734) (0.6888, 0.3682374954223633) (0.9712999999999999, 1.0613203048706055) (0.9715999999999999, 1.0973215103149414) (0.974, 1.1152029037475586) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.44480000000000003, 0.11992454528808594) (0.4626, 0.12254714965820312) (0.4729, 0.1380443572998047) (0.8273999999999999, 0.5314350128173828) (0.8893000000000001, 1.0530948638916016) (0.8916000000000001, 1.067042350769043) (0.8955, 1.0807514190673828) (0.8987999999999999, 1.096487045288086) (0.9021000000000001, 1.212000846862793) (0.9582, 4.144549369812012) (0.9654999999999999, 4.198908805847168) (0.966, 4.236340522766113) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0076, 0.15878677368164062) (0.0103, 0.16927719116210938) (0.0364, 0.7284879684448242) (0.064, 1.377105712890625) (0.065, 1.3943910598754883) (0.0651, 1.5305280685424805) (0.2083, 5.2367448806762695) (0.20870000000000002, 5.316257476806641) (0.21259999999999998, 5.467057228088379) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.027800000000000002, 5.0307512283325195) (0.039400000000000004, 5.059957504272461) (0.0407, 5.119442939758301) (0.0419, 5.2204132080078125) (0.16770000000000002, 24.736881256103516) (0.1714, 24.788975715637207) (0.1718, 25.409817695617676) (0.2893, 49.333810806274414) (0.3009, 49.3854284286499) (0.3217, 49.78680610656738) (0.8047000000000001, 197.30186462402344) (0.8076000000000001, 197.76594638824463) (0.8107, 202.05235481262207) }; \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.0411, 0.7083773612976073) (0.0479, 0.7181882858276366) (0.0669, 0.7688999176025391) (0.06899999999999999, 0.774383544921875) (0.0713, 0.8077740669250488) (0.2683, 3.2117128372192383) (0.41859999999999997, 6.357443332672119) (0.44930000000000003, 6.436312198638916) (0.46390000000000003, 6.474316120147705) (0.471, 6.515944004058838) (0.9710000000000001, 24.91446733474731) (0.9722, 25.58627128601074) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.45890000000000003, 0.14972686767578125) (0.6902, 0.15808343887329102) (0.6965, 0.1731157302856445) (0.9297000000000001, 0.5877137184143066) (0.9309, 0.6113290786743164) (0.9465999999999999, 1.1011481285095213) (0.9723, 4.037666320800781) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.029699999999999997, 1.1120080947875977) (0.059699999999999996, 1.1345148086547852) (0.0615, 1.2021541595458984) (0.22949999999999998, 4.966998100280762) (0.2366, 5.020761489868164) (0.26280000000000003, 5.109035968780518) (0.3967, 9.745609760284424) (0.4267, 9.820938110351562) (0.9285, 39.233434200286865) (0.9364000000000001, 39.30525779724121) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.2523, 1.3581991195678709) (0.3874, 1.3616323471069336) (0.3886, 2.4046897888183594) (0.7965, 5.991625785827636) (0.9144, 6.1104416847229) (0.9196, 6.130087375640869) (0.9269999999999999, 6.221318244934082) (0.9279999999999999, 10.054636001586912) (0.9772000000000001, 12.03235387802124) (0.9776, 12.071633338928223) (0.9818, 12.07646131515503) (0.9819000000000001, 12.305891513824463) (0.9989000000000001, 47.424209117889404) (0.9991, 47.88130521774292) (0.9992000000000001, 48.435318470001214) (0.9999, 49.93654489517212) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 0.1423358917236328) (0.0654, 0.14497041702270508) (0.2926, 0.5903244018554688) (0.3049, 0.6024837493896484) (0.30510000000000004, 0.6227612495422363) (0.3096, 0.6811857223510742) (0.5088, 1.090860366821289) (0.5145, 1.1234760284423828) (0.5255, 1.2147903442382812) (0.5294, 1.2970447540283203) (0.73, 4.219317436218262) (0.7443, 4.364526271820068) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0586, 0.2777934074401855) (0.0605, 0.3016233444213867) (0.24, 1.260566711425781) (0.2425, 1.3293027877807617) (0.246, 1.3983607292175293) (0.3685, 2.362978458404541) (0.5291, 9.344100952148438) (0.5316, 9.475266933441162) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.056999999999999995, 0.05412101745605469) (0.057699999999999994, 0.054836273193359375) (0.0763, 0.05602836608886719) (0.0846, 0.06582736968994138) (0.3297, 0.1671433448791504) (0.364, 0.1793265342712402) (0.36819999999999997, 0.1852750778198242) (0.39580000000000004, 0.22938251495361325) (0.6607000000000001, 0.31377077102661133) (0.6607999999999999, 0.33093690872192383) (0.6624, 0.3380894660949707) (0.6646, 0.35071372985839844) (0.6888, 0.4270195960998535) (0.9712999999999999, 1.123189926147461) (0.9715999999999999, 1.2097477912902832) (0.974, 1.2300491333007812) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.3782, 0.14568567276000977) (0.44480000000000003, 0.14808177947998044) (0.4626, 0.15238523483276364) (0.4729, 0.17070770263671875) (0.8273999999999999, 0.5962967872619629) (0.8893000000000001, 1.1441826820373535) (0.8955, 1.1811614036560059) (0.9021000000000001, 1.3485193252563477) (0.958, 4.3550848960876465) (0.966, 4.396450519561768) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0076, 0.19004344940185544) (0.0103, 0.19934177398681638) (0.0364, 0.8104085922241211) (0.065, 1.509249210357666) (0.0651, 1.635134220123291) (0.20179999999999998, 5.566954612731934) (0.20870000000000002, 5.570673942565918) (0.21259999999999998, 5.9059739112854) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.027800000000000002, 5.284607410430908) (0.039400000000000004, 5.3612589836120605) (0.0407, 5.551588535308838) (0.0419, 5.577838420867919) (0.1615, 25.94916820526123) (0.16770000000000002, 26.008141040802) (0.1714, 26.02541446685791) (0.1718, 26.79586410522461) (0.3009, 51.7366886138916) (0.3217, 52.272605895996094) (0.8047000000000001, 204.0010929107666) (0.8076000000000001, 205.22041320800778) (0.8107, 209.6166491508484) }; \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.0411, 0.7367706298828125) (0.0479, 0.7491469383239745) (0.0669, 0.795130729675293) (0.06899999999999999, 0.8065867424011229) (0.0713, 0.8299350738525391) (0.2683, 3.3092808723449707) (0.41859999999999997, 6.620886325836182) (0.44930000000000003, 6.632623672485351) (0.46390000000000003, 6.7386674880981445) (0.471, 7.190682888031006) (0.9710000000000001, 25.694751739501953) (0.9722, 26.58106803894043) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.45890000000000003, 0.1609349250793457) (0.6902, 0.17142772674560547) (0.6965, 0.20647048950195312) (0.9297000000000001, 0.6146693229675292) (0.9309, 0.6335210800170898) (0.9465999999999999, 1.1468195915222168) (0.9705999999999999, 4.130537509918213) (0.9723, 4.14639949798584) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.0583, 1.19429349899292) (0.059699999999999996, 1.2035489082336426) (0.0615, 1.252334117889404) (0.1835, 5.105104446411133) (0.22949999999999998, 5.163917541503906) (0.2366, 5.217704772949219) (0.26280000000000003, 5.301146507263184) (0.3967, 10.063445568084717) (0.4267, 10.214569568634033) (0.9364000000000001, 40.273799896240234) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.3874, 1.4176750183105469) (0.3886, 2.5239968299865723) (0.7965, 6.169247627258301) (0.9144, 6.2528157234191895) (0.9196, 6.318638324737549) (0.9269999999999999, 6.45737886428833) (0.9279999999999999, 10.292706489562988) (0.9776, 12.416489124298096) (0.9818, 12.427494525909422) (0.9819000000000001, 12.793927192687988) (0.9991, 48.83624076843262) (0.9992000000000001, 50.27516841888428) (0.9999, 51.19426727294922) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 0.1614212989807129) (0.0618, 0.16356706619262695) (0.0654, 0.16404151916503906) (0.2926, 0.6203770637512207) (0.3049, 0.6270527839660645) (0.30510000000000004, 0.6563758850097656) (0.3096, 0.739891529083252) (0.5088, 1.135118007659912) (0.5145, 1.1990141868591309) (0.5255, 1.2657737731933594) (0.5294, 1.3482975959777832) (0.73, 4.358284473419189) (0.7443, 4.496204853057861) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.05789999999999999, 0.3025698661804199) (0.0586, 0.3056645393371582) (0.0605, 0.31781911849975586) (0.24, 1.336822509765625) (0.2425, 1.365678310394287) (0.246, 1.4553117752075195) (0.3685, 2.45119571685791) (0.5259, 9.71226692199707) (0.5291, 9.788570404052734) (0.5316, 10.213918685913084) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.056999999999999995, 0.0677180290222168) (0.057699999999999994, 0.0696253776550293) (0.0763, 0.07058382034301756) (0.0846, 0.081334114074707) (0.3297, 0.18024682998657227) (0.36819999999999997, 0.20146608352661133) (0.39580000000000004, 0.25225162506103516) (0.6607000000000001, 0.32926082611083984) (0.6607999999999999, 0.3612327575683594) (0.6624, 0.3645658493041992) (0.6646, 0.3757858276367187) (0.6888, 0.45658111572265625) (0.9712999999999999, 1.16973876953125) (0.974, 1.2647843360900877) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.44480000000000003, 0.16522645950317383) (0.4626, 0.1699972152709961) (0.4729, 0.195772647857666) (0.8273999999999999, 0.6494927406311035) (0.8893000000000001, 1.1949682235717771) (0.8955, 1.2233376502990723) (0.9021000000000001, 1.5996289253234863) (0.958, 4.526402950286865) (0.9582, 4.54664945602417) (0.966, 4.641561508178711) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0076, 0.20624160766601562) (0.0103, 0.21338939666748047) (0.033600000000000005, 0.8437919616699219) (0.0364, 0.8478665351867676) (0.064, 1.5831494331359863) (0.065, 1.5845561027526855) (0.0651, 1.7268824577331543) (0.20179999999999998, 5.736403465270995) (0.20870000000000002, 5.784552097320557) (0.21259999999999998, 6.069211959838867) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.027800000000000002, 5.411953926086426) (0.0308, 5.644562244415283) (0.0407, 5.676777362823486) (0.0419, 5.802042484283447) (0.1615, 26.49247407913208) (0.16770000000000002, 26.62374496459961) (0.1714, 26.743788719177246) (0.1718, 27.368557453155518) (0.3009, 52.892372608184814) (0.3217, 53.241636753082275) (0.8047000000000001, 207.4878215789795) (0.8076000000000001, 208.5431146621704) (0.8107, 213.3666443824768) }; \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.0479, 0.8025374412536639) (0.0669, 0.8299481868743908) (0.0713, 0.8778791427612325) (0.2459, 3.4690935611724947) (0.2683, 3.492873907089237) (0.44930000000000003, 6.735335588455201) (0.46390000000000003, 7.61602091789254) (0.471, 7.729370117187507) (0.9710000000000001, 26.84271597862247) (0.9722, 28.38040208816533) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.45890000000000003, 0.17629218101502372) (0.6902, 0.17752790451051106) (0.6965, 0.2552413940429808) (0.9297000000000001, 0.6485908031463706) (0.9309, 0.6594829559326187) (0.9465, 1.2246081829071127) (0.9465999999999999, 1.2309904098510775) (0.9705999999999999, 4.207881450653144) (0.9723, 4.548965454101601) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.059699999999999996, 1.2664141654968417) (0.0615, 1.369750022888187) (0.1835, 5.308481454849273) (0.22949999999999998, 5.317258834838872) (0.2366, 5.459861516952586) (0.2561, 5.478861570358277) (0.26280000000000003, 6.60848140716557) (0.4267, 10.620306968688983) (0.9285, 41.673955917358484) (0.9364000000000001, 41.84701752662674) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.1908, 1.4507851600646982) (0.3874, 1.496608257293706) (0.3886, 2.7606971263885542) (0.7965, 6.417625665664683) (0.9144, 6.4618532657623495) (0.9196, 6.497726917266855) (0.9269999999999999, 6.529251813888564) (0.9279999999999999, 11.787780523300633) (0.9776, 12.780901432037375) (0.9818, 12.879595279693731) (0.9819000000000001, 13.157308340072692) (0.9991, 50.42399692535403) (0.9992000000000001, 52.3242325782776) (0.9999, 53.07504582405092) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0654, 0.18010616302491136) (0.3049, 0.6762876510620237) (0.30510000000000004, 0.7078714370727545) (0.3096, 0.8371398448944138) (0.5088, 1.2309846878051784) (0.5145, 1.3621332645416304) (0.5294, 1.6940033435821569) (0.7443, 4.732250690460216) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0605, 0.3305356502533037) (0.24, 1.3990554809570326) (0.2425, 1.4200408458709735) (0.246, 1.5273780822753968) (0.3625, 2.6462199687957777) (0.3632, 2.6574230194091806) (0.3633, 2.7312245368958075) (0.3685, 3.3681743144989045) (0.5259, 10.075099229812622) (0.5291, 10.075195312500009) (0.5316, 10.71694374084475) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0763, 0.09236168861390004) (0.0846, 0.11572909355164439) (0.3297, 0.19058990478516466) (0.364, 0.2747316360473699) (0.36819999999999997, 0.2848258018493791) (0.39580000000000004, 0.29851341247558716) (0.6607000000000001, 0.36609268188477645) (0.6646, 0.4148857593536411) (0.6888, 0.5265109539032057) (0.9712999999999999, 1.3530490398407005) (0.974, 1.4444131851196356) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.3782, 0.24657964706421392) (0.4626, 0.2553935050964398) (0.4729, 0.2725400924682642) (0.8257999999999999, 0.7946677207946794) (0.8273999999999999, 0.8574044704437301) (0.8955, 1.2676942348480245) (0.9021000000000001, 1.7614824771882005) (0.9582, 4.64177417755127) (0.966, 6.170409917831433) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0076, 0.226805925369269) (0.0103, 0.2963662147521983) (0.0364, 0.9367942810058637) (0.064, 1.6425743103027441) (0.065, 1.7777214050293033) (0.0651, 1.8151307106018113) (0.2083, 5.954275608062745) (0.20870000000000002, 6.096062183380143) (0.21259999999999998, 6.573654890060444) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.027800000000000002, 5.607748746871961) (0.0308, 5.684727907180796) (0.0407, 5.791818380355849) (0.0419, 6.648900270462047) (0.1615, 27.05277824401857) (0.1714, 27.150009155273445) (0.1718, 27.874540090560963) (0.3009, 53.646371364593534) (0.3217, 55.2856163978577) (0.8047000000000001, 209.49700665473952) (0.8076000000000001, 211.2018394470217) (0.8107, 214.76423597335824) }; \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.