Title: Make pyperformance runnable from `--disable-gil builds` · Issue #116024 · python/cpython · GitHub
Open Graph Title: Make pyperformance runnable from `--disable-gil builds` · Issue #116024 · python/cpython
X Title: Make pyperformance runnable from `--disable-gil builds` · Issue #116024 · python/cpython
Description: Under investigation, psutil has an issued with running pypeformance and pyperf (essential one). With manual uninstalling psutil from pyperf and pyperformance, running the script itself is okay. So the main issue is related to psutil pack...
Open Graph Description: Under investigation, psutil has an issued with running pypeformance and pyperf (essential one). With manual uninstalling psutil from pyperf and pyperformance, running the script itself is okay. So ...
X Description: Under investigation, psutil has an issued with running pypeformance and pyperf (essential one). With manual uninstalling psutil from pyperf and pyperformance, running the script itself is okay. So ...
Opengraph URL: https://github.com/python/cpython/issues/116024
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Make pyperformance runnable from `--disable-gil builds`","articleBody":"Under investigation, `psutil` has an issued with running `pypeformance` and `pyperf` (essential one).\r\nWith manual uninstalling `psutil` from `pyperf` and `pyperformance`, running the script itself is okay.\r\nSo the main issue is related to `psutil` package.\r\n(Need to investigate essential issue from now on)\r\n\r\nWe need to fix psutil-related code for the free-threaded build to benchmark performance exactly.\r\nSince `psutil` in `pyperf` only used for memory usage checking and disabling psutil from pyperf for free-threaded build for a while, it is acceptable (CPU counting also depends on psutils but it has fallback logic, so it's okay)\r\n\r\nFor action items\r\n- [x] Do not use `psutil` if the build is free-threaded from pyperf temporally. https://github.com/psf/pyperf/pull/175\r\n- [x] Check pyperformance benchmark suites are executable. https://github.com/python/pyperformance/pull/330\r\n- [ ] Re-enable `psutil` related features for free-threaded build.\r\n\r\n\u003cdetails\u003e\r\n \u003csummary\u003eBacktrace\u003c/summary\u003e\r\n\r\n```\r\n* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xfffffffffffffff0)\r\n * frame #0: 0x000000018b8a2dc4 libsystem_platform.dylib`_platform_strlen + 4\r\n frame #1: 0x000000018b70e348 libsystem_c.dylib`__vfprintf + 5120\r\n frame #2: 0x000000018b71c4c8 libsystem_c.dylib`vfprintf_l + 68\r\n frame #3: 0x000000018b736fa4 libsystem_c.dylib`printf + 80\r\n frame #4: 0x00000001000fc070 python`_PyModule_CreateInitialized(module=0x0000000100a88330, module_api_version=3) at moduleobject.c:213:5 [opt]\r\n frame #5: 0x0000000100a7d630 _psutil_osx.abi3.so`PyInit__psutil_osx + 28\r\n frame #6: 0x0000000100241e34 python`_PyImport_LoadDynamicModuleWithSpec(spec=0x0000020000474ad0, fp=\u003cunavailable\u003e) at importdl.c:170:9 [opt]\r\n frame #7: 0x0000000100241558 python`_imp_create_dynamic [inlined] _imp_create_dynamic_impl(module=\u003cunavailable\u003e, spec=0x0000020000474ad0, file=0x0000000000000000) at import.c:3750:11 [opt]\r\n frame #8: 0x00000001002414f4 python`_imp_create_dynamic(module=\u003cunavailable\u003e, args=0x0000020000631fc8, nargs=\u003cunavailable\u003e) at import.c.h:485:20 [opt]\r\n frame #9: 0x00000001000fa5fc python`cfunction_vectorcall_FASTCALL(func=0x00000200003082e0, args=0x0000020000631fc8, nargsf=1, kwnames=\u003cunavailable\u003e) at methodobject.c:425:24 [opt]\r\n frame #10: 0x00000001001d82a8 python`_PyEval_EvalFrameDefault(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=0) at generated_cases.c.h:1245:26 [opt]\r\n frame #11: 0x0000000100091990 python`_PyObject_VectorcallTstate(tstate=0x000000010059c288, callable=0x00000200003d4210, args=0x000000016fdf9df0, nargsf=2, kwnames=0x0000000000000000) at pycore_call.h:168:11 [opt]\r\n frame #12: 0x0000000100093c54 python`object_vacall(tstate=0x000000010059c288, base=0x0000000000000000, callable=0x00000200003d4210, vargs=\"\") at call.c:819:14 [opt]\r\n frame #13: 0x0000000100093a78 python`PyObject_CallMethodObjArgs(obj=\u003cunavailable\u003e, name=\u003cunavailable\u003e) at call.c:880:24 [opt]\r\n frame #14: 0x000000010023e5e0 python`PyImport_ImportModuleLevelObject [inlined] import_find_and_load(tstate=0x000000010059c288, abs_name=0x0000020000d0d6e0) at import.c:2758:11 [opt]\r\n frame #15: 0x000000010023e4dc python`PyImport_ImportModuleLevelObject(name=0x0000020000d0d6e0, globals=\u003cunavailable\u003e, locals=\u003cunavailable\u003e, fromlist=0x0000000000000000, level=0) at import.c:2838:15 [opt]\r\n frame #16: 0x00000001001cc478 python`builtin___import__ [inlined] builtin___import___impl(module=\u003cunavailable\u003e, name=0x0000020000d0d6e0, globals=0x0000000000000000, locals=0x0000000000000000, fromlist=0x0000000000000000, level=\u003cunavailable\u003e) at bltinmodule.c:280:12 [opt]\r\n frame #17: 0x00000001001cc464 python`builtin___import__(module=\u003cunavailable\u003e, args=\u003cunavailable\u003e, nargs=\u003cunavailable\u003e, kwnames=\u003cunavailable\u003e) at bltinmodule.c.h:107:20 [opt]\r\n frame #18: 0x00000001000fa70c python`cfunction_vectorcall_FASTCALL_KEYWORDS(func=0x0000020000304ca0, args=0x00000200006314d8, nargsf=1, kwnames=0x0000000000000000) at methodobject.c:441:24 [opt]\r\n frame #19: 0x00000001001d82a8 python`_PyEval_EvalFrameDefault(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=0) at generated_cases.c.h:1245:26 [opt]\r\n frame #20: 0x0000000100091990 python`_PyObject_VectorcallTstate(tstate=0x000000010059c288, callable=0x00000200003d4390, args=0x000000016fdfa360, nargsf=3, kwnames=0x0000000000000000) at pycore_call.h:168:11 [opt]\r\n frame #21: 0x0000000100093c54 python`object_vacall(tstate=0x000000010059c288, base=0x0000000000000000, callable=0x00000200003d4390, vargs=\"\") at call.c:819:14 [opt]\r\n frame #22: 0x0000000100093a78 python`PyObject_CallMethodObjArgs(obj=\u003cunavailable\u003e, name=\u003cunavailable\u003e) at call.c:880:24 [opt]\r\n frame #23: 0x000000010023e6d4 python`PyImport_ImportModuleLevelObject(name=0x00000001005651e8, globals=\u003cunavailable\u003e, locals=\u003cunavailable\u003e, fromlist=0x0000020000631280, level=1) at import.c:2906:25 [opt]\r\n frame #24: 0x00000001001ea5cc python`_PyEval_EvalFrameDefault at ceval.c:2625:16 [opt]\r\n frame #25: 0x00000001001ea430 python`_PyEval_EvalFrameDefault(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=0) at generated_cases.c.h:2876:19 [opt]\r\n frame #26: 0x00000001001d2df4 python`_PyEval_Vector [inlined] _PyEval_EvalFrame(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=\u003cunavailable\u003e) at pycore_ceval.h:114:16 [opt] [artificial]\r\n frame #27: 0x00000001001d2b60 python`PyEval_EvalCode(co=0x0000020000c33810, globals=0x00000200006217b0, locals=0x00000200006217b0) at ceval.c:593:21 [opt]\r\n frame #28: 0x00000001001cdbac python`builtin_exec at bltinmodule.c:1135:17 [opt]\r\n frame #29: 0x00000001001cd90c python`builtin_exec(module=\u003cunavailable\u003e, args=\u003cunavailable\u003e, nargs=\u003cunavailable\u003e, kwnames=\u003cunavailable\u003e) at bltinmodule.c.h:521:20 [opt]\r\n frame #30: 0x00000001000fa70c python`cfunction_vectorcall_FASTCALL_KEYWORDS(func=0x00000200003052c0, args=0x0000020000621778, nargsf=2, kwnames=0x0000000000000000) at methodobject.c:441:24 [opt]\r\n frame #31: 0x00000001001d82a8 python`_PyEval_EvalFrameDefault(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=0) at generated_cases.c.h:1245:26 [opt]\r\n frame #32: 0x0000000100091990 python`_PyObject_VectorcallTstate(tstate=0x000000010059c288, callable=0x00000200003d4210, args=0x000000016fdfac40, nargsf=2, kwnames=0x0000000000000000) at pycore_call.h:168:11 [opt]\r\n frame #33: 0x0000000100093c54 python`object_vacall(tstate=0x000000010059c288, base=0x0000000000000000, callable=0x00000200003d4210, vargs=\"\") at call.c:819:14 [opt]\r\n frame #34: 0x0000000100093a78 python`PyObject_CallMethodObjArgs(obj=\u003cunavailable\u003e, name=\u003cunavailable\u003e) at call.c:880:24 [opt]\r\n frame #35: 0x000000010023e5e0 python`PyImport_ImportModuleLevelObject [inlined] import_find_and_load(tstate=0x000000010059c288, abs_name=0x0000020000d0c790) at import.c:2758:11 [opt]\r\n frame #36: 0x000000010023e4dc python`PyImport_ImportModuleLevelObject(name=0x0000020000d0c790, globals=\u003cunavailable\u003e, locals=\u003cunavailable\u003e, fromlist=0x0000000000000000, level=0) at import.c:2838:15 [opt]\r\n frame #37: 0x00000001001cc478 python`builtin___import__ [inlined] builtin___import___impl(module=\u003cunavailable\u003e, name=0x0000020000d0c790, globals=0x0000000000000000, locals=0x0000000000000000, fromlist=0x0000000000000000, level=\u003cunavailable\u003e) at bltinmodule.c:280:12 [opt]\r\n frame #38: 0x00000001001cc464 python`builtin___import__(module=\u003cunavailable\u003e, args=\u003cunavailable\u003e, nargs=\u003cunavailable\u003e, kwnames=\u003cunavailable\u003e) at bltinmodule.c.h:107:20 [opt]\r\n frame #39: 0x00000001000fa70c python`cfunction_vectorcall_FASTCALL_KEYWORDS(func=0x0000020000304ca0, args=0x0000020000630ad8, nargsf=1, kwnames=0x0000000000000000) at methodobject.c:441:24 [opt]\r\n frame #40: 0x00000001001d82a8 python`_PyEval_EvalFrameDefault(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=0) at generated_cases.c.h:1245:26 [opt]\r\n frame #41: 0x0000000100091990 python`_PyObject_VectorcallTstate(tstate=0x000000010059c288, callable=0x00000200003d4390, args=0x000000016fdfb1b0, nargsf=3, kwnames=0x0000000000000000) at pycore_call.h:168:11 [opt]\r\n frame #42: 0x0000000100093c54 python`object_vacall(tstate=0x000000010059c288, base=0x0000000000000000, callable=0x00000200003d4390, vargs=\"\") at call.c:819:14 [opt]\r\n frame #43: 0x0000000100093a78 python`PyObject_CallMethodObjArgs(obj=\u003cunavailable\u003e, name=\u003cunavailable\u003e) at call.c:880:24 [opt]\r\n frame #44: 0x000000010023e6d4 python`PyImport_ImportModuleLevelObject(name=0x00000001005651e8, globals=\u003cunavailable\u003e, locals=\u003cunavailable\u003e, fromlist=0x0000020000ae5f10, level=1) at import.c:2906:25 [opt]\r\n frame #45: 0x00000001001ea5cc python`_PyEval_EvalFrameDefault at ceval.c:2625:16 [opt]\r\n frame #46: 0x00000001001ea430 python`_PyEval_EvalFrameDefault(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=0) at generated_cases.c.h:2876:19 [opt]\r\n frame #47: 0x00000001001d2df4 python`_PyEval_Vector [inlined] _PyEval_EvalFrame(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=\u003cunavailable\u003e) at pycore_ceval.h:114:16 [opt] [artificial]\r\n frame #48: 0x00000001001d2b60 python`PyEval_EvalCode(co=0x00000200002bb610, globals=0x0000020000c75e30, locals=0x0000020000c75e30) at ceval.c:593:21 [opt]\r\n frame #49: 0x00000001001cdbac python`builtin_exec at bltinmodule.c:1135:17 [opt]\r\n frame #50: 0x00000001001cd90c python`builtin_exec(module=\u003cunavailable\u003e, args=\u003cunavailable\u003e, nargs=\u003cunavailable\u003e, kwnames=\u003cunavailable\u003e) at bltinmodule.c.h:521:20 [opt]\r\n frame #51: 0x00000001000fa70c python`cfunction_vectorcall_FASTCALL_KEYWORDS(func=0x00000200003052c0, args=0x00000200006215f8, nargsf=2, kwnames=0x0000000000000000) at methodobject.c:441:24 [opt]\r\n frame #52: 0x00000001001d82a8 python`_PyEval_EvalFrameDefault(tstate=\u003cunavailable\u003e, frame=\u003cunavailable\u003e, throwflag=0) at generated_cases.c.h:1245:26 [opt]\r\n frame #53: 0x0000000100091990 python`_PyObject_VectorcallTstate(tstate=0x000000010059c288, callable=0x00000200003d4210, args=0x000000016fdfba90, nargsf=2, kwnames=0x0000000000000000) at pycore_call.h:168:11 [opt]\r\n frame #54: 0x0000000100093c54 python`object_vacall(tstate=0x000000010059c288, base=0x0000000000000000, callable=0x00000200003d4210, vargs=\"\") at call.c:819:14 [opt]\r\n frame #55: 0x0000000100093a78 python`PyObject_CallMethodObjArgs(obj=\u003cunavailable\u003e, name=\u003cunavailable\u003e) at call.c:880:24 [opt]\r\n frame #56: 0x000000010023e5e0 python`PyImport_ImportModuleLevelObject [inlined] import_find_and_load(tstate=0x000000010059c288, abs_name=0x0000020000d0a650) at import.c:2758:11 [opt]\r\n frame #57: 0x000000010023e4dc python`PyImport_ImportModuleLevelObject(name=0x0000020000d0a650, globals=\u003cunavailable\u003e, locals=\u003cunavailable\u003e, fromlist=0x0000000000000000, level=0) at import.c:2838:15 [opt]\r\n frame #58: 0x00000001001cc478 python`builtin___import__ [inlined] builtin___import___impl(module=\u003cunavailable\u003e, name=0x0000020000d0a650, globals=0x0000000000000000, locals=0x0000000000000000, fromlist=0x0000000000000000, level=\u003cunavailable\u003e) at bltinmodule.c:280:12 [opt]\r\n frame #59: 0x00000001001cc464 python`builtin___import__(module=\u003cunavailable\u003e, args=\u003cunavailable\u003e, nargs=\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\n\r\ncc @mdboom @colesbury @giampaolo","author":{"url":"https://github.com/corona10","@type":"Person","name":"corona10"},"datePublished":"2024-02-28T02:45:26.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":13},"url":"https://github.com/116024/cpython/issues/116024"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:3242ddd6-3fc3-c6b0-bf16-cb6674dbe17a |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | AA9C:F5661:1596E3F:1DA9D73:696AA4F1 |
| html-safe-nonce | 08551a7d2d708f00cb83d46f3e59a57155baceee4622533d05d06097aaa15696 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQTlDOkY1NjYxOjE1OTZFM0Y6MURBOUQ3Mzo2OTZBQTRGMSIsInZpc2l0b3JfaWQiOiIyNzIyMjMwMzUzNjM4NjMwNjQxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 4f67d3b592bd5cf9810850ff5fc7a1b01a609e9cfe7c41cdcb9497ceb0a3f61e |
| hovercard-subject-tag | issue:2157973702 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/116024/issue_layout |
| twitter:image | https://opengraph.githubassets.com/76048af7a37ed08d7606ed71fe667a962eea93564ae67dec7a547ef50cb45519/python/cpython/issues/116024 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/76048af7a37ed08d7606ed71fe667a962eea93564ae67dec7a547ef50cb45519/python/cpython/issues/116024 |
| og:image:alt | Under investigation, psutil has an issued with running pypeformance and pyperf (essential one). With manual uninstalling psutil from pyperf and pyperformance, running the script itself is okay. So ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | corona10 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3eaf9b8cf1badcd7041a8ad480b9d9b28bea0ef1cc821ca9ff20f2cc7f4fe4b9 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | dd9a979046e6382bd084e2bd873bf65f797125ff |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width