Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0001382 [Squeak] System minor always 06-28-05 00:59 08-24-05 13:04
Reporter chris View Status public  
Assigned To
Priority normal Resolution fixed  
Status closed   Product Version 3.8
Summary 0001382: 3.8 performance regression - ByteSymbol>>#hash
Description Magma's peak commit rate in 3.8 dropped from 24 per second in 3.7 to 18 per second in 3.8. I traced the cause of this problem to ByteSymbol>>#hash. Because of the new String hierarchy to support Multi-byte Strings, it is no longer benefitting from the primitive for calculating its hash that used to be in String>>#stringHash:initialHash:. It was moved to ByteString but not to ByteSymbol so now, ByteSymbol is inheriting the slow one from String which, per the comment, works for WideStrings too.

This fix simply restores the method with the primitive call that regular [Byte]Symbols have always benefitted from.
Additional Information
Attached Files  ByteSymbol class-stringHashinitialHash.st [^] (738 bytes) 06-28-05 00:59
 SymbolPrims-ar.1.cs [^] (1,067 bytes) 08-19-05 00:00

- Relationships

- Notes
(0001742 - 15 - 15 - 15 - 15 - 15 - 15)
MarcusDenker
07-12-05 19:46

fix is attached
 
(0001743 - 27 - 27 - 27 - 27 - 27 - 27)
MarcusDenker
07-12-05 19:47

commited to 3.9a repository
 
(0002425 - 271 - 271 - 271 - 271 - 271 - 271)
andreas
08-18-05 23:59

Reopened. The proposed fix is a needless duplication of code and only address one out of the four primitives affected. Attached is a change set that simply delegates all four primitives from ByteSymbol to ByteString therefore leaving the implementation in a single place.
 
(0002495 - 15 - 15 - 15 - 15 - 15 - 15)
chris
08-23-05 04:48

Thanks Andreas.
 
(0002496 - 16 - 16 - 16 - 16 - 16 - 16)
chris
08-23-05 04:52

Thanks Andreas..
 
(0002520 - 12 - 12 - 12 - 12 - 12 - 12)
MarcusDenker
08-24-05 13:01

added to 3.9
 

- Issue History
Date Modified Username Field Change
06-28-05 00:59 chris New Issue
06-28-05 00:59 chris File Added: ByteSymbol class-stringHashinitialHash.st
06-28-05 01:01 chris Issue Monitored: chris
07-12-05 19:46 MarcusDenker Status new => resolved
07-12-05 19:46 MarcusDenker Resolution open => fixed
07-12-05 19:46 MarcusDenker Assigned To  => MarcusDenker
07-12-05 19:46 MarcusDenker Note Added: 0001742
07-12-05 19:46 MarcusDenker Assigned To MarcusDenker =>
07-12-05 19:47 MarcusDenker Status resolved => closed
07-12-05 19:47 MarcusDenker Note Added: 0001743
08-18-05 23:59 andreas Status closed => feedback
08-18-05 23:59 andreas Resolution fixed => reopened
08-18-05 23:59 andreas Note Added: 0002425
08-19-05 00:00 andreas Resolution reopened => fixed
08-19-05 00:00 andreas File Added: SymbolPrims-ar.1.cs
08-23-05 04:48 chris Note Added: 0002495
08-23-05 04:52 chris Note Added: 0002496
08-24-05 13:01 MarcusDenker Status feedback => closed
08-24-05 13:01 MarcusDenker Note Added: 0002520
08-24-05 13:04 MarcusDenker Fixed in Version  => 3.9


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
69 total queries executed.
42 unique queries executed.
Powered by Mantis Bugtracker