[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: |
Marc-Andre Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v2 10/29] qapi: Touch generated files only when they change |
Date: |
Tue, 13 Feb 2018 16:22:30 +0100 |
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
>
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc. +1-919-301-3266
> Virtualization: qemu.org | libvirt.org