Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1589 (2d9a3f8a61*) started at 2026-01-21T09:19:18.449 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 10.7s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.13.7 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.43 [79e6a3ab] + Adapt v4.4.0 [4fba245c] + ArrayInterface v7.22.0 [62783981] + BitTwiddlingConvenienceFunctions v0.1.6 [2a0fbf3d] + CPUSummary v0.2.7 [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 [adafc99b] + CpuId v0.3.1 [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 [d96e819e] + Parameters v0.12.3 [f517fe37] + Polyester v0.7.18 [1d0040c9] + PolyesterWeave v0.2.2 [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.4.1 [053f045d] + SimilaritySearch v0.13.7 [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 [3a884ed6] + UnPack v1.0.2 [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.29+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.44s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 5125.4 ms ✓ SearchModels 8582.8 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 14 seconds. 88 already precompiled. Precompilation completed after 32.36s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_kigN4d/Project.toml` [7d9f7c33] Accessors v0.1.43 [4c88cf16] Aqua v0.8.14 [b4f34e82] Distances v0.10.12 [f517fe37] Polyester v0.7.18 [92933f4c] ProgressMeter v1.11.0 ⌅ [0e966ebe] SearchModels v0.4.1 [053f045d] SimilaritySearch v0.13.7 [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_kigN4d/Manifest.toml` [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.4.0 [4c88cf16] Aqua v0.8.14 [4fba245c] ArrayInterface v7.22.0 [62783981] BitTwiddlingConvenienceFunctions v0.1.6 [2a0fbf3d] CPUSummary v0.2.7 [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 [adafc99b] CpuId v0.3.1 [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 [d96e819e] Parameters v0.12.3 [f517fe37] Polyester v0.7.18 [1d0040c9] PolyesterWeave v0.2.2 [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.4.1 [053f045d] SimilaritySearch v0.13.7 [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 [3a884ed6] UnPack v1.0.2 [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.29+0 [458c3c95] OpenSSL_jll v3.5.4+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 | 56 56 11.2s Test Summary: | Pass Total Time heap | 16 16 0.1s Test Summary: | Pass Total Time KnnHeap | 30005 30005 3.7s Test Summary: | Pass Total Time XKnn | 25005 25005 2.4s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.2s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 5.874552 seconds (1000 allocations: 78.125 KiB) 5.902556 seconds (1000 allocations: 78.125 KiB) 4.284379 seconds (1000 allocations: 78.125 KiB) 4.324580 seconds (1000 allocations: 78.125 KiB) 4.079332 seconds (1000 allocations: 78.125 KiB) 4.189805 seconds (1000 allocations: 78.125 KiB) 4.058406 seconds (1000 allocations: 78.125 KiB) 4.182706 seconds (1000 allocations: 78.125 KiB) 14.400865 seconds (1000 allocations: 78.125 KiB) 14.126957 seconds (1000 allocations: 78.125 KiB) 26.963895 seconds (1000 allocations: 78.125 KiB) 27.513017 seconds (1000 allocations: 78.125 KiB) 18.939451 seconds (6.23 k allocations: 358.094 KiB) 20.469758 seconds (1000 allocations: 78.125 KiB) 17.022830 seconds (1.00 k allocations: 78.141 KiB) 17.110242 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 3m24.0s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 3.371397 seconds (1000 allocations: 78.125 KiB) 3.286108 seconds (1000 allocations: 78.125 KiB) 28.615362 seconds (1000 allocations: 78.125 KiB) 26.632212 seconds (1000 allocations: 78.125 KiB) 29.164810 seconds (1000 allocations: 78.125 KiB) 29.657947 seconds (1000 allocations: 78.125 KiB) 4.372472 seconds (1000 allocations: 78.125 KiB) 4.550922 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 2m13.8s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 8.928027 seconds (1000 allocations: 78.125 KiB) 9.253847 seconds (1000 allocations: 78.125 KiB) 10.278237 seconds (1000 allocations: 78.125 KiB) 10.308286 seconds (1000 allocations: 78.125 KiB) 10.163672 seconds (1000 allocations: 78.125 KiB) 10.242410 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 1m02.1s 0.044743 seconds (1.00 k allocations: 78.141 KiB) 0.044765 seconds (1000 allocations: 78.125 KiB) 0.050443 seconds (1000 allocations: 78.125 KiB) 0.050991 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 2.7s 0.055303 seconds (1000 allocations: 78.125 KiB) 0.057565 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 1.4s ExhaustiveSearch allknn: 4.598267 seconds (1.99 M allocations: 119.530 MiB, 6.28% gc time, 99.97% compilation time) ParallelExhaustiveSearch allknn: 1.235379 seconds (527.98 k allocations: 28.789 MiB, 99.90% compilation time) Test Summary: | Pass Total Time allknn | 3 3 6.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: | Total Time HSP | 0 2.8s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:50.794 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-21T09:27:51.042 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=2 ep=2 n=2 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-21T09:27:52.432 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:52.942 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000008, 0x00000009, 0x00000011, 0x00000012, 0x00000013, 0x00000064] D.nn = Int32[1, 2, 3, 4, 4, 4, 4, 8, 9, 8, 2, 8, 9, 2, 8, 4, 17, 18, 19, 4, 4, 1, 9, 2, 4, 9, 4, 8, 4, 17, 9, 9, 4, 4, 4, 8, 17, 8, 2, 17, 8, 3, 9, 19, 2, 4, 2, 9, 2, 4, 9, 9, 2, 4, 4, 8, 17, 1, 8, 17, 17, 9, 2, 19, 3, 4, 9, 19, 8, 4, 4, 4, 8, 1, 18, 3, 9, 9, 3, 9, 1, 4, 4, 9, 18, 4, 4, 18, 9, 9, 19, 3, 9, 18, 8, 4, 19, 9, 4, 100] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.059660137, 0.09209198, 0.048123837, 0.0, 0.0, 0.03586924, 0.027543247, 0.08060807, 0.05632949, 0.0022184849, 0.072457075, 0.034837425, 0.0, 0.0, 0.0, 0.032059193, 0.06330156, 0.04423535, 0.06913465, 0.04161471, 0.015614808, 0.062354445, 0.043544352, 0.06089449, 0.06671798, 0.0065672994, 0.046910286, 0.04240793, 0.048225462, 0.03905052, 0.03085363, 0.06835514, 0.0025804043, 0.033513308, 0.024778247, 0.09061819, 0.031861126, 0.022268772, 0.019160211, 0.081808865, 0.020970285, 0.039489686, 0.06163788, 0.044409096, 0.05158782, 0.0653469, 0.039040983, 0.010188401, 0.012771368, 0.0107498765, 0.06353128, 0.045383453, 0.010458589, 0.06497109, 0.011582494, 0.00516963, 0.042554855, 0.027277768, 0.02779305, 0.060699105, 0.019402742, 0.08592504, 0.03832537, 0.024186313, 0.019248486, 0.07865685, 0.0454095, 0.010256529, 0.09330517, 0.049711883, 0.02715981, 0.012305737, 0.09066117, 0.024805248, 0.025649905, 0.03860265, 0.04704696, 0.04444909, 0.023947, 0.017458439, 0.034663737, 0.04681319, 0.027388036, 0.011396468, 0.074896574, 0.020249367, 0.08864319, 0.054310977, 0.045748115, 0.033926904, 0.03846228, 0.019546926, 0.026545584, 0.05158162, 0.01907438, 0.0] Test Summary: | Pass Total Time neardup single block | 3 3 18.5s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.058 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-21T09:27:54.058 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-01-21T09:27:54.058 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.058 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.058 [ Info: neardup> range: 65:80, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.058 [ Info: neardup> range: 81:96, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.059 [ Info: neardup> range: 97:100, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.059 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.059 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000008, 0x00000009, 0x00000011, 0x00000012, 0x00000013, 0x00000064] D.nn = Int32[1, 2, 3, 4, 4, 4, 4, 8, 9, 8, 2, 8, 9, 2, 8, 4, 17, 18, 19, 4, 4, 1, 9, 2, 4, 9, 4, 8, 4, 8, 9, 9, 4, 4, 4, 8, 17, 8, 2, 17, 8, 3, 9, 19, 2, 4, 2, 9, 2, 4, 9, 9, 2, 4, 4, 8, 17, 1, 8, 17, 17, 9, 2, 19, 3, 4, 9, 19, 8, 4, 4, 4, 8, 1, 18, 3, 9, 9, 3, 9, 1, 4, 4, 9, 18, 4, 4, 18, 9, 9, 19, 3, 9, 18, 8, 4, 19, 9, 4, 100] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.059660137, 0.09209198, 0.048123837, 0.0, 0.0, 0.03586924, 0.027543247, 0.08060807, 0.05632949, 0.0022184849, 0.072457075, 0.034837425, 0.0, 0.0, 0.0, 0.032059193, 0.06330156, 0.04423535, 0.06913465, 0.04161471, 0.015614808, 0.062354445, 0.043544352, 0.06089449, 0.06671798, 0.072271645, 0.046910286, 0.04240793, 0.048225462, 0.03905052, 0.03085363, 0.06835514, 0.0025804043, 0.033513308, 0.024778247, 0.09061819, 0.031861126, 0.022268772, 0.019160211, 0.081808865, 0.020970285, 0.039489686, 0.06163788, 0.044409096, 0.05158782, 0.0653469, 0.039040983, 0.010188401, 0.012771368, 0.0107498765, 0.06353128, 0.045383453, 0.010458589, 0.06497109, 0.011582494, 0.00516963, 0.042554855, 0.027277768, 0.02779305, 0.060699105, 0.019402742, 0.08592504, 0.03832537, 0.024186313, 0.019248486, 0.07865685, 0.0454095, 0.010256529, 0.09330517, 0.049711883, 0.02715981, 0.012305737, 0.09066117, 0.024805248, 0.025649905, 0.03860265, 0.04704696, 0.04444909, 0.023947, 0.017458439, 0.034663737, 0.04681319, 0.027388036, 0.011396468, 0.074896574, 0.020249367, 0.08864319, 0.054310977, 0.045748115, 0.033926904, 0.03846228, 0.019546926, 0.026545584, 0.05158162, 0.01907438, 0.0] Test Summary: | Pass Total Time neardup small block | 3 3 0.0s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.139 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-21T09:27:54.139 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-01-21T09:27:54.140 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.140 [ Info: neardup> range: 49:64, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.140 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.140 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.140 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.140 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:27:54.140 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000012, 0x00000025] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 7, 18, 6, 4, 7, 1, 13, 5, 4, 13, 5, 10, 16, 10, 9, 15, 7, 16, 16, 6, 37, 15, 2, 13, 8, 3, 9, 16, 2, 16, 5, 7, 15, 5, 9, 9, 2, 4, 11, 15, 37, 10, 8, 37, 37, 9, 15, 6, 3, 11, 7, 6, 8, 5, 4, 4, 12, 7, 18, 3, 13, 13, 3, 7, 1, 16, 16, 9, 18, 5, 7, 18, 13, 9, 5, 3, 7, 18, 15, 4, 5, 13, 7, 13] 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.09848851, 0.0, 0.07561189, 0.032059193, 0.059187174, 0.04423535, 0.045641124, 0.039628386, 0.015614808, 0.021264791, 0.0019105673, 0.02076596, 0.046614826, 0.056992054, 0.046910286, 0.040923536, 0.008182228, 0.016060233, 0.010286212, 0.023626328, 0.0, 0.026397765, 0.024778247, 0.022320986, 0.031861126, 0.022268772, 0.019160211, 0.08402848, 0.020970285, 0.018299878, 0.007961154, 0.006548345, 0.009813368, 0.020306349, 0.039040983, 0.010188401, 0.012771368, 0.0107498765, 0.037058532, 0.0042595863, 0.022941232, 0.027188301, 0.011582494, 0.014626443, 0.029450059, 0.027277768, 0.022172809, 0.011095345, 0.019402742, 0.045574367, 0.014664292, 0.024831712, 0.019248486, 0.009322166, 0.0454095, 0.010256529, 0.025963902, 0.011513233, 0.02715981, 0.012305737, 0.01764226, 0.007345259, 0.025649905, 0.018886209, 0.04704696, 0.0038953424, 0.0147694945, 0.017458439, 0.034663737, 0.043147206, 0.013366342, 0.011396468, 0.012514055, 0.020249367, 0.061083674, 0.054310977, 0.006272137, 0.033926904, 0.006072104, 0.019546926, 0.04371339, 0.0074398518, 0.014064372, 0.05749464] 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-01-21T09:28:01.147 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=6 n=6 2026-01-21T09:28:01.147 [ Info: neardup> range: 17:32, current elements: 6, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:28:01.151 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:28:01.152 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:28:01.152 [ Info: neardup> range: 65:80, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:28:01.152 [ Info: neardup> range: 81:96, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:28:01.152 [ Info: neardup> range: 97:100, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:28:01.152 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-21T09:28:01.152 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000008, 0x00000009, 0x00000011, 0x00000012, 0x00000013, 0x00000064] D.nn = Int32[1, 2, 3, 4, 4, 4, 4, 8, 9, 8, 2, 8, 9, 2, 8, 4, 17, 18, 19, 4, 4, 1, 9, 2, 4, 9, 4, 8, 4, 8, 9, 9, 4, 4, 4, 8, 17, 8, 2, 17, 8, 3, 9, 19, 2, 4, 2, 9, 2, 4, 9, 9, 2, 4, 4, 8, 17, 1, 8, 17, 17, 9, 2, 19, 3, 4, 9, 19, 8, 4, 4, 4, 8, 1, 18, 3, 9, 9, 3, 9, 1, 4, 4, 9, 18, 4, 4, 18, 9, 9, 19, 3, 9, 18, 8, 4, 19, 9, 4, 100] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.059660137, 0.09209198, 0.048123837, 0.0, 0.0, 0.03586924, 0.027543247, 0.08060807, 0.05632949, 0.0022184849, 0.072457075, 0.034837425, 0.0, 0.0, 0.0, 0.032059193, 0.06330156, 0.04423535, 0.06913465, 0.04161471, 0.015614808, 0.062354445, 0.043544352, 0.06089449, 0.06671798, 0.072271645, 0.046910286, 0.04240793, 0.048225462, 0.03905052, 0.03085363, 0.06835514, 0.0025804043, 0.033513308, 0.024778247, 0.09061819, 0.031861126, 0.022268772, 0.019160211, 0.081808865, 0.020970285, 0.039489686, 0.06163788, 0.044409096, 0.05158782, 0.0653469, 0.039040983, 0.010188401, 0.012771368, 0.0107498765, 0.06353128, 0.045383453, 0.010458589, 0.06497109, 0.011582494, 0.00516963, 0.042554855, 0.027277768, 0.02779305, 0.060699105, 0.019402742, 0.08592504, 0.03832537, 0.024186313, 0.019248486, 0.07865685, 0.0454095, 0.010256529, 0.09330517, 0.049711883, 0.02715981, 0.012305737, 0.09066117, 0.024805248, 0.025649905, 0.03860265, 0.04704696, 0.04444909, 0.023947, 0.017458439, 0.034663737, 0.04681319, 0.027388036, 0.011396468, 0.074896574, 0.020249367, 0.08864319, 0.054310977, 0.045748115, 0.033926904, 0.03846228, 0.019546926, 0.026545584, 0.05158162, 0.01907438, 0.0] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 7.0s computing farthest point 1, dmax: Inf, imax: 19, n: 30 computing farthest point 2, dmax: 1.3156774, imax: 21, n: 30 computing farthest point 3, dmax: 1.1116691, imax: 22, n: 30 computing farthest point 4, dmax: 0.88477224, imax: 15, n: 30 computing farthest point 5, dmax: 0.77186495, imax: 18, n: 30 computing farthest point 6, dmax: 0.74208087, imax: 24, n: 30 computing farthest point 7, dmax: 0.7050345, imax: 9, n: 30 computing farthest point 8, dmax: 0.678798, imax: 13, n: 30 computing farthest point 9, dmax: 0.655386, imax: 8, n: 30 computing farthest point 10, dmax: 0.601056, imax: 30, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 1.4s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.5s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-21T09:28:09.194 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch BeamSearch(bsize=2, Δ=0.97619045, maxvisits=112) 2026-01-21T09:28:20.830 LOG n.size quantiles:[3.0, 4.0, 4.0, 4.0, 4.0] (i, j, d) = (13, 428, -2.3841858f-7) (i, j, d, :parallel) = (13, 428, -2.3841858f-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 => 19.227616459, :exact => 0.97845887) Test Summary: | Pass Total Time closestpair | 4 4 20.7s 6.009363 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.004791 seconds SEARCH Exhaustive 2: 0.004907 seconds SEARCH Exhaustive 3: 0.005668 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 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-21T09:28:48.456 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch BeamSearch(bsize=5, Δ=1.4039096, maxvisits=242) 2026-01-21T09:28:54.423 LOG n.size quantiles:[2.0, 4.0, 5.0, 5.0, 6.0] LOG add_vertex! sp=18190 ep=18194 n=18189 BeamSearch BeamSearch(bsize=8, Δ=1.075, maxvisits=376) 2026-01-21T09:28:55.423 LOG n.size quantiles:[2.0, 5.0, 7.0, 7.0, 10.0] LOG add_vertex! sp=31815 ep=31819 n=31814 BeamSearch BeamSearch(bsize=13, Δ=1.2733874, maxvisits=614) 2026-01-21T09:28:56.423 LOG n.size quantiles:[5.0, 6.0, 7.0, 8.0, 10.0] LOG add_vertex! sp=42805 ep=42809 n=42804 BeamSearch BeamSearch(bsize=18, Δ=1.1287501, maxvisits=418) 2026-01-21T09:28:57.423 LOG n.size quantiles:[6.0, 6.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=55035 ep=55039 n=55034 BeamSearch BeamSearch(bsize=18, Δ=1.1287501, maxvisits=418) 2026-01-21T09:28:58.423 LOG n.size quantiles:[4.0, 5.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=65510 ep=65514 n=65509 BeamSearch BeamSearch(bsize=6, Δ=1.0, maxvisits=468) 2026-01-21T09:28:59.424 LOG n.size quantiles:[5.0, 6.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=76655 ep=76659 n=76654 BeamSearch BeamSearch(bsize=6, Δ=1.0, maxvisits=468) 2026-01-21T09:29:00.424 LOG n.size quantiles:[5.0, 7.0, 8.0, 8.0, 8.0] LOG add_vertex! sp=85250 ep=85254 n=85249 BeamSearch BeamSearch(bsize=16, Δ=1.05, maxvisits=436) 2026-01-21T09:29:01.425 LOG n.size quantiles:[7.0, 7.0, 7.0, 8.0, 10.0] LOG add_vertex! sp=95240 ep=95244 n=95239 BeamSearch BeamSearch(bsize=16, Δ=1.05, maxvisits=436) 2026-01-21T09:29:02.425 LOG n.size quantiles:[4.0, 5.0, 8.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, 15.0, 18.0, 23.0, 83.0] [ Info: minrecall: queries per second: 14249.115026650761, recall: 0.908125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.1851876, maxvisits=768)) 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, 15.0, 18.0, 23.0, 83.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=15, Δ=1.16, maxvisits=592)), 1000, 8) [ Info: rebuild: queries per second: 15214.327271133918, recall: 0.89925 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=15, Δ=1.16, maxvisits=592)) 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, 32.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.15, maxvisits=768)), 1000, 8) 1.613458 seconds (496.51 k allocations: 28.658 MiB, 95.34% compilation time) [ Info: matrixhints: queries per second: 13666.364599009936, recall: 0.900375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.15, maxvisits=768)) 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, 15.0, 18.0, 23.0, 83.0] 2.263966 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.002573 seconds SEARCH Exhaustive 2: 0.002603 seconds SEARCH Exhaustive 3: 0.002856 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 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-21T09:30:15.737 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch BeamSearch(bsize=5, Δ=1.4039096, maxvisits=242) 2026-01-21T09:30:21.227 LOG n.size quantiles:[2.0, 4.0, 5.0, 5.0, 6.0] LOG add_vertex! sp=22760 ep=22764 n=22759 BeamSearch BeamSearch(bsize=8, Δ=1.075, maxvisits=376) 2026-01-21T09:30:22.227 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=37675 ep=37679 n=37674 BeamSearch BeamSearch(bsize=13, Δ=1.2733874, maxvisits=614) 2026-01-21T09:30:23.227 LOG n.size quantiles:[5.0, 9.0, 9.0, 9.0, 10.0] LOG add_vertex! sp=50080 ep=50084 n=50079 BeamSearch BeamSearch(bsize=18, Δ=1.1287501, maxvisits=418) 2026-01-21T09:30:24.227 LOG n.size quantiles:[5.0, 7.0, 7.0, 9.0, 11.0] LOG add_vertex! sp=61850 ep=61854 n=61849 BeamSearch BeamSearch(bsize=6, Δ=1.0, maxvisits=468) 2026-01-21T09:30:25.227 LOG n.size quantiles:[6.0, 6.0, 6.0, 8.0, 8.0] LOG add_vertex! sp=74365 ep=74369 n=74364 BeamSearch BeamSearch(bsize=6, Δ=1.0, maxvisits=468) 2026-01-21T09:30:26.228 LOG n.size quantiles:[3.0, 4.0, 7.0, 7.0, 9.0] LOG add_vertex! sp=85225 ep=85229 n=85224 BeamSearch BeamSearch(bsize=16, Δ=1.05, maxvisits=436) 2026-01-21T09:30:27.230 LOG n.size quantiles:[3.0, 4.0, 6.0, 7.0, 9.0] LOG add_vertex! sp=96790 ep=96794 n=96789 BeamSearch BeamSearch(bsize=16, Δ=1.05, maxvisits=436) 2026-01-21T09:30:28.231 LOG n.size quantiles:[4.0, 6.0, 6.0, 6.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, 15.0, 18.0, 23.0, 83.0] [ Info: minrecall: queries per second: 14025.067227055993, recall: 0.908125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.1851876, maxvisits=768)) 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, 15.0, 18.0, 23.0, 83.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=15, Δ=1.16, maxvisits=592)), 1000, 8) [ Info: rebuild: queries per second: 16593.76582837838, recall: 0.89925 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=15, Δ=1.16, maxvisits=592)) 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, 32.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.15, maxvisits=768)), 1000, 8) 1.475613 seconds (460.10 k allocations: 26.638 MiB, 4.10% gc time, 97.21% compilation time) [ Info: matrixhints: queries per second: 23500.380776669725, recall: 0.900375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.15, maxvisits=768)) 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, 15.0, 18.0, 23.0, 83.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 2m45.0s Testing SimilaritySearch tests passed Testing completed after 659.86s PkgEval succeeded after 718.92s