qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 0/5] tcg: Dynamically allocate temporaries


From: Richard Henderson
Subject: Re: [PATCH 0/5] tcg: Dynamically allocate temporaries
Date: Thu, 21 Jan 2021 10:17:08 -1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

On 1/21/21 10:09 AM, BALATON Zoltan wrote:
> On Wed, 20 Jan 2021, BALATON Zoltan wrote:
>> On Tue, 19 Jan 2021, Richard Henderson wrote:
>>> My recent change for caching tcg constants has, in a number of cases,
>>> overflowed the statically allocated array of temporaries.  Change to
>>> dynamic allocation.
>>
>> This seems to work for me so
>>
>> Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
>>
>> but have you done any performance tests to check that this actually improves
>> emulation speed? To mee it seems slower. Booting AmigaOS on sam460ex with
>> c0dd6654f207 (just before your TCG series) takes:
>>
>> real    0m33.829s
>> user    0m34.432s
>> sys    0m0.296s
>>
>> but on HEAD with this series:
>>
>> real    0m44.381s
>> user    0m46.058s
>> sys    0m0.532s
>>
>> This is noticable decrease in speed also without measuring it. With just
>> increasing the TCG_MAX_TEMPS to 2048 on 7c79721606be without this series I 
>> get:
>>
>> real    0m42.681s
>> user    0m44.208s
>> sys    0m0.435s
>>
>> So the performance regression is somewhere in the original series not in this
>> fix up series.
> 
> I've tried to do more measurements to identify where it got slower but I could
> not reproduce it today. I'm now getting around 42 seconds both before and 
> after
> the series so not sure what made it faster before but it's probably not 
> because
> of a code change then.

That's reassuring.  I hadn't been able to measure a performance regression 
myself.

(The kind of TB that caused this SEGV thread and creates oodles of temps seems
to be an outlier.  Otherwise there should be very little change to non-vector
code.)


r~



reply via email to

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