Commit 35a96a2
committed
Issue #29383: reduce temporary interned unicode
add_methods(), add_members(), and add_getset() used PyDict_SetItemString()
to register descriptor to the type's dict.
So descr_new() and PyDict_SetItemString() creates interned unicode from same
C string.
This patch takes interned unicode from descriptor, and use PyDict_SetItem()
instead of PyDict_SetItemString().
python_startup_no_site:
default: Median +- std dev: 12.7 ms +- 0.1 ms
patched: Median +- std dev: 12.5 ms +- 0.1 ms1 parent 49688cd commit 35a96a2
1 file changed
Lines changed: 10 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4539 | 4539 | | |
4540 | 4540 | | |
4541 | 4541 | | |
| 4542 | + | |
4542 | 4543 | | |
4543 | 4544 | | |
4544 | 4545 | | |
| |||
4555 | 4556 | | |
4556 | 4557 | | |
4557 | 4558 | | |
| 4559 | + | |
4558 | 4560 | | |
4559 | 4561 | | |
4560 | 4562 | | |
4561 | 4563 | | |
4562 | 4564 | | |
4563 | 4565 | | |
4564 | 4566 | | |
4565 | | - | |
| 4567 | + | |
| 4568 | + | |
| 4569 | + | |
| 4570 | + | |
| 4571 | + | |
| 4572 | + | |
4566 | 4573 | | |
4567 | 4574 | | |
4568 | 4575 | | |
| |||
4582 | 4589 | | |
4583 | 4590 | | |
4584 | 4591 | | |
4585 | | - | |
| 4592 | + | |
4586 | 4593 | | |
4587 | 4594 | | |
4588 | 4595 | | |
| |||
4604 | 4611 | | |
4605 | 4612 | | |
4606 | 4613 | | |
4607 | | - | |
| 4614 | + | |
4608 | 4615 | | |
4609 | 4616 | | |
4610 | 4617 | | |
| |||
0 commit comments