asynchat speedup improvement: avoid to use a function mimicking old buffer() builtin behavior; instead use plain slicing
This commit is contained in:
parent
a0e3febe5a
commit
d9f38bc704
|
@ -49,18 +49,6 @@ import socket
|
|||
import asyncore
|
||||
from collections import deque
|
||||
|
||||
def buffer(obj, start=None, stop=None):
|
||||
# if memoryview objects gain slicing semantics,
|
||||
# this function will change for the better
|
||||
# memoryview used for the TypeError
|
||||
memoryview(obj)
|
||||
if start == None:
|
||||
start = 0
|
||||
if stop == None:
|
||||
stop = len(obj)
|
||||
x = obj[start:stop]
|
||||
## print("buffer type is: %s"%(type(x),))
|
||||
return x
|
||||
|
||||
class async_chat (asyncore.dispatcher):
|
||||
"""This is an abstract class. You must derive from this class, and add
|
||||
|
@ -240,7 +228,7 @@ class async_chat (asyncore.dispatcher):
|
|||
# handle classic producer behavior
|
||||
obs = self.ac_out_buffer_size
|
||||
try:
|
||||
data = buffer(first, 0, obs)
|
||||
data = first[:obs]
|
||||
except TypeError:
|
||||
data = first.more()
|
||||
if data:
|
||||
|
|
Loading…
Reference in New Issue