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