[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
|