[llvm-dev] Proposal: introduce dependency on abseil when building benchmarks

Mircea Trofin via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 5 08:06:29 PDT 2021


Gentle reminder - I'd plan on moving forward with the abseil dependency by
the EOW, unless there's pushback.

Thanks!

On Thu, Sep 30, 2021 at 10:07 AM Mircea Trofin <mtrofin at google.com> wrote:

> TL;DR; When either of LLVM_BUILD_BENCHMARKS or LIBCXX_INCLUDE_BENCHMARKS
> are enabled, as well as for llvm-test-suite, a dependency to abseil would
> either be auto-downloaded by the build system, or need to be
> user-specifiable, or provided in the source tree.
>
> Details
>
> There are (afaik) 3 copies of the google/benchmark
> <https://github.com/google/benchmark> project in the llvm tree: in
> llvm-test-suite, in llvm/utils, and in libcxx/utils/.
>
> The benchmark code uses some functionality otherwise offered by abseil
> <https://abseil.io/>. Over time, this is inconvenient: continued need for
> duplication for some features; integration issues in projects using abseil
> due to macro conflicts; and overall bit rot / maintenance overhead.
>
> We want <https://github.com/google/benchmark/pull/1183> to add a
> dependency to abseil to the benchmarks project.
>
> Abseil has some requirements
> <https://abseil.io/docs/cpp/platforms/platforms#:~:text=Abseil%20requires%20a%20code%20base,14%20through%20C%2B%2B20).>
> that may not perfectly match those of the impacted projects. For example,
> abseil stopped supporting Ubuntu 14.04 before its TLS.
>
> Naturally, projects snap to whichever version of benchmark they want to;
> but this new dependency would add an extra consideration when considering
> updating the version of benchmarks; and the need to handle the extra
> dependency (either by being OK with it being auto-downloaded, or via the
> other means described above)
>
> Are there any other issues that we're missing? Would anyone be hindered by
> this adoption of abseil in google/benchmarks?
>
> Thanks,
> Mircea.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211005/771043ae/attachment.html>


More information about the llvm-dev mailing list