\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.1953, 209.6713786818555) (0.3045, 121.30265209863974) (0.34199999999999997, 110.34584363859173) (0.37360000000000004, 102.30001023169858) (0.376, 91.77161071352616) (0.3863, 80.43803139022957) (0.4485, 80.4076745537223) (0.5201, 71.05859398347765) (0.608, 70.61265965275972) (0.7219, 57.02932887110047) (0.808, 46.6896348029814) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9033, 4.013597123581328) (0.9202, 1.5536622486505407) (0.9299, 1.024122486149475) (0.9323, 0.7166859797574051) (0.9888, 0.6213600422742968) (0.9911, 0.392464940162888) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2906, 188.3500087050555) (0.2919, 187.0755089788844) (0.2928, 185.23388410878687) (0.3977, 121.000441299379) (0.44509999999999994, 114.66530477996915) (0.48600000000000004, 108.01175661641874) (0.5123, 90.27297222514454) (0.5187, 79.71275990576864) (0.5902999999999999, 74.59153601437687) (0.6054999999999999, 62.69397532293464) (0.6704, 57.614536030692335) (0.7645, 46.18555909111425) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9913000000000001, 9.962627605026418) (0.9916, 9.34778837952023) (0.9965999999999999, 3.88706506014142) (0.998, 3.1375806490350215) (0.9981, 2.896500572100961) (0.9983000000000001, 2.717008982448523) (0.9989000000000001, 2.3667205486540417) (0.9992000000000001, 1.7391191371505066) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.309, 23.52685936235984) (0.312, 23.142950746856457) (0.49210000000000004, 12.563088852856145) (0.5083, 11.755011709275864) (0.5189, 11.090299958496093) (0.5574, 8.588021762263498) (0.5791000000000001, 8.327214048908184) (0.5985, 7.973658023161555) (0.6203000000000001, 6.493698995374029) (0.6694, 5.4970286827522035) (0.9073, 4.615972136049684) (0.9263, 3.5748911994795187) (0.9365, 3.0045351166109158) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3355, 22.23579293070514) (0.3435, 20.50576366976151) (0.4603, 7.711988456376166) (0.4716, 6.816031926228644) (0.47850000000000004, 6.261638708893758) (0.5142, 5.245673327604041) (0.5213, 4.593057613452672) (0.5355000000000001, 4.587647502193205) (0.5526, 4.027731160430061) (0.5833, 3.381072514065439) (0.7643, 3.2406327235445684) (0.8029, 2.396954123014468) (0.8304, 1.8807127447094367) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.29710000000000003, 26.676165932831648) (0.3577, 17.218517795210126) (0.3578, 17.080330027187888) (0.3581, 16.93250249027812) (0.3785, 13.540993250972397) (0.3791, 13.539847899324444) (0.6131, 9.251936627036395) (0.6561, 8.980691367105129) (0.6789, 8.789864524453495) (0.9813000000000001, 8.445466206012561) (0.9862, 7.762251668885293) (0.9877, 7.242518161503947) (0.9891, 5.652817171333524) (0.9903000000000001, 5.3450639391529196) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9198000000000001, 38.868820270757595) (0.924, 21.42101985887472) (0.9247, 21.14666663197937) (0.9249, 20.44497719502258) (0.9292, 14.566311066643133) (0.9304, 14.05258130307432) (0.9313, 13.532026599738943) (0.9318, 10.146624646267346) (0.9757999999999999, 9.558660761231117) (0.9797, 8.335530376694267) (0.9811, 6.736867198414103) (0.9874, 6.459325190045207) (0.9894000000000001, 5.125889253801146) (0.9904999999999999, 4.17956887142981) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.027200000000000002, 39.631040776393114) (0.0273, 39.203328336314975) (0.054200000000000005, 21.83104184645457) (0.0643, 21.225713198060273) (0.0732, 20.62067042783246) (0.0854, 15.614283641041231) (0.11359999999999999, 14.928889003198574) (0.1395, 11.399232510026772) (0.1534, 9.979982234825286) (0.449, 7.736706246040103) (0.5542, 6.1180688013850535) (0.6248, 5.07849791002387) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.162, 47.31839393606724) (0.1663, 45.76267672834324) (0.1703, 44.18781782120606) (0.29460000000000003, 27.57019772991982) (0.3536, 23.93925345033015) (0.4069, 21.17505120416625) (0.4234, 18.9073248190333) (0.4285, 16.933043279025657) (0.5161, 16.324572371086745) (0.5326, 14.052728576234) (0.6256999999999999, 11.191351549071236) (0.7325, 8.697804639331949) }; \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.808, 513.41051197052) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9911, 1665.5344591140747) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.7645, 1062.104959487915) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9992000000000001, 3542.6597599983215) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.9365, 397.5323655605316) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.8304, 701.1760005950928) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.9903000000000001, 186.71535801887512) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9904999999999999, 364.54803824424744) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.6248, 393.38818979263306) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.7325, 11655.525495529175) }; \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.808, 535984.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9911, 13919596.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.7645, 965424.0) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9992000000000001, 12317516.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.9365, 1923964.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.8304, 3361652.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.9903000000000001, 765096.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9904999999999999, 1627396.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.6248, 1873508.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.7325, 8229296.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.1948, 2007) (0.1953, 2009) (0.3045, 3476) (0.34199999999999997, 3897) (0.37360000000000004, 4288) (0.376, 4820) (0.3863, 5450) (0.4485, 5871) (0.5201, 6972) (0.608, 8392) (0.7219, 11217) (0.808, 14605) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9033, 10071) (0.9202, 48529) (0.9299, 115167) (0.9323, 122053) (0.9888, 180011) (0.9911, 2778596) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2906, 2074) (0.2919, 2093) (0.2928, 2105) (0.3977, 3595) (0.4326, 4159) (0.44509999999999994, 4232) (0.48600000000000004, 4844) (0.5123, 5295) (0.5187, 5697) (0.5902999999999999, 6541) (0.6054999999999999, 7548) (0.6704, 10314) (0.7645, 14196) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9913000000000001, 9129) (0.9916, 10968) (0.9965999999999999, 32373) (0.998, 41630) (0.9981, 45344) (0.9983000000000001, 64926) (0.9989000000000001, 93617) (0.9992000000000001, 157445) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.3052, 2144) (0.309, 2156) (0.312, 2166) (0.49210000000000004, 7628) (0.5083, 9297) (0.5189, 10854) (0.5574, 16310) (0.5623, 17207) (0.5791000000000001, 21764) (0.5883, 24227) (0.5985, 27306) (0.6142000000000001, 33132) (0.6203000000000001, 43298) (0.6694, 76441) (0.7017, 121195) (0.9073, 311520) (0.9263, 475337) (0.9365, 648847) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3355, 3988) (0.34049999999999997, 4441) (0.3435, 4788) (0.4603, 80572) (0.4716, 110430) (0.5048, 112543) (0.5142, 128215) (0.5213, 131281) (0.5371, 182856) (0.5522, 203226) (0.5526, 263015) (0.5775, 276214) (0.5833, 291328) (0.7643, 413038) (0.8029, 617512) (0.8304, 811553) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.3581, 2000) (0.3781, 2032) (0.3791, 2033) (0.6131, 10349) (0.6561, 17019) (0.9813000000000001, 27004) (0.9856, 32086) (0.9862, 41905) (0.9891, 48524) (0.9903000000000001, 70079) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9198000000000001, 2003) (0.924, 2658) (0.9247, 2840) (0.9249, 2999) (0.9292, 4194) (0.9304, 4982) (0.9313, 5801) (0.9318, 11235) (0.9340999999999999, 19857) (0.9757999999999999, 43223) (0.9797, 84493) (0.9874, 94442) (0.9894000000000001, 163534) (0.9904999999999999, 253086) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.027200000000000002, 2333) (0.0273, 2388) (0.054200000000000005, 7740) (0.0643, 9781) (0.0732, 11569) (0.0854, 13291) (0.0878, 13886) (0.11359999999999999, 18206) (0.11979999999999999, 19969) (0.1395, 23233) (0.1534, 27569) (0.1752, 64802) (0.449, 110476) (0.5542, 164289) (0.6248, 222042) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.162, 2187) (0.1663, 2232) (0.1703, 2258) (0.29460000000000003, 4448) (0.3294, 5311) (0.3536, 5478) (0.4069, 6351) (0.4234, 7105) (0.4285, 7904) (0.5161, 9031) (0.5326, 10783) (0.6256999999999999, 15053) (0.7325, 20666) }; \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.05063048235762365, 209.6713786818555) (0.033411292149587324, 121.30265209863974) (0.030487128650317944, 110.34584363859173) (0.028448151694007166, 102.30001023169858) (0.027383657924078028, 91.77161071352616) (0.026628213480630467, 80.43803139022957) (0.023653471016497944, 80.4076745537223) (0.02088247440269921, 71.05859398347765) (0.017588938361714237, 70.61265965275972) (0.015246222028831581, 57.02932887110047) (0.013845712879633569, 46.6896348029814) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (1.1800658146640453, 4.013597123581328) (0.9842086370225137, 1.5536622486505407) (0.8721819948371451, 1.024122486149475) (0.8329271154854758, 0.7166859797574051) (0.135773296460536, 0.6213600422742968) (0.11947476121513675, 0.4564472271390641) (0.10517032990883057, 0.392464940162888) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.03664798460367062, 188.3500087050555) (0.03646427155638429, 187.0755089788844) (0.0363546953610668, 185.23388410878687) (0.02715563118471726, 121.000441299379) (0.024609951416900276, 114.66530477996915) (0.022774862213220465, 108.01175661641874) (0.02143903841701113, 90.27297222514454) (0.021176662815464323, 79.71275990576864) (0.018770694829095564, 74.59153601437687) (0.01831094770206533, 62.69397532293464) (0.016599900852431005, 57.614536030692335) (0.014687982088683138, 46.18555909111425) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.08721866550561953, 9.962627605026418) (0.07939001781015916, 9.34778837952023) (0.038862904742205225, 3.88706506014142) (0.03220637392520263, 3.1375806490350215) (0.030967832614299407, 3.113656468881947) (0.03034714662161792, 2.717008982448523) (0.027350226043930892, 2.3667205486540417) (0.022773064649032188, 1.988738407652364) (0.020955658719909304, 1.7391191371505066) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.22909239623420483, 23.52685936235984) (0.22899370797299215, 23.142950746856457) (0.2144357256376442, 12.563088852856145) (0.2131578551262125, 11.755011709275864) (0.21214591229634233, 11.090299958496093) (0.19967770106978378, 8.588021762263498) (0.19710553426755625, 8.327214048908184) (0.1948657342674774, 7.973658023161555) (0.1945705050210577, 6.903316433959059) (0.1900503980153556, 6.552138760441537) (0.08480280021011623, 6.493698995374029) (0.07475487137758247, 5.4970286827522035) (0.03420017059198523, 4.615972136049684) (0.03013583518443863, 3.5748911994795187) (0.02756604371490669, 3.0045351166109158) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.14962761706408617, 22.23579293070514) (0.14959570252828766, 20.50576366976151) (0.14390421710195947, 7.711988456376166) (0.1433873088213017, 6.816031926228644) (0.1429916262762063, 6.261638708893758) (0.11729907292086653, 5.245673327604041) (0.11321573797207189, 4.593057613452672) (0.1105306170765265, 4.587647502193205) (0.104521363393791, 4.027731160430061) (0.10273785154482681, 3.9362731064855385) (0.0915879763388896, 3.381072514065439) (0.05045335649086379, 3.2406327235445684) (0.04670512128264619, 2.396954123014468) (0.04376663299668602, 1.8807127447094367) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.8750754462337106, 26.676165932831648) (0.7831443012269832, 17.218517795210126) (0.7829256601783633, 17.080330027187888) (0.782752129846131, 16.93250249027812) (0.7452056075477783, 13.540993250972397) (0.7447912924939908, 13.539847899324444) (0.419763487453166, 9.251936627036395) (0.38741661548578277, 8.980691367105129) (0.3709525748801994, 8.789864524453495) (0.07656857114129573, 8.445466206012561) (0.06478705104289317, 7.762251668885293) (0.059661249581158565, 7.242518161503947) (0.04705213795258929, 6.798140776156524) (0.039655321728275884, 5.652817171333524) (0.03670345707689828, 5.3450639391529196) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.1653484509395425, 38.868820270757595) (0.1427302555263397, 21.42101985887472) (0.13994380859304728, 21.14666663197937) (0.13813873960576745, 20.44497719502258) (0.1301413510908039, 14.566311066643133) (0.12625087273132382, 14.05258130307432) (0.12335702476565844, 13.532026599738943) (0.0726171544743065, 9.558660761231117) (0.06335633284883359, 8.335530376694267) (0.058557145994061935, 6.736867198414103) (0.04037990208525924, 6.459325190045207) (0.035682971277582166, 5.125889253801146) (0.033838082084715546, 4.17956887142981) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.2658559874455628, 39.631040776393114) (0.2626460902649023, 39.203328336314975) (0.1587983834895591, 21.83104184645457) (0.14822246169356457, 21.225713198060273) (0.14025123426997424, 20.62067042783246) (0.12919494774360327, 15.614283641041231) (0.11757134866189581, 14.928889003198574) (0.11006300511842664, 11.399232510026772) (0.10572486121178158, 9.979982234825286) (0.09845697785668608, 9.05407878909571) (0.0800532011114721, 7.736706246040103) (0.07602368634186253, 6.1180688013850535) (0.07335628528838435, 5.07849791002387) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.06490892450631677, 47.31839393606724) (0.06333909841566658, 45.76267672834324) (0.06231511746916153, 44.18781782120606) (0.035809825795929194, 27.57019772991982) (0.030210003339373577, 23.93925345033015) (0.02673065236880425, 21.17505120416625) (0.02528045926208448, 18.9073248190333) (0.024926523395544693, 16.933043279025657) (0.020976345583357953, 16.324572371086745) (0.02027643347529845, 14.052728576234) (0.018042675818524517, 11.191351549071236) (0.015376465153131824, 8.697804639331949) }; \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.808, 10.0) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9911, 10.0) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.7645, 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.9992000000000001, 10.0) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.9365, 10.0) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.8304, 10.0) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.9903000000000001, 10.0) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9904999999999999, 10.0) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.6248, 10.0) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.7325, 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.1953, 2556.3050301361086) (0.3045, 4418.567860858917) (0.34199999999999997, 4857.310274009705) (0.37360000000000004, 5239.334764347077) (0.376, 5840.411820526124) (0.3863, 6663.315731830596) (0.4485, 6665.831377101898) (0.5201, 7542.845558197022) (0.608, 7590.480271324158) (0.7219, 9398.392206428527) (0.808, 11479.721404155733) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9033, 3468109.9202053347) (0.9202, 8959221.35720946) (0.9299, 13591729.6888337) (0.9323, 19422168.69473534) (0.9888, 22401833.161095433) (0.9911, 35467106.9324634) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2906, 5125.691294826508) (0.2919, 5160.611377029419) (0.2928, 5211.918999835968) (0.3977, 7978.681644733429) (0.44509999999999994, 8419.495346500396) (0.48600000000000004, 8938.138127208711) (0.5123, 10694.496660552977) (0.5187, 12111.285585159301) (0.5902999999999999, 12942.808951057435) (0.6054999999999999, 15398.991610073092) (0.6704, 16756.604609046935) (0.7645, 20903.15715558243) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9913000000000001, 1236372.219090622) (0.9916, 1317693.0734745825) (0.9965999999999999, 3168847.3975662915) (0.998, 3925800.601743357) (0.9981, 4252550.860387214) (0.9983000000000001, 4533483.724039683) (0.9989000000000001, 5204465.735088578) (0.9992000000000001, 7082617.709665292) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.309, 81777.34096877003) (0.312, 83133.91066873074) (0.49210000000000004, 153144.18472512817) (0.5083, 163671.80633957195) (0.5189, 173481.69185686304) (0.5574, 224028.77557367895) (0.5791000000000001, 231045.33985796355) (0.5985, 241290.00697187518) (0.6203000000000001, 296281.6726446037) (0.6694, 350000.72057778074) (0.9073, 416805.8088943567) (0.9263, 538188.127314229) (0.9365, 640353.3076924763) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3355, 151182.0158820572) (0.3435, 163936.9327637968) (0.4603, 435899.51139263343) (0.4716, 493197.80722623825) (0.47850000000000004, 536864.5743206576) (0.5142, 640842.8032127257) (0.5213, 731898.5048552428) (0.5355000000000001, 732761.6165786285) (0.5526, 834626.7082138271) (0.5833, 994256.1083843517) (0.7643, 1037344.3357453546) (0.8029, 1402468.2273736238) (0.8304, 1787435.1144035892) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.29710000000000003, 28680.8832246151) (0.3577, 44434.486702033995) (0.3578, 44793.98224637032) (0.3581, 45185.0516743927) (0.3785, 56502.20673029709) (0.3791, 56506.98631837464) (0.6131, 82695.7674746933) (0.6561, 85193.44098633957) (0.6789, 87042.97977192877) (0.9813000000000001, 90592.51216413689) (0.9862, 98566.24503259278) (0.9877, 105639.50036973381) (0.9891, 135347.73490993882) (0.9903000000000001, 143140.66374316407) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9198000000000001, 41868.932184297555) (0.924, 75971.9196714983) (0.9247, 76957.56633052253) (0.9249, 79598.81708237839) (0.9292, 111723.27657664393) (0.9304, 115807.62031556226) (0.9313, 120262.54811170674) (0.9318, 160387.9178282871) (0.9757999999999999, 170253.5575486202) (0.9797, 195236.04695270731) (0.9811, 241565.6939746561) (0.9874, 251945.20358071805) (0.9894000000000001, 317485.5950688343) (0.9904999999999999, 389369.346471201) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.027200000000000002, 47273.75217246341) (0.0273, 47789.51378637219) (0.054200000000000005, 85818.53368139933) (0.0643, 88265.96225615693) (0.0732, 90855.82384708786) (0.0854, 119986.80458676913) (0.11359999999999999, 125495.47388279151) (0.1395, 164353.87192533017) (0.1534, 187726.58667290688) (0.449, 242158.347547307) (0.5542, 306225.3892234526) (0.6248, 368909.86925525666) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.162, 173913.25688523485) (0.1663, 179825.4951049042) (0.1703, 186234.4964238243) (0.29460000000000003, 298485.20060011675) (0.3536, 343757.41988255316) (0.4069, 388631.69305493165) (0.4234, 435243.8051794548) (0.4285, 485990.37186619185) (0.5161, 504104.8434797172) (0.5326, 585601.2912622108) (0.6256999999999999, 735326.3780443878) (0.7325, 946134.8399096794) }; \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.19619999999999999, 209.6713786818555) (0.30619999999999997, 121.30265209863974) (0.3442, 110.34584363859173) (0.3759, 102.30001023169858) (0.3779, 91.77161071352616) (0.3882, 80.43803139022957) (0.45099999999999996, 80.4076745537223) (0.5232, 71.05859398347765) (0.612, 70.61265965275972) (0.7262, 57.02932887110047) (0.8128, 46.6896348029814) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.0019, 4.013597123581328) (0.002, 3.824948557783059) (0.0048000000000000004, 1.5536622486505407) (0.0107, 1.024122486149475) (0.0123, 0.7166859797574051) (0.0361, 0.6213600422742968) (0.2311, 0.4564472271390641) (0.28450000000000003, 0.392464940162888) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2919, 188.3500087050555) (0.2932, 187.0755089788844) (0.2941, 185.23388410878687) (0.3997, 121.000441299379) (0.4473, 114.66530477996915) (0.48840000000000006, 108.01175661641874) (0.5149, 90.27297222514454) (0.5214000000000001, 79.71275990576864) (0.5934, 74.59153601437687) (0.6086, 62.69397532293464) (0.6735, 57.614536030692335) (0.7678, 46.18555909111425) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.1457, 9.962627605026418) (0.178, 9.34778837952023) (0.38530000000000003, 3.88706506014142) (0.4183, 3.1375806490350215) (0.5246999999999999, 3.113656468881947) (0.5902000000000001, 1.988738407652364) (0.6877, 1.7391191371505066) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0183, 23.52685936235984) (0.026000000000000002, 12.563088852856145) (0.029099999999999997, 11.755011709275864) (0.0309, 11.090299958496093) (0.038900000000000004, 8.588021762263498) (0.047, 8.327214048908184) (0.0558, 7.973658023161555) (0.0635, 6.199520810592595) (0.07239999999999999, 5.4970286827522035) (0.33490000000000003, 4.615972136049684) (0.41319999999999996, 3.5748911994795187) (0.47000000000000003, 3.0045351166109158) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.038900000000000004, 22.23579293070514) (0.0427, 20.50576366976151) (0.1041, 7.711988456376166) (0.1281, 6.816031926228644) (0.15, 6.261638708893758) (0.1506, 4.593057613452672) (0.1917, 4.587647502193205) (0.23969999999999997, 4.027731160430061) (0.271, 3.381072514065439) (0.41500000000000004, 3.2406327235445684) (0.5199, 2.396954123014468) (0.6099, 1.8807127447094367) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0091, 26.676165932831648) (0.0095, 17.218517795210126) (0.0099, 13.540993250972397) (0.017499999999999998, 9.251936627036395) (0.0188, 8.980691367105129) (0.0198, 8.789864524453495) (0.1214, 8.445466206012561) (0.1444, 7.762251668885293) (0.15789999999999998, 7.242518161503947) (0.3802, 6.798140776156524) (0.4607, 5.652817171333524) (0.5084, 5.3450639391529196) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0315, 38.868820270757595) (0.038400000000000004, 21.42101985887472) (0.040400000000000005, 21.14666663197937) (0.0419, 20.44497719502258) (0.048, 14.566311066643133) (0.054900000000000004, 14.05258130307432) (0.0612, 13.532026599738943) (0.0767, 9.558660761231117) (0.09140000000000001, 8.335530376694267) (0.10840000000000001, 6.736867198414103) (0.3151, 6.459325190045207) (0.3809, 5.125889253801146) (0.42590000000000006, 4.17956887142981) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0216, 39.631040776393114) (0.0217, 39.203328336314975) (0.040100000000000004, 21.83104184645457) (0.047099999999999996, 21.225713198060273) (0.0538, 20.62067042783246) (0.0632, 15.614283641041231) (0.0827, 14.928889003198574) (0.1022, 11.399232510026772) (0.11140000000000001, 9.979982234825286) (0.31829999999999997, 7.736706246040103) (0.3981, 6.1180688013850535) (0.4601, 5.07849791002387) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.1636, 47.31839393606724) (0.1679, 45.76267672834324) (0.172, 44.18781782120606) (0.2968, 27.57019772991982) (0.35619999999999996, 23.93925345033015) (0.41, 21.17505120416625) (0.4266, 18.9073248190333) (0.43179999999999996, 16.933043279025657) (0.5204, 16.324572371086745) (0.5372, 14.052728576234) (0.6309, 11.191351549071236) (0.739, 8.697804639331949) }; \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.2158, 209.6713786818555) (0.3356, 121.30265209863974) (0.3766, 110.34584363859173) (0.41180000000000005, 102.30001023169858) (0.4131, 91.77161071352616) (0.4241, 80.43803139022957) (0.49260000000000004, 80.4076745537223) (0.572, 71.05859398347765) (0.6673, 70.61265965275972) (0.7835, 57.02932887110047) (0.8676, 46.6896348029814) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.0024000000000000002, 4.013597123581328) (0.0025, 3.824948557783059) (0.0059, 1.5536622486505407) (0.0131, 1.024122486149475) (0.015, 0.7166859797574051) (0.040100000000000004, 0.6213600422742968) (0.2597, 0.4564472271390641) (0.3204, 0.392464940162888) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.31829999999999997, 188.3500087050555) (0.3196, 187.0755089788844) (0.3206, 185.23388410878687) (0.4363, 121.000441299379) (0.48840000000000006, 114.66530477996915) (0.5349, 108.01175661641874) (0.5615, 90.27297222514454) (0.5683, 79.71275990576864) (0.6488, 74.59153601437687) (0.6647000000000001, 62.69397532293464) (0.7319, 57.614536030692335) (0.8282999999999999, 46.18555909111425) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.1588, 9.962627605026418) (0.1948, 9.34778837952023) (0.42160000000000003, 3.88706506014142) (0.458, 3.1375806490350215) (0.5726, 3.113656468881947) (0.6428, 1.988738407652364) (0.7449, 1.7391191371505066) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.0199, 23.52685936235984) (0.028199999999999996, 12.563088852856145) (0.0315, 11.755011709275864) (0.0334, 11.090299958496093) (0.0429, 8.588021762263498) (0.0516, 8.327214048908184) (0.0612, 7.973658023161555) (0.0696, 6.199520810592595) (0.07930000000000001, 5.4970286827522035) (0.36429999999999996, 4.615972136049684) (0.44800000000000006, 3.5748911994795187) (0.5086999999999999, 3.0045351166109158) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.0438, 22.23579293070514) (0.047799999999999995, 20.50576366976151) (0.1152, 7.711988456376166) (0.1412, 6.816031926228644) (0.1647, 6.261638708893758) (0.1648, 4.593057613452672) (0.2098, 4.587647502193205) (0.2609, 4.027731160430061) (0.29500000000000004, 3.381072514065439) (0.45640000000000003, 3.2406327235445684) (0.5689, 2.396954123014468) (0.6645, 1.8807127447094367) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.0098, 26.676165932831648) (0.010199999999999999, 17.218517795210126) (0.0106, 13.540993250972397) (0.0188, 9.251936627036395) (0.020300000000000002, 8.980691367105129) (0.0213, 8.789864524453495) (0.1319, 8.445466206012561) (0.1575, 7.762251668885293) (0.1722, 7.242518161503947) (0.4141, 6.798140776156524) (0.5013, 5.652817171333524) (0.5523, 5.3450639391529196) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.0342, 38.868820270757595) (0.0418, 21.42101985887472) (0.0442, 21.14666663197937) (0.045700000000000005, 20.44497719502258) (0.053000000000000005, 14.566311066643133) (0.0606, 14.05258130307432) (0.0674, 13.532026599738943) (0.0834, 9.558660761231117) (0.10029999999999999, 8.335530376694267) (0.1192, 6.736867198414103) (0.3423, 6.459325190045207) (0.4145, 5.125889253801146) (0.4638, 4.17956887142981) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0229, 39.631040776393114) (0.023, 39.203328336314975) (0.0422, 21.83104184645457) (0.0494, 21.225713198060273) (0.056100000000000004, 20.62067042783246) (0.066, 15.614283641041231) (0.0859, 14.928889003198574) (0.1059, 11.399232510026772) (0.11579999999999999, 9.979982234825286) (0.3303, 7.736706246040103) (0.4125, 6.1180688013850535) (0.476, 5.07849791002387) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.1774, 47.31839393606724) (0.1819, 45.76267672834324) (0.1864, 44.18781782120606) (0.3214, 27.57019772991982) (0.3869, 23.93925345033015) (0.4462, 21.17505120416625) (0.4643, 18.9073248190333) (0.47030000000000005, 16.933043279025657) (0.5678, 16.324572371086745) (0.5861, 14.052728576234) (0.6829, 11.191351549071236) (0.7962, 8.697804639331949) }; \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.1953, 4.593133926391602) (0.3045, 7.746458053588867) (0.34199999999999997, 8.423566818237305) (0.37360000000000004, 9.011983871459961) (0.376, 10.292530059814453) (0.4485, 11.742711067199707) (0.5201, 13.24927806854248) (0.608, 13.751506805419922) (0.7219, 17.049670219421387) (0.808, 20.908832550048828) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9033, 143.4398889541626) (0.9202, 568.5312747955322) (0.9299, 1013.480544090271) (0.9323, 1393.746018409729) (0.9888, 1687.0033740997314) (0.9911, 2812.9299879074097) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2906, 5.162477493286133) (0.2919, 5.194902420043945) (0.2928, 5.232810974121094) (0.3977, 7.730722427368164) (0.44509999999999994, 8.053064346313477) (0.48600000000000004, 8.508682250976562) (0.5123, 10.405421257019043) (0.5187, 11.833548545837402) (0.5902999999999999, 12.445688247680664) (0.6054999999999999, 15.122056007385254) (0.6704, 16.412019729614258) (0.7645, 20.470857620239258) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9913000000000001, 83.22453498840332) (0.9916, 86.95697784423828) (0.9965999999999999, 231.1406135559082) (0.9971, 286.4875793457031) (0.998, 300.8180856704712) (0.9981, 330.4051160812378) (0.9983000000000001, 353.85751724243164) (0.9989000000000001, 424.2449998855591) (0.9992000000000001, 574.9944448471069) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.309, 28.13887596130371) (0.312, 28.287768363952637) (0.49210000000000004, 62.20364570617676) (0.5083, 63.74084949493408) (0.5189, 66.15400314331055) (0.5574, 112.77949810028076) (0.5791000000000001, 114.14563655853271) (0.5985, 116.16230010986328) (0.6142000000000001, 139.76967334747314) (0.6203000000000001, 152.62222290039062) (0.6694, 181.87296390533447) (0.9073, 226.35412216186523) (0.9263, 286.1504554748535) (0.9365, 341.68529510498047) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3355, 20.616650581359863) (0.3435, 21.26920223236084) (0.4603, 44.67201232910156) (0.4716, 45.1207160949707) (0.47850000000000004, 45.78530788421631) (0.5142, 112.85686492919922) (0.5355000000000001, 115.7522201538086) (0.5526, 122.51114845275879) (0.5833, 163.17415237426758) (0.7643, 294.06750202178955) (0.8029, 414.00718688964844) (0.8304, 535.6324911117554) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.29710000000000003, 35.820722579956055) (0.3577, 55.612921714782715) (0.3578, 55.71639537811279) (0.3581, 56.01084232330322) (0.3785, 73.63128662109375) (0.3791, 74.59402084350586) (0.6131, 114.36951160430908) (0.6561, 118.15333366394043) (0.6789, 120.51784992218018) (0.9813000000000001, 127.34580039978027) (0.9862, 139.47045803070068) (0.9877, 149.65534210205078) (0.9891, 189.8592710494995) (0.9903000000000001, 205.46305179595947) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9198000000000001, 18.915772438049316) (0.924, 34.13355350494385) (0.9247, 34.23202037811279) (0.9249, 35.1487398147583) (0.9292, 60.439229011535645) (0.9313, 61.5382194519043) (0.9318, 92.17512607574463) (0.9340999999999999, 97.56851196289062) (0.9757999999999999, 110.01133918762207) (0.9797, 129.87375259399414) (0.9811, 159.85143184661865) (0.9874, 162.00459003448486) (0.9894000000000001, 212.15558052062988) (0.9904999999999999, 270.07365226745605) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.027200000000000002, 24.527430534362793) (0.0273, 24.842500686645508) (0.054200000000000005, 45.645713806152344) (0.0643, 46.86164855957031) (0.0732, 47.28686809539795) (0.0854, 63.94600868225098) (0.11359999999999999, 66.98727607727051) (0.1395, 87.6239538192749) (0.1534, 97.0677137374878) (0.449, 124.49586391448975) (0.5542, 157.02366828918457) (0.6248, 187.80672550201416) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.162, 20.256757736206055) (0.1663, 20.748138427734375) (0.1703, 21.469950675964355) (0.29460000000000003, 32.92953968048096) (0.3536, 37.4608039855957) (0.4069, 41.9384241104126) (0.4234, 47.22297191619873) (0.4285, 53.34019660949707) (0.5161, 54.08966541290283) (0.5326, 64.11778926849365) (0.6256999999999999, 81.07459545135498) (0.7325, 104.19285297393799) }; \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.1953, 5.932819843292235) (0.3045, 13.664150238037108) (0.34199999999999997, 15.620660781860348) (0.376, 17.5453782081604) (0.3863, 18.66000890731811) (0.4081, 18.88834238052368) (0.4485, 21.092045307159424) (0.608, 21.61083221435546) (0.7219, 26.924300193786618) (0.808, 32.80830383300781) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9033, 667.9867982864379) (0.9202, 1423.0127215385437) (0.9299, 1606.9096565246582) (0.9323, 1715.0216460227964) (0.9888, 1797.6059794425964) (0.9911, 3364.2361283302307) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2906, 6.463134288787842) (0.2919, 6.508457660675047) (0.2928, 6.667363643646239) (0.3977, 13.103997707366942) (0.44509999999999994, 14.360618591308592) (0.48600000000000004, 15.472805500030514) (0.5123, 18.739509582519517) (0.5187, 20.013046264648434) (0.5675, 21.648919582366936) (0.5902999999999999, 22.5311279296875) (0.6054999999999999, 25.933039188385003) (0.6149, 28.2129168510437) (0.6704, 28.709316253662106) (0.7645, 35.42116880416869) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9913000000000001, 245.62721252441378) (0.9916, 267.6088213920592) (0.9965999999999999, 589.2469406127927) (0.998, 654.8112034797667) (0.9981, 658.1480503082275) (0.9983000000000001, 671.8692302703857) (0.9989000000000001, 744.0047860145569) (0.9992000000000001, 971.9324111938477) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.3052, 104.5830965042114) (0.309, 105.4375410079956) (0.312, 106.03659152984619) (0.49210000000000004, 164.3813133239746) (0.5083, 179.5676350593567) (0.6203000000000001, 193.029522895813) (0.6694, 221.81286811828613) (0.9073, 297.95223474502563) (0.9263, 383.84400606155396) (0.9365, 444.826078414917) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3355, 184.68924760818481) (0.3435, 207.28850364685056) (0.4603, 452.0527124404907) (0.7643, 479.5620560646057) (0.8029, 615.0566697120667) (0.8304, 746.6710805892944) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.29710000000000003, 51.53974294662475) (0.3577, 91.74959659576416) (0.3578, 92.46832132339478) (0.3581, 93.75513792037964) (0.3785, 112.20875978469847) (0.3791, 112.33234405517578) (0.6131, 137.04686164855954) (0.6561, 138.63681554794312) (0.6789, 143.63336563110352) (0.9813000000000001, 150.68312883377075) (0.9862, 161.97452545166016) (0.9877, 171.22384309768677) (0.9903000000000001, 257.5210690498352) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9198000000000001, 54.887878894805894) (0.924, 102.90071964263915) (0.9247, 103.83934974670409) (0.9249, 110.45032739639282) (0.9292, 133.98051261901855) (0.9757999999999999, 140.7449722290039) (0.9797, 152.3787260055542) (0.9811, 183.51658582687378) (0.9874, 233.91562700271606) (0.9894000000000001, 293.66531372070307) (0.9904999999999999, 349.6317267417907) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.027200000000000002, 37.50356435775756) (0.0273, 38.08908462524413) (0.054200000000000005, 79.74183559417725) (0.0643, 82.43340253829955) (0.0732, 86.19519472122192) (0.0854, 110.21379232406615) (0.11359999999999999, 113.26657533645628) (0.11979999999999999, 134.02212858200073) (0.1534, 145.70871591567993) (0.1752, 186.07646226882935) (0.449, 205.10261058807373) (0.5542, 264.1807556152343) (0.6248, 317.02514886856073) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.162, 27.388167381286618) (0.1663, 28.595471382141103) (0.1703, 30.749785900115963) (0.29460000000000003, 60.93689203262329) (0.3294, 73.76586198806763) (0.3536, 75.17732381820679) (0.4069, 86.75894737243651) (0.4234, 96.18772268295288) (0.4285, 102.4973154067993) (0.5161, 115.01363515853878) (0.5326, 124.73505735397333) (0.5488000000000001, 153.0085206031799) (0.6256999999999999, 158.50468873977658) (0.7325, 207.92816877365112) }; \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.1934, 7.250554561614989) (0.1953, 7.329742908477783) (0.3045, 17.07041263580322) (0.34199999999999997, 20.14150381088257) (0.376, 21.39429807662964) (0.4081, 21.666293144226074) (0.608, 24.39786434173584) (0.7219, 30.587422847747803) (0.808, 36.707730293273926) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9033, 802.9836273193359) (0.9202, 1508.866789340973) (0.9299, 1708.0723404884336) (0.9323, 1775.9339070320127) (0.9888, 1831.8296313285828) (0.9911, 3516.4098286628723) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2906, 7.923319339752196) (0.2919, 8.0021333694458) (0.2928, 8.439731597900389) (0.3977, 16.72481536865234) (0.44509999999999994, 19.068574905395508) (0.48600000000000004, 20.805621147155758) (0.5123, 23.836808204650875) (0.5187, 25.54474830627441) (0.5246000000000001, 26.609487533569336) (0.5675, 26.949179172515866) (0.5902999999999999, 30.67914485931396) (0.6054999999999999, 31.299288272857662) (0.6149, 34.02467727661133) (0.6704, 36.07574701309204) (0.7645, 43.3467411994934) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9913000000000001, 352.68940448760986) (0.9916, 382.4944424629211) (0.9965999999999999, 757.1858716011047) (0.9981, 781.416368484497) (0.9983000000000001, 793.0293631553649) (0.9989000000000001, 850.8755660057067) (0.9992000000000001, 1117.5457882881165) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.309, 115.17009973526001) (0.312, 117.84157991409302) (0.49210000000000004, 180.06430864334106) (0.5083, 190.3905916213989) (0.6203000000000001, 204.94364023208615) (0.6694, 233.4664535522461) (0.9073, 312.60480880737305) (0.9263, 400.1862144470215) (0.9365, 472.8016757965088) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3355, 213.68510723114014) (0.3435, 243.9903712272644) (0.4603, 482.2296404838562) (0.7643, 503.86871814727783) (0.8029, 644.8131084442139) (0.8304, 778.5443305969238) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.29710000000000003, 56.152119636535645) (0.3577, 98.32136392593384) (0.3581, 102.02884912490845) (0.3791, 119.70332860946655) (0.6131, 147.0494294166565) (0.6561, 148.45261335372925) (0.6789, 153.0766749382019) (0.9813000000000001, 160.19431829452515) (0.9862, 169.4073247909546) (0.9877, 180.3653883934021) (0.9903000000000001, 268.37974309921265) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9198000000000001, 60.95268011093139) (0.924, 110.94140529632568) (0.9247, 114.95138168334961) (0.9249, 119.00324583053589) (0.9292, 144.6773386001587) (0.9757999999999999, 149.93403911590576) (0.9797, 160.8171558380127) (0.9811, 190.48372268676758) (0.9874, 247.75025129318237) (0.9894000000000001, 308.3427238464355) (0.9904999999999999, 363.27367305755615) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.0273, 45.776183605194085) (0.054200000000000005, 100.2258539199829) (0.0643, 105.00682115554808) (0.0732, 111.54998540878296) (0.0854, 131.23951673507688) (0.11359999999999999, 140.03403663635254) (0.11979999999999999, 153.91266107559204) (0.1534, 165.2790570259094) (0.1752, 199.4375514984131) (0.449, 226.537389755249) (0.5542, 293.4639286994934) (0.6248, 339.66034412384033) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.162, 33.265089988708496) (0.1663, 35.854363441467285) (0.1703, 38.9265727996826) (0.29460000000000003, 78.67127656936644) (0.3294, 92.70197629928587) (0.3311, 95.21402120590209) (0.3536, 99.24995422363281) (0.4069, 118.80058765411376) (0.4234, 123.51585149765013) (0.4285, 128.81608486175537) (0.5055, 138.7755560874939) (0.5161, 148.6086773872375) (0.5326, 161.2104892730713) (0.5488000000000001, 179.69393968582153) (0.6256999999999999, 191.3946795463562) (0.7325, 246.64183139801025) }; \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.1934, 8.600763559341436) (0.1953, 8.738582849502592) (0.3045, 21.31271600723271) (0.4081, 23.778850793838558) (0.608, 26.708790063858114) (0.7219, 33.67031502723697) (0.808, 38.341116666793965) }; \addlegendentry{ cifar10-512-euclidean (k = 10) }; \addplot [ color=blue!80!black, mark=square, mark size=2.5pt, line width=1pt ] coordinates { (0.9033, 931.0447552204137) (0.9202, 1564.2334077358305) (0.9323, 1810.6085295677192) (0.9888, 1884.3463087081916) (0.9911, 4155.106380939542) }; \addlegendentry{ deep10m-96-euclidean (k = 10) }; \addplot [ color=green!70!black, mark=triangle, mark size=2.5pt, line width=1pt ] coordinates { (0.2906, 8.438784360885744) (0.2919, 9.132871866226305) (0.2928, 9.405695438385168) (0.3977, 19.713117361069045) (0.4326, 22.08179688453693) (0.44509999999999994, 22.313977956772163) (0.48600000000000004, 24.81838941574133) (0.5123, 27.44457387924237) (0.5675, 28.531975030899343) (0.5902999999999999, 34.84736108779947) (0.6054999999999999, 36.35054731369043) (0.6149, 38.12707757949871) (0.6704, 39.39320349693313) (0.7645, 50.943904876709205) }; \addlegendentry{ fashion-mnist-784-euclidean (k = 10) }; \addplot [ color=orange!90!black, mark=diamond, mark size=2.5pt, line width=1pt ] coordinates { (0.9913000000000001, 410.2127280235456) (0.9916, 463.4876236915601) (0.9965999999999999, 842.6484775543237) (0.9981, 871.5395157337199) (0.9983000000000001, 887.7729568481474) (0.9989000000000001, 904.1089823246007) (0.9992000000000001, 1165.657492637635) }; \addlegendentry{ gist-960-euclidean (k = 10) }; \addplot [ color=violet!90!black, mark=x, mark size=2.5pt, line width=1pt ] coordinates { (0.309, 124.04105043411293) (0.312, 125.16944837570257) (0.49210000000000004, 190.88680505752686) (0.5083, 198.66558527946484) (0.6203000000000001, 214.57748150825506) (0.6694, 244.95858478546194) (0.9073, 323.58006381988605) (0.9263, 414.059896469117) (0.9365, 498.0817508697524) }; \addlegendentry{ glove-100-euclidean (k = 10) }; \addplot [ color=teal!90!black, mark=pentagon, mark size=2.5pt, line width=1pt ] coordinates { (0.3355, 238.77552819252045) (0.3435, 263.46167540550255) (0.4603, 500.7837409973146) (0.7643, 524.9690737724322) (0.8029, 662.458714723587) (0.8304, 798.7953846454621) }; \addlegendentry{ glove-200-euclidean (k = 10) }; \addplot [ color=magenta!90!black, mark=star, mark size=2.5pt, line width=1pt ] coordinates { (0.29710000000000003, 59.71806979179397) (0.3577, 101.65827012062094) (0.3581, 105.91513872146619) (0.3781, 124.65285563468939) (0.3791, 125.734624385834) (0.6131, 156.6970434188846) (0.6789, 158.13605737686171) (0.9813000000000001, 163.51019477844247) (0.9862, 175.73834395408633) (0.9877, 188.8051078319553) (0.9903000000000001, 285.8006768226627) }; \addlegendentry{ glove-25-euclidean (k = 10) }; \addplot [ color=olive!90!black, mark=otimes, mark size=2.5pt, line width=1pt ] coordinates { (0.9198000000000001, 63.82292771339453) (0.924, 115.37176299095184) (0.9247, 127.47954034805315) (0.9249, 128.6590359210972) (0.9292, 153.7559235095979) (0.9757999999999999, 157.84035682678225) (0.9797, 168.3583664894105) (0.9811, 200.93393635749817) (0.9874, 256.86335968971315) (0.9894000000000001, 320.58314657211304) (0.9904999999999999, 379.8017792701732) }; \addlegendentry{ music-100-euclidean (k = 10) }; \addplot [ color=cyan!70!black, mark=asterisk, mark size=2.5pt, line width=1pt ] coordinates { (0.027200000000000002, 52.23518443107646) (0.0273, 53.16227674484266) (0.054200000000000005, 109.31202173233046) (0.0643, 115.2099995613099) (0.0732, 120.75295186042814) (0.0854, 144.89997076988237) (0.0878, 147.24080467224135) (0.11359999999999999, 152.6886999607087) (0.11979999999999999, 166.33587980270454) (0.1285, 175.23995828628622) (0.1534, 184.602121591568) (0.1752, 205.01797771453943) (0.449, 239.96646022796676) (0.5542, 300.4744751453411) (0.6248, 364.14858174324047) }; \addlegendentry{ sift-128-euclidean (k = 10) }; \addplot [ color=brown!90!black, mark=oplus, mark size=2.5pt, line width=1pt ] coordinates { (0.162, 38.744023323059686) (0.1663, 45.7911765575413) (0.1703, 46.57014012336777) (0.29460000000000003, 97.38108563423285) (0.3311, 112.25413393974445) (0.3428, 116.94639325141972) (0.3536, 125.7593595981607) (0.4069, 145.85499334335498) (0.4234, 152.97330236435116) (0.4285, 157.11234879493833) (0.4407, 160.0031661987317) (0.5055, 160.48477220535298) (0.5326, 187.34202241897754) (0.5488000000000001, 202.34707093238916) (0.6256999999999999, 217.53950142860438) (0.7325, 276.45257854461704) }; \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.