CChristoffer Lerno- Implicit unsigned <-> signed integer conversions removed.
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
- Implicit unsigned <-> signed integer conversions removed. | 4 个月前 | |
Benchmark Runner QoL Improvements (#3004) * Benchmark Runner QoL Improvements Fixed merge conflicts of https://github.com/c3lang/c3c/pull/2672 ``` From @NotsoanoNimus: I work with `compile-benchmark` quite often - only fair I help with its upkeep. Slapped this together in a couple hours, because I really need more consistent results and a way to visualize them, and the benchmark runner is a bit of a rat's nest. Changes, in no particular order: * Add a MEDIAN metric to the results * The _mean_ gives us throughput information, but it's too heavily skewed by a set's outliers. * The _median_ gives us an idea of performance expectations with a 50% probability. Put another way, the tested function has performed at or better than the median in 50% of samples taken. * Caveat: a sorted set is required. For high-volume iterations, this can get expensive. * Improve the output units and refactor that into `NanoDuration`, so it can be used elsewhere as desired * Provide some pretty colors, oooooo * Added CSV reporting option to get a resultant data-set * Not the most useful thing, but makes it easy to plug benchmark outputs into other software. Could probably be improved upon. and yeah I'm a boomer who likes CSV, sue me * Restructure the benchmark runtime to be more like the tester runtime * Fixed a divide-by-zero crash when the benchmark iteration count was <100 * Rudimentary command-line options to adjust benchmark options ``` * print standard deviation by default differentiate measure units by color (us, ms, s) * clean leftovers * tweak all benchmarks so each takes ~300ms | 6 个月前 |