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

Reply via email to