[PATCH] D139797: [exegesis] Benchmark: provide optional progress meter / ETA

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 11 12:44:55 PST 2022


lebedev.ri created this revision.
lebedev.ri added reviewers: RKSimon, courbet, gchatelet.
lebedev.ri added a project: LLVM.
Herald added a subscriber: mstojanovic.
Herald added a project: All.
lebedev.ri requested review of this revision.

Now that `--opcode-index=-1` is mostly stable,
and i can migrate off of my custom tooling that emulated it,
there comes a bit of confusion as to the status of the run.

It is normal for the single all-opcode run to take ~3 minutes,
and it's a bit more than one can be comfortable with,
without having some sort of visual indication of the progress.

Thus, i present:

  $ ./bin/llvm-exegesis -mode=inverse_throughput --opcode-index=-1 --benchmarks-file=/dev/null --dump-object-to-disk=0 --measurements-print-progress --skip-measurements
  <...>
  XAM_Fp80: unsupported opcode: pseudo instruction
  XBEGIN: Unsupported opcode: isPseudo/usesCustomInserter
  XBEGIN_2: Unsupported opcode: isBranch/isIndirectBranch
  XBEGIN_4: Unsupported opcode: isBranch/isIndirectBranch
  XCH_F: unsupported second-form X87 instruction
  Processing...   1%, ETA 02:10
  Processing...   2%, ETA 02:03
  Processing...   3%, ETA 02:00
  Processing...   4%, ETA 01:57
  Processing...   5%, ETA 01:54
  Processing...   6%, ETA 01:53
  Processing...   7%, ETA 01:51
  Processing...   8%, ETA 01:50
  Processing...   9%, ETA 01:49
  Processing...  10%, ETA 01:48
  Processing...  11%, ETA 01:46
  Processing...  12%, ETA 01:45
  Processing...  13%, ETA 01:44
  Processing...  14%, ETA 01:43
  Processing...  15%, ETA 01:42
  Processing...  16%, ETA 01:42
  Processing...  17%, ETA 01:41

As usual, the ETA estimation is statically-insignificant,
and is a lie/does not converge at least until 50% through.
It would be nice to have an actual progress indicator like in LIT,
but i'm not sure we have such a luxury in C++ form in LLVM codebase already.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D139797

Files:
  llvm/tools/llvm-exegesis/lib/ProgressMeter.h
  llvm/tools/llvm-exegesis/llvm-exegesis.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139797.481942.patch
Type: text/x-patch
Size: 6067 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221211/8def5e08/attachment.bin>


More information about the llvm-commits mailing list