Hi,

In Dr. Geo I rely a lot on hash value for the geometric object. It
largely improves speed up to compare geometric items (to avoid
duplicated items). For example to detect when the user is building an
already created object.

Also when describing geometric sketch with Smalltalk code, hundred or
thousand of geometric items are created. The hash value speeds up
equality check (otherwise true comparing is iterative in the geometric
sketch tree and it slow down)

But sometime hash collisions occur. I guess in that case, DrGeo should
do the real equality check, or may be I am overusing the hash? I am
interested on advices. As for now I am doing nothing special.

Here is an annoying hash collision with Pharo 3/ Pharo 5 I think should
not occur:

(0.5@0.25) hash
         67006464
(-0.5@0.25) hash
        67006464


Squeak5.0 does not have this collision.

It looks related to the Float hash implementation a bit different.

What do you think?

Hilaire

-- 
Dr. Geo
http://drgeo.eu


Reply via email to