MC in basic

Hannes Hirzel hirzel at spw.unizh.ch
Mon Dec 13 10:16:51 UTC 2004


Thank you Andreas

for providing the statistics of the number of classes and methods 
together with your explanations.

They help to focus the discussion.

Andreas Raab wrote:
> Tim wrote:
> 
>>> b) I don't like the idea of MC in the base image.
>>
>> What's your reasoning here? Do you not like MC, or is it too much code
>> to add, or do you have hopes for a different system to be emplaced
>> or.... ?
> 
> 
> The mere fact of dumping all of the stuff into "basic" is what I don't 
> like.
> It has nothing to with MC - just that we're going back right to where we
> started. Let's see:
> 
> Version    # of classes         # of methods
> 3.5              1811                 41444
> 3.6-basic        1338                 33303
> 3.7-basic        1544                 35548
> 3.8-basic        1652                 37703
> 3.9-basic        1700                 38861
> 
> Raise your hands if you see a pattern. If we add Monticello we get:
> 
> 3.9-basic+MC     1825                 40434

The pattern is that even the basic image grows in terms of number of 
classes.


 > Finally we're on par with 3.5 again - which coincidentally was the 
version
 > of Squeak where people complained bitterly about all the excess baggage
 > that
 > SqC had put into Squeak.

Not yet, fortunately.

You have to substract the number of classes which belong to testcases.
The test cases are a quality assurance and docmentation aid in fact and 
do not really add to the complexity (actually they clarify things).

In 3.8 we have

TestCase allSubclasses size

evaluating to
146


So we have in fact only 1652 -146 = 1506 classes in 3.8gamma
complexitiy wise.

The test cases actually help to understand the system. I have to say 
that running the 1400 or so tests in a 3.8 image (together with my own 
tests) gives me assurance to trust to moving to 3.8.

So in comparison to 3.5 we have a much better situation ;-)

  Version    # of classes
  3.5              1811
  3.8g             1506


 > So then we put VMMaker, Games, Celeste, Balloon3D,
> Wonderland, Scamper into packages. Only to replace them with m17n,
> SqueakMap, SUnit, Tests, (and soon) Monticello in basic.
> 

VMMaker, Games, Celeste, Balloon3D,Wonderland, Scamper are official 
packages whereas SqueakMap, SUnit, Tests, (and soon) Monticello
belong to the infrastructure allowing to deal with and load other packages.

VMMaker belongs to Infrastructure as well but it is needed by specialist 
only.





Integration tests
=================

A real need for the future is doing more integration tests before 
releasing new versions. A criteria could be that we do not release new 
versions unless one third of all packages on SqueakMap and 80% of the 
official packages are marked as compatible with the gamma version of the 
new release.


Hannes




More information about the Squeak-dev mailing list