Package evaluation to test SimilaritySearch on Julia 1.12.4 (422f456051*) started at 2026-01-29T06:02:24.688 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.12` Set-up completed after 8.18s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.12/Project.toml` [053f045d] + SimilaritySearch v0.13.7 Updating `~/.julia/environments/v1.12/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.12.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.12.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v0.7.0 [9e88b42a] + Serialization v1.11.0 [6462fe0b] + Sockets v1.11.0 [2f01184e] + SparseArrays v1.12.0 [f489334b] + StyledStrings v1.11.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.8.3+2 [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.8s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 7745.8 ms ✓ SearchModels 37220.2 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 51 seconds. 87 already precompiled. Precompilation completed after 61.49s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_7sI6xc/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.12.0 [9a3f8284] Random v1.11.0 [2f01184e] SparseArrays v1.12.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_7sI6xc/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.12.0 [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.12.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.12.1 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.12.0 [f489334b] StyledStrings v1.11.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.15.0+0 [e37daf67] LibGit2_jll v1.9.0+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.11.4 [4536629a] OpenBLAS_jll v0.3.29+0 [458c3c95] OpenSSL_jll v3.5.4+0 [bea87d4a] SuiteSparse_jll v7.8.3+2 [83775a58] Zlib_jll v1.3.1+2 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.64.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 12.3s Test Summary: | Pass Total Time heap | 16 16 0.0s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.2s Test Summary: | Pass Total Time XKnn | 25005 25005 2.7s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.1s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 6.274279 seconds (1000 allocations: 78.125 KiB) 6.308713 seconds (1000 allocations: 78.125 KiB) 4.204346 seconds (1000 allocations: 78.125 KiB) 4.164558 seconds (1000 allocations: 78.125 KiB) 4.095755 seconds (1000 allocations: 78.125 KiB) 4.115990 seconds (1000 allocations: 78.125 KiB) 4.412835 seconds (1000 allocations: 78.125 KiB) 4.335271 seconds (1000 allocations: 78.125 KiB) 15.047078 seconds (1000 allocations: 78.125 KiB) 14.956490 seconds (1000 allocations: 78.125 KiB) 26.922411 seconds (1000 allocations: 78.125 KiB) 26.981454 seconds (1000 allocations: 78.125 KiB) 19.023184 seconds (1000 allocations: 78.125 KiB) 18.979491 seconds (1000 allocations: 78.125 KiB) 16.143521 seconds (1000 allocations: 78.125 KiB) 15.198607 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 3m23.5s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 3.257688 seconds (1000 allocations: 78.125 KiB) 3.290292 seconds (1000 allocations: 78.125 KiB) 40.883796 seconds (1000 allocations: 78.125 KiB) 42.066057 seconds (1000 allocations: 78.125 KiB) 41.523677 seconds (1000 allocations: 78.125 KiB) 39.192365 seconds (1000 allocations: 78.125 KiB) 5.123633 seconds (1000 allocations: 78.125 KiB) 5.207954 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 3m03.9s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 10.288575 seconds (1000 allocations: 78.125 KiB) 10.229958 seconds (1000 allocations: 78.125 KiB) 10.385819 seconds (1000 allocations: 78.125 KiB) 10.334010 seconds (1000 allocations: 78.125 KiB) 10.229541 seconds (1000 allocations: 78.125 KiB) 10.274309 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 1m04.6s 0.045240 seconds (1000 allocations: 78.125 KiB) 0.045302 seconds (1000 allocations: 78.125 KiB) 0.040349 seconds (1000 allocations: 78.125 KiB) 0.041673 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 3.4s 0.057620 seconds (1000 allocations: 78.125 KiB) 0.060091 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 1.5s ExhaustiveSearch allknn: 4.681898 seconds (2.82 M allocations: 149.059 MiB, 1.43% gc time, 99.97% compilation time) ParallelExhaustiveSearch allknn: 1.286806 seconds (685.17 k allocations: 35.039 MiB, 99.89% compilation time) Test Summary: | Pass Total Time allknn | 3 3 6.6s 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 3.2s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:37.061 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-29T06:12:37.097 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=2 ep=2 n=2 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-29T06:12:38.353 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-29T06:12:38.744 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000006, 0x00000007, 0x0000000b, 0x0000000d, 0x00000010, 0x00000017, 0x00000018, 0x00000031] D.nn = Int32[1, 2, 1, 4, 2, 6, 7, 2, 7, 6, 11, 2, 13, 11, 2, 16, 13, 2, 2, 4, 2, 11, 23, 24, 2, 13, 13, 13, 2, 13, 23, 11, 2, 4, 11, 1, 1, 24, 11, 13, 2, 1, 13, 24, 24, 16, 2, 4, 49, 11, 49, 4, 24, 13, 4, 49, 13, 16, 11, 24, 11, 11, 11, 4, 49, 2, 1, 49, 11, 24, 7, 49, 1, 49, 7, 13, 2, 2, 16, 6, 13, 6, 2, 2, 2, 11, 1, 7, 2, 16, 7, 24, 13, 6, 16, 1, 4, 49, 11, 49] D.dist = Float32[0.0, 0.0, 0.010785341, 0.0, 0.006546557, 0.0, 0.0, 0.04508984, 0.07932764, 0.02528882, 0.0, 0.014347196, 0.0, 0.022424519, 0.036375284, 0.0, 0.0006275773, 0.060985804, 0.03398007, 0.056454837, 0.07669252, 0.06096983, 0.0, 0.0, 0.02936542, 0.0043054223, 0.035387218, 0.050880075, 0.025218844, 0.062950194, 0.042603254, 0.012127578, 0.029674113, 0.074707866, 0.011252046, 0.030080438, 0.031983554, 0.016789496, 0.018256843, 0.02239269, 0.01349771, 0.08217311, 0.09649205, 0.06408328, 0.028920233, 0.07847333, 0.045675457, 0.014238954, 0.0, 0.012520313, 0.020656288, 0.053762197, 0.020457804, 0.049710393, 0.053599656, 0.07019454, 0.030007422, 0.06562114, 0.0060921907, 0.023163855, 0.03191966, 0.0100284815, 0.03382367, 0.08844018, 0.014339149, 0.058439195, 0.038451552, 0.039809823, 0.007863462, 0.023770154, 0.0076449513, 0.071430385, 0.05976039, 0.01807177, 0.029102683, 0.0033510923, 0.0063942075, 0.07468963, 0.011142015, 0.028710365, 0.014310002, 0.0414204, 0.030572712, 0.02194804, 0.027707994, 0.0027514696, 0.054145873, 0.038637817, 0.06589985, 0.050256312, 0.09285188, 0.012743771, 0.06637943, 0.037375927, 0.04652202, 0.057245374, 0.01900667, 0.017577529, 0.03608358, 0.0186584] Test Summary: | Pass Total Time neardup single block | 3 3 18.8s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-29T06:12:39.975 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 [ Info: neardup> range: 33:48, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:39.975 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000006, 0x00000007, 0x0000000b, 0x0000000d, 0x00000010, 0x00000017, 0x00000018, 0x00000031] D.nn = Int32[1, 2, 1, 4, 2, 6, 7, 2, 7, 6, 11, 2, 13, 11, 2, 16, 13, 2, 2, 4, 2, 11, 23, 24, 2, 13, 13, 13, 2, 13, 23, 11, 2, 4, 11, 1, 1, 24, 11, 13, 2, 1, 13, 24, 24, 16, 2, 4, 49, 11, 2, 4, 24, 13, 4, 24, 13, 16, 11, 24, 11, 11, 11, 4, 49, 2, 1, 49, 11, 24, 7, 49, 1, 49, 7, 13, 2, 2, 16, 6, 13, 6, 2, 2, 2, 11, 1, 7, 2, 16, 7, 24, 13, 6, 16, 1, 4, 49, 11, 49] D.dist = Float32[0.0, 0.0, 0.010785341, 0.0, 0.006546557, 0.0, 0.0, 0.04508984, 0.07932764, 0.02528882, 0.0, 0.014347196, 0.0, 0.022424519, 0.036375284, 0.0, 0.0006275773, 0.060985804, 0.03398007, 0.056454837, 0.07669252, 0.06096983, 0.0, 0.0, 0.02936542, 0.0043054223, 0.035387218, 0.050880075, 0.025218844, 0.062950194, 0.042603254, 0.012127578, 0.029674113, 0.074707866, 0.011252046, 0.030080438, 0.031983554, 0.016789496, 0.018256843, 0.02239269, 0.01349771, 0.08217311, 0.09649205, 0.06408328, 0.028920233, 0.07847333, 0.045675457, 0.014238954, 0.0, 0.012520313, 0.09165895, 0.053762197, 0.020457804, 0.049710393, 0.053599656, 0.073409796, 0.030007422, 0.06562114, 0.0060921907, 0.023163855, 0.03191966, 0.0100284815, 0.03382367, 0.08844018, 0.014339149, 0.058439195, 0.038451552, 0.039809823, 0.007863462, 0.023770154, 0.0076449513, 0.071430385, 0.05976039, 0.01807177, 0.029102683, 0.0033510923, 0.0063942075, 0.07468963, 0.011142015, 0.028710365, 0.014310002, 0.0414204, 0.030572712, 0.02194804, 0.027707994, 0.0027514696, 0.054145873, 0.038637817, 0.06589985, 0.050256312, 0.09285188, 0.012743771, 0.06637943, 0.037375927, 0.04652202, 0.057245374, 0.01900667, 0.017577529, 0.03608358, 0.0186584] 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-29T06:12:40.063 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-29T06:12:40.063 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-29T06:12:40.063 [ Info: neardup> range: 33:48, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:40.063 [ Info: neardup> range: 49:64, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:40.063 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:40.064 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:40.064 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:40.064 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:40.064 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000017, 0x0000001f] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 13, 15, 12, 4, 5, 11, 23, 12, 2, 13, 13, 13, 12, 8, 31, 11, 12, 4, 11, 3, 1, 9, 14, 13, 2, 8, 13, 31, 12, 8, 5, 4, 31, 11, 31, 4, 12, 8, 4, 31, 13, 14, 11, 9, 9, 9, 11, 4, 2, 2, 3, 11, 11, 9, 7, 1, 3, 2, 7, 13, 2, 5, 16, 6, 13, 10, 5, 2, 2, 11, 8, 14, 5, 16, 7, 31, 13, 10, 16, 3, 4, 15, 15, 5] 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.0006275773, 0.027374625, 0.012565196, 0.056454837, 0.045116305, 0.06096983, 0.0, 0.07293135, 0.02936542, 0.0043054223, 0.035387218, 0.050880075, 0.008001864, 0.042172074, 0.0, 0.012127578, 0.0100982785, 0.074707866, 0.011252046, 0.02590251, 0.031983554, 0.038241684, 0.0064123273, 0.02239269, 0.01349771, 0.05169505, 0.09649205, 0.021009207, 0.019781888, 0.033414125, 0.03521514, 0.014238954, 0.093082726, 0.012520313, 0.036938548, 0.053762197, 0.04100579, 0.007867217, 0.053599656, 0.025655627, 0.030007422, 0.049820542, 0.0060921907, 0.03764677, 0.011398017, 0.003091216, 0.03382367, 0.08844018, 0.06845236, 0.058439195, 0.027323365, 0.04952711, 0.007863462, 0.0312832, 0.0076449513, 0.080884695, 0.036813915, 0.09247434, 0.029102683, 0.0033510923, 0.0063942075, 0.04613316, 0.011142015, 0.028710365, 0.014310002, 0.012277186, 0.017112255, 0.02194804, 0.027707994, 0.0027514696, 0.040269315, 0.0031526089, 0.053688347, 0.050256312, 0.09285188, 0.06164038, 0.06637943, 0.0090610385, 0.04652202, 0.041207373, 0.01900667, 0.03715533, 0.01772666, 0.068834364] 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-29T06:12:47.579 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=8 n=8 2026-01-29T06:12:47.579 [ Info: neardup> range: 17:32, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:47.584 [ Info: neardup> range: 33:48, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:47.585 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:47.585 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:47.585 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:47.585 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:47.585 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-01-29T06:12:47.585 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000006, 0x00000007, 0x0000000b, 0x0000000d, 0x00000010, 0x00000017, 0x00000018, 0x00000031] D.nn = Int32[1, 2, 1, 4, 2, 6, 7, 2, 7, 6, 11, 2, 13, 11, 2, 16, 13, 2, 2, 4, 2, 11, 23, 24, 2, 13, 13, 13, 2, 13, 23, 11, 2, 4, 11, 1, 1, 24, 11, 13, 2, 1, 13, 24, 24, 16, 2, 4, 49, 11, 2, 4, 24, 13, 4, 24, 13, 16, 11, 24, 11, 11, 11, 4, 49, 2, 1, 49, 11, 24, 7, 49, 1, 49, 7, 13, 2, 2, 16, 6, 13, 6, 2, 2, 2, 11, 1, 7, 2, 16, 7, 24, 13, 6, 16, 1, 4, 49, 11, 49] D.dist = Float32[0.0, 0.0, 0.010785341, 0.0, 0.006546557, 0.0, 0.0, 0.04508984, 0.07932764, 0.02528882, 0.0, 0.014347196, 0.0, 0.022424519, 0.036375284, 0.0, 0.0006275773, 0.060985804, 0.03398007, 0.056454837, 0.07669252, 0.06096983, 0.0, 0.0, 0.02936542, 0.0043054223, 0.035387218, 0.050880075, 0.025218844, 0.062950194, 0.042603254, 0.012127578, 0.029674113, 0.074707866, 0.011252046, 0.030080438, 0.031983554, 0.016789496, 0.018256843, 0.02239269, 0.01349771, 0.08217311, 0.09649205, 0.06408328, 0.028920233, 0.07847333, 0.045675457, 0.014238954, 0.0, 0.012520313, 0.09165895, 0.053762197, 0.020457804, 0.049710393, 0.053599656, 0.073409796, 0.030007422, 0.06562114, 0.0060921907, 0.023163855, 0.03191966, 0.0100284815, 0.03382367, 0.08844018, 0.014339149, 0.058439195, 0.038451552, 0.039809823, 0.007863462, 0.023770154, 0.0076449513, 0.071430385, 0.05976039, 0.01807177, 0.029102683, 0.0033510923, 0.0063942075, 0.07468963, 0.011142015, 0.028710365, 0.014310002, 0.0414204, 0.030572712, 0.02194804, 0.027707994, 0.0027514696, 0.054145873, 0.038637817, 0.06589985, 0.050256312, 0.09285188, 0.012743771, 0.06637943, 0.037375927, 0.04652202, 0.057245374, 0.01900667, 0.017577529, 0.03608358, 0.0186584] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 7.5s computing farthest point 1, dmax: Inf, imax: 29, n: 30 computing farthest point 2, dmax: 1.0711092, imax: 4, n: 30 computing farthest point 3, dmax: 0.7985315, imax: 19, n: 30 computing farthest point 4, dmax: 0.79596716, imax: 17, n: 30 computing farthest point 5, dmax: 0.7900061, imax: 16, n: 30 computing farthest point 6, dmax: 0.78324074, imax: 10, n: 30 computing farthest point 7, dmax: 0.69371396, imax: 1, n: 30 computing farthest point 8, dmax: 0.6057837, imax: 24, n: 30 computing farthest point 9, dmax: 0.5958727, imax: 23, n: 30 computing farthest point 10, dmax: 0.5709249, imax: 11, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 1.7s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.7s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2026-01-29T06:12:55.650 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=14, Δ=0.9, maxvisits=114) 2026-01-29T06:13:07.550 LOG n.size quantiles:[4.0, 4.0, 4.0, 5.0, 5.0] (i, j, d) = (9, 787, -1.1920929f-7) (i, j, d, :parallel) = (9, 787, -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 => 19.16506808, :exact => 0.926624451) Test Summary: | Pass Total Time closestpair | 4 4 20.7s 6.798123 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.004955 seconds SEARCH Exhaustive 2: 0.005265 seconds SEARCH Exhaustive 3: 0.005880 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-29T06:13:38.163 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=6, Δ=1.21275, maxvisits=206) 2026-01-29T06:13:43.691 LOG n.size quantiles:[4.0, 4.0, 5.0, 6.0, 6.0] LOG add_vertex! sp=15085 ep=15089 n=15084 BeamSearch BeamSearch(bsize=4, Δ=1.21275, maxvisits=444) 2026-01-29T06:13:44.691 LOG n.size quantiles:[3.0, 5.0, 6.0, 6.0, 7.0] LOG add_vertex! sp=28830 ep=28834 n=28829 BeamSearch BeamSearch(bsize=14, Δ=1.025, maxvisits=390) 2026-01-29T06:13:45.692 LOG n.size quantiles:[6.0, 7.0, 8.0, 8.0, 9.0] LOG add_vertex! sp=40100 ep=40104 n=40099 BeamSearch BeamSearch(bsize=6, Δ=1.21275, maxvisits=422) 2026-01-29T06:13:46.692 LOG n.size quantiles:[5.0, 6.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=50715 ep=50719 n=50714 BeamSearch BeamSearch(bsize=6, Δ=1.21275, maxvisits=422) 2026-01-29T06:13:47.692 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 9.0] LOG add_vertex! sp=59610 ep=59614 n=59609 BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=480) 2026-01-29T06:13:48.692 LOG n.size quantiles:[5.0, 7.0, 7.0, 7.0, 9.0] LOG add_vertex! sp=69695 ep=69699 n=69694 BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=480) 2026-01-29T06:13:49.693 LOG n.size quantiles:[6.0, 7.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=79155 ep=79159 n=79154 BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=480) 2026-01-29T06:13:50.693 LOG n.size quantiles:[4.0, 5.0, 8.0, 8.0, 8.0] LOG add_vertex! sp=86140 ep=86144 n=86139 BeamSearch BeamSearch(bsize=4, Δ=1.1851876, maxvisits=608) 2026-01-29T06:13:51.694 LOG n.size quantiles:[7.0, 7.0, 8.0, 8.0, 9.0] LOG add_vertex! sp=94435 ep=94439 n=94434 BeamSearch BeamSearch(bsize=4, Δ=1.1851876, maxvisits=608) 2026-01-29T06:13:52.694 LOG n.size quantiles:[5.0, 7.0, 8.0, 9.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, 93.0] [ Info: minrecall: queries per second: 12665.752748167535, recall: 0.90025 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=716)) 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, 93.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.1851876, maxvisits=608)), 1000, 8) [ Info: rebuild: queries per second: 12301.504461694161, recall: 0.9035 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.1851876, maxvisits=608)) 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, 34.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=9, Δ=1.1, maxvisits=732)), 1000, 8) 2.067258 seconds (703.37 k allocations: 36.073 MiB, 1.27% gc time, 95.94% compilation time) [ Info: matrixhints: queries per second: 11810.946850892713, recall: 0.90025 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=9, Δ=1.1, 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, 93.0] 3.084337 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.002407 seconds SEARCH Exhaustive 2: 0.002432 seconds SEARCH Exhaustive 3: 0.002798 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-29T06:15:08.561 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=6, Δ=1.21275, maxvisits=206) 2026-01-29T06:15:13.781 LOG n.size quantiles:[4.0, 4.0, 5.0, 6.0, 6.0] LOG add_vertex! sp=10565 ep=10569 n=10564 BeamSearch BeamSearch(bsize=11, Δ=1.155, maxvisits=476) 2026-01-29T06:15:14.781 LOG n.size quantiles:[6.0, 6.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=24800 ep=24804 n=24799 BeamSearch BeamSearch(bsize=4, Δ=1.21275, maxvisits=444) 2026-01-29T06:15:15.782 LOG n.size quantiles:[5.0, 5.0, 6.0, 8.0, 8.0] LOG add_vertex! sp=36560 ep=36564 n=36559 BeamSearch BeamSearch(bsize=14, Δ=1.025, maxvisits=390) 2026-01-29T06:15:16.782 LOG n.size quantiles:[6.0, 7.0, 8.0, 8.0, 8.0] LOG add_vertex! sp=45650 ep=45654 n=45649 BeamSearch BeamSearch(bsize=6, Δ=1.21275, maxvisits=422) 2026-01-29T06:15:17.782 LOG n.size quantiles:[6.0, 7.0, 7.0, 9.0, 10.0] LOG add_vertex! sp=54815 ep=54819 n=54814 BeamSearch BeamSearch(bsize=6, Δ=1.21275, maxvisits=422) 2026-01-29T06:15:18.782 LOG n.size quantiles:[5.0, 5.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=63040 ep=63044 n=63039 BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=480) 2026-01-29T06:15:19.783 LOG n.size quantiles:[4.0, 5.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=71990 ep=71994 n=71989 BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=480) 2026-01-29T06:15:20.783 LOG n.size quantiles:[6.0, 6.0, 8.0, 8.0, 8.0] LOG add_vertex! sp=80580 ep=80584 n=80579 BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=480) 2026-01-29T06:15:21.783 LOG n.size quantiles:[7.0, 8.0, 9.0, 9.0, 9.0] LOG add_vertex! sp=87600 ep=87604 n=87599 BeamSearch BeamSearch(bsize=4, Δ=1.1851876, maxvisits=608) 2026-01-29T06:15:22.783 LOG n.size quantiles:[3.0, 4.0, 5.0, 8.0, 9.0] LOG add_vertex! sp=95425 ep=95429 n=95424 BeamSearch BeamSearch(bsize=4, Δ=1.1851876, maxvisits=608) 2026-01-29T06:15:23.784 LOG n.size quantiles:[7.0, 8.0, 8.0, 8.0, 9.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 18.0, 23.0, 93.0] [ Info: minrecall: queries per second: 12240.86786578045, recall: 0.90025 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=4, Δ=1.1, maxvisits=716)) 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, 93.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.1851876, maxvisits=608)), 1000, 8) [ Info: rebuild: queries per second: 13600.919639782363, recall: 0.9035 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=14, Δ=1.1851876, maxvisits=608)) 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, 34.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=9, Δ=1.1, maxvisits=732)), 1000, 8) 1.602415 seconds (654.85 k allocations: 33.746 MiB, 95.10% compilation time) [ Info: matrixhints: queries per second: 13201.487786551163, recall: 0.90025 graph.algo = Base.RefValue{BeamSearch}(BeamSearch BeamSearch(bsize=9, Δ=1.1, 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, 93.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 2m53.4s Testing SimilaritySearch tests passed Testing completed after 735.48s PkgEval succeeded after 827.63s