Issue #16787: Increase asyncore and asynchat default output buffers size, to

decrease CPU usage and increase throughput.
This commit is contained in:
Charles-François Natali 2013-01-01 16:31:54 +01:00
parent ef45380b6b
commit fe22dcaba7
3 changed files with 7 additions and 4 deletions

View File

@ -56,8 +56,8 @@ class async_chat (asyncore.dispatcher):
# these are overridable defaults # these are overridable defaults
ac_in_buffer_size = 4096 ac_in_buffer_size = 65536
ac_out_buffer_size = 4096 ac_out_buffer_size = 65536
# we don't want to enable the use of encoding by default, because that is a # we don't want to enable the use of encoding by default, because that is a
# sign of an application bug that we don't want to pass silently # sign of an application bug that we don't want to pass silently

View File

@ -532,7 +532,7 @@ class dispatcher_with_send(dispatcher):
def initiate_send(self): def initiate_send(self):
num_sent = 0 num_sent = 0
num_sent = dispatcher.send(self, self.out_buffer[:512]) num_sent = dispatcher.send(self, self.out_buffer[:65536])
self.out_buffer = self.out_buffer[num_sent:] self.out_buffer = self.out_buffer[num_sent:]
def handle_write(self): def handle_write(self):

View File

@ -200,7 +200,10 @@ Core and Builtins
Library Library
------- -------
- Issue 10527: make multiprocessing use poll() instead of select() if available. - Issue #16787: Increase asyncore and asynchat default output buffers size, to
decrease CPU usage and increase throughput.
- Issue #10527: make multiprocessing use poll() instead of select() if available.
- Issue #16688: Fix backreferences did make case-insensitive regex fail on - Issue #16688: Fix backreferences did make case-insensitive regex fail on
non-ASCII strings. Patch by Matthew Barnett. non-ASCII strings. Patch by Matthew Barnett.