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

Chris Angelico rosuav at gmail.com
Fri Jul 21 00:12:00 EDT 2017


On Fri, Jul 21, 2017 at 2:09 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> 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

Cool. (Shows how much I know about the CPython build process.) Then
I'm definitely +1 on using Cython.

ChrisA


More information about the Python-Dev mailing list