On 4/22/14, Chris Lattner <clattner at apple.com> wrote:> > On Apr 22, 2014, at 7:28 AM, Gabor Greif <ggreif at gmail.com> wrote: > >> Hi devs, >> >> after my intentionally "playful" EuroLLVM presentation (*) I think it >> would be time to get serious about merging to ToT. But we should >> probably find out whether an optimized algorithm is desired at all. >> >> So I'd solicit comments from the code owners (Use.{h,cpp}) and anybody >> who is interested. For closer scrutiny, the code is here: >> <http://llvm.org/viewvc/llvm-project/llvm/branches/ggreif/waymark-64-new/> >> >> I do not have the equipment to perform a compile-time measurement. How >> do folks benchmark for this nowadays? Is it a viable alternative to >> bring the changes to ToT and compare speedups/slowdowns in the nightly >> builds retrospectively? > > I saw the slides, it looks very interesting. Have you actually measured any > memory wins from this?Hi Chris, there are no memory savings, Use has still 3 pointers (the 4->3 reduction happened back in 2008). What should be faster with the new algorithm are the "value_use_iterator::operator->" operators (i.e. finding all Users of a Value). Cheers, Gabor> > -Chris >
On Apr 22, 2014, at 12:26 PM, Gabor Greif <ggreif at gmail.com> wrote:>>> I do not have the equipment to perform a compile-time measurement. How >>> do folks benchmark for this nowadays? Is it a viable alternative to >>> bring the changes to ToT and compare speedups/slowdowns in the nightly >>> builds retrospectively? >> >> I saw the slides, it looks very interesting. Have you actually measured any >> memory wins from this? > > Hi Chris, > > there are no memory savings, Use has still 3 pointers (the 4->3 > reduction happened back in 2008). What should be faster with the new > algorithm are the "value_use_iterator::operator->" operators (i.e. > finding all Users of a Value).Ah, ok. If you're looking for performance benchmarks, you could look at LTO time of something large, in that a majority of the time is spent in the mid-level optimizer. -Chris
On 2014 Apr 22, at 19:46, Chris Lattner <clattner at apple.com> wrote:> On Apr 22, 2014, at 12:26 PM, Gabor Greif <ggreif at gmail.com> wrote: >>>> I do not have the equipment to perform a compile-time measurement. How >>>> do folks benchmark for this nowadays? Is it a viable alternative to >>>> bring the changes to ToT and compare speedups/slowdowns in the nightly >>>> builds retrospectively? >>> >>> I saw the slides, it looks very interesting. Have you actually measured any >>> memory wins from this? >> >> Hi Chris, >> >> there are no memory savings, Use has still 3 pointers (the 4->3 >> reduction happened back in 2008). What should be faster with the new >> algorithm are the "value_use_iterator::operator->" operators (i.e. >> finding all Users of a Value). > > Ah, ok. If you're looking for performance benchmarks, you could look at LTO time of something large, in that a majority of the time is spent in the mid-level optimizer.In case you're looking for examples of "something large", clang is a good option as long as you have enough RAM not to swap.