Commit 4e38d71
authored
* bpo-28643: Record profile-opt build progress with stamp files
The profile-opt makefile target is expensive to build. Since the
makefile does not contain complete dependency information for this
target, much extra work can get done if the build is interrupted and
re-started. Even running "make" a second time will result in a huge
amount of redundant work.
As a minimal fix (rather than removing recursive "make" and adding a
proper dependency graph), split the profile-opt target into parts:
- ensure tree is clean (profile-clean-stamp)
- build with profile generation enabled (profile-gen-stamp)
- run task to generate profile information (profile-run-stamp)
- build optimized Python using above information (profile-opt)
We use "stamp" files to record completion of the steps. Running
"make clean" will not remove the profile-run-stamp file.
Other minor changes:
- remove the "build_all_use_profile" target. I don't expect callers
of the makefile to use this target so that should be safe.
- remove execution of "profile-removal" at end of "profile-opt". I
don't see any reason to not to keep the profile information, given
the cost to generate it. Removing the "profile-run-stamp" file
will force re-generation of it.
1 parent 0d2c645 commit 4e38d71
2 files changed
Lines changed: 29 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
445 | | - | |
446 | | - | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
447 | 452 | | |
448 | 453 | | |
449 | 454 | | |
450 | 455 | | |
451 | 456 | | |
452 | 457 | | |
453 | | - | |
454 | | - | |
455 | 458 | | |
456 | | - | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
457 | 463 | | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
458 | 468 | | |
459 | 469 | | |
460 | | - | |
| 470 | + | |
461 | 471 | | |
462 | | - | |
463 | | - | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
464 | 476 | | |
465 | 477 | | |
466 | 478 | | |
| |||
472 | 484 | | |
473 | 485 | | |
474 | 486 | | |
475 | | - | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
476 | 492 | | |
477 | 493 | | |
478 | 494 | | |
| |||
1621 | 1637 | | |
1622 | 1638 | | |
1623 | 1639 | | |
| 1640 | + | |
1624 | 1641 | | |
1625 | 1642 | | |
1626 | 1643 | | |
1627 | 1644 | | |
1628 | 1645 | | |
1629 | 1646 | | |
1630 | 1647 | | |
| 1648 | + | |
1631 | 1649 | | |
1632 | 1650 | | |
1633 | 1651 | | |
| |||
1636 | 1654 | | |
1637 | 1655 | | |
1638 | 1656 | | |
| 1657 | + | |
1639 | 1658 | | |
1640 | 1659 | | |
1641 | 1660 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments