On Tuesday, March 4, 2014 12:41:17 PM UTC-5, Ivar Nesje wrote:
>
> Part of the advantage is also possible by just declaring the type of your
> container.
>
> *counts=Dict{SubString{ASCIIString},Int}()*
>
That speeds it up by about 20% on my machine. I get another 25% speedup,
bringing it close to the Python speed overall, by adding:
import Base.hash
hash{T<:ByteString}(s::SubString{T}) = ccall(:memhash, Uint64, (Ptr{Void},
Int), pointer(s), sizeof(s))
so that hashing a SubString does not make a copy of the string (requiring a
memory allocation/deallocation). We should probably fix this in Base.