Hi, Honza,

in addition to the code size problems, there are several runtime regression for 
the SPEC: (If I read the table correctly, if not, let me know)

SPEC/SPEC2006/INT/483.xalancbmk 
<https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=183.290.0>    146.131 
4.89%

SPEC/SPEC2006/FP/436.cactusADM 
<https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=171.100.0>     
130.967 8.07%   

SPEC/SPEC2006/FP/435.gromacs 
<https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=177.90.0>        
182.555 11.73%  

SPEC/SPEC2017/INT/541.leela_r 
<https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=174.397.0>      
452.333 4.17%   

SPEC/SPEC2017/INT/520.omnetpp_r 
<https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=172.357.0>    395.582 
4.98%   

do we have plan to study and fix these run-time regression?

thanks.

Qing

> On Jan 12, 2019, at 12:32 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
> 
> Hello,
> this patch sets inline-unit-growth to 40.  The performance changes are
> - Firefox, LTO
>  
> https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=f7bd026e1a931b9a284d1c85c2577a72dd592820&newProject=try&newRevision=74889968abcc688b8d161863566ed273c0401ee4&framework=1&filter=opt&showOnlyComparable=1&showOnlyImportant=1
>  After fixes to inlining priorities this makes difference without
>  profile feedback only.
> 
>  Code size growth is about 9.15% with LTO and 3.95 with LTO and profile
>  feedback.
> - Firefox noLTO
>  
> https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=c902b72340a3dca3114f58578c1c8f3e6a1cd89c&newProject=try&newRevision=4974da6f92c144a9c09765b56a564a640069ddb9&framework=1&showOnlyComparable=1&showOnlyImportant=1
>  With about 7% code size growth
> - SPEC
>  
> https://lnt.opensuse.org/db_default/v4/CPP/latest_runs_report?num_runs=10&min_percentage_change=0.02&revisions=46e2bd1143b5c60af814916d7673879b34ceb3f6%2Cc0d79cfe9c4ec30823480f2f9b256600e8e3899f
> - C++ benchmarks
>  
> https://lnt.opensuse.org/db_default/v4/SPEC/latest_runs_report?num_runs=10&all_changes=on&min_percentage_change=0.02&revisions=46e2bd1143b5c60af814916d7673879b34ceb3f6%2Cc0d79cfe9c4ec30823480f2f9b256600e8e3899f
> 
> I am not entirely happy about the code-size/performance tradeoffs but it
> is concerned only for programs built with -O3 or having too many inline
> keywords.  I have looked into inlining decisions for Firefox, HHVM and
> Clang and inliner gets out of growt bounds way too early and some of
> more performance aware projects already sets the limit up.
> 
> I will tune other metrics down to handle some of the code size problems.
> 
> Honza
> 
> Index: ChangeLog
> ===================================================================
> --- ChangeLog (revision 267882)
> +++ ChangeLog (working copy)
> @@ -1,3 +1,7 @@
> +2019-01-05  Jan Hubicka  <hubi...@ucw.cz>
> +
> +     * params.def (inline-unit-growth): Set to 40.
> +
> 2019-01-12  Jakub Jelinek  <ja...@redhat.com>
> 
>       * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
> Index: params.def
> ===================================================================
> --- params.def        (revision 267882)
> +++ params.def        (working copy)
> @@ -227,7 +227,7 @@ DEFPARAM(PARAM_LARGE_UNIT_INSNS,
> DEFPARAM(PARAM_INLINE_UNIT_GROWTH,
>        "inline-unit-growth",
>        "How much can given compilation unit grow because of the inlining (in 
> percent).",
> -      20, 0, 0)
> +      40, 0, 0)
> DEFPARAM(PARAM_IPCP_UNIT_GROWTH,
>        "ipcp-unit-growth",
>        "How much can given compilation unit grow because of the 
> interprocedural constant propagation (in percent).",

Reply via email to