[all-commits] [llvm/llvm-project] ed5a6b: [NFC][XRay] Account: decouple getStats() interface...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Sun Jul 26 04:08:48 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ed5a6b9305145fd073d046d6e9814ffb70c5fdbe
      https://github.com/llvm/llvm-project/commit/ed5a6b9305145fd073d046d6e9814ffb70c5fdbe
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-07-26 (Sun, 26 Jul 2020)

  Changed paths:
    M llvm/tools/llvm-xray/xray-account.cpp

  Log Message:
  -----------
  [NFC][XRay] Account: decouple getStats() interface from underlying data structure

It doesn't really need to know where Timings are stored, it just needs
to be able to sort them, so MutableArrayRef is enough.

That uncovers an interesting quirk that it relied on
implicit double->int conversion for calculating percentiles.


  Commit: b1210c059d1ef084ecd275ed0ffb8343ac3cdfad
      https://github.com/llvm/llvm-project/commit/b1210c059d1ef084ecd275ed0ffb8343ac3cdfad
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-07-26 (Sun, 26 Jul 2020)

  Changed paths:
    M llvm/tools/llvm-xray/xray-account.h

  Log Message:
  -----------
  [NFC][XRay] Account: migrate to DenseMap + SmallVector, -16% faster on large (3.8G) input

DenseMap is a single allocation underneath, so this is has pretty expected
performance impact on large-ish (3.8G) xray log processing time.


Compare: https://github.com/llvm/llvm-project/compare/18df607dbeb4...b1210c059d1e


More information about the All-commits mailing list