Stefan Behnel, 03.07.2012 19:56: > Amaury Forgeot d'Arc, 03.07.2012 18:26: >> Then this should work: >> pypy/bin/py.py --withmod-cpyext -c "import nbody" >> >> *very* slowly of course, but I was able to debug pygames this way! > > The problem is not so much that it's generally slow but that the > performance characteristics of the Python code are likely way different > than those of the translated C code. That's certainly the case for Cython > code, running cProfile over Python code, running it over the compiled > module and running callgrind over it often yields totally different > results. That's why I would prefer running this through callgrind instead > of Python+profile (I noticed that cProfile doesn't work either).
Actually, it did work. I just had to enable the _lsprof module. However, it now prints a trace of every C-API function that it calls, e.g. """ <function PyTuple_CheckExact at 0x42da5a0> DONE <function PyList_CheckExact at 0x43cc5a0> DONE <function PySequence_Size at 0x43e1300> DONE <function PySequence_ITEM at 0x43ef300> DONE <function PySequence_ITEM at 0x43ef300> DONE <function PySequence_ITEM at 0x43ef300> DONE <function Py_DecRef at 0x40aea38> <function subtype_dealloc at 0x4322990> <function PyObject_dealloc at 0x43466f0> <function PyObject_Del at 0x43464f8> DONE DONE DONE DONE """ Is there a way to disable that? That level of verbosity could be a bit costly. Stefan _______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev