Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1840 (ab7ba34e40*) started at 2026-03-05T19:48:21.913 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 13.15s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Installed SimilaritySearch ─ v0.14.0 Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.14.0 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.43 [79e6a3ab] + Adapt v4.5.0 [66dad0bd] + AliasTables v1.1.3 [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 [31c24e10] + Distributions v0.25.123 [ffbed154] + DocStringExtensions v0.9.5 [1a297f60] + FillArrays v1.16.0 [34004b35] + HypergeometricFunctions v0.3.28 [615f187c] + IfElse v0.1.1 [3587e190] + InverseFunctions v0.1.17 [92d709cd] + IrrationalConstants v0.2.6 [692b3bcd] + JLLWrappers v1.7.1 [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 ⌃ [90014a1f] + PDMats v0.11.35 [f517fe37] + Polyester v0.7.19 [1d0040c9] + PolyesterWeave v0.2.2 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.2 [92933f4c] + ProgressMeter v1.11.0 [43287f4e] + PtrArrays v1.4.0 [1fd47b50] + QuadGK v2.11.2 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [79098fc4] + Rmath v0.9.0 [94e857df] + SIMDTypes v0.1.0 [431bcebd] + SciMLPublic v1.0.1 [0e966ebe] + SearchModels v0.5.0 [053f045d] + SimilaritySearch v0.14.0 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.7.1 [aedffcd0] + Static v1.3.1 [0d7ed370] + StaticArrayInterface v1.9.0 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.8.0 ⌅ [2913bbd2] + StatsBase v0.33.21 [4c63d2b9] + StatsFuns v1.5.2 [7792a7ef] + StrideArraysCore v0.5.8 [8290d209] + ThreadingUtilities v0.5.5 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [f50d1b31] + Rmath_jll v0.5.1+0 [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 [4607b0f0] + SuiteSparse [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.30+0 [05823500] + OpenLibm_jll v0.8.7+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [8e850b90] + libblastrampoline_jll v5.15.0+0 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m` Installation completed after 6.75s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3255.7 ms ✓ SearchModels 9864.2 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 14 seconds. 107 already precompiled. Precompilation completed after 39.44s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_u2MIfN/Project.toml` [7d9f7c33] Accessors v0.1.43 [4c88cf16] Aqua v0.8.14 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.123 [f517fe37] Polyester v0.7.19 [92933f4c] ProgressMeter v1.11.0 [0e966ebe] SearchModels v0.5.0 [053f045d] SimilaritySearch v0.14.0 [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_u2MIfN/Manifest.toml` [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.5.0 [66dad0bd] AliasTables v1.1.3 [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 [31c24e10] Distributions v0.25.123 [ffbed154] DocStringExtensions v0.9.5 [1a297f60] FillArrays v1.16.0 [34004b35] HypergeometricFunctions v0.3.28 [615f187c] IfElse v0.1.1 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.6 [692b3bcd] JLLWrappers v1.7.1 [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 ⌃ [90014a1f] PDMats v0.11.35 [f517fe37] Polyester v0.7.19 [1d0040c9] PolyesterWeave v0.2.2 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.2 [92933f4c] ProgressMeter v1.11.0 [43287f4e] PtrArrays v1.4.0 [1fd47b50] QuadGK v2.11.2 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [79098fc4] Rmath v0.9.0 [94e857df] SIMDTypes v0.1.0 [431bcebd] SciMLPublic v1.0.1 [0e966ebe] SearchModels v0.5.0 [053f045d] SimilaritySearch v0.14.0 [a2af1166] SortingAlgorithms v1.2.2 [276daf66] SpecialFunctions v2.7.1 [aedffcd0] Static v1.3.1 [0d7ed370] StaticArrayInterface v1.9.0 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.8.0 ⌅ [2913bbd2] StatsBase v0.33.21 [4c63d2b9] StatsFuns v1.5.2 [7792a7ef] StrideArraysCore v0.5.8 [8290d209] ThreadingUtilities v0.5.5 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [f50d1b31] Rmath_jll v0.5.1+0 [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 [4607b0f0] SuiteSparse [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.30+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.5+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.2+0 [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 ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. Testing Running tests... Test Summary: | Pass Total Time test database abstractions | 57 57 17.0s Test Summary: | Pass Total Time heap | 16 16 0.2s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.2s Test Summary: | Pass Total Time XKnn | 25005 25005 3.2s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.3s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) SimilaritySearch.Dist.L2: 0.028367 seconds SimilaritySearch.Dist.L2: 0.028733 seconds SimilaritySearch.Dist.L1: 0.026451 seconds SimilaritySearch.Dist.L1: 0.026301 seconds SimilaritySearch.Dist.LInfty: 0.031299 seconds SimilaritySearch.Dist.LInfty: 0.031480 seconds SimilaritySearch.Dist.SqL2: 0.030997 seconds SimilaritySearch.Dist.SqL2: 0.031916 seconds SimilaritySearch.Dist.Lp: 0.146164 seconds SimilaritySearch.Dist.Lp: 0.150903 seconds SimilaritySearch.Dist.Lp: 0.297010 seconds SimilaritySearch.Dist.Lp: 0.300782 seconds SimilaritySearch.Dist.Angle: 0.189937 seconds (5.21 k allocations: 279.094 KiB) SimilaritySearch.Dist.Angle: 0.180351 seconds SimilaritySearch.Dist.Cosine: 0.157976 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.157183 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 29.0s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.027557 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.027024 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.262978 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.264802 seconds SimilaritySearch.Dist.Seqs.LCS: 0.260344 seconds SimilaritySearch.Dist.Seqs.LCS: 0.288227 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.026637 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.032464 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 13.5s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.065518 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.066049 seconds SimilaritySearch.Dist.Sets.Dice: 0.077340 seconds SimilaritySearch.Dist.Sets.Dice: 0.070846 seconds SimilaritySearch.Dist.Sets.Intersection: 0.069597 seconds SimilaritySearch.Dist.Sets.Intersection: 0.070152 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.068607 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.068307 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 13.4s SimilaritySearch.Dist.NormAngle: 0.003875 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003904 seconds SimilaritySearch.Dist.NormCosine: 0.003282 seconds SimilaritySearch.Dist.NormCosine: 0.003333 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 6.9s SimilaritySearch.Dist.Bits.Hamming: 0.004192 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004166 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008180 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008234 seconds Test Summary: | Pass Total Time Binary distances | 200 200 7.3s quantile(length.(hsp_knns), 0:0.1:1) = [2.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 5.0] Test Summary: | Total Time HSP | 0 6.7s computing farthest point 1, dmax: Inf, imax: 24, n: 30 computing farthest point 2, dmax: 1.2991263, imax: 20, n: 30 computing farthest point 3, dmax: 0.91428155, imax: 15, n: 30 computing farthest point 4, dmax: 0.9072997, imax: 25, n: 30 computing farthest point 5, dmax: 0.8006731, imax: 3, n: 30 computing farthest point 6, dmax: 0.78423625, imax: 9, n: 30 computing farthest point 7, dmax: 0.656114, imax: 26, n: 30 computing farthest point 8, dmax: 0.6027659, imax: 7, n: 30 computing farthest point 9, dmax: 0.5706319, imax: 22, n: 30 computing farthest point 10, dmax: 0.54221094, imax: 14, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.7s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 4.5s 5.304913 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.006746 seconds SEARCH Exhaustive 2: 0.006976 seconds SEARCH Exhaustive 3: 0.007590 seconds typeof(seq) = ExhaustiveSearch{SimilaritySearch.Dist.SqL2, 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{IdDist}} [ Info: ===================== minrecall Base.Pairs{Symbol, Union{}, Nothing, @NamedTuple{}}() ============================== LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:52:18.169 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=2 ep=2 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:52:22.300 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=9, Δ=1.1025, maxvisits=304) mem=1GB max-rss=1GB 2026-03-05T19:52:33.364 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=13860 ep=13860 n=13859 BeamSearch(bsize=6, Δ=0.9750567, maxvisits=570) mem=1GB max-rss=1GB 2026-03-05T19:52:35.364 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=25352 ep=25352 n=25351 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=714) mem=1GB max-rss=1GB 2026-03-05T19:52:37.364 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=35786 ep=35786 n=35785 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=714) mem=1GB max-rss=1GB 2026-03-05T19:52:39.365 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=44669 ep=44669 n=44668 BeamSearch(bsize=6, Δ=0.8618789, maxvisits=692) mem=1GB max-rss=1GB 2026-03-05T19:52:41.365 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=54300 ep=54300 n=54299 BeamSearch(bsize=6, Δ=0.8618789, maxvisits=692) mem=1GB max-rss=1GB 2026-03-05T19:52:43.365 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=62355 ep=62355 n=62354 BeamSearch(bsize=6, Δ=0.84, maxvisits=686) mem=1GB max-rss=1GB 2026-03-05T19:52:45.365 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=71262 ep=71262 n=71261 BeamSearch(bsize=6, Δ=0.84, maxvisits=686) mem=1GB max-rss=1GB 2026-03-05T19:52:47.365 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=80446 ep=80446 n=80445 BeamSearch(bsize=6, Δ=0.84, maxvisits=686) mem=1GB max-rss=1GB 2026-03-05T19:52:49.365 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=87455 ep=87455 n=87454 BeamSearch(bsize=6, Δ=1.03, maxvisits=720) mem=1GB max-rss=1GB 2026-03-05T19:52:51.365 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=94712 ep=94712 n=94711 BeamSearch(bsize=6, Δ=1.03, maxvisits=720) mem=1GB max-rss=1GB 2026-03-05T19:52:53.366 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 114.0] [ Info: minrecall: queries per second: 9618.307471051106, recall: 0.900375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=856)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 114.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8638376, maxvisits=668)), 1000, 8) [ Info: rebuild: queries per second: 11501.70650819462, recall: 0.8945 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8638376, maxvisits=668)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [3.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8148672, maxvisits=940)), 1000, 8) 2.918092 seconds (491.08 k allocations: 29.977 MiB, 96.72% compilation time) [ Info: matrixhints: queries per second: 10137.99401519744, recall: 0.903625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8148672, maxvisits=940)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 114.0] [ Info: ===================== minrecall Base.Pairs{Symbol, AdjDict{UInt32}, Nothing, @NamedTuple{adj::AdjDict{UInt32}}}(:adj => AdjDict{UInt32}(Dict{UInt32, Vector{UInt32}}(), UInt32[], Base.Threads.SpinLock(0))) ============================== LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:54:37.021 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=9, Δ=1.1025, maxvisits=304) mem=1GB max-rss=1GB 2026-03-05T19:54:40.273 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=17876 ep=17876 n=17875 BeamSearch(bsize=4, Δ=0.82857144, maxvisits=520) mem=1GB max-rss=1GB 2026-03-05T19:54:42.273 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=32316 ep=32316 n=32315 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=714) mem=1GB max-rss=1GB 2026-03-05T19:54:44.273 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=43347 ep=43347 n=43346 BeamSearch(bsize=6, Δ=0.8618789, maxvisits=692) mem=1GB max-rss=1GB 2026-03-05T19:54:46.273 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=55265 ep=55265 n=55264 BeamSearch(bsize=6, Δ=0.8618789, maxvisits=692) mem=1GB max-rss=1GB 2026-03-05T19:54:48.273 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=64833 ep=64833 n=64832 BeamSearch(bsize=6, Δ=0.84, maxvisits=686) mem=1GB max-rss=1GB 2026-03-05T19:54:50.273 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=75737 ep=75737 n=75736 BeamSearch(bsize=6, Δ=0.84, maxvisits=686) mem=1GB max-rss=1GB 2026-03-05T19:54:52.274 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=85224 ep=85224 n=85223 BeamSearch(bsize=6, Δ=1.03, maxvisits=720) mem=1GB max-rss=1GB 2026-03-05T19:54:54.444 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=93984 ep=93984 n=93983 BeamSearch(bsize=6, Δ=1.03, maxvisits=720) mem=1GB max-rss=1GB 2026-03-05T19:54:56.444 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 114.0] [ Info: minrecall: queries per second: 10847.71391263351, recall: 0.900375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=856)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 114.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8638376, maxvisits=668)), 1000, 8) [ Info: rebuild: queries per second: 12410.680641688783, recall: 0.8945 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8638376, maxvisits=668)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [3.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8148672, maxvisits=940)), 1000, 8) 3.033749 seconds (485.27 k allocations: 29.155 MiB, 3.09% gc time, 97.01% compilation time) [ Info: matrixhints: queries per second: 10897.376506733935, recall: 0.903625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8148672, maxvisits=940)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 114.0] 1.044068 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.003281 seconds SEARCH Exhaustive 2: 0.003246 seconds SEARCH Exhaustive 3: 0.003381 seconds typeof(seq) = ExhaustiveSearch{SimilaritySearch.Dist.SqL2, 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{IdDist}} [ Info: ===================== minrecall Base.Pairs{Symbol, Union{}, Nothing, @NamedTuple{}}() ============================== LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:56:40.415 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=2 ep=2 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:56:42.461 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=6, Δ=0.8888889, maxvisits=260) mem=1GB max-rss=1GB 2026-03-05T19:56:53.689 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=14551 ep=14551 n=14550 BeamSearch(bsize=6, Δ=0.8638376, maxvisits=542) mem=1GB max-rss=1GB 2026-03-05T19:56:55.689 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=24093 ep=24093 n=24092 BeamSearch(bsize=6, Δ=0.98, maxvisits=560) mem=1GB max-rss=1GB 2026-03-05T19:56:57.690 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=36599 ep=36599 n=36598 BeamSearch(bsize=4, Δ=0.8761905, maxvisits=672) mem=1GB max-rss=1GB 2026-03-05T19:56:59.690 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=45904 ep=45904 n=45903 BeamSearch(bsize=8, Δ=0.9714286, maxvisits=766) mem=1GB max-rss=1GB 2026-03-05T19:57:01.690 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=55067 ep=55067 n=55066 BeamSearch(bsize=8, Δ=0.9714286, maxvisits=766) mem=1GB max-rss=1GB 2026-03-05T19:57:03.690 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=64775 ep=64775 n=64774 BeamSearch(bsize=4, Δ=0.89, maxvisits=612) mem=1GB max-rss=1GB 2026-03-05T19:57:05.690 LOG n.size quantiles:[14.0, 14.0, 14.0, 14.0, 14.0] LOG add! sp=75187 ep=75187 n=75186 BeamSearch(bsize=4, Δ=0.89, maxvisits=612) mem=1GB max-rss=1GB 2026-03-05T19:57:07.690 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=85224 ep=85224 n=85223 BeamSearch(bsize=8, Δ=1.0, maxvisits=782) mem=1GB max-rss=1GB 2026-03-05T19:57:09.909 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=93254 ep=93254 n=93253 BeamSearch(bsize=8, Δ=1.0, maxvisits=782) mem=1GB max-rss=1GB 2026-03-05T19:57:11.909 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 109.0] [ Info: minrecall: queries per second: 12760.994723111746, recall: 0.904375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.075, maxvisits=886)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 109.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=3, Δ=0.9502214, maxvisits=672)), 1000, 8) [ Info: rebuild: queries per second: 14470.96936147036, recall: 0.902625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=3, Δ=0.9502214, maxvisits=672)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 23.0, 24.0, 26.0, 28.0, 30.0, 34.0, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.78911567, maxvisits=842)), 1000, 8) 3.076302 seconds (429.88 k allocations: 26.178 MiB, 97.47% compilation time) [ Info: matrixhints: queries per second: 13107.61908409568, recall: 0.903625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.78911567, maxvisits=842)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 109.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 6m39.4s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:30.264 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:58:30.539 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=2 ep=2 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:58:32.613 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] [ Info: neardup> finished current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:32.614 D.map = UInt32[0x00000001, 0x00000002, 0x00000006, 0x0000000f, 0x00000014, 0x00000016, 0x00000019, 0x0000003e, 0x00000045] D.nn = Int32[1, 2, 1, 1, 2, 6, 6, 1, 6, 2, 6, 2, 6, 1, 15, 1, 15, 6, 6, 20, 15, 22, 6, 6, 25, 2, 6, 6, 25, 6, 2, 2, 15, 6, 20, 6, 1, 6, 6, 2, 1, 2, 6, 1, 25, 1, 6, 15, 15, 20, 25, 1, 6, 25, 6, 6, 15, 6, 25, 6, 25, 62, 6, 22, 15, 22, 25, 6, 69, 62, 20, 62, 25, 6, 6, 25, 2, 6, 6, 15, 20, 62, 25, 25, 62, 15, 1, 1, 20, 15, 15, 25, 6, 1, 25, 15, 25, 1, 25, 25] D.dist = Float32[0.0, 0.0, 0.010477006, 0.06935048, 0.023402035, 0.0, 0.030904472, 0.047782004, 0.084148765, 0.07292193, 0.040760636, 0.037846684, 0.06004697, 0.031888664, 0.0, 0.07019758, 0.01458174, 0.04597777, 0.020147622, 0.0, 0.048689604, 0.0, 0.040421546, 0.03451258, 0.0, 0.0142912865, 0.017442942, 0.0505206, 0.038809657, 0.027411878, 0.0527519, 0.07594061, 0.05415964, 0.052508473, 0.03408581, 0.06085974, 0.010078311, 0.022557676, 0.06161213, 0.040371478, 0.04133874, 0.015871763, 0.024229467, 0.02389586, 0.027074099, 0.052330077, 0.010245144, 0.012571812, 0.024282694, 0.05382347, 0.0019958615, 0.06325829, 0.034722865, 0.09075862, 0.037325025, 0.07027179, 0.041654825, 0.011185646, 0.015728414, 0.08564037, 0.050272286, 0.0, 0.031241834, 0.012060285, 0.03110087, 0.039810836, 0.016179085, 0.0033605099, 0.0, 0.0143255, 0.06200391, 0.046067715, 0.012537837, 0.041334808, 0.0643996, 0.041389883, 0.056979, 0.03050381, 0.036349237, 0.01671344, 0.056364477, 0.011355221, 0.02106601, 0.042170644, 0.054733634, 0.047842562, 0.03874433, 0.05593604, 0.00950551, 0.07178688, 0.06140232, 0.031150043, 0.0072109103, 0.060794175, 0.054966927, 0.0091814995, 0.070224345, 0.0677107, 0.03137839, 0.037815988] Test Summary: | Pass Total Time neardup single block | 3 3 22.0s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.716 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:58:33.717 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 4, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.718 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.718 [ Info: neardup> range: 49:64, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.718 [ Info: neardup> range: 65:80, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.718 [ Info: neardup> range: 81:96, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.718 [ Info: neardup> range: 97:100, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.719 [ Info: neardup> finished current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.719 D.map = UInt32[0x00000001, 0x00000002, 0x00000006, 0x0000000f, 0x00000014, 0x00000016, 0x00000019, 0x0000003e, 0x00000045] D.nn = Int32[1, 2, 1, 1, 2, 6, 6, 1, 6, 2, 6, 2, 6, 1, 15, 1, 15, 6, 6, 20, 15, 22, 6, 6, 25, 2, 6, 6, 6, 6, 2, 2, 15, 6, 20, 6, 1, 6, 6, 2, 1, 2, 6, 1, 25, 1, 6, 15, 15, 20, 25, 1, 6, 25, 6, 6, 15, 6, 25, 6, 25, 62, 6, 22, 15, 22, 25, 6, 69, 62, 20, 62, 25, 6, 6, 25, 2, 6, 6, 15, 20, 62, 25, 25, 62, 15, 1, 1, 20, 15, 15, 25, 6, 1, 25, 15, 25, 1, 25, 25] D.dist = Float32[0.0, 0.0, 0.010477006, 0.06935048, 0.023402035, 0.0, 0.030904472, 0.047782004, 0.084148765, 0.07292193, 0.040760636, 0.037846684, 0.06004697, 0.031888664, 0.0, 0.07019758, 0.01458174, 0.04597777, 0.020147622, 0.0, 0.048689604, 0.0, 0.040421546, 0.03451258, 0.0, 0.0142912865, 0.017442942, 0.0505206, 0.061934054, 0.027411878, 0.0527519, 0.07594061, 0.05415964, 0.052508473, 0.03408581, 0.06085974, 0.010078311, 0.022557676, 0.06161213, 0.040371478, 0.04133874, 0.015871763, 0.024229467, 0.02389586, 0.027074099, 0.052330077, 0.010245144, 0.012571812, 0.024282694, 0.05382347, 0.0019958615, 0.06325829, 0.034722865, 0.09075862, 0.037325025, 0.07027179, 0.041654825, 0.011185646, 0.015728414, 0.08564037, 0.050272286, 0.0, 0.031241834, 0.012060285, 0.03110087, 0.039810836, 0.016179085, 0.0033605099, 0.0, 0.0143255, 0.06200391, 0.046067715, 0.012537837, 0.041334808, 0.0643996, 0.041389883, 0.056979, 0.03050381, 0.036349237, 0.01671344, 0.056364477, 0.011355221, 0.02106601, 0.042170644, 0.054733634, 0.047842562, 0.03874433, 0.05593604, 0.00950551, 0.07178688, 0.06140232, 0.031150043, 0.0072109103, 0.060794175, 0.054966927, 0.0091814995, 0.070224345, 0.0677107, 0.03137839, 0.037815988] Test Summary: | Pass Total Time neardup small block | 3 3 0.1s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.876 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:58:33.876 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-03-05T19:58:33.877 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.878 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.878 [ Info: neardup> range: 65:80, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.878 [ Info: neardup> range: 81:96, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.878 [ Info: neardup> range: 97:100, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.878 [ Info: neardup> finished current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:33.878 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000014] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 15, 9, 6, 20, 15, 16, 11, 11, 13, 2, 6, 11, 11, 11, 10, 5, 8, 12, 20, 5, 1, 4, 5, 12, 4, 5, 13, 4, 13, 10, 6, 15, 15, 20, 13, 8, 4, 11, 4, 9, 7, 4, 13, 4, 11, 9, 5, 16, 7, 16, 11, 6, 14, 9, 20, 9, 13, 5, 5, 11, 12, 7, 4, 15, 20, 13, 13, 11, 9, 8, 4, 10, 20, 8, 7, 11, 6, 16, 13, 15, 11, 3, 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.01458174, 0.009481907, 0.020147622, 0.0, 0.048689604, 0.051513076, 0.004804611, 0.011794448, 0.060554147, 0.0142912865, 0.017442942, 0.024453163, 0.042761028, 0.021629393, 0.028401852, 0.035830975, 0.014122367, 0.004356563, 0.03408581, 0.016905785, 0.010078311, 0.0044281483, 0.019752204, 0.018497527, 0.025013983, 0.015504718, 0.019018888, 0.01850593, 0.09527594, 0.0120123625, 0.010245144, 0.012571812, 0.024282694, 0.05382347, 0.05246532, 0.013189912, 0.007891536, 0.04655534, 0.0036590695, 0.061543047, 0.04006231, 0.0073254704, 0.0327875, 0.040967584, 0.060487986, 0.07735038, 0.023338556, 0.048613727, 0.01285392, 0.035967886, 0.07135987, 0.0033605099, 0.03015536, 0.030282319, 0.06200391, 0.005932212, 0.037549734, 0.03040421, 0.046500444, 0.07576823, 0.056221604, 0.026364148, 0.019634962, 0.01671344, 0.056364477, 0.08494693, 0.036047697, 0.038061857, 0.028224826, 0.026334405, 0.0050829053, 0.017931223, 0.00950551, 0.008812904, 0.036728144, 0.07949865, 0.0072109103, 0.002933085, 0.022468805, 0.0091814995, 0.027751148, 0.055782795, 0.06379694, 0.0530262] 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-03-05T19:58:45.369 LOG append_items! ExhaustiveSearch{SimilaritySearch.Dist.Hacks.DistanceWithIdentifiers{SimilaritySearch.Dist.Cosine, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{Int32}}} sp=0 ep=4 n=4 mem=32768 max-rss=701 2026-03-05T19:58:45.369 [ Info: neardup> range: 17:32, current elements: 4, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:45.374 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:45.375 [ Info: neardup> range: 49:64, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:45.375 [ Info: neardup> range: 65:80, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:45.375 [ Info: neardup> range: 81:96, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:45.375 [ Info: neardup> range: 97:100, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:45.375 [ Info: neardup> finished current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-05T19:58:45.375 D.map = UInt32[0x00000001, 0x00000002, 0x00000006, 0x0000000f, 0x00000014, 0x00000016, 0x00000019, 0x0000003e, 0x00000045] D.nn = Int32[1, 2, 1, 1, 2, 6, 6, 1, 6, 2, 6, 2, 6, 1, 15, 1, 15, 6, 6, 20, 15, 22, 6, 6, 25, 2, 6, 6, 6, 6, 2, 2, 15, 6, 20, 6, 1, 6, 6, 2, 1, 2, 6, 1, 25, 1, 6, 15, 15, 20, 25, 1, 6, 25, 6, 6, 15, 6, 25, 6, 25, 62, 6, 22, 15, 22, 25, 6, 69, 62, 20, 62, 25, 6, 6, 25, 2, 6, 6, 15, 20, 62, 25, 25, 62, 15, 1, 1, 20, 15, 15, 25, 6, 1, 25, 15, 25, 1, 25, 25] D.dist = Float32[0.0, 0.0, 0.010477006, 0.06935048, 0.023402035, 0.0, 0.030904472, 0.047782004, 0.084148765, 0.07292193, 0.040760636, 0.037846684, 0.06004697, 0.031888664, 0.0, 0.07019758, 0.01458174, 0.04597777, 0.020147622, 0.0, 0.048689604, 0.0, 0.040421546, 0.03451258, 0.0, 0.0142912865, 0.017442942, 0.0505206, 0.061934054, 0.027411878, 0.0527519, 0.07594061, 0.05415964, 0.052508473, 0.03408581, 0.06085974, 0.010078311, 0.022557676, 0.06161213, 0.040371478, 0.04133874, 0.015871763, 0.024229467, 0.02389586, 0.027074099, 0.052330077, 0.010245144, 0.012571812, 0.024282694, 0.05382347, 0.0019958615, 0.06325829, 0.034722865, 0.09075862, 0.037325025, 0.07027179, 0.041654825, 0.011185646, 0.015728414, 0.08564037, 0.050272286, 0.0, 0.031241834, 0.012060285, 0.03110087, 0.039810836, 0.016179085, 0.0033605099, 0.0, 0.0143255, 0.06200391, 0.046067715, 0.012537837, 0.041334808, 0.0643996, 0.041389883, 0.056979, 0.03050381, 0.036349237, 0.01671344, 0.056364477, 0.011355221, 0.02106601, 0.042170644, 0.054733634, 0.047842562, 0.03874433, 0.05593604, 0.00950551, 0.07178688, 0.06140232, 0.031150043, 0.0072109103, 0.060794175, 0.054966927, 0.0091814995, 0.070224345, 0.0677107, 0.03137839, 0.037815988] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 11.5s ExhaustiveSearch allknn: 1.978956 seconds (470.26 k allocations: 27.938 MiB, 99.95% compilation time) [ Info: All KNN quartile 1-th: [ Info: 1 => [0.0, 0.0, 0.0, 0.0, 0.0] [ Info: All KNN quartile 2-th: [ Info: 2 => [0.10572952032089233, 0.17083977162837982, 0.21500813215970993, 0.266397088766098, 0.3590310215950012] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.1522209495306015, 0.2375565655529499, 0.2679035812616348, 0.3144457936286926, 0.4394148886203766] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.17362254858016968, 0.27486715465784073, 0.31265072524547577, 0.3461265563964844, 0.44887131452560425] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.22072747349739075, 0.30496154725551605, 0.3473941683769226, 0.3793066665530205, 0.5130785703659058] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.256764680147171, 0.3288344666361809, 0.3705385625362396, 0.4038385823369026, 0.5561439394950867] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:58:55.933 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=2 ep=2 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:58:58.067 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] SearchGraph allknn: 5.646945 seconds (607.62 k allocations: 38.331 MiB, 99.99% compilation time) recall = 0.9699999999999999 recall > 0.8 = true recall = 0.9699999999999999 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [2.0, 4.0, 6.0, 8.25, 16.0] Test Summary: | Pass Total Time allknn | 3 3 29.6s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-05T19:59:21.416 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=4, Δ=0.95238096, maxvisits=160) mem=1GB max-rss=1GB 2026-03-05T19:59:33.361 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (24, 333, -1.1920929f-7) (i, j, d, :parallel) = (24, 333, -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 => 20.288416721, :exact => 1.046071675) Test Summary: | Pass Total Time closestpair | 4 4 21.9s Testing SimilaritySearch tests passed Testing completed after 612.41s PkgEval succeeded after 685.33s