Moved baseband temporary buffers back into class member variables.

Significant performance hit when declaring on stack. C++ wants to initialize std::array or even raw array with element constructors, was resulting in ~7% CPU utilization, for a buffer that was immediately written over anyway.
This commit is contained in:
Jared Boone 2016-01-03 22:31:44 -08:00
parent 5547782f5a
commit d9017530c6
10 changed files with 42 additions and 45 deletions

View file

@ -39,6 +39,16 @@ public:
void on_message(const Message* const message) override;
private:
std::array<complex16_t, 512> dst;
const buffer_c16_t dst_buffer {
dst.data(),
dst.size()
};
const buffer_s16_t work_audio_buffer {
(int16_t*)dst.data(),
sizeof(*dst.data()) * dst.size()
};
dsp::decimate::FIRC8xR16x24FS4Decim8 decim_0;
dsp::decimate::FIRC16xR16x32Decim8 decim_1;