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



Reply via email to