The stress test runs all the test classes in the system then compiles the top ten methods from each class then reruns it. That should be a reasonable test to show that Exupery is reliable enough to play with. This is the SqueakSource version not the released SqueakMap version which is buggy.
Congratulations Bryce on this great work (in progress), and thanks too. The idea of a significant speed increase "for free" is very exciting to me. After reading the pages at http://www.kampjes.demon.co.uk/ it's evident the complexity involved to achieve this is staggering.
I would like to get a whiff of it; I have some indexing stuff that spends most of its time doing Integer (including LargePositiveInteger) arithmetic, encapsulated into four or five methods. I am very curious to run my test case in an Exupery-loaded image.
Does it work in Windoze at the moment? Sorry, I did not find install / operational details on the site. I did load the SqueakSource version 113 but did not see any improvement in 0 tinyBenchmarks so I didn't bother with my indexing test..
- Chris
Chris Muller writes:
Congratulations Bryce on this great work (in progress), and thanks too. The idea of a significant speed increase "for free" is very exciting to me. After reading the pages at http://www.kampjes.demon.co.uk/ it's evident the complexity involved to achieve this is staggering.
I've moved most of my current documentation over to the swiki. The stuff on my homepage is rather dated now.
http://minnow.cc.gatech.edu/squeak/Exupery
There's instruction on both building using a premade VM and from source.
I would like to get a whiff of it; I have some indexing stuff that spends most of its time doing Integer (including LargePositiveInteger) arithmetic, encapsulated into four or five methods. I am very curious to run my test case in an Exupery-loaded image.
If you tell me how to run the test easily in a profiler I could have a look.
Does it work in Windoze at the moment? Sorry, I did not find install / operational details on the site. I did load the SqueakSource version 113 but did not see any improvement in 0 tinyBenchmarks so I didn't bother with my indexing test..
Exupery only works on Linux/x86 at the moment. However a Windows port should be fairly easy. With luck it would just involve building an Exupery VM for windows. Without luck it would involve dealing with a different C calling convention. Either way it should be the one of the easiest ports. Any volunteers?
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?
Bryce
If you tell me how to run the test easily in a profiler I could have a look.
Load Magma tester from SqueakSource.
MCHttpRepository location: 'http://kilana.unibe.ch:8888/MagmaTester' user: '' password: ''
Here's a test script to try:
| 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 ]
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
These tests run longer; a few minutes, but produce a nice report detailing read rate, commit rate, etc. It will prompt for details about your hardware which it puts at the top of the report.
These tests exercise a lot of Squeak code, if Exupery can get through them it would seem promising in terms of its stability. Note this last test will open a socket which is connected to by another socket in the same image, exercising all the serialization code.
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?
Thanks, Chris
On 11/6/05, Chris Muller chris@funkyobjects.org wrote:
I'm still stuck with MS on both computers due to work constraints. Sorry.
I'll be more than happy to send you a Linux image, all you need to do is add VMware Player ;)
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
exupery@lists.squeakfoundation.org