Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1260 (89243d1cdf*) started at 2025-11-16T17:54:12.200 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... ┌ Warning: could not download https://pkg.julialang.org/registries │ exception = RequestError: Could not resolve host: pkg.julialang.org while requesting https://pkg.julialang.org/registries └ @ Pkg.Registry /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Registry/Registry.jl:121 ┌ Warning: could not download https://pkg.julialang.org/registries │ exception = RequestError: Could not resolve host: pkg.julialang.org while requesting https://pkg.julialang.org/registries └ @ Pkg.Registry /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Registry/Registry.jl:121 Set-up completed after 9.09s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... ┌ Warning: could not download https://pkg.julialang.org/registries │ exception = RequestError: Could not resolve host: pkg.julialang.org while requesting https://pkg.julialang.org/registries └ @ Pkg.Registry /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Registry/Registry.jl:121 Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.13.6 Updating `~/.julia/environments/v1.14/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.3.3 [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.6 [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 [ac6e5ff7] + JuliaSyntaxHighlighting v1.12.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.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.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.4s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... ┌ Error: Failed to use TestEnv.jl; test dependencies will not be precompiled │ exception = │ UndefVarError: `project_rel_path` not defined in `TestEnv` │ Suggestion: this global was defined as `Pkg.Operations.project_rel_path` but not assigned a value. │ Stacktrace: │ [1] get_test_dir(ctx::Pkg.Types.Context, pkgspec::PackageSpec) │ @ TestEnv ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/common.jl:75 │ [2] test_dir_has_project_file │ @ ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/common.jl:52 [inlined] │ [3] maybe_gen_project_override! │ @ ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/common.jl:83 [inlined] │ [4] activate(pkg::String; allow_reresolve::Bool) │ @ TestEnv ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/activate_set.jl:12 │ [5] activate(pkg::String) │ @ TestEnv ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/activate_set.jl:9 │ [6] top-level scope │ @ /PkgEval.jl/scripts/precompile.jl:24 │ [7] include(mod::Module, _path::String) │ @ Base ./Base.jl:309 │ [8] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:344 │ [9] _start() │ @ Base ./client.jl:577 └ @ Main /PkgEval.jl/scripts/precompile.jl:26 Precompiling package dependencies... Precompiling packages... 5559.4 ms ✓ SearchModels 14369.9 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 21 seconds. 66 already precompiled. Precompilation completed after 33.58s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_wFFtP3/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.6 [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_wFFtP3/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.3.3 [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.6 [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.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.12.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.13.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.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.16.0+0 [e37daf67] LibGit2_jll v1.9.1+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 [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 16.6s Test Summary: | Pass Total Time heap | 16 16 0.1s Test Summary: | Pass Total Time KnnHeap | 30005 30005 3.6s Test Summary: | Pass Total Time XKnn | 25005 25005 2.4s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.1s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) 10.593540 seconds (1000 allocations: 78.125 KiB) 10.488819 seconds (1000 allocations: 78.125 KiB) 3.901155 seconds (1000 allocations: 78.125 KiB) 3.941976 seconds (1000 allocations: 78.125 KiB) 3.854778 seconds (1000 allocations: 78.125 KiB) 3.859606 seconds (1000 allocations: 78.125 KiB) 3.796660 seconds (1000 allocations: 78.125 KiB) 3.846581 seconds (1000 allocations: 78.125 KiB) 15.202213 seconds (1000 allocations: 78.125 KiB) 15.200715 seconds (1000 allocations: 78.125 KiB) 27.915782 seconds (1000 allocations: 78.125 KiB) 28.107160 seconds (1000 allocations: 78.125 KiB) 20.393592 seconds (6.23 k allocations: 358.094 KiB) 20.296676 seconds (1000 allocations: 78.125 KiB) 17.348204 seconds (1.00 k allocations: 78.141 KiB) 17.256281 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing vectors with ExhaustiveSearch | 8000 8000 3m37.5s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 3.158725 seconds (1000 allocations: 78.125 KiB) 3.185835 seconds (1000 allocations: 78.125 KiB) 29.087220 seconds (1000 allocations: 78.125 KiB) 29.334936 seconds (1000 allocations: 78.125 KiB) 29.547255 seconds (1000 allocations: 78.125 KiB) 29.590406 seconds (1000 allocations: 78.125 KiB) 4.398821 seconds (1000 allocations: 78.125 KiB) 4.363172 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sequences with ExhaustiveSearch | 4000 4000 2m16.5s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) 10.983304 seconds (1000 allocations: 78.125 KiB) 11.030292 seconds (1000 allocations: 78.125 KiB) 11.379907 seconds (1000 allocations: 78.125 KiB) 11.608987 seconds (1000 allocations: 78.125 KiB) 11.902494 seconds (1000 allocations: 78.125 KiB) 11.834876 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time indexing sets with ExhaustiveSearch | 3000 3000 1m12.1s 0.045079 seconds (1.00 k allocations: 78.141 KiB) 0.045528 seconds (1000 allocations: 78.125 KiB) 0.040817 seconds (1000 allocations: 78.125 KiB) 0.040814 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Normalized Cosine and Normalized Angle distances | 2000 2000 2.9s 0.053516 seconds (1000 allocations: 78.125 KiB) 0.052911 seconds (1000 allocations: 78.125 KiB) Test Summary: | Pass Total Time Binary hamming distance | 1000 1000 1.4s ExhaustiveSearch allknn: 4.252655 seconds (2.39 M allocations: 127.042 MiB, 0.91% gc time, 99.96% compilation time) ParallelExhaustiveSearch allknn: 1.207944 seconds (613.30 k allocations: 30.463 MiB, 2.53% gc time, 99.85% compilation time) Test Summary: | Pass Total Time allknn | 3 3 6.0s 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.9s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:32.692 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-11-16T18:03:32.930 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add_vertex! sp=2 ep=2 n=2 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-11-16T18:03:34.308 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:34.689 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000011, 0x00000013, 0x0000001e, 0x0000002c, 0x00000039, 0x00000048] D.nn = Int32[1, 2, 1, 4, 5, 6, 7, 1, 6, 6, 2, 4, 4, 4, 4, 2, 17, 2, 19, 1, 4, 4, 6, 1, 4, 1, 1, 2, 17, 30, 5, 4, 1, 7, 17, 30, 19, 17, 2, 7, 30, 1, 2, 44, 17, 1, 6, 2, 7, 7, 4, 19, 1, 44, 44, 17, 57, 19, 7, 6, 30, 17, 2, 1, 30, 5, 7, 4, 57, 30, 6, 72, 30, 30, 7, 30, 30, 30, 30, 4, 30, 30, 57, 2, 30, 1, 5, 17, 7, 4, 30, 4, 30, 30, 7, 2, 4, 17, 6, 30] D.dist = Float32[0.0, 0.0, 0.07392776, 0.0, 0.0, 0.0, 0.0, 0.0874275, 0.07297093, 0.03846556, 0.08217114, 0.0046216846, 0.040376127, 0.057380855, 0.081757724, 0.08641487, 0.0, 0.053171992, 0.0, 0.015943289, 0.08715719, 0.024510503, 0.029146194, 0.011381328, 0.00647372, 0.062049627, 0.094406486, 0.07111955, 0.07141644, 0.0, 0.036933184, 0.017267406, 0.071247876, 0.073880434, 0.008529305, 0.0055910945, 0.037251174, 0.057217002, 0.022595942, 0.00813359, 0.067718565, 0.039217114, 0.03361523, 0.0, 0.05942291, 0.048608303, 0.051991105, 0.028443515, 0.022451162, 0.0806368, 0.054213107, 0.06353325, 0.03372079, 0.04489088, 0.07964158, 0.048823535, 0.0, 0.046736836, 0.008560598, 0.06763828, 0.0148102045, 0.023677886, 0.011590123, 0.007900953, 0.029127836, 0.04473263, 0.03724289, 0.048010707, 0.012973607, 0.041751742, 0.031492174, 0.0, 0.023612082, 0.041762054, 0.046812594, 0.048626363, 0.014728546, 0.027863204, 0.017882645, 0.044047296, 0.0011720657, 0.036129296, 0.0131851435, 0.015970826, 0.02242726, 0.010491312, 0.030478597, 0.011826098, 0.062127054, 0.002090335, 0.02775836, 0.02394551, 0.0030415058, 0.029788375, 0.031577766, 0.047212064, 0.051565945, 0.029663265, 0.04586953, 0.011354327] Test Summary: | Pass Total Time neardup single block | 3 3 18.4s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.835 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-11-16T18:03:35.835 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: 2025-11-16T18:03:35.835 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.835 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.835 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.836 [ Info: neardup> range: 81:96, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.836 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.836 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.836 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000011, 0x00000013, 0x0000001e, 0x0000002c, 0x00000039, 0x00000048] D.nn = Int32[1, 2, 1, 4, 5, 6, 7, 1, 6, 6, 2, 4, 4, 4, 4, 2, 17, 2, 19, 1, 4, 4, 6, 1, 4, 1, 1, 2, 2, 30, 5, 4, 1, 7, 17, 30, 19, 17, 2, 7, 30, 1, 2, 44, 17, 1, 6, 2, 7, 7, 4, 19, 1, 44, 44, 17, 57, 19, 7, 6, 30, 17, 2, 1, 30, 5, 7, 4, 57, 30, 6, 72, 30, 30, 7, 30, 30, 30, 30, 4, 30, 30, 57, 2, 30, 1, 5, 17, 7, 4, 30, 4, 30, 30, 7, 2, 4, 17, 6, 30] D.dist = Float32[0.0, 0.0, 0.07392776, 0.0, 0.0, 0.0, 0.0, 0.0874275, 0.07297093, 0.03846556, 0.08217114, 0.0046216846, 0.040376127, 0.057380855, 0.081757724, 0.08641487, 0.0, 0.053171992, 0.0, 0.015943289, 0.08715719, 0.024510503, 0.029146194, 0.011381328, 0.00647372, 0.062049627, 0.094406486, 0.07111955, 0.09669101, 0.0, 0.036933184, 0.017267406, 0.071247876, 0.073880434, 0.008529305, 0.0055910945, 0.037251174, 0.057217002, 0.022595942, 0.00813359, 0.067718565, 0.039217114, 0.03361523, 0.0, 0.05942291, 0.048608303, 0.051991105, 0.028443515, 0.022451162, 0.0806368, 0.054213107, 0.06353325, 0.03372079, 0.04489088, 0.07964158, 0.048823535, 0.0, 0.046736836, 0.008560598, 0.06763828, 0.0148102045, 0.023677886, 0.011590123, 0.007900953, 0.029127836, 0.04473263, 0.03724289, 0.048010707, 0.012973607, 0.041751742, 0.031492174, 0.0, 0.023612082, 0.041762054, 0.046812594, 0.048626363, 0.014728546, 0.027863204, 0.017882645, 0.044047296, 0.0011720657, 0.036129296, 0.0131851435, 0.015970826, 0.02242726, 0.010491312, 0.030478597, 0.011826098, 0.062127054, 0.002090335, 0.02775836, 0.02394551, 0.0030415058, 0.029788375, 0.031577766, 0.047212064, 0.051565945, 0.029663265, 0.04586953, 0.011354327] 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-11-16T18:03:35.923 LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-11-16T18:03:35.923 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-11-16T18:03:35.924 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.924 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.924 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.924 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.924 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.924 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:35.924 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000013, 0x00000037] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 11, 16, 19, 1, 15, 4, 6, 1, 12, 8, 8, 8, 8, 8, 5, 12, 16, 7, 11, 8, 19, 11, 2, 7, 8, 1, 2, 16, 14, 1, 3, 2, 7, 14, 14, 13, 1, 16, 55, 11, 3, 13, 7, 8, 9, 11, 2, 1, 16, 5, 7, 12, 9, 9, 6, 55, 8, 8, 7, 8, 9, 14, 15, 13, 8, 16, 9, 2, 14, 1, 10, 11, 7, 4, 14, 12, 8, 9, 7, 8, 12, 11, 6, 14] 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.0076991916, 0.010749221, 0.0, 0.015943289, 0.0043822527, 0.024510503, 0.029146194, 0.011381328, 0.0017092824, 0.008748114, 0.009863019, 0.062160075, 0.015634775, 0.01901424, 0.036933184, 0.006667435, 0.020499766, 0.073880434, 0.023442388, 0.013621688, 0.037251174, 0.08315694, 0.022595942, 0.00813359, 0.015433371, 0.039217114, 0.03361523, 0.04089403, 0.043736637, 0.048608303, 0.0353328, 0.028443515, 0.022451162, 0.05544889, 0.032290876, 0.017828345, 0.03372079, 0.01630485, 0.0, 0.023172915, 0.05033493, 0.017955542, 0.008560598, 0.047734678, 0.016294718, 0.04011184, 0.011590123, 0.007900953, 0.03950095, 0.04473263, 0.03724289, 0.036793888, 0.030365348, 0.008299172, 0.031492174, 0.015251219, 0.0011495948, 0.006628573, 0.046812594, 0.017845333, 0.020925522, 0.0072631836, 0.027895331, 0.013991296, 0.0110449195, 0.020595789, 0.026925087, 0.015970826, 0.016552687, 0.010491312, 0.0045488477, 0.008064687, 0.062127054, 0.002090335, 0.00872767, 0.016482592, 0.02389431, 0.0024582744, 0.031577766, 0.045435846, 0.026954532, 0.01770997, 0.04586953, 0.023606598] 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-11-16T18:03:43.432 LOG append_items! ExhaustiveSearch{SimilaritySearch.DistanceWithIdentifiers{CosineDistance, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{UInt32}}} sp=0 ep=6 n=6 2025-11-16T18:03:43.433 [ Info: neardup> range: 17:32, current elements: 6, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:43.439 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:43.439 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:43.439 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:43.439 [ Info: neardup> range: 81:96, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:43.440 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:43.440 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2025-11-16T18:03:43.440 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000011, 0x00000013, 0x0000001e, 0x0000002c, 0x00000039, 0x00000048] D.nn = Int32[1, 2, 1, 4, 5, 6, 7, 1, 6, 6, 2, 4, 4, 4, 4, 2, 17, 2, 19, 1, 4, 4, 6, 1, 4, 1, 1, 2, 2, 30, 5, 4, 1, 7, 17, 30, 19, 17, 2, 7, 30, 1, 2, 44, 17, 1, 6, 2, 7, 7, 4, 19, 1, 44, 44, 17, 57, 19, 7, 6, 30, 17, 2, 1, 30, 5, 7, 4, 57, 30, 6, 72, 30, 30, 7, 30, 30, 30, 30, 4, 30, 30, 57, 2, 30, 1, 5, 17, 7, 4, 30, 4, 30, 30, 7, 2, 4, 17, 6, 30] D.dist = Float32[0.0, 0.0, 0.07392776, 0.0, 0.0, 0.0, 0.0, 0.0874275, 0.07297093, 0.03846556, 0.08217114, 0.0046216846, 0.040376127, 0.057380855, 0.081757724, 0.08641487, 0.0, 0.053171992, 0.0, 0.015943289, 0.08715719, 0.024510503, 0.029146194, 0.011381328, 0.00647372, 0.062049627, 0.094406486, 0.07111955, 0.09669101, 0.0, 0.036933184, 0.017267406, 0.071247876, 0.073880434, 0.008529305, 0.0055910945, 0.037251174, 0.057217002, 0.022595942, 0.00813359, 0.067718565, 0.039217114, 0.03361523, 0.0, 0.05942291, 0.048608303, 0.051991105, 0.028443515, 0.022451162, 0.0806368, 0.054213107, 0.06353325, 0.03372079, 0.04489088, 0.07964158, 0.048823535, 0.0, 0.046736836, 0.008560598, 0.06763828, 0.0148102045, 0.023677886, 0.011590123, 0.007900953, 0.029127836, 0.04473263, 0.03724289, 0.048010707, 0.012973607, 0.041751742, 0.031492174, 0.0, 0.023612082, 0.041762054, 0.046812594, 0.048626363, 0.014728546, 0.027863204, 0.017882645, 0.044047296, 0.0011720657, 0.036129296, 0.0131851435, 0.015970826, 0.02242726, 0.010491312, 0.030478597, 0.011826098, 0.062127054, 0.002090335, 0.02775836, 0.02394551, 0.0030415058, 0.029788375, 0.031577766, 0.047212064, 0.051565945, 0.029663265, 0.04586953, 0.011354327] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 7.5s computing farthest point 1, dmax: Inf, imax: 25, n: 30 computing farthest point 2, dmax: 1.1206664, imax: 23, n: 30 computing farthest point 3, dmax: 1.0313888, imax: 24, n: 30 computing farthest point 4, dmax: 0.8718221, imax: 28, n: 30 computing farthest point 5, dmax: 0.81988335, imax: 19, n: 30 computing farthest point 6, dmax: 0.68696827, imax: 18, n: 30 computing farthest point 7, dmax: 0.60645485, imax: 9, n: 30 computing farthest point 8, dmax: 0.5716305, imax: 5, n: 30 computing farthest point 9, dmax: 0.56415886, imax: 7, n: 30 computing farthest point 10, dmax: 0.5258563, imax: 17, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 1.6s Test Summary: | Pass Total Time AdjacencyList | 15 15 1.6s LOG add_vertex! sp=1 ep=1 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) 2025-11-16T18:03:51.699 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, Δ=0.95238096, maxvisits=112) 2025-11-16T18:04:03.022 LOG n.size quantiles:[3.0, 4.0, 4.0, 5.0, 6.0] (i, j, d) = (1, 145, -1.1920929f-7) (i, j, d, :parallel) = (1, 145, -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 => 18.878374947, :exact => 0.931387643) Test Summary: | Pass Total Time closestpair | 4 4 20.3s 5.830688 seconds (1.00 k allocations: 140.742 KiB) SEARCH Exhaustive 1: 0.004530 seconds SEARCH Exhaustive 2: 0.004798 seconds SEARCH Exhaustive 3: 0.005945 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-11-16T18:04:31.307 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=10, Δ=1.21275, maxvisits=206) 2025-11-16T18:04:36.597 LOG n.size quantiles:[5.0, 6.0, 6.0, 6.0, 6.0] LOG add_vertex! sp=18230 ep=18234 n=18229 BeamSearch(bsize=12, Δ=1.1, maxvisits=474) 2025-11-16T18:04:37.597 LOG n.size quantiles:[3.0, 4.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=33435 ep=33439 n=33434 BeamSearch(bsize=6, Δ=1.244447, maxvisits=458) 2025-11-16T18:04:38.597 LOG n.size quantiles:[7.0, 7.0, 8.0, 9.0, 9.0] LOG add_vertex! sp=44850 ep=44854 n=44849 BeamSearch(bsize=18, Δ=1.1851876, maxvisits=498) 2025-11-16T18:04:39.597 LOG n.size quantiles:[5.0, 5.0, 7.0, 7.0, 8.0] LOG add_vertex! sp=56185 ep=56189 n=56184 BeamSearch(bsize=18, Δ=1.1851876, maxvisits=498) 2025-11-16T18:04:40.597 LOG n.size quantiles:[6.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=65790 ep=65794 n=65789 BeamSearch(bsize=14, Δ=1.07625, maxvisits=440) 2025-11-16T18:04:41.597 LOG n.size quantiles:[5.0, 7.0, 8.0, 8.0, 10.0] LOG add_vertex! sp=76165 ep=76169 n=76164 BeamSearch(bsize=14, Δ=1.07625, maxvisits=440) 2025-11-16T18:04:42.598 LOG n.size quantiles:[2.0, 4.0, 6.0, 6.0, 7.0] LOG add_vertex! sp=85225 ep=85229 n=85224 BeamSearch(bsize=12, Δ=1.075, maxvisits=456) 2025-11-16T18:04:44.078 LOG n.size quantiles:[7.0, 7.0, 7.0, 10.0, 12.0] LOG add_vertex! sp=94780 ep=94784 n=94779 BeamSearch(bsize=12, Δ=1.075, maxvisits=456) 2025-11-16T18:04:45.078 LOG n.size quantiles:[5.0, 6.0, 6.0, 8.0, 8.0] quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 6.0, 8.0, 9.0, 10.0, 11.0, 13.0, 15.0, 18.0, 23.0, 87.0] [ Info: minrecall: queries per second: 13149.286452655719, recall: 0.901125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=16, Δ=1.1, maxvisits=644)) 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, 87.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.155, maxvisits=578)), 1000, 8) [ Info: rebuild: queries per second: 15154.245211751026, recall: 0.90125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.155, maxvisits=578)) 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(bsize=12, Δ=1.12, maxvisits=730)), 1000, 8) 1.679768 seconds (610.33 k allocations: 31.098 MiB, 95.28% compilation time) [ Info: matrixhints: queries per second: 12708.292245835966, recall: 0.90325 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=12, Δ=1.12, maxvisits=730)) 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, 87.0] 2.155411 seconds (1.00 k allocations: 140.711 KiB) SEARCH Exhaustive 1: 0.001944 seconds SEARCH Exhaustive 2: 0.001954 seconds SEARCH Exhaustive 3: 0.002028 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-11-16T18:05:54.390 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=10, Δ=1.21275, maxvisits=206) 2025-11-16T18:05:59.936 LOG n.size quantiles:[5.0, 6.0, 6.0, 6.0, 6.0] LOG add_vertex! sp=22635 ep=22639 n=22634 BeamSearch(bsize=12, Δ=1.1, maxvisits=474) 2025-11-16T18:06:00.936 LOG n.size quantiles:[4.0, 6.0, 8.0, 10.0, 12.0] LOG add_vertex! sp=37415 ep=37419 n=37414 BeamSearch(bsize=6, Δ=1.244447, maxvisits=458) 2025-11-16T18:06:01.936 LOG n.size quantiles:[7.0, 7.0, 7.0, 8.0, 8.0] LOG add_vertex! sp=49365 ep=49369 n=49364 BeamSearch(bsize=18, Δ=1.1851876, maxvisits=498) 2025-11-16T18:06:02.937 LOG n.size quantiles:[6.0, 7.0, 9.0, 9.0, 9.0] LOG add_vertex! sp=59465 ep=59469 n=59464 BeamSearch(bsize=14, Δ=1.07625, maxvisits=440) 2025-11-16T18:06:03.937 LOG n.size quantiles:[5.0, 6.0, 6.0, 7.0, 8.0] LOG add_vertex! sp=71515 ep=71519 n=71514 BeamSearch(bsize=14, Δ=1.07625, maxvisits=440) 2025-11-16T18:06:04.937 LOG n.size quantiles:[5.0, 6.0, 7.0, 8.0, 10.0] LOG add_vertex! sp=83045 ep=83049 n=83044 BeamSearch(bsize=14, Δ=1.07625, maxvisits=440) 2025-11-16T18:06:05.937 LOG n.size quantiles:[6.0, 8.0, 8.0, 8.0, 9.0] LOG add_vertex! sp=92680 ep=92684 n=92679 BeamSearch(bsize=12, Δ=1.075, maxvisits=456) 2025-11-16T18:06:06.937 LOG n.size quantiles:[4.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, 87.0] [ Info: minrecall: queries per second: 15029.341633377426, recall: 0.901125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=16, Δ=1.1, maxvisits=644)) 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, 87.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.155, maxvisits=578)), 1000, 8) [ Info: rebuild: queries per second: 17338.71527055331, recall: 0.90125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=14, Δ=1.155, maxvisits=578)) 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(bsize=12, Δ=1.12, maxvisits=730)), 1000, 8) 1.761893 seconds (566.26 k allocations: 28.919 MiB, 6.87% gc time, 95.58% compilation time) [ Info: matrixhints: queries per second: 13733.995174560794, recall: 0.90325 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=12, Δ=1.12, maxvisits=730)) 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, 87.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 18 18 2m38.2s Testing SimilaritySearch tests passed Testing completed after 690.73s PkgEval succeeded after 767.51s