[PATCH] D140271: [NFCI][llvm-exegesis] Benchmark: parallelize codegen (5x ... 8x less wallclock)

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 16 07:13:54 PST 2023


lebedev.ri added a comment.

In D140271#4056202 <https://reviews.llvm.org/D140271#4056202>, @courbet wrote:

>> Are you seriously saying that 10x wallclock improvement is negligible?
>
> 10x speed improvement is not negligible. I'm simply questioning whether speed matters in this case.
>
> If the speed improvement came at no cost, that would be a no-brainer. But there is a speed/readability tradeoff, which we need to evaluate.

All the changes here are to a **single** function,
that isn't really going to change further anyway.
It's not like this requires changes to many places.

> In my personal experience, I did not feel that benchmarking speed was ever an issue, but I do feel that this code is more complex to understand. Therefore to me that tradeoff is negative. If other people feel otherwise I'm happy to reconsider.

I would not bother with this if if i didn't find the existing speed to be problematic.
I would not add progress meter either. I would not fix the analysis speed either.
I'm doing these things because i found them to be sub-par, during my usage.

In D140271#4056248 <https://reviews.llvm.org/D140271#4056248>, @RKSimon wrote:

> Has anyone got a recent profile of llvm-exegesis upto --benchmark-phase=assemble-measured-code?

for all-opcode pass,

- `--benchmark-phase=prepare-snippet` is instantenious, takes less than a sedonc
- `--benchmark-phase=prepare-and-assemble-snippet` takes maybe 2..5 seconds
- `--benchmark-phase=assemble-measured-code` takes minutes.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D140271/new/

https://reviews.llvm.org/D140271



More information about the llvm-commits mailing list