[Python-Dev] Request review of cProfile/profile series issue (original) (raw)
Louie Lu me at louie.lu
Mon May 1 11:07:18 EDT 2017
- Previous message (by thread): [Python-Dev] Guarantee the success of some object creation C API functions
- Next message (by thread): [Python-Dev] __getattribute__'s error is not available in __getattr__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
For who may be reviewing cProfile / profile context manager problem,
I prepare a post for explaining why the problem become, and why the patch will fix this problem:
post: https://blog.louie.lu/2017/04/23/python-libs-profile-cant-context-manager/
Thanks, Louie.
2017-04-23 11:21 GMT+08:00 Louie Lu <me at louie.lu>:
Hi all,
I'm now looking for cProfile/profile lib's issue, and have solve a series of dependent problem, here is the list: #9285 - Add a profile decorator to profile and cProfile #30113 - Allow helper functions to wrap sys.setprofile #18971 - Use argparse in the profile/cProfile modules #30118 - Add unittest for cProfile/profile command line interface It can divide into two categories, first is the context manager problem, and the second is optparse to argparse problem. 1. context manager problem: Relative issue: #9285, #30113 Relative PR: #287, #1212, #1253 This is an issue since 2010, and stop at profile can't simply add a enter and exit to make it a context manager. The main problem is, sys.setprofile() will hit the return and get bad return in profile dispatchreturn function. The solution is to insert a simulate call in the helper function, to provide the context between helper frame and where the profile is defined. 2. optparse to argparse problem: Relative issue: #18971, #30118 Relative PR: #1232 Relative patch: profileargparse.patch Serhiy have provide the patch of replace optparse to argparse in the profile and cProfile, but block by Ezio request of unittest for command line interface. The unittest is provide at #1232, and need to be reivew. If the unittest is add and argparse patch is apply, we can then solve more problem, e.g.: #23420, #29238, #21862
This is what I've investigated for cProfile / profile library now, to be move on, it will need others to review the work. Thanks! Best Regards, Louie.
- Previous message (by thread): [Python-Dev] Guarantee the success of some object creation C API functions
- Next message (by thread): [Python-Dev] __getattribute__'s error is not available in __getattr__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]