Commit 5f623fb
authored
avoid excessive Arc<Mapping> contention (#1012)
Conceptually it wasn't wrong for submappings to `Arc::clone` the
pointed-to base mapping, but in practice all the accessors off of
MemCtx return SubMapping with lifetimes constrained by that MemCtx.
The sheer number of submappings being created and destroyed during I/O
operations makes the refcount very hot under load. Lean into the de
facto lifetime constraint on SubMapping and just take a borrow of the
backing Mapping instead of Arc::clone (and implicit ref decrement in
later drop).1 parent 2dc6437 commit 5f623fb
4 files changed
+14
-28
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
527 | 527 | | |
528 | 528 | | |
529 | 529 | | |
530 | | - | |
531 | 530 | | |
532 | 531 | | |
533 | 532 | | |
534 | 533 | | |
535 | | - | |
536 | 534 | | |
537 | 535 | | |
538 | 536 | | |
539 | 537 | | |
540 | | - | |
541 | 538 | | |
542 | 539 | | |
543 | 540 | | |
544 | 541 | | |
545 | | - | |
546 | 542 | | |
547 | 543 | | |
548 | 544 | | |
| |||
551 | 547 | | |
552 | 548 | | |
553 | 549 | | |
554 | | - | |
555 | 550 | | |
556 | 551 | | |
557 | 552 | | |
558 | | - | |
559 | 553 | | |
560 | 554 | | |
561 | 555 | | |
562 | | - | |
563 | 556 | | |
564 | 557 | | |
565 | 558 | | |
566 | | - | |
567 | 559 | | |
568 | 560 | | |
569 | 561 | | |
| |||
588 | 580 | | |
589 | 581 | | |
590 | 582 | | |
591 | | - | |
592 | 583 | | |
593 | 584 | | |
594 | 585 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
898 | 898 | | |
899 | 899 | | |
900 | 900 | | |
901 | | - | |
902 | 901 | | |
903 | 902 | | |
904 | 903 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
134 | 133 | | |
135 | 134 | | |
136 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
378 | 378 | | |
379 | 379 | | |
380 | 380 | | |
381 | | - | |
| 381 | + | |
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
| |||
401 | 401 | | |
402 | 402 | | |
403 | 403 | | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
| 404 | + | |
408 | 405 | | |
409 | | - | |
| 406 | + | |
410 | 407 | | |
411 | 408 | | |
412 | 409 | | |
| |||
427 | 424 | | |
428 | 425 | | |
429 | 426 | | |
430 | | - | |
| 427 | + | |
431 | 428 | | |
432 | 429 | | |
433 | 430 | | |
| |||
1121 | 1118 | | |
1122 | 1119 | | |
1123 | 1120 | | |
1124 | | - | |
| 1121 | + | |
1125 | 1122 | | |
1126 | 1123 | | |
1127 | 1124 | | |
| |||
1167 | 1164 | | |
1168 | 1165 | | |
1169 | 1166 | | |
1170 | | - | |
| 1167 | + | |
1171 | 1168 | | |
1172 | 1169 | | |
1173 | 1170 | | |
1174 | 1171 | | |
1175 | | - | |
| 1172 | + | |
1176 | 1173 | | |
1177 | 1174 | | |
1178 | 1175 | | |
| |||
1342 | 1339 | | |
1343 | 1340 | | |
1344 | 1341 | | |
1345 | | - | |
| 1342 | + | |
1346 | 1343 | | |
1347 | 1344 | | |
1348 | 1345 | | |
1349 | 1346 | | |
1350 | 1347 | | |
1351 | 1348 | | |
1352 | 1349 | | |
1353 | | - | |
| 1350 | + | |
1354 | 1351 | | |
1355 | 1352 | | |
1356 | 1353 | | |
| |||
1359 | 1356 | | |
1360 | 1357 | | |
1361 | 1358 | | |
1362 | | - | |
| 1359 | + | |
1363 | 1360 | | |
1364 | 1361 | | |
1365 | 1362 | | |
| |||
1369 | 1366 | | |
1370 | 1367 | | |
1371 | 1368 | | |
1372 | | - | |
| 1369 | + | |
1373 | 1370 | | |
1374 | 1371 | | |
1375 | 1372 | | |
| |||
1378 | 1375 | | |
1379 | 1376 | | |
1380 | 1377 | | |
1381 | | - | |
| 1378 | + | |
1382 | 1379 | | |
1383 | 1380 | | |
1384 | 1381 | | |
| |||
1388 | 1385 | | |
1389 | 1386 | | |
1390 | 1387 | | |
1391 | | - | |
| 1388 | + | |
1392 | 1389 | | |
1393 | 1390 | | |
1394 | 1391 | | |
| |||
1402 | 1399 | | |
1403 | 1400 | | |
1404 | 1401 | | |
1405 | | - | |
| 1402 | + | |
1406 | 1403 | | |
1407 | 1404 | | |
1408 | 1405 | | |
| |||
0 commit comments