[LLVMdev] [cfe-dev] [3.6 Release] RC3 has been tagged

Mehmet Erol Sanliturk m.e.sanliturk at gmail.com
Wed Feb 18 13:16:32 PST 2015


On Wed, Feb 18, 2015 at 12:19 PM, Renato Golin <renato.golin at linaro.org>
wrote:

> On 18 February 2015 at 20:10, Jack Howarth
> <howarth.mailing.lists at gmail.com> wrote:
> > Well, I assumed that llvm releases were supposed to be more than just
> > glorified semi-annual snapshots.
>
> It's that time of the year that we get all together and run some tests
> and benchmarks we normally don't run the rest of the year, but we stop
> the analogy short of giving each other presents. :)
>
> So far we've being pretty good at spotting regressions like that and
> fixing them later, and people like Michael will keep us on our toes if
> we deliver it again with the regression, or if we deviate too much
> from GCC.
>
> cheers,
> --renato
> _______________________________________________
>



By looking at some numbers only and say that "Performance increased"  or
"Performance decreased" is not a correct way of decision making .

It is necessary to specify a set of programs which will be a representative
sample of real life usage population ( it is necessary to exceed at least
60 programs to be able to assume "Central Limit Theorem" is valid , i.e. ,
sample is from a "Normal Distribution" ) .


Then by using the SAME execution environment ( means the SAME programs
running in the computers , best is not to run any programs other than
compilation and running the program , the computers may be in any model ,
from 500 MHz to 5 GHz , with different operating systems )  .


After obtaining compilation times , they should be analysed by using a
convenient statistical package
to test equality of variances and equality of means by using   "Pair-wise
correlated values" .


Assume tests revealed that "Differences are not significant" , then to say
that "There is a performance loss" is not correct .


If variances are different ( populations are not from the SAME distribution
) , either variability of computations are increased or decreased :
Decrease is good , increase requires inspection .



If means are different ( populations are not from the SAME distribution ) ,
either average time of computations are increased or decreased : Decrease
is good , increase requires inspection .


Repeat the above computations for -
- No optimization
- Optimizations applied


Then reasons should be checked one by one , for example :

(1) Assume a bug is corrected by introducing a check : Is it possible to
remove the corrections and keep the bug to increase the speed ? Obviously
NO .

(2) In one point , optimization is ignoring a feature , but it is not a bug
( assume optimization is not applied ) .

(3) During code generation , there are redundant parts which may be
eliminated .
This is not a bug , but slowing down computation , because the computed
values will not be affected .


(4) Instead letting the programs crash blindly some new checks are
introduced to prevent blind crashing : Is it necessary to eliminate such
checks .

Then , it will be decided which points need improvement , and which points
will be kept as it is .


Without doing such analyses , and pursuing a discussion on some pure
different numbers and making decisions will not contribute anything to
development of Clang/LLVM .


Thank you very much .

Mehmet Erol Sanliturk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150218/79805e12/attachment.html>


More information about the llvm-dev mailing list