Benchmarking4.5 Cog vs. 4.6 Spur

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Benchmarking4.5 Cog vs. 4.6 Spur

Herbert König
Hi,

I was benchmarking some long running optimization code in an older Cog
running a 4.5 image vs. latest Spur running the latest 4.6 image from
Eliot's site.

While tinyBenchmarks show roughly the same number of sends/sec and twice
the number of bytecodes/sec in favour of Spur and 4.6 my benchmark shows
the opposite, Spur and 4.6 take twice as long for the optimization as
Cog and 4.5.

Cog is revision r2776 of Aug 22 2013 and the 4.5 image is update #13680.

Don't know what to make of it but I attached the results of
TimeProfileBrowser>>Spy on for both.

Cheers,

Herbert

Cog and 4.5:
' - 20148 tallies, 20188 msec.'
''
'**Tree**'
'--------------------------------'
'Process: (40s) 10653: nil'
'--------------------------------'
'73.5% {14833ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>gradientImproveAll'
'  |73.5% {14829ms} ApproximationFunctionOptimizer>>gradientImprove:'
'  |  61.0% {12307ms} ApproximationFunctionOptimizer>>evaluateIndividual:'
'  |    |17.3% {3491ms} Float>>abs'
'  |    |11.3% {2275ms} OrderedCollection>>at:'
'  |    |8.8% {1770ms}
OrderedCollection(SequenceableCollection)>>withIndexDo:'
'  |    |  |7.6% {1540ms} primitives'
'  |    |  |1.1% {218ms} OrderedCollection>>at:'
'  |    |6.0% {1208ms} IndividualGenom>>fitnesses:'
'  |    |  |5.9% {1185ms} OrderedCollection(Collection)>>sum'
'  |    |  |  5.0% {1003ms} OrderedCollection(Collection)>>reduce:'
'  |    |  |    2.6% {518ms} OrderedCollection>>do:'
'  |    |  |    2.4% {485ms} primitives'
'  |    |5.9% {1192ms} SmallInteger>>-'
'  |    |  |4.8% {969ms} primitives'
'  |    |  |1.1% {223ms} SmallInteger(Integer)>>-'
'  |    |3.7% {749ms} primitives'
'  |    |2.8% {573ms} OrderedCollection>>add:'
'  |    |  |2.3% {468ms} primitives'
'  |    |2.8% {573ms} FunctionQuadraticPolynom>>calculate:'
'  |    |  |2.1% {422ms} Float(Number)>>squared'
'  |    |2.2% {446ms} OrderedCollection class>>new:'
'  |    |  2.2% {435ms} OrderedCollection>>setCollection:'
'  |    |    2.1% {420ms} primitives'
'  |  6.0% {1210ms} Array(Collection)>>*'
'  |    |6.0% {1206ms} Fraction(Number)>>adaptToCollection:andSend:'
'  |    |  3.1% {617ms} primitives'
'  |    |  2.9% {582ms} Array(SequenceableCollection)>>collect:'
'  |  3.7% {741ms} Array(Collection)>>-'
'  |    |3.5% {710ms} Array(Collection)>>adaptToCollection:andSend:'
'  |    |  2.7% {546ms} Array(SequenceableCollection)>>with:collect:'
'  |  1.2% {232ms} IndividualGenom>>geneValues:'
'19.4% {3921ms} TranscriptStream>>show:'
'  |19.4% {3920ms} TranscriptStream>>endEntry'
'  |  19.4% {3919ms} TranscriptStream(Object)>>changed:'
'  |    19.4% {3913ms} PluggableTextMorphPlus>>update:'
'  |      19.4% {3913ms}
PluggableTextMorphPlus(PluggableTextMorph)>>update:'
'  |        19.0% {3831ms} PluggableTextMorphPlus(Morph)>>refreshWorld'
'  |          19.0% {3830ms} PasteUpMorph>>displayWorldSafely'
'  |            19.0% {3830ms} WorldState>>displayWorldSafely:'
'  |              19.0% {3830ms} PasteUpMorph>>displayWorld'
'  |                19.0% {3830ms} PasteUpMorph>>privateOuterDisplayWorld'
'  |                  19.0% {3830ms} WorldState>>displayWorld:submorphs:'
'  |                    17.9% {3620ms}
WorldState>>drawWorld:submorphs:invalidAreasOn:'
'  |                      17.0% {3426ms} FormCanvas(Canvas)>>fullDrawMorph:'
'  |                        17.0% {3426ms} FormCanvas(Canvas)>>fullDraw:'
'  |                          17.0% {3426ms}
PluggableSystemWindow(Morph)>>fullDrawOn:'
'  |                            9.4% {1898ms}
PluggableSystemWindow(Morph)>>drawSubmorphsOn:'
'  |                              |9.4% {1894ms}
FormCanvas(Canvas)>>fullDrawMorph:'
'  |                              |  9.4% {1894ms}
FormCanvas(Canvas)>>fullDraw:'
'  |                              |    9.3% {1881ms}
PluggableTextMorphPlus(PluggableTextMorph)>>fullDrawOn:'
'  |                              |      9.3% {1878ms}
PluggableTextMorphPlus(Morph)>>fullDrawOn:'
'  |                              |        8.4% {1705ms}
PluggableTextMorphPlus(Morph)>>drawSubmorphsOn:'
'  |                              |          8.4% {1705ms}
FormCanvas(Canvas)>>fullDrawMorph:'
'  |                              |            8.4% {1705ms}
FormCanvas(Canvas)>>fullDraw:'
'  |                              |              8.4% {1705ms}
TransformMorph(Morph)>>fullDrawOn:'
'  |                              |                8.0% {1605ms}
TransformMorph>>drawSubmorphsOn:'
'  |                              |                  7.9% {1603ms}
FormCanvas(Canvas)>>fullDrawMorph:'
'  |                              |                    7.9% {1603ms}
FormCanvas(Canvas)>>fullDraw:'
'  |                              |                      7.9% {1603ms}
TextMorphForEditView(Morph)>>fullDrawOn:'
'  |                              |                        7.9% {1601ms}
FormCanvas(Canvas)>>drawMorph:'
'  |                              |                          7.9%
{1601ms} FormCanvas(Canvas)>>draw:'
'  |                              |                            7.9%
{1601ms} TextMorphForEditView(TextMorph)>>drawOn:'
'  |                              | 7.9% {1599ms}
FormCanvas>>paragraph:bounds:color:'
'  |                              | 7.9% {1598ms}
NewParagraph>>displayOn:using:at:'
'  |                              | 7.9% {1591ms}
BitBltDisplayScanner(DisplayScanner)>>displayLine:offset:leftInRun:'
'  | |                                    7.7% {1562ms}
BitBltDisplayScanner>>displayString:from:to:at:'
'  | |                                      7.7% {1562ms}
StrikeFont>>displayString:on:from:to:at:kern:'
'  | |                                        4.6% {919ms} Point>>='
'  | |                                        3.1% {631ms}
GrafPort(BitBlt)>>displayString:from:to:at:strikeFont:kern:'
'  | |                                          3.1% {631ms}
GrafPort(BitBlt)>>basicDisplayString:from:to:at:strikeFont:kern:'
'  | |                                            3.1% {630ms} primitives'
'  |                            5.3% {1075ms}
PluggableSystemWindow(Morph)>>hasRolloverBorder'
'  |                              |5.3% {1074ms} primitives'
'  |                            2.2% {441ms} FormCanvas(Canvas)>>drawMorph:'
'  |                              2.2% {441ms} FormCanvas(Canvas)>>draw:'
'  |                                2.2% {441ms}
PluggableSystemWindow(Morph)>>drawOn:'
'  |                                  2.2% {440ms}
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:'
'  |                                    2.1% {430ms}
FormCanvas>>fillRectangle:fillStyle:'
'  |                                      2.1% {427ms}
FormCanvas>>balloonFillRectangle:fillStyle:'
'  |                                        2.1% {426ms}
BalloonCanvas>>fillRectangle:fillStyle:'
'  |                                          2.1% {426ms}
BalloonCanvas>>drawRectangle:color:borderWidth:borderColor:'
'  |                                            2.1% {415ms}
BalloonEngine>>drawRectangle:fill:borderWidth:borderColor:transform:'
'  |                                              2.0% {407ms}
BalloonEngine>>postFlushIfNeeded'
'  |                                                2.0% {405ms}
BalloonEngine>>copyBits'
'  |                                                  2.0% {405ms}
BalloonEngine>>copyLoopFaster'
'3.9% {792ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>evaluateIndividuals'
'  |3.9% {789ms} ApproximationFunctionOptimizer>>evaluateIndividual:'
'1.5% {295ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>makeNextGeneration'
'  1.3% {261ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>addRecombinations:to:'
' '
'**Leaves**'
'18.2% {3670ms} Float>>abs'
'13.2% {2663ms} OrderedCollection>>at:'
'8.0% {1615ms} OrderedCollection(SequenceableCollection)>>withIndexDo:'
'5.3% {1074ms} PluggableSystemWindow(Morph)>>hasRolloverBorder'
'5.1% {1031ms} SmallInteger>>-'
'4.6% {920ms} Point>>='
'3.9% {783ms} OrderedCollection>>do:'
'3.9% {780ms} ApproximationFunctionOptimizer>>evaluateIndividual:'
'3.2% {636ms} Array(SequenceableCollection)>>collect:'
'3.1% {630ms}
GrafPort(BitBlt)>>basicDisplayString:from:to:at:strikeFont:kern:'
'3.1% {620ms} Fraction(Number)>>adaptToCollection:andSend:'
'2.9% {593ms} OrderedCollection>>setCollection:'
'2.8% {572ms} Array(SequenceableCollection)>>with:collect:'
'2.5% {510ms} OrderedCollection(Collection)>>reduce:'
'2.5% {503ms} OrderedCollection>>add:'
'2.3% {467ms} BalloonEngine>>copyLoopFaster'
'2.2% {440ms} Float(Number)>>squared'
'1.0% {202ms} Array(SequenceableCollection)>>do:'
''
'**Memory**'
'    old            +8,123,912 bytes'
'    young        +508,872 bytes'
'    used        +8,632,784 bytes'
'    free        -282,140 bytes'
''
'**GCs**'
'    full            3 totalling 289 ms (1.43% uptime), avg 96.3 ms'
'    incr            3279 totalling 4,171 ms (20.7% uptime), avg 1.3 ms'
'    tenures        627 (avg 5 GCs/tenure)'
'    root table    0 overflows'
========================================================================================================================
Spur and 4.6:

' - 39813 tallies, 40849 msec.'
''
'**Tree**'
'--------------------------------'
'Process: (40s) 92138: nil'
'--------------------------------'
'98.4% {40201ms} TimeProfileBrowser class>>onBlock:'
'  98.4% {40201ms} TimeProfileBrowser>>runBlock:'
'    98.4% {40201ms} TimeProfileBrowser>>runBlock:pollingEvery:'
'      98.4% {40201ms} MessageTally>>spyEvery:on:'
'        98.4% {40201ms} BlockClosure>>ensure:'
'          98.4% {40201ms} [] UndefinedObject>>DoIt'
'            98.4% {40188ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>optimize:'
'              71.9% {29372ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>gradientImproveAll'
'                |69.8% {28513ms} OrderedCollection>>do:'
'                |  |69.8% {28508ms} []
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>gradientImproveAll'
'                |  |  69.8% {28500ms}
ApproximationFunctionOptimizer>>gradientImprove:'
'                |  |    47.6% {19438ms}
ApproximationFunctionOptimizer>>evaluateIndividual:'
'                |  |      |41.7% {17049ms}
OrderedCollection(SequenceableCollection)>>withIndexDo:'
'                |  |      |  |37.2% {15180ms} []
ApproximationFunctionOptimizer>>evaluateIndividual:'
'                |  |      |  |  |15.9% {6512ms} BoxedFloat64(Float)>>abs'
'                |  |      |  |  |9.0% {3669ms} OrderedCollection>>at:'
'                |  |      |  |  |5.4% {2207ms} SmallInteger>>-'
'                |  |      |  |  |  |4.2% {1720ms} primitives'
'                |  |      |  |  |  |1.2% {487ms} SmallInteger(Integer)>>-'
'                |  |      |  |  |2.4% {967ms} primitives'
'                |  |      |  |  |2.3% {938ms}
FunctionQuadraticPolynom>>calculate:'
'                |  |      |  |  |  |1.9% {765ms}
BoxedFloat64(Number)>>squared'
'                |  |      |  |  |2.2% {888ms} OrderedCollection>>add:'
'                |  |      |  |  |  1.7% {711ms} primitives'
'                |  |      |  |3.4% {1386ms} primitives'
'                |  |      |  |1.2% {470ms} OrderedCollection>>at:'
'                |  |      |5.2% {2108ms} IndividualGenom>>fitnesses:'
'                |  |      |  5.1% {2073ms}
OrderedCollection(Collection)>>sum'
'                |  |      |    5.0% {2059ms}
OrderedCollection(Collection)>>reduce:'
'                |  |      |      4.8% {1966ms} OrderedCollection>>do:'
'                |  |      |        2.6% {1050ms} []
OrderedCollection(Collection)>>reduce:'
'                |  |      |          |1.6% {636ms} primitives'
'                |  |      |          |1.0% {413ms} []
OrderedCollection(Collection)>>sum'
'                |  |      |        2.2% {916ms} primitives'
'                |  |    14.2% {5817ms}
Array(SequenceableCollection)>>withIndexCollect:'
'                |  |      |14.0% {5706ms} []
ApproximationFunctionOptimizer>>gradientImprove:'
'                |  |      |  13.9% {5661ms}
ApproximationFunctionOptimizer>>evaluateIndividual:'
'                |  |      |    12.3% {5038ms}
OrderedCollection(SequenceableCollection)>>withIndexDo:'
'                |  |      |      |11.1% {4522ms} []
ApproximationFunctionOptimizer>>evaluateIndividual:'
'                |  |      |      |  4.1% {1687ms} BoxedFloat64(Float)>>abs'
'                |  |      |      |  3.6% {1471ms} OrderedCollection>>at:'
'                |  |      |      |  1.4% {583ms} SmallInteger>>-'
'                |  |      |      |    1.2% {473ms} primitives'
'                |  |      |    1.2% {478ms} IndividualGenom>>fitnesses:'
'                |  |      |      1.2% {472ms}
OrderedCollection(Collection)>>sum'
'                |  |      |        1.1% {467ms}
OrderedCollection(Collection)>>reduce:'
'                |  |      |          1.1% {446ms} OrderedCollection>>do:'
'                |  |    3.0% {1208ms} Array(Collection)>>*'
'                |  |      |2.9% {1181ms}
BoxedFloat64(Number)>>adaptToCollection:andSend:'
'                |  |      |  2.9% {1174ms}
Array(SequenceableCollection)>>collect:'
'                |  |      |    2.5% {1001ms} primitives'
'                |  |    2.9% {1187ms} Array(Collection)>>-'
'                |  |      |2.8% {1157ms}
Array(Collection)>>adaptToCollection:andSend:'
'                |  |      |  2.8% {1151ms}
Array(SequenceableCollection)>>with:collect:'
'                |  |      |    2.3% {956ms} primitives'
'                |  |    1.3% {528ms} IndividualGenom>>geneValues:'
'                |  |      1.1% {465ms} SmallInteger>>/'
'                |2.1% {859ms} Array(SequenceableCollection)>>do:'
'                |  2.1% {859ms} []
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>gradientImproveAll'
'                |    2.1% {858ms}
ApproximationFunctionOptimizer>>gradientImprove:'
'                |      1.4% {571ms}
ApproximationFunctionOptimizer>>evaluateIndividual:'
'                |        1.2% {500ms}
OrderedCollection(SequenceableCollection)>>withIndexDo:'
'                |          1.1% {446ms} []
ApproximationFunctionOptimizer>>evaluateIndividual:'
'              21.8% {8912ms} TranscriptStream>>show:'
'                |21.8% {8911ms} TranscriptStream>>endEntry'
'                |  21.8% {8911ms} Semaphore>>critical:'
'                |    21.8% {8911ms} BlockClosure>>ensure:'
'                |      21.8% {8911ms} [] Semaphore>>critical:'
'                |        21.8% {8911ms} [] TranscriptStream>>endEntry'
'                |          21.8% {8910ms}
TranscriptStream(Object)>>changed:'
'                |            21.8% {8909ms} DependentsArray>>do:'
'                |              21.8% {8907ms} []
TranscriptStream(Object)>>changed:'
'                |                21.8% {8907ms}
PluggableTextMorphPlus>>update:'
'                |                  21.8% {8907ms}
PluggableTextMorphPlus(PluggableTextMorph)>>update:'
'                |                    21.2% {8666ms}
PluggableTextMorphPlus(Morph)>>refreshWorld'
'                |                      21.2% {8665ms}
PasteUpMorph>>displayWorldSafely'
'                |                        21.2% {8665ms}
WorldState>>displayWorldSafely:'
'                |                          21.2% {8665ms}
BlockClosure>>ifError:'
'                |                            21.2% {8665ms}
BlockClosure>>on:do:'
'                |                              21.2% {8665ms} []
WorldState>>displayWorldSafely:'
'                |                                21.2% {8665ms}
PasteUpMorph>>displayWorld'
'                |                                  21.2% {8665ms}
PasteUpMorph>>privateOuterDisplayWorld'
'                |                                    21.2% {8665ms}
WorldState>>displayWorld:submorphs:'
'                |                                      20.4% {8346ms}
WorldState>>drawWorld:submorphs:invalidAreasOn:'
'                |                                        20.4% {8341ms}
Array(SequenceableCollection)>>do:'
'                |                                          19.4%
{7925ms} [] WorldState>>drawWorld:submorphs:invalidAreasOn:'
'                |                                            |19.4%
{7917ms} Rectangle>>allAreasOutsideList:do:'
'                |                                            | 19.4%
{7917ms} Rectangle>>allAreasOutsideList:startingAt:do:'
'                |                                            | 18.9%
{7729ms} [[]] WorldState>>drawWorld:submorphs:invalidAreasOn:'
'                |                                            | 18.9%
{7711ms} FormCanvas(Canvas)>>fullDrawMorph:'
'                | |        18.9% {7711ms} FormCanvas(Canvas)>>fullDraw:'
'                | |          18.9% {7711ms}
PluggableSystemWindow(Morph)>>fullDrawOn:'
'                | |            12.4% {5062ms}
PluggableSystemWindow(Morph)>>drawSubmorphsOn:'
'                | |              |12.4% {5061ms} []
PluggableSystemWindow(Morph)>>drawSubmorphsOn:'
'                | |              |  12.4% {5061ms}
Array(SequenceableCollection)>>reverseDo:'
'                | |              |    12.4% {5060ms} [[]]
PluggableSystemWindow(Morph)>>drawSubmorphsOn:'
'                | |              |      12.4% {5060ms}
FormCanvas(Canvas)>>fullDrawMorph:'
'                | |              |        12.4% {5060ms}
FormCanvas(Canvas)>>fullDraw:'
'                | |              |          12.3% {5039ms}
PluggableTextMorphPlus(PluggableTextMorph)>>fullDrawOn:'
'                | |              |            12.3% {5025ms}
PluggableTextMorphPlus(Morph)>>fullDrawOn:'
'                | |              |              11.3% {4596ms}
PluggableTextMorphPlus(Morph)>>drawSubmorphsOn:'
'                | |              |                |11.2% {4595ms} []
PluggableTextMorphPlus(Morph)>>drawSubmorphsOn:'
'                | |              |                |  11.2% {4595ms}
Array(SequenceableCollection)>>reverseDo:'
'                | |              |                |    11.2% {4592ms}
[[]] PluggableTextMorphPlus(Morph)>>drawSubmorphsOn:'
'                | |              |                |      11.2% {4592ms}
FormCanvas(Canvas)>>fullDrawMorph:'
'                | |              |                |        11.2%
{4592ms} FormCanvas(Canvas)>>fullDraw:'
'                | |              |                |          11.2%
{4592ms} TransformMorph(Morph)>>fullDrawOn:'
'                | |              |                |            10.9%
{4461ms} TransformMorph>>drawSubmorphsOn:'
'                | |              |                |              10.9%
{4460ms} FormCanvas>>transformBy:clippingTo:during:smoothing:'
'                | |              |                |                
10.9% {4458ms} [] TransformMorph>>drawSubmorphsOn:'
'                | |              |                |                  
10.9% {4458ms} Array(SequenceableCollection)>>reverseDo:'
'                | |              |                |                    
10.9% {4458ms} [[]] TransformMorph>>drawSubmorphsOn:'
'                | |              |                
|                      10.9% {4457ms} FormCanvas(Canvas)>>fullDrawMorph:'
'                | |              |                
|                        10.9% {4457ms} FormCanvas(Canvas)>>fullDraw:'
'                | |              |                
|                          10.9% {4457ms}
TextMorphForEditView(Morph)>>fullDrawOn:'
'                | |              |                
|                            10.9% {4453ms} FormCanvas(Canvas)>>drawMorph:'
'                | |              |                
|                              10.9% {4453ms} FormCanvas(Canvas)>>draw:'
'                | |              |                | 10.9% {4453ms}
TextMorphForEditView(TextMorph)>>drawOn:'
'                | |              |                | 10.9% {4447ms}
FormCanvas>>paragraph:bounds:color:'
'                | |              |                | 10.9% {4443ms}
NewParagraph>>displayOn:using:at:'
'                | |              |
|                                      10.9% {4433ms}
BitBltDisplayScanner(DisplayScanner)>>displayLine:offset:leftInRun:'
'                | |              |
|                                        10.6% {4326ms}
BitBltDisplayScanner>>displayString:from:to:at:'
'                | |              |
|                                          10.6% {4326ms}
StrikeFont>>displayString:on:from:to:at:kern:'
'                | |              |
|                                            5.8% {2354ms} Point>>='
'                | |              |
|                                            4.8% {1972ms}
GrafPort(BitBlt)>>displayString:from:to:at:strikeFont:kern:'
'                | |              |
|                                              4.8% {1966ms}
GrafPort(BitBlt)>>basicDisplayString:from:to:at:strikeFont:kern:'
'                | |              |
|                                                4.8% {1964ms} primitives'
'                | |              |              1.0% {428ms}
FormCanvas(Canvas)>>drawMorph:'
'                | |              |                1.0% {428ms}
FormCanvas(Canvas)>>draw:'
'                | |              |                  1.0% {428ms}
PluggableTextMorphPlus(Morph)>>drawOn:'
'                | |              |                    1.0% {424ms}
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:'
'                | |              |                      1.0% {424ms}
SimpleBorder>>frameRectangle:on:'
'                | |              |                        1.0% {415ms}
primitives'
'                | |            4.0% {1652ms}
PluggableSystemWindow(Morph)>>hasRolloverBorder'
'                | |              |4.0% {1651ms} primitives'
'                | |            2.4% {984ms} FormCanvas(Canvas)>>drawMorph:'
'                | |              2.4% {984ms} FormCanvas(Canvas)>>draw:'
'                | |                2.4% {984ms}
PluggableSystemWindow(Morph)>>drawOn:'
'                | |                  2.4% {979ms}
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:'
'                | |                    2.3% {955ms}
FormCanvas>>fillRectangle:fillStyle:'
'                | |                      2.3% {953ms}
FormCanvas>>balloonFillRectangle:fillStyle:'
'                | |                        2.3% {951ms}
BalloonCanvas>>fillRectangle:fillStyle:'
'                | |                          2.3% {951ms}
BalloonCanvas>>drawRectangle:color:borderWidth:borderColor:'
'                | |                            2.3% {946ms}
BalloonEngine>>drawRectangle:fill:borderWidth:borderColor:transform:'
'                | |                              2.3% {943ms}
BalloonEngine>>postFlushIfNeeded'
'                | |                                2.3% {943ms}
BalloonEngine>>copyBits'
'                | |                                  2.3% {943ms}
BalloonEngine>>copyLoopFaster'
'                | |                                    2.3% {942ms}
primitives'
'                |                                          1.0% {416ms}
primitives'
'              3.0% {1225ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>evaluateIndividuals'
'                |2.9% {1183ms} OrderedCollection>>do:'
'                |  2.9% {1180ms} []
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>evaluateIndividuals'
'                |    2.9% {1176ms}
ApproximationFunctionOptimizer>>evaluateIndividual:'
'                |      2.6% {1054ms}
OrderedCollection(SequenceableCollection)>>withIndexDo:'
'                |        2.3% {939ms} []
ApproximationFunctionOptimizer>>evaluateIndividual:'
'              1.5% {617ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>makeNextGeneration'
'                1.4% {557ms}
ApproximationFunctionOptimizer(GeneticAndGradientOptimizer)>>addRecombinations:to:'
' '
'**Leaves**'
'21.8% {8900ms} BoxedFloat64(Float)>>abs'
'15.1% {6179ms} OrderedCollection>>at:'
'5.8% {2356ms} Point>>='
'5.7% {2344ms} SmallInteger>>-'
'4.8% {1964ms}
GrafPort(BitBlt)>>basicDisplayString:from:to:at:strikeFont:kern:'
'4.7% {1915ms} OrderedCollection(SequenceableCollection)>>withIndexDo:'
'4.1% {1666ms} TransformMorph(Morph)>>hasRolloverBorder'
'3.6% {1460ms} [] ApproximationFunctionOptimizer>>evaluateIndividual:'
'3.5% {1448ms} OrderedCollection>>do:'
'2.7% {1116ms} Array(SequenceableCollection)>>collect:'
'2.6% {1062ms} BoxedFloat64(Number)>>squared'
'2.6% {1049ms} Array(SequenceableCollection)>>with:collect:'
'2.5% {1019ms} BalloonEngine>>copyLoopFaster'
'2.4% {996ms} [] OrderedCollection(Collection)>>reduce:'
'2.4% {991ms} OrderedCollection>>add:'
'1.4% {579ms} [] OrderedCollection(Collection)>>sum'
'1.2% {499ms} BoxedFloat64(Float)>>adaptToInteger:andSend:'
'1.1% {445ms} Array(SequenceableCollection)>>do:'
'1.0% {426ms} SimpleBorder>>frameRectangle:on:'
''
'**Memory**'
'    old            +0 bytes'
'    young        -98,504 bytes'
'    used        -98,504 bytes'
'    free        +98,504 bytes'
''
'**GCs**'
'    full            4 totalling 973 ms (2.38% uptime), avg 243.3 ms'
'    incr            2065 totalling 6,377 ms (15.6% uptime), avg 3.1 ms'
'    tenures        2,036,427 (avg 0 GCs/tenure)'
'    root table    0 overflows'