Score recalc is pretty slow currently. Slow enough that I left it and came back to it several times and it still wasn't done. We should consider rewriting it in Rust for better performance. Such an implementation could:
- Use streaming parsing for the JSON (and LZMA decompression) using a custom serde
Deserialize implementation, avoiding allocating huge arrays of test results. This could be done both for top-level tests and sub-tests.
- Avoid allocating test name strings entirely by matching directly against the values in the raw file (which will never include escaped characters).
Score recalc is pretty slow currently. Slow enough that I left it and came back to it several times and it still wasn't done. We should consider rewriting it in Rust for better performance. Such an implementation could:
Deserializeimplementation, avoiding allocating huge arrays of test results. This could be done both for top-level tests and sub-tests.