Create micro-benchmarks for FEC codecs #754
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
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
insrc/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.The text was updated successfully, but these errors were encountered: