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

Create micro-benchmarks for FEC codecs #754

Open
gavv opened this issue Jul 12, 2024 · 0 comments
Open

Create micro-benchmarks for FEC codecs #754

gavv opened this issue Jul 12, 2024 · 0 comments
Labels
benchmarks Benchmarks and micro-benchmarks codecs Audio and FEC codecs help wanted An important and awaited task but we have no human resources for it yet much-needed This issue is needed most among other help-wanted issues

Comments

@gavv
Copy link
Member

gavv commented Jul 12, 2024

We have two classes fec::BlockReader and fec::BlockWriter that implement generation and processing of FEC packets. Internally they use fec::IBlockDecoder and fec::IBlockEncoder, which define FEC-scheme-specific codec, e.g. Reed Solomon or LDPC-Staircase.

We want to add a benchmark that measures performance of BlockReader and BlockWriter, as number of processed packets per second.

FEC benchmarks should be able to iterate an list of available codecs and measure each one, like we're doing it in FEC tests here: test_block_writer_reader.cpp. That file also can serve as an example how to use BlockReader and BlockWriter.

We need a few benchmarks for different FEC block sizes (defined by two parameters: number of source packets per block and number of repair packets per block), and different packet loss ratios (relevant only to BlockReader - e.g. lose every 3rd packet, every 10th packet, etc).

We use Google Benchmark. To add a new benchmark, just create a new file bench_FOO.cpp in src/tests/MODULE_NAME (roc_audio in this case). Here are examples of existing micro-benchmarks: 1, 2. You can find details on building and running benchmarks here.

@gavv gavv added help wanted An important and awaited task but we have no human resources for it yet codecs Audio and FEC codecs benchmarks Benchmarks and micro-benchmarks labels Jul 12, 2024
@gavv gavv added this to Roc Toolkit Jul 12, 2024
@github-project-automation github-project-automation bot moved this to Frontlog in Roc Toolkit Jul 12, 2024
@gavv gavv moved this from Frontlog to Help wanted in Roc Toolkit Jul 12, 2024
@gavv gavv added the much-needed This issue is needed most among other help-wanted issues label Jul 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmarks Benchmarks and micro-benchmarks codecs Audio and FEC codecs help wanted An important and awaited task but we have no human resources for it yet much-needed This issue is needed most among other help-wanted issues
Projects
Status: Help wanted
Development

No branches or pull requests

1 participant