Package evaluation to test SimilaritySearch on Julia 1.10.10 (c8be17dcfd*) started at 2026-02-02T18:16:55.171 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.10` Set-up completed after 5.6s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.10/Project.toml` [053f045d] + SimilaritySearch v0.13.8 Updating `~/.julia/environments/v1.10/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.2.1 [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 [82ae8749] + StatsAPI v1.8.0 ⌅ [2913bbd2] + StatsBase v0.33.21 [7792a7ef] + StrideArraysCore v0.5.8 [8290d209] + ThreadingUtilities v0.5.5 [56f22d72] + Artifacts [2a0f44e3] + Base64 [ade2ca70] + Dates [8ba89e20] + Distributed [b77e0a4c] + InteractiveUtils [8f399da3] + Libdl [37e2e46d] + LinearAlgebra [d6f4376e] + Markdown [de0858da] + Printf [9a3f8284] + Random [ea8e919c] + SHA v0.7.0 [9e88b42a] + Serialization [6462fe0b] + Sockets [2f01184e] + SparseArrays v1.10.0 [10745b16] + Statistics v1.10.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs [4ec0a83e] + Unicode [e66e0078] + CompilerSupportLibraries_jll v1.1.1+0 [4536629a] + OpenBLAS_jll v0.3.23+5 [bea87d4a] + SuiteSparse_jll v7.2.1+1 [8e850b90] + libblastrampoline_jll v5.11.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 10.48s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 11892.1 ms ✓ SimilaritySearch 1 dependency successfully precompiled in 14 seconds. 52 already precompiled. Precompilation completed after 27.18s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_b4a1A2/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 ⌅ [2913bbd2] StatsBase v0.33.21 [7792a7ef] StrideArraysCore v0.5.8 [ade2ca70] Dates [37e2e46d] LinearAlgebra [9a3f8284] Random [2f01184e] SparseArrays v1.10.0 [10745b16] Statistics v1.10.0 [8dfed614] Test Status `/tmp/jl_b4a1A2/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.2.1 [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 [82ae8749] StatsAPI v1.8.0 ⌅ [2913bbd2] StatsBase v0.33.21 [7792a7ef] StrideArraysCore v0.5.8 [8290d209] ThreadingUtilities v0.5.5 [0dad84c5] ArgTools v1.1.1 [56f22d72] Artifacts [2a0f44e3] Base64 [ade2ca70] Dates [8ba89e20] Distributed [f43a241f] Downloads v1.6.0 [7b1f6079] FileWatching [b77e0a4c] InteractiveUtils [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 [8f399da3] Libdl [37e2e46d] LinearAlgebra [56ddb016] Logging [d6f4376e] Markdown [ca575930] NetworkOptions v1.2.0 [44cfe95a] Pkg v1.10.0 [de0858da] Printf [3fa0cd96] REPL [9a3f8284] Random [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization [6462fe0b] Sockets [2f01184e] SparseArrays v1.10.0 [10745b16] Statistics v1.10.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test [cf7118a7] UUIDs [4ec0a83e] Unicode [e66e0078] CompilerSupportLibraries_jll v1.1.1+0 [deac9b47] LibCURL_jll v8.4.0+0 [e37daf67] LibGit2_jll v1.6.4+0 [29816b5a] LibSSH2_jll v1.11.0+1 [c8ffd9c3] MbedTLS_jll v2.28.1010+0 [14a3606d] MozillaCACerts_jll v2025.12.2 [4536629a] OpenBLAS_jll v0.3.23+5 [bea87d4a] SuiteSparse_jll v7.2.1+1 [83775a58] Zlib_jll v1.2.13+1 [8e850b90] libblastrampoline_jll v5.11.0+0 [8e850ede] nghttp2_jll v1.52.0+1 [3f19e933] p7zip_jll v17.4.0+2 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 8.8s Test Summary: | Pass Total Time heap | 16 16 0.0s Test Summary: | Pass Total Time KnnHeap | 30005 30005 3.6s Test Summary: | Pass Total Time XKnn | 25005 25005 2.1s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 0.9s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 6.271472 seconds (296.60 k allocations: 19.077 MiB, 55.86% compilation time) 2.818491 seconds (6 allocations: 672 bytes) 7.621851 seconds (231.56 k allocations: 14.673 MiB, 0.57% gc time, 68.44% compilation time) 2.493396 seconds (6 allocations: 672 bytes) 6.601158 seconds (178.08 k allocations: 11.102 MiB, 62.87% compilation time) 2.369383 seconds (6 allocations: 672 bytes) 6.377242 seconds (171.47 k allocations: 10.680 MiB, 61.85% compilation time) 2.409752 seconds (6 allocations: 672 bytes) 16.245891 seconds (241.32 k allocations: 15.199 MiB, 21.95% compilation time) 12.549982 seconds (6 allocations: 672 bytes) 24.464488 seconds (6 allocations: 672 bytes) 20.054557 seconds (6 allocations: 672 bytes) 16.150424 seconds (535.04 k allocations: 35.404 MiB, 0.23% gc time, 9.86% compilation time) 15.021626 seconds (6 allocations: 672 bytes) 14.522865 seconds (249.40 k allocations: 16.001 MiB, 9.24% compilation time) 13.331765 seconds (6 allocations: 672 bytes) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 2m52.9s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 3.851129 seconds (118.32 k allocations: 7.211 MiB, 62.00% compilation time) 1.471384 seconds (6 allocations: 672 bytes) 22.471499 seconds (135.09 k allocations: 8.408 MiB, 10.39% compilation time) 19.557914 seconds (6 allocations: 688 bytes) 18.326077 seconds (6 allocations: 688 bytes) 19.184736 seconds (6 allocations: 688 bytes) 4.839995 seconds (107.39 k allocations: 6.472 MiB, 58.32% compilation time) 1.888019 seconds (6 allocations: 672 bytes) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 1m33.0s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 17.204467 seconds (108.30 k allocations: 6.625 MiB, 13.35% compilation time) 14.360060 seconds (6 allocations: 672 bytes) 17.732635 seconds (102.12 k allocations: 6.207 MiB, 12.52% compilation time) 15.252895 seconds (6 allocations: 672 bytes) 17.890196 seconds (102.05 k allocations: 6.206 MiB, 1.42% gc time, 13.70% compilation time) 14.254846 seconds (6 allocations: 672 bytes) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 1m38.1s 2.659992 seconds (160.42 k allocations: 9.960 MiB, 97.66% compilation time) 0.058963 seconds (6 allocations: 672 bytes) 4.715073 seconds (185.42 k allocations: 11.614 MiB, 99.50% compilation time) 0.023186 seconds (6 allocations: 672 bytes) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 7.5s 3.306714 seconds (212.69 k allocations: 13.482 MiB, 99.15% compilation time) 0.025004 seconds (6 allocations: 672 bytes) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 3.8s allknn 2%|▉ | ETA: 0:03:17 allknn 100%|█████████████████████████████████████████████| Time: 0:00:05 ExhaustiveSearch allknn: 5.198964 seconds (1.92 M allocations: 127.431 MiB, 0.83% gc time, 99.97% compilation time) Test Summary: | Pass Total Time allknn | 1 1 5.3s 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: |Time HSP | None 5.5s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:45.290 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:24:45.894 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-02T18:24:47.193 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-02T18:24:48.225 LOG n.size quantiles:[1.0, 1.0, 2.0, 2.0, 2.0] [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:48.483 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000007, 0x00000008, 0x00000011, 0x00000016, 0x00000026, 0x0000002b, 0x00000038] D.nn = Int32[1, 2, 3, 3, 3, 3, 7, 8, 2, 3, 3, 7, 3, 7, 3, 3, 17, 17, 1, 8, 3, 22, 3, 8, 7, 22, 3, 22, 22, 3, 22, 8, 7, 3, 3, 7, 7, 38, 8, 17, 22, 22, 43, 3, 22, 3, 17, 7, 17, 8, 3, 3, 7, 2, 8, 56, 8, 7, 22, 3, 22, 7, 2, 43, 2, 22, 22, 3, 43, 22, 2, 2, 7, 3, 1, 38, 1, 3, 3, 3, 3, 3, 8, 22, 3, 38, 43, 22, 22, 22, 3, 3, 38, 38, 2, 3, 3, 17, 8, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.09940803, 0.018661082, 0.0071513057, 0.0, 0.0, 0.0069265366, 0.004559934, 0.053793967, 0.022885859, 0.05091417, 0.04871571, 0.029550195, 0.030410528, 0.0, 0.008929372, 0.05777687, 0.07764286, 0.041912854, 0.0, 0.01291126, 0.025765777, 0.06975001, 0.049372077, 0.004844129, 0.057364464, 0.02660507, 0.042479098, 0.00788784, 0.07821232, 0.0357157, 0.08770168, 0.0006196499, 0.04931748, 0.036719322, 0.0, 0.028907597, 0.00263834, 0.031608224, 0.07965881, 0.0, 0.04393184, 0.054703236, 0.0045626163, 0.051443756, 0.03015554, 0.03158158, 0.07868898, 0.0132754445, 0.07292831, 0.00941956, 0.046800792, 0.04114598, 0.0, 0.013315439, 0.0153589845, 0.014290273, 0.031175435, 0.06116754, 0.061473906, 0.0038675666, 0.03152114, 0.02181828, 0.014293373, 0.015489101, 0.060721457, 0.08538258, 0.0080215335, 0.03501767, 0.060447156, 0.021931708, 0.03569156, 0.05660093, 0.067542315, 0.026540935, 0.06819636, 0.015805483, 0.031814516, 0.014376819, 0.06531787, 0.046199918, 0.013072431, 0.011446476, 0.05657029, 0.035179734, 0.021204412, 0.052720904, 0.054969907, 0.03228897, 0.026272595, 0.014139712, 0.009234488, 0.076227844, 0.0048672557, 0.04032123, 0.047856987, 0.010573745, 0.09868467] Test Summary: | Pass Total Time neardup single block | 3 3 13.3s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:49.015 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:24:49.016 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-02T18:24:51.582 LOG add_vertex! sp=6 ep=7 n=5 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:24:51.582 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:51.583 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:51.583 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:51.583 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:51.583 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.143 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.143 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000007, 0x00000008, 0x00000011, 0x00000016, 0x00000026, 0x0000002b, 0x00000038] D.nn = Int32[1, 2, 3, 3, 3, 3, 7, 8, 2, 3, 3, 7, 3, 7, 3, 3, 17, 17, 1, 8, 3, 22, 3, 8, 7, 8, 3, 22, 3, 3, 3, 8, 7, 3, 3, 7, 7, 38, 8, 17, 22, 22, 43, 3, 22, 3, 17, 7, 17, 8, 3, 3, 7, 2, 8, 56, 8, 7, 22, 3, 22, 7, 2, 43, 2, 22, 22, 3, 43, 22, 2, 2, 7, 3, 1, 38, 1, 3, 3, 3, 3, 3, 8, 22, 3, 38, 43, 22, 22, 22, 3, 3, 38, 38, 2, 3, 3, 17, 8, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.09940803, 0.018661082, 0.0071513057, 0.0, 0.0, 0.0069265366, 0.004559934, 0.053793967, 0.022885859, 0.05091417, 0.04871571, 0.029550195, 0.030410528, 0.0, 0.008929372, 0.05777687, 0.07764286, 0.041912854, 0.0, 0.01291126, 0.025765777, 0.06975001, 0.05839461, 0.004844129, 0.057364464, 0.066675305, 0.042479098, 0.06707972, 0.07821232, 0.0357157, 0.08770168, 0.0006196499, 0.04931748, 0.036719322, 0.0, 0.028907597, 0.00263834, 0.031608224, 0.07965881, 0.0, 0.04393184, 0.054703236, 0.0045626163, 0.051443756, 0.03015554, 0.03158158, 0.07868898, 0.0132754445, 0.07292831, 0.00941956, 0.046800792, 0.04114598, 0.0, 0.013315439, 0.0153589845, 0.014290273, 0.031175435, 0.06116754, 0.061473906, 0.0038675666, 0.03152114, 0.02181828, 0.014293373, 0.015489101, 0.060721457, 0.08538258, 0.0080215335, 0.03501767, 0.060447156, 0.021931708, 0.03569156, 0.05660093, 0.067542315, 0.026540935, 0.06819636, 0.015805483, 0.031814516, 0.014376819, 0.06531787, 0.046199918, 0.013072431, 0.011446476, 0.05657029, 0.035179734, 0.021204412, 0.052720904, 0.054969907, 0.03228897, 0.026272595, 0.014139712, 0.009234488, 0.076227844, 0.0048672557, 0.04032123, 0.047856987, 0.010573745, 0.09868467] Test Summary: | Pass Total Time neardup small block | 3 3 3.1s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.236 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:24:52.236 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-02T18:24:52.236 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.236 [ Info: neardup> range: 49:64, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.237 [ Info: neardup> range: 65:80, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.237 [ Info: neardup> range: 81:96, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.237 [ Info: neardup> range: 97:100, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.237 [ Info: neardup> finished current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:52.237 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000012, 0x00000026, 0x00000038] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 18, 1, 13, 5, 13, 6, 8, 14, 13, 3, 14, 6, 13, 13, 8, 7, 11, 3, 11, 14, 38, 8, 18, 13, 14, 11, 12, 14, 3, 16, 7, 18, 8, 6, 14, 4, 2, 8, 56, 8, 4, 13, 5, 14, 14, 2, 11, 9, 13, 14, 16, 11, 14, 2, 2, 14, 5, 5, 38, 1, 10, 10, 15, 16, 5, 8, 13, 5, 38, 11, 13, 13, 13, 5, 5, 38, 38, 9, 10, 5, 18, 8, 16] 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.09335309, 0.0, 0.05777687, 0.042362094, 0.02198708, 0.040618062, 0.0012537241, 0.025765777, 0.004220605, 0.019348204, 0.004844129, 0.072514355, 0.03986031, 0.0014876723, 0.039574742, 0.07821232, 0.0357157, 0.014273226, 0.0006196499, 0.020890474, 0.017073274, 0.0, 0.028907597, 0.019209087, 0.029439509, 0.07516301, 0.022352159, 0.027940273, 0.07040542, 0.0045626163, 0.016749442, 0.03015554, 0.021781027, 0.07868898, 0.0021564364, 0.023769617, 0.0077396035, 0.046800792, 0.04114598, 0.0, 0.013315439, 0.007874608, 0.042052686, 0.011710703, 0.044068992, 0.013652325, 0.0038675666, 0.015259266, 0.013298154, 0.0954783, 0.062589765, 0.014153659, 0.09474701, 0.07521123, 0.03501767, 0.060447156, 0.014511883, 0.021507978, 0.04356259, 0.067542315, 0.026540935, 0.04018736, 0.013508737, 0.0014387965, 0.009905338, 0.018570662, 0.046199918, 0.020338356, 0.005464375, 0.05657029, 0.047674656, 0.010149479, 0.011926234, 0.0023106933, 0.008213341, 0.009591281, 0.014139712, 0.009234488, 0.046247482, 0.0014472008, 0.014174402, 0.058145344, 0.010573745, 0.023269892] 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-02T18:24:55.192 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=5 n=5 2026-02-02T18:24:55.435 [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:57.840 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=5 ep=7 n=7 2026-02-02T18:24:57.840 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:57.843 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:57.843 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:57.843 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:24:57.843 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:25:00.358 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-02-02T18:25:00.359 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000007, 0x00000008, 0x00000011, 0x00000016, 0x00000026, 0x0000002b, 0x00000038] D.nn = Int32[1, 2, 3, 3, 3, 3, 7, 8, 2, 3, 3, 7, 3, 7, 3, 3, 17, 17, 1, 8, 3, 22, 3, 8, 7, 8, 3, 22, 3, 3, 3, 8, 7, 3, 3, 7, 7, 38, 8, 17, 22, 22, 43, 3, 22, 3, 17, 7, 17, 8, 3, 3, 7, 2, 8, 56, 8, 7, 22, 3, 22, 7, 2, 43, 2, 22, 22, 3, 43, 22, 2, 2, 7, 3, 1, 38, 1, 3, 3, 3, 3, 3, 8, 22, 3, 38, 43, 22, 22, 22, 3, 3, 38, 38, 2, 3, 3, 17, 8, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.09940803, 0.018661082, 0.0071513057, 0.0, 0.0, 0.0069265366, 0.004559934, 0.053793967, 0.022885859, 0.05091417, 0.04871571, 0.029550195, 0.030410528, 0.0, 0.008929372, 0.05777687, 0.07764286, 0.041912854, 0.0, 0.01291126, 0.025765777, 0.06975001, 0.05839461, 0.004844129, 0.057364464, 0.066675305, 0.042479098, 0.06707972, 0.07821232, 0.0357157, 0.08770168, 0.0006196499, 0.04931748, 0.036719322, 0.0, 0.028907597, 0.00263834, 0.031608224, 0.07965881, 0.0, 0.04393184, 0.054703236, 0.0045626163, 0.051443756, 0.03015554, 0.03158158, 0.07868898, 0.0132754445, 0.07292831, 0.00941956, 0.046800792, 0.04114598, 0.0, 0.013315439, 0.0153589845, 0.014290273, 0.031175435, 0.06116754, 0.061473906, 0.0038675666, 0.03152114, 0.02181828, 0.014293373, 0.015489101, 0.060721457, 0.08538258, 0.0080215335, 0.03501767, 0.060447156, 0.021931708, 0.03569156, 0.05660093, 0.067542315, 0.026540935, 0.06819636, 0.015805483, 0.031814516, 0.014376819, 0.06531787, 0.046199918, 0.013072431, 0.011446476, 0.05657029, 0.035179734, 0.021204412, 0.052720904, 0.054969907, 0.03228897, 0.026272595, 0.014139712, 0.009234488, 0.076227844, 0.0048672557, 0.04032123, 0.047856987, 0.010573745, 0.09868467] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 8.1s computing farthest point 1, dmax: Inf, imax: 10, n: 30 computing farthest point 2, dmax: 0.92577374, imax: 28, n: 30 computing farthest point 3, dmax: 0.8079706, imax: 1, n: 30 computing farthest point 4, dmax: 0.7627197, imax: 20, n: 30 computing farthest point 5, dmax: 0.6707843, imax: 18, n: 30 computing farthest point 6, dmax: 0.6422841, imax: 9, n: 30 computing farthest point 7, dmax: 0.62719154, imax: 7, n: 30 computing farthest point 8, dmax: 0.5923965, imax: 6, n: 30 computing farthest point 9, dmax: 0.5281576, imax: 25, n: 30 computing farthest point 10, dmax: 0.49349147, imax: 24, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 1.3s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.0s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:25:08.735 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=5 ep=9 n=4 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:25:09.803 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=2, Δ=0.861678, maxvisits=114) 2026-02-02T18:25:20.250 LOG n.size quantiles:[4.0, 4.0, 4.0, 5.0, 5.0] (i, j, d) = (6, 249, -1.1920929f-7) (i, j, d, :parallel) = (6, 249, -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 => 11.574816453, :exact => 0.093058824) Test Summary: | Pass Total Time closestpair | 4 4 12.0s 6.557793 seconds (142.90 k allocations: 8.902 MiB, 2.89% gc time, 53.22% compilation time) SEARCH Exhaustive 1: 0.002322 seconds SEARCH Exhaustive 2: 0.002305 seconds SEARCH Exhaustive 3: 0.002682 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-02T18:25:37.494 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=5 ep=9 n=4 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:25:38.561 LOG n.size quantiles:[1.0, 2.0, 2.0, 2.0, 3.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=12, Δ=1.1287501, maxvisits=216) 2026-02-02T18:25:45.164 LOG n.size quantiles:[2.0, 4.0, 5.0, 5.0, 5.0] LOG add_vertex! sp=20850 ep=20854 n=20849 BeamSearch(bsize=12, Δ=1.1287501, maxvisits=428) 2026-02-02T18:25:46.164 LOG n.size quantiles:[5.0, 5.0, 6.0, 6.0, 7.0] LOG add_vertex! sp=34760 ep=34764 n=34759 BeamSearch(bsize=4, Δ=1.244447, maxvisits=560) 2026-02-02T18:25:47.164 LOG n.size quantiles:[5.0, 7.0, 8.0, 8.0, 9.0] LOG add_vertex! sp=46525 ep=46529 n=46524 BeamSearch(bsize=9, Δ=1.155, maxvisits=478) 2026-02-02T18:25:48.164 LOG n.size quantiles:[6.0, 6.0, 7.0, 9.0, 10.0] LOG add_vertex! sp=55580 ep=55584 n=55579 BeamSearch(bsize=9, Δ=1.155, maxvisits=478) 2026-02-02T18:25:49.164 LOG n.size quantiles:[4.0, 5.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=65665 ep=65669 n=65664 BeamSearch(bsize=14, Δ=1.2733874, maxvisits=494) 2026-02-02T18:25:50.164 LOG n.size quantiles:[4.0, 5.0, 6.0, 6.0, 8.0] LOG add_vertex! sp=75950 ep=75954 n=75949 BeamSearch(bsize=14, Δ=1.2733874, maxvisits=494) 2026-02-02T18:25:51.165 LOG n.size quantiles:[4.0, 5.0, 6.0, 8.0, 8.0] LOG add_vertex! sp=85225 ep=85229 n=85224 BeamSearch(bsize=8, Δ=1.1287501, maxvisits=476) 2026-02-02T18:25:52.241 LOG n.size quantiles:[4.0, 5.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=95880 ep=95884 n=95879 BeamSearch(bsize=8, Δ=1.1287501, maxvisits=476) 2026-02-02T18:25:53.242 LOG n.size quantiles:[5.0, 5.0, 8.0, 8.0, 8.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, 13.0, 15.0, 18.0, 23.0, 96.0] [ Info: minrecall: queries per second: 2448.387867455612, recall: 0.900875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=13, Δ=1.075, maxvisits=726)) 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, 13.0, 15.0, 18.0, 23.0, 96.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.14, maxvisits=568)), 1000, 8) [ Info: rebuild: queries per second: 18989.886176521246, recall: 0.90125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.14, maxvisits=568)) 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=9, Δ=1.09, maxvisits=732)), 1000, 8) 0.568230 seconds (61.30 k allocations: 3.820 MiB, 86.80% compilation time) [ Info: matrixhints: queries per second: 15427.159455598376, recall: 0.904375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=9, Δ=1.09, maxvisits=732)) 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, 13.0, 15.0, 18.0, 23.0, 96.0] 3.869921 seconds (129.83 k allocations: 7.336 MiB, 52.13% compilation time) SEARCH Exhaustive 1: 0.001878 seconds SEARCH Exhaustive 2: 0.001957 seconds SEARCH Exhaustive 3: 0.002320 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-02T18:26:43.583 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=5 ep=9 n=4 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-02-02T18:26:44.635 LOG n.size quantiles:[1.0, 2.0, 2.0, 2.0, 3.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=12, Δ=1.1287501, maxvisits=216) 2026-02-02T18:26:50.718 LOG n.size quantiles:[2.0, 4.0, 5.0, 5.0, 5.0] LOG add_vertex! sp=21970 ep=21974 n=21969 BeamSearch(bsize=12, Δ=1.1287501, maxvisits=428) 2026-02-02T18:26:51.718 LOG n.size quantiles:[4.0, 6.0, 7.0, 8.0, 9.0] LOG add_vertex! sp=37970 ep=37974 n=37969 BeamSearch(bsize=9, Δ=1.155, maxvisits=478) 2026-02-02T18:26:52.718 LOG n.size quantiles:[4.0, 6.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=54145 ep=54149 n=54144 BeamSearch(bsize=9, Δ=1.155, maxvisits=478) 2026-02-02T18:26:53.718 LOG n.size quantiles:[5.0, 6.0, 7.0, 7.0, 9.0] LOG add_vertex! sp=67095 ep=67099 n=67094 BeamSearch(bsize=14, Δ=1.2733874, maxvisits=494) 2026-02-02T18:26:54.718 LOG n.size quantiles:[6.0, 6.0, 9.0, 10.0, 10.0] LOG add_vertex! sp=79665 ep=79669 n=79664 BeamSearch(bsize=14, Δ=1.2733874, maxvisits=494) 2026-02-02T18:26:55.719 LOG n.size quantiles:[5.0, 6.0, 7.0, 8.0, 9.0] LOG add_vertex! sp=97445 ep=97449 n=97444 BeamSearch(bsize=8, Δ=1.1287501, maxvisits=476) 2026-02-02T18:26:56.730 LOG n.size quantiles:[4.0, 5.0, 7.0, 7.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, 13.0, 15.0, 18.0, 23.0, 96.0] [ Info: minrecall: queries per second: 2198.332435585661, recall: 0.900875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=13, Δ=1.075, maxvisits=726)) 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, 13.0, 15.0, 18.0, 23.0, 96.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.14, maxvisits=568)), 1000, 8) [ Info: rebuild: queries per second: 23980.026364600188, recall: 0.90125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=15, Δ=1.14, maxvisits=568)) 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=9, Δ=1.09, maxvisits=732)), 1000, 8) 0.579869 seconds (64.62 k allocations: 4.018 MiB, 91.79% compilation time) [ Info: matrixhints: queries per second: 20988.906166723234, recall: 0.904375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=9, Δ=1.09, maxvisits=732)) 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, 13.0, 15.0, 18.0, 23.0, 96.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 2m03.7s Testing SimilaritySearch tests passed Testing completed after 583.29s PkgEval succeeded after 633.4s