[Python-Dev] startup time repeated? why not daemon

Nick Coghlan ncoghlan at gmail.com
Fri Jul 21 00:09:23 EDT 2017


On 21 July 2017 at 13:55, Chris Angelico <rosuav at gmail.com> wrote:
> On Fri, Jul 21, 2017 at 1:49 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> The are some genuine downsides in increasing the complexity of
>> bootstrapping CPython when all you're starting with is a VCS clone and
>> a C compiler, but those complications are ultimately no worse than
>> those we already have with Argument Clinic, and hence amenable to the
>> same solution: if we need to, we can check in the generated C files in
>> order to make bootstrapping easier.
>
> Are the generated C files perfectly identical? If you use Cython to
> compile the same file twice, will you always get a byte-for-byte
> identical file?

We that's certainly highly beneficial, we don't necessarily need it as
an ironclad guarantee (it isn't true for autoconf, for example,
especially if you change versions, but we still check in the autoconf
output in order to avoid relying on autoconf as a build dependency).

> If so, it should be safe to check them in, and then
> have a "make regenerate" that wipes out all Cython-generated files and
> rebuilds them. That followed by "git status" would immediately tell
> you if something failed to get checked in.

Yep, and we already have "make regen-all" as a target to cover various
other build steps where this concern applies:

    regen-all: regen-opcode regen-opcode-targets regen-typeslots
regen-grammar regen-ast regen-importlib

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list