Feature Requests item #231540, was opened at 2001-02-08 15:53 Message generated for change (Comment added) made by gbrandl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=355470&aid=231540&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: Threads >Group: None Status: Open Resolution: None Priority: 3 Submitted By: Dave Brueck (dbrueck) >Assigned to: Nobody/Anonymous (nobody) Summary: threads and profiler don't work together Initial Comment: When a new thread is created, it doesn't inherit from the parent thread the trace and profile functions (sys_tracefunc and sys_profilefunc in PyThreadState), so multithreaded programs can't easily be profiled. This may be by design for safety/complexity sake, but the profiler module should still find some way to function correctly. A temporary (and performance-killing) workaround is to modify the standard profiler to hook into threads to start a new profiler for each new thread, and then merge the stats from a child thread into the parent's when the child thread ends. Here is sample code that exhibits the problem. Stats are printed only for the main thread because the child thread has no profiling function and therefore collects no stats: import threading, profile, time def yo(): for j in range(5): print j, def go(): threading.Thread(target=yo).start() time.sleep(1) profile.run('go()') ---------------------------------------------------------------------- >Comment By: Georg Brandl (gbrandl) Date: 2006-10-12 12:40 Message: Logged In: YES user_id=849994 Turning into a feature request. ---------------------------------------------------------------------- Comment By: Tim Peters (tim_one) Date: 2001-08-10 05:31 Message: Logged In: YES user_id=31435 Reassigned to Fred, our current profiler expert. ---------------------------------------------------------------------- Comment By: Tim Peters (tim_one) Date: 2001-02-09 23:57 Message: Assigned to me but reduced the priority. I'll take a look at it, but have to suspect it will get reclassified as a Feature Request and moved into PEP 42. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=355470&aid=231540&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com