Hi

I have a case where the #& in Socket >> #waitForSendDoneFor: shows up in
a tally (see attachment). I'm able to push about 1 Mbyte/s more when I
replace that with #and:. So my question is this really needed or should
I file a bug and send a patch?

This is Pharo 1.1.1 BTW.

Cheers
Philippe
 - 30001 tallies, 30001 msec.

**Tree**
--------------------------------
Process: (70) AJP worker 1: Socket>>waitForDataIfClosed:
--------------------------------
9.5% {2850ms} AJPPharoSocketLoop(AJPLoop)>>loop
  9.4% {2820ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    4.2% {1260ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |2.6% {780ms} AJPPharoBufferDataStream>>flush
      |  |2.6% {780ms} AJPPharoSocketWriteStream>>flush
      |  |  2.6% {780ms} AJPPharoSocketWriteStream>>sendBuffer
      |  |    2.6% {780ms} Socket>>sendData:count:
      |  |      2.0% {600ms} primitives
      |1.1% {330ms} AJPResponseWriter>>sendBodyChunk:
    3.7% {1110ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |3.7% {1110ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
      |  1.4% {420ms} AJPPharoAdaptor(AJPAdaptor)>>responseFrom:
      |    |1.3% {390ms} AJPResponse class>>status:headers:body:
      |  1.2% {360ms} AJPPharoAdaptor(WAServerAdaptor)>>handle:
      |    |1.2% {360ms} AJPPharoAdaptor(WAServerAdaptor)>>handleRequest:
      |    |  1.2% {360ms} WADispatcher(WARequestHandler)>>handle:
      |    |    1.1% {330ms} WADispatcher>>handleFiltered:
      |    |      1.1% {330ms} WADispatcher>>handleFiltered:named:
      |  1.0% {300ms} AJPPharoAdaptor(WAServerAdaptor)>>contextFor:
    1.2% {360ms} AJPPharoBufferDataStream>>hintNewTextPacket
      1.2% {360ms} AJPPharoSocketReadStream>>readPacket
--------------------------------
Process: (70) AJP worker 11: Socket>>waitForDataIfClosed:
--------------------------------
8.1% {2430ms} AJPPharoSocketLoop(AJPLoop)>>loop
  8.0% {2400ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    2.8% {840ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |2.8% {840ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
    2.6% {780ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |1.4% {420ms} AJPPharoBufferDataStream>>flush
      |  1.4% {420ms} AJPPharoSocketWriteStream>>flush
      |    1.4% {420ms} AJPPharoSocketWriteStream>>sendBuffer
      |      1.4% {420ms} Socket>>sendData:count:
    2.3% {690ms} AJPPharoBufferDataStream>>hintNewTextPacket
      2.3% {690ms} AJPPharoSocketReadStream>>readPacket
        2.0% {600ms} Socket>>waitForData
          1.8% {540ms} Socket>>waitForDataIfClosed:
            1.7% {510ms} primitives
--------------------------------
Process: (70) AJP worker 5: Socket>>waitForDataIfClosed:
--------------------------------
8.5% {2550ms} AJPPharoSocketLoop(AJPLoop)>>loop
  8.4% {2520ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    3.7% {1110ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |2.2% {660ms} AJPPharoBufferDataStream>>flush
      |  |2.1% {630ms} AJPPharoSocketWriteStream>>flush
      |  |  2.1% {630ms} AJPPharoSocketWriteStream>>sendBuffer
      |  |    2.1% {630ms} Socket>>sendData:count:
      |  |      1.4% {420ms} primitives
      |1.1% {330ms} AJPResponseWriter>>sendBodyChunk:
    3.2% {960ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |3.2% {960ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
      |  1.3% {390ms} AJPPharoAdaptor(WAServerAdaptor)>>handle:
      |    |1.3% {390ms} AJPPharoAdaptor(WAServerAdaptor)>>handleRequest:
      |    |  1.3% {390ms} WADispatcher(WARequestHandler)>>handle:
      |    |    1.3% {390ms} WADispatcher>>handleFiltered:
      |    |      1.3% {390ms} WADispatcher>>handleFiltered:named:
      |    |        1.1% {330ms} 
AJPFastRequestHandler(WARequestHandler)>>handle:
      |    |          1.0% {300ms} AJPFastRequestHandler>>handleFiltered:
      |  1.2% {360ms} AJPPharoAdaptor(AJPAdaptor)>>responseFrom:
      |    1.1% {330ms} AJPResponse class>>status:headers:body:
    1.2% {360ms} AJPPharoBufferDataStream>>hintNewTextPacket
      1.2% {360ms} AJPPharoSocketReadStream>>readPacket
--------------------------------
Process: (70) AJP worker 3: Socket>>waitForDataIfClosed:
--------------------------------
8.7% {2610ms} AJPPharoSocketLoop(AJPLoop)>>loop
  8.6% {2580ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    3.9% {1170ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |2.1% {630ms} AJPPharoBufferDataStream>>flush
      |  |2.0% {600ms} AJPPharoSocketWriteStream>>flush
      |  |  2.0% {600ms} AJPPharoSocketWriteStream>>sendBuffer
      |  |    2.0% {600ms} Socket>>sendData:count:
      |  |      1.3% {390ms} primitives
      |1.2% {360ms} AJPResponseWriter>>sendBodyChunk:
    3.4% {1020ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |3.3% {990ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
      |  1.2% {360ms} AJPPharoAdaptor(WAServerAdaptor)>>handle:
      |    |1.2% {360ms} AJPPharoAdaptor(WAServerAdaptor)>>handleRequest:
      |    |  1.2% {360ms} WADispatcher(WARequestHandler)>>handle:
      |    |    1.2% {360ms} WADispatcher>>handleFiltered:
      |    |      1.2% {360ms} WADispatcher>>handleFiltered:named:
      |  1.2% {360ms} AJPPharoAdaptor(AJPAdaptor)>>responseFrom:
      |    1.1% {330ms} AJPResponse class>>status:headers:body:
    1.0% {300ms} AJPPharoBufferDataStream>>hintNewTextPacket
      1.0% {300ms} AJPPharoSocketReadStream>>readPacket
--------------------------------
Process: (10)  321650688: ProcessorScheduler class>>idleProcess
--------------------------------
1.4% {420ms} ProcessorScheduler class>>idleProcess
--------------------------------
Process: (70) AJP worker 6: Socket>>waitForDataIfClosed:
--------------------------------
7.4% {2220ms} AJPPharoSocketLoop(AJPLoop)>>loop
  7.4% {2220ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    3.1% {930ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |1.8% {540ms} AJPPharoBufferDataStream>>flush
      |  1.8% {540ms} AJPPharoSocketWriteStream>>flush
      |    1.8% {540ms} AJPPharoSocketWriteStream>>sendBuffer
      |      1.8% {540ms} Socket>>sendData:count:
      |        1.2% {360ms} primitives
    2.7% {810ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |2.7% {810ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
    1.3% {390ms} AJPPharoBufferDataStream>>hintNewTextPacket
      1.3% {390ms} AJPPharoSocketReadStream>>readPacket
--------------------------------
Process: (70) AJP worker 7: Socket>>waitForDataIfClosed:
--------------------------------
7.6% {2280ms} AJPPharoSocketLoop(AJPLoop)>>loop
  7.5% {2250ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    3.0% {900ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |1.6% {480ms} AJPPharoBufferDataStream>>flush
      |  |1.6% {480ms} AJPPharoSocketWriteStream>>flush
      |  |  1.6% {480ms} AJPPharoSocketWriteStream>>sendBuffer
      |  |    1.6% {480ms} Socket>>sendData:count:
      |  |      1.1% {330ms} primitives
      |1.0% {300ms} AJPResponseWriter>>sendBodyChunk:
    2.8% {840ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |2.8% {840ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
      |  1.1% {330ms} AJPPharoAdaptor(AJPAdaptor)>>responseFrom:
      |  1.0% {300ms} AJPPharoAdaptor(WAServerAdaptor)>>handle:
      |    1.0% {300ms} AJPPharoAdaptor(WAServerAdaptor)>>handleRequest:
      |      1.0% {300ms} WADispatcher(WARequestHandler)>>handle:
    1.4% {420ms} AJPPharoBufferDataStream>>hintNewTextPacket
      1.4% {420ms} AJPPharoSocketReadStream>>readPacket
        1.2% {360ms} Socket>>waitForData
          1.0% {300ms} Socket>>waitForDataIfClosed:
--------------------------------
Process: (70) AJP worker 11: Socket>>waitForDataIfClosed:
--------------------------------
9.5% {2850ms} AJPPharoSocketLoop(AJPLoop)>>loop
  9.4% {2820ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    4.1% {1230ms} AJPPharoBufferDataStream>>hintNewTextPacket
      |4.1% {1230ms} AJPPharoSocketReadStream>>readPacket
      |  3.8% {1140ms} Socket>>waitForData
      |    3.7% {1110ms} Socket>>waitForDataIfClosed:
      |      3.6% {1080ms} primitives
    2.6% {780ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |2.6% {780ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
    2.5% {750ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      1.5% {450ms} AJPPharoBufferDataStream>>flush
        1.5% {450ms} AJPPharoSocketWriteStream>>flush
          1.5% {450ms} AJPPharoSocketWriteStream>>sendBuffer
            1.5% {450ms} Socket>>sendData:count:
--------------------------------
Process: (70) AJP worker 4: Socket>>waitForDataIfClosed:
--------------------------------
8.4% {2520ms} AJPPharoSocketLoop(AJPLoop)>>loop
  8.3% {2490ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    3.9% {1170ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |2.3% {690ms} AJPPharoBufferDataStream>>flush
      |  |2.2% {660ms} AJPPharoSocketWriteStream>>flush
      |  |  2.2% {660ms} AJPPharoSocketWriteStream>>sendBuffer
      |  |    2.2% {660ms} Socket>>sendData:count:
      |  |      1.5% {450ms} primitives
      |1.1% {330ms} AJPResponseWriter>>sendBodyChunk:
    3.1% {930ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |3.1% {930ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
      |  1.2% {360ms} AJPPharoAdaptor(WAServerAdaptor)>>handle:
      |    |1.2% {360ms} AJPPharoAdaptor(WAServerAdaptor)>>handleRequest:
      |    |  1.1% {330ms} WADispatcher(WARequestHandler)>>handle:
      |    |    1.1% {330ms} WADispatcher>>handleFiltered:
      |    |      1.1% {330ms} WADispatcher>>handleFiltered:named:
      |  1.1% {330ms} AJPPharoAdaptor(AJPAdaptor)>>responseFrom:
      |    1.1% {330ms} AJPResponse class>>status:headers:body:
    1.0% {300ms} AJPPharoBufferDataStream>>hintNewTextPacket
      1.0% {300ms} AJPPharoSocketReadStream>>readPacket
--------------------------------
Process: (70) AJP worker 12: Socket>>waitForDataIfClosed:
--------------------------------
10.9% {3270ms} AJPPharoSocketLoop(AJPLoop)>>loop
  10.8% {3240ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    5.8% {1740ms} AJPPharoBufferDataStream>>hintNewTextPacket
      |5.8% {1740ms} AJPPharoSocketReadStream>>readPacket
      |  5.5% {1650ms} Socket>>waitForData
      |    5.4% {1620ms} Socket>>waitForDataIfClosed:
      |      5.3% {1590ms} primitives
    2.4% {720ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |1.4% {420ms} AJPPharoBufferDataStream>>flush
      |  1.3% {390ms} AJPPharoSocketWriteStream>>flush
      |    1.3% {390ms} AJPPharoSocketWriteStream>>sendBuffer
      |      1.3% {390ms} Socket>>sendData:count:
    2.4% {720ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      2.4% {720ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
--------------------------------
Process: (70) AJP worker 8: Socket>>waitForDataIfClosed:
--------------------------------
7.6% {2280ms} AJPPharoSocketLoop(AJPLoop)>>loop
  7.5% {2250ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    3.0% {900ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |1.8% {540ms} AJPPharoBufferDataStream>>flush
      |  1.8% {540ms} AJPPharoSocketWriteStream>>flush
      |    1.8% {540ms} AJPPharoSocketWriteStream>>sendBuffer
      |      1.8% {540ms} Socket>>sendData:count:
      |        1.2% {360ms} primitives
    2.6% {780ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      |2.6% {780ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
      |  1.1% {330ms} AJPPharoAdaptor(AJPAdaptor)>>responseFrom:
    1.7% {510ms} AJPPharoBufferDataStream>>hintNewTextPacket
      1.7% {510ms} AJPPharoSocketReadStream>>readPacket
        1.5% {450ms} Socket>>waitForData
          1.3% {390ms} Socket>>waitForDataIfClosed:
            1.2% {360ms} primitives
--------------------------------
Process: (70) AJP worker 2: Socket>>waitForDataIfClosed:
--------------------------------
9.2% {2760ms} AJPPharoSocketLoop(AJPLoop)>>loop
  9.1% {2730ms} AJPPharoSocketLoop(AJPLoop)>>loopPossiblyThrowingExceptions
    4.1% {1230ms} AJPPharoSocketLoop(AJPLoop)>>writeResponse:
      |2.3% {690ms} AJPPharoBufferDataStream>>flush
      |  |2.3% {690ms} AJPPharoSocketWriteStream>>flush
      |  |  2.3% {690ms} AJPPharoSocketWriteStream>>sendBuffer
      |  |    2.3% {690ms} Socket>>sendData:count:
      |  |      1.6% {480ms} primitives
      |1.3% {390ms} AJPResponseWriter>>sendBodyChunk:
    3.7% {1110ms} AJPPharoSocketLoop(AJPAdapterLoop)>>forwardRequest:
      3.7% {1110ms} AJPPharoAdaptor(WAServerAdaptor)>>process:
        1.6% {480ms} AJPPharoAdaptor(AJPAdaptor)>>responseFrom:
          |1.5% {450ms} AJPResponse class>>status:headers:body:
        1.0% {300ms} AJPPharoAdaptor(WAServerAdaptor)>>handle:
          1.0% {300ms} AJPPharoAdaptor(WAServerAdaptor)>>handleRequest:
            1.0% {300ms} WADispatcher(WARequestHandler)>>handle:

**Leaves**
17.8% {5340ms} Socket>>sendData:count:
15.5% {4650ms} Socket>>waitForDataIfClosed:
6.9% {2070ms} True>>&
6.7% {2010ms} AJPPharoBufferDataStream>>writeByte:
6.2% {1860ms} WARequestContext>>respond
5.3% {1590ms} AJPResponse class>>status:headers:body:
2.4% {720ms} ReadWriteStream class(PositionableStream class)>>on:
2.1% {630ms} Socket>>receiveAvailableDataInto:startingAt:
1.9% {570ms} Socket>>waitForData
1.4% {420ms} ProcessorScheduler class>>idleProcess
1.3% {390ms} Socket>>isConnected
1.2% {360ms} ByteString(String)>>=

**Memory**
        old                     +916,116 bytes
        young           -38,284 bytes
        used            +877,832 bytes
        free            -877,832 bytes

**GCs**
        full                    0 totalling 0ms (0.0% uptime)
        incr            1838 totalling 2,237ms (7.0% uptime), avg 1.0ms
        tenures         7 (avg 262 GCs/tenure)
        root table      0 overflows

Reply via email to