JuliaLang/julia

`allunique(::String)` performance anomaly

Open

#50.360 aperta il 29 giu 2023

Vedi su GitHub
 (17 commenti) (0 reazioni) (0 assegnatari)Julia (5773 fork)batch import
good first issueperformancestrings

Metriche repository

Star
 (48.709 star)
Metriche merge PR
 (Merge medio 20g 6h) (157 PR mergiate in 30 g)

Descrizione

It seems that allunique is not short-circuiting efficiently for strings

julia> VERSION
v"1.10.0-DEV.1604"

julia> using Random

julia> using BenchmarkTools

julia> s=randstring(100000);

julia> @btime allunique(s)
  140.850 μs (7 allocations: 848 bytes)
false

julia> @btime allunique(s[1:100]) && allunique(s)
  575.746 ns (8 allocations: 968 bytes)
false

140 μs >> 575 ns

Guida contributor