PackageInfoTweak

Download

Current issues

Performance

items in the configuration   new/enhanced version   old version (same without cache)   ??? x faster  
classes 877 18.1 ms 2779.6 ms 150
method categories 4637 578 ms 13710 ms 25
methods 19591 4307 ms 142067 ms 30

Code

 classes := Smalltalk allClasses 
    select: [ :class | 
        ('\*kernel\*' match: class category)
        or: [ '\*collection\*' match: class category ]
        or: [ '\*morphic\*' match: class category ] ].
 block := [ classes collect: [ :class | PackageOrganizer default packageOfClass: class ] ].
 ((1 to: 20) collect: [ :i | MessageTally time: block ] ) average asFloat.
 block := [ mcats collect: [ : a | PackageOrganizer default packageOfMethodCategory: a value in: a key ] ].
 mcats := classes gather: [ :class | class organization categories collect: [ :cat | class -> cat] ].
 ((1 to: 10) collect: [ :i | MessageTally time: block ] ) average asFloat
 methods := classes gather: [ :class | class selectors collect: [ : sel | MethodReference class: class selector: sel ] ].
 block := [ methods collect: [ :mref | PackageOrganizer default packageOfMethod: mref ] ].
 ((1 to: 10) collect: [ :i | MessageTally time: block ] ) average asFloat