Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.2071 (559ec66647*) started at 2026-04-23T21:59:38.521 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 15.06s ################################################################################ # 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.5.2 [66dad0bd] + AliasTables v1.1.3 [4fba245c] + ArrayInterface v7.24.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.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.37 [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.3 [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.1 [053f045d] + SimilaritySearch v0.14.3 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.7.2 [aedffcd0] + Static v1.3.1 [0d7ed370] + StaticArrayInterface v1.9.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.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 [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 Installation completed after 6.15s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 3.8 s ✓ SearchModels 9.1 s ✓ SimilaritySearch 2 dependencies successfully precompiled in 14 seconds. 108 already precompiled. Precompilation completed after 41.81s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_I5hXMY/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.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_I5hXMY/Manifest.toml` [7d9f7c33] Accessors v0.1.44 [79e6a3ab] Adapt v4.5.2 [66dad0bd] AliasTables v1.1.3 [4c88cf16] Aqua v0.8.14 [4fba245c] ArrayInterface v7.24.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.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.37 [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.3 [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.1 [053f045d] SimilaritySearch v0.14.3 [a2af1166] SortingAlgorithms v1.2.2 [276daf66] SpecialFunctions v2.7.2 [aedffcd0] Static v1.3.1 [0d7ed370] StaticArrayInterface v1.9.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.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.19.0+0 [e37daf67] LibGit2_jll v1.9.2+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2026.3.19 [4536629a] OpenBLAS_jll v0.3.30+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.9s Test Summary: | Pass Total Time heap | 16 16 0.2s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.0s Test Summary: | Pass Total Time XKnn | 25005 25005 2.7s 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.029984 seconds SimilaritySearch.Dist.L2: 0.029446 seconds SimilaritySearch.Dist.L1: 0.029727 seconds SimilaritySearch.Dist.L1: 0.030021 seconds SimilaritySearch.Dist.LInfty: 0.027337 seconds SimilaritySearch.Dist.LInfty: 0.027395 seconds SimilaritySearch.Dist.SqL2: 0.030149 seconds SimilaritySearch.Dist.SqL2: 0.030212 seconds SimilaritySearch.Dist.Lp: 0.135034 seconds SimilaritySearch.Dist.Lp: 0.135330 seconds SimilaritySearch.Dist.Lp: 0.264595 seconds SimilaritySearch.Dist.Lp: 0.263985 seconds SimilaritySearch.Dist.Angle: 0.182736 seconds (5.21 k allocations: 279.062 KiB) SimilaritySearch.Dist.Angle: 0.175648 seconds SimilaritySearch.Dist.Cosine: 0.160104 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.167745 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 23.8s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.016539 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.017269 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.238691 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.242712 seconds SimilaritySearch.Dist.Seqs.LCS: 0.174847 seconds SimilaritySearch.Dist.Seqs.LCS: 0.199246 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.029236 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.028895 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 10.1s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.073568 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.074147 seconds SimilaritySearch.Dist.Sets.Dice: 0.072412 seconds SimilaritySearch.Dist.Sets.Dice: 0.072187 seconds SimilaritySearch.Dist.Sets.Intersection: 0.070962 seconds SimilaritySearch.Dist.Sets.Intersection: 0.074714 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.074381 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.073112 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 10.1s SimilaritySearch.Dist.NormAngle: 0.003918 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003883 seconds SimilaritySearch.Dist.NormCosine: 0.003066 seconds SimilaritySearch.Dist.NormCosine: 0.002999 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 5.5s SimilaritySearch.Dist.Bits.Hamming: 0.004188 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004214 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008871 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.009345 seconds Test Summary: | Pass Total Time Binary distances | 200 200 5.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, 6.0] Test Summary: | Total Time HSP | 0 5.0s computing farthest point 1, dmax: Inf, imax: 1, n: 30 computing farthest point 2, dmax: 1.0197109, imax: 17, n: 30 computing farthest point 3, dmax: 0.8091508, imax: 16, n: 30 computing farthest point 4, dmax: 0.764473, imax: 12, n: 30 computing farthest point 5, dmax: 0.76021206, imax: 30, n: 30 computing farthest point 6, dmax: 0.6687886, imax: 3, n: 30 computing farthest point 7, dmax: 0.56667876, imax: 10, n: 30 computing farthest point 8, dmax: 0.54342085, imax: 21, n: 30 computing farthest point 9, dmax: 0.51823676, imax: 6, n: 30 computing farthest point 10, dmax: 0.49897403, imax: 27, 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.0s 5.276726 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.003926 seconds SEARCH Exhaustive 2: 0.003985 seconds SEARCH Exhaustive 3: 0.004830 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-04-23T22:03:09.743 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-04-23T22:03:13.728 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=10, Δ=1.1, maxvisits=308) mem=1GB max-rss=1GB 2026-04-23T22:03:20.725 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=22306 ep=22306 n=22305 BeamSearch(bsize=6, Δ=0.9238095, maxvisits=598) mem=1GB max-rss=1GB 2026-04-23T22:03:22.725 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=39637 ep=39637 n=39636 BeamSearch(bsize=6, Δ=0.8571428, maxvisits=608) mem=1GB max-rss=1GB 2026-04-23T22:03:24.725 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=56180 ep=56180 n=56179 BeamSearch(bsize=6, Δ=0.8571428, maxvisits=608) mem=1GB max-rss=1GB 2026-04-23T22:03:26.725 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=68630 ep=68630 n=68629 BeamSearch(bsize=6, Δ=0.82, maxvisits=682) mem=1GB max-rss=1GB 2026-04-23T22:03:28.725 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=81097 ep=81097 n=81096 BeamSearch(bsize=6, Δ=0.82, maxvisits=682) mem=1GB max-rss=1GB 2026-04-23T22:03:30.725 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=93118 ep=93118 n=93117 BeamSearch(bsize=8, Δ=0.98, maxvisits=748) mem=1GB max-rss=1GB 2026-04-23T22:03:32.725 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) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 109.0] [ Info: minrecall: queries per second: 13236.507399273818, recall: 0.902875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=852)) 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, 109.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=678)), 1000, 8) [ Info: rebuild: queries per second: 14045.529510914579, recall: 0.892125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=678)) 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, 62.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79802144, maxvisits=846)), 1000, 8) 2.507416 seconds (488.99 k allocations: 29.710 MiB, 97.32% compilation time) [ Info: matrixhints: queries per second: 13441.389379428661, recall: 0.898625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79802144, maxvisits=846)) 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, 109.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-04-23T22:05:00.950 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.1, maxvisits=308) mem=1GB max-rss=1GB 2026-04-23T22:05:04.103 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=19896 ep=19896 n=19895 BeamSearch(bsize=6, Δ=0.9238095, maxvisits=598) mem=1GB max-rss=1GB 2026-04-23T22:05:06.103 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=37878 ep=37878 n=37877 BeamSearch(bsize=6, Δ=0.8571428, maxvisits=608) mem=1GB max-rss=1GB 2026-04-23T22:05:08.246 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=51661 ep=51661 n=51660 BeamSearch(bsize=6, Δ=0.8571428, maxvisits=608) mem=1GB max-rss=1GB 2026-04-23T22:05:10.246 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=62734 ep=62734 n=62733 BeamSearch(bsize=6, Δ=0.82, maxvisits=682) mem=1GB max-rss=1GB 2026-04-23T22:05:12.246 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=74466 ep=74466 n=74465 BeamSearch(bsize=6, Δ=0.82, maxvisits=682) mem=1GB max-rss=1GB 2026-04-23T22:05:14.246 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=85224 ep=85224 n=85223 BeamSearch(bsize=8, Δ=0.98, maxvisits=748) mem=1GB max-rss=1GB 2026-04-23T22:05:16.485 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=94417 ep=94417 n=94416 BeamSearch(bsize=8, Δ=0.98, maxvisits=748) mem=1GB max-rss=1GB 2026-04-23T22:05:18.485 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 109.0] [ Info: minrecall: queries per second: 12006.90968835982, recall: 0.902875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=852)) 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, 109.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=678)), 1000, 8) [ Info: rebuild: queries per second: 14810.79593276586, recall: 0.892125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=678)) 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, 62.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79802144, maxvisits=846)), 1000, 8) 2.520864 seconds (483.85 k allocations: 29.239 MiB, 96.71% compilation time) [ Info: matrixhints: queries per second: 12030.350312131648, recall: 0.898625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79802144, maxvisits=846)) 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, 109.0] 1.098294 seconds (3 allocations: 62.617 KiB) SEARCH Exhaustive 1: 0.001760 seconds SEARCH Exhaustive 2: 0.001708 seconds SEARCH Exhaustive 3: 0.001634 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-04-23T22:06:49.016 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.15, maxvisits=352) mem=1GB max-rss=1GB 2026-04-23T22:06:57.495 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=16430 ep=16430 n=16429 BeamSearch(bsize=4, Δ=0.85, maxvisits=556) mem=1GB max-rss=1GB 2026-04-23T22:06:59.496 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=29269 ep=29269 n=29268 BeamSearch(bsize=6, Δ=0.84, maxvisits=622) mem=1GB max-rss=1GB 2026-04-23T22:07:01.496 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=42093 ep=42093 n=42092 BeamSearch(bsize=4, Δ=0.95, maxvisits=604) mem=1GB max-rss=1GB 2026-04-23T22:07:03.496 LOG n.size quantiles:[4.0, 4.0, 4.0, 4.0, 4.0] LOG add! sp=54631 ep=54631 n=54630 BeamSearch(bsize=4, Δ=0.95, maxvisits=604) mem=1GB max-rss=1GB 2026-04-23T22:07:05.496 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=62828 ep=62828 n=62827 BeamSearch(bsize=10, Δ=1.07, maxvisits=854) mem=1GB max-rss=1GB 2026-04-23T22:07:07.496 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=71316 ep=71316 n=71315 BeamSearch(bsize=10, Δ=1.07, maxvisits=854) mem=1GB max-rss=1GB 2026-04-23T22:07:09.496 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=79521 ep=79521 n=79520 BeamSearch(bsize=10, Δ=1.07, maxvisits=854) mem=1GB max-rss=1GB 2026-04-23T22:07:11.496 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=86776 ep=86776 n=86775 BeamSearch(bsize=4, Δ=1.0190476, maxvisits=690) mem=1GB max-rss=1GB 2026-04-23T22:07:13.496 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=96183 ep=96183 n=96182 BeamSearch(bsize=4, Δ=1.0190476, maxvisits=690) mem=1GB max-rss=1GB 2026-04-23T22:07:15.496 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 110.0] [ Info: minrecall: queries per second: 14542.930315818783, recall: 0.9 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8206457, 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, 110.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.7835262, maxvisits=682)), 1000, 8) [ Info: rebuild: queries per second: 16459.350449181435, recall: 0.885375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.7835262, maxvisits=682)) 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, 60.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79999995, maxvisits=880)), 1000, 8) 2.611818 seconds (428.01 k allocations: 25.942 MiB, 97.15% compilation time) [ Info: matrixhints: queries per second: 12768.260678035755, recall: 0.895 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.79999995, 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, 110.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 5m33.9s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:25.372 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-23T22:08:25.643 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-04-23T22:08:27.209 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000006, 0x0000000a, 0x0000000b, 0x0000000c, 0x00000011, 0x00000022, 0x0000002e, 0x00000032] D.nn = Int32[1, 2, 3, 1, 2, 6, 6, 2, 2, 10, 11, 12, 10, 10, 1, 6, 17, 1, 17, 6, 11, 6, 17, 11, 12, 10, 1, 2, 17, 17, 17, 10, 2, 34, 6, 34, 2, 3, 17, 1, 6, 34, 12, 1, 17, 46, 6, 2, 6, 50, 2, 2, 6, 46, 6, 34, 2, 46, 10, 17, 1, 1, 1, 10, 2, 10, 1, 10, 17, 1, 12, 2, 10, 1, 12, 12, 2, 2, 11, 17, 6, 10, 34, 10, 10, 46, 2, 17, 6, 34, 17, 1, 1, 6, 10, 17, 34, 2, 1, 12] D.dist = Float32[0.0, 0.0, 0.0, 0.02381301, 0.0887782, 0.0, 0.032726288, 0.061774194, 0.06142336, 0.0, 0.0, 0.0, 0.022881448, 0.056587696, 0.03059578, 0.07644683, 0.0, 0.07811749, 0.045050144, 0.04363233, 0.08772689, 0.021989942, 0.02143699, 0.016889572, 0.062084854, 0.064269006, 0.013396502, 0.018697143, 0.05121368, 0.012056768, 0.061279416, 0.035506666, 0.0516299, 0.0, 0.042522073, 0.010609508, 0.020025253, 0.015741825, 0.009392738, 0.04999298, 0.052553236, 0.03132862, 0.07328004, 0.03879124, 0.09089053, 0.0, 0.0016607642, 0.017427266, 0.07808465, 0.0, 0.047382295, 0.06600249, 0.063543856, 0.018795788, 0.07884222, 0.02602762, 0.030625582, 0.048084915, 0.022330582, 0.019139946, 0.017023563, 0.034795403, 0.062063813, 0.0885936, 0.03320694, 0.019037902, 0.0042832494, 0.018373191, 0.041838408, 0.019906163, 0.016413927, 0.027631402, 0.058757722, 0.017728865, 0.047243476, 0.07833272, 0.025068998, 0.043099523, 0.027780175, 0.03986889, 0.042286932, 0.015759766, 0.083046675, 0.06273925, 0.06782633, 0.047764957, 0.04322809, 0.05216509, 0.040906727, 0.021171987, 0.070504904, 0.027050138, 0.04186213, 0.032343745, 0.026118219, 0.056752324, 0.01848036, 0.018763602, 0.03382975, 0.026269555] Test Summary: | Pass Total Time neardup single block | 3 3 19.9s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.155 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-23T22:08:28.156 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-04-23T22:08:28.157 [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.158 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.158 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.158 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.158 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.159 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.159 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000006, 0x0000000a, 0x0000000b, 0x0000000c, 0x00000011, 0x00000022, 0x0000002e, 0x00000032] D.nn = Int32[1, 2, 3, 1, 2, 6, 6, 2, 2, 10, 11, 12, 10, 10, 1, 6, 17, 1, 17, 6, 11, 6, 17, 11, 12, 10, 1, 2, 17, 10, 10, 10, 2, 34, 6, 10, 2, 3, 17, 1, 6, 10, 12, 1, 17, 46, 6, 2, 6, 50, 2, 2, 6, 46, 6, 34, 2, 46, 10, 17, 1, 1, 1, 10, 2, 10, 1, 10, 17, 1, 12, 2, 10, 1, 12, 12, 2, 2, 11, 17, 6, 10, 34, 10, 10, 46, 2, 17, 6, 34, 17, 1, 1, 6, 10, 17, 34, 2, 1, 12] D.dist = Float32[0.0, 0.0, 0.0, 0.02381301, 0.0887782, 0.0, 0.032726288, 0.061774194, 0.06142336, 0.0, 0.0, 0.0, 0.022881448, 0.056587696, 0.03059578, 0.07644683, 0.0, 0.07811749, 0.045050144, 0.04363233, 0.08772689, 0.021989942, 0.02143699, 0.016889572, 0.062084854, 0.064269006, 0.013396502, 0.018697143, 0.05121368, 0.0913648, 0.075935006, 0.035506666, 0.0516299, 0.0, 0.042522073, 0.09223622, 0.020025253, 0.015741825, 0.009392738, 0.04999298, 0.052553236, 0.07621616, 0.07328004, 0.03879124, 0.09089053, 0.0, 0.0016607642, 0.017427266, 0.07808465, 0.0, 0.047382295, 0.06600249, 0.063543856, 0.018795788, 0.07884222, 0.02602762, 0.030625582, 0.048084915, 0.022330582, 0.019139946, 0.017023563, 0.034795403, 0.062063813, 0.0885936, 0.03320694, 0.019037902, 0.0042832494, 0.018373191, 0.041838408, 0.019906163, 0.016413927, 0.027631402, 0.058757722, 0.017728865, 0.047243476, 0.07833272, 0.025068998, 0.043099523, 0.027780175, 0.03986889, 0.042286932, 0.015759766, 0.083046675, 0.06273925, 0.06782633, 0.047764957, 0.04322809, 0.05216509, 0.040906727, 0.021171987, 0.070504904, 0.027050138, 0.04186213, 0.032343745, 0.026118219, 0.056752324, 0.01848036, 0.018763602, 0.03382975, 0.026269555] 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-04-23T22:08:28.307 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-23T22:08:28.308 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-04-23T22:08:28.310 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.310 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.310 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.310 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.310 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.311 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:28.311 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000013, 0x00000032] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 13, 15, 19, 6, 14, 6, 15, 11, 15, 16, 1, 2, 5, 10, 10, 13, 2, 7, 4, 16, 8, 3, 19, 5, 16, 10, 15, 15, 8, 19, 6, 2, 6, 50, 8, 8, 5, 19, 15, 7, 8, 8, 10, 13, 1, 1, 5, 13, 2, 14, 1, 10, 10, 1, 12, 9, 5, 4, 15, 12, 2, 8, 11, 13, 7, 10, 12, 16, 13, 19, 2, 13, 7, 10, 19, 1, 8, 4, 13, 15, 7, 2, 4, 12] 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.0989753, 0.02499044, 0.0, 0.04363233, 0.029926062, 0.021989942, 0.08165902, 0.016889572, 0.03771764, 0.0024002194, 0.013396502, 0.018697143, 0.038499236, 0.0913648, 0.075935006, 0.03333634, 0.0516299, 0.06401068, 0.02200234, 0.07988787, 0.01735729, 0.015741825, 0.021662176, 0.035374343, 0.021422327, 0.07621616, 0.06528509, 0.00792861, 0.01866734, 0.033121765, 0.0016607642, 0.017427266, 0.07808465, 0.0, 0.007969916, 0.0146430135, 0.020047188, 0.06523925, 0.02926904, 0.051867962, 0.030482769, 0.027351439, 0.022330582, 0.05848819, 0.017023563, 0.034795403, 0.01735872, 0.043463588, 0.03320694, 0.013373017, 0.0042832494, 0.018373191, 0.04538989, 0.019906163, 0.016413927, 0.00991261, 0.012550235, 0.015430927, 0.026769936, 0.07833272, 0.025068998, 0.0324862, 0.027780175, 0.03193593, 0.012921572, 0.015759766, 0.08331132, 0.0058017373, 0.018473148, 0.0095386505, 0.04322809, 0.09918791, 0.0059051514, 0.06608802, 0.050514877, 0.027050138, 0.020540595, 0.027799726, 0.019267261, 0.03407514, 0.031395674, 0.018763602, 0.006356418, 0.026269555] 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-04-23T22:08:39.262 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=710 2026-04-23T22:08:39.263 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:39.269 [ Info: neardup> range: 33:48, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:39.270 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:39.270 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:39.270 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:39.270 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:39.270 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-23T22:08:39.270 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000006, 0x0000000a, 0x0000000b, 0x0000000c, 0x00000011, 0x00000022, 0x0000002e, 0x00000032] D.nn = Int32[1, 2, 3, 1, 2, 6, 6, 2, 2, 10, 11, 12, 10, 10, 1, 6, 17, 1, 17, 6, 11, 6, 17, 11, 12, 10, 1, 2, 17, 10, 10, 10, 2, 34, 6, 10, 2, 3, 17, 1, 6, 10, 12, 1, 17, 46, 6, 2, 6, 50, 2, 2, 6, 46, 6, 34, 2, 46, 10, 17, 1, 1, 1, 10, 2, 10, 1, 10, 17, 1, 12, 2, 10, 1, 12, 12, 2, 2, 11, 17, 6, 10, 34, 10, 10, 46, 2, 17, 6, 34, 17, 1, 1, 6, 10, 17, 34, 2, 1, 12] D.dist = Float32[0.0, 0.0, 0.0, 0.02381301, 0.0887782, 0.0, 0.032726288, 0.061774194, 0.06142336, 0.0, 0.0, 0.0, 0.022881448, 0.056587696, 0.03059578, 0.07644683, 0.0, 0.07811749, 0.045050144, 0.04363233, 0.08772689, 0.021989942, 0.02143699, 0.016889572, 0.062084854, 0.064269006, 0.013396502, 0.018697143, 0.05121368, 0.0913648, 0.075935006, 0.035506666, 0.0516299, 0.0, 0.042522073, 0.09223622, 0.020025253, 0.015741825, 0.009392738, 0.04999298, 0.052553236, 0.07621616, 0.07328004, 0.03879124, 0.09089053, 0.0, 0.0016607642, 0.017427266, 0.07808465, 0.0, 0.047382295, 0.06600249, 0.063543856, 0.018795788, 0.07884222, 0.02602762, 0.030625582, 0.048084915, 0.022330582, 0.019139946, 0.017023563, 0.034795403, 0.062063813, 0.0885936, 0.03320694, 0.019037902, 0.0042832494, 0.018373191, 0.041838408, 0.019906163, 0.016413927, 0.027631402, 0.058757722, 0.017728865, 0.047243476, 0.07833272, 0.025068998, 0.043099523, 0.027780175, 0.03986889, 0.042286932, 0.015759766, 0.083046675, 0.06273925, 0.06782633, 0.047764957, 0.04322809, 0.05216509, 0.040906727, 0.021171987, 0.070504904, 0.027050138, 0.04186213, 0.032343745, 0.026118219, 0.056752324, 0.01848036, 0.018763602, 0.03382975, 0.026269555] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 11.0s ExhaustiveSearch allknn: 1.625997 seconds (470.84 k allocations: 28.069 MiB, 3.58% 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.10323535650968552, 0.16252703964710236, 0.1994672641158104, 0.2514991760253906, 0.41508761048316956] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.16426430642604828, 0.2273816615343094, 0.2639574706554413, 0.31088244915008545, 0.4860486686229706] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.20581890642642975, 0.2720749154686928, 0.29763971269130707, 0.3409549295902252, 0.5230852365493774] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.21856354176998138, 0.29488981515169144, 0.32509638369083405, 0.3819819465279579, 0.52345210313797] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.2329614907503128, 0.31182610988616943, 0.3513994663953781, 0.4073448181152344, 0.5757902264595032] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-23T22:08:47.604 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 4.439423 seconds (598.61 k allocations: 37.750 MiB, 99.99% compilation time) recall = 0.9666666666666666 recall > 0.8 = true recall = 0.9666666666666666 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [1.0, 4.0, 5.0, 8.0, 17.0] Test Summary: | Pass Total Time allknn | 3 3 23.2s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-23T22:09:08.222 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.9499999, maxvisits=162) mem=1GB max-rss=1GB 2026-04-23T22:09:18.772 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (12, 553, -1.1920929f-7) (i, j, d, :parallel) = (33, 110, -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 => 18.165376383, :exact => 1.138058307) Test Summary: | Pass Total Time closestpair | 4 4 19.8s Testing SimilaritySearch tests passed Testing completed after 517.89s PkgEval succeeded after 594.83s