Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1871 (50d44f5be7*) started at 2026-03-08T18:59:47.842 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 13.71s ################################################################################ # Installation # Installing SimilaritySearch... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [053f045d] + SimilaritySearch v0.14.0 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.0 [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.02s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 3255.2 ms ✓ SearchModels 9788.5 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 14 seconds. 107 already precompiled. Precompilation completed after 38.79s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_3JvvyL/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.0 [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_3JvvyL/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.0 [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+0 [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.7.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.1s Test Summary: | Pass Total Time heap | 16 16 0.2s Test Summary: | Pass Total Time KnnHeap | 30005 30005 4.2s Test Summary: | Pass Total Time XKnn | 25005 25005 3.1s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.3s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) SimilaritySearch.Dist.L2: 0.031194 seconds SimilaritySearch.Dist.L2: 0.032298 seconds SimilaritySearch.Dist.L1: 0.030568 seconds SimilaritySearch.Dist.L1: 0.028269 seconds SimilaritySearch.Dist.LInfty: 0.029336 seconds SimilaritySearch.Dist.LInfty: 0.029393 seconds SimilaritySearch.Dist.SqL2: 0.028682 seconds SimilaritySearch.Dist.SqL2: 0.029297 seconds SimilaritySearch.Dist.Lp: 0.128568 seconds SimilaritySearch.Dist.Lp: 0.128142 seconds SimilaritySearch.Dist.Lp: 0.257721 seconds SimilaritySearch.Dist.Lp: 0.257770 seconds SimilaritySearch.Dist.Angle: 0.191743 seconds (5.21 k allocations: 279.125 KiB) SimilaritySearch.Dist.Angle: 0.182758 seconds SimilaritySearch.Dist.Cosine: 0.162076 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.163171 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 29.5s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.017733 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.017463 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.267889 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.269223 seconds SimilaritySearch.Dist.Seqs.LCS: 0.260522 seconds SimilaritySearch.Dist.Seqs.LCS: 0.255776 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.028458 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.028571 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 13.7s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.068702 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.067483 seconds SimilaritySearch.Dist.Sets.Dice: 0.069971 seconds SimilaritySearch.Dist.Sets.Dice: 0.071123 seconds SimilaritySearch.Dist.Sets.Intersection: 0.071232 seconds SimilaritySearch.Dist.Sets.Intersection: 0.075872 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.070238 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.068627 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 13.3s SimilaritySearch.Dist.NormAngle: 0.003924 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.003911 seconds SimilaritySearch.Dist.NormCosine: 0.003054 seconds SimilaritySearch.Dist.NormCosine: 0.002949 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 6.6s SimilaritySearch.Dist.Bits.Hamming: 0.004038 seconds SimilaritySearch.Dist.Bits.Hamming: 0.004134 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008456 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.008649 seconds Test Summary: | Pass Total Time Binary distances | 200 200 6.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 7.0s computing farthest point 1, dmax: Inf, imax: 25, n: 30 computing farthest point 2, dmax: 1.30779, imax: 5, n: 30 computing farthest point 3, dmax: 1.0466162, imax: 10, n: 30 computing farthest point 4, dmax: 0.9016312, imax: 13, n: 30 computing farthest point 5, dmax: 0.7730864, imax: 12, n: 30 computing farthest point 6, dmax: 0.70339227, imax: 19, n: 30 computing farthest point 7, dmax: 0.60519505, imax: 7, n: 30 computing farthest point 8, dmax: 0.59418136, imax: 14, n: 30 computing farthest point 9, dmax: 0.57462436, imax: 26, n: 30 computing farthest point 10, dmax: 0.53510135, imax: 20, 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.6s 4.985274 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.007119 seconds SEARCH Exhaustive 2: 0.007375 seconds SEARCH Exhaustive 3: 0.008079 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-08T19:03:42.049 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-08T19:03:46.171 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.05, maxvisits=318) mem=1GB max-rss=1GB 2026-03-08T19:03:56.974 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=12069 ep=12069 n=12068 BeamSearch(bsize=6, Δ=0.8857143, maxvisits=586) mem=1GB max-rss=1GB 2026-03-08T19:03:58.974 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=22471 ep=22471 n=22470 BeamSearch(bsize=4, Δ=0.7609998, maxvisits=524) mem=1GB max-rss=1GB 2026-03-08T19:04:00.974 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=32408 ep=32408 n=32407 BeamSearch(bsize=8, Δ=0.9070295, maxvisits=696) mem=1GB max-rss=1GB 2026-03-08T19:04:02.974 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=42222 ep=42222 n=42221 BeamSearch(bsize=4, Δ=0.7990498, maxvisits=616) mem=1GB max-rss=1GB 2026-03-08T19:04:04.974 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=52697 ep=52697 n=52696 BeamSearch(bsize=4, Δ=0.7990498, maxvisits=616) mem=1GB max-rss=1GB 2026-03-08T19:04:06.974 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=60059 ep=60059 n=60058 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=652) mem=1GB max-rss=1GB 2026-03-08T19:04:08.974 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=67298 ep=67298 n=67297 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=652) mem=1GB max-rss=1GB 2026-03-08T19:04:10.974 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=75843 ep=75843 n=75842 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=652) mem=1GB max-rss=1GB 2026-03-08T19:04:12.975 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=84141 ep=84141 n=84140 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=652) mem=1GB max-rss=1GB 2026-03-08T19:04:14.975 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=91073 ep=91073 n=91072 BeamSearch(bsize=4, Δ=1.0857142, maxvisits=668) mem=1GB max-rss=1GB 2026-03-08T19:04:16.975 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=99034 ep=99034 n=99033 BeamSearch(bsize=4, Δ=1.0857142, maxvisits=668) mem=1GB max-rss=1GB 2026-03-08T19:04:18.975 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, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 19.0, 23.0, 30.0, 108.0] [ Info: minrecall: queries per second: 9585.62153702048, recall: 0.916 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.79, maxvisits=906)) 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, 19.0, 23.0, 30.0, 108.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8844052, maxvisits=674)), 1000, 8) [ Info: rebuild: queries per second: 12403.008935239264, recall: 0.902875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8844052, 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, 60.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=864)), 1000, 8) 2.871327 seconds (491.08 k allocations: 29.964 MiB, 96.97% compilation time) [ Info: matrixhints: queries per second: 10910.275249224509, recall: 0.904 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=864)) 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, 19.0, 23.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-08T19:06:00.413 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.05, maxvisits=318) mem=1GB max-rss=1GB 2026-03-08T19:06:03.622 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=16836 ep=16836 n=16835 BeamSearch(bsize=4, Δ=0.7609998, maxvisits=524) mem=1GB max-rss=1GB 2026-03-08T19:06:05.666 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=32326 ep=32326 n=32325 BeamSearch(bsize=8, Δ=0.9070295, maxvisits=696) mem=1GB max-rss=1GB 2026-03-08T19:06:07.666 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=44993 ep=44993 n=44992 BeamSearch(bsize=4, Δ=0.7990498, maxvisits=616) mem=1GB max-rss=1GB 2026-03-08T19:06:09.666 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=56817 ep=56817 n=56816 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=652) mem=1GB max-rss=1GB 2026-03-08T19:06:11.680 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=66924 ep=66924 n=66923 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=652) mem=1GB max-rss=1GB 2026-03-08T19:06:13.680 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=76649 ep=76649 n=76648 BeamSearch(bsize=6, Δ=0.99999994, maxvisits=652) mem=1GB max-rss=1GB 2026-03-08T19:06:15.680 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=85224 ep=85224 n=85223 BeamSearch(bsize=4, Δ=1.0857142, maxvisits=668) mem=1GB max-rss=1GB 2026-03-08T19:06:17.779 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=94727 ep=94727 n=94726 BeamSearch(bsize=4, Δ=1.0857142, maxvisits=668) mem=1GB max-rss=1GB 2026-03-08T19:06:19.779 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, 19.0, 23.0, 30.0, 108.0] [ Info: minrecall: queries per second: 9615.988665903407, recall: 0.916 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=6, Δ=0.79, maxvisits=906)) 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, 19.0, 23.0, 30.0, 108.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8844052, maxvisits=674)), 1000, 8) [ Info: rebuild: queries per second: 12126.893534084677, recall: 0.902875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8844052, 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, 60.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=864)), 1000, 8) 2.864924 seconds (485.27 k allocations: 29.154 MiB, 96.98% compilation time) [ Info: matrixhints: queries per second: 11460.713556403593, recall: 0.904 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.0761905, maxvisits=864)) 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, 19.0, 23.0, 30.0, 108.0] 1.056259 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.003330 seconds SEARCH Exhaustive 2: 0.003273 seconds SEARCH Exhaustive 3: 0.003394 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-08T19:08:03.120 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-08T19:08:05.154 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.0190476, maxvisits=282) mem=1GB max-rss=1GB 2026-03-08T19:08:15.954 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=15229 ep=15229 n=15228 BeamSearch(bsize=4, Δ=0.96, maxvisits=566) mem=1GB max-rss=1GB 2026-03-08T19:08:17.954 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=27227 ep=27227 n=27226 BeamSearch(bsize=4, Δ=0.861678, maxvisits=554) mem=1GB max-rss=1GB 2026-03-08T19:08:19.954 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=38625 ep=38625 n=38624 BeamSearch(bsize=8, Δ=1.1, maxvisits=710) mem=1GB max-rss=1GB 2026-03-08T19:08:21.955 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=47409 ep=47409 n=47408 BeamSearch(bsize=8, Δ=1.1, maxvisits=710) mem=1GB max-rss=1GB 2026-03-08T19:08:23.955 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=56027 ep=56027 n=56026 BeamSearch(bsize=8, Δ=1.1, maxvisits=710) mem=1GB max-rss=1GB 2026-03-08T19:08:25.955 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=65074 ep=65074 n=65073 BeamSearch(bsize=6, Δ=0.9142857, maxvisits=760) mem=1GB max-rss=1GB 2026-03-08T19:08:27.955 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=74635 ep=74635 n=74634 BeamSearch(bsize=6, Δ=0.9142857, maxvisits=760) mem=1GB max-rss=1GB 2026-03-08T19:08:29.955 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=84174 ep=84174 n=84173 BeamSearch(bsize=6, Δ=0.9142857, maxvisits=760) mem=1GB max-rss=1GB 2026-03-08T19:08:31.955 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=92791 ep=92791 n=92790 BeamSearch(bsize=4, Δ=0.8618789, maxvisits=692) mem=1GB max-rss=1GB 2026-03-08T19:08:33.955 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, 106.0] [ Info: minrecall: queries per second: 12778.76557635683, recall: 0.900875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=3, Δ=0.8979592, maxvisits=824)) 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, 106.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84761906, maxvisits=648)), 1000, 8) [ Info: rebuild: queries per second: 14256.421209728336, recall: 0.89675 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.84761906, maxvisits=648)) 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, 62.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8, maxvisits=878)), 1000, 8) 3.221537 seconds (429.88 k allocations: 26.179 MiB, 97.43% compilation time) [ Info: matrixhints: queries per second: 12021.932525172544, recall: 0.899875 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8, maxvisits=878)) 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, 106.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 6m33.9s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:49.702 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-08T19:09:49.977 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-03-08T19:09:51.915 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000005, 0x00000007, 0x0000000a, 0x0000000b, 0x00000011, 0x00000013, 0x00000023, 0x00000054] D.nn = Int32[1, 2, 3, 1, 5, 1, 7, 5, 1, 10, 11, 3, 1, 2, 3, 5, 17, 3, 19, 2, 2, 11, 2, 1, 2, 1, 19, 19, 2, 3, 1, 3, 2, 3, 35, 3, 35, 3, 17, 2, 35, 35, 7, 11, 7, 3, 17, 5, 19, 10, 3, 11, 10, 17, 2, 19, 17, 35, 17, 19, 1, 17, 17, 19, 3, 17, 10, 19, 3, 19, 19, 19, 3, 19, 2, 19, 2, 19, 19, 35, 1, 2, 2, 84, 3, 19, 3, 7, 19, 19, 2, 2, 10, 7, 3, 1, 2, 35, 35, 10] D.dist = Float32[0.0, 0.0, 0.0, 0.038680673, 0.0, 0.04912132, 0.0, 0.049103975, 0.068342924, 0.0, 0.0, 0.018182874, 0.030316472, 0.068686664, 0.07006621, 0.053487122, 0.0, 0.056295037, 0.0, 0.061135054, 0.014110744, 0.0590294, 0.02850914, 0.050929844, 0.027941942, 0.071786284, 0.03546554, 0.026352704, 0.080783546, 0.021574795, 0.05047196, 0.083619475, 0.00823015, 0.01232779, 0.0, 0.021940053, 0.045595527, 0.024729013, 0.021896005, 0.0850485, 0.022850215, 0.09798932, 0.061558604, 0.026698112, 0.0335117, 0.0031980276, 0.003975868, 0.03878033, 0.033243716, 0.056764483, 0.02645725, 0.042345107, 0.022079349, 0.045208573, 0.07697207, 0.07531929, 0.030238748, 0.022692561, 0.01693052, 0.03461474, 0.06224686, 0.044424236, 0.00096058846, 0.047002435, 0.028352022, 0.0032704473, 0.053204656, 0.0031651258, 0.047233343, 0.03134507, 0.0433681, 0.036144733, 0.056630194, 0.061284304, 0.03544885, 0.051301956, 0.07986152, 0.04098183, 0.009044945, 0.0070642233, 0.04974234, 0.033565223, 0.09332955, 0.0, 0.045983434, 0.06618047, 0.022877514, 0.03454417, 0.030526161, 0.039442122, 0.078347445, 0.011498272, 0.015883744, 0.019885004, 0.03876251, 0.04405588, 0.004507005, 0.017556548, 0.01964128, 0.010528743] Test Summary: | Pass Total Time neardup single block | 3 3 22.2s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:52.942 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-08T19:09:52.943 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-08T19:09:52.943 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:52.943 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:52.943 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:52.943 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:52.943 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:52.944 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:52.944 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000005, 0x00000007, 0x0000000a, 0x0000000b, 0x00000011, 0x00000013, 0x00000023, 0x00000054] D.nn = Int32[1, 2, 3, 1, 5, 1, 7, 5, 1, 10, 11, 3, 1, 2, 3, 5, 17, 3, 19, 2, 2, 11, 2, 1, 2, 1, 11, 19, 2, 3, 1, 3, 2, 3, 35, 3, 1, 3, 17, 2, 1, 35, 7, 11, 7, 3, 17, 5, 19, 10, 3, 11, 10, 17, 2, 19, 17, 35, 17, 19, 1, 17, 17, 19, 3, 17, 10, 19, 3, 19, 19, 19, 3, 19, 2, 19, 2, 19, 19, 35, 1, 2, 2, 84, 3, 19, 3, 7, 19, 19, 2, 2, 10, 7, 3, 1, 2, 35, 35, 10] D.dist = Float32[0.0, 0.0, 0.0, 0.038680673, 0.0, 0.04912132, 0.0, 0.049103975, 0.068342924, 0.0, 0.0, 0.018182874, 0.030316472, 0.068686664, 0.07006621, 0.053487122, 0.0, 0.056295037, 0.0, 0.061135054, 0.014110744, 0.0590294, 0.02850914, 0.050929844, 0.027941942, 0.071786284, 0.09638822, 0.026352704, 0.080783546, 0.021574795, 0.05047196, 0.083619475, 0.00823015, 0.01232779, 0.0, 0.021940053, 0.058038473, 0.024729013, 0.021896005, 0.0850485, 0.06991905, 0.09798932, 0.061558604, 0.026698112, 0.0335117, 0.0031980276, 0.003975868, 0.03878033, 0.033243716, 0.056764483, 0.02645725, 0.042345107, 0.022079349, 0.045208573, 0.07697207, 0.07531929, 0.030238748, 0.022692561, 0.01693052, 0.03461474, 0.06224686, 0.044424236, 0.00096058846, 0.047002435, 0.028352022, 0.0032704473, 0.053204656, 0.0031651258, 0.047233343, 0.03134507, 0.0433681, 0.036144733, 0.056630194, 0.061284304, 0.03544885, 0.051301956, 0.07986152, 0.04098183, 0.009044945, 0.0070642233, 0.04974234, 0.033565223, 0.09332955, 0.0, 0.045983434, 0.06618047, 0.022877514, 0.03454417, 0.030526161, 0.039442122, 0.078347445, 0.011498272, 0.015883744, 0.019885004, 0.03876251, 0.04405588, 0.004507005, 0.017556548, 0.01964128, 0.010528743] 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-08T19:09:53.085 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-08T19:09:53.086 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-08T19:09:53.087 [ Info: neardup> range: 33:48, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:53.087 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:53.087 [ Info: neardup> range: 65:80, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:53.087 [ Info: neardup> range: 81:96, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:53.088 [ Info: neardup> range: 97:100, current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:53.088 [ Info: neardup> finished current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:09:53.088 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x0000002a, 0x00000054, 0x00000059] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 8, 9, 14, 2, 2, 4, 2, 13, 2, 9, 14, 14, 9, 12, 1, 15, 2, 3, 14, 3, 9, 3, 6, 2, 9, 42, 13, 11, 16, 3, 16, 16, 14, 10, 12, 11, 10, 9, 2, 3, 6, 4, 6, 14, 6, 16, 8, 14, 12, 16, 10, 14, 12, 14, 14, 10, 12, 14, 2, 14, 2, 10, 14, 42, 9, 2, 2, 84, 12, 3, 12, 6, 89, 14, 9, 2, 10, 7, 3, 13, 2, 42, 42, 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.026927948, 0.029011607, 0.0567621, 0.061135054, 0.014110744, 0.024709404, 0.02850914, 0.038441896, 0.027941942, 0.008160174, 0.08188152, 0.014446378, 0.0044326186, 0.008859813, 0.05047196, 0.03898275, 0.00823015, 0.01232779, 0.07339895, 0.021940053, 0.032185316, 0.024729013, 0.018252134, 0.0850485, 0.054130375, 0.0, 0.02468592, 0.026698112, 0.017603695, 0.0031980276, 0.013990104, 0.008783221, 0.060465872, 0.056764483, 0.005559981, 0.042345107, 0.022079349, 0.014376342, 0.07697207, 0.08166194, 0.0072392225, 0.044522703, 0.032262504, 0.047675073, 0.02552563, 0.0067219734, 0.02739358, 0.027412593, 0.0165416, 0.018837512, 0.053204656, 0.050328016, 0.018252969, 0.038366437, 0.04386568, 0.043213546, 0.019683719, 0.0021506548, 0.03544885, 0.034222722, 0.07986152, 0.0415951, 0.08001596, 0.08172798, 0.002595663, 0.033565223, 0.09332955, 0.0, 0.023334324, 0.0823431, 0.010474265, 0.02168256, 0.0, 0.0020049214, 0.022567034, 0.011498272, 0.015883744, 0.019885004, 0.03876251, 0.0151636, 0.004507005, 0.05247605, 0.045863688, 0.010528743] 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-08T19:10:04.520 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=700 2026-03-08T19:10:04.521 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:10:04.527 [ Info: neardup> range: 33:48, current elements: 9, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:10:04.527 [ Info: neardup> range: 49:64, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:10:04.527 [ Info: neardup> range: 65:80, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:10:04.527 [ Info: neardup> range: 81:96, current elements: 10, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:10:04.527 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:10:04.527 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-08T19:10:04.527 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000005, 0x00000007, 0x0000000a, 0x0000000b, 0x00000011, 0x00000013, 0x00000023, 0x00000054] D.nn = Int32[1, 2, 3, 1, 5, 1, 7, 5, 1, 10, 11, 3, 1, 2, 3, 5, 17, 3, 19, 2, 2, 11, 2, 1, 2, 1, 11, 19, 2, 3, 1, 3, 2, 3, 35, 3, 1, 3, 17, 2, 1, 35, 7, 11, 7, 3, 17, 5, 19, 10, 3, 11, 10, 17, 2, 19, 17, 35, 17, 19, 1, 17, 17, 19, 3, 17, 10, 19, 3, 19, 19, 19, 3, 19, 2, 19, 2, 19, 19, 35, 1, 2, 2, 84, 3, 19, 3, 7, 19, 19, 2, 2, 10, 7, 3, 1, 2, 35, 35, 10] D.dist = Float32[0.0, 0.0, 0.0, 0.038680673, 0.0, 0.04912132, 0.0, 0.049103975, 0.068342924, 0.0, 0.0, 0.018182874, 0.030316472, 0.068686664, 0.07006621, 0.053487122, 0.0, 0.056295037, 0.0, 0.061135054, 0.014110744, 0.0590294, 0.02850914, 0.050929844, 0.027941942, 0.071786284, 0.09638822, 0.026352704, 0.080783546, 0.021574795, 0.05047196, 0.083619475, 0.00823015, 0.01232779, 0.0, 0.021940053, 0.058038473, 0.024729013, 0.021896005, 0.0850485, 0.06991905, 0.09798932, 0.061558604, 0.026698112, 0.0335117, 0.0031980276, 0.003975868, 0.03878033, 0.033243716, 0.056764483, 0.02645725, 0.042345107, 0.022079349, 0.045208573, 0.07697207, 0.07531929, 0.030238748, 0.022692561, 0.01693052, 0.03461474, 0.06224686, 0.044424236, 0.00096058846, 0.047002435, 0.028352022, 0.0032704473, 0.053204656, 0.0031651258, 0.047233343, 0.03134507, 0.0433681, 0.036144733, 0.056630194, 0.061284304, 0.03544885, 0.051301956, 0.07986152, 0.04098183, 0.009044945, 0.0070642233, 0.04974234, 0.033565223, 0.09332955, 0.0, 0.045983434, 0.06618047, 0.022877514, 0.03454417, 0.030526161, 0.039442122, 0.078347445, 0.011498272, 0.015883744, 0.019885004, 0.03876251, 0.04405588, 0.004507005, 0.017556548, 0.01964128, 0.010528743] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 11.4s ExhaustiveSearch allknn: 1.858180 seconds (470.15 k allocations: 27.934 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.10633589327335358, 0.17409083247184753, 0.2171652764081955, 0.264688603579998, 0.39723578095436096] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.15205641090869904, 0.23669620603322983, 0.28059738874435425, 0.31182286888360977, 0.4518436789512634] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.22355112433433533, 0.2861882522702217, 0.3249624967575073, 0.36843814700841904, 0.47395533323287964] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.2314453274011612, 0.31259000301361084, 0.35352811217308044, 0.3970614895224571, 0.4799823462963104] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.260816365480423, 0.337670162320137, 0.3785184174776077, 0.4163152128458023, 0.5285049080848694] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-08T19:10:15.108 LOG n.size quantiles:[0.0, 0.0, 0.0, 0.0, 0.0] SearchGraph allknn: 5.422549 seconds (607.62 k allocations: 38.336 MiB, 99.99% compilation time) recall = 0.9716666666666662 recall > 0.8 = true recall = 0.9716666666666662 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [2.0, 4.0, 6.0, 8.0, 17.0] Test Summary: | Pass Total Time allknn | 3 3 29.8s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-08T19:10:40.830 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.92862546, maxvisits=146) mem=1GB max-rss=1GB 2026-03-08T19:10:52.558 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (7, 918, -1.1920929f-7) (i, j, d, :parallel) = (5, 655, -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 => 20.246288271999997, :exact => 1.075830524) Test Summary: | Pass Total Time closestpair | 4 4 21.8s Testing SimilaritySearch tests passed Testing completed after 607.15s PkgEval succeeded after 678.08s