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

Mircea Trofin via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 7 10:00:46 PDT 2021


On Thu, Oct 7, 2021 at 9:58 AM Tom Stellard <tstellar at redhat.com> wrote:

> On 10/7/21 9:49 AM, Mircea Trofin wrote:
> >
> >
> > On Thu, Oct 7, 2021 at 9:47 AM Tom Stellard <tstellar at redhat.com
> <mailto:tstellar at redhat.com>> wrote:
> >
> >     On 9/30/21 10:07 AM, Mircea Trofin via llvm-dev 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 <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/ <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 <
> 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)
> <
> 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.
> >      >
> >
> >     Does this mean it would no longer be  possible to build the
> test-suite
> >     on any architecture besides x86_64, aarch64, and arm?
> >
> > *if* there's a desire to keep in sync automatically with the upstream
> benchmark suite (which we don't currently do)
> >
>
> Ok, where in the test-suite is this code?
>
llvm-test-suite/MicroBenchmarks/libs/benchmark/

for completeness, the other 2 copies* pertinent to the llvm project overall
are:
llvm-project/llvm/utils/benchmark
llvm-project/libcxx/utils/google-benchmark

*AFAIK


> -Tom
>
> >
> >
> >     -Tom
> >
> >      > 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.
> >      >
> >      >
> >      > _______________________________________________
> >      > LLVM Developers mailing list
> >      > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> >      > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> >      >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/6692764e/attachment.html>


More information about the llvm-dev mailing list