Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
gh-102213: Optimize the performance of __getattr__#103761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
sunmy2019 commented Apr 24, 2023 • edited by bedevere-bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-bot
Uh oh!
There was an error while loading. Please reload this page.
This is the corrected version of pythonGH-102248
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Kirill <80244920+Eclips4@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
__getattr____getattr__Fidget-Spinner commented Apr 24, 2023
Note to myself or whoever who merges this. Please add @wangxiang-hz to co-authors when merging as this is the fixed version of their PR, and the work should also be attributed to them. |
Fidget-Spinner commented Apr 24, 2023
I will review and hopefully merge this on Friday when I have more time. Thanks. |
bluetech commented Apr 24, 2023
#103551 has a simple test case for the issue with the original PR, might be useful to add as a unit test for this PR. |
sunmy2019 commented Apr 25, 2023
The test of #103551 should be covered by #103358. But a little duplication is okay. I will add it later. |
Uh oh!
There was an error while loading. Please reload this page.
bedevere-bot commented Apr 27, 2023
🤖 New build scheduled with the buildbot fleet by @Fidget-Spinner for commit c3aebf6 🤖 If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
sunmy2019 commented Apr 27, 2023 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Does anyone have any idea why this fails? Got a timeout here: https://buildbot.python.org/all/#/builders/403/builds/1066 all builds: https://buildbot.python.org/all/#/changes/22158 |
Fidget-Spinner commented Apr 28, 2023
This specific test seems flaky. I would ignore it. |
sunmy2019 commented Apr 30, 2023 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@Fidget-Spinner How is it going on? We are running out of time. New features will soon be frozen in May. 7th. Or will this be considered as a bug fix? |
bedevere-bot commented Apr 30, 2023
🤖 New build scheduled with the buildbot fleet by @Fidget-Spinner for commit 75d9a70 🤖 If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Fidget-Spinner commented Apr 30, 2023
I'm triggering a buildbot rerun to see if that specific buildbot is actually impacted. |
sunmy2019 commented May 1, 2023
https://buildbot.python.org/all/#builders/178/builds/1189 test_monitoring failure is tracked here Seems no more failures |
Fidget-Spinner commented May 1, 2023
Please add news. You can copy the previous PR's news item. I will attribute the commit to both of you. |
arhadthedev commented May 1, 2023
Please, don't worry about 229 random files reported as changed. It's a GitHub after-merge artifact, the final commit 59c27fa squash-merged into |
* main: (26 commits) pythongh-104028: Reduce object creation while calling callback function from gc (pythongh-104030) pythongh-104036: Fix direct invocation of test_typing (python#104037) pythongh-102213: Optimize the performance of `__getattr__` (pythonGH-103761) pythongh-103895: Improve how invalid `Exception.__notes__` are displayed (python#103897) Adjust expression from `==` to `!=` in alignment with the meaning of the paragraph. (pythonGH-104021) pythongh-88496: Fix IDLE test hang on macOS (python#104025) Improve int test coverage (python#104024) pythongh-88773: Added teleport method to Turtle library (python#103974) pythongh-104015: Fix direct invocation of `test_dataclasses` (python#104017) pythongh-104012: Ensure test_calendar.CalendarTestCase.test_deprecation_warning consistently passes (python#104014) pythongh-103977: compile re expressions in platform.py only if required (python#103981) pythongh-98003: Inline call frames for CALL_FUNCTION_EX (pythonGH-98004) Replace Netlify with Read the Docs build previews (python#103843) Update name in acknowledgements and add mailmap (python#103696) pythongh-82054: allow test runner to split test_asyncio to execute in parallel by sharding. (python#103927) Remove non-existing tools from Sundry skiplist (python#103991) pythongh-103793: Defer formatting task name (python#103767) pythongh-87092: change assembler to use instruction sequence instead of CFG (python#103933) pythongh-103636: issue warning for deprecated calendar constants (python#103833) Various small fixes to dis docs (python#103923) ...
* main: (463 commits) pythongh-104057: Fix direct invocation of test_super (python#104064) pythongh-87092: Expose assembler to unit tests (python#103988) pythongh-97696: asyncio eager tasks factory (python#102853) pythongh-84436: Immortalize in _PyStructSequence_InitBuiltinWithFlags() (pythongh-104054) pythongh-104057: Fix direct invocation of test_module (pythonGH-104059) pythongh-100458: Clarify Enum.__format__() change of mixed-in types in the whatsnew/3.11.rst (pythonGH-100387) pythongh-104018: disallow "z" format specifier in %-format of byte strings (pythonGH-104033) pythongh-104016: Fixed off by 1 error in f string tokenizer (python#104047) pythonGH-103629: Update Unpack's repr in compliance with PEP 692 (python#104048) pythongh-102799: replace sys.exc_info by sys.exception in inspect and traceback modules (python#104032) Fix typo in "expected" word in few source files (python#104034) pythongh-103824: fix use-after-free error in Parser/tokenizer.c (python#103993) pythongh-104035: Do not ignore user-defined `__{get,set}state__` in slotted frozen dataclasses (python#104041) pythongh-104028: Reduce object creation while calling callback function from gc (pythongh-104030) pythongh-104036: Fix direct invocation of test_typing (python#104037) pythongh-102213: Optimize the performance of `__getattr__` (pythonGH-103761) pythongh-103895: Improve how invalid `Exception.__notes__` are displayed (python#103897) Adjust expression from `==` to `!=` in alignment with the meaning of the paragraph. (pythonGH-104021) pythongh-88496: Fix IDLE test hang on macOS (python#104025) Improve int test coverage (python#104024) ...
wangxiang-hz commented May 4, 2023
Sorry guys, I just noticed this pull request. I was buy with my work these weeks and just finished a major update at the end of April.. |
This is the logically corrected version of GH-102248.
GH-102248 caused several issues and had been reverted. This PR (I think) correctly implements it.
Tests passed on Ubuntu 22.04 (WSL) gcc-11 with
--pydebug.I also do the perf tests in the original PR, (
--enable-optimizationswith my AMD 5900X)Before,
After,
cc: @Fidget-Spinner