Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1584 (ac5fadde9b*) started at 2026-01-18T17:50:41.739 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 10.66s ################################################################################ # 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.47s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 5558.8 ms ✓ SearchModels 10099.2 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 17 seconds. 88 already precompiled. Precompilation completed after 34.72s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_hdZlhV/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_hdZlhV/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 9.1s Test Summary: | Pass Total Time heap | 16 16 0.1s Test Summary: | Pass Total Time KnnHeap | 30005 30005 2.7s Test Summary: | Pass Total Time XKnn | 25005 25005 1.8s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 0.8s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 2.547783 seconds (1000 allocations: 78.125 KiB) 2.873858 seconds (1000 allocations: 78.125 KiB) 2.125915 seconds (1000 allocations: 78.125 KiB) 2.008693 seconds (1000 allocations: 78.125 KiB) 1.885040 seconds (1000 allocations: 78.125 KiB) 1.838615 seconds (1000 allocations: 78.125 KiB) 1.651309 seconds (1000 allocations: 78.125 KiB) 1.092806 seconds (1000 allocations: 78.125 KiB) 9.679793 seconds (1000 allocations: 78.125 KiB) 10.702400 seconds (1000 allocations: 78.125 KiB) 22.589367 seconds (1000 allocations: 78.125 KiB) 22.909470 seconds (1000 allocations: 78.125 KiB) 14.812179 seconds (6.23 k allocations: 358.094 KiB) 14.350115 seconds (1000 allocations: 78.125 KiB) 11.246795 seconds (1.00 k allocations: 78.141 KiB) 11.187170 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 2m22.0s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 2.303224 seconds (1000 allocations: 78.125 KiB) 2.260228 seconds (1000 allocations: 78.125 KiB) 16.219584 seconds (1000 allocations: 78.125 KiB) 15.485486 seconds (1000 allocations: 78.125 KiB) 15.588504 seconds (1000 allocations: 78.125 KiB) 14.994259 seconds (1000 allocations: 78.125 KiB) 2.515591 seconds (1000 allocations: 78.125 KiB) 2.528189 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 1m14.7s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 8.915986 seconds (1000 allocations: 78.125 KiB) 8.602368 seconds (1000 allocations: 78.125 KiB) 8.593084 seconds (1000 allocations: 78.125 KiB) 8.358968 seconds (1000 allocations: 78.125 KiB) 8.896162 seconds (1000 allocations: 78.125 KiB) 8.494831 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 54.5s 0.041331 seconds (1.00 k allocations: 78.141 KiB) 0.041649 seconds (1000 allocations: 78.125 KiB) 0.022871 seconds (1000 allocations: 78.125 KiB) 0.019784 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 1.8s 0.021620 seconds (1000 allocations: 78.125 KiB) 0.021428 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 1.0s ExhaustiveSearch allknn: 3.502503 seconds (1.99 M allocations: 119.646 MiB, 1.38% gc time, 99.98% compilation time) ParallelExhaustiveSearch allknn: 0.952209 seconds (527.95 k allocations: 28.787 MiB, 99.90% compilation time) Test Summary: | Pass Total Time allknn | 3 3 4.9s quantile(length.(hsp_knns), 0:0.1:1) = [2.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 5.0] Test Summary: | Total Time HSP | 0 2.3s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:15.829 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-18T17:57:16.037 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-18T17:57:17.251 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:17.538 D.map = UInt32[0x00000001, 0x00000003, 0x00000004, 0x00000007, 0x0000000a, 0x00000011, 0x00000017, 0x00000026, 0x00000042, 0x00000049, 0x00000059] D.nn = Int32[1, 1, 3, 4, 4, 3, 7, 1, 3, 10, 4, 10, 4, 4, 10, 3, 17, 1, 17, 1, 1, 4, 23, 17, 23, 10, 10, 7, 10, 23, 4, 1, 4, 4, 4, 4, 4, 38, 10, 38, 10, 23, 10, 17, 4, 4, 7, 4, 3, 1, 23, 4, 38, 4, 38, 4, 38, 4, 4, 23, 17, 4, 10, 3, 23, 66, 7, 23, 4, 66, 66, 3, 73, 23, 7, 73, 4, 17, 4, 4, 66, 4, 4, 4, 3, 4, 4, 7, 89, 4, 23, 1, 4, 4, 10, 73, 3, 3, 10, 4] D.dist = Float32[0.0, 0.06723571, 0.0, 0.0, 0.09451872, 0.0747962, 0.0, 0.00893271, 0.013446271, 0.0, 0.010818005, 0.07546568, 0.029723108, 0.021435142, 0.018357754, 0.04230964, 0.0, 0.08646935, 0.051376343, 0.029405951, 0.04151094, 0.029173195, 0.0, 0.017564893, 0.090281725, 0.06745803, 0.0129291415, 0.07804984, 0.08615184, 0.09865391, 0.02155894, 0.06743199, 0.09340149, 0.05720234, 0.08120239, 0.038251877, 0.06763852, 0.0, 0.00494349, 0.032017887, 0.017299652, 0.009254336, 0.010934651, 0.064421654, 0.055103123, 0.05810386, 0.03127992, 0.027225852, 0.056759596, 0.06603223, 0.03244573, 0.03177756, 0.028315961, 0.05334133, 0.006834805, 0.033136904, 0.051135242, 0.017868161, 0.013116598, 0.05298865, 0.012833536, 0.046263635, 0.08100599, 0.026295543, 0.088458896, 0.0, 0.004123211, 0.01677674, 0.031654775, 0.04732728, 0.012882054, 0.021430194, 0.0, 0.049934447, 0.069692075, 0.06764066, 0.0024133325, 0.038506627, 0.012067914, 0.0078523755, 0.030217052, 0.032624364, 0.040100336, 0.04112053, 0.048425138, 0.075040996, 0.065507054, 0.01754409, 0.0, 0.023615837, 0.024079442, 0.0075191855, 0.0057640076, 0.0627048, 0.07173896, 0.011650264, 0.063678026, 0.02102226, 0.030690312, 0.038538277] Test Summary: | Pass Total Time neardup single block | 3 3 13.4s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.436 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-18T17:57:18.436 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-01-18T17:57:18.437 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.437 [ Info: neardup> range: 49:64, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.437 [ Info: neardup> range: 65:80, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.438 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.438 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.438 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.438 D.map = UInt32[0x00000001, 0x00000003, 0x00000004, 0x00000007, 0x0000000a, 0x00000011, 0x00000017, 0x00000026, 0x00000042, 0x00000049, 0x00000059] D.nn = Int32[1, 1, 3, 4, 4, 3, 7, 1, 3, 10, 4, 10, 4, 4, 10, 3, 17, 1, 10, 1, 1, 4, 23, 1, 23, 10, 10, 7, 10, 23, 4, 1, 4, 4, 4, 4, 4, 38, 10, 1, 10, 23, 10, 17, 4, 4, 7, 4, 3, 1, 23, 4, 38, 4, 38, 4, 38, 4, 4, 23, 17, 4, 10, 3, 23, 66, 7, 23, 4, 4, 66, 3, 73, 23, 7, 7, 4, 17, 4, 4, 66, 4, 4, 4, 3, 4, 4, 7, 89, 4, 23, 1, 4, 4, 10, 73, 3, 3, 10, 4] D.dist = Float32[0.0, 0.06723571, 0.0, 0.0, 0.09451872, 0.0747962, 0.0, 0.00893271, 0.013446271, 0.0, 0.010818005, 0.07546568, 0.029723108, 0.021435142, 0.018357754, 0.04230964, 0.0, 0.08646935, 0.08568561, 0.029405951, 0.04151094, 0.029173195, 0.0, 0.060943723, 0.090281725, 0.06745803, 0.0129291415, 0.07804984, 0.08615184, 0.09865391, 0.02155894, 0.06743199, 0.09340149, 0.05720234, 0.08120239, 0.038251877, 0.06763852, 0.0, 0.00494349, 0.09315646, 0.017299652, 0.009254336, 0.010934651, 0.064421654, 0.055103123, 0.05810386, 0.03127992, 0.027225852, 0.056759596, 0.06603223, 0.03244573, 0.03177756, 0.028315961, 0.05334133, 0.006834805, 0.033136904, 0.051135242, 0.017868161, 0.013116598, 0.05298865, 0.012833536, 0.046263635, 0.08100599, 0.026295543, 0.088458896, 0.0, 0.004123211, 0.01677674, 0.031654775, 0.05252385, 0.012882054, 0.021430194, 0.0, 0.049934447, 0.069692075, 0.07134873, 0.0024133325, 0.038506627, 0.012067914, 0.0078523755, 0.030217052, 0.032624364, 0.040100336, 0.04112053, 0.048425138, 0.075040996, 0.065507054, 0.01754409, 0.0, 0.023615837, 0.024079442, 0.0075191855, 0.0057640076, 0.0627048, 0.07173896, 0.011650264, 0.063678026, 0.02102226, 0.030690312, 0.038538277] 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-18T17:57:18.508 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-18T17:57:18.508 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-18T17:57:18.509 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.509 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.509 [ Info: neardup> range: 65:80, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.509 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.509 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.509 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:18.509 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x0000001e, 0x00000049] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 12, 1, 15, 8, 1, 4, 5, 8, 5, 14, 10, 7, 6, 30, 2, 1, 11, 30, 11, 16, 2, 30, 10, 30, 15, 5, 10, 7, 16, 14, 7, 11, 14, 8, 5, 13, 30, 2, 30, 13, 13, 13, 11, 30, 12, 2, 5, 3, 5, 13, 7, 5, 4, 13, 13, 9, 73, 5, 2, 11, 4, 8, 11, 4, 13, 13, 4, 13, 3, 5, 11, 7, 13, 4, 15, 8, 4, 2, 14, 73, 9, 16, 6, 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.024089456, 0.08646935, 0.065524995, 0.0065051913, 0.04151094, 0.029173195, 0.09227812, 0.046451867, 0.07618302, 0.025784016, 0.0129291415, 0.07804984, 0.011423349, 0.0, 0.0018663406, 0.06743199, 0.056367338, 0.040784836, 0.059200227, 0.016566813, 0.013471484, 0.010082543, 0.00494349, 0.028140604, 0.007639706, 0.085624635, 0.010934651, 0.06443542, 0.008650839, 0.015562475, 0.03127992, 0.0044044256, 0.02418977, 0.05714929, 0.034500778, 0.0028426647, 0.06378323, 0.014411449, 0.031712294, 0.0017294884, 0.036453128, 0.0149924755, 0.006498456, 0.03587681, 0.015549481, 0.0037085414, 0.004008949, 0.026295543, 0.056469977, 0.057887018, 0.004123211, 0.033310235, 0.031654775, 0.024462521, 0.050882578, 0.0024499893, 0.0, 0.014045775, 0.025037467, 0.03332889, 0.0024133325, 0.06531161, 0.008295238, 0.0078523755, 0.022528231, 0.012315929, 0.040100336, 0.006946087, 0.048425138, 0.040971458, 0.040492177, 0.01754409, 0.08768809, 0.023615837, 0.08114189, 0.004963696, 0.0057640076, 0.020930052, 0.023457885, 0.011650264, 0.030521631, 0.0038055182, 0.02316767, 0.017092645] 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-18T17:57:24.340 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=5 n=5 2026-01-18T17:57:24.340 [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:24.346 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:24.346 [ Info: neardup> range: 49:64, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:24.346 [ Info: neardup> range: 65:80, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:24.346 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:24.346 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:24.346 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-18T17:57:24.346 D.map = UInt32[0x00000001, 0x00000003, 0x00000004, 0x00000007, 0x0000000a, 0x00000011, 0x00000017, 0x00000026, 0x00000042, 0x00000049, 0x00000059] D.nn = Int32[1, 1, 3, 4, 4, 3, 7, 1, 3, 10, 4, 10, 4, 4, 10, 3, 17, 1, 10, 1, 1, 4, 23, 1, 23, 10, 10, 7, 10, 23, 4, 1, 4, 4, 4, 4, 4, 38, 10, 1, 10, 23, 10, 17, 4, 4, 7, 4, 3, 1, 23, 4, 38, 4, 38, 4, 38, 4, 4, 23, 17, 4, 10, 3, 23, 66, 7, 23, 4, 4, 66, 3, 73, 23, 7, 7, 4, 17, 4, 4, 66, 4, 4, 4, 3, 4, 4, 7, 89, 4, 23, 1, 4, 4, 10, 73, 3, 3, 10, 4] D.dist = Float32[0.0, 0.06723571, 0.0, 0.0, 0.09451872, 0.0747962, 0.0, 0.00893271, 0.013446271, 0.0, 0.010818005, 0.07546568, 0.029723108, 0.021435142, 0.018357754, 0.04230964, 0.0, 0.08646935, 0.08568561, 0.029405951, 0.04151094, 0.029173195, 0.0, 0.060943723, 0.090281725, 0.06745803, 0.0129291415, 0.07804984, 0.08615184, 0.09865391, 0.02155894, 0.06743199, 0.09340149, 0.05720234, 0.08120239, 0.038251877, 0.06763852, 0.0, 0.00494349, 0.09315646, 0.017299652, 0.009254336, 0.010934651, 0.064421654, 0.055103123, 0.05810386, 0.03127992, 0.027225852, 0.056759596, 0.06603223, 0.03244573, 0.03177756, 0.028315961, 0.05334133, 0.006834805, 0.033136904, 0.051135242, 0.017868161, 0.013116598, 0.05298865, 0.012833536, 0.046263635, 0.08100599, 0.026295543, 0.088458896, 0.0, 0.004123211, 0.01677674, 0.031654775, 0.05252385, 0.012882054, 0.021430194, 0.0, 0.049934447, 0.069692075, 0.07134873, 0.0024133325, 0.038506627, 0.012067914, 0.0078523755, 0.030217052, 0.032624364, 0.040100336, 0.04112053, 0.048425138, 0.075040996, 0.065507054, 0.01754409, 0.0, 0.023615837, 0.024079442, 0.0075191855, 0.0057640076, 0.0627048, 0.07173896, 0.011650264, 0.063678026, 0.02102226, 0.030690312, 0.038538277] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 5.8s computing farthest point 1, dmax: Inf, imax: 23, n: 30 computing farthest point 2, dmax: 1.239723, imax: 7, n: 30 computing farthest point 3, dmax: 0.9867531, imax: 10, n: 30 computing farthest point 4, dmax: 0.9679708, imax: 18, n: 30 computing farthest point 5, dmax: 0.94090796, imax: 4, n: 30 computing farthest point 6, dmax: 0.85580724, imax: 24, n: 30 computing farthest point 7, dmax: 0.73449963, imax: 9, n: 30 computing farthest point 8, dmax: 0.66242296, imax: 12, n: 30 computing farthest point 9, dmax: 0.56410325, imax: 26, n: 30 computing farthest point 10, dmax: 0.53830886, imax: 20, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 1.1s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.4s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-18T17:57:30.152 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=10, Δ=0.975, maxvisits=116) 2026-01-18T17:57:38.639 LOG n.size quantiles:[3.0, 4.0, 4.0, 5.0, 5.0] (i, j, d) = (1, 23, -1.1920929f-7) (i, j, d, :parallel) = (1, 23, -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 => 13.221758172, :exact => 0.735548723) Test Summary: | Pass Total Time closestpair | 4 4 14.5s 2.310669 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.001656 seconds SEARCH Exhaustive 2: 0.001654 seconds SEARCH Exhaustive 3: 0.001656 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-18T17:57:54.401 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=8, Δ=1.3370568, maxvisits=236) 2026-01-18T17:57:58.671 LOG n.size quantiles:[4.0, 6.0, 7.0, 7.0, 7.0] LOG add_vertex! sp=27015 ep=27019 n=27014 BeamSearch BeamSearch(bsize=12, Δ=1.155, maxvisits=422) 2026-01-18T17:57:59.671 LOG n.size quantiles:[6.0, 7.0, 8.0, 8.0, 10.0] LOG add_vertex! sp=45535 ep=45539 n=45534 BeamSearch BeamSearch(bsize=12, Δ=1.1, maxvisits=380) 2026-01-18T17:58:00.671 LOG n.size quantiles:[6.0, 6.0, 8.0, 10.0, 10.0] LOG add_vertex! sp=60605 ep=60609 n=60604 BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=480) 2026-01-18T17:58:01.671 LOG n.size quantiles:[4.0, 4.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=74305 ep=74309 n=74304 BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=480) 2026-01-18T17:58:02.672 LOG n.size quantiles:[5.0, 5.0, 7.0, 9.0, 9.0] LOG add_vertex! sp=86260 ep=86264 n=86259 BeamSearch BeamSearch(bsize=6, Δ=1.1851876, maxvisits=590) 2026-01-18T17:58:03.672 LOG n.size quantiles:[6.0, 6.0, 6.0, 8.0, 11.0] LOG add_vertex! sp=98545 ep=98549 n=98544 BeamSearch BeamSearch(bsize=6, Δ=1.1851876, maxvisits=590) 2026-01-18T17:58:04.672 LOG n.size quantiles:[5.0, 6.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, 13.0, 15.0, 18.0, 23.0, 86.0] [ Info: minrecall: queries per second: 18109.614818272006, recall: 0.903875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=12, Δ=1.157625, maxvisits=934)) 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, 86.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=528)), 1000, 8) [ Info: rebuild: queries per second: 20721.201844626255, recall: 0.901 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=528)) 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 BeamSearch(bsize=8, Δ=1.1287501, maxvisits=934)), 1000, 8) 1.080537 seconds (496.32 k allocations: 28.650 MiB, 95.41% compilation time) [ Info: matrixhints: queries per second: 20579.130905024696, recall: 0.898 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=8, Δ=1.1287501, maxvisits=934)) 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, 86.0] 1.872242 seconds (1.00 k allocations: 140.742 KiB) SEARCH Exhaustive 1: 0.001551 seconds SEARCH Exhaustive 2: 0.001554 seconds SEARCH Exhaustive 3: 0.001656 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-18T17:58:49.209 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=8, Δ=1.3370568, maxvisits=236) 2026-01-18T17:58:53.329 LOG n.size quantiles:[4.0, 6.0, 7.0, 7.0, 7.0] LOG add_vertex! sp=26455 ep=26459 n=26454 BeamSearch BeamSearch(bsize=12, Δ=1.155, maxvisits=422) 2026-01-18T17:58:54.329 LOG n.size quantiles:[5.0, 5.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=45100 ep=45104 n=45099 BeamSearch BeamSearch(bsize=12, Δ=1.1, maxvisits=380) 2026-01-18T17:58:55.329 LOG n.size quantiles:[5.0, 5.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=59985 ep=59989 n=59984 BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=480) 2026-01-18T17:58:56.330 LOG n.size quantiles:[4.0, 5.0, 5.0, 7.0, 7.0] LOG add_vertex! sp=75225 ep=75229 n=75224 BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=480) 2026-01-18T17:58:57.330 LOG n.size quantiles:[3.0, 7.0, 9.0, 9.0, 12.0] LOG add_vertex! sp=87575 ep=87579 n=87574 BeamSearch BeamSearch(bsize=6, Δ=1.1851876, maxvisits=590) 2026-01-18T17:58:58.330 LOG n.size quantiles:[6.0, 7.0, 8.0, 9.0, 9.0] LOG add_vertex! sp=99575 ep=99579 n=99574 BeamSearch BeamSearch(bsize=6, Δ=1.1851876, maxvisits=590) 2026-01-18T17:58:59.330 LOG n.size quantiles:[6.0, 7.0, 8.0, 8.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, 13.0, 15.0, 18.0, 23.0, 86.0] [ Info: minrecall: queries per second: 18545.058557876902, recall: 0.903875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=12, Δ=1.157625, maxvisits=934)) 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, 86.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=528)), 1000, 8) [ Info: rebuild: queries per second: 20818.859021598568, recall: 0.901 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=8, Δ=1.155, maxvisits=528)) 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 BeamSearch(bsize=8, Δ=1.1287501, maxvisits=934)), 1000, 8) 1.125862 seconds (459.90 k allocations: 26.627 MiB, 95.27% compilation time) [ Info: matrixhints: queries per second: 18606.042375521996, recall: 0.898 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=8, Δ=1.1287501, maxvisits=934)) 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, 86.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 1m47.7s Testing SimilaritySearch tests passed Testing completed after 471.96s PkgEval succeeded after 535.96s