Writing code in this way seems to be about 2.4 times slower in Pharo 7 vs Pharo 6. I also tried with smaller numbers, and there I noticed a rather high number of calls
to File>>basicOpenForWrite:. With 4*4*4 methods, 768, and 5*5*5 1502.

|organizer aToZ|

organizer := RPackageOrganizer default.

aToZ := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.

[ aToZ do: [ :ch | |packageName package|
    packageName := 'Package', ch asString.
    package := organizer createPackageNamed: packageName.
    aToZ do: [ :classCh | |cls|
cls := Object subclass: (ch asString, 'Class', classCh asString) asSymbol
            instanceVariableNames: ''
            classVariableNames: ''
            poolDictionaries: ''
            package: packageName.
         package addClassDefinition: cls.
         aToZ do: [ :m |
cls compile: m asString asLowercase, String cr, ' ^self' ] ] ] ] timeProfile

(221 s vs 93)

Do I need all those calls to #basicOpenForWrite?

Stephan

Reply via email to