[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dr. Geo] [Bug 1705661] Re: Minimal Dr. Geo image
From: |
Benoît St-Jean |
Subject: |
[Dr. Geo] [Bug 1705661] Re: Minimal Dr. Geo image |
Date: |
Mon, 09 Apr 2018 13:32:51 -0000 |
I ran a simple script to detect how much cruft (classes with no
references in Dr. Geo 17-07a) is left into the image. (see script
attached)
There are still lots of test classes (subclasses of TestCase), all the
rules for the Code Critics, lots of unneeded stuff (for instance, Pharo
still has 2 compiler classes, duplicate functionalities with Stream vs
Zinc classes), etc. I have never been convinced that the "minimal
image" approach is the way to go as it will most likely create a
Monticello package nightmare to solve dependencies.
I was thinking of creating a tool to use the stripping approach (e.g.
Dolphin Smalltalk Lagoon Wizard, VisualWorks Image Stripper, VisualAge
packager, etc), i.e. removing code without any references with a
mechanism to provide the packager with directives/exceptions (à la
VisualAge).
First step would be to remove classes with no references. Second step
would be to remove unsent methods. Third step could be symbol reduction
(strip Pool dictionaries of unreferenced symbols), fifth could be to
remove unreferenced instances in class and class instance variables. Of
course, the tool would also provide a way to disable programmer
functionalities of your choice.
I was planning on creating a simple class with no UI so you could
execute the code in a Workspace/Transcript or from the command line.
All the tool output could be saved in files and/or displayed on the
Transcript.
Of course, the first step would be to make the Pharo image (5.1 and up
or whatever you plan to use) become "packager friendly" by supplying it
with #packagerIncludeClassNames, #packagerIncludeKnownSelectors and the
like.
What do you think Hilaire?
** Attachment added: "Script to detect unreferenced classes"
https://bugs.launchpad.net/drgeo/+bug/1705661/+attachment/5107989/+files/unreferenced_classes_in_drgeo.st
--
You received this bug notification because you are a member of DrGeo
developers, which is subscribed to Dr. Geo II.
Matching subscriptions: Dr. Geo bug report
https://bugs.launchpad.net/bugs/1705661
Title:
Minimal Dr. Geo image
Status in Dr. Geo II:
Confirmed
Bug description:
Pharo is becoming a fat boy (or fat girl if you prefer).
There is a need to build a Dr. Geo image with a minimum size, to not waste
resources and make Dr. Geo suitable to configuration with low resources.
With Pharo 6, it is possible to build a minimal image by installing
the needed packages -- and not uninstalling the unneeded packages as
it was done with previous Dr. Geo release.
However, there are no clear recipe to produce such minimal image:
http://forum.world.st/Pharo6-bootstrap-how-to-td4952466.html
To manage notifications about this bug go to:
https://bugs.launchpad.net/drgeo/+bug/1705661/+subscriptions
- [Dr. Geo] [Bug 1705661] Re: Minimal Dr. Geo image,
Benoît St-Jean <=