Regarding pt 1: does running POX under PyPy allow for the program to
take simultaneous advantage of all the cores in a multiprocessor
machine? IOW, does PyPy not suffer from the "single executing thread"
limitation that CPython's GIL imposes?
On 03/19/2013 10:55 AM, Murphy McCauley wrote:
I don't have any experience profiling POX, but here are some thoughts.
1. Have you tried running your application using PyPy instead of CPython?
2. It could be that the problem is related to the cost of switching between the
recoco thread and the select IO thread.
This may also be why you're not seeing useful info in the profiler. The
debugger branch has a tweak where recoco tasks and IO are done on the same
thread. This is less conceptually clean and interferes with some things (e.g.
tkinter), but can reduce IO latency considerably which can make a notable
improvement in performance for some things. A planned feature for carp is to
be able to enable this mode from the commandline, but you might see if you can
get your app running on the debugger branch now to try it out.
-- Murphy
On Mar 19, 2013, at 5:36 AM, Tmusic wrote:
Hi,
My pox application is slower than expected, so I'm trying to profile it.
Unfortunately the information from cProfile is not very useful. It only
shows>97% sleep, a bit of initialization, but the calls made by the scheduler
(recoco) seem to be missing from the output.
Has any tried to profile a POX application or does anyone know how to get
better profiling info?
Thanks in advance!
Tim