Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.2302 (b8ba835509*) started at 2026-06-06T20:48:48.146 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 16.42s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.14.3 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.44 [79e6a3ab] + Adapt v4.6.0 [66dad0bd] + AliasTables v1.1.3 [4fba245c] + ArrayInterface v7.25.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.19.5 [b4f34e82] + Distances v0.10.12 [31c24e10] + Distributions v0.25.126 [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.8.0 [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.2 [90014a1f] + PDMats v0.11.37 [f517fe37] + Polyester v0.7.19 [1d0040c9] + PolyesterWeave v0.2.2 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [92933f4c] + ProgressMeter v1.11.0 [43287f4e] + PtrArrays v1.4.0 [1fd47b50] + QuadGK v2.11.3 [189a3867] + Reexport v1.2.2 [79098fc4] + Rmath v0.9.0 [94e857df] + SIMDTypes v0.1.0 [431bcebd] + SciMLPublic v1.0.1 [0e966ebe] + SearchModels v0.5.1 [053f045d] + SimilaritySearch v0.14.3 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.8.0 [aedffcd0] + Static v1.4.0 [0d7ed370] + StaticArrayInterface v1.10.0 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.8.0 [2913bbd2] + StatsBase v0.34.11 [4c63d2b9] + StatsFuns v2.0.1 [7792a7ef] + StrideArraysCore v0.5.9 [8290d209] + ThreadingUtilities v0.5.6 [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 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.14.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.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.5.2+0 [4536629a] + OpenBLAS_jll v0.3.33+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 ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 6.08s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 4.3 s ✓ SearchModels 11.4 s ✓ SimilaritySearch 2 dependencies successfully precompiled in 16 seconds. 107 already precompiled. Precompilation completed after 46.5s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_1rTGcR/Project.toml` [7d9f7c33] Accessors v0.1.44 [4c88cf16] Aqua v0.8.16 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.126 [f517fe37] Polyester v0.7.19 [92933f4c] ProgressMeter v1.11.0 [0e966ebe] SearchModels v0.5.1 [053f045d] SimilaritySearch v0.14.3 [10745b16] Statistics v1.11.1 [2913bbd2] StatsBase v0.34.11 [7792a7ef] StrideArraysCore v0.5.9 [ade2ca70] Dates v1.11.0 [37e2e46d] LinearAlgebra v1.14.0 [9a3f8284] Random v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_1rTGcR/Manifest.toml` [7d9f7c33] Accessors v0.1.44 [79e6a3ab] Adapt v4.6.0 [66dad0bd] AliasTables v1.1.3 [4c88cf16] Aqua v0.8.16 [4fba245c] ArrayInterface v7.25.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.19.5 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.126 [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.8.0 [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.2 [90014a1f] PDMats v0.11.37 [f517fe37] Polyester v0.7.19 [1d0040c9] PolyesterWeave v0.2.2 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [92933f4c] ProgressMeter v1.11.0 [43287f4e] PtrArrays v1.4.0 [1fd47b50] QuadGK v2.11.3 [189a3867] Reexport v1.2.2 [79098fc4] Rmath v0.9.0 [94e857df] SIMDTypes v0.1.0 [431bcebd] SciMLPublic v1.0.1 [0e966ebe] SearchModels v0.5.1 [053f045d] SimilaritySearch v0.14.3 [a2af1166] SortingAlgorithms v1.2.2 [276daf66] SpecialFunctions v2.8.0 [aedffcd0] Static v1.4.0 [0d7ed370] StaticArrayInterface v1.10.0 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.8.0 [2913bbd2] StatsBase v0.34.11 [4c63d2b9] StatsFuns v2.0.1 [7792a7ef] StrideArraysCore v0.5.9 [8290d209] ThreadingUtilities v0.5.6 [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.14.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.13.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.5.2+0 [deac9b47] LibCURL_jll v8.20.0+1 [e37daf67] LibGit2_jll v1.9.4+0 [29816b5a] LibSSH2_jll v1.11.101+0 [14a3606d] MozillaCACerts_jll v2026.5.14 [4536629a] OpenBLAS_jll v0.3.33+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.6+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.69.0+0 [3f19e933] p7zip_jll v17.8.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 | 57 57 21.4s Test Summary: | Pass Total Time heap | 16 16 0.1s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.1s Test Summary: | Pass Total Time XKnn | 25005 25005 3.1s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.4s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) SimilaritySearch.Dist.L2: 0.031939 seconds SimilaritySearch.Dist.L2: 0.030169 seconds SimilaritySearch.Dist.L1: 0.030770 seconds SimilaritySearch.Dist.L1: 0.030925 seconds SimilaritySearch.Dist.LInfty: 0.030992 seconds SimilaritySearch.Dist.LInfty: 0.031155 seconds SimilaritySearch.Dist.SqL2: 0.033607 seconds SimilaritySearch.Dist.SqL2: 0.034096 seconds SimilaritySearch.Dist.Lp: 0.137647 seconds SimilaritySearch.Dist.Lp: 0.145025 seconds SimilaritySearch.Dist.Lp: 0.272473 seconds SimilaritySearch.Dist.Lp: 0.268318 seconds SimilaritySearch.Dist.Angle: 0.195350 seconds (5.21 k allocations: 279.062 KiB) SimilaritySearch.Dist.Angle: 0.188565 seconds SimilaritySearch.Dist.Cosine: 0.172039 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.171379 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 28.4s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.015995 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.016752 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.280691 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.288167 seconds SimilaritySearch.Dist.Seqs.LCS: 0.279443 seconds SimilaritySearch.Dist.Seqs.LCS: 0.276801 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.029711 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.029735 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 12.4s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.069986 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.067795 seconds SimilaritySearch.Dist.Sets.Dice: 0.075009 seconds SimilaritySearch.Dist.Sets.Dice: 0.074112 seconds SimilaritySearch.Dist.Sets.Intersection: 0.075698 seconds SimilaritySearch.Dist.Sets.Intersection: 0.074712 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.069817 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.079046 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 11.1s SimilaritySearch.Dist.NormAngle: 0.003964 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003960 seconds SimilaritySearch.Dist.NormCosine: 0.003338 seconds SimilaritySearch.Dist.NormCosine: 0.003321 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 6.0s SimilaritySearch.Dist.Bits.Hamming: 0.004731 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004945 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.010527 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.010277 seconds Test Summary: | Pass Total Time Binary distances | 200 200 5.4s 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 5.8s computing farthest point 1, dmax: Inf, imax: 11, n: 30 computing farthest point 2, dmax: 1.3308555, imax: 5, n: 30 computing farthest point 3, dmax: 0.998502, imax: 2, n: 30 computing farthest point 4, dmax: 0.97098184, imax: 9, n: 30 computing farthest point 5, dmax: 0.80706674, imax: 30, n: 30 computing farthest point 6, dmax: 0.6900558, imax: 10, n: 30 computing farthest point 7, dmax: 0.66528404, imax: 20, n: 30 computing farthest point 8, dmax: 0.6635685, imax: 23, n: 30 computing farthest point 9, dmax: 0.6365841, imax: 21, n: 30 computing farthest point 10, dmax: 0.59978545, imax: 16, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 3.2s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 5.0s 5.910711 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.004346 seconds SEARCH Exhaustive 2: 0.004333 seconds SEARCH Exhaustive 3: 0.005575 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-06-06T20:52:50.865 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-06-06T20:52:54.811 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.88435376, maxvisits=262) mem=1GB max-rss=1GB 2026-06-06T20:53:05.638 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] LOG add! sp=14091 ep=14091 n=14090 BeamSearch(bsize=4, Δ=0.8952381, maxvisits=512) mem=1GB max-rss=1GB 2026-06-06T20:53:07.638 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=25472 ep=25472 n=25471 BeamSearch(bsize=10, Δ=0.95, maxvisits=716) mem=1GB max-rss=1GB 2026-06-06T20:53:09.639 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=36170 ep=36170 n=36169 BeamSearch(bsize=10, Δ=0.95, maxvisits=716) mem=1GB max-rss=1GB 2026-06-06T20:53:11.639 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=47165 ep=47165 n=47164 BeamSearch(bsize=4, Δ=0.8979592, maxvisits=594) mem=1GB max-rss=1GB 2026-06-06T20:53:13.639 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=57363 ep=57363 n=57362 BeamSearch(bsize=6, Δ=0.9156678, maxvisits=670) mem=1GB max-rss=1GB 2026-06-06T20:53:15.639 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=67467 ep=67467 n=67466 BeamSearch(bsize=6, Δ=0.9156678, maxvisits=670) mem=1GB max-rss=1GB 2026-06-06T20:53:17.639 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=77149 ep=77149 n=77148 BeamSearch(bsize=6, Δ=0.9156678, maxvisits=670) mem=1GB max-rss=1GB 2026-06-06T20:53:19.639 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=85535 ep=85535 n=85534 BeamSearch(bsize=6, Δ=0.86, maxvisits=684) mem=1GB max-rss=1GB 2026-06-06T20:53:21.639 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=95086 ep=95086 n=95085 BeamSearch(bsize=6, Δ=0.86, maxvisits=684) mem=1GB max-rss=1GB 2026-06-06T20:53:23.639 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.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) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 108.0] [ Info: minrecall: queries per second: 12024.47789296132, recall: 0.900625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.075, maxvisits=858)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 108.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.05, maxvisits=690)), 1000, 8) [ Info: rebuild: queries per second: 15548.868850888835, recall: 0.901875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.05, maxvisits=690)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [5.0, 16.0, 19.0, 21.0, 23.0, 24.0, 26.0, 28.0, 30.0, 34.0, 57.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=966)), 1000, 8) 2.924608 seconds (643.24 k allocations: 37.429 MiB, 2.23% gc time, 97.38% compilation time) [ Info: matrixhints: queries per second: 12266.398853562736, recall: 0.900625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=966)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 108.0] [ Info: ===================== minrecall Base.Pairs{Symbol, AdjDict{UInt32}, Nothing, @NamedTuple{adj::AdjDict{UInt32}}}(:adj => AdjDict{UInt32}(Dict{UInt32, Vector{UInt32}}(), ReentrantLock())) ============================== LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-06-06T20:54:54.304 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=6, Δ=0.88435376, maxvisits=262) mem=1GB max-rss=1GB 2026-06-06T20:54:58.091 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] LOG add! sp=18509 ep=18509 n=18508 BeamSearch(bsize=13, Δ=0.8809524, maxvisits=744) mem=1GB max-rss=1GB 2026-06-06T20:55:00.091 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=31531 ep=31531 n=31530 BeamSearch(bsize=10, Δ=0.95, maxvisits=716) mem=1GB max-rss=1GB 2026-06-06T20:55:02.091 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=43259 ep=43259 n=43258 BeamSearch(bsize=4, Δ=0.8979592, maxvisits=594) mem=1GB max-rss=1GB 2026-06-06T20:55:04.091 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=56214 ep=56214 n=56213 BeamSearch(bsize=4, Δ=0.8979592, maxvisits=594) mem=1GB max-rss=1GB 2026-06-06T20:55:06.091 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=66154 ep=66154 n=66153 BeamSearch(bsize=6, Δ=0.9156678, maxvisits=670) mem=1GB max-rss=1GB 2026-06-06T20:55:08.091 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=76879 ep=76879 n=76878 BeamSearch(bsize=6, Δ=0.9156678, maxvisits=670) mem=1GB max-rss=1GB 2026-06-06T20:55:10.091 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=86323 ep=86323 n=86322 BeamSearch(bsize=6, Δ=0.86, maxvisits=684) mem=1GB max-rss=1GB 2026-06-06T20:55:12.091 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=96924 ep=96924 n=96923 BeamSearch(bsize=6, Δ=0.86, maxvisits=684) mem=1GB max-rss=1GB 2026-06-06T20:55:14.091 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.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) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 108.0] [ Info: minrecall: queries per second: 11551.53894684527, recall: 0.900625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.075, maxvisits=858)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 108.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.05, maxvisits=690)), 1000, 8) [ Info: rebuild: queries per second: 15297.085461604087, recall: 0.901875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.05, maxvisits=690)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [5.0, 16.0, 19.0, 21.0, 23.0, 24.0, 26.0, 28.0, 30.0, 34.0, 57.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=966)), 1000, 8) 2.985470 seconds (633.71 k allocations: 36.722 MiB, 96.66% compilation time) [ Info: matrixhints: queries per second: 11683.711507618113, recall: 0.900625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=966)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 108.0] 1.045317 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.001194 seconds SEARCH Exhaustive 2: 0.001172 seconds SEARCH Exhaustive 3: 0.001125 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-06-06T20:56:45.736 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=11, Δ=1.05, maxvisits=304) mem=1GB max-rss=1GB 2026-06-06T20:56:55.378 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] LOG add! sp=17292 ep=17292 n=17291 BeamSearch(bsize=6, Δ=0.8390023, maxvisits=572) mem=1GB max-rss=1GB 2026-06-06T20:56:57.378 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=32091 ep=32091 n=32090 BeamSearch(bsize=6, Δ=0.8095238, maxvisits=706) mem=1GB max-rss=1GB 2026-06-06T20:56:59.378 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=44175 ep=44175 n=44174 BeamSearch(bsize=8, Δ=0.95238096, maxvisits=764) mem=1GB max-rss=1GB 2026-06-06T20:57:01.378 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=55058 ep=55058 n=55057 BeamSearch(bsize=8, Δ=0.95238096, maxvisits=764) mem=1GB max-rss=1GB 2026-06-06T20:57:03.378 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=63318 ep=63318 n=63317 BeamSearch(bsize=10, Δ=0.9555, maxvisits=792) mem=1GB max-rss=1GB 2026-06-06T20:57:05.378 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=72413 ep=72413 n=72412 BeamSearch(bsize=10, Δ=0.9555, maxvisits=792) mem=1GB max-rss=1GB 2026-06-06T20:57:07.378 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=81420 ep=81420 n=81419 BeamSearch(bsize=10, Δ=0.9555, maxvisits=792) mem=1GB max-rss=1GB 2026-06-06T20:57:09.378 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=89932 ep=89932 n=89931 BeamSearch(bsize=6, Δ=0.9, maxvisits=722) mem=1GB max-rss=1GB 2026-06-06T20:57:11.378 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=99284 ep=99284 n=99283 BeamSearch(bsize=6, Δ=0.9, maxvisits=722) mem=1GB max-rss=1GB 2026-06-06T20:57:13.379 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) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 104.0] [ Info: minrecall: queries per second: 14027.926290654088, recall: 0.90525 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.82, maxvisits=832)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 104.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=626)), 1000, 8) [ Info: rebuild: queries per second: 17035.87612410377, recall: 0.893125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=626)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [5.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 55.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=900)), 1000, 8) 2.785277 seconds (582.03 k allocations: 33.399 MiB, 97.50% compilation time) [ Info: matrixhints: queries per second: 15385.469159803992, recall: 0.900125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=900)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 104.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 5m56.7s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:26.307 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-06-06T20:58:26.622 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:28.428 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000006, 0x00000007, 0x00000009, 0x00000010, 0x00000014, 0x00000015, 0x00000023, 0x00000030, 0x00000054] D.nn = Int32[1, 2, 3, 3, 1, 6, 7, 3, 9, 3, 7, 7, 7, 1, 7, 16, 1, 16, 1, 20, 21, 6, 1, 7, 7, 7, 21, 9, 21, 21, 9, 21, 9, 16, 35, 21, 6, 1, 7, 21, 16, 6, 16, 16, 6, 16, 3, 48, 16, 3, 35, 3, 7, 6, 9, 3, 3, 16, 16, 16, 48, 7, 1, 7, 16, 7, 3, 16, 21, 6, 3, 3, 3, 3, 1, 3, 16, 1, 6, 6, 9, 1, 9, 84, 3, 6, 20, 48, 6, 48, 1, 6, 7, 9, 16, 16, 1, 16, 6, 1] D.dist = Float32[0.0, 0.0, 0.0, 0.076524794, 0.029296398, 0.0, 0.0, 0.011410654, 0.0, 0.03654474, 0.033720195, 0.025507092, 0.016189456, 0.04723996, 0.04840398, 0.0, 0.041100204, 0.038344443, 0.04694158, 0.0, 0.0, 0.065906584, 0.067438126, 0.076211095, 0.09303075, 0.0081140995, 0.0037958026, 0.023712158, 0.021980524, 0.020153522, 0.031800687, 0.06784165, 0.06444013, 0.06877518, 0.0, 0.044345915, 0.037431836, 0.013520777, 0.01951909, 0.022441328, 0.075347066, 0.04258555, 0.057625115, 0.05214542, 0.020934641, 0.061609566, 0.04897058, 0.0, 0.057626665, 0.044754863, 0.062428117, 0.0058814883, 0.015946269, 0.038569212, 0.027948081, 0.045627654, 0.037504554, 0.06087631, 0.016161323, 0.025302768, 0.014012814, 0.015287161, 0.036091983, 0.013237596, 0.071071625, 0.024020314, 0.06110519, 0.026483297, 0.009767413, 0.024702847, 0.07698631, 0.009545565, 0.02915597, 0.074157715, 0.03056556, 0.040153623, 0.030581534, 0.018895507, 0.036615968, 0.0559541, 0.0703972, 0.04908979, 0.0505777, 0.0, 0.004873872, 0.039668202, 0.026925564, 0.022262037, 0.041223884, 0.038897038, 0.027781367, 0.04627222, 0.014223576, 0.064413786, 0.045208573, 0.018237531, 0.047421157, 0.06563729, 0.05550307, 0.007010579] Test Summary: | Pass Total Time neardup single block | 3 3 23.0s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.567 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-06-06T20:58:29.567 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: 2026-06-06T20:58:29.567 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.567 [ Info: neardup> range: 49:64, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.568 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.568 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.568 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.568 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.568 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000006, 0x00000007, 0x00000009, 0x00000010, 0x00000014, 0x00000015, 0x00000023, 0x00000030, 0x00000054] D.nn = Int32[1, 2, 3, 3, 1, 6, 7, 3, 9, 3, 7, 7, 7, 1, 7, 16, 1, 16, 1, 20, 21, 6, 1, 7, 7, 7, 2, 9, 2, 2, 9, 3, 9, 16, 35, 21, 6, 1, 7, 21, 16, 6, 16, 16, 6, 16, 3, 48, 16, 3, 35, 3, 7, 6, 9, 3, 3, 16, 16, 16, 48, 7, 1, 7, 16, 7, 3, 16, 21, 6, 3, 3, 3, 3, 1, 3, 16, 1, 6, 6, 9, 1, 9, 84, 3, 6, 20, 48, 6, 48, 1, 6, 7, 9, 16, 16, 1, 16, 6, 1] D.dist = Float32[0.0, 0.0, 0.0, 0.076524794, 0.029296398, 0.0, 0.0, 0.011410654, 0.0, 0.03654474, 0.033720195, 0.025507092, 0.016189456, 0.04723996, 0.04840398, 0.0, 0.041100204, 0.038344443, 0.04694158, 0.0, 0.0, 0.065906584, 0.067438126, 0.076211095, 0.09303075, 0.0081140995, 0.093630195, 0.023712158, 0.05580908, 0.05713761, 0.031800687, 0.094869316, 0.06444013, 0.06877518, 0.0, 0.044345915, 0.037431836, 0.013520777, 0.01951909, 0.022441328, 0.075347066, 0.04258555, 0.057625115, 0.05214542, 0.020934641, 0.061609566, 0.04897058, 0.0, 0.057626665, 0.044754863, 0.062428117, 0.0058814883, 0.015946269, 0.038569212, 0.027948081, 0.045627654, 0.037504554, 0.06087631, 0.016161323, 0.025302768, 0.014012814, 0.015287161, 0.036091983, 0.013237596, 0.071071625, 0.024020314, 0.06110519, 0.026483297, 0.009767413, 0.024702847, 0.07698631, 0.009545565, 0.02915597, 0.074157715, 0.03056556, 0.040153623, 0.030581534, 0.018895507, 0.036615968, 0.0559541, 0.0703972, 0.04908979, 0.0505777, 0.0, 0.004873872, 0.039668202, 0.026925564, 0.022262037, 0.041223884, 0.038897038, 0.027781367, 0.04627222, 0.014223576, 0.064413786, 0.045208573, 0.018237531, 0.047421157, 0.06563729, 0.05550307, 0.007010579] 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-06-06T20:58:29.740 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-06-06T20:58:29.740 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-06-06T20:58:29.741 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.741 [ Info: neardup> range: 49:64, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.742 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.742 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.742 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.742 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:29.742 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000015, 0x00000030] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 16, 10, 15, 21, 14, 1, 11, 11, 13, 2, 9, 2, 2, 9, 4, 13, 16, 11, 21, 14, 1, 7, 21, 16, 6, 16, 16, 6, 16, 10, 48, 16, 3, 48, 3, 7, 6, 9, 8, 10, 16, 16, 16, 48, 13, 5, 7, 16, 11, 5, 16, 21, 6, 4, 8, 3, 10, 5, 10, 16, 5, 6, 14, 9, 14, 14, 4, 3, 6, 15, 48, 14, 48, 1, 6, 12, 14, 16, 16, 10, 14, 6, 1] 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.041100204, 0.038344443, 0.008777142, 0.044055104, 0.0, 0.04514432, 0.067438126, 0.020021915, 0.05142331, 0.005624473, 0.093630195, 0.023712158, 0.05580908, 0.05713761, 0.031800687, 0.0288015, 0.039535344, 0.06877518, 0.020669758, 0.044345915, 0.026446939, 0.013520777, 0.01951909, 0.022441328, 0.075347066, 0.04258555, 0.057625115, 0.05214542, 0.020934641, 0.061609566, 0.034409404, 0.0, 0.057626665, 0.044754863, 0.06758213, 0.0058814883, 0.015946269, 0.038569212, 0.027948081, 0.027662575, 0.023001254, 0.06087631, 0.016161323, 0.025302768, 0.014012814, 0.011358917, 0.0007713437, 0.013237596, 0.071071625, 0.015958548, 0.020993352, 0.026483297, 0.009767413, 0.024702847, 0.03613317, 0.0021158457, 0.02915597, 0.027937353, 0.028283775, 0.007923961, 0.030581534, 0.0038976073, 0.036615968, 0.038840055, 0.0703972, 0.0025589466, 0.027545989, 0.031797588, 0.004873872, 0.039668202, 0.005065322, 0.022262037, 0.028569221, 0.038897038, 0.027781367, 0.04627222, 0.0039780736, 0.05089438, 0.045208573, 0.018237531, 0.0063605905, 0.057589233, 0.05550307, 0.007010579] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 0.2s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.568 LOG append_items! ExhaustiveSearch{SimilaritySearch.Dist.Hacks.DistanceWithIdentifiers{SimilaritySearch.Dist.Cosine, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{Int32}}} sp=0 ep=7 n=7 mem=32768 max-rss=693 2026-06-06T20:58:49.568 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.576 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.576 [ Info: neardup> range: 49:64, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.576 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.576 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.576 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.576 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-06-06T20:58:49.576 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000006, 0x00000007, 0x00000009, 0x00000010, 0x00000014, 0x00000015, 0x00000023, 0x00000030, 0x00000054] D.nn = Int32[1, 2, 3, 3, 1, 6, 7, 3, 9, 3, 7, 7, 7, 1, 7, 16, 1, 16, 1, 20, 21, 6, 1, 7, 7, 7, 2, 9, 2, 2, 9, 3, 9, 16, 35, 21, 6, 1, 7, 21, 16, 6, 16, 16, 6, 16, 3, 48, 16, 3, 35, 3, 7, 6, 9, 3, 3, 16, 16, 16, 48, 7, 1, 7, 16, 7, 3, 16, 21, 6, 3, 3, 3, 3, 1, 3, 16, 1, 6, 6, 9, 1, 9, 84, 3, 6, 20, 48, 6, 48, 1, 6, 7, 9, 16, 16, 1, 16, 6, 1] D.dist = Float32[0.0, 0.0, 0.0, 0.076524794, 0.029296398, 0.0, 0.0, 0.011410654, 0.0, 0.03654474, 0.033720195, 0.025507092, 0.016189456, 0.04723996, 0.04840398, 0.0, 0.041100204, 0.038344443, 0.04694158, 0.0, 0.0, 0.065906584, 0.067438126, 0.076211095, 0.09303075, 0.0081140995, 0.093630195, 0.023712158, 0.05580908, 0.05713761, 0.031800687, 0.094869316, 0.06444013, 0.06877518, 0.0, 0.044345915, 0.037431836, 0.013520777, 0.01951909, 0.022441328, 0.075347066, 0.04258555, 0.057625115, 0.05214542, 0.020934641, 0.061609566, 0.04897058, 0.0, 0.057626665, 0.044754863, 0.062428117, 0.0058814883, 0.015946269, 0.038569212, 0.027948081, 0.045627654, 0.037504554, 0.06087631, 0.016161323, 0.025302768, 0.014012814, 0.015287161, 0.036091983, 0.013237596, 0.071071625, 0.024020314, 0.06110519, 0.026483297, 0.009767413, 0.024702847, 0.07698631, 0.009545565, 0.02915597, 0.074157715, 0.03056556, 0.040153623, 0.030581534, 0.018895507, 0.036615968, 0.0559541, 0.0703972, 0.04908979, 0.0505777, 0.0, 0.004873872, 0.039668202, 0.026925564, 0.022262037, 0.041223884, 0.038897038, 0.027781367, 0.04627222, 0.014223576, 0.064413786, 0.045208573, 0.018237531, 0.047421157, 0.06563729, 0.05550307, 0.007010579] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 19.8s ExhaustiveSearch allknn: 1.971773 seconds (576.03 k allocations: 33.447 MiB, 5.72% gc time, 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.0832458883523941, 0.16814826428890228, 0.2094527781009674, 0.25766363739967346, 0.39204201102256775] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.15669074654579163, 0.21815815195441246, 0.24729979783296585, 0.3132404461503029, 0.4201788008213043] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.197096049785614, 0.2567468658089638, 0.2999155521392822, 0.34419289231300354, 0.4662230908870697] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.21119467914104462, 0.2866215109825134, 0.324593722820282, 0.37388210743665695, 0.48407474160194397] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.22071321308612823, 0.3167189881205559, 0.35455529391765594, 0.4047023802995682, 0.5010561943054199] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-06-06T20:58:59.634 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 5.130704 seconds (793.15 k allocations: 47.639 MiB, 0.74% gc time, 99.99% compilation time) recall = 0.9933333333333333 recall > 0.8 = true recall = 0.9933333333333333 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [2.0, 4.75, 6.0, 8.0, 20.0] Test Summary: | Pass Total Time allknn | 3 3 26.7s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-06-06T20:59:22.695 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.92, maxvisits=150) mem=1GB max-rss=1GB 2026-06-06T20:59:33.980 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (16, 192, -1.1920929f-7) (i, j, d, :parallel) = (44, 51, -1.1920929f-7, :parallel) [ Info: NOTE: the exact method will be faster on small datasets due to the preprocessing step of the approximation method [ Info: ("closestpair computation time", :approx => 19.885421668, :exact => 1.267332435) Test Summary: | Pass Total Time closestpair | 4 4 21.8s Testing SimilaritySearch tests passed Testing completed after 579.33s PkgEval succeeded after 660.83s