Le 02/03/2018 à 22:52, Marcus Denker a écrit :
we should again do some analysis where space is going… the Pharo7 download
is now 38MB (the image, decompressed).
Situation improved :) Remember P3 was just above 20 MB
There are things to look for:
1) wasted space due to not thinking about memory and just “having it”.
Of course some of it are things like duplications (we now have 2
browsers, 2 inspectors,
2 debuggers… time to clean up a bit…).
Then every test we add takes space, every “help topic”, every feature...
It looks like this topic comes and goes since 20 years: new features
added, image growth then/or it becomes hard to unload ; on Squeak then
now with Pharo at a much higher rate.
We all know about the right approach (GNU Smalltalk, CUIS Smalltalk),
but it is not the road chosen with Pharo and it is becoming extremely
uninteresting for me to code on DrGeo now. So far I fell ashame to ship
end user application with a 50MB DrGeo image, knowing only 10% has
purpose related to DrGeo domain. When situation improves, motivation may
come back. For this same reason and other, I turned to Python for a
planed programming course to mid high school students.
But of course sometimes being able to invest memory into a better
system can be important, too.
Not all growth in memory is negativ if you can afford it.
I always like to play the game to think “what would they have done in
1978 if they had this amount
of memory in even a $5 machine?" Of course one can go very quickly in
the wrong direction, but
Very likely not that much. May be the wonders came because of the hight
constraints.
nevertheless: sometimes it is really worth to think about “spending
memory” to buy abstraction.
(especially a there are counter measures… we under-utilise both
compression and disk storage)
Helps could (should?) be file based, and maybe other stuff I don't know.
How the image is considered in the Pharo team? A kind of sacred place,
where stuff are added following a few guidelines (you will not duplicate
features but replace/imprive/whatever -- aka funny shortcut mess, you
will make your code unloadable, etc...) or just like a forum where teams
add feature according to projects or vision.
Sorry to discuss these topics again, really don't want but still need to
share a few thoughts.
2) wasted space that is just not needed. e.g. there is issue
https://pharo.fogbugz.com/f/cases/21172/
That we have some huge strings to init unicode. Do we need them?
3) Memory leaks, bit they are more for the case when the system is
running for a while.
--
Dr. Geo
http://drgeo.eu