TLeconte / vdlm2dec

vdl mode 2 SDR decoder
GNU General Public License v2.0
74 stars 23 forks source link

High CPU Use #36

Closed acarslogger closed 5 years ago

acarslogger commented 5 years ago

Hi Thierry,

I'm running the latest commit cf6d0724571dad9b505832903983b78c1d9e009c with the new -b and libacars. Previous versions have used about 45% of cpu on my Raspberry Pi v3. When using 'top', this latest version appears to be running at 195% cpu; although I assume it is spread across all cpu's. Why is the CPU use so high? Regards Stuart

TLeconte commented 5 years ago

Strange. I did not change the signal processing code which is the part that consume CPU. I think it's more a Makefile vs CMake problem. I naively hoped that CMake will use the good compile options depending of target.

Could you try to add to CMakeLists.txt the line : add_compile_options(-O3 -mcpu=cortex-a53 -mfpu=neon-fp-armv8) just BEFORE add_executable.

Then rm -rf build and then redo all the compile procedure (make build etc ...)

I do that blindly as I don't have a RP3

TLeconte commented 5 years ago

Sorry The line add_compile_options must be BEFORE add_executable

acarslogger commented 5 years ago

Hi Thierry,

Changed the CMakeLists.txt file. It's now reduced the cpu from 195% down to about 65%. Thanks. As a matter of interest I've tried running both the old version (with the old Makefile) and new version (with CMake) on the Raspberry Pi at the same time. Both using similar RTL-SDR v3. The original version runs at about 50 to 55% cpu, the latest version runs at 65 to 70%. Regards Stuart

TLeconte commented 5 years ago

Not normal; What compile options did you use in the Makefile for the RP3 ?

TLeconte commented 5 years ago

I added a generic add_compile_options to CMakeLists.txt and add a comment in README for ARM boards.