On 9/3/07, Nicholas Bastin <[EMAIL PROTECTED]> wrote: > NOTE: This data is time sampling, not call graph. Added time could > come from either more calls, or longer calls. > > +312.9% PyDict_GetItem
I've finally managed to get call graph data and it's fairly interesting for this call. I try to find some way to post all of the data at some point, but I thought some initial data might be useful. Calls to PyDict_GetItem in 2.6 (pystone.py 10000): 160839 - instance_getattr2 30325 - class_lookup 5545 - PyString_InternInPlace 4808 - update_one_slot 2290 - PyObject_GenericGetAttr ... Total: 208697 3.0 (pystone.py 10000): 575093 - PyEval_EvalFrameEx 416600 - PyObject_GenericGetAttr 321447 - PyObject_GenericSetAttr 25394 - update_one_slot 10142 - lookup_maybe 8925 - PyUnicode_InternInPlace ... Total: 1368114 Almost all (522631) of the extra calls in PyEval_EvalFrameEx are because in 2.6 we use the unrolled code in LOAD_GLOBAL, and in 3.0, LOAD_GLOBAL always falls through to PyDict_GetItem. I haven't investigated GenericGet/SetAttr yet. -- Nick _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com