-
Notifications
You must be signed in to change notification settings - Fork 7
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
Performance Testing? (for t3h lulz) #1
Comments
You joke, but I actually intend to do something like this at some point. It would be really nice if we could track performance per-commit, to see how the performance is improving or regressing over time. And for finding the areas that need improvement, I'd like to be able to measure the number of 8051 instructions executed for each RISC-V instruction, since that should be straightforward to measure and would provide an implementation-independent way to predict the performance impact of the emulator. For instance, if you know your single-cycle 8051 runs at 80 MHz, and each RISC-V instruction takes between 50 and 150 8051 instructions to execute, then emulating some RISC-V code on that 8051 core would have similar performance to executing that same code natively on a 533-1600 kHz single-cycle RISC-V core. |
Just wanted to drop by and say this project is absolutely amazing and I wish you all the success with it! I would love to be able to write and upload rust code onto old 8051 chips. I think that it would be super cool, though I'm sure there are lots of other more practical use cases (like writing rust firmware for 8051-based laptop ECs). |
I've managed to put some of the puzzle pieces together for benchmarking and have it working for a handful of the RISCV benchmarks. LMK what you think: https://github.com/jefftrull/riscv-tests-cyrozap/tree/benchmark-via-s51 |
I thought it might be fun(ny) to do some benchmarks on this core. Here are a few possible options https://github.com/sifive/benchmark-coremark https://github.com/riscv/riscv-tests/tree/master/benchmarks
The text was updated successfully, but these errors were encountered: