Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.2028 (45a2de3f7a*) started at 2026-04-12T22:13:14.198 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 14.81s ################################################################################ # 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.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.19.4 [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.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.26s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 3111.6 ms ✓ SearchModels 8634.3 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 13 seconds. 108 already precompiled. Precompilation completed after 40.87s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_Ik65zr/Project.toml` [7d9f7c33] Accessors v0.1.44 [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.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_Ik65zr/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.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.19.4 [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.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.68.1+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.038788 seconds SimilaritySearch.Dist.L2: 0.031656 seconds SimilaritySearch.Dist.L1: 0.031659 seconds SimilaritySearch.Dist.L1: 0.031660 seconds SimilaritySearch.Dist.LInfty: 0.030118 seconds SimilaritySearch.Dist.LInfty: 0.030903 seconds SimilaritySearch.Dist.SqL2: 0.030832 seconds SimilaritySearch.Dist.SqL2: 0.031911 seconds SimilaritySearch.Dist.Lp: 0.133069 seconds SimilaritySearch.Dist.Lp: 0.134801 seconds SimilaritySearch.Dist.Lp: 0.269826 seconds SimilaritySearch.Dist.Lp: 0.265968 seconds SimilaritySearch.Dist.Angle: 0.195418 seconds (5.21 k allocations: 279.125 KiB) SimilaritySearch.Dist.Angle: 0.187385 seconds SimilaritySearch.Dist.Cosine: 0.164392 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.161919 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 24.2s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.018123 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.017651 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.330438 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.332465 seconds SimilaritySearch.Dist.Seqs.LCS: 0.275401 seconds SimilaritySearch.Dist.Seqs.LCS: 0.292114 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.028836 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.028722 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 10.9s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.074123 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.071632 seconds SimilaritySearch.Dist.Sets.Dice: 0.068647 seconds SimilaritySearch.Dist.Sets.Dice: 0.070093 seconds SimilaritySearch.Dist.Sets.Intersection: 0.069942 seconds SimilaritySearch.Dist.Sets.Intersection: 0.070101 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.070135 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.069819 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 10.4s SimilaritySearch.Dist.NormAngle: 0.003929 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003854 seconds SimilaritySearch.Dist.NormCosine: 0.002911 seconds SimilaritySearch.Dist.NormCosine: 0.002999 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 5.8s SimilaritySearch.Dist.Bits.Hamming: 0.004122 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004147 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008984 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.009504 seconds Test Summary: | Pass Total Time Binary distances | 200 200 5.6s quantile(length.(hsp_knns), 0:0.1:1) = [2.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 5.0] Test Summary: | Total Time HSP | 0 5.3s computing farthest point 1, dmax: Inf, imax: 9, n: 30 computing farthest point 2, dmax: 1.202431, imax: 12, n: 30 computing farthest point 3, dmax: 0.94591105, imax: 22, n: 30 computing farthest point 4, dmax: 0.8057427, imax: 29, n: 30 computing farthest point 5, dmax: 0.78894866, imax: 5, n: 30 computing farthest point 6, dmax: 0.75555134, imax: 7, n: 30 computing farthest point 7, dmax: 0.6961217, imax: 30, n: 30 computing farthest point 8, dmax: 0.67082214, imax: 3, n: 30 computing farthest point 9, dmax: 0.5529245, imax: 10, n: 30 computing farthest point 10, dmax: 0.52236474, imax: 13, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.7s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 4.5s 5.240502 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.004299 seconds SEARCH Exhaustive 2: 0.004794 seconds SEARCH Exhaustive 3: 0.005887 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-12T22:16:48.780 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-12T22:16:52.373 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, Δ=1.0, maxvisits=256) mem=1GB max-rss=1GB 2026-04-12T22:17:01.808 LOG n.size quantiles:[4.0, 4.0, 4.0, 4.0, 4.0] LOG add! sp=14488 ep=14488 n=14487 BeamSearch(bsize=4, Δ=0.861678, maxvisits=544) mem=1GB max-rss=1GB 2026-04-12T22:17:03.808 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=25587 ep=25587 n=25586 BeamSearch(bsize=6, Δ=0.93, maxvisits=638) mem=1GB max-rss=1GB 2026-04-12T22:17:05.808 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=37297 ep=37297 n=37296 BeamSearch(bsize=6, Δ=0.93, maxvisits=638) mem=1GB max-rss=1GB 2026-04-12T22:17:07.808 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=48514 ep=48514 n=48513 BeamSearch(bsize=4, Δ=0.84353745, maxvisits=550) mem=1GB max-rss=1GB 2026-04-12T22:17:09.808 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=58445 ep=58445 n=58444 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:17:11.808 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=67077 ep=67077 n=67076 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:17:13.809 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=75639 ep=75639 n=75638 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:17:15.809 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=83853 ep=83853 n=83852 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:17:17.809 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=91079 ep=91079 n=91078 BeamSearch(bsize=6, Δ=0.96, maxvisits=736) mem=1GB max-rss=1GB 2026-04-12T22:17:19.809 LOG n.size quantiles:[14.0, 14.0, 14.0, 14.0, 14.0] LOG add! sp=99738 ep=99738 n=99737 BeamSearch(bsize=6, Δ=0.96, maxvisits=736) mem=1GB max-rss=1GB 2026-04-12T22:17:21.809 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.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, 106.0] [ Info: minrecall: queries per second: 12829.582348342148, recall: 0.900625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.025, maxvisits=886)) 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, 106.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=632)), 1000, 8) [ Info: rebuild: queries per second: 14034.734339460983, recall: 0.892625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=632)) 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, 53.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8021349, maxvisits=856)), 1000, 8) 2.613263 seconds (488.99 k allocations: 29.715 MiB, 2.27% gc time, 96.85% compilation time) [ Info: matrixhints: queries per second: 11452.486838802126, recall: 0.90075 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8021349, maxvisits=856)) 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, 106.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-12T22:18:49.774 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=6, Δ=1.0, maxvisits=256) mem=1GB max-rss=1GB 2026-04-12T22:18:53.074 LOG n.size quantiles:[4.0, 4.0, 4.0, 4.0, 4.0] LOG add! sp=18886 ep=18886 n=18885 BeamSearch(bsize=8, Δ=0.95, maxvisits=658) mem=1GB max-rss=1GB 2026-04-12T22:18:55.074 LOG n.size quantiles:[4.0, 4.0, 4.0, 4.0, 4.0] LOG add! sp=32284 ep=32284 n=32283 BeamSearch(bsize=6, Δ=0.93, maxvisits=638) mem=1GB max-rss=1GB 2026-04-12T22:18:57.074 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=44976 ep=44976 n=44975 BeamSearch(bsize=4, Δ=0.84353745, maxvisits=550) mem=1GB max-rss=1GB 2026-04-12T22:18:59.074 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=56817 ep=56817 n=56816 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:19:01.215 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=66020 ep=66020 n=66019 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:19:03.215 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=75331 ep=75331 n=75330 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:19:05.215 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=84581 ep=84581 n=84580 BeamSearch(bsize=8, Δ=1.01, maxvisits=752) mem=1GB max-rss=1GB 2026-04-12T22:19:07.215 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=92985 ep=92985 n=92984 BeamSearch(bsize=6, Δ=0.96, maxvisits=736) mem=1GB max-rss=1GB 2026-04-12T22:19:09.215 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, 106.0] [ Info: minrecall: queries per second: 11760.343210092933, recall: 0.900625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.025, maxvisits=886)) 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, 106.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=632)), 1000, 8) [ Info: rebuild: queries per second: 14147.95764327849, recall: 0.892625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=632)) 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, 53.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8021349, maxvisits=856)), 1000, 8) 2.689344 seconds (483.85 k allocations: 29.242 MiB, 96.56% compilation time) [ Info: matrixhints: queries per second: 10821.667575686744, recall: 0.90075 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8021349, maxvisits=856)) 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, 106.0] 1.066231 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.001219 seconds SEARCH Exhaustive 2: 0.001233 seconds SEARCH Exhaustive 3: 0.001211 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-12T22:20:40.856 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=290) mem=1GB max-rss=1GB 2026-04-12T22:20:49.133 LOG n.size quantiles:[4.0, 4.0, 4.0, 4.0, 4.0] LOG add! sp=17023 ep=17023 n=17022 BeamSearch(bsize=8, Δ=0.99224997, maxvisits=684) mem=1GB max-rss=1GB 2026-04-12T22:20:51.133 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=30473 ep=30473 n=30472 BeamSearch(bsize=8, Δ=0.84229064, maxvisits=668) mem=1GB max-rss=1GB 2026-04-12T22:20:53.133 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=42778 ep=42778 n=42777 BeamSearch(bsize=6, Δ=0.9502214, maxvisits=718) mem=1GB max-rss=1GB 2026-04-12T22:20:55.133 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=54333 ep=54333 n=54332 BeamSearch(bsize=6, Δ=0.9502214, maxvisits=718) mem=1GB max-rss=1GB 2026-04-12T22:20:57.133 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=63917 ep=63917 n=63916 BeamSearch(bsize=8, Δ=0.95, maxvisits=700) mem=1GB max-rss=1GB 2026-04-12T22:20:59.133 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=73438 ep=73438 n=73437 BeamSearch(bsize=8, Δ=0.95, maxvisits=700) mem=1GB max-rss=1GB 2026-04-12T22:21:01.134 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=82549 ep=82549 n=82548 BeamSearch(bsize=8, Δ=0.95, maxvisits=700) mem=1GB max-rss=1GB 2026-04-12T22:21:03.134 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=91514 ep=91514 n=91513 BeamSearch(bsize=4, Δ=1.0, maxvisits=664) mem=1GB max-rss=1GB 2026-04-12T22:21:05.134 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, 101.0] [ Info: minrecall: queries per second: 14120.905565766227, recall: 0.901875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0190476, maxvisits=804)) 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, 101.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8526077, maxvisits=658)), 1000, 8) [ Info: rebuild: queries per second: 17482.447491600076, recall: 0.8955 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8526077, maxvisits=658)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [5.0, 16.0, 19.0, 21.0, 23.0, 24.0, 26.0, 28.0, 30.0, 34.0, 57.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=848)), 1000, 8) 2.639530 seconds (428.01 k allocations: 25.942 MiB, 97.37% compilation time) [ Info: matrixhints: queries per second: 14726.910215006115, recall: 0.907375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0476191, maxvisits=848)) 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, 101.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 5m47.6s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:18.097 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-12T22:22:18.402 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-04-12T22:22:20.133 D.map = UInt32[0x00000001, 0x00000003, 0x00000004, 0x00000006, 0x0000000e, 0x00000013, 0x00000017, 0x00000024, 0x0000003e, 0x00000040, 0x00000044, 0x00000064] D.nn = Int32[1, 1, 3, 4, 1, 6, 6, 1, 4, 3, 1, 3, 4, 14, 1, 14, 3, 6, 19, 6, 3, 19, 23, 4, 3, 19, 3, 23, 6, 6, 19, 4, 14, 1, 3, 36, 1, 14, 6, 14, 23, 3, 23, 1, 4, 23, 23, 36, 23, 6, 6, 1, 4, 14, 19, 1, 6, 3, 6, 4, 36, 62, 14, 64, 36, 64, 14, 68, 6, 1, 36, 62, 6, 23, 3, 36, 6, 4, 62, 4, 62, 68, 3, 3, 6, 6, 6, 62, 3, 3, 14, 23, 6, 62, 4, 3, 14, 68, 6, 100] D.dist = Float32[0.0, 0.074570835, 0.0, 0.0, 0.041734993, 0.0, 0.019743443, 0.029504776, 0.08057535, 0.055799663, 0.06358343, 0.007562697, 0.012578785, 0.0, 0.024303734, 0.03838736, 0.028925776, 0.06974441, 0.0, 0.014634848, 0.08592653, 0.04522884, 0.0, 0.07470864, 0.055433154, 0.08235985, 0.02295053, 0.08096963, 0.012201905, 0.053086877, 0.035777807, 0.032491505, 0.020063698, 0.05507505, 0.029880285, 0.0, 0.05248934, 0.07148701, 0.020537078, 0.01358974, 0.013354719, 0.065161586, 0.04672736, 0.009771407, 0.026649296, 0.016581774, 0.07865685, 0.09609181, 0.013412952, 0.017074108, 0.029938996, 0.061338842, 0.050208688, 0.041210413, 0.040599704, 0.016964436, 0.027952313, 0.005255401, 0.018002868, 0.05169189, 0.0495618, 0.0, 0.04385245, 0.0, 0.038588345, 0.08730638, 0.07924318, 0.0, 0.036833286, 0.06292504, 0.002071917, 0.023121953, 0.023644924, 0.021733463, 0.04424113, 0.057916522, 0.0044676065, 0.058341086, 0.04419923, 0.020096898, 0.031207144, 0.007944763, 0.06423372, 0.012132347, 0.04201889, 0.0105599165, 0.01641494, 0.037909985, 0.059538543, 0.06426138, 0.021586835, 0.042437077, 0.03572333, 0.024032474, 0.027745724, 0.0087713, 0.009591162, 0.055817723, 0.0062613487, 0.0] Test Summary: | Pass Total Time neardup single block | 3 3 21.2s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.174 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-12T22:22:21.174 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-04-12T22:22:21.175 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.175 [ Info: neardup> range: 49:64, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.175 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.176 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.176 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.176 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.176 D.map = UInt32[0x00000001, 0x00000003, 0x00000004, 0x00000006, 0x0000000e, 0x00000013, 0x00000017, 0x00000024, 0x0000003e, 0x00000040, 0x00000044, 0x00000064] D.nn = Int32[1, 1, 3, 4, 1, 6, 6, 1, 4, 3, 1, 3, 4, 14, 1, 14, 3, 6, 19, 6, 3, 19, 23, 4, 3, 19, 3, 23, 6, 6, 19, 4, 14, 1, 3, 36, 1, 14, 6, 14, 23, 3, 23, 1, 4, 23, 23, 36, 23, 6, 6, 1, 4, 14, 19, 1, 6, 3, 6, 4, 36, 62, 14, 64, 36, 64, 14, 68, 6, 1, 36, 62, 6, 23, 3, 36, 6, 4, 62, 4, 62, 68, 3, 3, 6, 6, 6, 62, 3, 3, 14, 23, 6, 62, 4, 3, 14, 68, 6, 100] D.dist = Float32[0.0, 0.074570835, 0.0, 0.0, 0.041734993, 0.0, 0.019743443, 0.029504776, 0.08057535, 0.055799663, 0.06358343, 0.007562697, 0.012578785, 0.0, 0.024303734, 0.03838736, 0.028925776, 0.06974441, 0.0, 0.014634848, 0.08592653, 0.04522884, 0.0, 0.07470864, 0.055433154, 0.08235985, 0.02295053, 0.08096963, 0.012201905, 0.053086877, 0.035777807, 0.032491505, 0.020063698, 0.05507505, 0.029880285, 0.0, 0.05248934, 0.07148701, 0.020537078, 0.01358974, 0.013354719, 0.065161586, 0.04672736, 0.009771407, 0.026649296, 0.016581774, 0.07865685, 0.09609181, 0.013412952, 0.017074108, 0.029938996, 0.061338842, 0.050208688, 0.041210413, 0.040599704, 0.016964436, 0.027952313, 0.005255401, 0.018002868, 0.05169189, 0.0495618, 0.0, 0.04385245, 0.0, 0.038588345, 0.08730638, 0.07924318, 0.0, 0.036833286, 0.06292504, 0.002071917, 0.023121953, 0.023644924, 0.021733463, 0.04424113, 0.057916522, 0.0044676065, 0.058341086, 0.04419923, 0.020096898, 0.031207144, 0.007944763, 0.06423372, 0.012132347, 0.04201889, 0.0105599165, 0.01641494, 0.037909985, 0.059538543, 0.06426138, 0.021586835, 0.042437077, 0.03572333, 0.024032474, 0.027745724, 0.0087713, 0.009591162, 0.055817723, 0.0062613487, 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-04-12T22:22:21.323 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-12T22:22:21.323 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-12T22:22:21.324 [ Info: neardup> range: 33:48, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.324 [ Info: neardup> range: 49:64, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.325 [ Info: neardup> range: 65:80, current elements: 21, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.325 [ Info: neardup> range: 81:96, current elements: 22, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.325 [ Info: neardup> range: 97:100, current elements: 22, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.325 [ Info: neardup> finished current elements: 22, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:21.325 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000013, 0x00000016, 0x0000001f, 0x0000003e, 0x00000040, 0x0000004c] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 12, 11, 19, 7, 12, 22, 9, 13, 3, 11, 12, 11, 6, 10, 31, 4, 2, 15, 12, 10, 5, 14, 6, 14, 9, 12, 11, 1, 13, 9, 11, 10, 9, 7, 13, 15, 4, 16, 22, 1, 6, 3, 6, 13, 10, 62, 16, 64, 10, 9, 22, 11, 12, 1, 10, 62, 6, 6, 12, 76, 6, 9, 62, 13, 62, 11, 22, 3, 13, 6, 6, 62, 31, 12, 5, 64, 16, 62, 16, 3, 14, 11, 6, 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.011538625, 0.027499318, 0.0, 0.007940233, 0.04688859, 0.0, 0.041277766, 0.062284887, 0.055433154, 0.03265518, 0.018478751, 0.06982815, 0.012201905, 0.024793148, 0.0, 0.032491505, 0.0038242936, 0.032909214, 0.0075623393, 0.013648689, 0.013461351, 0.07148701, 0.020537078, 0.01358974, 0.08623606, 0.03518641, 0.057939768, 0.009771407, 0.0050661564, 0.062422037, 0.07065058, 0.06781411, 0.043482482, 0.014022052, 0.017819345, 0.05059719, 0.050208688, 0.010574937, 0.016683698, 0.016964436, 0.027952313, 0.005255401, 0.018002868, 0.032574773, 0.074400425, 0.0, 0.022406518, 0.0, 0.027491689, 0.055931628, 0.05110967, 0.010397553, 0.019418478, 0.06292504, 0.01269877, 0.023121953, 0.023644924, 0.0727939, 0.021811068, 0.0, 0.0044676065, 0.013774157, 0.04419923, 0.0009887815, 0.031207144, 0.004012525, 0.036076605, 0.012132347, 0.029349267, 0.0105599165, 0.01641494, 0.037909985, 0.046706915, 0.035363972, 0.013305187, 0.056606352, 0.014512837, 0.024032474, 0.02162975, 0.0087713, 0.009591162, 0.045089066, 0.0062613487, 0.0884217] 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-12T22:22:32.849 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=699 2026-04-12T22:22:32.849 [ Info: neardup> range: 17:32, current elements: 5, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:32.856 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:32.856 [ Info: neardup> range: 49:64, current elements: 8, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:32.856 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:32.856 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:32.857 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:32.857 [ Info: neardup> finished current elements: 12, n: 100, ϵ: 0.1, timestamp: 2026-04-12T22:22:32.857 D.map = UInt32[0x00000001, 0x00000003, 0x00000004, 0x00000006, 0x0000000e, 0x00000013, 0x00000017, 0x00000024, 0x0000003e, 0x00000040, 0x00000044, 0x00000064] D.nn = Int32[1, 1, 3, 4, 1, 6, 6, 1, 4, 3, 1, 3, 4, 14, 1, 14, 3, 6, 19, 6, 3, 19, 23, 4, 3, 19, 3, 23, 6, 6, 19, 4, 14, 1, 3, 36, 1, 14, 6, 14, 23, 3, 23, 1, 4, 23, 23, 36, 23, 6, 6, 1, 4, 14, 19, 1, 6, 3, 6, 4, 36, 62, 14, 64, 36, 64, 14, 68, 6, 1, 36, 62, 6, 23, 3, 36, 6, 4, 62, 4, 62, 68, 3, 3, 6, 6, 6, 62, 3, 3, 14, 23, 6, 62, 4, 3, 14, 68, 6, 100] D.dist = Float32[0.0, 0.074570835, 0.0, 0.0, 0.041734993, 0.0, 0.019743443, 0.029504776, 0.08057535, 0.055799663, 0.06358343, 0.007562697, 0.012578785, 0.0, 0.024303734, 0.03838736, 0.028925776, 0.06974441, 0.0, 0.014634848, 0.08592653, 0.04522884, 0.0, 0.07470864, 0.055433154, 0.08235985, 0.02295053, 0.08096963, 0.012201905, 0.053086877, 0.035777807, 0.032491505, 0.020063698, 0.05507505, 0.029880285, 0.0, 0.05248934, 0.07148701, 0.020537078, 0.01358974, 0.013354719, 0.065161586, 0.04672736, 0.009771407, 0.026649296, 0.016581774, 0.07865685, 0.09609181, 0.013412952, 0.017074108, 0.029938996, 0.061338842, 0.050208688, 0.041210413, 0.040599704, 0.016964436, 0.027952313, 0.005255401, 0.018002868, 0.05169189, 0.0495618, 0.0, 0.04385245, 0.0, 0.038588345, 0.08730638, 0.07924318, 0.0, 0.036833286, 0.06292504, 0.002071917, 0.023121953, 0.023644924, 0.021733463, 0.04424113, 0.057916522, 0.0044676065, 0.058341086, 0.04419923, 0.020096898, 0.031207144, 0.007944763, 0.06423372, 0.012132347, 0.04201889, 0.0105599165, 0.01641494, 0.037909985, 0.059538543, 0.06426138, 0.021586835, 0.042437077, 0.03572333, 0.024032474, 0.027745724, 0.0087713, 0.009591162, 0.055817723, 0.0062613487, 0.0] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 11.5s ExhaustiveSearch allknn: 1.679310 seconds (470.95 k allocations: 28.079 MiB, 3.95% 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.07818254083395004, 0.17775774374604225, 0.2163207232952118, 0.24723698571324348, 0.46428561210632324] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.12720809876918793, 0.22899200394749641, 0.2641063630580902, 0.3114512711763382, 0.5215418338775635] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.20241057872772217, 0.2764142155647278, 0.31419527530670166, 0.3583075553178787, 0.5565614700317383] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.22966133058071136, 0.30116941034793854, 0.33982229232788086, 0.3836418017745018, 0.5665039420127869] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.23102693259716034, 0.3293263539671898, 0.3645504266023636, 0.41467443853616714, 0.5688748955726624] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-12T22:22:41.709 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 4.606931 seconds (598.61 k allocations: 37.746 MiB, 99.99% compilation time) recall = 0.9766666666666662 recall > 0.8 = true recall = 0.9766666666666662 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [1.0, 4.0, 6.0, 8.0, 21.0] Test Summary: | Pass Total Time allknn | 3 3 24.6s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-12T22:23:03.563 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.975, maxvisits=154) mem=1GB max-rss=1GB 2026-04-12T22:23:13.936 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (106, 314, -1.1920929f-7) (i, j, d, :parallel) = (23, 122, -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.332797980000002, :exact => 1.500421736) Test Summary: | Pass Total Time closestpair | 4 4 20.4s Testing SimilaritySearch tests passed Testing completed after 536.83s PkgEval succeeded after 616.84s