Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1840 (ab7ba34e40*) started at 2026-03-03T17:15:28.605 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 13.37s ################################################################################ # 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.5.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.2 [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.9.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.94s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3180.4 ms ✓ SearchModels 6545.1 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 10 seconds. 81 already precompiled. Precompilation completed after 33.17s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_F0htOW/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_F0htOW/Manifest.toml` [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.5.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.2 [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.9.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.2+0 [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.6s Test Summary: | Pass Total Time heap | 16 16 0.2s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.1s Test Summary: | Pass Total Time XKnn | 25005 25005 3.3s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.3s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 5.905977 seconds (402.44 k allocations: 24.715 MiB, 39.54% compilation time) 3.614983 seconds (7 allocations: 512 bytes) 5.746174 seconds (256.18 k allocations: 15.985 MiB, 40.21% compilation time) 3.503855 seconds (7 allocations: 512 bytes) 6.159040 seconds (240.01 k allocations: 15.097 MiB, 39.53% compilation time) 3.753152 seconds (7 allocations: 512 bytes) 5.787366 seconds (235.20 k allocations: 14.831 MiB, 0.45% gc time, 38.98% compilation time) 3.751248 seconds (7 allocations: 512 bytes) 16.263391 seconds (248.64 k allocations: 15.534 MiB, 11.84% compilation time) 14.278944 seconds (7 allocations: 512 bytes) 26.474852 seconds (7 allocations: 512 bytes) 27.146174 seconds (7 allocations: 512 bytes) 20.038812 seconds (520.78 k allocations: 31.848 MiB, 8.18% compilation time) 18.383359 seconds (7 allocations: 512 bytes) 17.584810 seconds (411.51 k allocations: 25.614 MiB, 7.11% compilation time) 16.292800 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 3m20.4s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 4.246908 seconds (168.51 k allocations: 11.143 MiB, 1.01% gc time, 45.70% compilation time) 2.254603 seconds (7 allocations: 512 bytes) 29.201791 seconds (211.50 k allocations: 13.584 MiB, 6.82% compilation time) 27.435509 seconds (7 allocations: 528 bytes) 27.111183 seconds (7 allocations: 528 bytes) 26.796201 seconds (7 allocations: 528 bytes) 5.337313 seconds (152.03 k allocations: 9.800 MiB, 38.58% compilation time) 3.247574 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 2m07.7s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 11.366577 seconds (164.46 k allocations: 10.620 MiB, 17.27% compilation time) 9.395326 seconds (7 allocations: 512 bytes) 11.231171 seconds (153.21 k allocations: 9.909 MiB, 16.86% compilation time) 9.409327 seconds (7 allocations: 512 bytes) 11.446075 seconds (153.12 k allocations: 9.906 MiB, 17.39% compilation time) 9.441770 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 1m04.5s 1.345205 seconds (227.30 k allocations: 14.176 MiB, 2.06% gc time, 97.11% compilation time) 0.038607 seconds (7 allocations: 512 bytes) 2.297013 seconds (235.62 k allocations: 14.953 MiB, 98.55% compilation time) 0.033593 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 5.7s 2.476778 seconds (292.06 k allocations: 17.825 MiB, 0.91% gc time, 97.77% compilation time) 0.054597 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 3.2s allknn 2%|▉ | ETA: 0:03:51 allknn 100%|█████████████████████████████████████████████| Time: 0:00:04 ExhaustiveSearch allknn: 5.462015 seconds (1.80 M allocations: 110.406 MiB, 0.55% gc time, 99.95% compilation time) Test Summary: | Pass Total Time allknn | 1 1 5.7s 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, 6.0] Test Summary: | Total Time HSP | 0 6.0s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:12.609 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-03-03T17:24:13.490 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-03-03T17:24:16.896 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-03-03T17:24:19.028 LOG n.size quantiles:[1.0, 1.0, 1.0, 2.0, 3.0] [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:19.496 D.map = UInt32[0x00000001, 0x00000004, 0x00000005, 0x00000008, 0x00000009, 0x0000000c, 0x0000001b, 0x0000001d, 0x0000002f, 0x00000037, 0x0000004a] D.nn = Int32[1, 1, 1, 4, 5, 5, 4, 8, 9, 9, 9, 12, 5, 4, 5, 9, 4, 9, 1, 5, 4, 5, 5, 1, 9, 5, 27, 12, 29, 29, 12, 12, 4, 12, 1, 1, 5, 5, 8, 5, 5, 5, 4, 29, 5, 29, 47, 29, 29, 1, 4, 4, 9, 9, 55, 12, 1, 4, 12, 12, 29, 29, 29, 9, 1, 4, 5, 1, 55, 5, 29, 9, 12, 74, 1, 4, 9, 74, 29, 47, 29, 4, 5, 8, 29, 9, 29, 1, 5, 1, 5, 47, 29, 4, 4, 4, 29, 29, 29, 8] D.dist = Float32[0.0, 0.059678435, 0.06196958, 0.0, 0.0, 0.023123026, 0.042316496, 0.0, 0.0, 0.005487323, 0.050500095, 0.0, 0.064068854, 0.092980444, 0.041054845, 0.008556545, 0.0384171, 0.027059317, 0.084340155, 0.072937846, 0.045845628, 0.0739404, 0.06921065, 0.03090185, 0.018738449, 0.078559816, 0.0, 0.038133144, 0.0, 0.025523067, 0.0188874, 0.032161593, 0.038736284, 0.04498762, 0.027468443, 0.048986554, 0.0029709935, 0.048238277, 0.01218456, 0.0555197, 0.07615042, 0.08610493, 0.04048413, 0.027805328, 0.041504502, 0.022164583, 0.0, 0.08299112, 0.078876555, 0.0017840862, 0.039476752, 0.029265583, 0.05743605, 0.07454151, 0.0, 0.021123886, 0.08002639, 0.046397626, 0.039266706, 0.024217725, 0.02062267, 0.050665677, 0.05135584, 0.015480697, 0.03798604, 0.005794823, 0.044414937, 0.002232194, 0.049928486, 0.03241706, 0.056756735, 0.0633477, 0.01989764, 0.0, 0.035992444, 0.06863171, 0.03299856, 0.029399216, 0.023709416, 0.038090646, 0.026040137, 0.0028696656, 0.03775561, 0.041279376, 0.026998758, 0.04275006, 0.021427155, 0.09817785, 0.039767325, 0.024372637, 0.069190085, 0.044640005, 0.051246226, 0.00911051, 0.05939448, 0.054258466, 0.06510913, 0.05630976, 0.03348297, 0.0059117675] Test Summary: | Pass Total Time neardup single block | 3 3 23.8s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:20.784 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-03-03T17:24:20.784 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-03-03T17:24:24.508 LOG add_vertex! sp=7 ep=8 n=6 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-03-03T17:24:24.508 LOG n.size quantiles:[2.0, 2.25, 2.5, 2.75, 3.0] [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.508 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.508 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.508 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.508 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.781 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.782 D.map = UInt32[0x00000001, 0x00000004, 0x00000005, 0x00000008, 0x00000009, 0x0000000c, 0x0000001b, 0x0000001d, 0x0000002f, 0x00000037, 0x0000004a] D.nn = Int32[1, 1, 1, 4, 5, 5, 4, 8, 9, 9, 9, 12, 5, 4, 5, 9, 4, 9, 1, 5, 4, 5, 5, 1, 9, 5, 27, 12, 29, 4, 12, 12, 4, 12, 1, 1, 5, 5, 8, 5, 5, 5, 4, 29, 5, 29, 47, 29, 29, 1, 4, 4, 9, 9, 55, 12, 1, 4, 12, 12, 29, 29, 29, 9, 1, 4, 5, 1, 55, 5, 29, 9, 12, 74, 1, 4, 9, 4, 29, 47, 29, 4, 5, 8, 29, 9, 29, 1, 5, 1, 5, 47, 29, 4, 4, 4, 29, 29, 29, 8] D.dist = Float32[0.0, 0.059678435, 0.06196958, 0.0, 0.0, 0.023123026, 0.042316496, 0.0, 0.0, 0.005487323, 0.050500095, 0.0, 0.064068854, 0.092980444, 0.041054845, 0.008556545, 0.0384171, 0.027059317, 0.084340155, 0.072937846, 0.045845628, 0.0739404, 0.06921065, 0.03090185, 0.018738449, 0.078559816, 0.0, 0.038133144, 0.0, 0.076253414, 0.0188874, 0.032161593, 0.038736284, 0.04498762, 0.027468443, 0.048986554, 0.0029709935, 0.048238277, 0.01218456, 0.0555197, 0.07615042, 0.08610493, 0.04048413, 0.027805328, 0.041504502, 0.022164583, 0.0, 0.08299112, 0.078876555, 0.0017840862, 0.039476752, 0.029265583, 0.05743605, 0.07454151, 0.0, 0.021123886, 0.08002639, 0.046397626, 0.039266706, 0.024217725, 0.02062267, 0.050665677, 0.05135584, 0.015480697, 0.03798604, 0.005794823, 0.044414937, 0.002232194, 0.049928486, 0.03241706, 0.056756735, 0.0633477, 0.01989764, 0.0, 0.035992444, 0.06863171, 0.03299856, 0.055964828, 0.023709416, 0.038090646, 0.026040137, 0.0028696656, 0.03775561, 0.041279376, 0.026998758, 0.04275006, 0.021427155, 0.09817785, 0.039767325, 0.024372637, 0.069190085, 0.044640005, 0.051246226, 0.00911051, 0.05939448, 0.054258466, 0.06510913, 0.05630976, 0.03348297, 0.0059117675] Test Summary: | Pass Total Time neardup small block | 3 3 4.1s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.927 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-03-03T17:24:24.928 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-03-03T17:24:24.928 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.928 [ Info: neardup> range: 49:64, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.928 [ Info: neardup> range: 65:80, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.928 [ Info: neardup> range: 81:96, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.928 [ Info: neardup> range: 97:100, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.928 [ Info: neardup> finished current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:24.928 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x0000001b, 0x0000002f, 0x00000037] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 11, 10, 14, 5, 14, 13, 5, 2, 10, 5, 27, 12, 14, 14, 12, 12, 11, 12, 1, 15, 5, 6, 8, 15, 3, 5, 4, 14, 5, 14, 47, 14, 14, 1, 4, 4, 11, 9, 55, 12, 3, 15, 12, 12, 2, 14, 10, 9, 1, 4, 5, 1, 55, 15, 10, 9, 12, 14, 3, 13, 10, 14, 8, 47, 14, 4, 13, 8, 14, 9, 14, 13, 5, 1, 5, 47, 14, 4, 7, 15, 3, 3, 14, 8] 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.022917628, 0.01940775, 0.0075936913, 0.072937846, 0.025894463, 0.018370867, 0.06921065, 0.0051313043, 0.0103776455, 0.078559816, 0.0, 0.038133144, 0.02342838, 0.008644104, 0.0188874, 0.032161593, 0.021873295, 0.04498762, 0.027468443, 0.027318776, 0.0029709935, 0.016798794, 0.01218456, 0.005055189, 0.009234548, 0.08610493, 0.04048413, 0.046662807, 0.041504502, 0.008356154, 0.0, 0.04104072, 0.053123355, 0.0017840862, 0.039476752, 0.029265583, 0.004158914, 0.07454151, 0.0, 0.021123886, 0.06915146, 0.020988286, 0.039266706, 0.024217725, 0.022319973, 0.011832595, 0.073812544, 0.015480697, 0.03798604, 0.005794823, 0.044414937, 0.002232194, 0.049928486, 0.022955716, 0.06457394, 0.0633477, 0.01989764, 0.041401207, 0.0077773333, 0.0051106215, 0.019383252, 0.011187673, 0.044181705, 0.038090646, 0.020436764, 0.0028696656, 0.00904882, 0.041279376, 0.02406007, 0.04275006, 0.06459522, 0.056491494, 0.039767325, 0.024372637, 0.069190085, 0.044640005, 0.09620291, 0.00911051, 0.025160253, 0.003785789, 0.047328234, 0.039229393, 0.066354334, 0.0059117675] 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-03-03T17:24:28.196 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=6 n=6 2026-03-03T17:24:28.643 [ Info: neardup> range: 17:32, current elements: 6, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:29.927 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=6 ep=8 n=8 2026-03-03T17:24:29.928 [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:29.933 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:29.933 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:29.933 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:29.933 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:31.247 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-03T17:24:31.248 D.map = UInt32[0x00000001, 0x00000004, 0x00000005, 0x00000008, 0x00000009, 0x0000000c, 0x0000001b, 0x0000001d, 0x0000002f, 0x00000037, 0x0000004a] D.nn = Int32[1, 1, 1, 4, 5, 5, 4, 8, 9, 9, 9, 12, 5, 4, 5, 9, 4, 9, 1, 5, 4, 5, 5, 1, 9, 5, 27, 12, 29, 4, 12, 12, 4, 12, 1, 1, 5, 5, 8, 5, 5, 5, 4, 29, 5, 29, 47, 29, 29, 1, 4, 4, 9, 9, 55, 12, 1, 4, 12, 12, 29, 29, 29, 9, 1, 4, 5, 1, 55, 5, 29, 9, 12, 74, 1, 4, 9, 4, 29, 47, 29, 4, 5, 8, 29, 9, 29, 1, 5, 1, 5, 47, 29, 4, 4, 4, 29, 29, 29, 8] D.dist = Float32[0.0, 0.059678435, 0.06196958, 0.0, 0.0, 0.023123026, 0.042316496, 0.0, 0.0, 0.005487323, 0.050500095, 0.0, 0.064068854, 0.092980444, 0.041054845, 0.008556545, 0.0384171, 0.027059317, 0.084340155, 0.072937846, 0.045845628, 0.0739404, 0.06921065, 0.03090185, 0.018738449, 0.078559816, 0.0, 0.038133144, 0.0, 0.076253414, 0.0188874, 0.032161593, 0.038736284, 0.04498762, 0.027468443, 0.048986554, 0.0029709935, 0.048238277, 0.01218456, 0.0555197, 0.07615042, 0.08610493, 0.04048413, 0.027805328, 0.041504502, 0.022164583, 0.0, 0.08299112, 0.078876555, 0.0017840862, 0.039476752, 0.029265583, 0.05743605, 0.07454151, 0.0, 0.021123886, 0.08002639, 0.046397626, 0.039266706, 0.024217725, 0.02062267, 0.050665677, 0.05135584, 0.015480697, 0.03798604, 0.005794823, 0.044414937, 0.002232194, 0.049928486, 0.03241706, 0.056756735, 0.0633477, 0.01989764, 0.0, 0.035992444, 0.06863171, 0.03299856, 0.055964828, 0.023709416, 0.038090646, 0.026040137, 0.0028696656, 0.03775561, 0.041279376, 0.026998758, 0.04275006, 0.021427155, 0.09817785, 0.039767325, 0.024372637, 0.069190085, 0.044640005, 0.051246226, 0.00911051, 0.05939448, 0.054258466, 0.06510913, 0.05630976, 0.03348297, 0.0059117675] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 6.3s computing farthest point 1, dmax: Inf, imax: 1, n: 30 computing farthest point 2, dmax: 1.2897781, imax: 11, n: 30 computing farthest point 3, dmax: 0.9819396, imax: 22, n: 30 computing farthest point 4, dmax: 0.9360102, imax: 8, n: 30 computing farthest point 5, dmax: 0.81622005, imax: 12, n: 30 computing farthest point 6, dmax: 0.7989453, imax: 4, n: 30 computing farthest point 7, dmax: 0.6218105, imax: 5, n: 30 computing farthest point 8, dmax: 0.59736943, imax: 14, n: 30 computing farthest point 9, dmax: 0.54595035, imax: 7, n: 30 computing farthest point 10, dmax: 0.53156656, imax: 30, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.2s 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-03-03T17:24:41.295 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-03-03T17:24:43.120 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, Δ=0.925, maxvisits=112) 2026-03-03T17:24:58.137 LOG n.size quantiles:[4.0, 4.0, 4.0, 4.0, 4.0] (i, j, d) = (82, 989, -1.1920929f-7) (i, j, d, :parallel) = (82, 989, -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 => 25.581741856999997, :exact => 1.051398037) Test Summary: | Pass Total Time closestpair | 4 4 27.2s 7.230635 seconds (196.47 k allocations: 12.251 MiB, 28.95% compilation time) SEARCH Exhaustive 1: 0.006582 seconds SEARCH Exhaustive 2: 0.007092 seconds SEARCH Exhaustive 3: 0.008074 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-03-03T17:25:28.097 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-03-03T17:25:30.115 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=13, Δ=1.21275, maxvisits=204) 2026-03-03T17:25:42.150 LOG n.size quantiles:[3.0, 4.0, 4.0, 4.0, 5.0] LOG add_vertex! sp=14465 ep=14469 n=14464 BeamSearch(bsize=4, Δ=1.05, maxvisits=384) 2026-03-03T17:25:43.150 LOG n.size quantiles:[5.0, 7.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=27410 ep=27414 n=27409 BeamSearch(bsize=10, Δ=1.05, maxvisits=386) 2026-03-03T17:25:44.150 LOG n.size quantiles:[5.0, 6.0, 6.0, 6.0, 8.0] LOG add_vertex! sp=38530 ep=38534 n=38529 BeamSearch(bsize=6, Δ=1.1, maxvisits=394) 2026-03-03T17:25:45.150 LOG n.size quantiles:[5.0, 5.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=48820 ep=48824 n=48819 BeamSearch(bsize=6, Δ=1.1, maxvisits=394) 2026-03-03T17:25:46.151 LOG n.size quantiles:[4.0, 6.0, 8.0, 9.0, 12.0] LOG add_vertex! sp=57470 ep=57474 n=57469 BeamSearch(bsize=10, Δ=1.1, maxvisits=460) 2026-03-03T17:25:47.151 LOG n.size quantiles:[4.0, 4.0, 6.0, 7.0, 9.0] LOG add_vertex! sp=67135 ep=67139 n=67134 BeamSearch(bsize=10, Δ=1.1, maxvisits=460) 2026-03-03T17:25:48.151 LOG n.size quantiles:[5.0, 7.0, 8.0, 8.0, 9.0] LOG add_vertex! sp=76015 ep=76019 n=76014 BeamSearch(bsize=10, Δ=1.1, maxvisits=460) 2026-03-03T17:25:49.152 LOG n.size quantiles:[4.0, 6.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=84720 ep=84724 n=84719 BeamSearch(bsize=10, Δ=1.1, maxvisits=460) 2026-03-03T17:25:50.152 LOG n.size quantiles:[4.0, 5.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=90385 ep=90389 n=90384 BeamSearch(bsize=14, Δ=1.21275, maxvisits=512) 2026-03-03T17:25:51.153 LOG n.size quantiles:[5.0, 6.0, 8.0, 8.0, 9.0] LOG add_vertex! sp=98090 ep=98094 n=98089 BeamSearch(bsize=14, Δ=1.21275, maxvisits=512) 2026-03-03T17:25:52.153 LOG n.size quantiles:[3.0, 5.0, 8.0, 8.0, 9.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 17.0, 23.0, 105.0] [ Info: minrecall: queries per second: 2995.6384283349435, recall: 0.904875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.157625, maxvisits=702)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 17.0, 23.0, 105.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=9, Δ=1.155, maxvisits=542)), 1000, 8) [ Info: rebuild: queries per second: 13248.145637182946, recall: 0.903875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=9, Δ=1.155, maxvisits=542)) 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, 33.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=16, Δ=1.1287501, maxvisits=766)), 1000, 8) 0.606317 seconds (93.88 k allocations: 5.489 MiB, 86.63% compilation time) [ Info: matrixhints: queries per second: 12482.091319479377, recall: 0.898125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=16, Δ=1.1287501, maxvisits=766)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 17.0, 23.0, 105.0] 3.368235 seconds (156.38 k allocations: 10.188 MiB, 58.69% compilation time) SEARCH Exhaustive 1: 0.004527 seconds SEARCH Exhaustive 2: 0.004476 seconds SEARCH Exhaustive 3: 0.004487 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-03-03T17:27:11.937 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-03-03T17:27:13.708 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=13, Δ=1.21275, maxvisits=204) 2026-03-03T17:27:24.631 LOG n.size quantiles:[3.0, 4.0, 4.0, 4.0, 5.0] LOG add_vertex! sp=16080 ep=16084 n=16079 BeamSearch(bsize=4, Δ=1.05, maxvisits=384) 2026-03-03T17:27:25.631 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=30930 ep=30934 n=30929 BeamSearch(bsize=10, Δ=1.05, maxvisits=386) 2026-03-03T17:27:26.631 LOG n.size quantiles:[5.0, 5.0, 5.0, 6.0, 7.0] LOG add_vertex! sp=42650 ep=42654 n=42649 BeamSearch(bsize=6, Δ=1.1, maxvisits=394) 2026-03-03T17:27:27.632 LOG n.size quantiles:[6.0, 7.0, 8.0, 9.0, 9.0] LOG add_vertex! sp=49845 ep=49849 n=49844 BeamSearch(bsize=6, Δ=1.1, maxvisits=394) 2026-03-03T17:27:28.632 LOG n.size quantiles:[3.0, 4.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=59695 ep=59699 n=59694 BeamSearch(bsize=10, Δ=1.1, maxvisits=460) 2026-03-03T17:27:29.632 LOG n.size quantiles:[6.0, 6.0, 6.0, 7.0, 9.0] LOG add_vertex! sp=69595 ep=69599 n=69594 BeamSearch(bsize=10, Δ=1.1, maxvisits=460) 2026-03-03T17:27:30.632 LOG n.size quantiles:[4.0, 6.0, 8.0, 9.0, 9.0] LOG add_vertex! sp=78965 ep=78969 n=78964 BeamSearch(bsize=10, Δ=1.1, maxvisits=460) 2026-03-03T17:27:31.632 LOG n.size quantiles:[5.0, 5.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=86795 ep=86799 n=86794 BeamSearch(bsize=14, Δ=1.21275, maxvisits=512) 2026-03-03T17:27:32.633 LOG n.size quantiles:[7.0, 8.0, 8.0, 8.0, 10.0] LOG add_vertex! sp=94250 ep=94254 n=94249 BeamSearch(bsize=14, Δ=1.21275, maxvisits=512) 2026-03-03T17:27:33.633 LOG n.size quantiles:[4.0, 7.0, 7.0, 8.0, 9.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 17.0, 23.0, 105.0] [ Info: minrecall: queries per second: 2707.7000192219625, recall: 0.904875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.157625, maxvisits=702)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 17.0, 23.0, 105.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=9, Δ=1.155, maxvisits=542)), 1000, 8) [ Info: rebuild: queries per second: 13425.632227789802, recall: 0.903875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=9, Δ=1.155, maxvisits=542)) 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, 33.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=16, Δ=1.1287501, maxvisits=766)), 1000, 8) 0.722437 seconds (94.89 k allocations: 5.630 MiB, 87.44% compilation time) [ Info: matrixhints: queries per second: 11561.367141376017, recall: 0.898125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=16, Δ=1.1287501, maxvisits=766)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 17.0, 23.0, 105.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 3m20.0s Testing SimilaritySearch tests passed Testing completed after 719.68s PkgEval succeeded after 783.89s