https://bugs.kde.org/show_bug.cgi?id=381553

--- Comment #29 from Ivo Raisr <[email protected]> ---
I tried to do performance comparison of reg_alloc v3 implementation as it
progresses in terms of patches. However the performance tests are not reliable
- I could not get consistent results out of them on my amd64/Linux Ubuntu.
Variations of up to +- 2% were observed on the same code in different runs. No
other CPU intensive process was running in parallel.

Patches description:
005: the initial register allocator v3 implementation which was able to run the
complete regression test suite
005-J: 005 + Julian's enhancement to prefer callee saved registers
006: 005 + ranking of real registers based on their live ranges
007: 006 + groups of real registers in RRegUniverse
[vanilla]: baseline Valgrind


Therefore the only conclusions I can draw from these are:
- patches 005 () produce worse behaviour than existing v3;
- patches 005-J, 006 and 007 perform roughly equivalent or slightly better than
existing register allocator v2
- it cannot be deduced on this level if there any performance improvements
among 005-J, 006, and 007 (there should be!)

Here are the results. Only speedups are printed with a new command line option
"--terse".

$ perl ./perf/vg_perf
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif \
    --terse --reps=10 --vg=./vanilla --vg=./ra3-005 --vg=./ra3-005-J
--vg=./ra3-006 \
    --vg=./ra3-007 vanilla/perf
-- Running  tests in vanilla/perf --------------------------------------
-- bigcode1 --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  0.0%  me: -4.7%  ca:  0.2%  he: -1.1%  ca: -1.5%  dr: -0.6% 
ma:  0.0%
ra3-005-J :  no:  0.0%  me:  0.4%  ca:  0.3%  he: -0.5%  ca: -0.9%  dr:  0.0% 
ma:  0.6%
ra3-006   :  no:  0.0%  me:  0.4%  ca:  0.2%  he: -0.0%  ca: -1.2%  dr:  0.0% 
ma:  0.0%
ra3-007   :  no:  0.0%  me:  0.7%  ca:  0.5%  he: -0.5%  ca: -0.6%  dr:  0.0% 
ma:  1.2%
-- bigcode2 --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no: -0.7%  me: -2.1%  ca: -0.0%  he: -0.5%  ca: -1.3%  dr: -1.1% 
ma:  0.9%
ra3-005-J :  no: -0.3%  me:  1.0%  ca:  0.1%  he: -1.6%  ca: -0.2%  dr: -0.3% 
ma: -0.3%
ra3-006   :  no: -0.7%  me:  0.8%  ca: -0.2%  he: -0.5%  ca: -0.2%  dr: -0.5% 
ma:  0.3%
ra3-007   :  no: -0.3%  me:  0.2%  ca:  0.1%  he: -0.5%  ca:  0.0%  dr:  0.0% 
ma:  0.9%
-- bz2 --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  0.5%  me:-13.2%  ca:  0.0%  he: -6.0%  ca: -4.3%  dr: -5.4% 
ma:  1.1%
ra3-005-J :  no:  1.1%  me: -0.2%  ca:  0.4%  he:  0.2%  ca: -2.0%  dr: -0.2% 
ma:  2.1%
ra3-006   :  no:  0.5%  me:  0.0%  ca:  0.2%  he:  0.5%  ca: -0.8%  dr:  0.5% 
ma:  1.6%
ra3-007   :  no:  0.5%  me:  0.0%  ca:  0.2%  he:  0.3%  ca: -1.0%  dr:  0.6% 
ma:  1.1%
-- fbench --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  0.0%  me: -4.0%  ca: -0.4%  he: -1.9%  ca: -1.6%  dr: -3.5% 
ma:  0.9%
ra3-005-J :  no:  0.9%  me:  0.0%  ca: -1.2%  he:  1.1%  ca: -0.3%  dr: -0.8% 
ma:  0.9%
ra3-006   :  no:  0.0%  me:  0.3%  ca: -0.2%  he:  1.1%  ca:  0.3%  dr:  0.0% 
ma:  1.8%
ra3-007   :  no:  0.0%  me: -0.3%  ca: -1.0%  he:  1.1%  ca: -0.3%  dr: -1.9% 
ma:  0.9%
-- ffbench --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no: -0.9%  me: -2.1%  ca:  0.5%  he: -3.2%  ca: -5.0%  dr: -2.2% 
ma:  0.0%
ra3-005-J :  no:  0.0%  me: -0.6%  ca:  0.5%  he:  0.2%  ca:  0.3%  dr: -0.9% 
ma:  1.9%
ra3-006   :  no: -0.9%  me:  0.0%  ca:  0.0%  he: -0.4%  ca:  0.8%  dr:  0.0% 
ma:  0.0%
ra3-007   :  no: -0.9%  me:  0.3%  ca:  0.0%  he:  0.4%  ca:  0.3%  dr: -0.6% 
ma:  0.0%
-- heap --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  0.0%  me: -2.2%  ca:  0.9%  he: -1.9%  ca: -2.2%  dr: -2.4% 
ma: -0.8%
ra3-005-J :  no: -2.6%  me: -0.2%  ca:  1.4%  he: -0.6%  ca:  0.0%  dr: -0.5% 
ma: -1.2%
ra3-006   :  no: -2.6%  me: -0.6%  ca:  0.9%  he: -0.6%  ca:  0.0%  dr:  0.0% 
ma:  0.4%
ra3-007   :  no: -1.3%  me: -0.6%  ca:  0.2%  he:  1.0%  ca:  0.0%  dr: -2.9% 
ma:  2.9%
-- heap_pdb4 --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  1.2%  me: -2.4%  ca:  0.6%  he: -1.5%  ca: -3.0%  dr: -3.5% 
ma: -0.4%
ra3-005-J :  no:  1.2%  me: -0.7%  ca:  0.0%  he: -2.1%  ca:  0.0%  dr: -0.2% 
ma: -0.8%
ra3-006   :  no:  1.2%  me: -0.5%  ca:  0.0%  he: -2.5%  ca: -0.5%  dr: -0.2% 
ma:  0.0%
ra3-007   :  no:  1.2%  me: -0.4%  ca:  0.3%  he: -0.4%  ca:  0.0%  dr: -3.3% 
ma:  3.1%
-- many-loss-records --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no: -3.6%  me: -1.6%  ca: -1.0%  he: -0.9%  ca: -1.4%  dr: -1.9% 
ma:  0.0%
ra3-005-J :  no: -7.1%  me: -0.8%  ca: -1.0%  he:  1.8%  ca:  0.0%  dr: -1.0% 
ma:  1.5%
ra3-006   :  no: -3.6%  me:  0.8%  ca: -1.0%  he:  0.0%  ca:  0.0%  dr: -1.0% 
ma:  0.0%
ra3-007   :  no: -7.1%  me:  0.8%  ca: -1.0%  he: -0.9%  ca:  0.0%  dr: -1.0% 
ma: -1.5%
-- many-xpts --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  0.0%  me: -4.7%  ca:  0.4%  he: -3.6%  ca: -4.2%  dr: -0.7% 
ma:  0.0%
ra3-005-J :  no:  0.0%  me:  0.0%  ca:  0.0%  he: -0.5%  ca:  0.0%  dr:  1.5% 
ma:  0.7%
ra3-006   :  no:  0.0%  me:  0.7%  ca:  0.4%  he:  0.5%  ca:  1.0%  dr:  2.2% 
ma:  0.0%
ra3-007   :  no: -2.6%  me:  0.0%  ca:  0.0%  he: -0.5%  ca:  2.1%  dr:  2.9% 
ma:  0.7%
-- memrw --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  0.0%  me: -7.6%  ca:  0.8%  he: -1.2%  ca: -1.6%  dr: -5.0% 
ma: -1.9%
ra3-005-J :  no:  0.0%  me:  1.7%  ca:  0.8%  he:  0.5%  ca:  0.0%  dr: -1.7% 
ma: -3.8%
ra3-006   :  no:  0.0%  me:  3.4%  ca:  1.3%  he:  0.0%  ca:  1.0%  dr:  0.0% 
ma: -1.9%
ra3-007   :  no:  0.0%  me:  0.8%  ca:  0.8%  he:  0.2%  ca:  0.5%  dr: -2.5% 
ma:  0.0%
-- sarp --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no:  0.0%  me: -2.8%  ca: -0.6%  he: -0.9%  ca:  0.0%  dr: -6.4% 
ma:  0.0%
ra3-005-J :  no: -3.0%  me: -0.5%  ca: -1.1%  he:  0.4%  ca: -1.1%  dr:  0.0% 
ma:  0.0%
ra3-006   :  no:  3.0%  me: -0.5%  ca:  0.0%  he:  0.6%  ca:  2.2%  dr:  1.1% 
ma: -2.9%
ra3-007   :  no:  0.0%  me:  6.4%  ca:  2.3%  he:  1.3%  ca:  1.1%  dr:  0.0% 
ma: -2.9%
-- tinycc --
vanilla   :  no: -----  me: -----  ca: -----  he: -----  ca: -----  dr: ----- 
ma: -----
ra3-005   :  no: -0.9%  me: -4.1%  ca:  0.3%  he: -5.3%  ca: -2.1%  dr: -5.6% 
ma:  0.0%
ra3-005-J :  no:  0.9%  me:  0.7%  ca:  0.5%  he: -0.3%  ca: -0.8%  dr: -0.2% 
ma:  0.7%
ra3-006   :  no:  0.9%  me:  0.8%  ca:  0.6%  he: -0.4%  ca: -1.0%  dr: -0.5% 
ma:  0.0%
ra3-007   :  no: -0.9%  me:  0.6%  ca:  0.5%  he: -0.2%  ca: -0.3%  dr:  0.2% 
ma:  0.7%
-- Finished tests in vanilla/perf --------------------------------------

== 12 programs, 420 timings =================

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to