qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 10/29] qapi: Touch generated files only when


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v2 10/29] qapi: Touch generated files only when they change
Date: Fri, 23 Feb 2018 18:22:38 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Marc-Andre Lureau <address@hidden> writes:

> Hi
>
> On Mon, Feb 12, 2018 at 8:48 PM, Eric Blake <address@hidden> wrote:
>> On 02/11/2018 03:35 AM, Markus Armbruster wrote:
>>>
>>> A massive number of objects depends on QAPI-generated headers.  In my
>>> "build everything" tree, it's roughly 4800 out of 5100.  This is
>>> particularly annoying when only some of the generated files change,
>>> say for a doc fix.
>>>
>>> Improve qapi-gen.py to touch its output files only if they actually
>>> change.  Rebuild time for a QAPI doc fix drops from many minutes to a
>>> few seconds.  Rebuilds get faster for certain code changes, too.  For
>>> instance, adding a simple QMP event now recompiles less than 200
>>> instead of 4800 objects.  But adding a QAPI type is as bad as ever;
>>> we've clearly got more work to do.
>>>
>>> Signed-off-by: Markus Armbruster <address@hidden>
>>> Reviewed-by: Eric Blake <address@hidden>
>>> ---
>>>   scripts/qapi/common.py | 11 +++++++++--
>>>   1 file changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
>>> index 8290795dc1..2e58573a39 100644
>>> --- a/scripts/qapi/common.py
>>> +++ b/scripts/qapi/common.py
>>> @@ -1951,9 +1951,16 @@ class QAPIGen(object):
>>>               except os.error as e:
>>>                   if e.errno != errno.EEXIST:
>>>                       raise
>>> -        f = open(os.path.join(output_dir, fname), 'w')
>>> -        f.write(self._top(fname) + self._preamble + self._body
>>> +        fd = os.open(os.path.join(output_dir, fname),
>>> +                     os.O_RDWR | os.O_CREAT, 0666)
>>
>>
>> patchew complained here for mingw; I'm not sure why.
>
> python3 syntax error.
> https://stackoverflow.com/questions/1837874/invalid-token-when-using-octal-numbers

Yes, we need to spell the mode 0o666.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]