>> > > Thanks for the comments. FDO will probably improve SPEC2000 score. > Although it is not obvious for some tests because the train data sets for > them are different from the reference data sets and it might actually > mislead the compiler. > > FDO is important for optimizations where all possible data sets do not > change branch probability distribution much. IMHO therefore FDO is not > widely used by most of developers (although I am sure that for Google > applications it is extremely important) and therefore I don't measure it and > it is not so interesting for me. Although bigger reason not use FDO is > inconvenience to use it for regular compiler user. > > As for vortex FDO improvement, vortex contains a moderate size loop in which > most of time is spent. The loop has if-then-else on the top loop level. On > all SPEC2000 data sets, one if-branch is taken practically always (like 1 > to 1,000,000). So it is not amazing for me that FDO gives such > improvement for vortex.
Actually what I was trying to say is that LTO will be more powerful when combined with FDO. In other words, I expect LTO + FDO improves over plain FDO more than 1.86%. >> >> It would be great if there is number collected comparing LTO + FDO vs >> plain FDO in the same setup. >> >> > > Usually after such posting the comparisons, I am getting a lot of requests. > I'd like to do all of them but unfortunately running and the result > preparation takes a lot of my time. May be I'll do such comparison next > year. Ok. Another comment is that using SPEC2000 for performance testing won't be indicative of today's real world program size. Even SPEC2006's largest C++ programs are not that big. Thanks, David > >