{"body":"import io, socket, time\n\nHOST = 'localhost'\nPORT = 65432\n\nfrom cffi import FFI\n\nffi = FFI()\n\nbuf = ffi.buffer(ffi.new(\"char[8192]\"), 8192)\n\nclass SocketIO(object):\n    def __init__(self, sock):\n        self._s = sock\n        self._buf = ffi.buffer(ffi.new(\"char[8192]\"), 8192)\n        self._cache = []\n\n    def readline(self):\n        if self._cache:\n            return self._cache.pop()\n        self._s.recv_into(self._buf, 8192)\n        self._cache.extend(bytes(self._buf).split(b\"\\n\"))\n        self._cache.reverse()\n\nl = []\nfor k in range(30):\n    t0 = time.time()\n    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n        s.connect((HOST, PORT))\n        for i in range(100000):\n            #si = socket.SocketIO(s, \"rb\")\n            #b = io.BufferedReader(si)\n            b = SocketIO(s)\n            while True:\n                x = b.readline()\n                if x is None or x == b'':\n                    break\n    tk = time.time()\n    print(\"%.2f\" % (tk - t0))\n    l.append(tk - t0)\n\n#    s.write(b\"foo\\n\" * 100)\n#    for k in range(100):\n#        b.readline()","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/i1qihBFq","modified":1643189693,"id":"i1qihBFq","size":1082,"lines":44,"own_paste":false,"theme":"","date":1643189693}