pypy+builtin_json performance < cpython+ultrajson ________________________________
Date: Wed, 31 Jul 2013 09:22:53 +0200 From: _@lvh.io To: twisted-python@twistedmatrix.com Subject: Re: [Twisted-Python] transport.write performance.
On Jul 31, 2013 4:19 AM, "zipxing"
mailto:zipxing@hotmail.com> wrote: Great! pypy take 20% cpu, 3x fast than cpython! Thanks!
A little problem: cjson and ujson can't install to pypy...
What's wrong with the builtin json module?
ZipXing
________________________________
From: _@lvh.iohttp://lvh.io Date: Tue, 30 Jul 2013 13:09:33 +0200 To: twisted-python@twistedmatrix.commailto: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.commailto:Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Twisted-Python mailing list Twisted-Python@twistedmatrix.commailto: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