{{ message }}
Commit d891b2b
Add `_Py_type_getattro_stackref`, a variant of type attribute lookup
that returns `_PyStackRef` instead of `PyObject*`. This allows returning
deferred references in the free-threaded build, reducing reference count
contention when accessing type attributes.
This significantly improves scaling of namedtuple instantiation across
multiple threads.
* Add blurb
* Rename PyObject_GetAttrStackRef to _PyObject_GetAttrStackRef
* Apply suggestion from @vstinner
Co-authored-by: Victor Stinner <vstinner@python.org>
* Apply suggestion from @vstinner
Co-authored-by: Victor Stinner <vstinner@python.org>
* format
* Update Include/internal/pycore_function.h
Co-authored-by: Victor Stinner <vstinner@python.org>
---------
Co-authored-by: Victor Stinner <vstinner@python.org>
1 parent 638d22c commit d891b2b
12 files changed
Lines changed: 214 additions & 66 deletions
File tree
- Include/internal
- Misc/NEWS.d/next/Core_and_Builtins
- Modules/_testinternalcapi
- Objects
- Python
- Tools/ftscalingbench
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
898 | 898 | | |
899 | 899 | | |
900 | 900 | | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
901 | 905 | | |
902 | 906 | | |
903 | 907 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
112 | 113 | | |
113 | 114 | | |
114 | 115 | | |
| 116 | + | |
| 117 | + | |
115 | 118 | | |
116 | 119 | | |
117 | 120 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
1760 | 1761 | | |
1761 | 1762 | | |
1762 | 1763 | | |
| 1764 | + | |
1763 | 1765 | | |
1764 | 1766 | | |
1765 | 1767 | | |
| |||
1926 | 1928 | | |
1927 | 1929 | | |
1928 | 1930 | | |
| 1931 | + | |
1929 | 1932 | | |
1930 | 1933 | | |
1931 | 1934 | | |
1932 | 1935 | | |
1933 | 1936 | | |
1934 | 1937 | | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
1334 | 1335 | | |
1335 | 1336 | | |
1336 | 1337 | | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
1337 | 1386 | | |
1338 | 1387 | | |
1339 | 1388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6375 | 6375 | | |
6376 | 6376 | | |
6377 | 6377 | | |
6378 | | - | |
| 6378 | + | |
| 6379 | + | |
| 6380 | + | |
| 6381 | + | |
| 6382 | + | |
| 6383 | + | |
| 6384 | + | |
| 6385 | + | |
| 6386 | + | |
| 6387 | + | |
| 6388 | + | |
| 6389 | + | |
| 6390 | + | |
| 6391 | + | |
| 6392 | + | |
| 6393 | + | |
| 6394 | + | |
| 6395 | + | |
| 6396 | + | |
| 6397 | + | |
| 6398 | + | |
| 6399 | + | |
| 6400 | + | |
| 6401 | + | |
| 6402 | + | |
| 6403 | + | |
| 6404 | + | |
| 6405 | + | |
| 6406 | + | |
| 6407 | + | |
| 6408 | + | |
6379 | 6409 | | |
6380 | 6410 | | |
6381 | | - | |
6382 | | - | |
6383 | | - | |
| 6411 | + | |
6384 | 6412 | | |
6385 | 6413 | | |
6386 | 6414 | | |
6387 | 6415 | | |
6388 | 6416 | | |
6389 | | - | |
| 6417 | + | |
6390 | 6418 | | |
6391 | 6419 | | |
6392 | 6420 | | |
6393 | 6421 | | |
6394 | 6422 | | |
6395 | | - | |
| 6423 | + | |
6396 | 6424 | | |
6397 | 6425 | | |
6398 | | - | |
6399 | | - | |
| 6426 | + | |
| 6427 | + | |
| 6428 | + | |
| 6429 | + | |
| 6430 | + | |
| 6431 | + | |
6400 | 6432 | | |
6401 | 6433 | | |
6402 | | - | |
| 6434 | + | |
6403 | 6435 | | |
6404 | | - | |
6405 | | - | |
| 6436 | + | |
| 6437 | + | |
| 6438 | + | |
6406 | 6439 | | |
6407 | | - | |
| 6440 | + | |
6408 | 6441 | | |
6409 | 6442 | | |
6410 | 6443 | | |
6411 | 6444 | | |
6412 | | - | |
6413 | | - | |
6414 | | - | |
6415 | | - | |
| 6445 | + | |
| 6446 | + | |
| 6447 | + | |
| 6448 | + | |
| 6449 | + | |
| 6450 | + | |
6416 | 6451 | | |
6417 | 6452 | | |
6418 | 6453 | | |
6419 | 6454 | | |
6420 | 6455 | | |
6421 | | - | |
6422 | | - | |
| 6456 | + | |
| 6457 | + | |
6423 | 6458 | | |
6424 | | - | |
| 6459 | + | |
| 6460 | + | |
6425 | 6461 | | |
6426 | | - | |
| 6462 | + | |
| 6463 | + | |
6427 | 6464 | | |
6428 | 6465 | | |
| 6466 | + | |
| 6467 | + | |
| 6468 | + | |
| 6469 | + | |
| 6470 | + | |
| 6471 | + | |
| 6472 | + | |
| 6473 | + | |
| 6474 | + | |
6429 | 6475 | | |
6430 | 6476 | | |
6431 | | - | |
6432 | | - | |
6433 | | - | |
6434 | | - | |
| 6477 | + | |
| 6478 | + | |
| 6479 | + | |
| 6480 | + | |
| 6481 | + | |
| 6482 | + | |
6435 | 6483 | | |
6436 | 6484 | | |
6437 | | - | |
| 6485 | + | |
| 6486 | + | |
| 6487 | + | |
| 6488 | + | |
6438 | 6489 | | |
6439 | 6490 | | |
6440 | 6491 | | |
6441 | 6492 | | |
6442 | 6493 | | |
6443 | | - | |
6444 | | - | |
6445 | | - | |
6446 | | - | |
6447 | | - | |
| 6494 | + | |
| 6495 | + | |
| 6496 | + | |
| 6497 | + | |
| 6498 | + | |
| 6499 | + | |
| 6500 | + | |
6448 | 6501 | | |
6449 | 6502 | | |
6450 | 6503 | | |
6451 | | - | |
6452 | | - | |
| 6504 | + | |
| 6505 | + | |
| 6506 | + | |
| 6507 | + | |
6453 | 6508 | | |
6454 | 6509 | | |
6455 | 6510 | | |
6456 | 6511 | | |
6457 | 6512 | | |
6458 | | - | |
6459 | | - | |
6460 | | - | |
| 6513 | + | |
| 6514 | + | |
| 6515 | + | |
| 6516 | + | |
6461 | 6517 | | |
6462 | 6518 | | |
6463 | 6519 | | |
6464 | | - | |
6465 | | - | |
6466 | 6520 | | |
6467 | | - | |
6468 | | - | |
6469 | | - | |
6470 | | - | |
6471 | | - | |
6472 | | - | |
6473 | | - | |
| 6521 | + | |
| 6522 | + | |
| 6523 | + | |
| 6524 | + | |
6474 | 6525 | | |
6475 | 6526 | | |
6476 | 6527 | | |
| |||
10937 | 10988 | | |
10938 | 10989 | | |
10939 | 10990 | | |
10940 | | - | |
| 10991 | + | |
10941 | 10992 | | |
10942 | | - | |
10943 | | - | |
| 10993 | + | |
| 10994 | + | |
| 10995 | + | |
| 10996 | + | |
| 10997 | + | |
10944 | 10998 | | |
10945 | 10999 | | |
10946 | 11000 | | |
| 11001 | + | |
10947 | 11002 | | |
10948 | | - | |
| 11003 | + | |
10949 | 11004 | | |
10950 | 11005 | | |
10951 | 11006 | | |
| |||

0 commit comments