Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1886 (984ad247db*) started at 2026-03-12T18:51:47.425 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 13.53s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Installed SimilaritySearch ─ v0.14.1 Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.14.1 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.1 [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.31s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3257.8 ms ✓ SearchModels 9632.1 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 14 seconds. 107 already precompiled. Precompilation completed after 37.93s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_NQXOse/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.1 [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_NQXOse/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.1 [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.8.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.2s 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 3.0s 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.030148 seconds SimilaritySearch.Dist.L2: 0.038771 seconds SimilaritySearch.Dist.L1: 0.029049 seconds SimilaritySearch.Dist.L1: 0.029298 seconds SimilaritySearch.Dist.LInfty: 0.030229 seconds SimilaritySearch.Dist.LInfty: 0.030500 seconds SimilaritySearch.Dist.SqL2: 0.028576 seconds SimilaritySearch.Dist.SqL2: 0.029722 seconds SimilaritySearch.Dist.Lp: 0.127260 seconds SimilaritySearch.Dist.Lp: 0.127221 seconds SimilaritySearch.Dist.Lp: 0.255321 seconds SimilaritySearch.Dist.Lp: 0.256041 seconds SimilaritySearch.Dist.Angle: 0.188290 seconds (5.21 k allocations: 279.125 KiB) SimilaritySearch.Dist.Angle: 0.179269 seconds SimilaritySearch.Dist.Cosine: 0.158801 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.158099 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 28.8s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.017139 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.016327 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.263153 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.278099 seconds SimilaritySearch.Dist.Seqs.LCS: 0.268852 seconds SimilaritySearch.Dist.Seqs.LCS: 0.276304 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.027119 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.027007 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 13.7s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.066217 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.065723 seconds SimilaritySearch.Dist.Sets.Dice: 0.072854 seconds SimilaritySearch.Dist.Sets.Dice: 0.071480 seconds SimilaritySearch.Dist.Sets.Intersection: 0.070442 seconds SimilaritySearch.Dist.Sets.Intersection: 0.070041 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.067685 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.067024 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 13.2s SimilaritySearch.Dist.NormAngle: 0.003879 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003863 seconds SimilaritySearch.Dist.NormCosine: 0.003013 seconds SimilaritySearch.Dist.NormCosine: 0.003056 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 6.8s SimilaritySearch.Dist.Bits.Hamming: 0.004016 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004085 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008190 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008418 seconds Test Summary: | Pass Total Time Binary distances | 200 200 6.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.5s computing farthest point 1, dmax: Inf, imax: 15, n: 30 computing farthest point 2, dmax: 1.3013774, imax: 3, n: 30 computing farthest point 3, dmax: 1.0010277, imax: 23, n: 30 computing farthest point 4, dmax: 0.87827426, imax: 1, n: 30 computing farthest point 5, dmax: 0.84579515, imax: 27, n: 30 computing farthest point 6, dmax: 0.73541236, imax: 30, n: 30 computing farthest point 7, dmax: 0.6614017, imax: 12, n: 30 computing farthest point 8, dmax: 0.57433045, imax: 17, n: 30 computing farthest point 9, dmax: 0.5494181, imax: 7, n: 30 computing farthest point 10, dmax: 0.53331393, imax: 24, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.5s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 4.2s 4.743342 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.008438 seconds SEARCH Exhaustive 2: 0.008271 seconds SEARCH Exhaustive 3: 0.009285 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-12T18:55:36.153 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-12T18:55:39.973 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.9750567, maxvisits=268) mem=1GB max-rss=1GB 2026-03-12T18:55:50.375 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=13224 ep=13224 n=13223 BeamSearch(bsize=8, Δ=1.1, maxvisits=632) mem=1GB max-rss=1GB 2026-03-12T18:55:52.375 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=25160 ep=25160 n=25159 BeamSearch(bsize=6, Δ=0.78, maxvisits=578) mem=1GB max-rss=1GB 2026-03-12T18:55:54.376 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=34508 ep=34508 n=34507 BeamSearch(bsize=10, Δ=0.88199997, maxvisits=750) mem=1GB max-rss=1GB 2026-03-12T18:55:56.376 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=44749 ep=44749 n=44748 BeamSearch(bsize=4, Δ=0.8571428, maxvisits=576) mem=1GB max-rss=1GB 2026-03-12T18:55:58.376 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=55696 ep=55696 n=55695 BeamSearch(bsize=4, Δ=0.8571428, maxvisits=576) mem=1GB max-rss=1GB 2026-03-12T18:56:00.376 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=64792 ep=64792 n=64791 BeamSearch(bsize=6, Δ=0.86, maxvisits=682) mem=1GB max-rss=1GB 2026-03-12T18:56:02.376 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=74895 ep=74895 n=74894 BeamSearch(bsize=6, Δ=0.86, maxvisits=682) mem=1GB max-rss=1GB 2026-03-12T18:56:04.376 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=84538 ep=84538 n=84537 BeamSearch(bsize=6, Δ=0.86, maxvisits=682) mem=1GB max-rss=1GB 2026-03-12T18:56:06.376 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=92653 ep=92653 n=92652 BeamSearch(bsize=4, Δ=1.0476191, maxvisits=734) mem=1GB max-rss=1GB 2026-03-12T18:56:08.376 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.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, 19.0, 23.0, 30.0, 107.0] [ Info: minrecall: queries per second: 11023.47558257718, recall: 0.9005 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8062484, maxvisits=840)) 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, 19.0, 23.0, 30.0, 107.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8618789, maxvisits=668)), 1000, 8) [ Info: rebuild: queries per second: 13450.137555901798, recall: 0.900375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8618789, maxvisits=668)) 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, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=868)), 1000, 8) 2.723332 seconds (490.90 k allocations: 29.955 MiB, 96.60% compilation time) [ Info: matrixhints: queries per second: 10807.551837368652, recall: 0.89825 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=868)) 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, 19.0, 23.0, 30.0, 107.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-12T18:57:46.577 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.9750567, maxvisits=268) mem=1GB max-rss=1GB 2026-03-12T18:57:49.673 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=16477 ep=16477 n=16476 BeamSearch(bsize=8, Δ=1.1, maxvisits=632) mem=1GB max-rss=1GB 2026-03-12T18:57:51.673 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=29157 ep=29157 n=29156 BeamSearch(bsize=10, Δ=0.88199997, maxvisits=750) mem=1GB max-rss=1GB 2026-03-12T18:57:53.673 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=42568 ep=42568 n=42567 BeamSearch(bsize=4, Δ=0.8571428, maxvisits=576) mem=1GB max-rss=1GB 2026-03-12T18:57:55.673 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=52877 ep=52877 n=52876 BeamSearch(bsize=4, Δ=0.8571428, maxvisits=576) mem=1GB max-rss=1GB 2026-03-12T18:57:57.673 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=62818 ep=62818 n=62817 BeamSearch(bsize=6, Δ=0.86, maxvisits=682) mem=1GB max-rss=1GB 2026-03-12T18:57:59.674 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=73481 ep=73481 n=73480 BeamSearch(bsize=6, Δ=0.86, maxvisits=682) mem=1GB max-rss=1GB 2026-03-12T18:58:01.674 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=83764 ep=83764 n=83763 BeamSearch(bsize=6, Δ=0.86, maxvisits=682) mem=1GB max-rss=1GB 2026-03-12T18:58:03.674 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=92693 ep=92693 n=92692 BeamSearch(bsize=4, Δ=1.0476191, maxvisits=734) mem=1GB max-rss=1GB 2026-03-12T18:58:05.674 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.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, 19.0, 23.0, 30.0, 107.0] [ Info: minrecall: queries per second: 10227.135474465962, recall: 0.9005 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8062484, maxvisits=840)) 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, 19.0, 23.0, 30.0, 107.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8618789, maxvisits=668)), 1000, 8) [ Info: rebuild: queries per second: 12527.609127971795, recall: 0.900375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8618789, maxvisits=668)) 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, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=868)), 1000, 8) 3.172733 seconds (485.09 k allocations: 29.148 MiB, 13.47% gc time, 96.82% compilation time) [ Info: matrixhints: queries per second: 11511.144618262473, recall: 0.89825 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=868)) 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, 19.0, 23.0, 30.0, 107.0] 0.948393 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.003195 seconds SEARCH Exhaustive 2: 0.003141 seconds SEARCH Exhaustive 3: 0.003322 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-12T18:59:46.479 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=10, Δ=1.04, maxvisits=308) mem=1GB max-rss=1GB 2026-03-12T18:59:58.301 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=15283 ep=15283 n=15282 BeamSearch(bsize=6, Δ=0.925, maxvisits=616) mem=1GB max-rss=1GB 2026-03-12T19:00:00.301 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=27974 ep=27974 n=27973 BeamSearch(bsize=6, Δ=0.93, maxvisits=654) mem=1GB max-rss=1GB 2026-03-12T19:00:02.301 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=39091 ep=39091 n=39090 BeamSearch(bsize=6, Δ=0.86, maxvisits=680) mem=1GB max-rss=1GB 2026-03-12T19:00:04.301 LOG n.size quantiles:[16.0, 16.0, 16.0, 16.0, 16.0] LOG add! sp=50190 ep=50190 n=50189 BeamSearch(bsize=6, Δ=0.86, maxvisits=680) mem=1GB max-rss=1GB 2026-03-12T19:00:06.301 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=60260 ep=60260 n=60259 BeamSearch(bsize=4, Δ=1.03, maxvisits=668) mem=1GB max-rss=1GB 2026-03-12T19:00:08.301 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=70176 ep=70176 n=70175 BeamSearch(bsize=4, Δ=1.03, maxvisits=668) mem=1GB max-rss=1GB 2026-03-12T19:00:10.301 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=80314 ep=80314 n=80313 BeamSearch(bsize=4, Δ=1.03, maxvisits=668) mem=1GB max-rss=1GB 2026-03-12T19:00:12.301 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=88993 ep=88993 n=88992 BeamSearch(bsize=4, Δ=0.9070295, maxvisits=640) mem=1GB max-rss=1GB 2026-03-12T19:00:14.302 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=98826 ep=98826 n=98825 BeamSearch(bsize=4, Δ=0.9070295, maxvisits=640) mem=1GB max-rss=1GB 2026-03-12T19:00:16.302 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) = [1.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 107.0] [ Info: minrecall: queries per second: 12926.10183772458, recall: 0.900125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0857142, maxvisits=840)) 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, 107.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8379225, maxvisits=634)), 1000, 8) [ Info: rebuild: queries per second: 14643.468873769345, recall: 0.89025 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8379225, maxvisits=634)) 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, 55.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8095238, maxvisits=920)), 1000, 8) 2.870743 seconds (429.70 k allocations: 26.167 MiB, 97.53% compilation time) [ Info: matrixhints: queries per second: 12462.41864190394, recall: 0.903125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8095238, maxvisits=920)) 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, 107.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 6m24.5s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:35.292 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-12T19:01:35.560 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> finished current elements: 14, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:37.531 D.map = UInt32[0x00000001, 0x00000003, 0x00000005, 0x00000006, 0x00000007, 0x00000017, 0x00000020, 0x00000023, 0x0000002a, 0x00000030, 0x00000043, 0x00000050, 0x00000061, 0x00000063] D.nn = Int32[1, 1, 3, 1, 5, 6, 7, 3, 6, 3, 1, 5, 5, 6, 6, 1, 5, 1, 6, 6, 1, 7, 23, 23, 6, 1, 7, 6, 7, 1, 23, 32, 6, 6, 35, 23, 1, 5, 7, 5, 6, 42, 23, 6, 42, 23, 7, 48, 5, 1, 1, 1, 1, 6, 7, 7, 42, 3, 1, 35, 48, 1, 48, 5, 42, 1, 67, 48, 7, 7, 6, 1, 7, 23, 7, 1, 23, 35, 1, 80, 35, 5, 1, 1, 6, 7, 67, 23, 6, 23, 6, 35, 5, 7, 35, 1, 97, 42, 99, 32] D.dist = Float32[0.0, 0.06177616, 0.0, 0.07097745, 0.0, 0.0, 0.0, 0.021034777, 0.08120501, 0.017520607, 0.077590585, 0.034375012, 0.083305895, 0.065534234, 0.03819084, 0.09838998, 0.023501277, 0.05555916, 0.0004849434, 0.033532143, 0.027813494, 0.06928581, 0.0, 0.093064666, 0.08213657, 0.042518854, 0.022235334, 0.07726884, 0.030331671, 0.040813386, 0.032235503, 0.0, 0.05747813, 0.09303105, 0.0, 0.08545661, 0.060427308, 0.04362279, 0.07530379, 0.06122607, 0.045535922, 0.0, 0.022590578, 0.048152864, 0.06384182, 0.034317374, 0.06841099, 0.0, 0.025217712, 0.06735742, 0.025649965, 0.003017068, 0.04982686, 0.001742661, 0.05879259, 0.02662599, 0.05416715, 0.021216273, 0.057320774, 0.009587705, 0.019952774, 0.07015759, 0.05860567, 0.042436123, 0.034316003, 0.04591912, 0.0, 0.02494806, 0.09844959, 0.06795579, 0.046898007, 0.015324473, 0.015910864, 0.056479514, 0.044957697, 0.010575473, 0.07451743, 0.028775692, 0.01041615, 0.0, 0.004398763, 0.04761058, 0.049479246, 0.03825891, 0.016173005, 0.016290605, 0.02197361, 0.019755304, 0.02401352, 0.018803775, 0.058484852, 0.068691015, 0.055886567, 0.0068789124, 0.035829008, 0.046647727, 0.0, 0.023729444, 0.0, 0.0091689825] Test Summary: | Pass Total Time neardup single block | 3 3 21.8s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.546 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-12T19:01:38.546 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.548 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.548 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.548 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.548 [ Info: neardup> range: 81:96, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.548 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.548 [ Info: neardup> finished current elements: 14, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.549 D.map = UInt32[0x00000001, 0x00000003, 0x00000005, 0x00000006, 0x00000007, 0x00000017, 0x00000020, 0x00000023, 0x0000002a, 0x00000030, 0x00000043, 0x00000050, 0x00000061, 0x00000063] D.nn = Int32[1, 1, 3, 1, 5, 6, 7, 3, 6, 3, 1, 5, 5, 6, 6, 1, 5, 1, 6, 6, 1, 7, 23, 23, 6, 1, 7, 6, 7, 1, 7, 32, 6, 6, 35, 23, 1, 5, 7, 5, 6, 42, 23, 6, 5, 23, 7, 48, 5, 1, 1, 1, 1, 6, 7, 7, 42, 3, 1, 35, 48, 1, 48, 5, 42, 1, 67, 48, 7, 7, 6, 1, 7, 23, 7, 1, 23, 35, 1, 80, 35, 5, 1, 1, 6, 7, 67, 23, 6, 23, 6, 35, 5, 7, 35, 1, 97, 42, 99, 32] D.dist = Float32[0.0, 0.06177616, 0.0, 0.07097745, 0.0, 0.0, 0.0, 0.021034777, 0.08120501, 0.017520607, 0.077590585, 0.034375012, 0.083305895, 0.065534234, 0.03819084, 0.09838998, 0.023501277, 0.05555916, 0.0004849434, 0.033532143, 0.027813494, 0.06928581, 0.0, 0.093064666, 0.08213657, 0.042518854, 0.022235334, 0.07726884, 0.030331671, 0.040813386, 0.055325866, 0.0, 0.05747813, 0.09303105, 0.0, 0.08545661, 0.060427308, 0.04362279, 0.07530379, 0.06122607, 0.045535922, 0.0, 0.022590578, 0.048152864, 0.098326266, 0.034317374, 0.06841099, 0.0, 0.025217712, 0.06735742, 0.025649965, 0.003017068, 0.04982686, 0.001742661, 0.05879259, 0.02662599, 0.05416715, 0.021216273, 0.057320774, 0.009587705, 0.019952774, 0.07015759, 0.05860567, 0.042436123, 0.034316003, 0.04591912, 0.0, 0.02494806, 0.09844959, 0.06795579, 0.046898007, 0.015324473, 0.015910864, 0.056479514, 0.044957697, 0.010575473, 0.07451743, 0.028775692, 0.01041615, 0.0, 0.004398763, 0.04761058, 0.049479246, 0.03825891, 0.016173005, 0.016290605, 0.02197361, 0.019755304, 0.02401352, 0.018803775, 0.058484852, 0.068691015, 0.055886567, 0.0068789124, 0.035829008, 0.046647727, 0.0, 0.023729444, 0.0, 0.0091689825] 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-12T19:01:38.690 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-12T19:01:38.690 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-12T19:01:38.692 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.692 [ Info: neardup> range: 49:64, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.693 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.693 [ Info: neardup> range: 81:96, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.693 [ Info: neardup> range: 97:100, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.693 [ Info: neardup> finished current elements: 20, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:38.693 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000020, 0x0000002a, 0x00000043, 0x00000063] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 5, 1, 6, 14, 1, 14, 9, 2, 6, 11, 7, 15, 7, 4, 14, 32, 2, 15, 2, 11, 1, 13, 7, 13, 6, 42, 11, 14, 5, 9, 16, 15, 5, 11, 1, 1, 1, 6, 13, 7, 13, 3, 1, 2, 2, 13, 15, 5, 42, 1, 67, 15, 16, 7, 15, 1, 7, 11, 7, 1, 14, 9, 1, 4, 2, 12, 13, 11, 6, 7, 67, 11, 15, 11, 14, 14, 5, 7, 9, 1, 16, 42, 99, 32] 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.023501277, 0.05555916, 0.0004849434, 0.018285751, 0.027813494, 0.037582994, 0.039135456, 0.026619852, 0.08213657, 0.007668674, 0.022235334, 0.032316267, 0.030331671, 0.033819795, 0.040391505, 0.0, 0.0047834516, 0.056860626, 0.018315256, 0.030107915, 0.060427308, 0.029601276, 0.07530379, 0.011202216, 0.045535922, 0.0, 0.046832144, 0.015239358, 0.098326266, 0.011826396, 0.016294837, 0.056522667, 0.025217712, 0.0673337, 0.025649965, 0.003017068, 0.04982686, 0.001742661, 0.015330136, 0.02662599, 0.036670387, 0.021216273, 0.057320774, 0.00181669, 0.07213092, 0.026662111, 0.07144886, 0.042436123, 0.034316003, 0.04591912, 0.0, 0.09103215, 0.03526163, 0.06795579, 0.006238222, 0.015324473, 0.015910864, 0.026600122, 0.044957697, 0.010575473, 0.060602725, 0.010782599, 0.01041615, 0.052880287, 0.032583177, 0.032296836, 0.030892193, 0.0075768232, 0.016173005, 0.016290605, 0.02197361, 0.016897976, 0.005861759, 0.0075854063, 0.049224675, 0.039515972, 0.055886567, 0.0068789124, 0.014414847, 0.046647727, 0.013296962, 0.023729444, 0.0, 0.0091689825] 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-12T19:01:49.898 LOG append_items! ExhaustiveSearch{SimilaritySearch.Dist.Hacks.DistanceWithIdentifiers{SimilaritySearch.Dist.Cosine, MatrixDatabase{Matrix{Float32}}}, VectorDatabase{Vector{Int32}}} sp=0 ep=5 n=5 mem=32768 max-rss=706 2026-03-12T19:01:49.898 [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:49.904 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:49.904 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:49.904 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:49.905 [ Info: neardup> range: 81:96, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:49.905 [ Info: neardup> range: 97:100, current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:49.905 [ Info: neardup> finished current elements: 14, n: 100, ϵ: 0.1, timestamp: 2026-03-12T19:01:49.905 D.map = UInt32[0x00000001, 0x00000003, 0x00000005, 0x00000006, 0x00000007, 0x00000017, 0x00000020, 0x00000023, 0x0000002a, 0x00000030, 0x00000043, 0x00000050, 0x00000061, 0x00000063] D.nn = Int32[1, 1, 3, 1, 5, 6, 7, 3, 6, 3, 1, 5, 5, 6, 6, 1, 5, 1, 6, 6, 1, 7, 23, 23, 6, 1, 7, 6, 7, 1, 7, 32, 6, 6, 35, 23, 1, 5, 7, 5, 6, 42, 23, 6, 5, 23, 7, 48, 5, 1, 1, 1, 1, 6, 7, 7, 42, 3, 1, 35, 48, 1, 48, 5, 42, 1, 67, 48, 7, 7, 6, 1, 7, 23, 7, 1, 23, 35, 1, 80, 35, 5, 1, 1, 6, 7, 67, 23, 6, 23, 6, 35, 5, 7, 35, 1, 97, 42, 99, 32] D.dist = Float32[0.0, 0.06177616, 0.0, 0.07097745, 0.0, 0.0, 0.0, 0.021034777, 0.08120501, 0.017520607, 0.077590585, 0.034375012, 0.083305895, 0.065534234, 0.03819084, 0.09838998, 0.023501277, 0.05555916, 0.0004849434, 0.033532143, 0.027813494, 0.06928581, 0.0, 0.093064666, 0.08213657, 0.042518854, 0.022235334, 0.07726884, 0.030331671, 0.040813386, 0.055325866, 0.0, 0.05747813, 0.09303105, 0.0, 0.08545661, 0.060427308, 0.04362279, 0.07530379, 0.06122607, 0.045535922, 0.0, 0.022590578, 0.048152864, 0.098326266, 0.034317374, 0.06841099, 0.0, 0.025217712, 0.06735742, 0.025649965, 0.003017068, 0.04982686, 0.001742661, 0.05879259, 0.02662599, 0.05416715, 0.021216273, 0.057320774, 0.009587705, 0.019952774, 0.07015759, 0.05860567, 0.042436123, 0.034316003, 0.04591912, 0.0, 0.02494806, 0.09844959, 0.06795579, 0.046898007, 0.015324473, 0.015910864, 0.056479514, 0.044957697, 0.010575473, 0.07451743, 0.028775692, 0.01041615, 0.0, 0.004398763, 0.04761058, 0.049479246, 0.03825891, 0.016173005, 0.016290605, 0.02197361, 0.019755304, 0.02401352, 0.018803775, 0.058484852, 0.068691015, 0.055886567, 0.0068789124, 0.035829008, 0.046647727, 0.0, 0.023729444, 0.0, 0.0091689825] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 11.2s ExhaustiveSearch allknn: 1.844930 seconds (470.26 k allocations: 27.942 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.07923784852027893, 0.15958736836910248, 0.2195500284433365, 0.2590000033378601, 0.36094754934310913] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.11812346428632736, 0.23355663940310478, 0.28394562005996704, 0.31665052473545074, 0.40477243065834045] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.15388990938663483, 0.29213711619377136, 0.3197198212146759, 0.35991647839546204, 0.5731285214424133] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.1841760128736496, 0.3128846064209938, 0.3494579643011093, 0.39261943101882935, 0.5786370038986206] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.19205507636070251, 0.3481862246990204, 0.3789595812559128, 0.4136458784341812, 0.5846418738365173] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-12T19:01:58.615 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 5.285680 seconds (607.36 k allocations: 38.322 MiB, 99.99% compilation time) recall = 0.9649999999999994 recall > 0.8 = true recall = 0.9649999999999994 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [1.0, 4.0, 6.0, 9.0, 15.0] Test Summary: | Pass Total Time allknn | 3 3 24.7s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-12T19:02:20.961 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.95, maxvisits=152) mem=1GB max-rss=1GB 2026-03-12T19:02:32.090 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (51, 569, -1.1920929f-7) (i, j, d, :parallel) = (51, 569, -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.323320544, :exact => 1.033128898) Test Summary: | Pass Total Time closestpair | 4 4 20.8s Testing SimilaritySearch tests passed Testing completed after 587.29s PkgEval succeeded after 657.19s