tengo una pequeña colección de elementos ordenados de menos de 50 que con frecuencia comprobar si un artículo particular está en la colección o no,Clojure mirar hacia arriba vector rendimiento vs conjunto
esto,
(time
(let [a [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]]
(dotimes [i 100000]
(filter (fn [[k]] (= k 15)) a))))
toma 10 ms si uso un conjunto sin embargo,
(time
(let [a (sorted-set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)]
(dotimes [i 100000]
(a 15))))
Siempre lleva al menos el doble. Lo que no entiendo es que el set se supone que está optimizado para búsquedas, ¿por qué es más rápido el filtro?