• Neil Schemenauer's avatar
    bpo-28643: Record profile-opt build progress with stamp files (#4223) · 4e38d71a
    Neil Schemenauer yazdı
    * 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.
    4e38d71a
Adı
Son kayıt (commit)
Son güncelleme
.github Loading commit data...
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Programs Loading commit data...
Python Loading commit data...
Tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.hgeol Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
.travis.yml Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README.rst Loading commit data...
aclocal.m4 Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...