Package evaluation to test SimilaritySearch on Julia 1.11.7 (58327cce5e*) started at 2025-10-28T21:35:44.160 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 8.75s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.11/Project.toml` [053f045d] + SimilaritySearch v0.13.5 Updating `~/.julia/environments/v1.11/Manifest.toml` [7d9f7c33] + Accessors v0.1.42 [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.2.1 [21216c6a] + Preferences v1.5.0 [92933f4c] + ProgressMeter v1.11.0 [ae029012] + Requires v1.3.1 [94e857df] + SIMDTypes v0.1.0 [431bcebd] + SciMLPublic v1.0.0 [0e966ebe] + SearchModels v0.4.1 [053f045d] + SimilaritySearch v0.13.5 [a2af1166] + SortingAlgorithms v1.2.2 [aedffcd0] + Static v1.3.1 [0d7ed370] + StaticArrayInterface v1.8.0 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.7.1 ⌅ [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 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.11.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.11.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.1.1+0 [4536629a] + OpenBLAS_jll v0.3.27+1 [bea87d4a] + SuiteSparse_jll v7.7.0+0 [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 5.2s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 30.46s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_RUHTFP/Project.toml` [7d9f7c33] Accessors v0.1.42 [4c88cf16] Aqua v0.8.14 [b4f34e82] Distances v0.10.12 [d96e819e] Parameters v0.12.3 [f517fe37] Polyester v0.7.18 [92933f4c] ProgressMeter v1.11.0 [0e966ebe] SearchModels v0.4.1 [053f045d] SimilaritySearch v0.13.5 [10745b16] Statistics v1.11.1 ⌅ [2913bbd2] StatsBase v0.33.21 [7792a7ef] StrideArraysCore v0.5.8 [ade2ca70] Dates v1.11.0 [37e2e46d] LinearAlgebra v1.11.0 [9a3f8284] Random v1.11.0 [2f01184e] SparseArrays v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_RUHTFP/Manifest.toml` [7d9f7c33] Accessors v0.1.42 [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.2.1 [21216c6a] Preferences v1.5.0 [92933f4c] ProgressMeter v1.11.0 [ae029012] Requires v1.3.1 [94e857df] SIMDTypes v0.1.0 [431bcebd] SciMLPublic v1.0.0 [0e966ebe] SearchModels v0.4.1 [053f045d] SimilaritySearch v0.13.5 [a2af1166] SortingAlgorithms v1.2.2 [aedffcd0] Static v1.3.1 [0d7ed370] StaticArrayInterface v1.8.0 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.7.1 ⌅ [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.6.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.11.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.2.0 [44cfe95a] Pkg 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.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.1.1+0 [deac9b47] LibCURL_jll v8.6.0+0 [e37daf67] LibGit2_jll v1.7.2+0 [29816b5a] LibSSH2_jll v1.11.0+1 [c8ffd9c3] MbedTLS_jll v2.28.6+0 [14a3606d] MozillaCACerts_jll v2023.12.12 [4536629a] OpenBLAS_jll v0.3.27+1 [bea87d4a] SuiteSparse_jll v7.7.0+0 [83775a58] Zlib_jll v1.2.13+1 [8e850b90] libblastrampoline_jll v5.11.0+0 [8e850ede] nghttp2_jll v1.59.0+0 [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 | 56 56 9.4s Test Summary: | Pass Total Time heap | 16 16 0.0s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.4s Test Summary: | Pass Total Time XKnn | 25005 25005 2.9s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.3s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 4.133415 seconds (1000 allocations: 78.125 KiB) 4.100635 seconds (1000 allocations: 78.125 KiB) 4.039640 seconds (1000 allocations: 78.125 KiB) 4.127514 seconds (1000 allocations: 78.125 KiB) 4.047343 seconds (1000 allocations: 78.125 KiB) 4.010245 seconds (1000 allocations: 78.125 KiB) 4.082308 seconds (1000 allocations: 78.125 KiB) 3.957172 seconds (1000 allocations: 78.125 KiB) 12.056700 seconds (1000 allocations: 78.125 KiB) 12.034351 seconds (1000 allocations: 78.125 KiB) 25.158062 seconds (1000 allocations: 78.125 KiB) 24.069930 seconds (1000 allocations: 78.125 KiB) 19.349641 seconds (1000 allocations: 78.125 KiB) 19.339773 seconds (1000 allocations: 78.125 KiB) 17.634056 seconds (1000 allocations: 78.125 KiB) 17.852221 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 3m15.3s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 3.121520 seconds (1000 allocations: 78.125 KiB) 3.100547 seconds (1000 allocations: 78.125 KiB) 42.751616 seconds (1000 allocations: 78.125 KiB) 42.521828 seconds (1000 allocations: 78.125 KiB) 42.720268 seconds (1000 allocations: 78.125 KiB) 42.390777 seconds (1000 allocations: 78.125 KiB) 4.999605 seconds (1000 allocations: 78.125 KiB) 4.996683 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 3m11.2s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 8.214117 seconds (1000 allocations: 78.125 KiB) 8.140368 seconds (1000 allocations: 78.125 KiB) 8.251682 seconds (1000 allocations: 78.125 KiB) 8.195767 seconds (1000 allocations: 78.125 KiB) 8.142752 seconds (1000 allocations: 78.125 KiB) 8.087454 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 52.6s 0.043579 seconds (1000 allocations: 78.125 KiB) 0.043201 seconds (1000 allocations: 78.125 KiB) 0.040438 seconds (1000 allocations: 78.125 KiB) 0.042094 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 0.2s 0.049824 seconds (1000 allocations: 78.125 KiB) 0.050709 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 1.8s ExhaustiveSearch allknn: 0.469338 seconds (146.10 k allocations: 7.492 MiB, 99.73% compilation time) ParallelExhaustiveSearch allknn: 1.437474 seconds (596.44 k allocations: 29.582 MiB, 99.91% compilation time) Test Summary: | Pass Total Time allknn | 3 3 2.1s 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 4.7s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:56.198 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-10-28T21:44:56.576 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=10 ep=10 n=9 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-10-28T21:44:57.682 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:57.684 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000006, 0x00000007, 0x0000000b, 0x00000013, 0x00000015, 0x0000001f] D.nn = Int32[1, 2, 3, 4, 4, 6, 7, 3, 3, 4, 11, 4, 6, 6, 7, 4, 7, 4, 19, 7, 21, 21, 19, 21, 1, 6, 7, 1, 19, 21, 31, 3, 31, 3, 19, 19, 31, 7, 4, 4, 19, 7, 19, 19, 21, 21, 2, 3, 31, 1, 19, 7, 21, 1, 4, 3, 19, 3, 4, 19, 19, 3, 19, 31, 4, 7, 31, 7, 11, 7, 3, 6, 3, 2, 21, 31, 19, 7, 19, 19, 31, 3, 19, 3, 21, 31, 2, 3, 31, 4, 7, 31, 19, 6, 6, 31, 6, 7, 6, 4] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.064095795, 0.0, 0.0, 0.05768174, 0.034414887, 0.042432666, 0.0, 0.05948025, 0.03457278, 0.0070391297, 0.054824352, 0.033432662, 0.013837457, 0.03225094, 0.0, 0.016685069, 0.0, 0.019557655, 0.010801792, 0.07246381, 0.040296912, 0.014450967, 0.027402103, 0.05046773, 0.03932631, 0.028083384, 0.0, 0.042220354, 0.00973177, 0.043816745, 0.09173608, 0.07724631, 0.033255935, 0.08670789, 0.035006464, 0.050712585, 0.013217211, 0.054831505, 0.007735789, 0.08517319, 0.03807217, 0.006226957, 0.025522292, 0.0651083, 0.005754471, 0.054051876, 0.017321825, 0.006684184, 0.008747458, 0.0743705, 0.014519393, 0.0299626, 0.09998745, 0.07647818, 0.0012205243, 0.0052168965, 0.060630083, 0.04525578, 0.045422137, 0.049218595, 0.01809007, 0.044024706, 0.072253644, 0.069419146, 0.032304168, 0.05884731, 0.07817423, 0.027878225, 0.026399016, 0.052030623, 0.04920453, 0.024590671, 0.007797241, 0.07039195, 0.08971751, 0.06310767, 0.049248934, 0.05546993, 0.01406455, 0.014510453, 0.024609864, 0.08559376, 0.081578314, 0.08506638, 0.010681391, 0.016436875, 0.043675542, 0.04330951, 0.046444952, 0.023032606, 0.058576226, 0.050606847, 0.017070651, 0.051485717, 0.048684657, 0.028880596] Test Summary: | Pass Total Time neardup single block | 3 3 20.0s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.421 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-10-28T21:44:59.421 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.422 [ Info: neardup> range: 33:48, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.422 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.422 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.423 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.423 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.423 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.423 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000006, 0x00000007, 0x0000000b, 0x00000013, 0x00000015, 0x0000001f] D.nn = Int32[1, 2, 3, 4, 4, 6, 7, 3, 3, 4, 11, 4, 6, 6, 7, 4, 7, 4, 19, 7, 21, 21, 4, 6, 1, 6, 7, 1, 4, 4, 31, 3, 31, 3, 19, 19, 31, 7, 4, 4, 19, 7, 19, 19, 21, 21, 2, 3, 31, 1, 19, 7, 21, 1, 4, 3, 19, 3, 4, 19, 19, 3, 19, 31, 4, 7, 31, 7, 11, 7, 3, 6, 3, 2, 21, 31, 19, 7, 19, 19, 31, 3, 19, 3, 21, 31, 2, 3, 31, 4, 7, 31, 19, 6, 6, 31, 6, 7, 6, 4] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.064095795, 0.0, 0.0, 0.05768174, 0.034414887, 0.042432666, 0.0, 0.05948025, 0.03457278, 0.0070391297, 0.054824352, 0.033432662, 0.013837457, 0.03225094, 0.0, 0.016685069, 0.0, 0.019557655, 0.06284714, 0.094797015, 0.040296912, 0.014450967, 0.027402103, 0.05046773, 0.057480574, 0.09141469, 0.0, 0.042220354, 0.00973177, 0.043816745, 0.09173608, 0.07724631, 0.033255935, 0.08670789, 0.035006464, 0.050712585, 0.013217211, 0.054831505, 0.007735789, 0.08517319, 0.03807217, 0.006226957, 0.025522292, 0.0651083, 0.005754471, 0.054051876, 0.017321825, 0.006684184, 0.008747458, 0.0743705, 0.014519393, 0.0299626, 0.09998745, 0.07647818, 0.0012205243, 0.0052168965, 0.060630083, 0.04525578, 0.045422137, 0.049218595, 0.01809007, 0.044024706, 0.072253644, 0.069419146, 0.032304168, 0.05884731, 0.07817423, 0.027878225, 0.026399016, 0.052030623, 0.04920453, 0.024590671, 0.007797241, 0.07039195, 0.08971751, 0.06310767, 0.049248934, 0.05546993, 0.01406455, 0.014510453, 0.024609864, 0.08559376, 0.081578314, 0.08506638, 0.010681391, 0.016436875, 0.043675542, 0.04330951, 0.046444952, 0.023032606, 0.058576226, 0.050606847, 0.017070651, 0.051485717, 0.048684657, 0.028880596] 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: 2025-10-28T21:44:59.524 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-10-28T21:44:59.524 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: 2025-10-28T21:44:59.525 [ Info: neardup> range: 33:48, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.525 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.525 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.525 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.525 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.525 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:44:59.525 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x0000002b, 0x00000040] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 7, 4, 10, 7, 12, 12, 10, 13, 1, 6, 7, 1, 5, 12, 13, 16, 13, 16, 5, 5, 15, 7, 8, 8, 10, 15, 43, 5, 13, 12, 2, 5, 13, 8, 43, 7, 12, 8, 4, 16, 43, 9, 4, 43, 43, 5, 5, 64, 16, 15, 15, 7, 11, 15, 5, 14, 5, 9, 13, 13, 43, 15, 5, 43, 15, 8, 43, 3, 13, 15, 2, 15, 64, 4, 15, 64, 43, 13, 13, 64, 6, 7, 8, 12] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.013837457, 0.03225094, 0.06672013, 0.016685069, 0.039301634, 0.07308167, 0.028028846, 0.03365159, 0.040296912, 0.014450967, 0.027402103, 0.05046773, 0.015351474, 0.066771865, 0.07071555, 0.038395464, 0.04079324, 0.017355263, 0.09400308, 0.09552997, 0.06988037, 0.08670789, 0.017339587, 0.01388818, 0.034014463, 0.03318602, 0.0, 0.023625076, 0.06872445, 0.042565703, 0.025522292, 0.036391914, 0.03964597, 0.030606508, 0.037881732, 0.006684184, 0.0559659, 0.012825191, 0.014519393, 0.019312382, 0.068008065, 0.057742476, 0.0012205243, 0.0148406625, 0.08931416, 0.026509583, 0.004842818, 0.0, 0.012819588, 0.0034190416, 0.00595665, 0.069419146, 0.032304168, 0.013059735, 0.011354446, 0.014281929, 0.012826145, 0.04994607, 0.004553795, 0.032347143, 0.001665175, 0.046748042, 0.08577263, 0.056845665, 0.006139219, 0.041170776, 0.0017933846, 0.014510453, 0.050331235, 0.027178347, 0.081578314, 0.050823748, 0.05796379, 0.016436875, 0.032963276, 0.0015980005, 0.01659286, 0.021170735, 0.0074067116, 0.06759399, 0.017070651, 0.051485717, 0.028013885, 0.020746768] 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: 2025-10-28T21:45:07.610 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=7 n=7 2025-10-28T21:45:07.697 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:45:07.701 [ Info: neardup> range: 33:48, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:45:07.702 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:45:07.702 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:45:07.702 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:45:07.702 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:45:07.702 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-10-28T21:45:07.702 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000006, 0x00000007, 0x0000000b, 0x00000013, 0x00000015, 0x0000001f] D.nn = Int32[1, 2, 3, 4, 4, 6, 7, 3, 3, 4, 11, 4, 6, 6, 7, 4, 7, 4, 19, 7, 21, 21, 4, 6, 1, 6, 7, 1, 4, 4, 31, 3, 31, 3, 19, 19, 31, 7, 4, 4, 19, 7, 19, 19, 21, 21, 2, 3, 31, 1, 19, 7, 21, 1, 4, 3, 19, 3, 4, 19, 19, 3, 19, 31, 4, 7, 31, 7, 11, 7, 3, 6, 3, 2, 21, 31, 19, 7, 19, 19, 31, 3, 19, 3, 21, 31, 2, 3, 31, 4, 7, 31, 19, 6, 6, 31, 6, 7, 6, 4] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.064095795, 0.0, 0.0, 0.05768174, 0.034414887, 0.042432666, 0.0, 0.05948025, 0.03457278, 0.0070391297, 0.054824352, 0.033432662, 0.013837457, 0.03225094, 0.0, 0.016685069, 0.0, 0.019557655, 0.06284714, 0.094797015, 0.040296912, 0.014450967, 0.027402103, 0.05046773, 0.057480574, 0.09141469, 0.0, 0.042220354, 0.00973177, 0.043816745, 0.09173608, 0.07724631, 0.033255935, 0.08670789, 0.035006464, 0.050712585, 0.013217211, 0.054831505, 0.007735789, 0.08517319, 0.03807217, 0.006226957, 0.025522292, 0.0651083, 0.005754471, 0.054051876, 0.017321825, 0.006684184, 0.008747458, 0.0743705, 0.014519393, 0.0299626, 0.09998745, 0.07647818, 0.0012205243, 0.0052168965, 0.060630083, 0.04525578, 0.045422137, 0.049218595, 0.01809007, 0.044024706, 0.072253644, 0.069419146, 0.032304168, 0.05884731, 0.07817423, 0.027878225, 0.026399016, 0.052030623, 0.04920453, 0.024590671, 0.007797241, 0.07039195, 0.08971751, 0.06310767, 0.049248934, 0.05546993, 0.01406455, 0.014510453, 0.024609864, 0.08559376, 0.081578314, 0.08506638, 0.010681391, 0.016436875, 0.043675542, 0.04330951, 0.046444952, 0.023032606, 0.058576226, 0.050606847, 0.017070651, 0.051485717, 0.048684657, 0.028880596] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 8.2s computing farthest point 1, dmax: Inf, imax: 16, n: 30 computing farthest point 2, dmax: 1.368433, imax: 7, n: 30 computing farthest point 3, dmax: 1.1766233, imax: 25, n: 30 computing farthest point 4, dmax: 1.1145267, imax: 22, n: 30 computing farthest point 5, dmax: 0.94603467, imax: 11, n: 30 computing farthest point 6, dmax: 0.83380413, imax: 14, n: 30 computing farthest point 7, dmax: 0.59076947, imax: 5, n: 30 computing farthest point 8, dmax: 0.58327365, imax: 9, n: 30 computing farthest point 9, dmax: 0.5556919, imax: 12, n: 30 computing farthest point 10, dmax: 0.53886753, imax: 24, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.5s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.5s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-10-28T21:45:19.979 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=2, Δ=1.0476191, maxvisits=118) 2025-10-28T21:45:32.439 LOG n.size quantiles:[3.0, 4.0, 4.0, 4.0, 5.0] (i, j, d) = (29, 602, -1.1920929f-7) (i, j, d, :parallel) = (29, 602, -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 => 12.553988669999999, :exact => 0.137371035) Test Summary: | Pass Total Time closestpair | 4 4 13.1s 5.106877 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.005452 seconds SEARCH Exhaustive 2: 0.005451 seconds SEARCH Exhaustive 3: 0.005574 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) 2025-10-28T21:45:55.244 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=4, Δ=1.244447, maxvisits=220) 2025-10-28T21:46:01.966 LOG n.size quantiles:[3.0, 4.0, 5.0, 6.0, 6.0] LOG add_vertex! sp=15105 ep=15109 n=15104 BeamSearch(bsize=6, Δ=1.075, maxvisits=504) 2025-10-28T21:46:02.966 LOG n.size quantiles:[4.0, 6.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=27320 ep=27324 n=27319 BeamSearch(bsize=12, Δ=0.925, maxvisits=364) 2025-10-28T21:46:03.966 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=38405 ep=38409 n=38404 BeamSearch(bsize=16, Δ=1.21275, maxvisits=462) 2025-10-28T21:46:04.967 LOG n.size quantiles:[3.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=48465 ep=48469 n=48464 BeamSearch(bsize=16, Δ=1.21275, maxvisits=462) 2025-10-28T21:46:05.967 LOG n.size quantiles:[4.0, 5.0, 5.0, 6.0, 9.0] LOG add_vertex! sp=56820 ep=56824 n=56819 BeamSearch(bsize=6, Δ=1.244447, maxvisits=502) 2025-10-28T21:46:07.032 LOG n.size quantiles:[5.0, 5.0, 6.0, 7.0, 7.0] LOG add_vertex! sp=64185 ep=64189 n=64184 BeamSearch(bsize=6, Δ=1.244447, maxvisits=502) 2025-10-28T21:46:08.032 LOG n.size quantiles:[6.0, 6.0, 7.0, 7.0, 7.0] LOG add_vertex! sp=72555 ep=72559 n=72554 BeamSearch(bsize=6, Δ=1.244447, maxvisits=502) 2025-10-28T21:46:09.033 LOG n.size quantiles:[5.0, 6.0, 6.0, 8.0, 8.0] LOG add_vertex! sp=80690 ep=80694 n=80689 BeamSearch(bsize=6, Δ=1.244447, maxvisits=502) 2025-10-28T21:46:10.033 LOG n.size quantiles:[6.0, 6.0, 7.0, 7.0, 10.0] LOG add_vertex! sp=87045 ep=87049 n=87044 BeamSearch(bsize=10, Δ=1.1851876, maxvisits=470) 2025-10-28T21:46:11.033 LOG n.size quantiles:[5.0, 6.0, 6.0, 8.0, 10.0] LOG add_vertex! sp=95040 ep=95044 n=95039 BeamSearch(bsize=10, Δ=1.1851876, maxvisits=470) 2025-10-28T21:46:12.034 LOG n.size quantiles:[7.0, 8.0, 8.0, 9.0, 10.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 7.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 17.0, 23.0, 95.0] [ Info: minrecall: queries per second: 11338.43964498121, recall: 0.9 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=7, Δ=1.1025, maxvisits=704)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 7.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 17.0, 23.0, 95.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=12, Δ=1.157625, maxvisits=552)), 1000, 8) [ Info: rebuild: queries per second: 14108.707250758118, recall: 0.90275 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=12, Δ=1.157625, maxvisits=552)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [3.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 19.0, 30.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=1.1, maxvisits=718)), 1000, 8) 2.282649 seconds (657.97 k allocations: 33.337 MiB, 8.61% gc time, 96.25% compilation time) [ Info: matrixhints: queries per second: 12029.951306606696, recall: 0.8995 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=1.1, maxvisits=718)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 7.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 17.0, 23.0, 95.0] 3.065129 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.002801 seconds SEARCH Exhaustive 2: 0.002780 seconds SEARCH Exhaustive 3: 0.003041 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) 2025-10-28T21:47:19.484 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=295 ep=299 n=294 BeamSearch(bsize=4, Δ=1.244447, maxvisits=220) 2025-10-28T21:47:25.907 LOG n.size quantiles:[3.0, 4.0, 5.0, 6.0, 6.0] LOG add_vertex! sp=16245 ep=16249 n=16244 BeamSearch(bsize=6, Δ=1.075, maxvisits=504) 2025-10-28T21:47:26.907 LOG n.size quantiles:[4.0, 4.0, 5.0, 6.0, 8.0] LOG add_vertex! sp=31425 ep=31429 n=31424 BeamSearch(bsize=12, Δ=0.925, maxvisits=364) 2025-10-28T21:47:27.907 LOG n.size quantiles:[4.0, 6.0, 6.0, 6.0, 7.0] LOG add_vertex! sp=42950 ep=42954 n=42949 BeamSearch(bsize=16, Δ=1.21275, maxvisits=462) 2025-10-28T21:47:28.908 LOG n.size quantiles:[5.0, 6.0, 8.0, 9.0, 9.0] LOG add_vertex! sp=53185 ep=53189 n=53184 BeamSearch(bsize=16, Δ=1.21275, maxvisits=462) 2025-10-28T21:47:29.908 LOG n.size quantiles:[4.0, 6.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=62145 ep=62149 n=62144 BeamSearch(bsize=6, Δ=1.244447, maxvisits=502) 2025-10-28T21:47:30.908 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=71020 ep=71024 n=71019 BeamSearch(bsize=6, Δ=1.244447, maxvisits=502) 2025-10-28T21:47:31.908 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=79570 ep=79574 n=79569 BeamSearch(bsize=6, Δ=1.244447, maxvisits=502) 2025-10-28T21:47:32.909 LOG n.size quantiles:[5.0, 5.0, 6.0, 6.0, 6.0] LOG add_vertex! sp=86750 ep=86754 n=86749 BeamSearch(bsize=10, Δ=1.1851876, maxvisits=470) 2025-10-28T21:47:33.909 LOG n.size quantiles:[4.0, 5.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=95070 ep=95074 n=95069 BeamSearch(bsize=10, Δ=1.1851876, maxvisits=470) 2025-10-28T21:47:34.910 LOG n.size quantiles:[5.0, 7.0, 8.0, 8.0, 8.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 7.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 17.0, 23.0, 95.0] [ Info: minrecall: queries per second: 12290.9486320082, recall: 0.9 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=7, Δ=1.1025, maxvisits=704)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 7.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 17.0, 23.0, 95.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=12, Δ=1.157625, maxvisits=552)), 1000, 8) [ Info: rebuild: queries per second: 14792.897876475072, recall: 0.90275 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=12, Δ=1.157625, maxvisits=552)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [3.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 19.0, 30.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=1.1, maxvisits=718)), 1000, 8) 1.632773 seconds (639.10 k allocations: 32.341 MiB, 1.39% gc time, 95.38% compilation time) [ Info: matrixhints: queries per second: 12291.96237799075, recall: 0.8995 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=1.1, maxvisits=718)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 7.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 17.0, 23.0, 95.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 2m39.3s Testing SimilaritySearch tests passed Testing completed after 700.85s PkgEval succeeded after 756.5s