Profile Picture
Laurent Alfonsi

Software Engineer
Linaro
Standard Ticket

I am a software engineer, and worked for several years in gnu compilers. I'm now working on CI validation in Linaro Toolchain Working Group .

Talks

MAD24-219 Visual comparison of benchmarking configurations

Session

Toolchain

  • Wednesday, 15 May 14:55 - 15:20
  • Room: Session 1 | Las Palmas I

Code size and performance are tracked by the Linaro Toolchain CI for many compiler configurations (GCC/LLVM, O3/O2/Os/Oz, LTO, ...). While this is mainly done to detect compiler regressions, the size and performance figures collected on similar machines can also be used to compare these configurations. Some of these comparisons will be shown during this presentation, such as GCC vs LLVM, Os vs Oz vs O2 vs O3 or LTO vs non-LTO.

MAD24-210 Advanced features of Linaro Toolchain CI

Session

Toolchain

  • Wednesday, 15 May 11:45 - 12:45
  • Room: Session 1 | Las Palmas I

The Linaro Toolchain CI has particular features not commonly available in other CIs. They enable automatically running the full binutils, GCC, GDB, and glibc testsuites on new upstream commits and quickly detect regressions, bisect them down to a single commit, even in the presence of flaky tests. Also, multiple components can be tested at the same time, and even emulators such as QEMU can be part of the test regimen. In benchmarking mode, it enables us to detect effects of new compiler optimizations on the standard C and math libraries. In this presentation, you will learn about these features and see examples of them in action. We recently added pre-commit testing. We’ll see the impact of this extension on the community. Finally, we’ll share some feedback from the community, illustrating how this is perceived as a major step forward, once we have managed to avoid false alarms caused by flaky tests.

Using LNT as dashboard for toolchain results

LNT is LLVM's infrastructure for performance tracking, featuring a web visualization application, currently used by several companies to monitor their toolchains performance. We will present how Linaro toolchain team starts using the LNT tool to display CI results. We will cover two use cases : benchmarking results, which is the commonly used case, and toolchain component functional results.