Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any way to use this repo for non-Rust project? #1566

Open
hehaoqian opened this issue Mar 31, 2023 · 6 comments
Open

Any way to use this repo for non-Rust project? #1566

hehaoqian opened this issue Mar 31, 2023 · 6 comments

Comments

@hehaoqian
Copy link

I am in a team for compiler development.

Not related to Rust, but developing under MLIR framework

Finding a way to track the performance of our compiler (both compilation speed and quality)

Any suggestion how to make use of this repo for our purpose?

@Kobzol
Copy link
Contributor

Kobzol commented Mar 31, 2023

Hi, in theory, it could be possible, but I'm not sure if it's practical. Most of the code in this repository is specialized heavily for the Rust compiler. What exactly would you like to repurpose? The UI? Or the profiling/benchmarking code?

@hehaoqian
Copy link
Author

hehaoqian commented Mar 31, 2023

  1. I like the UI, which provides the trending graph, and provide easy way to compare commits.
  2. We are current using the llvm-lnt framework, as show in http://lnt.llvm.org/, and its documentation
    It provides easy way to customize schema by yaml, so I can just simply submit json to its database, to submit a performance record.
    But I do not like its website, for its way to compare performance.
    llvm-lnt is using Jinja framework, its trending graph is hard to understand, and rendering is slow

Everyone in our compiler team is newbie to database and website frontend.
So we just want to make use of open source solutions

I am considering to modify the "site" directory repository,
to read the SQL database managed by llvm-lnt, any suggestion?

@nnethercote
Copy link
Contributor

I haven't tried it, but https://github.com/bencherdev/bencher is a project that does generic benchmarking. It may be more suitable.

@Kobzol
Copy link
Contributor

Kobzol commented Mar 31, 2023

Indeed there are some general tools available that might be a better fit (I even developed one a few years ago, but it's not maintained anymore).

That being said, if you want to use the exact same UI as rustc-perf does, you might be able to rip out the necessary HTML/JS/CSS and implement your own backend for it. That shouldn't be too complicated. If you go that route, I would suggest to use a version of the repository a few months old, because recently we have switched to a Rust-based templating engine for the web, which might complicate things a bit for you. Before it was just raw static HTML pages.

@hehaoqian
Copy link
Author

I have tried https://github.com/bencherdev/bencher, but it looks too new to be production ready.

We need the service to be self-hosted, for the security reason

ChatGpt suggests me for the following solutions:

  • Phoronix Test Suite
  • Apache JMeter
  • OctoPerf

Looks like they are much more powerful, but will take me a while to learn how to use it

@hehaoqian
Copy link
Author

hehaoqian commented Apr 1, 2023

Also looked at https://grafana.com/
Our IT uses that to track the loading of the machines.
It looks like it has powerful UI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants