[Modules] Progress report

danielv at netvision.net.il danielv at netvision.net.il
Sat May 25 13:28:25 UTC 2002


Thanks.

Well, you know you're just shooting yourself in the foot - the later you
join, the less easy stuff is left... and the EToy is waiting... ;-)

Daniel

Bergel Alexandre <bergel at iam.unibe.ch> wrote:
> Hello Daniel,
> 
> I just want to say I appreciate your efforts. I am currently busy for participating actively to the modularization process. Perhaps this summer...
> 
> Regards,
> Alexandre
> 
> On Sat, May 25, 2002 at 04:24:45AM +0300, danielv at netvision.net.il wrote:
> > Someone asked a while ago for a progress report. I just finished running
> > everything released that's supposed to unload something, while
> > collecting some metrics. The first datum is that in this order,
> > everything works off a clean 4857 image.
> > 
> > What was unloaded?
> > 
> > These are small modules, removed based on my work of the last couple of
> > weekends.
> > #(Squeak Network Applications MailReader)
> > #(Squeak Network Applications IRCChat)
> > #(Squeak Technology Benchmarks)
> > #(Squeak Morphic Demo Games)
> > #(Squeak Technology Archives Applications)
> > #(Squeak Language Exceptions Tests)
> > 
> > The big ones by Henrik:
> > #(Squeak VMConstruction)
> > #(Squeak Media Balloon3D)
> > 
> > At this point, these are modules had no incoming dependencies and could
> > be removed (I don't know if Henrik worked on this explicitly, I didn't).
> > #(Image StandardRelease)
> > #(Squeak EToy Imported)
> > #(Squeak EToy Outliner)
> > #(Squeak EToy UserObjects)
> > #(Squeak Development Test TextEditing)
> > #(Squeak Development Test SUnit UI)
> > #(Squeak Development Test SUnit Tests)
> > #(Squeak Development FileList Test)
> > #(Squeak Network Applications PluggableWebServer)
> > #(Squeak Network UUID)
> > #(Squeak Morphic Tests)
> > #(Squeak Morphic Widgets)
> > #(Squeak Morphic Applications Media)
> > #(Squeak Morphic Applications PDA)
> > #(Squeak Morphic Library Models)
> > #(Squeak Morphic Demo Components Built)
> > #(Squeak MVC Symbols)
> > #(Squeak Media Movies Player)
> > #(Squeak Media Speech PhonemeRecognizer)
> > #(Squeak Media Speech Klatt KlattResonatorIndices)
> > #(Squeak Media Speech TTS)
> > #(Squeak Media Speech)
> > #(Squeak Media Balloon TrueType)
> > #(Squeak Media Graphics Tools Simplification)
> > #(Squeak Media Graphics Tools Triangulation)
> > #(Squeak Media Graphics Tools Intersection)
> > #(Squeak Media Graphics Tools)
> > #(Squeak Media Graphics External)
> > #(Squeak Technology FFI Examples X11)
> > #(Squeak Technology FFI Examples Win32)
> > #(Squeak Technology FFI Examples MacOS)
> > #(Squeak Technology FFI Examples)
> > #(Squeak Technology FFI Plugin)
> > #(Squeak Technology SerialPort)
> > #(Squeak Technology Files Tests)
> > #(Squeak Language Modules Analysis)
> > #(Squeak Language Modules Tests)
> > #(Squeak Language Modules Refactorings)
> > #(Squeak Language Collections Tests)
> > #(Squeak Language Core Tests)
> > #(Squeak Language Core Magnitudes Tests)
> > 
> > How far are we? 
> > Before the unload, we had 1805 classes under Squeak.
> > 
> > After the unload we have 1229 classes under Squeak, of which 804 are
> > still strung up in various loops according to a strong connected
> > components. That's 804 classes Object is indirectly dependent on - quite
> > a lot awaits removal.
> > 
> > Analyzing by major categories, these are the numbers of classes that
> > exist:
> > Before:
> >  an OrderedCollection(
> > Squeak Language)->208 
> > Squeak Technology)->136 
> > Squeak Media)->451 
> > Squeak MVC)->74 
> > Squeak Morphic)->329 
> > Squeak Network)->189 
> > Squeak Development)->87 
> > Squeak VMConstruction)->99 
> > Squeak EToy)->232)
> > 
> > And after:
> > Squeak Language)->187 
> > Squeak Technology)->113 
> > Squeak Media)->194 
> > Squeak MVC)->72 
> > Squeak Morphic)->279 
> > Squeak Network)->131 
> > Squeak Development)->76 
> > Squeak EToy)->175)
> > 
> > This is the script I've used in order to do this (I think I've sent up
> > everything except for MoreAnalysis.1.cs which matters only for the SCC
> > data, and I haven't yet cleaned up):
> > 
> > ChangeSorter fileIntoNewChangeSet:
> > '/home/danielv/offLoadNoteBook/squeak/MovingClasses.cs'.
> > ChangeSorter fileIntoNewChangeSet:
> > '/home/danielv/offLoadNoteBook/squeak/MoreAnalysis.1.cs'.
> > ChangeSorter fileIntoNewChangeSet:
> > '/home/danielv/offLoadNoteBook/squeak/CarefulModule.2.cs'.
> > 
> > Preferences disable: #accessOnlineModuleRepositories.
> > 
> > {'plugin-rename.4.cs'. 
> > 'makeVMConstrReloadable.5.cs'.
> > 'dependencyFix.4.cs'.
> > 'poolsFix.1.cs'.
> > 'fasterModuleSaving-hg.1.cs'.
> > 'fixChessPool.3.cs'.
> > 'refactoringToolsRefactoring.cs'.
> > 'codegeneratorModuleFix.1.cs'} 
> > do: [:name | |fileName |
> > fileName _ '/home/danielv/offLoadNoteBook/squeak/', name.
> > ChangeSorter fileIntoNewChangeSet: fileName].
> > 
> > {'CelesteRemoval.8.cs'.
> > 'MailComposition.st'.
> > 'RefactoredCeleste.5.cs'.
> > 'UnloadingDemos.1.cs'.
> > 'DynamicWorldMenu.4.cs'}
> > do: [:name | |fileName |
> > fileName _ '/home/danielv/offLoadNoteBook/squeak/', name.
> > ChangeSorter fileIntoNewChangeSet: fileName].
> > 
> > ParserRemovedUnusedTemps moveTo: Module @ #(Squeak Language Exceptions
> > Core).
> > FileList removeSelector: #addFileToZip.
> > Benchmarks moveTo: (Module fromPath: #(Squeak Technology Benchmarks)
> > forceCreate: true).
> > 
> > | module nextRound |
> > #(
> > (Squeak Network Applications MailReader)
> > (Squeak Network Applications IRCChat)
> > (Squeak Technology Benchmarks)
> > (Squeak Morphic Demo Games)
> > (Squeak Technology Archives Applications)
> > (Squeak Language Exceptions Tests)
> > ) do: [:path | module _ Module @ path.
> > 	module deepDeclareExternalRefs.
> > 	nextRound _ (module importedModules, {module parentModule}) asSet.
> > 	module repository beStandalone.
> > 	ModuleInstaller upload: module.
> > 	Transcript show: 'About to remove'; show: module; cr.
> > 	ModuleInstaller unload: module.
> > 	Transcript show: 'Now have: '; show: (Module root Squeak submodules
> > collect: [:e | e -> e deepClasses size]).
> > 	Transcript show: 'candidates '; show: (nextRound select: [:e | e valid
> > and: [(e deepIncomingRefsFromOutside: e) size = 0]])]
> > 
> >  | module |
> >    module := Module @  #(Squeak VMConstruction).
> >    module defineClassExtensionsOutside: module.
> >    ModuleInstaller unload: module
> > 
> >  | module | 
> >    (module _ Module @  #(Squeak Media Balloon3D))
> > defineClassExtensionsOutside: module.
> >    ModuleInstaller unload: module
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._
> Bergel Alexandre  http://www.iam.unibe.ch/~bergel
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^



More information about the Squeak-dev mailing list