Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.2058 (afc71c255e*) started at 2026-04-19T19:40:32.012 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 14.27s ################################################################################ # 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.124 [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 5.98s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 3.2 s ✓ SearchModels 8.9 s ✓ SimilaritySearch 2 dependencies successfully precompiled in 13 seconds. 108 already precompiled. Precompilation completed after 39.43s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_Sa0H7Z/Project.toml` [7d9f7c33] Accessors v0.1.44 [4c88cf16] Aqua v0.8.14 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.124 [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_Sa0H7Z/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.124 [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.2s Test Summary: | Pass Total Time heap | 16 16 0.2s Test Summary: | Pass Total Time KnnHeap | 30005 30005 3.7s Test Summary: | Pass Total Time XKnn | 25005 25005 2.5s 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.032248 seconds SimilaritySearch.Dist.L2: 0.030015 seconds SimilaritySearch.Dist.L1: 0.027509 seconds SimilaritySearch.Dist.L1: 0.027457 seconds SimilaritySearch.Dist.LInfty: 0.027273 seconds SimilaritySearch.Dist.LInfty: 0.027036 seconds SimilaritySearch.Dist.SqL2: 0.027892 seconds SimilaritySearch.Dist.SqL2: 0.029769 seconds SimilaritySearch.Dist.Lp: 0.142251 seconds SimilaritySearch.Dist.Lp: 0.130186 seconds SimilaritySearch.Dist.Lp: 0.259570 seconds SimilaritySearch.Dist.Lp: 0.262848 seconds SimilaritySearch.Dist.Angle: 0.195279 seconds (5.21 k allocations: 279.094 KiB) SimilaritySearch.Dist.Angle: 0.180161 seconds SimilaritySearch.Dist.Cosine: 0.157534 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.184156 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 22.7s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.015941 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.015652 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.273167 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.264203 seconds SimilaritySearch.Dist.Seqs.LCS: 0.259981 seconds SimilaritySearch.Dist.Seqs.LCS: 0.254535 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.025587 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.025184 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 10.8s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.068141 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.067334 seconds SimilaritySearch.Dist.Sets.Dice: 0.068356 seconds SimilaritySearch.Dist.Sets.Dice: 0.066581 seconds SimilaritySearch.Dist.Sets.Intersection: 0.068127 seconds SimilaritySearch.Dist.Sets.Intersection: 0.069187 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.071195 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.067739 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 9.6s SimilaritySearch.Dist.NormAngle: 0.003852 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003796 seconds SimilaritySearch.Dist.NormCosine: 0.003034 seconds SimilaritySearch.Dist.NormCosine: 0.003041 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 5.1s SimilaritySearch.Dist.Bits.Hamming: 0.004544 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004585 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008651 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008725 seconds Test Summary: | Pass Total Time Binary distances | 200 200 4.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 4.8s computing farthest point 1, dmax: Inf, imax: 6, n: 30 computing farthest point 2, dmax: 1.2410928, imax: 20, n: 30 computing farthest point 3, dmax: 1.0020744, imax: 14, n: 30 computing farthest point 4, dmax: 0.8979295, imax: 13, n: 30 computing farthest point 5, dmax: 0.89327264, imax: 27, n: 30 computing farthest point 6, dmax: 0.60423577, imax: 3, n: 30 computing farthest point 7, dmax: 0.54144317, imax: 21, n: 30 computing farthest point 8, dmax: 0.52302104, imax: 9, n: 30 computing farthest point 9, dmax: 0.5001111, imax: 30, n: 30 computing farthest point 10, dmax: 0.4971344, imax: 7, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.3s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 3.9s 5.603411 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.004304 seconds SEARCH Exhaustive 2: 0.004266 seconds SEARCH Exhaustive 3: 0.005388 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-19T19:43:55.505 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-19T19:43:58.796 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=16, Δ=1.1287501, maxvisits=330) mem=1GB max-rss=1GB 2026-04-19T19:44:07.616 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=15773 ep=15773 n=15772 BeamSearch(bsize=6, Δ=0.9523809, maxvisits=532) mem=1GB max-rss=1GB 2026-04-19T19:44:09.616 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=29424 ep=29424 n=29423 BeamSearch(bsize=6, Δ=0.92, maxvisits=584) mem=1GB max-rss=1GB 2026-04-19T19:44:11.616 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=41379 ep=41379 n=41378 BeamSearch(bsize=6, Δ=0.9, maxvisits=632) mem=1GB max-rss=1GB 2026-04-19T19:44:13.616 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=53426 ep=53426 n=53425 BeamSearch(bsize=6, Δ=0.9, maxvisits=632) mem=1GB max-rss=1GB 2026-04-19T19:44:15.616 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=63831 ep=63831 n=63830 BeamSearch(bsize=4, Δ=0.9523809, maxvisits=662) mem=1GB max-rss=1GB 2026-04-19T19:44:17.617 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=74731 ep=74731 n=74730 BeamSearch(bsize=4, Δ=0.9523809, maxvisits=662) mem=1GB max-rss=1GB 2026-04-19T19:44:19.617 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=85087 ep=85087 n=85086 BeamSearch(bsize=4, Δ=0.9523809, maxvisits=662) mem=1GB max-rss=1GB 2026-04-19T19:44:21.617 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=94446 ep=94446 n=94445 BeamSearch(bsize=4, Δ=0.81904763, maxvisits=712) mem=1GB max-rss=1GB 2026-04-19T19:44:23.617 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, 8.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 107.0] [ Info: minrecall: queries per second: 12543.96644559222, recall: 0.911125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.83809525, maxvisits=820)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 107.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8761905, maxvisits=724)), 1000, 8) [ Info: rebuild: queries per second: 15359.374497460467, recall: 0.899125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8761905, maxvisits=724)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=842)), 1000, 8) 2.608924 seconds (488.99 k allocations: 29.715 MiB, 1.96% gc time, 97.23% compilation time) [ Info: matrixhints: queries per second: 12550.698389259685, recall: 0.899625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=842)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 107.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-19T19:45:49.850 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.1287501, maxvisits=330) mem=1GB max-rss=1GB 2026-04-19T19:45:52.939 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=19733 ep=19733 n=19732 BeamSearch(bsize=6, Δ=0.8095238, maxvisits=562) mem=1GB max-rss=1GB 2026-04-19T19:45:54.939 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=34855 ep=34855 n=34854 BeamSearch(bsize=6, Δ=0.92, maxvisits=584) mem=1GB max-rss=1GB 2026-04-19T19:45:56.939 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=47481 ep=47481 n=47480 BeamSearch(bsize=6, Δ=0.9, maxvisits=632) mem=1GB max-rss=1GB 2026-04-19T19:45:58.939 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=58242 ep=58242 n=58241 BeamSearch(bsize=4, Δ=0.9523809, maxvisits=662) mem=1GB max-rss=1GB 2026-04-19T19:46:00.939 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=70258 ep=70258 n=70257 BeamSearch(bsize=4, Δ=0.9523809, maxvisits=662) mem=1GB max-rss=1GB 2026-04-19T19:46:02.940 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=81779 ep=81779 n=81778 BeamSearch(bsize=4, Δ=0.9523809, maxvisits=662) mem=1GB max-rss=1GB 2026-04-19T19:46:04.940 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=91980 ep=91980 n=91979 BeamSearch(bsize=4, Δ=0.81904763, maxvisits=712) mem=1GB max-rss=1GB 2026-04-19T19:46:06.940 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 107.0] [ Info: minrecall: queries per second: 11202.18600353848, recall: 0.911125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.83809525, maxvisits=820)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 107.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8761905, maxvisits=724)), 1000, 8) [ Info: rebuild: queries per second: 14924.907343563353, recall: 0.899125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8761905, maxvisits=724)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=842)), 1000, 8) 2.606726 seconds (483.85 k allocations: 29.239 MiB, 96.73% compilation time) [ Info: matrixhints: queries per second: 11871.620439031754, recall: 0.899625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=842)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 107.0] 1.069314 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.001189 seconds SEARCH Exhaustive 2: 0.001160 seconds SEARCH Exhaustive 3: 0.001172 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-19T19:47:35.852 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.21275, maxvisits=332) mem=1GB max-rss=1GB 2026-04-19T19:47:44.440 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=17032 ep=17032 n=17031 BeamSearch(bsize=4, Δ=0.7990498, maxvisits=514) mem=1GB max-rss=1GB 2026-04-19T19:47:46.440 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=32666 ep=32666 n=32665 BeamSearch(bsize=4, Δ=0.95238096, maxvisits=532) mem=1GB max-rss=1GB 2026-04-19T19:47:48.440 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=44092 ep=44092 n=44091 BeamSearch(bsize=6, Δ=0.8666667, maxvisits=672) mem=1GB max-rss=1GB 2026-04-19T19:47:50.639 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=55952 ep=55952 n=55951 BeamSearch(bsize=6, Δ=0.8666667, maxvisits=672) mem=1GB max-rss=1GB 2026-04-19T19:47:52.639 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=67053 ep=67053 n=67052 BeamSearch(bsize=4, Δ=0.9502214, maxvisits=632) mem=1GB max-rss=1GB 2026-04-19T19:47:54.639 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=78322 ep=78322 n=78321 BeamSearch(bsize=4, Δ=0.9502214, maxvisits=632) mem=1GB max-rss=1GB 2026-04-19T19:47:56.639 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=88749 ep=88749 n=88748 BeamSearch(bsize=4, Δ=0.74434984, maxvisits=604) mem=1GB max-rss=1GB 2026-04-19T19:47:58.639 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.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, 8.0, 10.0, 11.0, 13.0, 15.0, 17.0, 19.0, 23.0, 30.0, 109.0] [ Info: minrecall: queries per second: 11637.27606651504, recall: 0.915125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.7904762, maxvisits=936)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 11.0, 13.0, 15.0, 17.0, 19.0, 23.0, 30.0, 109.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=670)), 1000, 8) [ Info: rebuild: queries per second: 17416.238039986325, recall: 0.896125 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=670)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 22.0, 24.0, 26.0, 28.0, 30.0, 33.0, 54.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.74, maxvisits=882)), 1000, 8) 2.635670 seconds (428.01 k allocations: 25.943 MiB, 96.81% compilation time) [ Info: matrixhints: queries per second: 11606.642527945314, recall: 0.899375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.74, maxvisits=882)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 11.0, 13.0, 15.0, 17.0, 19.0, 23.0, 30.0, 109.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 5m37.8s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:15.033 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-19T19:49:15.319 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-19T19:49:16.959 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000006, 0x0000000c, 0x0000000e, 0x00000021, 0x00000029, 0x0000003e, 0x00000045] D.nn = Int32[1, 2, 3, 4, 2, 6, 4, 2, 6, 1, 1, 12, 2, 14, 6, 14, 6, 2, 1, 4, 1, 6, 3, 6, 3, 14, 1, 6, 6, 6, 2, 2, 33, 1, 6, 6, 3, 12, 2, 1, 41, 6, 1, 2, 33, 2, 12, 6, 1, 2, 2, 6, 2, 6, 6, 2, 41, 6, 3, 3, 1, 62, 12, 1, 6, 4, 12, 33, 69, 12, 33, 41, 6, 14, 69, 6, 6, 2, 33, 6, 6, 33, 2, 6, 14, 3, 6, 6, 2, 14, 1, 2, 33, 3, 33, 12, 33, 4, 6, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.04775095, 0.0, 0.04417473, 0.02732706, 0.06685382, 0.021396697, 0.04152423, 0.0, 0.0016890168, 0.0, 0.011999786, 0.02457714, 0.016779661, 0.022998333, 0.035642326, 0.055673122, 0.050710857, 0.045412898, 0.021296322, 0.020727813, 0.04268205, 0.026587188, 0.014109135, 0.020372868, 0.062015295, 0.03311026, 0.06583595, 0.087522924, 0.0, 0.06218648, 0.09862012, 0.03518319, 0.03290713, 0.0650208, 0.046697915, 0.07403588, 0.0, 0.049943447, 0.06449479, 0.021289587, 0.041259527, 0.013486683, 0.041525126, 0.06135571, 0.086915016, 0.0010329485, 0.072067976, 0.014340401, 0.014483631, 0.050288975, 0.036575913, 0.04916358, 0.021005154, 0.035484016, 0.042982876, 0.04158759, 0.06748539, 0.0, 0.048193693, 0.027835488, 0.03429836, 0.009185791, 0.05173987, 0.02655232, 0.0, 0.041863978, 0.053207636, 0.005018413, 0.024350464, 0.07642913, 0.03208548, 0.01578033, 0.089895785, 0.046637475, 0.03611344, 0.08116108, 0.027629852, 0.03409779, 0.099675775, 0.062209487, 0.023214221, 0.028402627, 0.019809246, 0.022891104, 0.06842387, 0.0025473237, 0.0012581944, 0.0111762285, 0.042446375, 0.023341656, 0.03772247, 0.046414495, 0.057916343, 0.030763686, 0.025940418, 0.051202178] 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-04-19T19:49:17.930 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-19T19:49:17.930 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-19T19:49:17.930 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:17.930 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:17.930 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:17.931 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:17.931 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:17.931 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:17.931 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000006, 0x0000000c, 0x0000000e, 0x00000021, 0x00000029, 0x0000003e, 0x00000045] D.nn = Int32[1, 2, 3, 4, 2, 6, 4, 2, 6, 1, 1, 12, 2, 14, 6, 14, 6, 2, 1, 4, 1, 6, 3, 6, 3, 14, 1, 6, 6, 6, 2, 2, 33, 1, 6, 6, 3, 12, 2, 1, 41, 6, 1, 2, 6, 2, 12, 6, 1, 2, 2, 6, 2, 6, 6, 2, 41, 6, 3, 3, 1, 62, 12, 1, 6, 4, 12, 33, 69, 12, 33, 41, 6, 14, 1, 6, 6, 2, 33, 6, 6, 33, 2, 6, 14, 3, 6, 6, 2, 14, 1, 2, 33, 3, 33, 12, 33, 4, 6, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.04775095, 0.0, 0.04417473, 0.02732706, 0.06685382, 0.021396697, 0.04152423, 0.0, 0.0016890168, 0.0, 0.011999786, 0.02457714, 0.016779661, 0.022998333, 0.035642326, 0.055673122, 0.050710857, 0.045412898, 0.021296322, 0.020727813, 0.04268205, 0.026587188, 0.014109135, 0.020372868, 0.062015295, 0.03311026, 0.06583595, 0.087522924, 0.0, 0.06218648, 0.09862012, 0.03518319, 0.03290713, 0.0650208, 0.046697915, 0.07403588, 0.0, 0.049943447, 0.06449479, 0.021289587, 0.07107341, 0.013486683, 0.041525126, 0.06135571, 0.086915016, 0.0010329485, 0.072067976, 0.014340401, 0.014483631, 0.050288975, 0.036575913, 0.04916358, 0.021005154, 0.035484016, 0.042982876, 0.04158759, 0.06748539, 0.0, 0.048193693, 0.027835488, 0.03429836, 0.009185791, 0.05173987, 0.02655232, 0.0, 0.041863978, 0.053207636, 0.005018413, 0.024350464, 0.07642913, 0.032103956, 0.01578033, 0.089895785, 0.046637475, 0.03611344, 0.08116108, 0.027629852, 0.03409779, 0.099675775, 0.062209487, 0.023214221, 0.028402627, 0.019809246, 0.022891104, 0.06842387, 0.0025473237, 0.0012581944, 0.0111762285, 0.042446375, 0.023341656, 0.03772247, 0.046414495, 0.057916343, 0.030763686, 0.025940418, 0.051202178] 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-19T19:49:18.068 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-19T19:49:18.069 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-19T19:49:18.069 [ Info: neardup> range: 33:48, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:18.070 [ Info: neardup> range: 49:64, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:18.070 [ Info: neardup> range: 65:80, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:18.070 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:18.070 [ Info: neardup> range: 97:100, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:18.070 [ Info: neardup> finished current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:18.070 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000039, 0x00000045, 0x0000005f] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 6, 8, 1, 4, 11, 15, 3, 6, 3, 16, 1, 6, 15, 6, 8, 5, 9, 10, 10, 15, 3, 7, 5, 11, 16, 15, 1, 8, 15, 2, 12, 15, 1, 13, 5, 15, 2, 15, 6, 8, 57, 15, 3, 16, 11, 10, 11, 10, 6, 4, 12, 15, 69, 12, 9, 57, 6, 16, 1, 6, 8, 2, 9, 15, 6, 15, 5, 9, 14, 3, 6, 6, 8, 14, 1, 8, 2, 3, 95, 12, 15, 7, 6, 10] 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.016779661, 0.0005776882, 0.035642326, 0.055673122, 0.018633485, 0.040184557, 0.021296322, 0.020727813, 0.04268205, 0.0090228915, 0.014109135, 0.020372868, 0.03378725, 0.03311026, 0.020516515, 0.02720809, 0.03102851, 0.01387924, 0.05897689, 0.02971518, 0.03290713, 0.014773309, 0.033488452, 0.018075168, 0.099392354, 0.018458962, 0.06449479, 0.0121385455, 0.052639365, 0.013486683, 0.041525126, 0.04861319, 0.086915016, 0.00030392408, 0.019504786, 0.0062657595, 0.014483631, 0.013486028, 0.036575913, 0.024750948, 0.0, 0.008179724, 0.042982876, 0.0360986, 0.013118982, 0.07176125, 0.04324341, 0.0022717118, 0.03429836, 0.009185791, 0.05173987, 0.045106888, 0.0, 0.041863978, 0.029641569, 0.019263446, 0.024350464, 0.02358073, 0.032103956, 0.01578033, 0.070292294, 0.046637475, 0.013657272, 0.04741609, 0.027629852, 0.0483886, 0.092348695, 0.007602334, 0.023214221, 0.028402627, 0.019809246, 0.022891104, 0.020327866, 0.0025473237, 0.0012581944, 0.006783843, 0.059033215, 0.023341656, 0.0, 0.046414495, 0.046028197, 0.022396922, 0.025940418, 0.037163556] 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-19T19:49:28.888 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=683 2026-04-19T19:49:28.888 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:28.896 [ Info: neardup> range: 33:48, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:28.896 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:28.896 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:28.896 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:28.896 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:28.896 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-04-19T19:49:28.896 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000006, 0x0000000c, 0x0000000e, 0x00000021, 0x00000029, 0x0000003e, 0x00000045] D.nn = Int32[1, 2, 3, 4, 2, 6, 4, 2, 6, 1, 1, 12, 2, 14, 6, 14, 6, 2, 1, 4, 1, 6, 3, 6, 3, 14, 1, 6, 6, 6, 2, 2, 33, 1, 6, 6, 3, 12, 2, 1, 41, 6, 1, 2, 6, 2, 12, 6, 1, 2, 2, 6, 2, 6, 6, 2, 41, 6, 3, 3, 1, 62, 12, 1, 6, 4, 12, 33, 69, 12, 33, 41, 6, 14, 1, 6, 6, 2, 33, 6, 6, 33, 2, 6, 14, 3, 6, 6, 2, 14, 1, 2, 33, 3, 33, 12, 33, 4, 6, 3] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.04775095, 0.0, 0.04417473, 0.02732706, 0.06685382, 0.021396697, 0.04152423, 0.0, 0.0016890168, 0.0, 0.011999786, 0.02457714, 0.016779661, 0.022998333, 0.035642326, 0.055673122, 0.050710857, 0.045412898, 0.021296322, 0.020727813, 0.04268205, 0.026587188, 0.014109135, 0.020372868, 0.062015295, 0.03311026, 0.06583595, 0.087522924, 0.0, 0.06218648, 0.09862012, 0.03518319, 0.03290713, 0.0650208, 0.046697915, 0.07403588, 0.0, 0.049943447, 0.06449479, 0.021289587, 0.07107341, 0.013486683, 0.041525126, 0.06135571, 0.086915016, 0.0010329485, 0.072067976, 0.014340401, 0.014483631, 0.050288975, 0.036575913, 0.04916358, 0.021005154, 0.035484016, 0.042982876, 0.04158759, 0.06748539, 0.0, 0.048193693, 0.027835488, 0.03429836, 0.009185791, 0.05173987, 0.02655232, 0.0, 0.041863978, 0.053207636, 0.005018413, 0.024350464, 0.07642913, 0.032103956, 0.01578033, 0.089895785, 0.046637475, 0.03611344, 0.08116108, 0.027629852, 0.03409779, 0.099675775, 0.062209487, 0.023214221, 0.028402627, 0.019809246, 0.022891104, 0.06842387, 0.0025473237, 0.0012581944, 0.0111762285, 0.042446375, 0.023341656, 0.03772247, 0.046414495, 0.057916343, 0.030763686, 0.025940418, 0.051202178] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 10.8s ExhaustiveSearch allknn: 1.540002 seconds (470.99 k allocations: 28.079 MiB, 99.95% compilation time) [ Info: All KNN quartile 1-th: [ Info: 1 => [0.0, 0.0, 0.0, 0.0, 0.0] [ Info: All KNN quartile 2-th: [ Info: 2 => [0.05351758375763893, 0.15532182902097702, 0.22248739004135132, 0.2676546275615692, 0.41665443778038025] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.1547289937734604, 0.22942158579826355, 0.2748538851737976, 0.3102639690041542, 0.4508090317249298] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.2013775110244751, 0.2846812754869461, 0.31099463999271393, 0.35639986395835876, 0.47705453634262085] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.21231511235237122, 0.30371183156967163, 0.3432428240776062, 0.3767467439174652, 0.5022047758102417] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.23625867068767548, 0.32931840419769287, 0.36349357664585114, 0.4087810665369034, 0.5563673973083496] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-19T19:49:37.415 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 4.451512 seconds (598.61 k allocations: 37.752 MiB, 99.99% compilation time) recall = 0.9616666666666666 recall > 0.8 = true recall = 0.9616666666666666 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [2.0, 4.0, 6.0, 8.0, 19.0] Test Summary: | Pass Total Time allknn | 3 3 23.9s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-04-19T19:49:58.588 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.97, maxvisits=148) mem=1GB max-rss=1GB 2026-04-19T19:50:07.745 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (20, 419, -1.1920929f-7) (i, j, d, :parallel) = (20, 419, -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 => 16.281436787, :exact => 1.03443495) Test Summary: | Pass Total Time closestpair | 4 4 17.8s Testing SimilaritySearch tests passed Testing completed after 516.58s PkgEval succeeded after 589.42s