[cPerf] LNT error on LLD bot

Kristof Beyls via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 21 01:31:42 PDT 2017


On 20 Apr 2017, at 18:46, Renato Golin <renato.golin at linaro.org<mailto:renato.golin at linaro.org>> wrote:

On 20 April 2017 at 17:35, Kristof Beyls <Kristof.Beyls at arm.com<mailto:Kristof.Beyls at arm.com>> wrote:
I think what made it break in this way is installing gcc/g++.

No, the original breakage was complaining gcc didn't exist. Something
in LNT is requiring GCC.


Reverting the commit that broke the bot in a different way initially won't make the bot pass again, as gcc/g++ will still be installed.

I have removed it.


I'm assuming that the bot will be fine without gcc/g++ installed, as it was fine before without having it installed.

Most of our buildbots run solely on Clang.


Probably it's only needed when something changes in lnt/lnt/testing/profile/cPerf.cpp.
Of course after uninstalling gcc/g++, this will break again once anyone makes another change to cPerf.ccp.
I don't expect any in the near future, but you never know.

It'd be good to understand why the build system is requiring GCC...

The mechanism used is documented here: https://docs.python.org/2/extending/building.html.
There doesn't seem to be a documented way to specify a non-default compiler, but some stackoverflow answers suggest setting the CC environment variable: http://stackoverflow.com/questions/16737260/how-to-tell-distutils-to-use-gcc.

In summary, I think we shouldn't try to fiddle with this in the LNT package and just keep on following standard Python practice to avoid more hard-to-understand breakage.

We could consider not having a c++ module in LNT, which would remove the need to build during LNT installation.
The functionality in cPerf.cpp could probably be reimplemented by calling "perf annotate" and text parsing the output of that.
However, James tells me that "perf annotate" is about 6 times slower than the code in cPerf.cpp, and that is even without parsing the output of perf annotate.
So, whether or not to drop cPerf.cpp and replace it with python code parsing the output of "perf annotate" is a tradeoff between ease of deployment, ease of maintenance and the speed at which the performance tracking bots work.

Thanks,

Kristof
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170421/5ecf8d52/attachment.html>


More information about the llvm-commits mailing list