[Webkit-unassigned] [Bug 113304] New: SocketStreamHandle (Chromium port) should fully use IPC window in send()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 26 06:24:31 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=113304

           Summary: SocketStreamHandle (Chromium port) should fully use
                    IPC window in send()
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: tyoshino at google.com
                CC: toyoshim at chromium.org, ricea at chromium.org,
                    yhirano at chromium.org


socket_stream of Chromium buffers send data up to 32KiB (exact) bytes.

However, SocketStreamHandleInternal::send() method keeps in-flight send data not greater than m_maxPendingSendAllowed - 1 that is 32KiB - 1. This means that SocketStreamHandleInternal consumes the buffered data in SocketStreamHandleBase by 32KiB - 1. It makes memory copy operations unaligned unnecessarily.

An experiment using the benchmark tool of pywebsocket and emulated 10ms RTT ($ sudo tc qdisc add dev lo root netem delay 10ms) showed this change improves send performance to ~3 times of current.

Message|
size   |  After     Before
KiB    |  (kB/s)    (kB/s)
-------+----------------------------------
10     |50171.485  21000.82
50     |63327.149  22520.343
100    |61798.431  22664.896
500    |67949.569  23572.744
1000   |68817.204  23858.341
5000   |68817.204  23836.127
10000  |64160.401  23437.858
50000  |59362.319  22314.23
100000 |59918.081  23852.784

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list