[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [REPORT] [GSoC - TCG Continuous Benchmarking] [#5] Finding Commits A
From: |
Alex Bennée |
Subject: |
Re: [REPORT] [GSoC - TCG Continuous Benchmarking] [#5] Finding Commits Affecting QEMU Performance |
Date: |
Tue, 21 Jul 2020 12:54:41 +0100 |
User-agent: |
mu4e 1.5.5; emacs 28.0.50 |
Ahmed Karaman <ahmedkhaledkaraman@gmail.com> writes:
> Hi,
>
> The fifth report of the TCG Continuous Benchmarking project concludes
> a mini-series of three reports that dealt with the performance
> comparison and analysis of QEMU 5.0 and 5.1-pre-soft-freeze.
>
> The report presents a new Python script that utilizes "git bisect" for
> running a binary search within a specified range of commits to
> automatically detect the commit causing a performance improvement or
> degradation.
Excellent stuff.
> The new script is then used to find the commit introducing the PowerPC
> performance degradation as well as that introducing the performance
> improvement in MIPS. The results obtained for both commits proves the
> correctness of the conclusions and analyses presented in the two
> previous reports.
I can certainly envision a mechanism where 0673ec slows things down. I
wonder if it would come back if instead of inline function calls we
ended up making concrete flattend versions, e.g.:
bool QEMU_FLATTEN float64_eq(float64 a, float64 b, float_status *s)
{
return float64_compare(a, b, s) == float_relation_equal;
}
PPC is of course more affected by these changes than others because
HARDFLOAT never gets a chance to kick in. Looking at the objdump of
f64_compare there should surely be an opportunity to loose some of the
branches when looking for a certain test result?
>
> Report link:
> https://ahmedkrmn.github.io/TCG-Continuous-Benchmarking/Finding-Commits-Affecting-QEMU-Performance/
>
> Previous reports:
> Report 1 - Measuring Basic Performance Metrics of QEMU:
> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg06692.html
> Report 2 - Dissecting QEMU Into Three Main Parts:
> https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg09441.html
> Report 3 - QEMU 5.0 and 5.1-pre-soft-freeze Dissect Comparison:
> https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg01978.html
> Report 4 - Listing QEMU Helpers and Function Callees:
> https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg04227.html
>
> Best regards,
> Ahmed Karaman
--
Alex Bennée