Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1674 (5735163b34*) started at 2026-02-03T17:14:05.856 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 11.11s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.13.8 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.43 [79e6a3ab] + Adapt v4.4.0 [4fba245c] + ArrayInterface v7.22.0 [fb6a15b2] + CloseOpenIntervals v0.1.13 [f70d9fcc] + CommonWorldInvalidations v1.0.0 [34da2185] + Compat v4.18.1 [a33af91c] + CompositionsBase v0.1.2 [187b0558] + ConstructionBase v1.6.0 [9a962f9c] + DataAPI v1.16.0 ⌅ [864edb3b] + DataStructures v0.18.22 [b4f34e82] + Distances v0.10.12 [ffbed154] + DocStringExtensions v0.9.5 [615f187c] + IfElse v0.1.1 [3587e190] + InverseFunctions v0.1.17 [92d709cd] + IrrationalConstants v0.2.6 [10f19ff3] + LayoutPointers v0.1.17 [2ab3a3ac] + LogExpFunctions v0.3.29 [1914dd2f] + MacroTools v0.5.16 [d125e4d3] + ManualMemory v0.1.8 [e1d29d7a] + Missings v1.2.0 [bac558e1] + OrderedCollections v1.8.1 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.1 [92933f4c] + ProgressMeter v1.11.0 [ae029012] + Requires v1.3.1 [94e857df] + SIMDTypes v0.1.0 [431bcebd] + SciMLPublic v1.0.1 [0e966ebe] + SearchModels v0.5.0 [053f045d] + SimilaritySearch v0.13.8 [a2af1166] + SortingAlgorithms v1.2.2 [aedffcd0] + Static v1.3.1 [0d7ed370] + StaticArrayInterface v1.8.0 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.8.0 ⌅ [2913bbd2] + StatsBase v0.33.21 [7792a7ef] + StrideArraysCore v0.5.8 [8290d209] + ThreadingUtilities v0.5.5 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [8ba89e20] + Distributed v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.0.0 [9e88b42a] + Serialization v1.11.0 [6462fe0b] + Sockets v1.11.0 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.13.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [4536629a] + OpenBLAS_jll v0.3.30+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [8e850b90] + libblastrampoline_jll v5.15.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 4.47s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3190.3 ms ✓ SearchModels 7166.8 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 11 seconds. 81 already precompiled. Precompilation completed after 30.37s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_98oa3d/Project.toml` [7d9f7c33] Accessors v0.1.43 [4c88cf16] Aqua v0.8.14 [b4f34e82] Distances v0.10.12 [92933f4c] ProgressMeter v1.11.0 [0e966ebe] SearchModels v0.5.0 [053f045d] SimilaritySearch v0.13.8 [10745b16] Statistics v1.11.1 ⌅ [2913bbd2] StatsBase v0.33.21 [7792a7ef] StrideArraysCore v0.5.8 [ade2ca70] Dates v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [9a3f8284] Random v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_98oa3d/Manifest.toml` [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.4.0 [4c88cf16] Aqua v0.8.14 [4fba245c] ArrayInterface v7.22.0 [fb6a15b2] CloseOpenIntervals v0.1.13 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.18.1 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 [9a962f9c] DataAPI v1.16.0 ⌅ [864edb3b] DataStructures v0.18.22 [b4f34e82] Distances v0.10.12 [ffbed154] DocStringExtensions v0.9.5 [615f187c] IfElse v0.1.1 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.6 [10f19ff3] LayoutPointers v0.1.17 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [d125e4d3] ManualMemory v0.1.8 [e1d29d7a] Missings v1.2.0 [bac558e1] OrderedCollections v1.8.1 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.1 [92933f4c] ProgressMeter v1.11.0 [ae029012] Requires v1.3.1 [94e857df] SIMDTypes v0.1.0 [431bcebd] SciMLPublic v1.0.1 [0e966ebe] SearchModels v0.5.0 [053f045d] SimilaritySearch v0.13.8 [a2af1166] SortingAlgorithms v1.2.2 [aedffcd0] Static v1.3.1 [0d7ed370] StaticArrayInterface v1.8.0 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.8.0 ⌅ [2913bbd2] StatsBase v0.33.21 [7792a7ef] StrideArraysCore v0.5.8 [8290d209] ThreadingUtilities v0.5.5 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.18.0+0 [e37daf67] LibGit2_jll v1.9.2+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.12.2 [4536629a] OpenBLAS_jll v0.3.30+0 [458c3c95] OpenSSL_jll v3.5.5+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.1+2 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.68.0+1 [3f19e933] p7zip_jll v17.7.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Test Summary: | Pass Total Time test database abstractions | 57 57 16.8s Test Summary: | Pass Total Time heap | 16 16 0.2s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.0s Test Summary: | Pass Total Time XKnn | 25005 25005 3.0s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.1s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 5.336275 seconds (399.06 k allocations: 24.587 MiB, 0.58% gc time, 34.48% compilation time) 3.563503 seconds (7 allocations: 512 bytes) 5.234049 seconds (254.63 k allocations: 16.010 MiB, 33.27% compilation time) 3.551188 seconds (7 allocations: 512 bytes) 5.126342 seconds (238.56 k allocations: 15.119 MiB, 34.33% compilation time) 3.281977 seconds (7 allocations: 512 bytes) 5.064469 seconds (234.13 k allocations: 14.865 MiB, 36.08% compilation time) 3.409978 seconds (7 allocations: 512 bytes) 15.856231 seconds (246.34 k allocations: 15.516 MiB, 10.24% compilation time) 14.094860 seconds (7 allocations: 512 bytes) 26.796347 seconds (7 allocations: 512 bytes) 27.043711 seconds (7 allocations: 512 bytes) 19.580143 seconds (509.64 k allocations: 31.383 MiB, 8.20% compilation time) 18.303077 seconds (7 allocations: 512 bytes) 17.373973 seconds (405.35 k allocations: 25.379 MiB, 0.41% gc time, 6.99% compilation time) 16.786014 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 3m15.8s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 4.083313 seconds (168.62 k allocations: 11.248 MiB, 1.63% gc time, 38.26% compilation time) 2.427771 seconds (7 allocations: 512 bytes) 33.045528 seconds (209.48 k allocations: 13.560 MiB, 4.89% compilation time) 31.027601 seconds (7 allocations: 528 bytes) 30.718883 seconds (7 allocations: 528 bytes) 27.100333 seconds (7 allocations: 528 bytes) 5.037802 seconds (152.56 k allocations: 9.904 MiB, 32.45% compilation time) 3.295985 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 2m18.8s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 10.577927 seconds (165.36 k allocations: 10.757 MiB, 12.80% compilation time) 9.289001 seconds (7 allocations: 512 bytes) 10.542353 seconds (154.30 k allocations: 10.055 MiB, 12.74% compilation time) 9.423504 seconds (7 allocations: 512 bytes) 11.126903 seconds (154.21 k allocations: 10.051 MiB, 13.03% compilation time) 9.863233 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 1m02.8s 1.125637 seconds (226.83 k allocations: 14.203 MiB, 3.75% gc time, 96.50% compilation time) 0.039715 seconds (7 allocations: 512 bytes) 1.614567 seconds (234.93 k allocations: 15.013 MiB, 97.71% compilation time) 0.037883 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 4.6s 1.696915 seconds (288.30 k allocations: 17.697 MiB, 96.48% compilation time) 0.058822 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 2.3s allknn 4%|█▊ | ETA: 0:01:37 allknn 100%|█████████████████████████████████████████████| Time: 0:00:04 ExhaustiveSearch allknn: 4.696282 seconds (1.80 M allocations: 110.044 MiB, 0.62% gc time, 99.95% compilation time) Test Summary: | Pass Total Time allknn | 1 1 4.9s quantile(length.(hsp_knns), 0:0.1:1) = [2.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 5.0] Test Summary: | Total Time HSP | 0 4.9s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:43.528 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:22:44.280 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=2 ep=2 n=2 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:22:47.311 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add_vertex! sp=5 ep=9 n=4 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:22:49.318 LOG n.size quantiles:[1.0, 1.0, 2.0, 2.0, 3.0] [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:49.836 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000006, 0x00000009, 0x0000000d, 0x00000013, 0x0000001a, 0x0000001c, 0x0000002a, 0x00000035, 0x00000039] D.nn = Int32[1, 2, 1, 4, 1, 6, 2, 1, 9, 2, 6, 4, 13, 9, 2, 9, 4, 6, 19, 13, 6, 9, 4, 1, 4, 26, 9, 28, 1, 9, 4, 9, 26, 9, 4, 26, 4, 2, 9, 9, 9, 42, 2, 42, 42, 6, 19, 1, 6, 6, 9, 42, 53, 6, 6, 1, 57, 19, 4, 57, 9, 53, 1, 42, 6, 9, 1, 4, 57, 9, 2, 4, 4, 9, 42, 9, 53, 13, 4, 53, 2, 53, 26, 57, 6, 19, 9, 9, 4, 6, 26, 2, 6, 6, 6, 42, 4, 19, 6, 9] D.dist = Float32[0.0, 0.0, 0.033629417, 0.0, 0.050269485, 0.0, 0.075849175, 0.0035514832, 0.0, 0.003806889, 0.0059499145, 0.024490535, 0.0, 0.038744032, 0.0073924065, 0.067196965, 0.05104977, 0.06881791, 0.0, 0.05968994, 0.039263666, 0.02839458, 0.08525908, 0.014666438, 0.023917258, 0.0, 0.008213997, 0.0, 0.019407868, 0.069838464, 0.015661716, 0.051305592, 0.080812514, 0.013698876, 0.013864517, 0.047849298, 0.044566214, 0.009875417, 0.037014782, 0.011419475, 0.031131566, 0.0, 0.030941427, 0.04043317, 0.02025956, 0.021147907, 0.030804157, 0.07012564, 0.0978595, 0.02213037, 0.022117019, 0.048867345, 0.0, 0.04059583, 0.059012115, 0.016938627, 0.0, 0.021922946, 0.049744308, 0.051452935, 0.0052844286, 0.030261278, 0.033792377, 0.05851066, 0.01682812, 0.033642948, 0.042628825, 0.030832708, 0.022046447, 0.012568772, 0.040611565, 0.011841595, 0.070311606, 0.052938223, 0.029082, 0.051848233, 0.018125594, 0.0211066, 0.052996516, 0.041403353, 0.06349552, 0.036377728, 0.004992485, 0.034285784, 0.056513727, 0.097087204, 0.056984425, 0.0781039, 0.04923582, 0.054810286, 0.06945807, 0.042099476, 0.024496615, 0.029326975, 0.045954883, 0.009036064, 0.0050189495, 0.034873605, 0.032701492, 0.042988658] Test Summary: | Pass Total Time neardup single block | 3 3 22.1s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:51.102 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:22:51.102 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 6, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.265 LOG add_vertex! sp=7 ep=9 n=6 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:22:54.266 LOG n.size quantiles:[1.0, 1.5, 2.0, 2.0, 2.0] [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.266 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.266 [ Info: neardup> range: 65:80, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.266 [ Info: neardup> range: 81:96, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.267 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.554 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.554 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000006, 0x00000009, 0x0000000d, 0x00000013, 0x0000001a, 0x0000001c, 0x0000002a, 0x00000035, 0x00000039] D.nn = Int32[1, 2, 1, 4, 1, 6, 2, 1, 9, 2, 6, 4, 13, 9, 2, 9, 4, 6, 19, 13, 6, 9, 4, 1, 4, 26, 9, 28, 1, 9, 4, 9, 26, 9, 4, 26, 4, 2, 9, 9, 9, 42, 2, 4, 6, 6, 19, 1, 6, 6, 9, 42, 53, 6, 6, 1, 57, 19, 4, 57, 9, 9, 1, 42, 6, 9, 1, 4, 57, 9, 2, 4, 4, 9, 42, 9, 53, 13, 4, 53, 2, 53, 26, 57, 6, 19, 9, 9, 4, 6, 26, 2, 6, 6, 6, 42, 4, 19, 6, 9] D.dist = Float32[0.0, 0.0, 0.033629417, 0.0, 0.050269485, 0.0, 0.075849175, 0.0035514832, 0.0, 0.003806889, 0.0059499145, 0.024490535, 0.0, 0.038744032, 0.0073924065, 0.067196965, 0.05104977, 0.06881791, 0.0, 0.05968994, 0.039263666, 0.02839458, 0.08525908, 0.014666438, 0.023917258, 0.0, 0.008213997, 0.0, 0.019407868, 0.069838464, 0.015661716, 0.051305592, 0.080812514, 0.013698876, 0.013864517, 0.047849298, 0.044566214, 0.009875417, 0.037014782, 0.011419475, 0.031131566, 0.0, 0.030941427, 0.06075281, 0.07422191, 0.021147907, 0.030804157, 0.07012564, 0.0978595, 0.02213037, 0.022117019, 0.048867345, 0.0, 0.04059583, 0.059012115, 0.016938627, 0.0, 0.021922946, 0.049744308, 0.051452935, 0.0052844286, 0.059473395, 0.033792377, 0.05851066, 0.01682812, 0.033642948, 0.042628825, 0.030832708, 0.022046447, 0.012568772, 0.040611565, 0.011841595, 0.070311606, 0.052938223, 0.029082, 0.051848233, 0.018125594, 0.0211066, 0.052996516, 0.041403353, 0.06349552, 0.036377728, 0.004992485, 0.034285784, 0.056513727, 0.097087204, 0.056984425, 0.0781039, 0.04923582, 0.054810286, 0.06945807, 0.042099476, 0.024496615, 0.029326975, 0.045954883, 0.009036064, 0.0050189495, 0.034873605, 0.032701492, 0.042988658] Test Summary: | Pass Total Time neardup small block | 3 3 3.5s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.647 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:22:54.648 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.649 [ Info: neardup> range: 33:48, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.649 [ Info: neardup> range: 49:64, current elements: 20, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.649 [ Info: neardup> range: 65:80, current elements: 22, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.649 [ Info: neardup> range: 81:96, current elements: 22, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.649 [ Info: neardup> range: 97:100, current elements: 22, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.650 [ Info: neardup> finished current elements: 22, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:54.650 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000013, 0x0000001a, 0x0000001c, 0x0000002a, 0x00000039, 0x0000003c] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 7, 6, 19, 13, 11, 5, 7, 8, 4, 26, 9, 28, 8, 9, 4, 14, 26, 5, 4, 26, 4, 2, 14, 5, 5, 42, 15, 7, 7, 6, 19, 3, 11, 6, 9, 42, 16, 11, 6, 1, 57, 19, 12, 60, 9, 16, 8, 42, 6, 16, 1, 12, 57, 9, 7, 4, 4, 7, 42, 7, 16, 13, 4, 60, 15, 16, 26, 57, 15, 19, 14, 14, 7, 11, 5, 2, 6, 11, 6, 42, 4, 19, 11, 14] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.026323259, 0.06881791, 0.0, 0.05968994, 0.026194751, 0.0058146715, 0.076259494, 0.006638348, 0.023917258, 0.0, 0.008213997, 0.0, 0.010441601, 0.069838464, 0.015661716, 0.047061086, 0.080812514, 0.0007802844, 0.013864517, 0.047849298, 0.044566214, 0.009875417, 0.01995796, 0.008402884, 0.029546142, 0.0, 0.022351742, 0.035029233, 0.047767162, 0.021147907, 0.030804157, 0.063458145, 0.06948835, 0.02213037, 0.022117019, 0.048867345, 0.014089584, 0.016108274, 0.059012115, 0.016938627, 0.0, 0.021922946, 0.019464076, 0.0, 0.0052844286, 0.04568988, 0.017798185, 0.05851066, 0.01682812, 0.025477886, 0.042628825, 0.016726553, 0.022046447, 0.012568772, 0.012944698, 0.011841595, 0.070311606, 0.008145988, 0.029082, 0.030463874, 0.028560162, 0.0211066, 0.052996516, 0.05282253, 0.05198598, 0.013980269, 0.004992485, 0.034285784, 0.047683477, 0.097087204, 0.012239099, 0.016516447, 0.043878615, 0.04626274, 0.05936742, 0.042099476, 0.024496615, 0.021157444, 0.045954883, 0.009036064, 0.0050189495, 0.034873605, 0.011310518, 0.012404978] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 0.1s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:22:59.626 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=6 n=6 2026-02-03T17:23:00.006 [ Info: neardup> range: 17:32, current elements: 6, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:23:01.160 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=6 ep=9 n=9 2026-02-03T17:23:01.161 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:23:01.166 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:23:01.166 [ Info: neardup> range: 65:80, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:23:01.166 [ Info: neardup> range: 81:96, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:23:01.166 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:23:02.404 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-02-03T17:23:02.404 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000006, 0x00000009, 0x0000000d, 0x00000013, 0x0000001a, 0x0000001c, 0x0000002a, 0x00000035, 0x00000039] D.nn = Int32[1, 2, 1, 4, 1, 6, 2, 1, 9, 2, 6, 4, 13, 9, 2, 9, 4, 6, 19, 13, 6, 9, 4, 1, 4, 26, 9, 28, 1, 9, 4, 9, 26, 9, 4, 26, 4, 2, 9, 9, 9, 42, 2, 4, 6, 6, 19, 1, 6, 6, 9, 42, 53, 6, 6, 1, 57, 19, 4, 57, 9, 9, 1, 42, 6, 9, 1, 4, 57, 9, 2, 4, 4, 9, 42, 9, 53, 13, 4, 53, 2, 53, 26, 57, 6, 19, 9, 9, 4, 6, 26, 2, 6, 6, 6, 42, 4, 19, 6, 9] D.dist = Float32[0.0, 0.0, 0.033629417, 0.0, 0.050269485, 0.0, 0.075849175, 0.0035514832, 0.0, 0.003806889, 0.0059499145, 0.024490535, 0.0, 0.038744032, 0.0073924065, 0.067196965, 0.05104977, 0.06881791, 0.0, 0.05968994, 0.039263666, 0.02839458, 0.08525908, 0.014666438, 0.023917258, 0.0, 0.008213997, 0.0, 0.019407868, 0.069838464, 0.015661716, 0.051305592, 0.080812514, 0.013698876, 0.013864517, 0.047849298, 0.044566214, 0.009875417, 0.037014782, 0.011419475, 0.031131566, 0.0, 0.030941427, 0.06075281, 0.07422191, 0.021147907, 0.030804157, 0.07012564, 0.0978595, 0.02213037, 0.022117019, 0.048867345, 0.0, 0.04059583, 0.059012115, 0.016938627, 0.0, 0.021922946, 0.049744308, 0.051452935, 0.0052844286, 0.059473395, 0.033792377, 0.05851066, 0.01682812, 0.033642948, 0.042628825, 0.030832708, 0.022046447, 0.012568772, 0.040611565, 0.011841595, 0.070311606, 0.052938223, 0.029082, 0.051848233, 0.018125594, 0.0211066, 0.052996516, 0.041403353, 0.06349552, 0.036377728, 0.004992485, 0.034285784, 0.056513727, 0.097087204, 0.056984425, 0.0781039, 0.04923582, 0.054810286, 0.06945807, 0.042099476, 0.024496615, 0.029326975, 0.045954883, 0.009036064, 0.0050189495, 0.034873605, 0.032701492, 0.042988658] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 7.8s computing farthest point 1, dmax: Inf, imax: 29, n: 30 computing farthest point 2, dmax: 1.232964, imax: 14, n: 30 computing farthest point 3, dmax: 0.95313156, imax: 19, n: 30 computing farthest point 4, dmax: 0.9235097, imax: 18, n: 30 computing farthest point 5, dmax: 0.7973906, imax: 28, n: 30 computing farthest point 6, dmax: 0.782019, imax: 12, n: 30 computing farthest point 7, dmax: 0.7612423, imax: 26, n: 30 computing farthest point 8, dmax: 0.68168616, imax: 21, n: 30 computing farthest point 9, dmax: 0.62029856, imax: 20, n: 30 computing farthest point 10, dmax: 0.6180863, imax: 1, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.0s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.7s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:23:11.612 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=2 ep=2 n=2 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:23:13.345 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=2, Δ=1.0238096, maxvisits=110) 2026-02-03T17:23:26.989 LOG n.size quantiles:[3.0, 4.0, 4.0, 4.0, 5.0] (i, j, d) = (15, 648, -1.1920929f-7) (i, j, d, :parallel) = (15, 648, -1.1920929f-7, :parallel) [ Info: NOTE: the exact method will be faster on small datasets due to the preprocessing step of the approximation method [ Info: ("closestpair computation time", :approx => 22.88474987, :exact => 0.997186006) Test Summary: | Pass Total Time closestpair | 4 4 24.4s 6.936530 seconds (196.06 k allocations: 12.281 MiB, 25.30% compilation time) SEARCH Exhaustive 1: 0.005535 seconds SEARCH Exhaustive 2: 0.005168 seconds SEARCH Exhaustive 3: 0.006188 seconds typeof(seq) = ExhaustiveSearch{SqL2Distance, MatrixDatabase{Matrix{Float32}}} typeof(ectx) = GenericContext{KnnSorted} typeof(q) = SubArray{Float32, 1, Matrix{Float32}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true} typeof(res) = KnnSorted{Vector{IdWeight}} [ Info: ===================== minrecall ============================== LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:23:53.632 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=2 ep=2 n=2 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:23:55.293 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=12, Δ=0.975, maxvisits=176) 2026-02-03T17:24:05.005 LOG n.size quantiles:[4.0, 4.0, 5.0, 5.0, 6.0] LOG add_vertex! sp=16685 ep=16689 n=16684 BeamSearch(bsize=4, Δ=1.1851876, maxvisits=404) 2026-02-03T17:24:06.005 LOG n.size quantiles:[4.0, 5.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=28865 ep=28869 n=28864 BeamSearch(bsize=14, Δ=1.155, maxvisits=358) 2026-02-03T17:24:07.006 LOG n.size quantiles:[6.0, 6.0, 7.0, 8.0, 9.0] LOG add_vertex! sp=39410 ep=39414 n=39409 BeamSearch(bsize=12, Δ=1.1, maxvisits=408) 2026-02-03T17:24:08.006 LOG n.size quantiles:[4.0, 5.0, 5.0, 6.0, 8.0] LOG add_vertex! sp=50360 ep=50364 n=50359 BeamSearch(bsize=12, Δ=1.1, maxvisits=408) 2026-02-03T17:24:09.006 LOG n.size quantiles:[6.0, 6.0, 7.0, 8.0, 10.0] LOG add_vertex! sp=62990 ep=62994 n=62989 BeamSearch(bsize=4, Δ=0.975, maxvisits=466) 2026-02-03T17:24:10.006 LOG n.size quantiles:[4.0, 5.0, 6.0, 8.0, 9.0] LOG add_vertex! sp=75895 ep=75899 n=75894 BeamSearch(bsize=4, Δ=0.975, maxvisits=466) 2026-02-03T17:24:11.006 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=85225 ep=85229 n=85224 BeamSearch(bsize=14, Δ=1.1287501, maxvisits=532) 2026-02-03T17:24:12.028 LOG n.size quantiles:[5.0, 6.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=93045 ep=93049 n=93044 BeamSearch(bsize=14, Δ=1.1287501, maxvisits=532) 2026-02-03T17:24:13.028 LOG n.size quantiles:[4.0, 7.0, 7.0, 7.0, 8.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 7.0, 9.0, 10.0, 11.0, 12.0, 14.0, 18.0, 23.0, 83.0] [ Info: minrecall: queries per second: 3172.3624393378473, recall: 0.909375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=5, Δ=1.21, maxvisits=764)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 7.0, 9.0, 10.0, 11.0, 12.0, 14.0, 18.0, 23.0, 83.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=18, Δ=1.155, maxvisits=634)), 1000, 8) [ Info: rebuild: queries per second: 15584.457277898691, recall: 0.902 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=18, Δ=1.155, maxvisits=634)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 19.0, 30.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.16, maxvisits=764)), 1000, 8) 0.654120 seconds (92.40 k allocations: 5.429 MiB, 87.73% compilation time) [ Info: matrixhints: queries per second: 12781.40924597431, recall: 0.8995 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.16, maxvisits=764)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 7.0, 9.0, 10.0, 11.0, 12.0, 14.0, 18.0, 23.0, 83.0] 2.942799 seconds (158.07 k allocations: 10.348 MiB, 54.92% compilation time) SEARCH Exhaustive 1: 0.001274 seconds SEARCH Exhaustive 2: 0.001299 seconds SEARCH Exhaustive 3: 0.001472 seconds typeof(seq) = ExhaustiveSearch{SqL2Distance, StrideMatrixDatabase{StrideArraysCore.StrideArray{Float32, 2, (1, 2), Tuple{Int64, Int64}, Tuple{Nothing, Nothing}, Tuple{Static.StaticInt{1}, Static.StaticInt{1}}, Matrix{Float32}}}} typeof(ectx) = GenericContext{KnnSorted} typeof(q) = StrideArraysCore.StrideArray{Float32, 1, (1,), Tuple{Int64}, Tuple{Nothing}, Tuple{Static.StaticInt{1}}, Matrix{Float32}} typeof(res) = KnnSorted{Vector{IdWeight}} [ Info: ===================== minrecall ============================== LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:25:27.968 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=2 ep=2 n=2 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-03T17:25:29.624 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=12, Δ=0.975, maxvisits=176) 2026-02-03T17:25:39.181 LOG n.size quantiles:[4.0, 4.0, 5.0, 5.0, 6.0] LOG add_vertex! sp=19250 ep=19254 n=19249 BeamSearch(bsize=4, Δ=1.1851876, maxvisits=404) 2026-02-03T17:25:40.181 LOG n.size quantiles:[4.0, 6.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=33870 ep=33874 n=33869 BeamSearch(bsize=14, Δ=1.155, maxvisits=358) 2026-02-03T17:25:41.181 LOG n.size quantiles:[4.0, 5.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=45075 ep=45079 n=45074 BeamSearch(bsize=12, Δ=1.1, maxvisits=408) 2026-02-03T17:25:42.181 LOG n.size quantiles:[5.0, 5.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=56820 ep=56824 n=56819 BeamSearch(bsize=4, Δ=0.975, maxvisits=466) 2026-02-03T17:25:43.228 LOG n.size quantiles:[6.0, 6.0, 7.0, 7.0, 7.0] LOG add_vertex! sp=68765 ep=68769 n=68764 BeamSearch(bsize=4, Δ=0.975, maxvisits=466) 2026-02-03T17:25:44.228 LOG n.size quantiles:[6.0, 6.0, 8.0, 8.0, 10.0] LOG add_vertex! sp=77395 ep=77399 n=77394 BeamSearch(bsize=4, Δ=0.975, maxvisits=466) 2026-02-03T17:25:45.372 LOG n.size quantiles:[8.0, 8.0, 9.0, 10.0, 10.0] LOG add_vertex! sp=87040 ep=87044 n=87039 BeamSearch(bsize=14, Δ=1.1287501, maxvisits=532) 2026-02-03T17:25:46.372 LOG n.size quantiles:[6.0, 6.0, 6.0, 7.0, 9.0] LOG add_vertex! sp=96705 ep=96709 n=96704 BeamSearch(bsize=14, Δ=1.1287501, maxvisits=532) 2026-02-03T17:25:47.373 LOG n.size quantiles:[7.0, 7.0, 9.0, 9.0, 9.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 7.0, 9.0, 10.0, 11.0, 12.0, 14.0, 18.0, 23.0, 83.0] [ Info: minrecall: queries per second: 2936.5863529191183, recall: 0.909375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=5, Δ=1.21, maxvisits=764)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 7.0, 9.0, 10.0, 11.0, 12.0, 14.0, 18.0, 23.0, 83.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=18, Δ=1.155, maxvisits=634)), 1000, 8) [ Info: rebuild: queries per second: 16927.45326871831, recall: 0.902 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=18, Δ=1.155, maxvisits=634)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 19.0, 30.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.16, maxvisits=764)), 1000, 8) 0.659783 seconds (93.48 k allocations: 5.583 MiB, 89.37% compilation time) [ Info: matrixhints: queries per second: 13802.691654617953, recall: 0.8995 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.16, maxvisits=764)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 7.0, 9.0, 10.0, 11.0, 12.0, 14.0, 18.0, 23.0, 83.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 2m57.9s Testing SimilaritySearch tests passed Testing completed after 693.25s PkgEval succeeded after 750.36s