String>>hash performance

Stephan Rudlof squeak-dev at lists.squeakfoundation.org
Tue Sep 3 11:42:25 UTC 2002


Some strange and some not strange things here...

Richard A. O'Keefe wrote:
> 	Try
> 	  Smalltalk listLoadedModules
> 	*after* a call to the plugin.
> 	
> In a workspace:
>     'foobar' hash <PrintIt>
> ==> 211347526
>     Smalltalk listLoadedModules <PrintIt>
> ==> #('B2DPlugin 32 May 2001 (i)'

Strange: 32 May?

>       'FloatArrayPluging 20 May 2001 (i)'
>       'Matrix2x3Plugin 30 May 2001 (i)'
>       'BitBltPlugin 30 May 2001 (i)'
>       'SecurityPlugin 30 May 2001 (i)'
>       'LargIntegers v1.2 30 May 2001 (i)'
>       'FilePlugin 30 May 2001 (i)'
>       'MiscPrimitivePlugin 30 May 2001 (i)'
>     )
> 
> String class>>stringHash:initialHash: starts with
> 
>     <primitive: 'primitiveStringHash' module: 'MiscPrimitivePlugin'>
> 
> so the plugin is there.
> 
> 	> How do I check whether it has this method or not?
> 	
> 	In the method calling the prim you could place a
> 	  self error: 'not called'
> 	after the prim call. If the prim call works (since the plugin is reachable),
> 	the error line won't be reached.
> 	
> Adding 'self halt.' after the <primitive: > line and typing Cmd-s
> results in an unresponsive Squeak.  Thank goodness File|Quit works.

Not strange:
Oh, it'd have been better to say, 'Try this with a copy of the hash
method!': if you change it *there* all string hashes are not working
anymore, so the result doesn't surprise me.

> 
> Adding 'Transcript print: stringSize; endEntry.' after the assignment
> to stringSize results in a never-ending series of 9s appearing on the
> Transcript.

Dito.

> 
> So the module IS loaded but the primitive is NOT being used.

Very strange. On which platform do you work?

The next question would be (after knowing the platform): Could anybody with
the same VM prove the result?
If this should be a common problem with the official distribution, many
people should have some performance drawbacks...

> 
> I note that MiscPrimitivePlugin is dated 2001.05.30, but the
> String class>>stringHash:initialHash: method is dated 2001.09.28.

Does anybody know, what has changed there?

> 
> It looks like the Squeak 3.2 I downloaded from the usual site didn't
> have an up to date MiscPrimitivePlugin.

Seems to be the logical consequence, but is strange.

> 
> Someone else will have to fix this; I don't understand plugins at all.

Don't worry.


Greetings,

Stephan

> 
> 
> 


-- 
Stephan Rudlof (sr at evolgo.de)
   "Genius doesn't work on an assembly line basis.
    You can't simply say, 'Today I will be brilliant.'"
    -- Kirk, "The Ultimate Computer", stardate 4731.3




More information about the Squeak-dev mailing list