[Twisted-Python] transport.write performance.
zipxing
zipxing at hotmail.com
Tue Jul 30 20:15:26 MDT 2013
Great! pypy take 20% cpu, 3x fast than cpython!
Thanks!
A little problem: cjson and ujson can't install to pypy...
ZipXing
________________________________
> From: _ at lvh.io
> Date: Tue, 30 Jul 2013 13:09:33 +0200
> To: twisted-python at 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 at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
More information about the Twisted-Python
mailing list