Chris Muller writes:
| hdx startKey | hdx := MaHashIndex createNamed: '_testHdx' keySize: 128 valueSize: 48 recordSize: 32. startKey := 2 raisedTo: 127. "let's test with big numbers.." [ Time millisecondsToRun: [ startKey to: startKey + 10000 do: [ : x | hdx add: 0 at: x ] ] ] ensure: [ hdx close ]
I tried this. At the moment, I'd say Exupery needs three more things to perform well for it: * Super sends. (not too hard) * #new (for creating the large integers) * large integer support.
Super sends and #new support are on my current short list.
Note this creates a file named '_testHdx' in the current directory. This is a medium test, 52 seconds on my computer.
If you have a few minutes, it'd be real cool to see how well Magma itself would benefit from Exupery:
MagmaBenchmarker runLocalBaseline: false
and even one more if there's time:
MagmaBenchmarker runRemoteBaseline: false
I'll have a look. Thanks for the pointers.
It's still a bit early to expect Exupery to speed up real production code. But, I'm definitely interested in investigating what it would take to speed up different things. Figuring out what the minimal amount that needs to be done before Exupery's useful is important.
Using the latest from SqueakSource is very sensible but it will require building a VM from source. I could throw a current prebuilt VM up on the web though. Could you try this on Linux?
I'm still stuck with MS on both computers due to work constraints. Sorry.
Are you planning for Exupery to be supported on all platforms?
I would like to see Exupery widely ported. But I would also like other people do do some of the ports. If Exupery is to be included in Squeak then other people need to understand the code besides me.
Bryce