On 29.04.2011 19:03, Eliot Miranda wrote:
>
>
> On Fri, Apr 29, 2011 at 9:04 AM, Philippe Marschall <[email protected]
> <mailto:[email protected]>> wrote:
>
> On 27.04.2011 19 <tel:27.04.2011%2019>:23, Eliot Miranda wrote:
> > Philippe,
> >
> > can you please profile before and after? This could very well
> be to
> > do with the additional cost of shallowCopy for contexts, but it is
> > inevitable that a correct implementation is going to be more expensive
> > than the simple block-copy. The new implementation can be optimized,
> > but we need to profile first to be sure we're tilting at the relevant
> > windmill.
>
>
> What kind of profiling do you have in mind, MessageTally?
>
>
> Yes, that would be fine. Thanks!
OK, there you go. As you'll see the runtime is about the same, that's
because we do more iterations in the same time. Also note the time we're
spending in WriteStream >> #nextPutAll: with interestingly has a
different growing behavior than WriteStream >> #nextPut: (only 25% vs
100%). I already raised the issue once but people argued that the
current code is prefect.
Cheers
Philippe
- 2328 tallies, 2328 msec.
**Tree**
--------------------------------
Process: (70s) AJP worker 2: nil
--------------------------------
10.9% {254ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
10.7% {250ms} WAHtmlCanvas(WACanvas)>>flush
6.8% {158ms} WAGenericTag(WATagBrush)>>with:
|4.8% {112ms} WAGenericTag(WATagBrush)>>openTag
| 4.8% {112ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 4.7% {110ms} WAHtmlAttributes>>encodeOn:
| 3.2% {74ms} WAHtmlDocument(WADocument)>>nextPut:
| 3.1% {72ms} primitives
1.4% {32ms} WAPerformanceFunctionalTest>>renderInline:key:on:
1.4% {32ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
1.2% {28ms} WAHtmlCanvas(WACanvas)>>flush
1.2% {28ms} WABreakTag(WABrush)>>close
1.1% {26ms} WABreakTag(WATagBrush)>>with:
8.0% {186ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
|7.2% {168ms} WAHtmlCanvas(WACanvas)>>flush
1.1% {26ms} WAHtmlCanvas>>html:
3.4% {78ms} WAAnchorTag>>with:
|3.0% {70ms} WAAnchorTag(WATagBrush)>>with:
| 2.1% {50ms} WAAnchorTag(WATagBrush)>>openTag
| 2.1% {50ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 2.0% {46ms} WAHtmlAttributes>>encodeOn:
| 1.2% {28ms} WAHtmlDocument(WAXmlDocument)>>print:
2.6% {60ms} WAAnchorTag>>callback:
|1.7% {40ms} WAAnchorTag(WATagBrush)>>storeCallback:
| 1.7% {40ms} WACallbackRegistry>>store:
| 1.2% {28ms} Dictionary>>at:put:
1.3% {30ms} WAHtmlCanvas>>unorderedList:
8.4% {196ms} WAHtmlCanvas>>script:
8.0% {186ms} WAScriptTag>>with:
7.1% {166ms} WAScriptTag(WATagBrush)>>with:
4.7% {110ms} WAScriptTag(WATagBrush)>>openTag
4.7% {110ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
4.2% {98ms} WAHtmlAttributes>>encodeOn:
3.5% {82ms} WAHtmlDocument(WADocument)>>nextPut:
4.4% {102ms} WAHtmlCanvas>>tableData:
|4.2% {98ms} WATableDataTag(WATagBrush)>>with:
| 2.9% {68ms} WATableDataTag(WABrush)>>with:
| 2.6% {60ms} primitives
2.1% {48ms} WAHtmlCanvas>>tableRow:
|1.5% {34ms} WAGenericTag(WATagBrush)>>with:
1.5% {36ms} WAHtmlCanvas>>table:
1.3% {30ms} WATableTag(WATagBrush)>>with:
8.2% {190ms} WAHtmlCanvas(WATagCanvas)>>withLineBreaks:
3.4% {78ms} WAHtmlCanvas(WACanvas)>>text:
|1.5% {36ms} WAHtmlCanvas(WACanvas)>>flush
| |1.5% {36ms} WABreakTag(WABrush)>>close
| | 1.1% {26ms} WABreakTag(WATagBrush)>>with:
|1.5% {34ms} WAHtmlCanvas(WARenderer)>>text:
| 1.1% {26ms} WAHtmlDocument(WAXmlDocument)>>print:
| 1.1% {26ms} ByteString(String)>>encodeOn:
| 1.0% {24ms} WAXmlEncoder>>nextPutAll:
3.0% {70ms} ReadStream(PositionableStream)>>nextLine
2.0% {46ms} ReadStream>>upToAnyOf:do:
6.5% {152ms} WAButtonTag>>with:
|6.5% {152ms} WAButtonTag(WAFormInputTag)>>with:
| 4.3% {100ms} WAButtonTag(WATagBrush)>>with:
| |3.3% {76ms} WAButtonTag(WATagBrush)>>openTag
| | 3.3% {76ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 3.1% {72ms} WAHtmlAttributes>>encodeOn:
| | 1.2% {28ms} WAHtmlDocument(WAXmlDocument)>>print:
| 1.9% {44ms} WAButtonTag(WATagBrush)>>class:
| 1.9% {44ms} WAHtmlAttributes>>addClass:
| 1.9% {44ms} WAHtmlAttributes>>at:append:separator:
| 1.0% {24ms} String class(SequenceableCollection
class)>>streamContents:
1.5% {36ms} WAButtonTag>>callback:
1.0% {24ms} WAButtonTag(WATagBrush)>>storeCallback:
8.2% {192ms} WAHtmlCanvas(WACanvas)>>text:
8.2% {192ms} WAHtmlCanvas(WARenderer)>>text:
8.2% {190ms} WAHtmlDocument(WAXmlDocument)>>print:
8.2% {190ms} ByteString(String)>>encodeOn:
8.2% {190ms} WAXmlEncoder>>nextPutAll:
5.6% {130ms} primitives
1.3% {30ms} Character>>greaseInteger
|1.0% {24ms} primitives
1.3% {30ms} WriteStream>>nextPut:
7.5% {174ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
|6.6% {154ms} WAHtmlCanvas(WACanvas)>>flush
| 6.5% {152ms} WABreakTag(WABrush)>>close
| 6.4% {148ms} WABreakTag(WATagBrush)>>with:
| 4.6% {108ms} WABreakTag(WATagBrush)>>openTag
| |4.3% {100ms}
WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 2.8% {66ms} WriteStream>>nextPutAll:
| | 1.3% {30ms} WriteStream>>nextPut:
| 1.5% {34ms} WABreakTag(WABrush)>>with:
1.1% {26ms} WAHtmlCanvas>>break
1.0% {24ms} WABreakTag class(GRObject class)>>new
2.1% {50ms} WAHtmlCanvas>>form:
|1.2% {28ms} WAHtmlCanvas>>form
1.4% {32ms} WAHtmlCanvas>>radioButton
|1.3% {30ms} WAHtmlCanvas(WACanvas)>>brush:
| 1.3% {30ms} WAHtmlCanvas(WACanvas)>>flush
| 1.3% {30ms} WASelectTag(WABrush)>>close
| 1.3% {30ms} WASelectTag(WATagBrush)>>with:
| 1.0% {24ms} WASelectTag>>before
| 1.0% {24ms} WASelectTag(WACollectionTag)>>before
| 1.0% {24ms} WASelectTag>>renderListItem:labelled:
1.1% {26ms} WAHtmlCanvas>>fileUpload
|1.0% {24ms} WAHtmlCanvas(WACanvas)>>brush:
| 1.0% {24ms} WAHtmlCanvas(WACanvas)>>flush
| 1.0% {24ms} WAButtonTag(WABrush)>>close
| 1.0% {24ms} WAButtonTag>>with:
| 1.0% {24ms} WAButtonTag(WAFormInputTag)>>with:
1.0% {24ms} WAHtmlCanvas>>textArea
**Leaves**
22.1% {514ms} WAHtmlCanvas(WACanvas)>>flush
9.3% {216ms} WriteStream>>nextPutAll:
8.1% {188ms} WAHtmlDocument(WADocument)>>nextPut:
6.1% {142ms} WAAnchorTag(WABrush)>>with:
5.8% {134ms} WAXmlEncoder>>nextPutAll:
5.3% {124ms} WriteStream>>nextPut:
2.7% {62ms} WAUnorderedListTag(WABrush)>>initialize
1.7% {40ms} WAHtmlDocument(WADocument)>>nextPutAll:
1.5% {36ms} WARequestFields(GRSmallDictionary)>>keysAndValuesDo:
1.5% {34ms} WAHtmlCanvas(WARenderer)>>render:
1.5% {34ms} WAHtmlAttributes(GRSmallDictionary)>>findIndexFor:
1.4% {32ms} WAHtmlCanvas(WACanvas)>>render:
1.2% {28ms} SmallInteger>>printString
1.2% {28ms} WAHtmlDocument(WAXmlDocument)>>print:
1.0% {24ms} WAHtmlCanvas(WARenderer)>>document
1.0% {24ms} WAUnorderedListTag(WATagBrush)>>closeTag
1.0% {24ms} Character>>greaseInteger
**Memory**
old -2,261,760 bytes
young +1,627,520 bytes
used -634,240 bytes
free -2,901,804 bytes
**GCs**
full 10 totalling 608ms (26.0% uptime), avg 61.0ms
incr 170 totalling 173ms (7.0% uptime), avg 1.0ms
tenures 23 (avg 7 GCs/tenure)
root table 0 overflows
- 2392 tallies, 2394 msec.
**Tree**
--------------------------------
Process: (70s) AJP worker 1: nil
--------------------------------
11.0% {262ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
10.5% {252ms} WAHtmlCanvas(WACanvas)>>flush
10.4% {248ms} WAHtmlCanvas>>script:
9.9% {238ms} WAScriptTag>>with:
9.2% {220ms} WAScriptTag(WATagBrush)>>with:
4.6% {110ms} WAScriptTag(WATagBrush)>>openTag
|4.6% {110ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 4.0% {96ms} WAHtmlAttributes>>encodeOn:
| 3.2% {76ms} WAHtmlDocument(WADocument)>>nextPut:
| 3.1% {74ms} primitives
3.6% {86ms} WAScriptTag(WATagBrush)>>closeTag
3.3% {80ms} WAHtmlDocument(WAXmlDocument)>>closeTag:
3.3% {78ms} WriteStream>>nextPutAll:
6.6% {158ms} WAGenericTag(WATagBrush)>>with:
|4.5% {108ms} WAGenericTag(WATagBrush)>>openTag
| 4.4% {106ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 4.2% {100ms} WAHtmlAttributes>>encodeOn:
| 3.0% {72ms} WAHtmlDocument(WADocument)>>nextPut:
1.4% {34ms} WAPerformanceFunctionalTest>>renderInline:key:on:
1.4% {34ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
1.2% {28ms} WAHtmlCanvas(WACanvas)>>flush
1.2% {28ms} WABreakTag(WABrush)>>close
8.5% {204ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
7.4% {178ms} WAHtmlCanvas(WACanvas)>>flush
2.8% {68ms} WAAnchorTag>>callback:
|1.7% {40ms} WAAnchorTag(WATagBrush)>>storeCallback:
| 1.7% {40ms} WACallbackRegistry>>store:
| 1.2% {28ms} Dictionary>>at:put:
2.7% {64ms} WAAnchorTag>>with:
|2.4% {58ms} WAAnchorTag(WATagBrush)>>with:
| 1.6% {38ms} WAAnchorTag(WATagBrush)>>openTag
| 1.6% {38ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 1.4% {34ms} WAHtmlAttributes>>encodeOn:
1.3% {30ms} WAHtmlCanvas>>listItem:
1.2% {28ms} WAHtmlCanvas>>unorderedList:
1.1% {26ms} WAUnorderedListTag(WATagBrush)>>with:
3.8% {92ms} WAHtmlCanvas>>tableRow:
|3.5% {84ms} WAGenericTag(WATagBrush)>>with:
| 2.8% {66ms} WAGenericTag(WATagBrush)>>closeTag
| 2.7% {64ms} WAHtmlDocument(WAXmlDocument)>>closeTag:
| 2.6% {62ms} WriteStream>>nextPut:
2.2% {52ms} WAHtmlCanvas>>table:
|1.8% {42ms} WATableTag(WATagBrush)>>with:
2.1% {50ms} WAHtmlCanvas>>tableData:
2.0% {48ms} WATableDataTag(WATagBrush)>>with:
8.4% {200ms} WAHtmlCanvas(WATagCanvas)>>withLineBreaks:
3.6% {86ms} WAHtmlCanvas(WACanvas)>>text:
|2.1% {50ms} WAHtmlCanvas(WACanvas)>>flush
| |2.1% {50ms} WABreakTag(WABrush)>>close
| | 2.0% {48ms} WABreakTag(WATagBrush)>>with:
|1.4% {34ms} WAHtmlCanvas(WARenderer)>>text:
| 1.2% {28ms} WAHtmlDocument(WAXmlDocument)>>print:
| 1.1% {26ms} ByteString(String)>>encodeOn:
| 1.1% {26ms} WAXmlEncoder>>nextPutAll:
3.2% {77ms} ReadStream(PositionableStream)>>nextLine
2.0% {48ms} ReadStream>>upToAnyOf:do:
5.8% {138ms} WAButtonTag>>with:
|5.8% {138ms} WAButtonTag(WAFormInputTag)>>with:
| 2.9% {70ms} WAButtonTag(WATagBrush)>>with:
| |2.1% {50ms} WAButtonTag(WATagBrush)>>openTag
| | 2.1% {50ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 1.8% {42ms} WAHtmlAttributes>>encodeOn:
| 2.3% {55ms} WAButtonTag(WATagBrush)>>class:
| 2.0% {49ms} WAHtmlAttributes>>addClass:
| 2.0% {49ms} WAHtmlAttributes>>at:append:separator:
2.1% {50ms} WAButtonTag>>callback:
1.7% {40ms} WAButtonTag(WATagBrush)>>storeCallback:
1.6% {38ms} WACallbackRegistry>>store:
2.3% {56ms} WAHtmlCanvas>>form:
|1.3% {32ms} WAFormTag(WATagBrush)>>with:
1.3% {32ms} WAHtmlCanvas>>textArea
|1.3% {32ms} WAHtmlCanvas(WACanvas)>>brush:
| 1.3% {32ms} WAHtmlCanvas(WACanvas)>>flush
| 1.3% {32ms} WATextInputTag(WABrush)>>close
| 1.3% {32ms} WATextInputTag>>with:
| 1.3% {32ms} WATextInputTag(WAFormInputTag)>>with:
| 1.3% {30ms} WATextInputTag(WATagBrush)>>with:
| 1.2% {28ms} WATextInputTag(WATagBrush)>>openTag
| 1.2% {28ms}
WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 1.2% {28ms} WAHtmlAttributes>>encodeOn:
1.3% {30ms} WAHtmlCanvas>>radioButton
|1.2% {28ms} WAHtmlCanvas(WACanvas)>>brush:
| 1.1% {26ms} WAHtmlCanvas(WACanvas)>>flush
| 1.1% {26ms} WASelectTag(WABrush)>>close
| 1.1% {26ms} WASelectTag(WATagBrush)>>with:
1.3% {30ms} WAHtmlCanvas>>checkbox
1.3% {30ms} WAHtmlCanvas(WACanvas)>>brush:
1.3% {30ms} WAHtmlCanvas(WACanvas)>>flush
1.3% {30ms} WATextAreaTag(WABrush)>>close
1.3% {30ms} WATextAreaTag>>with:
1.3% {30ms} WATextAreaTag(WAFormInputTag)>>with:
1.3% {30ms} WATextAreaTag(WATagBrush)>>with:
8.4% {200ms} WAHtmlCanvas(WACanvas)>>text:
8.4% {200ms} WAHtmlCanvas(WARenderer)>>text:
8.3% {198ms} WAHtmlDocument(WAXmlDocument)>>print:
8.2% {196ms} ByteString(String)>>encodeOn:
8.0% {192ms} WAXmlEncoder>>nextPutAll:
4.5% {108ms} primitives
2.1% {50ms} WriteStream>>nextPut:
1.4% {34ms} Character>>greaseInteger
1.1% {26ms} primitives
6.5% {155ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
|6.0% {143ms} WAHtmlCanvas(WACanvas)>>flush
| 5.9% {141ms} WABreakTag(WABrush)>>close
| 5.8% {139ms} WABreakTag(WATagBrush)>>with:
| 3.8% {90ms} WABreakTag(WATagBrush)>>openTag
| |3.5% {84ms}
WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 2.9% {70ms} WriteStream>>nextPutAll:
| 2.0% {47ms} WABreakTag(WABrush)>>with:
| 1.5% {35ms} primitives
1.8% {43ms} WAHtmlCanvas>>break
1.3% {31ms} WABreakTag class(GRObject class)>>new
1.3% {31ms} WABreakTag(WABrush)>>initialize
**Leaves**
21.6% {516ms} WAHtmlCanvas(WACanvas)>>flush
11.5% {274ms} WriteStream>>nextPutAll:
7.9% {190ms} WriteStream>>nextPut:
7.0% {168ms} WAHtmlDocument(WADocument)>>nextPut:
4.8% {115ms} WAUnorderedListTag(WABrush)>>with:
4.8% {114ms} WAXmlEncoder>>nextPutAll:
2.8% {67ms} WAUnorderedListTag(WABrush)>>initialize
2.3% {56ms} WARequestFields(GRSmallDictionary)>>keysAndValuesDo:
1.6% {38ms} WAHtmlCanvas(WACanvas)>>render:
1.5% {35ms} WAHtmlAttributes(GRSmallDictionary)>>findIndexFor:
1.3% {32ms} WAScriptTag(WABrush)>>setParent:canvas:
1.3% {32ms} WAHtmlDocument(WAXmlDocument)>>print:
1.3% {32ms} WAAnchorTag(WATagBrush)>>closeTag
1.3% {30ms} SmallInteger>>printString
1.3% {30ms} WAAnchorTag(WATagBrush)>>with:
1.2% {28ms} WAHtmlDocument(WADocument)>>nextPutAll:
1.2% {28ms} WAHtmlCanvas(WARenderer)>>render:
1.1% {26ms} Character>>greaseInteger
1.1% {26ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
**Memory**
old -451,100 bytes
young -912,132 bytes
used -1,363,232 bytes
free -3,863,428 bytes
**GCs**
full 11 totalling 672ms (28.0% uptime), avg 61.0ms
incr 175 totalling 171ms (7.0% uptime), avg 1.0ms
tenures 22 (avg 7 GCs/tenure)
root table 0 overflows
- 2534 tallies, 2540 msec.
**Tree**
--------------------------------
Process: (70s) AJP worker 2: nil
--------------------------------
10.8% {275ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
|10.0% {255ms} WAHtmlCanvas(WACanvas)>>flush
| 9.8% {249ms} WABreakTag(WABrush)>>close
| 9.6% {245ms} WABreakTag(WATagBrush)>>with:
| 8.1% {204ms} WABreakTag(WATagBrush)>>openTag
| |8.0% {202ms}
WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 6.8% {172ms} WriteStream>>nextPutAll:
| | 1.2% {30ms} WriteStream>>nextPut:
| 1.3% {34ms} WABreakTag(WABrush)>>with:
| 1.1% {28ms} primitives
1.8% {46ms} WAHtmlCanvas>>break
1.7% {42ms} WABreakTag class(GRObject class)>>new
1.7% {42ms} WABreakTag(WABrush)>>initialize
12.2% {311ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
10.8% {275ms} WAHtmlCanvas(WACanvas)>>flush
1.3% {32ms} WAHtmlCanvas(WACanvas)>>render:
11.0% {279ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
11.0% {279ms} WAHtmlCanvas(WACanvas)>>flush
3.0% {76ms} WAHtmlCanvas>>tableRow:
|2.3% {58ms} WAGenericTag(WATagBrush)>>with:
| 1.0% {26ms} WAGenericTag(WABrush)>>with:
2.5% {64ms} WAHtmlCanvas>>table:
|1.8% {46ms} WATableTag(WATagBrush)>>with:
2.3% {58ms} WAHtmlCanvas>>tableData:
2.1% {52ms} WATableDataTag(WATagBrush)>>with:
2.8% {70ms} WAAnchorTag>>with:
|2.4% {62ms} WAAnchorTag(WATagBrush)>>with:
| 1.7% {42ms} WAAnchorTag(WATagBrush)>>openTag
| 1.7% {42ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 1.5% {38ms} WAHtmlAttributes>>encodeOn:
2.3% {58ms} WAAnchorTag>>callback:
|1.2% {30ms} WAAnchorTag(WATagBrush)>>storeCallback:
| 1.2% {30ms} WACallbackRegistry>>store:
| 1.1% {28ms} Dictionary>>at:put:
1.6% {40ms} WAHtmlCanvas>>listItem:
7.5% {190ms} WAHtmlCanvas>>script:
7.3% {186ms} WAScriptTag>>with:
5.7% {145ms} WAScriptTag(WATagBrush)>>with:
|3.1% {79ms} WAScriptTag(WATagBrush)>>openTag
| |3.1% {79ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 1.8% {46ms} WAHtmlAttributes>>encodeOn:
| | 1.2% {31ms} WriteStream>>nextPutAll:
|1.3% {32ms} WAScriptTag(WATagBrush)>>closeTag
| 1.2% {30ms} WAHtmlDocument(WAXmlDocument)>>closeTag:
| 1.1% {28ms} WriteStream>>nextPutAll:
1.5% {37ms} WAHtmlAttributes(GRSmallDictionary)>>at:ifAbsentPut:
7.7% {194ms} WAHtmlCanvas(WATagCanvas)>>withLineBreaks:
3.6% {92ms} WAHtmlCanvas(WACanvas)>>text:
|2.4% {62ms} WAHtmlCanvas(WACanvas)>>flush
| 2.4% {62ms} WABreakTag(WABrush)>>close
| 2.3% {58ms} WABreakTag(WATagBrush)>>with:
| 1.2% {30ms} WABreakTag(WATagBrush)>>openTag
| |1.2% {30ms}
WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 1.0% {26ms} WABreakTag(WABrush)>>with:
2.8% {72ms} ReadStream(PositionableStream)>>nextLine
2.4% {62ms} ReadStream>>upToAnyOf:do:
5.9% {150ms} WAButtonTag>>with:
|5.9% {150ms} WAButtonTag(WAFormInputTag)>>with:
| 2.9% {74ms} WAButtonTag(WATagBrush)>>with:
| |2.2% {56ms} WAButtonTag(WATagBrush)>>openTag
| | 2.2% {56ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 1.9% {48ms} WAHtmlAttributes>>encodeOn:
| 2.1% {52ms} WAButtonTag(WATagBrush)>>class:
| 1.7% {44ms} WAHtmlAttributes>>addClass:
| 1.7% {44ms} WAHtmlAttributes>>at:append:separator:
1.7% {42ms} WAButtonTag>>callback:
1.1% {28ms} WAButtonTag(WATagBrush)>>storeCallback:
1.0% {26ms} WACallbackRegistry>>store:
3.7% {94ms} WAGenericTag(WATagBrush)>>with:
|2.3% {58ms} WAGenericTag(WATagBrush)>>openTag
| 2.2% {56ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 2.1% {52ms} WAHtmlAttributes>>encodeOn:
1.7% {42ms} WAPerformanceFunctionalTest>>renderInline:key:on:
|1.7% {42ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
| 1.5% {38ms} WAHtmlCanvas(WACanvas)>>flush
| 1.4% {36ms} WABreakTag(WABrush)>>close
| 1.4% {36ms} WABreakTag(WATagBrush)>>with:
1.1% {28ms} WAHtmlCanvas(WARenderer)>>nextId
7.7% {194ms} WAHtmlCanvas(WACanvas)>>text:
7.6% {192ms} WAHtmlCanvas(WARenderer)>>text:
7.5% {190ms} WAHtmlDocument(WAXmlDocument)>>print:
7.5% {190ms} ByteString(String)>>encodeOn:
7.5% {190ms} WAXmlEncoder>>nextPutAll:
5.4% {136ms} primitives
1.3% {32ms} Character>>greaseInteger
1.2% {30ms} primitives
3.6% {92ms} WAHtmlCanvas>>form:
|2.5% {64ms} WAHtmlCanvas>>form
| |2.5% {64ms} WAFormTag class(GRObject class)>>new
| | 2.5% {64ms} WAFormTag(WABasicFormTag)>>initialize
| | 2.4% {60ms} WAFormTag(WAObject)>>requestContext
| | 2.4% {60ms} WACurrentRequestContext class(WADynamicVariable
class)>>value
| | 2.4% {60ms} WACurrentRequestContext class(Exception class)>>signal
| | 2.4% {60ms} WACurrentRequestContext(Exception)>>signal
| | 2.3% {58ms} MethodContext(ContextPart)>>handleSignal:
| | 1.7% {42ms} MethodContext(ContextPart)>>handleSignal:
| | 1.5% {38ms} MethodContext(ContextPart)>>handleSignal:
| | 1.0% {26ms} primitives
|1.1% {28ms} WAFormTag(WATagBrush)>>with:
1.2% {30ms} WAHtmlCanvas>>textArea
1.1% {28ms} WAHtmlCanvas(WACanvas)>>brush:
1.0% {26ms} WAHtmlCanvas(WACanvas)>>flush
1.0% {26ms} WATextInputTag(WABrush)>>close
1.0% {26ms} WATextInputTag>>with:
1.0% {26ms} WATextInputTag(WAFormInputTag)>>with:
**Leaves**
24.9% {633ms} WAHtmlCanvas(WACanvas)>>flush
14.6% {372ms} WriteStream>>nextPutAll:
6.5% {164ms} WAAnchorTag(WABrush)>>with:
5.5% {140ms} WAXmlEncoder>>nextPutAll:
5.3% {134ms} WriteStream>>nextPut:
2.8% {72ms} WAUnorderedListTag(WABrush)>>initialize
2.3% {59ms} WAHtmlAttributes(GRSmallDictionary)>>at:ifAbsentPut:
2.1% {54ms} WAHtmlDocument(WADocument)>>nextPutAll:
1.8% {46ms} WAHtmlDocument(WADocument)>>nextPut:
1.7% {42ms} MethodContext(ContextPart)>>handleSignal:
1.6% {40ms} WAHtmlCanvas(WACanvas)>>render:
1.3% {32ms} WAAnchorTag(WATagBrush)>>with:
1.2% {30ms} Character>>greaseInteger
1.1% {28ms} WARequestFields(GRSmallDictionary)>>keysAndValuesDo:
1.1% {28ms} WAHtmlCanvas(WARenderer)>>render:
1.0% {26ms} WAHtmlAttributes(GRSmallDictionary)>>at:put:
**Memory**
old -2,771,292 bytes
young +723,848 bytes
used -2,047,444 bytes
free -2,591,924 bytes
**GCs**
full 3 totalling 484ms (19.0% uptime), avg 161.0ms
incr 91 totalling 360ms (14.0% uptime), avg 4.0ms
tenures 14 (avg 6 GCs/tenure)
root table 0 overflows
- 2352 tallies, 2356 msec.
**Tree**
--------------------------------
Process: (70s) AJP worker 1: nil
--------------------------------
12.8% {301ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
12.6% {297ms} WAHtmlCanvas(WACanvas)>>flush
9.1% {214ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
8.8% {206ms} WAHtmlCanvas(WACanvas)>>flush
8.7% {204ms} WABreakTag(WABrush)>>close
8.7% {204ms} WABreakTag(WATagBrush)>>with:
7.8% {184ms} WABreakTag(WATagBrush)>>openTag
7.4% {174ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
6.8% {160ms} WriteStream>>nextPutAll:
3.2% {76ms} WAAnchorTag>>with:
|2.8% {66ms} WAAnchorTag(WATagBrush)>>with:
| 2.4% {56ms} WAAnchorTag(WATagBrush)>>openTag
| 2.4% {56ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 2.2% {52ms} WAHtmlAttributes>>encodeOn:
2.1% {50ms} WAAnchorTag>>callback:
1.5% {36ms} WAHtmlCanvas>>listItem:
7.5% {176ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
6.0% {140ms} WAHtmlCanvas(WACanvas)>>flush
1.2% {28ms} WAHtmlCanvas(WACanvas)>>render:
8.2% {192ms} WAHtmlCanvas>>script:
7.9% {186ms} WAScriptTag>>with:
6.6% {156ms} WAScriptTag(WATagBrush)>>with:
3.6% {84ms} WAScriptTag(WATagBrush)>>openTag
3.6% {84ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
2.6% {62ms} WAHtmlAttributes>>encodeOn:
1.1% {26ms} WAHtmlDocument(WADocument)>>nextPut:
3.2% {76ms} WAHtmlCanvas>>tableRow:
|2.0% {48ms} WAGenericTag(WATagBrush)>>with:
2.9% {68ms} WAHtmlCanvas>>table:
|2.2% {52ms} WATableTag(WATagBrush)>>with:
| 1.2% {28ms} WATableTag(WABrush)>>with:
2.1% {50ms} WAHtmlCanvas>>tableData:
2.0% {46ms} WATableDataTag(WATagBrush)>>with:
8.5% {200ms} WAHtmlCanvas(WATagCanvas)>>withLineBreaks:
3.8% {90ms} ReadStream(PositionableStream)>>nextLine
|3.0% {70ms} ReadStream>>upToAnyOf:do:
3.7% {86ms} WAHtmlCanvas(WACanvas)>>text:
2.6% {62ms} WAHtmlCanvas(WACanvas)>>flush
2.6% {62ms} WABreakTag(WABrush)>>close
2.6% {62ms} WABreakTag(WATagBrush)>>with:
1.5% {36ms} WABreakTag(WABrush)>>with:
1.3% {30ms} primitives
6.5% {152ms} WAButtonTag>>with:
|6.3% {148ms} WAButtonTag(WAFormInputTag)>>with:
| 3.8% {90ms} WAButtonTag(WATagBrush)>>with:
| |2.0% {48ms} WAButtonTag(WATagBrush)>>openTag
| | 2.0% {48ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| | 2.0% {48ms} WAHtmlAttributes>>encodeOn:
| 1.9% {44ms} WAButtonTag(WATagBrush)>>class:
| 1.8% {42ms} WAHtmlAttributes>>addClass:
| 1.8% {42ms} WAHtmlAttributes>>at:append:separator:
1.6% {38ms} WAButtonTag>>callback:
1.1% {26ms} WAButtonTag(WATagBrush)>>storeCallback:
1.1% {26ms} WACallbackRegistry>>store:
4.6% {108ms} WAGenericTag(WATagBrush)>>with:
|2.8% {66ms} WAGenericTag(WATagBrush)>>openTag
| 2.7% {64ms} WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
| 2.5% {58ms} WAHtmlAttributes>>encodeOn:
1.9% {44ms} WAPerformanceFunctionalTest>>renderInline:key:on:
1.9% {44ms} WAPerformanceFunctionalTest>>renderInline:factor:key:on:
1.7% {40ms} WAHtmlCanvas(WACanvas)>>flush
1.6% {38ms} WABreakTag(WABrush)>>close
1.6% {38ms} WABreakTag(WATagBrush)>>with:
1.2% {28ms} WABreakTag(WATagBrush)>>openTag
1.1% {26ms}
WAHtmlDocument(WAXmlDocument)>>openTag:attributes:closed:
8.2% {192ms} WAHtmlCanvas(WACanvas)>>text:
8.2% {192ms} WAHtmlCanvas(WARenderer)>>text:
8.1% {190ms} WAHtmlDocument(WAXmlDocument)>>print:
8.1% {190ms} ByteString(String)>>encodeOn:
8.0% {188ms} WAXmlEncoder>>nextPutAll:
5.2% {122ms} primitives
1.5% {36ms} Character>>greaseInteger
|1.2% {28ms} primitives
1.3% {30ms} WriteStream>>nextPut:
4.3% {102ms} WAHtmlCanvas>>form:
3.6% {84ms} WAHtmlCanvas>>form
3.5% {82ms} WAFormTag class(GRObject class)>>new
3.5% {82ms} WAFormTag(WABasicFormTag)>>initialize
3.0% {70ms} WAFormTag(WAObject)>>requestContext
3.0% {70ms} WACurrentRequestContext class(WADynamicVariable
class)>>value
3.0% {70ms} WACurrentRequestContext class(Exception class)>>signal
3.0% {70ms} WACurrentRequestContext(Exception)>>signal
2.9% {68ms} MethodContext(ContextPart)>>handleSignal:
1.9% {44ms} MethodContext(ContextPart)>>handleSignal:
1.6% {38ms} MethodContext(ContextPart)>>handleSignal:
1.1% {26ms} primitives
**Leaves**
21.4% {505ms} WAHtmlCanvas(WACanvas)>>flush
14.3% {337ms} WriteStream>>nextPutAll:
6.3% {148ms} WAAnchorTag(WABrush)>>with:
6.0% {140ms} WriteStream>>nextPut:
5.5% {130ms} WAXmlEncoder>>nextPutAll:
2.9% {68ms} WARequestFields(GRSmallDictionary)>>keysAndValuesDo:
2.8% {66ms} WAHtmlDocument(WADocument)>>nextPut:
2.0% {48ms} WAHtmlDocument(WADocument)>>nextPutAll:
2.0% {46ms} MethodContext(ContextPart)>>handleSignal:
1.7% {40ms} WAUnorderedListTag(WABrush)>>initialize
1.5% {36ms} WAHtmlCanvas(WACanvas)>>render:
1.3% {30ms} WAHtmlCanvas(WARenderer)>>render:
1.2% {28ms} WAHtmlAttributes(GRSmallDictionary)>>at:ifAbsentPut:
1.2% {28ms} Character>>greaseInteger
1.1% {26ms} WAAnchorTag(WATagBrush)>>with:
**Memory**
old -1,583,352 bytes
young -224,252 bytes
used -1,807,604 bytes
free +2,241,452 bytes
**GCs**
full 2 totalling 328ms (14.0% uptime), avg 164.0ms
incr 90 totalling 355ms (15.0% uptime), avg 4.0ms
tenures 14 (avg 6 GCs/tenure)
root table 0 overflows