Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1877 (00654c1407*) started at 2026-03-10T18:51:01.367 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 13.72s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... 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.23.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.28s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3203.4 ms ✓ SearchModels 9788.6 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 15 seconds. 107 already precompiled. Precompilation completed after 40.48s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_m13pi8/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_m13pi8/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.23.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+1 [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 16.6s Test Summary: | Pass Total Time heap | 16 16 0.2s Test Summary: | Pass Total Time KnnHeap | 30005 30005 3.9s Test Summary: | Pass Total Time XKnn | 25005 25005 2.9s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.2s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) SimilaritySearch.Dist.L2: 0.033447 seconds SimilaritySearch.Dist.L2: 0.034465 seconds SimilaritySearch.Dist.L1: 0.032348 seconds SimilaritySearch.Dist.L1: 0.032315 seconds SimilaritySearch.Dist.LInfty: 0.032561 seconds SimilaritySearch.Dist.LInfty: 0.032428 seconds SimilaritySearch.Dist.SqL2: 0.031857 seconds SimilaritySearch.Dist.SqL2: 0.031304 seconds SimilaritySearch.Dist.Lp: 0.128796 seconds SimilaritySearch.Dist.Lp: 0.128870 seconds SimilaritySearch.Dist.Lp: 0.256470 seconds SimilaritySearch.Dist.Lp: 0.273513 seconds SimilaritySearch.Dist.Angle: 0.189796 seconds (5.21 k allocations: 279.094 KiB) SimilaritySearch.Dist.Angle: 0.198304 seconds SimilaritySearch.Dist.Cosine: 0.159593 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.162163 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 28.0s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.018589 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.018165 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.240829 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.252452 seconds SimilaritySearch.Dist.Seqs.LCS: 0.263243 seconds SimilaritySearch.Dist.Seqs.LCS: 0.256987 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.030615 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.030611 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.068423 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.070920 seconds SimilaritySearch.Dist.Sets.Dice: 0.086585 seconds SimilaritySearch.Dist.Sets.Dice: 0.076220 seconds SimilaritySearch.Dist.Sets.Intersection: 0.076072 seconds SimilaritySearch.Dist.Sets.Intersection: 0.075967 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.070143 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.081518 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 13.9s SimilaritySearch.Dist.NormAngle: 0.004023 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003928 seconds SimilaritySearch.Dist.NormCosine: 0.004243 seconds SimilaritySearch.Dist.NormCosine: 0.004364 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 6.8s SimilaritySearch.Dist.Bits.Hamming: 0.004479 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004272 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.009122 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.009049 seconds Test Summary: | Pass Total Time Binary distances | 200 200 6.6s quantile(length.(hsp_knns), 0:0.1:1) = [2.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 6.0] Test Summary: | Total Time HSP | 0 6.9s computing farthest point 1, dmax: Inf, imax: 29, n: 30 computing farthest point 2, dmax: 1.2959361, imax: 30, n: 30 computing farthest point 3, dmax: 1.0287421, imax: 2, n: 30 computing farthest point 4, dmax: 0.9062728, imax: 6, n: 30 computing farthest point 5, dmax: 0.9041258, imax: 12, n: 30 computing farthest point 6, dmax: 0.85523874, imax: 24, n: 30 computing farthest point 7, dmax: 0.67174935, imax: 28, n: 30 computing farthest point 8, dmax: 0.6129382, imax: 13, n: 30 computing farthest point 9, dmax: 0.59667075, imax: 16, n: 30 computing farthest point 10, dmax: 0.51666707, imax: 25, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.4s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 4.3s 5.593932 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.006962 seconds SEARCH Exhaustive 2: 0.006796 seconds SEARCH Exhaustive 3: 0.007378 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-10T18:54:56.246 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-10T18:55:00.527 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=8, Δ=0.95238096, maxvisits=288) mem=1GB max-rss=1GB 2026-03-10T18:55:10.833 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=12898 ep=12898 n=12897 BeamSearch(bsize=6, Δ=0.92, maxvisits=556) mem=1GB max-rss=1GB 2026-03-10T18:55:12.833 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=25253 ep=25253 n=25252 BeamSearch(bsize=6, Δ=0.92517006, maxvisits=690) mem=1GB max-rss=1GB 2026-03-10T18:55:14.844 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=36209 ep=36209 n=36208 BeamSearch(bsize=6, Δ=0.92517006, maxvisits=690) mem=1GB max-rss=1GB 2026-03-10T18:55:16.844 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=46460 ep=46460 n=46459 BeamSearch(bsize=4, Δ=0.8571428, maxvisits=680) mem=1GB max-rss=1GB 2026-03-10T18:55:18.844 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=56817 ep=56817 n=56816 BeamSearch(bsize=6, Δ=0.9, maxvisits=686) mem=1GB max-rss=1GB 2026-03-10T18:55:20.981 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=66380 ep=66380 n=66379 BeamSearch(bsize=6, Δ=0.9, maxvisits=686) mem=1GB max-rss=1GB 2026-03-10T18:55:22.981 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=75540 ep=75540 n=75539 BeamSearch(bsize=6, Δ=0.9, maxvisits=686) mem=1GB max-rss=1GB 2026-03-10T18:55:24.981 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=84336 ep=84336 n=84335 BeamSearch(bsize=6, Δ=0.9, maxvisits=686) mem=1GB max-rss=1GB 2026-03-10T18:55:26.981 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=91854 ep=91854 n=91853 BeamSearch(bsize=4, Δ=1.01, maxvisits=668) mem=1GB max-rss=1GB 2026-03-10T18:55:28.981 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.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, 23.0, 30.0, 121.0] [ Info: minrecall: queries per second: 11010.459848772654, recall: 0.905625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84229064, maxvisits=866)) 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, 23.0, 30.0, 121.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84229064, maxvisits=654)), 1000, 8) [ Info: rebuild: queries per second: 12929.905122424996, recall: 0.89375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84229064, maxvisits=654)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 56.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.803369, maxvisits=866)), 1000, 8) 2.972436 seconds (491.07 k allocations: 29.962 MiB, 2.86% gc time, 96.91% compilation time) [ Info: matrixhints: queries per second: 11020.056304112471, recall: 0.8925 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.803369, maxvisits=866)) 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, 23.0, 30.0, 121.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-10T18:57:12.338 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=8, Δ=0.95238096, maxvisits=288) mem=1GB max-rss=1GB 2026-03-10T18:57:15.470 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=16199 ep=16199 n=16198 BeamSearch(bsize=6, Δ=0.92, maxvisits=556) mem=1GB max-rss=1GB 2026-03-10T18:57:17.470 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=30409 ep=30409 n=30408 BeamSearch(bsize=6, Δ=0.92517006, maxvisits=690) mem=1GB max-rss=1GB 2026-03-10T18:57:19.470 LOG n.size quantiles:[14.0, 14.0, 14.0, 14.0, 14.0] LOG add! sp=43491 ep=43491 n=43490 BeamSearch(bsize=4, Δ=0.8571428, maxvisits=680) mem=1GB max-rss=1GB 2026-03-10T18:57:21.470 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=56292 ep=56292 n=56291 BeamSearch(bsize=4, Δ=0.8571428, maxvisits=680) mem=1GB max-rss=1GB 2026-03-10T18:57:23.470 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=66243 ep=66243 n=66242 BeamSearch(bsize=6, Δ=0.9, maxvisits=686) mem=1GB max-rss=1GB 2026-03-10T18:57:25.470 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=76909 ep=76909 n=76908 BeamSearch(bsize=6, Δ=0.9, maxvisits=686) mem=1GB max-rss=1GB 2026-03-10T18:57:27.470 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=85228 ep=85228 n=85227 BeamSearch(bsize=4, Δ=1.01, maxvisits=668) mem=1GB max-rss=1GB 2026-03-10T18:57:29.470 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=95269 ep=95269 n=95268 BeamSearch(bsize=4, Δ=1.01, maxvisits=668) mem=1GB max-rss=1GB 2026-03-10T18:57:31.470 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, 23.0, 30.0, 121.0] [ Info: minrecall: queries per second: 10711.388972158036, recall: 0.905625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84229064, maxvisits=866)) 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, 23.0, 30.0, 121.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84229064, maxvisits=654)), 1000, 8) [ Info: rebuild: queries per second: 12077.270618965555, recall: 0.89375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84229064, maxvisits=654)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 56.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.803369, maxvisits=866)), 1000, 8) 2.777266 seconds (485.27 k allocations: 29.154 MiB, 96.83% compilation time) [ Info: matrixhints: queries per second: 11370.768161112323, recall: 0.8925 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.803369, maxvisits=866)) 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, 23.0, 30.0, 121.0] 1.045741 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.003393 seconds SEARCH Exhaustive 2: 0.003597 seconds SEARCH Exhaustive 3: 0.003474 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-10T18:59:16.964 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, Δ=1.02, maxvisits=280) mem=1GB max-rss=1GB 2026-03-10T18:59:29.508 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=15213 ep=15213 n=15212 BeamSearch(bsize=4, Δ=0.7809524, maxvisits=508) mem=1GB max-rss=1GB 2026-03-10T18:59:31.509 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=27563 ep=27563 n=27562 BeamSearch(bsize=6, Δ=0.88, maxvisits=564) mem=1GB max-rss=1GB 2026-03-10T18:59:33.509 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=38302 ep=38302 n=38301 BeamSearch(bsize=10, Δ=0.97, maxvisits=770) mem=1GB max-rss=1GB 2026-03-10T18:59:35.509 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=47470 ep=47470 n=47469 BeamSearch(bsize=10, Δ=0.97, maxvisits=770) mem=1GB max-rss=1GB 2026-03-10T18:59:37.509 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=56354 ep=56354 n=56353 BeamSearch(bsize=10, Δ=0.97, maxvisits=770) mem=1GB max-rss=1GB 2026-03-10T18:59:39.509 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=65379 ep=65379 n=65378 BeamSearch(bsize=6, Δ=0.9142857, maxvisits=794) mem=1GB max-rss=1GB 2026-03-10T18:59:41.509 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=75249 ep=75249 n=75248 BeamSearch(bsize=6, Δ=0.9142857, maxvisits=794) mem=1GB max-rss=1GB 2026-03-10T18:59:43.509 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=84609 ep=84609 n=84608 BeamSearch(bsize=6, Δ=0.9142857, maxvisits=794) mem=1GB max-rss=1GB 2026-03-10T18:59:45.509 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=93670 ep=93670 n=93669 BeamSearch(bsize=4, Δ=0.88543355, maxvisits=614) mem=1GB max-rss=1GB 2026-03-10T18:59:47.509 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) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 123.0] [ Info: minrecall: queries per second: 11796.431900213134, recall: 0.903625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8163265, maxvisits=824)) 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, 123.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=660)), 1000, 8) [ Info: rebuild: queries per second: 14076.216547220352, recall: 0.89625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=660)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 56.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79999995, maxvisits=824)), 1000, 8) 3.196577 seconds (429.89 k allocations: 26.182 MiB, 97.42% compilation time) [ Info: matrixhints: queries per second: 12199.224758785338, recall: 0.896 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79999995, maxvisits=824)) 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, 123.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 6m37.7s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:06.863 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-10T19:01:07.166 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:09.134 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000005, 0x00000007, 0x0000000a, 0x0000000c, 0x00000015, 0x00000023, 0x0000002b, 0x0000002e] D.nn = Int32[1, 2, 3, 3, 5, 3, 7, 3, 5, 10, 5, 12, 7, 5, 10, 1, 3, 10, 1, 10, 21, 2, 12, 10, 21, 10, 12, 1, 5, 21, 2, 21, 12, 12, 35, 12, 10, 12, 10, 1, 5, 3, 43, 7, 7, 46, 43, 1, 10, 5, 10, 5, 21, 10, 1, 5, 35, 5, 12, 3, 21, 1, 2, 1, 10, 35, 12, 7, 43, 5, 3, 3, 12, 35, 12, 10, 10, 2, 21, 46, 10, 21, 12, 35, 43, 7, 35, 3, 1, 46, 12, 43, 10, 35, 5, 3, 21, 10, 43, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.042636454, 0.0, 0.059687555, 0.0, 0.033096254, 0.07417828, 0.0, 0.009570301, 0.0, 0.035930216, 0.014997363, 0.08045626, 0.043746233, 0.03969699, 0.040911138, 0.05175674, 0.027086377, 0.0, 0.06589353, 0.015742362, 0.03880799, 0.038303554, 0.028682828, 0.04982668, 0.026640177, 0.018393219, 0.053823054, 0.0038972497, 0.081566274, 0.07617813, 0.055950344, 0.0, 0.03321773, 0.026904404, 0.047172964, 0.0029608011, 0.030139327, 0.09482473, 0.017236173, 0.0, 0.015629292, 0.02387923, 0.0, 0.053330302, 0.0046074986, 0.06698191, 0.02546835, 0.031077683, 0.05295378, 0.05970955, 0.028040648, 0.0272789, 0.04868579, 0.012921512, 0.04231316, 0.032321513, 0.005209446, 0.039830565, 0.013425648, 0.01909262, 0.040734112, 0.030766904, 0.010121763, 0.026018143, 0.013009548, 0.062710285, 0.037361026, 0.061449945, 0.030901253, 0.05804223, 0.021327794, 0.05651599, 0.022470117, 0.05327481, 0.02883643, 0.05510491, 0.03168881, 0.030691504, 0.08097112, 0.020632446, 0.027320147, 0.032886267, 0.05781585, 0.036127627, 0.049951494, 0.055442393, 0.012604535, 0.0041834116, 0.0032158494, 0.022185385, 0.043123662, 0.054740846, 0.053940058, 0.055740952, 0.040523827, 0.019066095, 0.028208852] Test Summary: | Pass Total Time neardup single block | 3 3 22.2s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.164 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-10T19:01:10.165 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-03-10T19:01:10.165 [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.165 [ Info: neardup> range: 49:64, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.166 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.166 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.166 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.166 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.166 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000005, 0x00000007, 0x0000000a, 0x0000000c, 0x00000015, 0x00000023, 0x0000002b, 0x0000002e] D.nn = Int32[1, 2, 3, 3, 5, 3, 7, 3, 5, 10, 5, 12, 7, 5, 10, 1, 3, 10, 1, 10, 21, 2, 12, 10, 21, 10, 12, 1, 5, 3, 2, 12, 12, 12, 35, 12, 10, 12, 10, 1, 5, 3, 43, 7, 7, 46, 10, 1, 10, 5, 10, 5, 21, 10, 1, 5, 35, 5, 12, 3, 21, 1, 2, 1, 10, 35, 12, 7, 43, 5, 3, 3, 12, 35, 12, 10, 10, 2, 21, 46, 10, 21, 12, 35, 43, 7, 35, 3, 1, 46, 12, 43, 10, 35, 5, 3, 21, 10, 43, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.042636454, 0.0, 0.059687555, 0.0, 0.033096254, 0.07417828, 0.0, 0.009570301, 0.0, 0.035930216, 0.014997363, 0.08045626, 0.043746233, 0.03969699, 0.040911138, 0.05175674, 0.027086377, 0.0, 0.06589353, 0.015742362, 0.03880799, 0.038303554, 0.028682828, 0.04982668, 0.026640177, 0.018393219, 0.09482634, 0.0038972497, 0.09780699, 0.07617813, 0.055950344, 0.0, 0.03321773, 0.026904404, 0.047172964, 0.0029608011, 0.030139327, 0.09482473, 0.017236173, 0.0, 0.015629292, 0.02387923, 0.0, 0.065612435, 0.0046074986, 0.06698191, 0.02546835, 0.031077683, 0.05295378, 0.05970955, 0.028040648, 0.0272789, 0.04868579, 0.012921512, 0.04231316, 0.032321513, 0.005209446, 0.039830565, 0.013425648, 0.01909262, 0.040734112, 0.030766904, 0.010121763, 0.026018143, 0.013009548, 0.062710285, 0.037361026, 0.061449945, 0.030901253, 0.05804223, 0.021327794, 0.05651599, 0.022470117, 0.05327481, 0.02883643, 0.05510491, 0.03168881, 0.030691504, 0.08097112, 0.020632446, 0.027320147, 0.032886267, 0.05781585, 0.036127627, 0.049951494, 0.055442393, 0.012604535, 0.0041834116, 0.0032158494, 0.022185385, 0.043123662, 0.054740846, 0.053940058, 0.055740952, 0.040523827, 0.019066095, 0.028208852] 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-10T19:01:10.309 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-10T19:01:10.310 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-10T19:01:10.311 [ Info: neardup> range: 33:48, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.311 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.311 [ Info: neardup> range: 65:80, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.311 [ Info: neardup> range: 81:96, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.311 [ Info: neardup> range: 97:100, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.311 [ Info: neardup> finished current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:10.311 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x0000002e] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 6, 15, 9, 4, 6, 2, 12, 4, 6, 10, 13, 1, 11, 9, 2, 9, 12, 9, 4, 12, 10, 12, 10, 1, 11, 3, 15, 7, 7, 46, 10, 1, 9, 14, 15, 5, 15, 10, 16, 11, 4, 14, 12, 3, 15, 1, 2, 1, 8, 4, 12, 7, 13, 11, 3, 4, 9, 4, 12, 10, 14, 2, 6, 46, 4, 13, 12, 4, 13, 13, 4, 3, 9, 46, 12, 15, 10, 10, 9, 3, 9, 14, 15, 8] 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.014731348, 0.017194748, 0.047607124, 0.01890701, 0.015862226, 0.06589353, 0.015742362, 0.038796723, 0.062090635, 0.028682828, 0.0462777, 0.026640177, 0.013517678, 0.015559971, 0.0038972497, 0.014252007, 0.07617813, 0.030508578, 0.05604571, 0.03321773, 0.026904404, 0.047172964, 0.0029608011, 0.030139327, 0.07190162, 0.017236173, 0.07033783, 0.015629292, 0.02387923, 0.0, 0.065612435, 0.0046074986, 0.0061234236, 0.006285548, 0.029546797, 0.05295378, 0.0003849268, 0.028040648, 0.024078012, 0.022549152, 0.056952655, 0.010861456, 0.032321513, 0.005209446, 0.057637095, 0.013425648, 0.01909262, 0.040734112, 0.017328203, 0.020617604, 0.026018143, 0.013009548, 0.022913575, 0.037239075, 0.061449945, 0.008704305, 0.048578203, 0.027987003, 0.05651599, 0.022470117, 0.047469437, 0.02883643, 0.045679927, 0.03168881, 0.0010780096, 0.038312197, 0.020632446, 0.040952265, 0.098404706, 0.006942749, 0.04806137, 0.049951494, 0.044169247, 0.012604535, 0.0041834116, 0.07298648, 0.022185385, 0.08053011, 0.006346047, 0.053940058, 0.020087242, 0.03515458, 0.091094255, 0.025265634] 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-10T19:01:21.818 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=702 2026-03-10T19:01:21.818 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:21.824 [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:21.824 [ Info: neardup> range: 49:64, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:21.824 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:21.824 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:21.825 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:21.825 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-10T19:01:21.825 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000005, 0x00000007, 0x0000000a, 0x0000000c, 0x00000015, 0x00000023, 0x0000002b, 0x0000002e] D.nn = Int32[1, 2, 3, 3, 5, 3, 7, 3, 5, 10, 5, 12, 7, 5, 10, 1, 3, 10, 1, 10, 21, 2, 12, 10, 21, 10, 12, 1, 5, 3, 2, 12, 12, 12, 35, 12, 10, 12, 10, 1, 5, 3, 43, 7, 7, 46, 10, 1, 10, 5, 10, 5, 21, 10, 1, 5, 35, 5, 12, 3, 21, 1, 2, 1, 10, 35, 12, 7, 43, 5, 3, 3, 12, 35, 12, 10, 10, 2, 21, 46, 10, 21, 12, 35, 43, 7, 35, 3, 1, 46, 12, 43, 10, 35, 5, 3, 21, 10, 43, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.042636454, 0.0, 0.059687555, 0.0, 0.033096254, 0.07417828, 0.0, 0.009570301, 0.0, 0.035930216, 0.014997363, 0.08045626, 0.043746233, 0.03969699, 0.040911138, 0.05175674, 0.027086377, 0.0, 0.06589353, 0.015742362, 0.03880799, 0.038303554, 0.028682828, 0.04982668, 0.026640177, 0.018393219, 0.09482634, 0.0038972497, 0.09780699, 0.07617813, 0.055950344, 0.0, 0.03321773, 0.026904404, 0.047172964, 0.0029608011, 0.030139327, 0.09482473, 0.017236173, 0.0, 0.015629292, 0.02387923, 0.0, 0.065612435, 0.0046074986, 0.06698191, 0.02546835, 0.031077683, 0.05295378, 0.05970955, 0.028040648, 0.0272789, 0.04868579, 0.012921512, 0.04231316, 0.032321513, 0.005209446, 0.039830565, 0.013425648, 0.01909262, 0.040734112, 0.030766904, 0.010121763, 0.026018143, 0.013009548, 0.062710285, 0.037361026, 0.061449945, 0.030901253, 0.05804223, 0.021327794, 0.05651599, 0.022470117, 0.05327481, 0.02883643, 0.05510491, 0.03168881, 0.030691504, 0.08097112, 0.020632446, 0.027320147, 0.032886267, 0.05781585, 0.036127627, 0.049951494, 0.055442393, 0.012604535, 0.0041834116, 0.0032158494, 0.022185385, 0.043123662, 0.054740846, 0.053940058, 0.055740952, 0.040523827, 0.019066095, 0.028208852] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 11.5s ExhaustiveSearch allknn: 1.966521 seconds (470.29 k allocations: 27.939 MiB, 2.77% 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.07685507833957672, 0.1725482940673828, 0.20830881595611572, 0.24698395654559135, 0.3632252812385559] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.13911114633083344, 0.23352549597620964, 0.27128201723098755, 0.315322183072567, 0.45739009976387024] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.19753165543079376, 0.27355368435382843, 0.3133644163608551, 0.3420555517077446, 0.4859115481376648] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.20806293189525604, 0.31050124019384384, 0.33468668162822723, 0.37828154116868973, 0.5168951153755188] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.22704698145389557, 0.32497773319482803, 0.3507114350795746, 0.4052192121744156, 0.5460509061813354] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-10T19:01:31.721 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 5.293122 seconds (607.62 k allocations: 38.335 MiB, 99.99% compilation time) recall = 0.9649999999999995 recall > 0.8 = true recall = 0.9649999999999995 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [2.0, 4.0, 6.0, 8.25, 21.0] Test Summary: | Pass Total Time allknn | 3 3 28.3s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-10T19:01:56.520 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=5, Δ=0.99, maxvisits=168) mem=1GB max-rss=1GB 2026-03-10T19:02:07.393 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (22, 597, -1.1920929f-7) (i, j, d, :parallel) = (64, 887, -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.168733356, :exact => 1.056799842) Test Summary: | Pass Total Time closestpair | 4 4 20.8s Testing SimilaritySearch tests passed Testing completed after 605.23s PkgEval succeeded after 679.94s