Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1786 (45ee44a91e*) started at 2026-02-22T16:57:52.394 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 11.96s ################################################################################ # 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.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.75s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3333.4 ms ✓ SearchModels 7378.9 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 11 seconds. 81 already precompiled. Precompilation completed after 33.28s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_J5LsoI/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_J5LsoI/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.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.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 17.1s Test Summary: | Pass Total Time heap | 16 16 0.1s Test Summary: | Pass Total Time KnnHeap | 30005 30005 3.8s Test Summary: | Pass Total Time XKnn | 25005 25005 2.8s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.0s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 6.147227 seconds (401.95 k allocations: 24.907 MiB, 37.49% compilation time) 3.920278 seconds (7 allocations: 512 bytes) 5.442592 seconds (256.52 k allocations: 16.191 MiB, 37.27% compilation time) 3.746214 seconds (7 allocations: 512 bytes) 6.083796 seconds (240.23 k allocations: 15.291 MiB, 35.27% compilation time) 4.003544 seconds (7 allocations: 512 bytes) 5.976429 seconds (235.66 k allocations: 15.025 MiB, 36.56% compilation time) 4.018385 seconds (7 allocations: 512 bytes) 16.728082 seconds (248.15 k allocations: 15.697 MiB, 11.77% compilation time) 14.389275 seconds (7 allocations: 512 bytes) 27.965434 seconds (7 allocations: 512 bytes) 27.893536 seconds (7 allocations: 512 bytes) 20.297791 seconds (512.25 k allocations: 31.621 MiB, 8.21% compilation time) 19.089232 seconds (7 allocations: 512 bytes) 18.046228 seconds (407.43 k allocations: 25.573 MiB, 5.88% compilation time) 16.589146 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 3m25.7s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 4.670128 seconds (170.20 k allocations: 11.419 MiB, 1.52% gc time, 40.99% compilation time) 2.447094 seconds (7 allocations: 512 bytes) 28.800279 seconds (210.76 k allocations: 13.734 MiB, 6.39% compilation time) 26.673345 seconds (7 allocations: 528 bytes) 26.565447 seconds (7 allocations: 528 bytes) 25.986049 seconds (7 allocations: 528 bytes) 5.382867 seconds (154.25 k allocations: 10.077 MiB, 38.03% compilation time) 3.320965 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 2m05.9s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 12.020125 seconds (166.84 k allocations: 10.909 MiB, 14.59% compilation time) 10.080007 seconds (7 allocations: 512 bytes) 11.979725 seconds (155.67 k allocations: 10.202 MiB, 15.44% compilation time) 10.355355 seconds (7 allocations: 512 bytes) 11.991670 seconds (155.57 k allocations: 10.198 MiB, 14.32% compilation time) 10.410792 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 1m09.0s 1.223617 seconds (228.12 k allocations: 14.357 MiB, 4.27% gc time, 96.22% compilation time) 0.045526 seconds (7 allocations: 512 bytes) 2.106764 seconds (236.42 k allocations: 15.172 MiB, 98.44% compilation time) 0.032342 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 5.3s 2.344468 seconds (290.37 k allocations: 17.898 MiB, 1.69% gc time, 96.38% compilation time) 0.078507 seconds (7 allocations: 512 bytes) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 3.0s allknn 2%|▉ | ETA: 0:03:37 allknn 100%|█████████████████████████████████████████████| Time: 0:00:04 ExhaustiveSearch allknn: 5.102187 seconds (1.81 M allocations: 110.810 MiB, 0.61% gc time, 99.95% compilation time) Test Summary: | Pass Total Time allknn | 1 1 5.3s quantile(length.(hsp_knns), 0:0.1:1) = [3.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 5.5s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:38.517 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-22T17:06:39.303 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-22T17:06:42.578 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-22T17:06:44.751 LOG n.size quantiles:[2.0, 2.0, 3.0, 3.0, 3.0] [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:45.237 D.map = UInt32[0x00000001, 0x00000002, 0x00000008, 0x00000009, 0x0000000b, 0x0000003a, 0x0000003f, 0x00000040, 0x00000041, 0x00000054] D.nn = Int32[1, 2, 2, 2, 2, 2, 1, 8, 9, 9, 11, 11, 1, 9, 8, 2, 2, 11, 2, 2, 11, 2, 11, 1, 9, 11, 11, 2, 11, 9, 1, 9, 11, 11, 11, 8, 2, 2, 11, 1, 8, 2, 8, 2, 9, 9, 2, 2, 8, 11, 2, 2, 2, 11, 11, 11, 11, 58, 1, 9, 1, 2, 63, 64, 65, 8, 8, 2, 2, 1, 2, 11, 11, 2, 9, 64, 2, 9, 58, 2, 11, 8, 2, 84, 8, 11, 2, 64, 8, 9, 2, 2, 2, 58, 1, 8, 11, 64, 2, 8] D.dist = Float32[0.0, 0.0, 0.033486605, 0.09247565, 0.08382833, 0.018240571, 0.08857739, 0.0, 0.0, 0.029281259, 0.0, 0.02973783, 0.014432907, 0.09490281, 0.031158864, 0.052394032, 0.07450348, 0.061959267, 0.014778733, 0.016646147, 0.03825009, 0.0206393, 0.032800972, 0.057904184, 0.08451748, 0.0628643, 0.03244257, 0.043643117, 0.0009711385, 0.030829549, 0.04096216, 0.009463251, 0.03421688, 0.055182576, 0.031803966, 0.066907585, 0.0062484145, 0.023551822, 0.011156917, 0.043402493, 0.042824805, 0.07256895, 0.0872702, 0.025678754, 0.07214838, 0.008539915, 0.024118721, 0.027451217, 0.038765192, 0.054835558, 0.013836086, 0.083432674, 0.015951931, 0.08769429, 0.051047027, 0.05562967, 0.037096143, 0.0, 0.01488018, 0.011693001, 0.060371697, 0.05213064, 0.0, 0.0, 0.0, 0.06491816, 0.086962044, 0.0742116, 0.04955095, 0.014516234, 0.040760756, 0.07398945, 0.01659453, 0.021795928, 0.045628667, 0.08493376, 0.026547432, 0.01206696, 0.05336708, 0.06935626, 0.08177203, 0.006721437, 0.057967365, 0.0, 0.0028837323, 0.021707952, 0.07433689, 0.030027151, 0.06501937, 0.015219867, 0.088044405, 0.036222577, 0.09338188, 0.020003498, 0.03457296, 0.013556838, 0.057483196, 0.042834163, 0.0062102675, 0.056956172] Test Summary: | Pass Total Time neardup single block | 3 3 22.6s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:46.397 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-22T17:06:46.397 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:49.758 [ Info: neardup> range: 33:48, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:49.758 [ Info: neardup> range: 49:64, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:49.758 LOG add_vertex! sp=6 ep=8 n=5 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-22T17:06:49.758 LOG n.size quantiles:[2.0, 2.5, 3.0, 3.0, 3.0] [ Info: neardup> range: 65:80, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:49.758 [ Info: neardup> range: 81:96, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:49.758 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.025 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.025 D.map = UInt32[0x00000001, 0x00000002, 0x00000008, 0x00000009, 0x0000000b, 0x0000003a, 0x0000003f, 0x00000040, 0x00000041, 0x00000054] D.nn = Int32[1, 2, 2, 2, 2, 2, 1, 8, 9, 9, 11, 11, 1, 9, 8, 2, 2, 11, 2, 2, 11, 2, 11, 1, 9, 11, 11, 2, 11, 9, 1, 9, 11, 11, 11, 8, 2, 2, 11, 1, 8, 2, 8, 2, 9, 9, 2, 2, 8, 11, 2, 2, 2, 11, 11, 11, 11, 58, 1, 9, 1, 2, 63, 64, 65, 8, 8, 2, 2, 1, 2, 11, 11, 2, 9, 64, 2, 9, 58, 2, 11, 8, 2, 84, 8, 11, 2, 64, 8, 9, 2, 2, 2, 58, 1, 8, 11, 64, 2, 8] D.dist = Float32[0.0, 0.0, 0.033486605, 0.09247565, 0.08382833, 0.018240571, 0.08857739, 0.0, 0.0, 0.029281259, 0.0, 0.02973783, 0.014432907, 0.09490281, 0.031158864, 0.052394032, 0.07450348, 0.061959267, 0.014778733, 0.016646147, 0.03825009, 0.0206393, 0.032800972, 0.057904184, 0.08451748, 0.0628643, 0.03244257, 0.043643117, 0.0009711385, 0.030829549, 0.04096216, 0.009463251, 0.03421688, 0.055182576, 0.031803966, 0.066907585, 0.0062484145, 0.023551822, 0.011156917, 0.043402493, 0.042824805, 0.07256895, 0.0872702, 0.025678754, 0.07214838, 0.008539915, 0.024118721, 0.027451217, 0.038765192, 0.054835558, 0.013836086, 0.083432674, 0.015951931, 0.08769429, 0.051047027, 0.05562967, 0.037096143, 0.0, 0.01488018, 0.011693001, 0.060371697, 0.05213064, 0.0, 0.0, 0.0, 0.06491816, 0.086962044, 0.0742116, 0.04955095, 0.014516234, 0.040760756, 0.07398945, 0.01659453, 0.021795928, 0.045628667, 0.08493376, 0.026547432, 0.01206696, 0.05336708, 0.06935626, 0.08177203, 0.006721437, 0.057967365, 0.0, 0.0028837323, 0.021707952, 0.07433689, 0.030027151, 0.06501937, 0.015219867, 0.088044405, 0.036222577, 0.09338188, 0.020003498, 0.03457296, 0.013556838, 0.057483196, 0.042834163, 0.0062102675, 0.056956172] Test Summary: | Pass Total Time neardup small block | 3 3 3.7s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.109 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-22T17:06:50.110 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-22T17:06:50.110 [ Info: neardup> range: 33:48, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.110 [ Info: neardup> range: 49:64, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.110 [ Info: neardup> range: 65:80, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.110 [ Info: neardup> range: 81:96, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.110 [ Info: neardup> range: 97:100, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.111 [ Info: neardup> finished current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:50.111 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000041] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 4, 7, 6, 2, 7, 2, 11, 5, 14, 5, 12, 7, 11, 9, 1, 9, 11, 12, 11, 12, 6, 6, 11, 13, 8, 7, 15, 16, 4, 9, 6, 3, 12, 7, 2, 5, 2, 5, 7, 12, 7, 4, 1, 9, 14, 7, 10, 15, 65, 16, 6, 2, 3, 1, 4, 5, 12, 3, 14, 14, 2, 9, 5, 6, 5, 8, 3, 4, 8, 11, 7, 14, 12, 9, 3, 6, 7, 13, 1, 8, 7, 15, 2, 12] 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.051433146, 0.01267606, 0.014737666, 0.016646147, 0.01991731, 0.0206393, 0.032800972, 0.024438262, 0.00092321634, 0.01692605, 0.019249499, 0.030171096, 0.0009711385, 0.030829549, 0.04096216, 0.009463251, 0.03421688, 0.049745142, 0.031803966, 0.05712205, 0.0057074428, 0.004594207, 0.011156917, 0.032025814, 0.042824805, 0.03579682, 0.016027153, 0.012477756, 0.02277875, 0.008539915, 0.0146023035, 0.00047117472, 0.014199972, 0.025996089, 0.013836086, 0.006288886, 0.015951931, 0.0068347454, 0.003410399, 0.011987746, 0.023557305, 0.0418033, 0.01488018, 0.011693001, 0.014372766, 0.014621258, 0.042814434, 0.07006121, 0.0, 0.027260661, 0.046411335, 0.0742116, 0.028467596, 0.014516234, 0.024947822, 0.014119744, 0.002175808, 0.01975578, 0.03710258, 0.010005534, 0.026547432, 0.01206696, 0.02087903, 0.018814683, 0.012067318, 0.006721437, 0.015645742, 0.09081519, 0.0028837323, 0.021707952, 0.017716646, 0.021181583, 0.057114184, 0.015219867, 0.029938936, 0.0044837, 0.070265114, 0.035690784, 0.03457296, 0.013556838, 0.018983364, 0.008220136, 0.0062102675, 0.018808186] 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-22T17:06:54.970 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=5 n=5 2026-02-22T17:06:55.361 [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:56.629 [ Info: neardup> range: 33:48, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:56.629 [ Info: neardup> range: 49:64, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:56.629 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=5 ep=8 n=8 2026-02-22T17:06:56.629 [ Info: neardup> range: 65:80, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:56.635 [ Info: neardup> range: 81:96, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:56.636 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:57.911 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-22T17:06:57.912 D.map = UInt32[0x00000001, 0x00000002, 0x00000008, 0x00000009, 0x0000000b, 0x0000003a, 0x0000003f, 0x00000040, 0x00000041, 0x00000054] D.nn = Int32[1, 2, 2, 2, 2, 2, 1, 8, 9, 9, 11, 11, 1, 9, 8, 2, 2, 11, 2, 2, 11, 2, 11, 1, 9, 11, 11, 2, 11, 9, 1, 9, 11, 11, 11, 8, 2, 2, 11, 1, 8, 2, 8, 2, 9, 9, 2, 2, 8, 11, 2, 2, 2, 11, 11, 11, 11, 58, 1, 9, 1, 2, 63, 64, 65, 8, 8, 2, 2, 1, 2, 11, 11, 2, 9, 64, 2, 9, 58, 2, 11, 8, 2, 84, 8, 11, 2, 64, 8, 9, 2, 2, 2, 58, 1, 8, 11, 64, 2, 8] D.dist = Float32[0.0, 0.0, 0.033486605, 0.09247565, 0.08382833, 0.018240571, 0.08857739, 0.0, 0.0, 0.029281259, 0.0, 0.02973783, 0.014432907, 0.09490281, 0.031158864, 0.052394032, 0.07450348, 0.061959267, 0.014778733, 0.016646147, 0.03825009, 0.0206393, 0.032800972, 0.057904184, 0.08451748, 0.0628643, 0.03244257, 0.043643117, 0.0009711385, 0.030829549, 0.04096216, 0.009463251, 0.03421688, 0.055182576, 0.031803966, 0.066907585, 0.0062484145, 0.023551822, 0.011156917, 0.043402493, 0.042824805, 0.07256895, 0.0872702, 0.025678754, 0.07214838, 0.008539915, 0.024118721, 0.027451217, 0.038765192, 0.054835558, 0.013836086, 0.083432674, 0.015951931, 0.08769429, 0.051047027, 0.05562967, 0.037096143, 0.0, 0.01488018, 0.011693001, 0.060371697, 0.05213064, 0.0, 0.0, 0.0, 0.06491816, 0.086962044, 0.0742116, 0.04955095, 0.014516234, 0.040760756, 0.07398945, 0.01659453, 0.021795928, 0.045628667, 0.08493376, 0.026547432, 0.01206696, 0.05336708, 0.06935626, 0.08177203, 0.006721437, 0.057967365, 0.0, 0.0028837323, 0.021707952, 0.07433689, 0.030027151, 0.06501937, 0.015219867, 0.088044405, 0.036222577, 0.09338188, 0.020003498, 0.03457296, 0.013556838, 0.057483196, 0.042834163, 0.0062102675, 0.056956172] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 7.8s computing farthest point 1, dmax: Inf, imax: 16, n: 30 computing farthest point 2, dmax: 1.4087541, imax: 5, n: 30 computing farthest point 3, dmax: 0.9843806, imax: 8, n: 30 computing farthest point 4, dmax: 0.9400523, imax: 21, n: 30 computing farthest point 5, dmax: 0.8507796, imax: 22, n: 30 computing farthest point 6, dmax: 0.7989688, imax: 9, n: 30 computing farthest point 7, dmax: 0.74781716, imax: 13, n: 30 computing farthest point 8, dmax: 0.5953907, imax: 27, n: 30 computing farthest point 9, dmax: 0.5849028, imax: 4, n: 30 computing farthest point 10, dmax: 0.57075214, imax: 6, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.2s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.6s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-22T17:07:07.606 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-22T17:07:09.292 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.8666667, maxvisits=118) 2026-02-22T17:07:22.588 LOG n.size quantiles:[3.0, 3.0, 4.0, 4.0, 4.0] (i, j, d) = (9, 425, -1.1920929f-7) (i, j, d, :parallel) = (9, 425, -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 => 23.394322188, :exact => 1.023745965) Test Summary: | Pass Total Time closestpair | 4 4 24.9s 7.986510 seconds (197.22 k allocations: 12.415 MiB, 26.39% compilation time) SEARCH Exhaustive 1: 0.008514 seconds SEARCH Exhaustive 2: 0.008528 seconds SEARCH Exhaustive 3: 0.009403 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-22T17:07:52.725 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-22T17:07:54.507 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=4, Δ=1.025, maxvisits=192) 2026-02-22T17:08:04.785 LOG n.size quantiles:[3.0, 4.0, 4.0, 6.0, 6.0] LOG add_vertex! sp=13950 ep=13954 n=13949 BeamSearch(bsize=18, Δ=1.2733874, maxvisits=452) 2026-02-22T17:08:05.786 LOG n.size quantiles:[3.0, 6.0, 6.0, 6.0, 7.0] LOG add_vertex! sp=25330 ep=25334 n=25329 BeamSearch(bsize=6, Δ=0.9, maxvisits=454) 2026-02-22T17:08:06.786 LOG n.size quantiles:[4.0, 5.0, 6.0, 8.0, 9.0] LOG add_vertex! sp=37850 ep=37854 n=37849 BeamSearch(bsize=6, Δ=0.9, maxvisits=454) 2026-02-22T17:08:07.786 LOG n.size quantiles:[4.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=48235 ep=48239 n=48234 BeamSearch(bsize=14, Δ=1.1287501, maxvisits=434) 2026-02-22T17:08:08.786 LOG n.size quantiles:[4.0, 5.0, 6.0, 7.0, 10.0] LOG add_vertex! sp=56820 ep=56824 n=56819 BeamSearch(bsize=6, Δ=1.05, maxvisits=600) 2026-02-22T17:08:09.845 LOG n.size quantiles:[5.0, 5.0, 7.0, 9.0, 11.0] LOG add_vertex! sp=66115 ep=66119 n=66114 BeamSearch(bsize=6, Δ=1.05, maxvisits=600) 2026-02-22T17:08:10.845 LOG n.size quantiles:[7.0, 7.0, 7.0, 10.0, 10.0] LOG add_vertex! sp=74735 ep=74739 n=74734 BeamSearch(bsize=6, Δ=1.05, maxvisits=600) 2026-02-22T17:08:11.846 LOG n.size quantiles:[5.0, 5.0, 7.0, 8.0, 9.0] LOG add_vertex! sp=83605 ep=83609 n=83604 BeamSearch(bsize=6, Δ=1.05, maxvisits=600) 2026-02-22T17:08:12.846 LOG n.size quantiles:[5.0, 5.0, 5.0, 6.0, 7.0] LOG add_vertex! sp=90010 ep=90014 n=90009 BeamSearch(bsize=10, Δ=1.1025, maxvisits=426) 2026-02-22T17:08:13.846 LOG n.size quantiles:[5.0, 7.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=98360 ep=98364 n=98359 BeamSearch(bsize=10, Δ=1.1025, maxvisits=426) 2026-02-22T17:08:14.846 LOG n.size quantiles:[6.0, 6.0, 8.0, 9.0, 11.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, 86.0] [ Info: minrecall: queries per second: 2831.6720399578603, recall: 0.903375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=10, Δ=1.18, maxvisits=714)) 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, 86.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.21, maxvisits=614)), 1000, 8) [ Info: rebuild: queries per second: 13574.81130774723, recall: 0.905625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.21, maxvisits=614)) 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, 31.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=13, Δ=1.1851876, maxvisits=788)), 1000, 8) 0.637071 seconds (93.34 k allocations: 5.489 MiB, 86.48% compilation time) [ Info: matrixhints: queries per second: 11514.268377745288, recall: 0.9045 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=13, Δ=1.1851876, maxvisits=788)) 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, 86.0] 3.157638 seconds (159.48 k allocations: 10.500 MiB, 60.80% compilation time) SEARCH Exhaustive 1: 0.004568 seconds SEARCH Exhaustive 2: 0.004436 seconds SEARCH Exhaustive 3: 0.004459 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-22T17:09:36.100 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-22T17:09:38.073 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=4, Δ=1.025, maxvisits=192) 2026-02-22T17:09:49.659 LOG n.size quantiles:[3.0, 4.0, 4.0, 6.0, 6.0] LOG add_vertex! sp=15655 ep=15659 n=15654 BeamSearch(bsize=18, Δ=1.2733874, maxvisits=452) 2026-02-22T17:09:50.659 LOG n.size quantiles:[4.0, 4.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=28125 ep=28129 n=28124 BeamSearch(bsize=6, Δ=0.9, maxvisits=454) 2026-02-22T17:09:51.659 LOG n.size quantiles:[3.0, 5.0, 6.0, 6.0, 8.0] LOG add_vertex! sp=40035 ep=40039 n=40034 BeamSearch(bsize=14, Δ=1.1287501, maxvisits=434) 2026-02-22T17:09:52.659 LOG n.size quantiles:[5.0, 6.0, 6.0, 9.0, 10.0] LOG add_vertex! sp=50715 ep=50719 n=50714 BeamSearch(bsize=14, Δ=1.1287501, maxvisits=434) 2026-02-22T17:09:53.659 LOG n.size quantiles:[5.0, 6.0, 7.0, 7.0, 9.0] LOG add_vertex! sp=59955 ep=59959 n=59954 BeamSearch(bsize=6, Δ=1.05, maxvisits=600) 2026-02-22T17:09:54.660 LOG n.size quantiles:[6.0, 7.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=69820 ep=69824 n=69819 BeamSearch(bsize=6, Δ=1.05, maxvisits=600) 2026-02-22T17:09:55.660 LOG n.size quantiles:[5.0, 6.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=78790 ep=78794 n=78789 BeamSearch(bsize=6, Δ=1.05, maxvisits=600) 2026-02-22T17:09:56.660 LOG n.size quantiles:[5.0, 6.0, 7.0, 8.0, 9.0] LOG add_vertex! sp=87150 ep=87154 n=87149 BeamSearch(bsize=10, Δ=1.1025, maxvisits=426) 2026-02-22T17:09:57.661 LOG n.size quantiles:[5.0, 5.0, 7.0, 8.0, 10.0] LOG add_vertex! sp=95740 ep=95744 n=95739 BeamSearch(bsize=10, Δ=1.1025, maxvisits=426) 2026-02-22T17:09:58.661 LOG n.size quantiles:[6.0, 7.0, 7.0, 8.0, 10.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, 86.0] [ Info: minrecall: queries per second: 2914.960201596549, recall: 0.903375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=10, Δ=1.18, maxvisits=714)) 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, 86.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.21, maxvisits=614)), 1000, 8) [ Info: rebuild: queries per second: 21033.513222455167, recall: 0.905625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.21, maxvisits=614)) 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, 31.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=13, Δ=1.1851876, maxvisits=788)), 1000, 8) 0.636713 seconds (94.42 k allocations: 5.639 MiB, 87.91% compilation time) [ Info: matrixhints: queries per second: 12921.42317175042, recall: 0.9045 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=13, Δ=1.1851876, maxvisits=788)) 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, 86.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 3m14.8s Testing SimilaritySearch tests passed Testing completed after 716.03s PkgEval succeeded after 777.58s