Great! pypy take 20% cpu, 3x fast than cpython! Thanks! A little problem: cjson and ujson can't install to pypy...
ZipXing ________________________________ > From: _...@lvh.io > Date: Tue, 30 Jul 2013 13:09:33 +0200 > To: twisted-python@twistedmatrix.com > Subject: Re: [Twisted-Python] transport.write performance. > > Hi zipxing, > > You don't mention the interpreter. Is it CPython? What kind of results > do you get trying it on PyPy? > > Also, you don't need to specify epollreactor. Recent versions of > twisted will automagically choose the appropriate backend. I fixed this > and some other cleanups and got: > > ---- > from time import clock > from twisted.internet import protocol, reactor > from twisted.protocols import basic > > class MeasuringEchoProtocol(basic.LineReceiver): > MEASUREMENT_INTERVAL = 1000 > > def lineReceived(self, data): > self.factory.requests += 1 > if self.factory.requests % self.MEASUREMENT_INTERVAL == 0: > print "RPS: {0}".format(self.factory.requests / clock()) > > self.transport.write(data) > > > > class ServerFactory(protocol.ServerFactory): > protocol = MeasuringEchoProtocol > > def __init__(self): > self.requests = 0 > > > > def main(): > reactor.listenTCP(9976, ServerFactory()) > clock() > reactor.run() > > if __name__ == '__main__': > main() > ---- > > Keep in mind that due to setup time few requests get handled right when > it starts, so the server RPS will take some time to balance out. On my > wimpy laptop on battery power, that was around 420.274404782. > > cheers > lvh > > _______________________________________________ Twisted-Python mailing > list Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python