roc-toolkit icon indicating copy to clipboard operation
roc-toolkit copied to clipboard

Create micro-benchmarks for audio codecs

Open gavv opened this issue 4 years ago • 0 comments

Last revised: Oct 2023

We have two interfaces for audio codecs: audio::IFrameEncoder and audio::IFrameDecoder. Currently, they are implemented only by audio::PcmEncoder and audio::PcmDecoder. Later we'll add more implementations.

In this issue, we want to create generic benchmark framework for IFrameEncoder and IFrameDecoder, and for now use it to measure performance of PcmEncoder and PcmDecoder.

It also makes sense to add a benchmark for memcpy, representing an ideal and fastest possible codec. We will use it to compare results with real codecs.

Performance of PCM codecs may vary depending at least on sample size (e.g. 16 bit) and channel mask (e.g. mono and stereo). We should cover all significant cases in our benchmarks.

See #366 for details on adding micro-benchmarks.

gavv avatar May 24 '20 12:05 gavv