This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2020年01月13日 12:28 by Mark.Shannon, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 17984 | merged | Mark.Shannon, 2020年01月13日 12:50 | |
| PR 18141 | merged | Mark.Shannon, 2020年01月23日 09:38 | |
| PR 18243 | closed | brandtbucher, 2020年01月29日 03:22 | |
| PR 18264 | closed | brandtbucher, 2020年01月30日 01:03 | |
| Messages (5) | |||
|---|---|---|---|
| msg359901 - (view) | Author: Mark Shannon (Mark.Shannon) * (Python committer) | Date: 2020年01月13日 12:28 | |
Currently the unpacking of starred values in arguments and the right hand side of assignments is handled in the interpreter without any help from the compiler. The layout of arguments and values is visible to the compiler, so the compiler should do more of the work. We can replace the complex bytecodes used in unpacking with simpler more focused ones. Specifically the collection building operations BUILD_LIST_UNPACK, BUILD_TUPLE_UNPACK, BUILD_SET_UNPACK and BUILD_TUPLE_UNPACK_WITH_CALL can be replaced with simpler, and self-explanatory operations: LIST_TO_TUPLE, LIST_EXTEND, SET_UPDATE In addition, the mapping operations BUILD_MAP_UNPACK and BUILD_MAP_UNPACK_WITH_CALL can be replaced with DICT_UPDATE and DICT_MERGE. DICT_MERGE is like DICT_UPDATE but raises an exception for duplicate keys. This change would not have much of an effect of performance, as the bytecodes listed are relatively rarely used, but shrinking the interpreter is always beneficial. |
|||
| msg360548 - (view) | Author: Mark Shannon (Mark.Shannon) * (Python committer) | Date: 2020年01月23日 09:25 | |
New changeset 13bc13960cc83dbd1cb5701d9a59ac9b9144b205 by Mark Shannon in branch 'master': bpo-39320: Handle unpacking of *values in compiler (GH-17984) https://github.com/python/cpython/commit/13bc13960cc83dbd1cb5701d9a59ac9b9144b205 |
|||
| msg360749 - (view) | Author: Mark Shannon (Mark.Shannon) * (Python committer) | Date: 2020年01月27日 09:57 | |
New changeset 8a4cd700a7426341c2074a2b580306d2d60ec839 by Mark Shannon in branch 'master': bpo-39320: Handle unpacking of **values in compiler (GH-18141) https://github.com/python/cpython/commit/8a4cd700a7426341c2074a2b580306d2d60ec839 |
|||
| msg375260 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年08月12日 16:11 | |
These changes introduced a regression: bpo-41531 "Python 3.9 regression: Literal dict with > 65535 items are one item shorter". |
|||
| msg408857 - (view) | Author: Bar Harel (bar.harel) * | Date: 2021年12月18日 15:41 | |
Does this count as a regression or as an unintended bugfix for evaluation order? https://stackoverflow.com/a/70404659/1658617 |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:25 | admin | set | github: 83501 |
| 2021年12月18日 15:41:31 | bar.harel | set | nosy:
+ bar.harel messages: + msg408857 |
| 2021年08月30日 09:13:18 | Mark.Shannon | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2020年08月12日 16:11:30 | vstinner | set | nosy:
+ vstinner messages: + msg375260 |
| 2020年01月30日 01:03:05 | brandtbucher | set | pull_requests: + pull_request17641 |
| 2020年01月29日 03:23:00 | brandtbucher | set | nosy:
+ brandtbucher |
| 2020年01月29日 03:22:40 | brandtbucher | set | pull_requests: + pull_request17623 |
| 2020年01月27日 09:57:49 | Mark.Shannon | set | messages: + msg360749 |
| 2020年01月23日 09:38:11 | Mark.Shannon | set | pull_requests: + pull_request17527 |
| 2020年01月23日 09:25:21 | Mark.Shannon | set | messages: + msg360548 |
| 2020年01月13日 14:34:54 | pablogsal | set | nosy:
+ pablogsal |
| 2020年01月13日 12:50:19 | Mark.Shannon | set | keywords:
+ patch stage: patch review pull_requests: + pull_request17388 |
| 2020年01月13日 12:28:10 | Mark.Shannon | create | |