Browse Source

asynchat speedup improvement: avoid to use a function mimicking old buffer() builtin behavior; instead use plain slicing

pull/2332/head
Giampaolo Rodola' 14 years ago
parent
commit
d9f38bc704
  1. 14
      Lib/asynchat.py

14
Lib/asynchat.py

@ -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…
Cancel
Save