Package evaluation to test SimilaritySearch on Julia 1.14.0-DEV.1918 (78a0dc1151*) started at 2026-03-19T23:39:37.544 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 13.79s ################################################################################ # 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.05s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 4214.8 ms ✓ SearchModels 11088.4 ms ✓ SimilaritySearch 2 dependencies successfully precompiled in 19 seconds. 107 already precompiled. Precompilation completed after 39.07s ################################################################################ # Testing # Testing SimilaritySearch Status `/tmp/jl_lzpzyj/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_lzpzyj/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.19.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.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 30.7s Test Summary: | Pass Total Time heap | 16 16 0.3s Test Summary: | Pass Total Time KnnHeap | 30005 30005 5.7s Test Summary: | Pass Total Time XKnn | 25005 25005 4.1s Test Summary: | Pass Total Time XKnn pop ops | 9603 9603 1.8s [ Info: (MatrixDatabase{Matrix{Float32}}, SubDatabase{MatrixDatabase{Matrix{Float32}}, Vector{Int64}}) SimilaritySearch.Dist.L2: 0.031132 seconds SimilaritySearch.Dist.L2: 0.039850 seconds SimilaritySearch.Dist.L1: 0.030101 seconds SimilaritySearch.Dist.L1: 0.029758 seconds SimilaritySearch.Dist.LInfty: 0.041990 seconds SimilaritySearch.Dist.LInfty: 0.046529 seconds SimilaritySearch.Dist.SqL2: 0.047438 seconds SimilaritySearch.Dist.SqL2: 0.051493 seconds SimilaritySearch.Dist.Lp: 0.174592 seconds SimilaritySearch.Dist.Lp: 0.209310 seconds SimilaritySearch.Dist.Lp: 0.366293 seconds SimilaritySearch.Dist.Lp: 0.370313 seconds SimilaritySearch.Dist.Angle: 0.213022 seconds (5.21 k allocations: 279.125 KiB) SimilaritySearch.Dist.Angle: 0.199809 seconds SimilaritySearch.Dist.Cosine: 0.165314 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.Cosine: 0.188645 seconds Test Summary: | Pass Total Time Searching vectors | 800 800 44.9s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Seqs.CommonPrefix: 0.016943 seconds SimilaritySearch.Dist.Seqs.CommonPrefix: 0.016821 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.295442 seconds SimilaritySearch.Dist.Seqs.Levenshtein: 0.311855 seconds SimilaritySearch.Dist.Seqs.LCS: 0.287555 seconds SimilaritySearch.Dist.Seqs.LCS: 0.284800 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.040395 seconds SimilaritySearch.Dist.Seqs.Hamming: 0.045527 seconds Test Summary: | Pass Total Time Searching sequences | 400 400 16.8s [ Info: (VectorDatabase{Vector{Vector{Int64}}}, SubDatabase{VectorDatabase{Vector{Vector{Int64}}}, Vector{Int64}}) SimilaritySearch.Dist.Sets.Jaccard: 0.126895 seconds SimilaritySearch.Dist.Sets.Jaccard: 0.132983 seconds SimilaritySearch.Dist.Sets.Dice: 0.132668 seconds SimilaritySearch.Dist.Sets.Dice: 0.137405 seconds SimilaritySearch.Dist.Sets.Intersection: 0.161741 seconds SimilaritySearch.Dist.Sets.Intersection: 0.141871 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.123315 seconds SimilaritySearch.Dist.Sets.RogersTanimoto: 0.124881 seconds Test Summary: | Pass Total Time Searching on sets (ordered lists) | 400 400 22.1s SimilaritySearch.Dist.NormAngle: 0.010821 seconds (1 allocation: 16 bytes) SimilaritySearch.Dist.NormAngle: 0.009609 seconds SimilaritySearch.Dist.NormCosine: 0.002698 seconds SimilaritySearch.Dist.NormCosine: 0.007271 seconds Test Summary: | Pass Total Time Searching with angle-based distances | 200 200 15.6s SimilaritySearch.Dist.Bits.Hamming: 0.008674 seconds SimilaritySearch.Dist.Bits.Hamming: 0.008851 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.012091 seconds SimilaritySearch.Dist.Bits.RogersTanimoto: 0.014056 seconds Test Summary: | Pass Total Time Binary distances | 200 200 9.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 11.6s computing farthest point 1, dmax: Inf, imax: 19, n: 30 computing farthest point 2, dmax: 1.3366994, imax: 10, n: 30 computing farthest point 3, dmax: 0.99087435, imax: 15, n: 30 computing farthest point 4, dmax: 0.9052567, imax: 5, n: 30 computing farthest point 5, dmax: 0.88003904, imax: 1, n: 30 computing farthest point 6, dmax: 0.79732126, imax: 4, n: 30 computing farthest point 7, dmax: 0.7083496, imax: 11, n: 30 computing farthest point 8, dmax: 0.6530238, imax: 30, n: 30 computing farthest point 9, dmax: 0.6287615, imax: 7, n: 30 computing farthest point 10, dmax: 0.61315686, imax: 22, n: 30 Test Summary: | Pass Total Time farthest first traversal | 3 3 3.6s n = 10 Test Summary: | Pass Total Time AdjList | 28 28 5.7s 7.127835 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.023538 seconds SEARCH Exhaustive 2: 0.026481 seconds SEARCH Exhaustive 3: 0.031180 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-19T23:46:10.148 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-19T23:46:16.247 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] LOG add! sp=293 ep=293 n=292 BeamSearch(bsize=8, Δ=1.03, maxvisits=284) mem=1GB max-rss=1GB 2026-03-19T23:46:39.172 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=5141 ep=5141 n=5140 BeamSearch(bsize=6, Δ=0.84, maxvisits=500) mem=1GB max-rss=1GB 2026-03-19T23:46:41.172 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=10497 ep=10497 n=10496 BeamSearch(bsize=8, Δ=1.1287501, maxvisits=666) mem=1GB max-rss=1GB 2026-03-19T23:46:43.174 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=15920 ep=15920 n=15919 BeamSearch(bsize=4, Δ=0.82270247, maxvisits=518) mem=1GB max-rss=1GB 2026-03-19T23:46:45.174 LOG n.size quantiles:[6.0, 6.0, 6.0, 6.0, 6.0] LOG add! sp=20910 ep=20910 n=20909 BeamSearch(bsize=6, Δ=0.9070295, maxvisits=606) mem=1GB max-rss=1GB 2026-03-19T23:46:47.178 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=25253 ep=25253 n=25252 BeamSearch(bsize=4, Δ=0.88435376, maxvisits=522) mem=1GB max-rss=1GB 2026-03-19T23:46:49.552 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=32463 ep=32463 n=32462 BeamSearch(bsize=4, Δ=0.88435376, maxvisits=522) mem=1GB max-rss=1GB 2026-03-19T23:46:51.552 LOG n.size quantiles:[4.0, 4.0, 4.0, 4.0, 4.0] LOG add! sp=40091 ep=40091 n=40090 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:46:53.552 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=45083 ep=45083 n=45082 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:46:55.554 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=50270 ep=50270 n=50269 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:46:57.554 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=55967 ep=55967 n=55966 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:46:59.555 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=60218 ep=60218 n=60217 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:47:01.555 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=65521 ep=65521 n=65520 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:47:03.555 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=68635 ep=68635 n=68634 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:47:05.555 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=72018 ep=72018 n=72017 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:47:07.558 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=77840 ep=77840 n=77839 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:47:09.558 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=82096 ep=82096 n=82095 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:47:11.564 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=86096 ep=86096 n=86095 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:47:13.564 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=89294 ep=89294 n=89293 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:47:15.566 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=91518 ep=91518 n=91517 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:47:17.566 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=94497 ep=94497 n=94496 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:47:19.568 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=96735 ep=96735 n=96734 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:47:21.568 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=99743 ep=99743 n=99742 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:47:23.573 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 116.0] [ Info: minrecall: queries per second: 6917.334976338737, recall: 0.902375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.075, maxvisits=908)) 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, 116.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=648)), 1000, 8) [ Info: rebuild: queries per second: 4481.991220334966, recall: 0.897 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=648)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 23.0, 24.0, 26.0, 28.0, 30.0, 34.0, 55.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.82539684, maxvisits=886)), 1000, 8) 5.535286 seconds (491.07 k allocations: 29.961 MiB, 1.04% gc time, 97.85% compilation time) [ Info: matrixhints: queries per second: 3038.083340787271, recall: 0.90475 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.82539684, maxvisits=886)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 116.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-19T23:50:13.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=8, Δ=1.03, maxvisits=284) mem=1GB max-rss=1GB 2026-03-19T23:50:18.804 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=14061 ep=14061 n=14060 BeamSearch(bsize=4, Δ=0.82270247, maxvisits=518) mem=1GB max-rss=1GB 2026-03-19T23:50:20.804 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=20711 ep=20711 n=20710 BeamSearch(bsize=6, Δ=0.9070295, maxvisits=606) mem=1GB max-rss=1GB 2026-03-19T23:50:22.807 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=25035 ep=25035 n=25034 BeamSearch(bsize=6, Δ=0.9070295, maxvisits=606) mem=1GB max-rss=1GB 2026-03-19T23:50:24.809 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=31528 ep=31528 n=31527 BeamSearch(bsize=4, Δ=0.88435376, maxvisits=522) mem=1GB max-rss=1GB 2026-03-19T23:50:26.809 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=38469 ep=38469 n=38468 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:50:28.809 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=44687 ep=44687 n=44686 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:50:30.809 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=49531 ep=49531 n=49530 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:50:32.809 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=55218 ep=55218 n=55217 BeamSearch(bsize=4, Δ=1.0666667, maxvisits=642) mem=1GB max-rss=1GB 2026-03-19T23:50:34.812 LOG n.size quantiles:[12.0, 12.0, 12.0, 12.0, 12.0] LOG add! sp=60020 ep=60020 n=60019 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:50:36.813 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=65782 ep=65782 n=65781 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:50:38.816 LOG n.size quantiles:[13.0, 13.0, 13.0, 13.0, 13.0] LOG add! sp=71578 ep=71578 n=71577 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:50:40.817 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=76360 ep=76360 n=76359 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:50:42.817 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=82477 ep=82477 n=82476 BeamSearch(bsize=4, Δ=0.8390023, maxvisits=578) mem=1GB max-rss=1GB 2026-03-19T23:50:44.820 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=86037 ep=86037 n=86036 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:50:46.820 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=90822 ep=90822 n=90821 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:50:48.820 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=97590 ep=97590 n=97589 BeamSearch(bsize=11, Δ=1.08, maxvisits=896) mem=1GB max-rss=1GB 2026-03-19T23:50:50.820 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 116.0] [ Info: minrecall: queries per second: 10613.354569665247, recall: 0.902375 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.075, maxvisits=908)) 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, 116.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=648)), 1000, 8) [ Info: rebuild: queries per second: 5986.167738262526, recall: 0.897 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8666667, maxvisits=648)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 21.0, 23.0, 24.0, 26.0, 28.0, 30.0, 34.0, 55.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.82539684, maxvisits=886)), 1000, 8) 3.694426 seconds (485.27 k allocations: 29.153 MiB, 97.68% compilation time) [ Info: matrixhints: queries per second: 10176.140028896982, recall: 0.90475 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.82539684, maxvisits=886)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 9.0, 10.0, 12.0, 13.0, 15.0, 17.0, 20.0, 23.0, 30.0, 116.0] 1.136424 seconds (3 allocations: 62.586 KiB) SEARCH Exhaustive 1: 0.003322 seconds SEARCH Exhaustive 2: 0.003376 seconds SEARCH Exhaustive 3: 0.003616 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-19T23:53:09.992 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-19T23:53:12.836 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, Δ=0.9, maxvisits=258) mem=1GB max-rss=1GB 2026-03-19T23:53:33.964 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=4989 ep=4989 n=4988 BeamSearch(bsize=6, Δ=0.925, maxvisits=488) mem=1GB max-rss=1GB 2026-03-19T23:53:36.019 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=11734 ep=11734 n=11733 BeamSearch(bsize=6, Δ=0.8021349, maxvisits=536) mem=1GB max-rss=1GB 2026-03-19T23:53:38.022 LOG n.size quantiles:[7.0, 7.0, 7.0, 7.0, 7.0] LOG add! sp=17394 ep=17394 n=17393 BeamSearch(bsize=4, Δ=0.8, maxvisits=532) mem=1GB max-rss=1GB 2026-03-19T23:53:40.022 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=25253 ep=25253 n=25252 BeamSearch(bsize=6, Δ=0.9, maxvisits=662) mem=1GB max-rss=1GB 2026-03-19T23:53:42.147 LOG n.size quantiles:[8.0, 8.0, 8.0, 8.0, 8.0] LOG add! sp=31628 ep=31628 n=31627 BeamSearch(bsize=6, Δ=0.9, maxvisits=662) mem=1GB max-rss=1GB 2026-03-19T23:53:44.150 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=38411 ep=38411 n=38410 BeamSearch(bsize=4, Δ=0.7774538, maxvisits=616) mem=1GB max-rss=1GB 2026-03-19T23:53:46.150 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=47607 ep=47607 n=47606 BeamSearch(bsize=4, Δ=0.7774538, maxvisits=616) mem=1GB max-rss=1GB 2026-03-19T23:53:48.150 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=55021 ep=55021 n=55020 BeamSearch(bsize=4, Δ=0.7774538, maxvisits=616) mem=1GB max-rss=1GB 2026-03-19T23:53:50.150 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=61469 ep=61469 n=61468 BeamSearch(bsize=4, Δ=0.88, maxvisits=598) mem=1GB max-rss=1GB 2026-03-19T23:53:52.153 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] LOG add! sp=69618 ep=69618 n=69617 BeamSearch(bsize=4, Δ=0.88, maxvisits=598) mem=1GB max-rss=1GB 2026-03-19T23:53:54.153 LOG n.size quantiles:[5.0, 5.0, 5.0, 5.0, 5.0] LOG add! sp=77404 ep=77404 n=77403 BeamSearch(bsize=4, Δ=0.88, maxvisits=598) mem=1GB max-rss=1GB 2026-03-19T23:53:56.154 LOG n.size quantiles:[10.0, 10.0, 10.0, 10.0, 10.0] LOG add! sp=85183 ep=85183 n=85182 BeamSearch(bsize=4, Δ=0.88, maxvisits=598) mem=1GB max-rss=1GB 2026-03-19T23:53:58.154 LOG n.size quantiles:[9.0, 9.0, 9.0, 9.0, 9.0] LOG add! sp=92982 ep=92982 n=92981 BeamSearch(bsize=4, Δ=0.92517006, maxvisits=624) mem=1GB max-rss=1GB 2026-03-19T23:54:00.154 LOG n.size quantiles:[11.0, 11.0, 11.0, 11.0, 11.0] (length(graph.adj), length(graph), length(B.db)) = (100000, 100000, 100000) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 11.0, 13.0, 14.0, 17.0, 19.0, 23.0, 30.0, 115.0] [ Info: minrecall: queries per second: 6218.786665966183, recall: 0.90075 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.83809525, maxvisits=828)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 11.0, 13.0, 14.0, 17.0, 19.0, 23.0, 30.0, 115.0] [ Info: ===================== rebuild ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.1, maxvisits=742)), 1000, 8) [ Info: rebuild: queries per second: 7320.051056770517, recall: 0.90825 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=2, Δ=1.1, maxvisits=742)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [4.0, 16.0, 19.0, 20.0, 22.0, 24.0, 25.0, 27.0, 30.0, 33.0, 55.0] [ Info: ===================== matrixhints ============================== (graph.algo, length(B.queries), B.ksearch) = (Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8526077, maxvisits=844)), 1000, 8) 4.485301 seconds (429.88 k allocations: 26.181 MiB, 98.47% compilation time) [ Info: matrixhints: queries per second: 13907.597311527927, recall: 0.9055 graph.algo = Base.RefValue{BeamSearch}(BeamSearch(bsize=4, Δ=0.8526077, maxvisits=844)) quantile(neighbors_length.(Ref(graph.adj), 1:length(graph)), 0:0.1:1.0) = [2.0, 8.0, 10.0, 11.0, 13.0, 14.0, 17.0, 19.0, 23.0, 30.0, 115.0] Test Summary: | Pass Total Time vector indexing with SearchGraph | 27 27 10m40.2s [ Info: neardup> starting: 1:100, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:06.356 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-19T23:56:06.739 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-19T23:56:09.817 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:09.818 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000005, 0x00000007, 0x0000000a, 0x0000000e, 0x00000013, 0x00000015, 0x00000017, 0x00000018] D.nn = Int32[1, 2, 2, 4, 5, 2, 7, 7, 7, 10, 2, 2, 7, 14, 7, 7, 10, 2, 19, 5, 21, 10, 23, 24, 5, 10, 10, 2, 21, 10, 21, 4, 7, 21, 4, 7, 10, 21, 2, 24, 2, 4, 2, 5, 7, 23, 24, 24, 4, 21, 2, 21, 2, 7, 10, 2, 24, 24, 23, 7, 21, 7, 24, 7, 7, 21, 23, 7, 7, 2, 23, 23, 21, 1, 23, 21, 7, 2, 7, 21, 19, 2, 14, 21, 24, 2, 7, 23, 7, 24, 21, 7, 4, 5, 2, 5, 19, 5, 7, 4] D.dist = Float32[0.0, 0.0, 0.032835424, 0.0, 0.0, 0.02462709, 0.0, 0.039658725, 0.08558321, 0.0, 0.0716058, 0.046598554, 0.021978796, 0.0, 0.08384812, 0.09688038, 0.023380637, 0.071314275, 0.0, 0.022849739, 0.0, 0.081578255, 0.0, 0.0, 0.033707798, 0.049595773, 0.014346302, 0.0386768, 0.05187714, 0.046931863, 0.049286842, 0.008600652, 0.03815496, 0.026142776, 0.034608066, 0.030224621, 0.008104563, 0.019192874, 0.018136919, 0.08808839, 0.03900045, 0.061057627, 0.036903024, 0.055128217, 0.017651558, 0.0289613, 0.0071306825, 0.03777963, 0.025390148, 0.039243817, 0.013664067, 0.020620346, 0.03259313, 0.035226822, 0.028555214, 0.020163894, 0.074873626, 0.014916778, 0.016571939, 0.02796185, 0.06774765, 0.009444773, 0.017469645, 0.03916967, 0.02734673, 0.083634555, 0.006569624, 0.08280599, 0.067979455, 0.025685608, 0.047985375, 0.03192967, 0.08014208, 0.05414039, 0.013660073, 0.032976747, 0.03722012, 0.02015829, 0.033094466, 0.04106289, 0.07794392, 0.05544871, 0.044177532, 0.018144965, 0.059656322, 0.025885105, 0.07332063, 0.021732032, 0.028093576, 0.026223302, 0.054317772, 0.0089944005, 0.025323093, 0.02073735, 0.017499268, 0.08658069, 0.048465014, 0.015040517, 0.056775212, 0.03995192] Test Summary: | Pass Total Time neardup single block | 3 3 35.8s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.436 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-19T23:56:11.436 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-19T23:56:11.437 [ Info: neardup> range: 33:48, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.437 [ Info: neardup> range: 49:64, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.437 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.437 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.437 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.437 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.437 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000005, 0x00000007, 0x0000000a, 0x0000000e, 0x00000013, 0x00000015, 0x00000017, 0x00000018] D.nn = Int32[1, 2, 2, 4, 5, 2, 7, 7, 7, 10, 2, 2, 7, 14, 7, 7, 10, 2, 19, 5, 21, 10, 23, 24, 5, 10, 10, 2, 4, 10, 4, 4, 7, 21, 4, 7, 10, 21, 2, 24, 2, 4, 2, 5, 7, 23, 24, 24, 4, 21, 2, 21, 2, 7, 10, 2, 24, 24, 23, 7, 21, 7, 24, 7, 7, 21, 23, 7, 7, 2, 23, 23, 21, 1, 23, 21, 7, 2, 7, 21, 19, 2, 14, 21, 24, 2, 7, 23, 7, 24, 21, 7, 4, 5, 2, 5, 19, 5, 7, 4] D.dist = Float32[0.0, 0.0, 0.032835424, 0.0, 0.0, 0.02462709, 0.0, 0.039658725, 0.08558321, 0.0, 0.0716058, 0.046598554, 0.021978796, 0.0, 0.08384812, 0.09688038, 0.023380637, 0.071314275, 0.0, 0.022849739, 0.0, 0.081578255, 0.0, 0.0, 0.033707798, 0.049595773, 0.014346302, 0.0386768, 0.05980456, 0.046931863, 0.05399269, 0.008600652, 0.03815496, 0.026142776, 0.034608066, 0.030224621, 0.008104563, 0.019192874, 0.018136919, 0.08808839, 0.03900045, 0.061057627, 0.036903024, 0.055128217, 0.017651558, 0.0289613, 0.0071306825, 0.03777963, 0.025390148, 0.039243817, 0.013664067, 0.020620346, 0.03259313, 0.035226822, 0.028555214, 0.020163894, 0.074873626, 0.014916778, 0.016571939, 0.02796185, 0.06774765, 0.009444773, 0.017469645, 0.03916967, 0.02734673, 0.083634555, 0.006569624, 0.08280599, 0.067979455, 0.025685608, 0.047985375, 0.03192967, 0.08014208, 0.05414039, 0.013660073, 0.032976747, 0.03722012, 0.02015829, 0.033094466, 0.04106289, 0.07794392, 0.05544871, 0.044177532, 0.018144965, 0.059656322, 0.025885105, 0.07332063, 0.021732032, 0.028093576, 0.026223302, 0.054317772, 0.0089944005, 0.025323093, 0.02073735, 0.017499268, 0.08658069, 0.048465014, 0.015040517, 0.056775212, 0.03995192] Test Summary: | Pass Total Time neardup small block | 3 3 0.2s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.752 LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-19T23:56:11.752 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-19T23:56:11.753 [ Info: neardup> range: 33:48, current elements: 16, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.753 [ Info: neardup> range: 49:64, current elements: 17, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.753 [ Info: neardup> range: 65:80, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.753 [ Info: neardup> range: 81:96, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.753 [ Info: neardup> range: 97:100, current elements: 18, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.753 [ Info: neardup> finished current elements: 19, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:11.753 D.map = UInt32[0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000028, 0x00000039, 0x00000061] D.nn = Int32[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 10, 2, 11, 5, 16, 10, 8, 15, 5, 10, 9, 12, 13, 10, 4, 4, 15, 12, 4, 7, 10, 16, 2, 40, 2, 4, 2, 5, 7, 9, 15, 15, 12, 16, 6, 16, 2, 7, 10, 3, 57, 40, 8, 15, 15, 7, 10, 7, 7, 16, 9, 16, 7, 3, 9, 8, 16, 1, 8, 16, 13, 2, 13, 16, 11, 6, 14, 16, 15, 2, 7, 9, 13, 15, 15, 7, 4, 5, 2, 5, 97, 5, 9, 4] 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.023380637, 0.071314275, 0.09115571, 0.022849739, 0.017823815, 0.081578255, 0.025906444, 0.03557104, 0.033707798, 0.049595773, 0.013597608, 0.014686763, 0.03744483, 0.046931863, 0.05399269, 0.008600652, 0.011039913, 0.037972867, 0.034608066, 0.030224621, 0.008104563, 0.059360802, 0.018136919, 0.0, 0.03900045, 0.061057627, 0.036903024, 0.055128217, 0.017651558, 0.05528581, 0.07176036, 0.016348958, 0.01437521, 0.0049602985, 0.0034014583, 0.057408094, 0.03259313, 0.035226822, 0.028555214, 0.012420118, 0.0, 0.07642949, 0.0042586327, 0.027895153, 0.0178774, 0.009444773, 0.07420641, 0.03916967, 0.02734673, 0.059330046, 0.019798934, 0.07799691, 0.067979455, 0.013015747, 0.054186523, 0.062889695, 0.029000342, 0.05414039, 0.008026361, 0.011157811, 0.0056030154, 0.02015829, 0.02241993, 0.0059999228, 0.026853144, 0.044140995, 0.044177532, 0.0048964024, 0.026886046, 0.025885105, 0.07332063, 0.014000297, 0.0008555651, 0.011870742, 0.0070032477, 0.0089944005, 0.025323093, 0.02073735, 0.017499268, 0.08658069, 0.0, 0.015040517, 0.03597766, 0.03995192] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 0.3s [ Info: neardup> starting: 1:16, current elements: 0, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.950 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=737 2026-03-19T23:56:38.953 [ Info: neardup> range: 17:32, current elements: 7, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.968 [ Info: neardup> range: 33:48, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.969 [ Info: neardup> range: 49:64, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.969 [ Info: neardup> range: 65:80, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.969 [ Info: neardup> range: 81:96, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.970 [ Info: neardup> range: 97:100, current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.970 [ Info: neardup> finished current elements: 11, n: 100, ϵ: 0.1, timestamp: 2026-03-19T23:56:38.971 D.map = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000005, 0x00000007, 0x0000000a, 0x0000000e, 0x00000013, 0x00000015, 0x00000017, 0x00000018] D.nn = Int32[1, 2, 2, 4, 5, 2, 7, 7, 7, 10, 2, 2, 7, 14, 7, 7, 10, 2, 19, 5, 21, 10, 23, 24, 5, 10, 10, 2, 4, 10, 4, 4, 7, 21, 4, 7, 10, 21, 2, 24, 2, 4, 2, 5, 7, 23, 24, 24, 4, 21, 2, 21, 2, 7, 10, 2, 24, 24, 23, 7, 21, 7, 24, 7, 7, 21, 23, 7, 7, 2, 23, 23, 21, 1, 23, 21, 7, 2, 7, 21, 19, 2, 14, 21, 24, 2, 7, 23, 7, 24, 21, 7, 4, 5, 2, 5, 19, 5, 7, 4] D.dist = Float32[0.0, 0.0, 0.032835424, 0.0, 0.0, 0.02462709, 0.0, 0.039658725, 0.08558321, 0.0, 0.0716058, 0.046598554, 0.021978796, 0.0, 0.08384812, 0.09688038, 0.023380637, 0.071314275, 0.0, 0.022849739, 0.0, 0.081578255, 0.0, 0.0, 0.033707798, 0.049595773, 0.014346302, 0.0386768, 0.05980456, 0.046931863, 0.05399269, 0.008600652, 0.03815496, 0.026142776, 0.034608066, 0.030224621, 0.008104563, 0.019192874, 0.018136919, 0.08808839, 0.03900045, 0.061057627, 0.036903024, 0.055128217, 0.017651558, 0.0289613, 0.0071306825, 0.03777963, 0.025390148, 0.039243817, 0.013664067, 0.020620346, 0.03259313, 0.035226822, 0.028555214, 0.020163894, 0.074873626, 0.014916778, 0.016571939, 0.02796185, 0.06774765, 0.009444773, 0.017469645, 0.03916967, 0.02734673, 0.083634555, 0.006569624, 0.08280599, 0.067979455, 0.025685608, 0.047985375, 0.03192967, 0.08014208, 0.05414039, 0.013660073, 0.032976747, 0.03722012, 0.02015829, 0.033094466, 0.04106289, 0.07794392, 0.05544871, 0.044177532, 0.018144965, 0.059656322, 0.025885105, 0.07332063, 0.021732032, 0.028093576, 0.026223302, 0.054317772, 0.0089944005, 0.025323093, 0.02073735, 0.017499268, 0.08658069, 0.048465014, 0.015040517, 0.056775212, 0.03995192] Test Summary: | Pass Total Time neardup small block with filterblocks=false | 3 3 27.3s ExhaustiveSearch allknn: 3.095915 seconds (470.28 k allocations: 27.940 MiB, 4.75% gc time, 99.96% 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.10669096559286118, 0.19371268525719643, 0.21553191542625427, 0.26552068442106247, 0.4034078121185303] [ Info: All KNN quartile 3-th: [ Info: 3 => [0.151949942111969, 0.23954803496599197, 0.2755018323659897, 0.3195919021964073, 0.4519224464893341] [ Info: All KNN quartile 4-th: [ Info: 4 => [0.2242334485054016, 0.2735023498535156, 0.3168385177850723, 0.35398080945014954, 0.47834792733192444] [ Info: All KNN quartile 5-th: [ Info: 5 => [0.23816817998886108, 0.3020035997033119, 0.34553101658821106, 0.3836829587817192, 0.5166325569152832] [ Info: All KNN quartile 6-th: [ Info: 6 => [0.24619360268115997, 0.3262392356991768, 0.3704633265733719, 0.41576681286096573, 0.6069881319999695] LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-19T23:56:57.908 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-19T23:57:01.529 LOG n.size quantiles:[1.0, 1.0, 1.0, 1.0, 1.0] SearchGraph allknn: 7.175999 seconds (607.62 k allocations: 38.334 MiB, 99.99% compilation time) recall = 0.9583333333333331 recall > 0.8 = true recall = 0.9583333333333331 quantile(neighbors_length.(Ref(G.adj), 1:length(G)), 0:0.25:1) = [1.0, 4.0, 6.0, 8.25, 19.0] Test Summary: | Pass Total Time allknn | 3 3 44.7s LOG add! sp=1 ep=1 n=0 BeamSearch(bsize=4, Δ=1.0, maxvisits=1000000) mem=1GB max-rss=1GB 2026-03-19T23:57:31.773 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-19T23:57:36.028 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, Δ=0.91, maxvisits=158) mem=1GB max-rss=1GB 2026-03-19T23:57:57.937 LOG n.size quantiles:[2.0, 2.0, 2.0, 2.0, 2.0] (i, j, d) = (1, 204, -1.1920929f-7) (i, j, d, :parallel) = (3, 63, -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 => 37.758933975, :exact => 1.340885131) Test Summary: | Pass Total Time closestpair | 4 4 40.0s Testing SimilaritySearch tests passed Testing completed after 596.98s PkgEval succeeded after 1132.04s