[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] faster sets project
From: |
Ralph Boland |
Subject: |
[Help-smalltalk] faster sets project |
Date: |
Tue, 14 Jul 2009 09:08:37 -0600 |
I recently released a project called FasterSets into the Squeak repository and
am trying to get it incorporated into the Squeak (and Pharo) base image.
Pharo looks like a go; Squeak seems to move a little slower.
Meanwhile, my long term plan is to get FasterSets incorporated into all versions
of Smaltalk that I can, including of course, GNU Smalltalk; hence this posting.
The Idea behind FasterSets is to not do any element compares during a Set
(or any of its subclasses) grow operation; since during a grow operation
we know all the elements being added to the set are not already there and
so no compares are needed. In Squeak this modification results in a reduction
in the average number of element compares during an add: operation of
around 14% (min 7% max 21%).
I see 4 scenarios:
1) GNU Smalltalk does not want FasterSets. FasterSets affects low level
methods in class Set and its subclasses and can break user classes that
are subclasses of Set and which override these same low level methods.
(In Pharo FasterSets was tested against a number of packages including
Seaside without problems.)
2) In GNU Smalltalk Sets already work this way so there is no need
for FasterSets.
3) FasterSets is a great idea. But we want a GNU Smalltalk guru to implement
this idea from scratch. It is a simple idea after all. Thanks
for the idea though.
4) FasterSets is a great idea. The originator (me) will create a
project in GNU
Smalltalk containing the code. Note that the version of FasterSets
to be incorporated into Squeak/Pharo will be under the MIT license but the
version for GNU Smalltalk will be under the GNU license.
As the creator of the software I can create different licenses
for different
versions. I will need to sign the GNU Smalltalk release form.
Since I have
never used GNU Smalltalk some help with testing project releases will be
helpful. Someone else will do the final integration into GNU Smalltalk
once the project is released.
This will be a great way for me to become familiar with GNU Smalltalk.
I look forward to feedback.
Ralph Boland
- [Help-smalltalk] faster sets project,
Ralph Boland <=