Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1893 (b4aba01002*) started at 2026-03-15T19:49:50.444 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 14.21s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.14.1 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.43 [79e6a3ab] + Adapt v4.5.0 [66dad0bd] + AliasTables v1.1.3 [4fba245c] + ArrayInterface v7.23.0 [62783981] + BitTwiddlingConvenienceFunctions v0.1.6 [2a0fbf3d] + CPUSummary v0.2.7 [fb6a15b2] + CloseOpenIntervals v0.1.13 [f70d9fcc] + CommonWorldInvalidations v1.0.0 [34da2185] + Compat v4.18.1 [a33af91c] + CompositionsBase v0.1.2 [187b0558] + ConstructionBase v1.6.0 [adafc99b] + CpuId v0.3.1 [9a962f9c] + DataAPI v1.16.0 ⌅ [864edb3b] + DataStructures v0.18.22 [b4f34e82] + Distances v0.10.12 [31c24e10] + Distributions v0.25.123 [ffbed154] + DocStringExtensions v0.9.5 [1a297f60] + FillArrays v1.16.0 [34004b35] + HypergeometricFunctions v0.3.28 [615f187c] + IfElse v0.1.1 [3587e190] + InverseFunctions v0.1.17 [92d709cd] + IrrationalConstants v0.2.6 [692b3bcd] + JLLWrappers v1.7.1 [10f19ff3] + LayoutPointers v0.1.17 [2ab3a3ac] + LogExpFunctions v0.3.29 [1914dd2f] + MacroTools v0.5.16 [d125e4d3] + ManualMemory v0.1.8 [e1d29d7a] + Missings v1.2.0 [bac558e1] + OrderedCollections v1.8.1 ⌃ [90014a1f] + PDMats v0.11.35 [f517fe37] + Polyester v0.7.19 [1d0040c9] + PolyesterWeave v0.2.2 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.2 [92933f4c] + ProgressMeter v1.11.0 [43287f4e] + PtrArrays v1.4.0 [1fd47b50] + QuadGK v2.11.2 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [79098fc4] + Rmath v0.9.0 [94e857df] + SIMDTypes v0.1.0 [431bcebd] + SciMLPublic v1.0.1 [0e966ebe] + SearchModels v0.5.0 [053f045d] + SimilaritySearch v0.14.1 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.7.1 [aedffcd0] + Static v1.3.1 [0d7ed370] + StaticArrayInterface v1.9.0 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.8.0 ⌅ [2913bbd2] + StatsBase v0.33.21 [4c63d2b9] + StatsFuns v1.5.2 [7792a7ef] + StrideArraysCore v0.5.8 [8290d209] + ThreadingUtilities v0.5.5 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [f50d1b31] + Rmath_jll v0.5.1+0 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [8ba89e20] + Distributed v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.0.0 [9e88b42a] + Serialization v1.11.0 [6462fe0b] + Sockets v1.11.0 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.13.0 [4607b0f0] + SuiteSparse [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [4536629a] + OpenBLAS_jll v0.3.30+0 [05823500] + OpenLibm_jll v0.8.7+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [8e850b90] + libblastrampoline_jll v5.15.0+0 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m` Installation completed after 6.33s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3389.2 ms ✓ SearchModels 10171.9 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 15 seconds. 107 already precompiled. 26 dependencies precompiled but different versions are currently loaded (ArgTools, Base64, Dates, Downloads, JuliaSyntaxHighlighting, LibCURL, LibCURL_jll, LibGit2, LibGit2_jll, LibSSH2_jll, Logging, Markdown, MozillaCACerts_jll, NetworkOptions, OpenSSL_jll, PCRE2_jll, Pkg, Printf, StyledStrings, TOML, Tar, UUIDs, Zlib_jll, Zstd_jll, nghttp2_jll and p7zip_jll). Restart julia to access the new versions. Otherwise, 44 dependents of these packages may trigger further precompilation to work with the unexpected versions. Precompilation completed after 39.77s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_2CU8er/Project.toml` [7d9f7c33] Accessors v0.1.43 [4c88cf16] Aqua v0.8.14 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.123 [f517fe37] Polyester v0.7.19 [92933f4c] ProgressMeter v1.11.0 [0e966ebe] SearchModels v0.5.0 [053f045d] SimilaritySearch v0.14.1 [10745b16] Statistics v1.11.1 ⌅ [2913bbd2] StatsBase v0.33.21 [7792a7ef] StrideArraysCore v0.5.8 [ade2ca70] Dates v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [9a3f8284] Random v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_2CU8er/Manifest.toml` [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.5.0 [66dad0bd] AliasTables v1.1.3 [4c88cf16] Aqua v0.8.14 [4fba245c] ArrayInterface v7.23.0 [62783981] BitTwiddlingConvenienceFunctions v0.1.6 [2a0fbf3d] CPUSummary v0.2.7 [fb6a15b2] CloseOpenIntervals v0.1.13 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.18.1 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 [adafc99b] CpuId v0.3.1 [9a962f9c] DataAPI v1.16.0 ⌅ [864edb3b] DataStructures v0.18.22 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.123 [ffbed154] DocStringExtensions v0.9.5 [1a297f60] FillArrays v1.16.0 [34004b35] HypergeometricFunctions v0.3.28 [615f187c] IfElse v0.1.1 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.6 [692b3bcd] JLLWrappers v1.7.1 [10f19ff3] LayoutPointers v0.1.17 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [d125e4d3] ManualMemory v0.1.8 [e1d29d7a] Missings v1.2.0 [bac558e1] OrderedCollections v1.8.1 ⌃ [90014a1f] PDMats v0.11.35 [f517fe37] Polyester v0.7.19 [1d0040c9] PolyesterWeave v0.2.2 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.2 [92933f4c] ProgressMeter v1.11.0 [43287f4e] PtrArrays v1.4.0 [1fd47b50] QuadGK v2.11.2 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [79098fc4] Rmath v0.9.0 [94e857df] SIMDTypes v0.1.0 [431bcebd] SciMLPublic v1.0.1 [0e966ebe] SearchModels v0.5.0 [053f045d] SimilaritySearch v0.14.1 [a2af1166] SortingAlgorithms v1.2.2 [276daf66] SpecialFunctions v2.7.1 [aedffcd0] Static v1.3.1 [0d7ed370] StaticArrayInterface v1.9.0 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.8.0 ⌅ [2913bbd2] StatsBase v0.33.21 [4c63d2b9] StatsFuns v1.5.2 [7792a7ef] StrideArraysCore v0.5.8 [8290d209] ThreadingUtilities v0.5.5 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [f50d1b31] Rmath_jll v0.5.1+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.18.0+1 [e37daf67] LibGit2_jll v1.9.2+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.12.2 [4536629a] OpenBLAS_jll v0.3.30+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.5+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.2+0 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.68.0+1 [3f19e933] p7zip_jll v17.8.0+0 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. Testing Running tests... Test Summary: | Pass Total Time test database abstractions | 57 57 17.2s 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 3.1s 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.031404 seconds SimilaritySearch.Dist.L2: 0.031667 seconds SimilaritySearch.Dist.L1: 0.045405 seconds SimilaritySearch.Dist.L1: 0.045700 seconds SimilaritySearch.Dist.LInfty: 0.031129 seconds SimilaritySearch.Dist.LInfty: 0.031130 seconds SimilaritySearch.Dist.SqL2: 0.029666 seconds SimilaritySearch.Dist.SqL2: 0.030947 seconds SimilaritySearch.Dist.Lp: 0.131579 seconds SimilaritySearch.Dist.Lp: 0.130364 seconds SimilaritySearch.Dist.Lp: 0.262105 seconds SimilaritySearch.Dist.Lp: 0.262289 seconds SimilaritySearch.Dist.Angle: 0.194837 seconds (5.21 k allocations: 279.062 KiB) SimilaritySearch.Dist.Angle: 0.186746 seconds SimilaritySearch.Dist.Cosine: 0.166253 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.165887 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 30.1s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.017788 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.018418 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.301142 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.302672 seconds SimilaritySearch.Dist.Seqs.LCS: 0.302393 seconds SimilaritySearch.Dist.Seqs.LCS: 0.300261 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.033027 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.033068 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 13.5s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.072387 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.070180 seconds SimilaritySearch.Dist.Sets.Dice: 0.075981 seconds SimilaritySearch.Dist.Sets.Dice: 0.075220 seconds SimilaritySearch.Dist.Sets.Intersection: 0.073964 seconds SimilaritySearch.Dist.Sets.Intersection: 0.072707 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.080435 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.077851 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 12.5s SimilaritySearch.Dist.NormAngle: 0.002692 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.002613 seconds SimilaritySearch.Dist.NormCosine: 0.003150 seconds SimilaritySearch.Dist.NormCosine: 0.003100 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 5.8s SimilaritySearch.Dist.Bits.Hamming: 0.004066 seconds SimilaritySearch.Dist.Bits.Hamming: 0.003935 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008551 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008596 seconds Test Summary: | Pass Total Time Binary distances | 200 200 6.4s 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 6.9s computing farthest point 1, dmax: Inf, imax: 3, n: 30 computing farthest point 2, dmax: 1.3222564, imax: 7, n: 30 computing farthest point 3, dmax: 1.0197608, imax: 13, n: 30 computing farthest point 4, dmax: 0.9284217, imax: 26, n: 30 computing farthest point 5, dmax: 0.8172606, imax: 18, n: 30 computing farthest point 6, dmax: 0.7984042, imax: 28, n: 30 computing farthest point 7, dmax: 0.69318175, imax: 24, n: 30 computing farthest point 8, dmax: 0.69238377, imax: 23, n: 30 computing farthest point 9, dmax: 0.6887059, imax: 4, n: 30 computing farthest point 10, dmax: 0.604394, imax: 21, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 2.6s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 4.3s 5.326017 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.009185 seconds SEARCH Exhaustive 2: 0.009245 seconds SEARCH Exhaustive 3: 0.010375 seconds typeof(seq) = ExhaustiveSearch{SimilaritySearch.Dist.SqL2, MatrixDatabase{Matrix{Float32}}} typeof(ectx) = GenericContext{KnnSorted} typeof(q) = SubArray{Float32, 1, Matrix{Float32}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true} typeof(res) = KnnSorted{Vector{IdDist}} [ Info: ===================== minrecall Base.Pairs{Symbol, Union{}, Nothing, @NamedTuple{}}() ============================== LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T19:53:43.601 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=2 ep=2 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T19:53:47.298 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=4, Δ=1.09, maxvisits=270) mem=1GB max-rss=1GB 2026-03-15T19:53:56.874 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=12195 ep=12195 n=12194 BeamSearch(bsize=6, Δ=0.91, maxvisits=530) mem=1GB max-rss=1GB 2026-03-15T19:53:58.874 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=23742 ep=23742 n=23741 BeamSearch(bsize=6, Δ=1.02, maxvisits=702) mem=1GB max-rss=1GB 2026-03-15T19:54:00.874 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=34186 ep=34186 n=34185 BeamSearch(bsize=6, Δ=0.84761906, maxvisits=584) mem=1GB max-rss=1GB 2026-03-15T19:54:02.874 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=43794 ep=43794 n=43793 BeamSearch(bsize=6, Δ=0.8952381, maxvisits=636) mem=1GB max-rss=1GB 2026-03-15T19:54:04.874 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=53856 ep=53856 n=53855 BeamSearch(bsize=6, Δ=0.8952381, maxvisits=636) mem=1GB max-rss=1GB 2026-03-15T19:54:06.874 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=61495 ep=61495 n=61494 BeamSearch(bsize=8, Δ=1.075, maxvisits=714) mem=1GB max-rss=1GB 2026-03-15T19:54:08.874 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=69203 ep=69203 n=69202 BeamSearch(bsize=8, Δ=1.075, maxvisits=714) mem=1GB max-rss=1GB 2026-03-15T19:54:10.874 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=76768 ep=76768 n=76767 BeamSearch(bsize=8, Δ=1.075, maxvisits=714) mem=1GB max-rss=1GB 2026-03-15T19:54:12.874 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=84329 ep=84329 n=84328 BeamSearch(bsize=8, Δ=1.075, maxvisits=714) mem=1GB max-rss=1GB 2026-03-15T19:54:14.874 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=92334 ep=92334 n=92333 BeamSearch(bsize=4, Δ=0.9047619, maxvisits=658) mem=1GB max-rss=1GB 2026-03-15T19:54:16.874 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, 24.0, 30.0, 108.0] [ Info: minrecall: queries per second: 11828.757071112688, recall: 0.903875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8163265, maxvisits=918)) 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, 108.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=660)), 1000, 8) [ Info: rebuild: queries per second: 12677.661740689357, recall: 0.894625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=660)) 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, 59.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=964)), 1000, 8) 2.794187 seconds (491.08 k allocations: 29.962 MiB, 96.59% compilation time) [ Info: matrixhints: queries per second: 11058.519251002068, recall: 0.898875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=964)) 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, 108.0] [ Info: ===================== minrecall Base.Pairs{Symbol, AdjDict{UInt32}, Nothing, @NamedTuple{adj::AdjDict{UInt32}}}(:adj => AdjDict{UInt32}(Dict{UInt32, Vector{UInt32}}(), UInt32[], Base.Threads.SpinLock(0))) ============================== LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T19:55:57.814 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, Δ=1.09, maxvisits=270) mem=1GB max-rss=1GB 2026-03-15T19:56:00.965 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=18071 ep=18071 n=18070 BeamSearch(bsize=6, Δ=1.02, maxvisits=702) mem=1GB max-rss=1GB 2026-03-15T19:56:02.966 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=32584 ep=32584 n=32583 BeamSearch(bsize=6, Δ=0.84761906, maxvisits=584) mem=1GB max-rss=1GB 2026-03-15T19:56:04.966 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=45111 ep=45111 n=45110 BeamSearch(bsize=6, Δ=0.8952381, maxvisits=636) mem=1GB max-rss=1GB 2026-03-15T19:56:06.966 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=54253 ep=54253 n=54252 BeamSearch(bsize=6, Δ=0.8952381, maxvisits=636) mem=1GB max-rss=1GB 2026-03-15T19:56:08.966 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=62758 ep=62758 n=62757 BeamSearch(bsize=8, Δ=1.075, maxvisits=714) mem=1GB max-rss=1GB 2026-03-15T19:56:10.966 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=71634 ep=71634 n=71633 BeamSearch(bsize=8, Δ=1.075, maxvisits=714) mem=1GB max-rss=1GB 2026-03-15T19:56:12.966 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=80295 ep=80295 n=80294 BeamSearch(bsize=8, Δ=1.075, maxvisits=714) mem=1GB max-rss=1GB 2026-03-15T19:56:14.966 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=88346 ep=88346 n=88345 BeamSearch(bsize=4, Δ=0.9047619, maxvisits=658) mem=1GB max-rss=1GB 2026-03-15T19:56:16.966 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=99247 ep=99247 n=99246 BeamSearch(bsize=4, Δ=0.9047619, maxvisits=658) mem=1GB max-rss=1GB 2026-03-15T19:56:18.966 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, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 24.0, 30.0, 108.0] [ Info: minrecall: queries per second: 11245.332399880783, recall: 0.903875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8163265, maxvisits=918)) 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, 108.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=660)), 1000, 8) [ Info: rebuild: queries per second: 12627.127393168947, recall: 0.894625 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8571428, maxvisits=660)) 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, 59.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=964)), 1000, 8) 2.789812 seconds (485.27 k allocations: 29.155 MiB, 96.49% compilation time) [ Info: matrixhints: queries per second: 11065.347171228645, recall: 0.898875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.7990498, maxvisits=964)) 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, 108.0] 1.033956 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.003445 seconds SEARCH Exhaustive 2: 0.003478 seconds SEARCH Exhaustive 3: 0.003347 seconds typeof(seq) = ExhaustiveSearch{SimilaritySearch.Dist.SqL2, StrideMatrixDatabase{StrideArraysCore.StrideArray{Float32, 2, (1, 2), Tuple{Int64, Int64}, Tuple{Nothing, Nothing}, Tuple{Static.StaticInt{1}, Static.StaticInt{1}}, Matrix{Float32}}}} typeof(ectx) = GenericContext{KnnSorted} typeof(q) = StrideArraysCore.StrideArray{Float32, 1, (1,), Tuple{Int64}, Tuple{Nothing}, Tuple{Static.StaticInt{1}}, Matrix{Float32}} typeof(res) = KnnSorted{Vector{IdDist}} [ Info: ===================== minrecall Base.Pairs{Symbol, Union{}, Nothing, @NamedTuple{}}() ============================== LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T19:58:00.728 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=13, Δ=0.77097505, maxvisits=268) mem=1GB max-rss=1GB 2026-03-15T19:58:13.274 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=14754 ep=14754 n=14753 BeamSearch(bsize=4, Δ=1.0249434, maxvisits=576) mem=1GB max-rss=1GB 2026-03-15T19:58:15.274 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=25892 ep=25892 n=25891 BeamSearch(bsize=6, Δ=0.9, maxvisits=620) mem=1GB max-rss=1GB 2026-03-15T19:58:17.274 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=37802 ep=37802 n=37801 BeamSearch(bsize=6, Δ=0.9, maxvisits=620) mem=1GB max-rss=1GB 2026-03-15T19:58:19.274 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=49909 ep=49909 n=49908 BeamSearch(bsize=4, Δ=0.79999995, maxvisits=594) mem=1GB max-rss=1GB 2026-03-15T19:58:21.274 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=59215 ep=59215 n=59214 BeamSearch(bsize=10, Δ=0.83, maxvisits=816) mem=1GB max-rss=1GB 2026-03-15T19:58:23.274 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=68654 ep=68654 n=68653 BeamSearch(bsize=10, Δ=0.83, maxvisits=816) mem=1GB max-rss=1GB 2026-03-15T19:58:25.274 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=77902 ep=77902 n=77901 BeamSearch(bsize=10, Δ=0.83, maxvisits=816) mem=1GB max-rss=1GB 2026-03-15T19:58:27.274 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=86128 ep=86128 n=86127 BeamSearch(bsize=4, Δ=1.0285715, maxvisits=742) mem=1GB max-rss=1GB 2026-03-15T19:58:29.274 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=94972 ep=94972 n=94971 BeamSearch(bsize=4, Δ=1.0285715, maxvisits=742) mem=1GB max-rss=1GB 2026-03-15T19:58:31.275 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, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 105.0] [ Info: minrecall: queries per second: 10555.50910545132, recall: 0.9155 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.7774538, maxvisits=1012)) 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, 105.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=674)), 1000, 8) [ Info: rebuild: queries per second: 13746.804967589434, recall: 0.89425 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=674)) 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, 59.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8163265, maxvisits=890)), 1000, 8) 3.248459 seconds (429.89 k allocations: 26.182 MiB, 97.46% compilation time) [ Info: matrixhints: queries per second: 12300.318928819346, recall: 0.901 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8163265, maxvisits=890)) 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, 105.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 6m30.4s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:48.773 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T19:59:49.034 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:50.994 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000007, 0x00000009, 0x0000000a, 0x00000011, 0x00000016, 0x0000004a] D.nn = Int32[1, 2, 3, 4, 3, 3, 7, 3, 9, 10, 3, 2, 10, 7, 7, 7, 17, 9, 4, 9, 10, 22, 2, 17, 1, 10, 10, 1, 7, 4, 10, 3, 7, 7, 17, 1, 7, 9, 17, 3, 7, 22, 1, 22, 9, 10, 10, 9, 17, 3, 7, 3, 1, 9, 4, 3, 2, 22, 17, 22, 1, 7, 10, 4, 17, 9, 22, 9, 1, 10, 22, 4, 22, 74, 10, 4, 17, 4, 3, 7, 9, 2, 1, 1, 3, 1, 22, 22, 3, 3, 1, 9, 3, 10, 10, 10, 3, 3, 4, 22] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.071532845, 0.035413086, 0.0, 0.046440184, 0.0, 0.0, 0.017350137, 0.009026527, 0.028534114, 0.030737042, 0.047299385, 0.060253203, 0.0, 0.0060144663, 0.012704134, 0.01863277, 0.076883376, 0.0, 0.041859686, 0.02499491, 0.023130774, 0.0044739842, 0.046055973, 0.01752448, 0.0035934448, 0.00740391, 0.04555422, 0.03573221, 0.058165252, 0.025195837, 0.06503558, 0.016898572, 0.072235346, 0.037234187, 0.02143085, 0.027136683, 0.03496915, 0.02958095, 0.018432438, 0.033991873, 0.07368958, 0.04615593, 0.028000772, 0.04342091, 0.031038404, 0.038045943, 0.050769508, 0.043978393, 0.086037636, 0.037160873, 0.05671376, 0.023750603, 0.012391508, 0.058012307, 0.04441768, 0.022600532, 0.06204599, 0.021131516, 0.04628873, 0.06680375, 0.02234441, 0.04765451, 0.035125256, 0.027711868, 0.049915135, 0.07703042, 0.040875793, 0.04472196, 0.05874598, 0.0, 0.027663529, 0.05325699, 0.07807118, 0.037773967, 0.009436607, 0.0539279, 0.04460597, 0.04446721, 0.049154818, 0.026096046, 0.039031506, 0.027603447, 0.03646791, 0.020290732, 0.052177846, 0.050649107, 0.035633087, 0.07456118, 0.046175063, 0.06676233, 0.013528168, 0.051976502, 0.030302465, 0.043556392, 0.04626012, 0.037864506] Test Summary: | Pass Total Time neardup single block | 3 3 21.7s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.034 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T19:59:52.034 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-03-15T19:59:52.036 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.036 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.036 [ Info: neardup> range: 65:80, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.036 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.037 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.037 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.037 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000007, 0x00000009, 0x0000000a, 0x00000011, 0x00000016, 0x0000004a] D.nn = Int32[1, 2, 3, 4, 3, 3, 7, 3, 9, 10, 3, 2, 10, 7, 7, 7, 17, 9, 4, 9, 10, 22, 2, 17, 1, 10, 10, 1, 7, 4, 10, 3, 7, 7, 17, 1, 7, 9, 17, 3, 7, 22, 1, 22, 9, 10, 10, 9, 17, 3, 7, 3, 1, 9, 4, 3, 2, 22, 17, 22, 1, 7, 10, 4, 17, 9, 22, 9, 1, 10, 22, 4, 22, 74, 10, 4, 17, 4, 3, 7, 9, 2, 1, 1, 3, 1, 22, 22, 3, 3, 1, 9, 3, 10, 10, 10, 3, 3, 4, 22] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.071532845, 0.035413086, 0.0, 0.046440184, 0.0, 0.0, 0.017350137, 0.009026527, 0.028534114, 0.030737042, 0.047299385, 0.060253203, 0.0, 0.0060144663, 0.012704134, 0.01863277, 0.076883376, 0.0, 0.041859686, 0.02499491, 0.023130774, 0.0044739842, 0.046055973, 0.01752448, 0.0035934448, 0.00740391, 0.04555422, 0.03573221, 0.058165252, 0.025195837, 0.06503558, 0.016898572, 0.072235346, 0.037234187, 0.02143085, 0.027136683, 0.03496915, 0.02958095, 0.018432438, 0.033991873, 0.07368958, 0.04615593, 0.028000772, 0.04342091, 0.031038404, 0.038045943, 0.050769508, 0.043978393, 0.086037636, 0.037160873, 0.05671376, 0.023750603, 0.012391508, 0.058012307, 0.04441768, 0.022600532, 0.06204599, 0.021131516, 0.04628873, 0.06680375, 0.02234441, 0.04765451, 0.035125256, 0.027711868, 0.049915135, 0.07703042, 0.040875793, 0.04472196, 0.05874598, 0.0, 0.027663529, 0.05325699, 0.07807118, 0.037773967, 0.009436607, 0.0539279, 0.04460597, 0.04446721, 0.049154818, 0.026096046, 0.039031506, 0.027603447, 0.03646791, 0.020290732, 0.052177846, 0.050649107, 0.035633087, 0.07456118, 0.046175063, 0.06676233, 0.013528168, 0.051976502, 0.030302465, 0.043556392, 0.04626012, 0.037864506] Test Summary: | Pass Total Time neardup small block | 3 3 0.1s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.175 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T19:59:52.175 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] [ Info: neardup> range: 17:32, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.177 [ Info: neardup> range: 33:48, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.178 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.178 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.178 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.178 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.178 [ Info: neardup> finished current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-15T19:59:52.178 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000016, 0x0000003b] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 5, 9, 4, 9, 13, 22, 12, 5, 11, 10, 13, 1, 7, 4, 13, 8, 14, 7, 5, 1, 7, 9, 5, 8, 15, 22, 1, 22, 9, 16, 10, 9, 16, 11, 7, 5, 1, 9, 4, 3, 12, 6, 59, 22, 8, 15, 13, 15, 16, 9, 22, 9, 1, 10, 22, 4, 22, 5, 10, 4, 13, 4, 3, 7, 9, 12, 6, 1, 3, 1, 22, 22, 6, 6, 11, 9, 6, 10, 10, 16, 3, 3, 13, 22] 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.084473014, 0.0060144663, 0.012704134, 0.01863277, 0.047712743, 0.0, 0.036299467, 0.06465721, 0.009587407, 0.0044739842, 0.022670686, 0.01752448, 0.0035934448, 0.00740391, 0.013607442, 0.0029807687, 0.02522248, 0.025195837, 0.03195834, 0.016898572, 0.072235346, 0.037234187, 0.079306066, 0.005676985, 0.011464953, 0.02958095, 0.018432438, 0.033991873, 0.07368958, 0.030508697, 0.028000772, 0.04342091, 0.062499225, 0.010647595, 0.050769508, 0.020937443, 0.086037636, 0.037160873, 0.05671376, 0.023750603, 0.00401175, 0.044843078, 0.0, 0.022600532, 0.035573065, 0.009322882, 0.009546459, 0.016781032, 0.0539546, 0.04765451, 0.035125256, 0.027711868, 0.049915135, 0.07703042, 0.040875793, 0.04472196, 0.05874598, 0.04231894, 0.027663529, 0.05325699, 0.048066616, 0.037773967, 0.009436607, 0.0539279, 0.04460597, 0.0195449, 0.024596393, 0.026096046, 0.039031506, 0.027603447, 0.03646791, 0.020290732, 0.006221354, 0.016982794, 0.02285707, 0.07456118, 0.005559504, 0.06676233, 0.013528168, 0.016363084, 0.030302465, 0.043556392, 0.04147023, 0.037864506] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 0.1s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.582 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=707 2026-03-15T20:00:03.583 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.590 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.590 [ Info: neardup> range: 49:64, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.590 [ Info: neardup> range: 65:80, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.590 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.590 [ Info: neardup> range: 97:100, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.590 [ Info: neardup> finished current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-15T20:00:03.590 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000007, 0x00000009, 0x0000000a, 0x00000011, 0x00000016, 0x0000004a] D.nn = Int32[1, 2, 3, 4, 3, 3, 7, 3, 9, 10, 3, 2, 10, 7, 7, 7, 17, 9, 4, 9, 10, 22, 2, 17, 1, 10, 10, 1, 7, 4, 10, 3, 7, 7, 17, 1, 7, 9, 17, 3, 7, 22, 1, 22, 9, 10, 10, 9, 17, 3, 7, 3, 1, 9, 4, 3, 2, 22, 17, 22, 1, 7, 10, 4, 17, 9, 22, 9, 1, 10, 22, 4, 22, 74, 10, 4, 17, 4, 3, 7, 9, 2, 1, 1, 3, 1, 22, 22, 3, 3, 1, 9, 3, 10, 10, 10, 3, 3, 4, 22] D.dist = Float32[0.0, 0.0, 0.0, 0.0, 0.071532845, 0.035413086, 0.0, 0.046440184, 0.0, 0.0, 0.017350137, 0.009026527, 0.028534114, 0.030737042, 0.047299385, 0.060253203, 0.0, 0.0060144663, 0.012704134, 0.01863277, 0.076883376, 0.0, 0.041859686, 0.02499491, 0.023130774, 0.0044739842, 0.046055973, 0.01752448, 0.0035934448, 0.00740391, 0.04555422, 0.03573221, 0.058165252, 0.025195837, 0.06503558, 0.016898572, 0.072235346, 0.037234187, 0.02143085, 0.027136683, 0.03496915, 0.02958095, 0.018432438, 0.033991873, 0.07368958, 0.04615593, 0.028000772, 0.04342091, 0.031038404, 0.038045943, 0.050769508, 0.043978393, 0.086037636, 0.037160873, 0.05671376, 0.023750603, 0.012391508, 0.058012307, 0.04441768, 0.022600532, 0.06204599, 0.021131516, 0.04628873, 0.06680375, 0.02234441, 0.04765451, 0.035125256, 0.027711868, 0.049915135, 0.07703042, 0.040875793, 0.04472196, 0.05874598, 0.0, 0.027663529, 0.05325699, 0.07807118, 0.037773967, 0.009436607, 0.0539279, 0.04460597, 0.04446721, 0.049154818, 0.026096046, 0.039031506, 0.027603447, 0.03646791, 0.020290732, 0.052177846, 0.050649107, 0.035633087, 0.07456118, 0.046175063, 0.06676233, 0.013528168, 0.051976502, 0.030302465, 0.043556392, 0.04626012, 0.037864506] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 11.4s ExhaustiveSearch allknn: 1.873737 seconds (470.15 k allocations: 27.941 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.04269680008292198, 0.15955814719200134, 0.20519328117370605, 0.23375022411346436, 0.4422311782836914] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.15254975855350494, 0.22304460033774376, 0.2584519237279892, 0.3152875304222107, 0.4870544373989105] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.22081200778484344, 0.26704104244709015, 0.3059615194797516, 0.34463974833488464, 0.5088321566581726] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.2388286292552948, 0.3040935546159744, 0.3409828692674637, 0.37278950959444046, 0.5090933442115784] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.2544087767601013, 0.33401137590408325, 0.36254124343395233, 0.3986421003937721, 0.5832754969596863] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T20:00:14.088 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] LOG add! sp=2 ep=2 n=1 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T20:00:16.169 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] SearchGraph allknn: 5.350604 seconds (607.62 k allocations: 38.337 MiB, 99.99% compilation time) recall = 0.975 recall > 0.8 = true recall = 0.975 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [2.0, 4.0, 6.0, 8.25, 18.0] Test Summary: | Pass Total Time allknn | 3 3 29.5s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-15T20:00:39.394 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=140) mem=1GB max-rss=1GB 2026-03-15T20:00:50.619 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (22, 328, -1.1920929f-7) (i, j, d, :parallel) = (24, 545, -1.1920929f-7, :parallel) [ Info: NOTE: the exact method will be faster on small datasets due to the preprocessing step of the approximation method [ Info: ("closestpair computation time", :approx => 19.586080853000002, :exact => 1.041775214) Test Summary: | Pass Total Time closestpair | 4 4 21.1s Testing SimilaritySearch tests passed Testing completed after 600.39s PkgEval succeeded after 674.92s