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

vertexcodec: Improve tracing and benchmarking tools #812

Merged
merged 5 commits into from
Dec 9, 2024
Merged

Conversation

zeux
Copy link
Owner

@zeux zeux commented Dec 8, 2024

  • Add control mode stats to trace output; it helps understand the data distribution and mode usefulness
  • Make it possible to run codecbench on a set of files; this presents a more accurate picture of decoding performance by running it on non-synthetic data
  • Since codecbench can now be used for benchmarking, remove benchmarking code from demo to keep it cleaner

This contribution is sponsored by Valve.

zeux added 4 commits December 7, 2024 10:05
We now track which control mode is used per byte and summarize the stats
in trace output when using new encoding.
Instead of just working on synthetic data, codecbench can now read a set
of files, recompress them into v0/v1 and profile decompression
performance.

This gives a more accurate representation vs just running codecbench, as
it's using the full data set in all its complexity, and instead of
rerunning one file many times it runs a sequence of files so the branch
predictor can't adapt too much to the specific structure of one file.
codecbench works better as a decoding benchmark since it can work on
real data set, whereas demo decoding may vary based on .obj file due to
various channels being redundant.
This makes it easier to validate output of codecbench vs codectest.
@zeux zeux marked this pull request as ready for review December 8, 2024 16:20
We use snake_case vs pascalCase.
@zeux zeux merged commit b46844f into master Dec 9, 2024
12 checks passed
@zeux zeux deleted the vcone-tools branch December 9, 2024 17:22
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

Successfully merging this pull request may close these issues.

1 participant