5 ms·
Hi! Yes, you should totally swing by. Shoot us an email :) I think the sort of performance issues we were hitting were honestly related to just Python runtime
by jtolds 12y ago
Hi! Yes, you should totally swing by. Shoot us an email :)
I think the sort of performance issues we were hitting were honestly related to just Python runtime overhead. A Python function call is actually really expensive, and with Twisted Deferred handling, it's really hard to eliminate the massive amount of function calls each I/O event does.
We just had a really slow CPU so we did our best to eliminate as many Python function calls in hotspots as possible, but yeah that was challenging.
- sigil 12y agoA Python function call is actually really expensive, and with Twisted Deferred handling, it's really hard to eliminate the massive amount of function calls each I/O event does. Ah, makes total sense. Any particular reason you chose to use Twisted in a hardware appliance? Is there a web interface that's supposed to be super responsive?
- jtolds 12y agoThe main codebase actually started out targeting desktop-class hardware, but the poor uptime of user's work machines (now laptops, soon tablets) actually made our business model not work, hence the dedicated hardware.
- lvh 12y agoDid you ever get a chance to evaluate what it does under PyPy? In my experience, there's quite a few such cases where it eliminates most of the overhead, and it's not even uncommon to see it generate what appears to be optimal x86_64.
- jtolds 12y agoNo, we really wanted to use PyPy, but if we couldn't get it to work on ARMv5 it was of no use to us :(
- sanxiyn 12y agoWhy wouldn't PyPy work on ARMv5? I think PyPy folks would be happy to do ARMv5 port for a reasonable price. You can find contact information at http://baroquesoftware.com/ http://baroquesoftware.com/
- jtolds 12y agoYeah, heh, Glyph pointed out the same thing. https://twitter.com/glyph/status/458758471505035265 https://twitter.com/glyph/status/458758471505035265 Hindsight is 20/20 I guess. I have my doubts that that would have solved all of our problems though, but that's certainly a different path we could have taken.