Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.2213 (dc778b8d37*) started at 2026-05-21T09:47:05.346 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 15.79s ################################################################################ # 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.4 [b4f34e82] + Distances v0.10.12 [31c24e10] + Distributions v0.25.125 [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.1 [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.7.2 [aedffcd0] + Static v1.4.0 [0d7ed370] + StaticArrayInterface v1.10.0 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.8.0 [2913bbd2] + StatsBase v0.34.10 [4c63d2b9] + StatsFuns v1.5.2 [7792a7ef] + StrideArraysCore v0.5.9 [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 [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.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.1+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 Installation completed after 6.27s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 9.8 s ✓ SimilaritySearch 1 dependency successfully precompiled in 12 seconds. 108 already precompiled. Precompilation completed after 38.37s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_NRiaz7/Project.toml` [7d9f7c33] Accessors v0.1.44 [4c88cf16] Aqua v0.8.14 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.125 [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.10 [7792a7ef] StrideArraysCore v0.5.9 [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_NRiaz7/Manifest.toml` [7d9f7c33] Accessors v0.1.44 [79e6a3ab] Adapt v4.6.0 [66dad0bd] AliasTables v1.1.3 [4c88cf16] Aqua v0.8.14 [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.4 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.125 [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.1 [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.7.2 [aedffcd0] Static v1.4.0 [0d7ed370] StaticArrayInterface v1.10.0 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.8.0 [2913bbd2] StatsBase v0.34.10 [4c63d2b9] StatsFuns v1.5.2 [7792a7ef] StrideArraysCore v0.5.9 [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.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.1+0 [deac9b47] LibCURL_jll v8.20.0+1 [e37daf67] LibGit2_jll v1.9.3+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 Testing Running tests... Test Summary: | Pass Total Time test database abstractions | 57 57 16.2s Test Summary: | Pass Total Time heap | 16 16 0.1s Test Summary: | Pass Total Time KnnHeap | 30005 30005 3.7s Test Summary: | Pass Total Time XKnn | 25005 25005 2.4s 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.032494 seconds SimilaritySearch.Dist.L2: 0.032095 seconds SimilaritySearch.Dist.L1: 0.036911 seconds SimilaritySearch.Dist.L1: 0.039380 seconds SimilaritySearch.Dist.LInfty: 0.031021 seconds SimilaritySearch.Dist.LInfty: 0.030431 seconds SimilaritySearch.Dist.SqL2: 0.032615 seconds SimilaritySearch.Dist.SqL2: 0.032358 seconds SimilaritySearch.Dist.Lp: 0.147315 seconds SimilaritySearch.Dist.Lp: 0.148127 seconds SimilaritySearch.Dist.Lp: 0.275066 seconds SimilaritySearch.Dist.Lp: 0.273519 seconds SimilaritySearch.Dist.Angle: 0.196393 seconds (5.21 k allocations: 279.094 KiB) SimilaritySearch.Dist.Angle: 0.185979 seconds SimilaritySearch.Dist.Cosine: 0.170006 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.166261 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 23.4s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.018226 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.018101 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.273063 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.273394 seconds SimilaritySearch.Dist.Seqs.LCS: 0.267422 seconds SimilaritySearch.Dist.Seqs.LCS: 0.267001 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.027636 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.027939 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 10.2s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.091389 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.090327 seconds SimilaritySearch.Dist.Sets.Dice: 0.071397 seconds SimilaritySearch.Dist.Sets.Dice: 0.079136 seconds SimilaritySearch.Dist.Sets.Intersection: 0.069522 seconds SimilaritySearch.Dist.Sets.Intersection: 0.069450 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.073913 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.075103 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 10.4s SimilaritySearch.Dist.NormAngle: 0.003832 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003809 seconds SimilaritySearch.Dist.NormCosine: 0.003038 seconds SimilaritySearch.Dist.NormCosine: 0.002973 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 5.9s SimilaritySearch.Dist.Bits.Hamming: 0.004672 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004672 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.009659 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.009785 seconds Test Summary: | Pass Total Time Binary distances | 200 200 5.2s 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 4.7s computing farthest point 1, dmax: Inf, imax: 3, n: 30 computing farthest point 2, dmax: 1.2618436, imax: 16, n: 30 computing farthest point 3, dmax: 1.0226555, imax: 23, n: 30 computing farthest point 4, dmax: 0.9536832, imax: 22, n: 30 computing farthest point 5, dmax: 0.7779921, imax: 25, n: 30 computing farthest point 6, dmax: 0.680447, imax: 19, n: 30 computing farthest point 7, dmax: 0.65036553, imax: 26, n: 30 computing farthest point 8, dmax: 0.6209314, imax: 6, n: 30 computing farthest point 9, dmax: 0.5819866, imax: 4, n: 30 computing farthest point 10, dmax: 0.52177614, imax: 9, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.8s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 3.8s 5.474742 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.004298 seconds SEARCH Exhaustive 2: 0.004300 seconds SEARCH Exhaustive 3: 0.005239 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-05-21T09:50:35.532 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-05-21T09:50:39.150 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=14, Δ=1.155, maxvisits=350) mem=1GB max-rss=1GB 2026-05-21T09:50:48.175 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=14449 ep=14449 n=14448 BeamSearch(bsize=10, Δ=0.99999994, maxvisits=746) mem=1GB max-rss=1GB 2026-05-21T09:50:50.175 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=27778 ep=27778 n=27777 BeamSearch(bsize=6, Δ=0.91, maxvisits=702) mem=1GB max-rss=1GB 2026-05-21T09:50:52.175 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=39495 ep=39495 n=39494 BeamSearch(bsize=4, Δ=0.82, maxvisits=586) mem=1GB max-rss=1GB 2026-05-21T09:50:54.175 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=51641 ep=51641 n=51640 BeamSearch(bsize=4, Δ=0.82, maxvisits=586) mem=1GB max-rss=1GB 2026-05-21T09:50:56.175 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=61424 ep=61424 n=61423 BeamSearch(bsize=6, Δ=0.9, maxvisits=656) mem=1GB max-rss=1GB 2026-05-21T09:50:58.175 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=71787 ep=71787 n=71786 BeamSearch(bsize=6, Δ=0.9, maxvisits=656) mem=1GB max-rss=1GB 2026-05-21T09:51:00.175 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=81883 ep=81883 n=81882 BeamSearch(bsize=6, Δ=0.9, maxvisits=656) mem=1GB max-rss=1GB 2026-05-21T09:51:02.175 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=89117 ep=89117 n=89116 BeamSearch(bsize=6, Δ=0.97619045, maxvisits=760) mem=1GB max-rss=1GB 2026-05-21T09:51:04.175 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=98044 ep=98044 n=98043 BeamSearch(bsize=6, Δ=0.97619045, maxvisits=760) mem=1GB max-rss=1GB 2026-05-21T09:51:06.175 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, 23.0, 30.0, 104.0] [ Info: minrecall: queries per second: 12967.478238885742, recall: 0.90625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.803369, maxvisits=914)) 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, 104.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=3, Δ=0.94285715, maxvisits=708)), 1000, 8) [ Info: rebuild: queries per second: 14893.279007218787, recall: 0.9015 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=3, Δ=0.94285715, maxvisits=708)) 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, 57.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=902)), 1000, 8) 2.667507 seconds (489.13 k allocations: 29.790 MiB, 96.86% compilation time) [ Info: matrixhints: queries per second: 14214.21253241249, recall: 0.903125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=902)) 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, 104.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-05-21T09:52:35.608 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=14, Δ=1.155, maxvisits=350) mem=1GB max-rss=1GB 2026-05-21T09:52:38.813 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=17318 ep=17318 n=17317 BeamSearch(bsize=6, Δ=0.88435376, maxvisits=600) mem=1GB max-rss=1GB 2026-05-21T09:52:40.813 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=32164 ep=32164 n=32163 BeamSearch(bsize=6, Δ=0.91, maxvisits=702) mem=1GB max-rss=1GB 2026-05-21T09:52:42.813 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=45483 ep=45483 n=45482 BeamSearch(bsize=4, Δ=0.82, maxvisits=586) mem=1GB max-rss=1GB 2026-05-21T09:52:44.813 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=57055 ep=57055 n=57054 BeamSearch(bsize=6, Δ=0.9, maxvisits=656) mem=1GB max-rss=1GB 2026-05-21T09:52:46.813 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=68196 ep=68196 n=68195 BeamSearch(bsize=6, Δ=0.9, maxvisits=656) mem=1GB max-rss=1GB 2026-05-21T09:52:48.814 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=79060 ep=79060 n=79059 BeamSearch(bsize=6, Δ=0.9, maxvisits=656) mem=1GB max-rss=1GB 2026-05-21T09:52:50.814 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=88022 ep=88022 n=88021 BeamSearch(bsize=6, Δ=0.97619045, maxvisits=760) mem=1GB max-rss=1GB 2026-05-21T09:52:52.814 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=97809 ep=97809 n=97808 BeamSearch(bsize=6, Δ=0.97619045, maxvisits=760) mem=1GB max-rss=1GB 2026-05-21T09:52:54.814 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, 104.0] [ Info: minrecall: queries per second: 10726.396620550062, recall: 0.90625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.803369, maxvisits=914)) 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, 104.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=3, Δ=0.94285715, maxvisits=708)), 1000, 8) [ Info: rebuild: queries per second: 14879.796539614037, recall: 0.9015 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=3, Δ=0.94285715, maxvisits=708)) 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, 57.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=902)), 1000, 8) 2.565387 seconds (483.99 k allocations: 29.191 MiB, 96.46% compilation time) [ Info: matrixhints: queries per second: 13039.46533706542, recall: 0.903125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=902)) 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, 104.0] 1.027394 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.001132 seconds SEARCH Exhaustive 2: 0.001134 seconds SEARCH Exhaustive 3: 0.001191 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-05-21T09:54:22.992 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=16, Δ=1.1, maxvisits=336) mem=1GB max-rss=1GB 2026-05-21T09:54:29.790 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=25253 ep=25253 n=25252 BeamSearch(bsize=6, Δ=0.9070295, maxvisits=598) mem=1GB max-rss=1GB 2026-05-21T09:54:31.801 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=45471 ep=45471 n=45470 BeamSearch(bsize=6, Δ=0.9156678, maxvisits=626) mem=1GB max-rss=1GB 2026-05-21T09:54:33.801 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=63833 ep=63833 n=63832 BeamSearch(bsize=6, Δ=0.8952381, maxvisits=668) mem=1GB max-rss=1GB 2026-05-21T09:54:35.802 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=80786 ep=80786 n=80785 BeamSearch(bsize=6, Δ=0.8952381, maxvisits=668) mem=1GB max-rss=1GB 2026-05-21T09:54:37.802 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=95216 ep=95216 n=95215 BeamSearch(bsize=6, Δ=0.89, maxvisits=756) mem=1GB max-rss=1GB 2026-05-21T09:54:39.802 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.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, 105.0] [ Info: minrecall: queries per second: 25139.712696324186, recall: 0.90125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.78156734, maxvisits=880)) 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, 105.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=684)), 1000, 8) [ Info: rebuild: queries per second: 25125.438121686566, recall: 0.89975 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=684)) 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, 56.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.7333333, maxvisits=942)), 1000, 8) 2.706794 seconds (428.21 k allocations: 25.910 MiB, 1.59% gc time, 96.88% compilation time) [ Info: matrixhints: queries per second: 12693.027469958111, recall: 0.89825 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.7333333, maxvisits=942)) 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, 105.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 5m24.1s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:40.277 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-05-21T09:55:40.582 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-05-21T09:55:41.975 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x0000000e, 0x00000015, 0x00000017, 0x0000001e, 0x00000021, 0x00000034, 0x00000062, 0x00000064] D.nn = Int32[1, 2, 3, 4, 3, 4, 3, 1, 2, 1, 1, 4, 2, 14, 14, 14, 2, 1, 14, 4, 21, 2, 23, 2, 1, 14, 14, 14, 1, 30, 4, 30, 33, 2, 4, 14, 4, 4, 21, 1, 14, 3, 1, 1, 33, 2, 3, 1, 21, 4, 14, 52, 2, 4, 14, 33, 14, 14, 1, 14, 1, 1, 3, 21, 1, 3, 2, 4, 14, 14, 4, 3, 4, 1, 4, 14, 1, 3, 14, 2, 14, 3, 21, 2, 2, 52, 3, 52, 3, 14, 21, 52, 2, 21, 14, 2, 23, 98, 14, 100] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.056691885, 0.0753085, 0.030706286, 0.030861974, 0.053760767, 0.076063156, 0.063361526, 0.03269452, 0.07452595, 0.0, 0.044929743, 0.02513498, 0.07755607, 0.047216296, 0.060664654, 0.021476686, 0.0, 0.04328066, 0.0, 0.091644466, 0.006287098, 0.09244019, 0.079737544, 0.061767995, 0.048283458, 0.0, 0.041082025, 0.048554957, 0.0, 0.047579765, 0.027998865, 0.033766747, 0.030449212, 0.01763457, 0.02884543, 0.021754563, 0.013417244, 0.0036643744, 0.0720554, 0.067052126, 0.07711071, 0.02890259, 0.02591908, 0.03395182, 0.043301046, 0.05100286, 0.018903136, 0.0, 0.007009268, 0.008421123, 0.046785533, 0.07695985, 0.023820996, 0.038612604, 0.046703517, 0.027432919, 0.042367756, 0.012058854, 0.027466714, 0.049149275, 0.006345272, 0.06646496, 0.043257415, 0.07508069, 0.069164276, 0.0099641085, 0.046503007, 0.05173731, 0.096669495, 0.0030867457, 0.055434763, 0.022824228, 0.027949214, 0.022736967, 0.051242054, 0.08224034, 0.02033621, 0.03955227, 0.0075392127, 0.05934924, 0.010895014, 0.030133188, 0.047088385, 0.025283873, 0.053383708, 0.020341575, 0.028224409, 0.07759756, 0.05407381, 0.0038280487, 0.018687546, 0.042401195, 0.09846693, 0.0, 0.020792782, 0.0] Test Summary: | Pass Total Time neardup single block | 3 3 20.3s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.671 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-05-21T09:55:42.671 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-05-21T09:55:42.672 [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.672 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.672 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.672 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.672 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.672 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.672 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x0000000e, 0x00000015, 0x00000017, 0x0000001e, 0x00000021, 0x00000034, 0x00000062, 0x00000064] D.nn = Int32[1, 2, 3, 4, 3, 4, 3, 1, 2, 1, 1, 4, 2, 14, 14, 14, 2, 1, 14, 4, 21, 2, 23, 2, 1, 14, 14, 14, 1, 30, 4, 2, 33, 2, 4, 14, 4, 4, 21, 1, 14, 3, 1, 1, 2, 2, 3, 1, 21, 4, 14, 52, 2, 4, 14, 33, 14, 14, 1, 14, 1, 1, 3, 21, 1, 3, 2, 4, 14, 14, 4, 3, 4, 1, 4, 14, 1, 3, 14, 2, 14, 3, 21, 2, 2, 52, 3, 52, 3, 14, 21, 52, 2, 21, 14, 2, 23, 98, 14, 100] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.056691885, 0.0753085, 0.030706286, 0.030861974, 0.053760767, 0.076063156, 0.063361526, 0.03269452, 0.07452595, 0.0, 0.044929743, 0.02513498, 0.07755607, 0.047216296, 0.060664654, 0.021476686, 0.0, 0.04328066, 0.0, 0.091644466, 0.006287098, 0.09244019, 0.079737544, 0.061767995, 0.048283458, 0.0, 0.041082025, 0.08612168, 0.0, 0.047579765, 0.027998865, 0.033766747, 0.030449212, 0.01763457, 0.02884543, 0.021754563, 0.013417244, 0.0036643744, 0.0720554, 0.067052126, 0.079280615, 0.02890259, 0.02591908, 0.03395182, 0.043301046, 0.05100286, 0.018903136, 0.0, 0.007009268, 0.008421123, 0.046785533, 0.07695985, 0.023820996, 0.038612604, 0.046703517, 0.027432919, 0.042367756, 0.012058854, 0.027466714, 0.049149275, 0.006345272, 0.06646496, 0.043257415, 0.07508069, 0.069164276, 0.0099641085, 0.046503007, 0.05173731, 0.096669495, 0.0030867457, 0.055434763, 0.022824228, 0.027949214, 0.022736967, 0.051242054, 0.08224034, 0.02033621, 0.03955227, 0.0075392127, 0.05934924, 0.010895014, 0.030133188, 0.047088385, 0.025283873, 0.053383708, 0.020341575, 0.028224409, 0.07759756, 0.05407381, 0.0038280487, 0.018687546, 0.042401195, 0.09846693, 0.0, 0.020792782, 0.0] 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-05-21T09:55:42.781 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-05-21T09:55:42.782 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-05-21T09:55:42.782 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.782 [ Info: neardup> range: 49:64, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.782 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.782 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.783 [ Info: neardup> range: 97:100, current elements: 20, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.783 [ Info: neardup> finished current elements: 20, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:42.783 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000017, 0x00000021, 0x00000053, 0x0000005c] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 9, 8, 15, 4, 15, 2, 23, 9, 1, 9, 16, 9, 8, 16, 7, 16, 33, 9, 4, 9, 12, 4, 15, 1, 14, 3, 10, 8, 2, 9, 3, 11, 12, 6, 16, 13, 2, 4, 9, 33, 15, 12, 10, 15, 8, 8, 7, 15, 1, 5, 2, 4, 14, 14, 12, 5, 4, 1, 4, 9, 1, 11, 12, 9, 15, 3, 83, 2, 2, 13, 5, 13, 5, 16, 15, 92, 9, 15, 16, 13, 11, 7, 15, 9] 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.0509398, 0.008692443, 0.02197808, 0.021476686, 0.05484897, 0.04328066, 0.0, 0.05328369, 0.006287098, 0.054641962, 0.024874985, 0.03569603, 0.023479283, 0.04223728, 0.036313355, 0.05554843, 0.0, 0.013109326, 0.027998865, 0.0011530519, 0.0015574694, 0.01763457, 0.019914627, 0.021754563, 0.013417244, 0.0036643744, 0.0063171387, 0.007887602, 0.079280615, 0.006831646, 0.02591908, 0.0050174594, 0.017701209, 0.013599217, 0.0043810606, 0.0375064, 0.007009268, 0.008421123, 0.038493216, 0.07695985, 0.019884586, 0.01168561, 0.0069597363, 0.0038710237, 0.02860403, 0.009076655, 0.012037575, 0.0014317632, 0.006345272, 0.010165751, 0.043257415, 0.07508069, 0.069164276, 0.0099641085, 0.04394144, 0.012884736, 0.096669495, 0.0030867457, 0.055434763, 0.01177758, 0.027949214, 0.01690334, 0.04355496, 0.069030404, 0.0055185556, 0.03955227, 0.0, 0.05934924, 0.010895014, 0.0010542274, 0.0078501105, 0.07880235, 0.00016844273, 0.016490042, 0.025292814, 0.0, 0.015558064, 0.031787872, 0.0037888885, 0.039684832, 0.022228539, 0.029546142, 0.009518385, 0.099529564] 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-05-21T09:55:58.191 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=680 2026-05-21T09:55:58.192 [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:58.196 [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:58.196 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:58.196 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:58.196 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:58.196 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:58.196 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-05-21T09:55:58.196 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x0000000e, 0x00000015, 0x00000017, 0x0000001e, 0x00000021, 0x00000034, 0x00000062, 0x00000064] D.nn = Int32[1, 2, 3, 4, 3, 4, 3, 1, 2, 1, 1, 4, 2, 14, 14, 14, 2, 1, 14, 4, 21, 2, 23, 2, 1, 14, 14, 14, 1, 30, 4, 2, 33, 2, 4, 14, 4, 4, 21, 1, 14, 3, 1, 1, 2, 2, 3, 1, 21, 4, 14, 52, 2, 4, 14, 33, 14, 14, 1, 14, 1, 1, 3, 21, 1, 3, 2, 4, 14, 14, 4, 3, 4, 1, 4, 14, 1, 3, 14, 2, 14, 3, 21, 2, 2, 52, 3, 52, 3, 14, 21, 52, 2, 21, 14, 2, 23, 98, 14, 100] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.056691885, 0.0753085, 0.030706286, 0.030861974, 0.053760767, 0.076063156, 0.063361526, 0.03269452, 0.07452595, 0.0, 0.044929743, 0.02513498, 0.07755607, 0.047216296, 0.060664654, 0.021476686, 0.0, 0.04328066, 0.0, 0.091644466, 0.006287098, 0.09244019, 0.079737544, 0.061767995, 0.048283458, 0.0, 0.041082025, 0.08612168, 0.0, 0.047579765, 0.027998865, 0.033766747, 0.030449212, 0.01763457, 0.02884543, 0.021754563, 0.013417244, 0.0036643744, 0.0720554, 0.067052126, 0.079280615, 0.02890259, 0.02591908, 0.03395182, 0.043301046, 0.05100286, 0.018903136, 0.0, 0.007009268, 0.008421123, 0.046785533, 0.07695985, 0.023820996, 0.038612604, 0.046703517, 0.027432919, 0.042367756, 0.012058854, 0.027466714, 0.049149275, 0.006345272, 0.06646496, 0.043257415, 0.07508069, 0.069164276, 0.0099641085, 0.046503007, 0.05173731, 0.096669495, 0.0030867457, 0.055434763, 0.022824228, 0.027949214, 0.022736967, 0.051242054, 0.08224034, 0.02033621, 0.03955227, 0.0075392127, 0.05934924, 0.010895014, 0.030133188, 0.047088385, 0.025283873, 0.053383708, 0.020341575, 0.028224409, 0.07759756, 0.05407381, 0.0038280487, 0.018687546, 0.042401195, 0.09846693, 0.0, 0.020792782, 0.0] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 15.4s ExhaustiveSearch allknn: 1.352228 seconds (471.29 k allocations: 28.035 MiB, 99.93% 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.06645698845386505, 0.15264780819416046, 0.1945972889661789, 0.2533314600586891, 0.4261481463909149] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.10432948172092438, 0.21452775970101357, 0.25970475375652313, 0.3167994022369385, 0.49482038617134094] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.1710784137248993, 0.251669742166996, 0.29508528113365173, 0.3389394134283066, 0.4958575963973999] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.1957402527332306, 0.2708296924829483, 0.3208472728729248, 0.36208587884902954, 0.5497575998306274] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.19854845106601715, 0.296738438308239, 0.3459450751543045, 0.3895992636680603, 0.5851638913154602] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-05-21T09:56:05.873 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 3.565354 seconds (598.69 k allocations: 37.697 MiB, 1.19% gc time, 99.99% compilation time) recall = 0.9816666666666666 recall > 0.8 = true recall = 0.9816666666666666 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [2.0, 4.0, 6.0, 9.0, 17.0] Test Summary: | Pass Total Time allknn | 3 3 20.9s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-05-21T09:56:23.071 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=152) mem=1GB max-rss=1GB 2026-05-21T09:56:29.533 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (31, 698, -1.1920929f-7) (i, j, d, :parallel) = (10, 90, -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 => 11.440341433, :exact => 0.661596733) Test Summary: | Pass Total Time closestpair | 4 4 12.4s Testing SimilaritySearch tests passed Testing completed after 502.72s PkgEval succeeded after 599.47s