<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 20, 2016 at 4:14 AM, Sanjoy Das <span dir="ltr"><<a href="mailto:sanjoy@playingwithpointers.com" target="_blank">sanjoy@playingwithpointers.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Vivek,<br>
<br>
[Dropping firefox-dev, since I don't want to spam them]<br>
<br>
vivek pandya via llvm-dev wrote:<br>
> Measure W/O IPRAWITH IPRA<br>
> ========================<br>
> Total Build Time76 mins82.3 mins8% increment<br>
> Octane v2.0 JS Benchmark Score (higher is better)18675.69 19665.165% improvement<br>
> Kraken JS Benchmark time (lower is better)1416.2 ms 1421.3 ms 0.35% regression<span class=""><br>
> JetStream JS Benchmark Score (higer is better)110.10112.882.52% improvement<br>
<br></span>
This is great!<br>
<br>
Do you have a sense of how much noise these benchmarks have?  For<br>
instance, if you run the benchmark 10 times, what is standard<br>
deviation in the numbers?<br></blockquote><div><br></div><div>Hello Sanjoy,</div><div> </div><div>For Octane and Kraken I have run them 4 times and above result is geometric mean. For Octane standard deviation (SD) is 918.54 (NO_IPRA) and 597.82 (With_IPRA). For Kraken unfortunately I don't have readings any more but there was very minor change in each run. JetStream it self runs the test for 3 times reports the result. From next time onwards I will run test at least for 10 times</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
It'd also be great to have a precise, non-measurement oriented view of<br>
the benchmarks.  </blockquote><div>I don't understand this point actually all these benchmarks are suggested by firefox-devs and they wanted the results back.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is it possible to collect some statistics on how much<br>
you've improved the register allocation in these workloads?  </blockquote><div>Actually while testing single source test case  with debug build I used to compare results of -stats with regalloc keyword but while building such a huge software I prefer release build of llvm. And also I don't know if there is any way in llvm to generate stats for the whole build. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Perhaps<br>
you could count the instances where you preserved a register over a<br>
call site that wouldn't have been possible without IPRA?<br></blockquote><div>Yes this seems a good idea and I think this is implementable, after calculating new regmask when inserting data into immutable pass two regmasks can be compared to calculate improvements. I will work on this and let you know the progress.  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks!<span class="HOEnZb"><font color="#888888"><br>
-- Sanjoy<br>
</font></span></blockquote></div><br></div></div>