[squeak-dev] WideString hash is way slower than ByteString hash.

Igor Stasenko siguctua at gmail.com
Fri May 14 22:26:18 UTC 2010


added implementation into examples package:
http://www.squeaksource.com/NativeBoost/NativeBoost-Examples-Igor.Stasenko.1.mcz

On 15 May 2010 01:14, Igor Stasenko <siguctua at gmail.com> wrote:
> I implemented WideString hash in NB.
>
> |s|
> s := WideString with: (Character value: 16r55E4).
> [100000000 timesRepeat: [s hash]] timeToRun. 155718
>
>
> |s|
> s := WideString with: (Character value: 16r55E4).
> [100000000 timesRepeat: [s nbHash]] timeToRun.  81231
>
> Which makes me think, that we're benching the outer loop, rather then
> hash function itself :)
>
> So, here is more appropriate , i think:
>
> |s t1 t2 |
> s := (WideString with: (Character value: 16r55E4)) , 'abcdefghijklmno'.
> 10 timesRepeat: [ s := s , s ].
> self assert: (s hash = s nbHash).
> t1 := [1000 timesRepeat: [s hash]] timeToRun.
> t2 := [1000 timesRepeat: [s nbHash]] timeToRun.
>
> { t1. t2 }
>  #(11479 134)
>
> ~ 85x faster :)
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list