Magma benchmarks with different MaDictionaries comparison

Chris Muller asqueaker at gmail.com
Thu Sep 13 02:23:40 UTC 2007


Hi Florian, I had some time to explore this on my Linux machine.
Although I was not able to reproduce the empty file problem, running
the test cases through did snag very strangely the first couple of
times; in different places!

In both cases, the whatever failure occurred was immediately
invisible.  For example, the first case was in
MagmaCollectionTester>>#verifyOrder:against:.  In there we have:

	self assert: aMagmaCollectionReader size = aSortedCollection size.

which failed but when I immediately printed the sizes, they matched!
I restarted that method, proceed the debugger and the tests finished
through to completion.

Not satisfied, I ran them again.  This time it failed in a similar
way; the debugger appeared during a restore test because
MaRecoveryRecord>>#hasValidCheckSum answered false.  Upon immediately
comparing "self calculatedCheckSum = self checkSum" they were equal!
So I once again proceeded the test and they all ran through to
completion.

In each case there was just the one failure and, in each case, my
common "hunch" was something like:  "Maybe with Linux a separate
readStream (different file-handle) only gets the physical (unflushed)
contents of the file.  This reminded me that #flushAggressively is set
to false by default.  It really should be true but I was always afraid
of poor performance.

Well, it doesn't hurt performance that much, taking my peak commit
rate on that (slow) laptop from 19.9 per second to 19.8 per second.
And, alas, by defaulting it to true all the test cases ran through,
start to finish, without a single interruption on Linux.

So I've posted this update as r40gamma6 on Magma Tester.  Please give
it a try.  Also, make sure you have some of those recent fixes from
Andreas; the Delay and Semaphore fixes.  I don't know whether they
make a difference for what you're experiencing, but they could, and I
have them and didn't experience what you did.

Thanks,
 Chris


On 9/10/07, Florian Minjat <florian.minjat at emn.fr> wrote:
> Chris Muller wrote:
> > Hi Florian, thanks for trying the latest version.  I just posted a new
> > version, 1.0r40gamma4 which, along with the suggestions below, should
> > address (hopefully all) of your issues.
> >
> >> - I wanted to run it under linux but it doesn't want to, looking for a
> >> 'squeak.exe' intead of 'squeak'.
> >
> > I changed that to "SmalltalkImage current getSystemAttribute: 0".
> > Does that work for you on your Linux?
>
> No it didn't.
> I used this in MaNetworkTestCase class>>launchImageNamed: "(Smalltalk
> classNamed: #OSProcess) command: self executableName, ' ' ,
> (SmalltalkImage current imagePath), FileDirectory slash , imageName"
>
> And in MaNetworkTestCase class>>executableName : "OSProcess programName"
> It should be platform independent but I can't test under windows until
> tomorrow.
>
> >> - I got an error EmptyStream during SecureHashAlgorithm>>hashStream:
> >> with MultiByteFileStream: 'c:\temp\Magma\objects.5.idx' as argument on
> >> the _magmaTestServer. The _testConductor image shows 'remote
> >> performing  captureFileChecksumsWithCopy: with arguments #(false) in
> >> server'. The file size is 0 octet so I don't know what the hash is
> >> suppose to answer on this one.
> >> I modified the
> >> MagmaTestCase>>fileChecksums method to put 0 in the answer if the file
> >> is empty (file atEnd).
> >
> > Please expect the tests to run from start to finish without any
> > problems.  If they don't, there's  a problem and what you are doing is
> > simply trying to hide a problem with the test that shouldn't have
> > occurred in the first place.  When you have as many problems as you
> > had getting this far, it's very likely this was caused by a previous
> > problem.  You should focus on getting a clean run before trying to
> > "fix" potential non-problems.
>
> Same error on the same empty file. And the test was fine from the start.
>
> Florian
> _______________________________________________
> Magma mailing list
> Magma at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>


More information about the Magma mailing list