yeah i recommended to Alan he assign core affinity, For a single threaded program , it can win you a few % by assigning afinnity on the command line..

However-  How multithreaded is it Alan ?

if it is well multi threaded, and IF there are significant worker threads, you will find substantial performance improvements assigning core affinity on a thread by thread basis in the C code .

I will look up my linux dsp modems (8 worker threads per modem for each phase)  and see how  did this today for you.

When you have A72 cores (four of them) the A53 cores are hardly worth bothering with- but they are useful to assign to the kernel and interrupt servicing, so that the L1 cache of the A72s doesnt get polluted.

The A72s are good for around 2.5 x the throughput of the A53s on average code.

The NEON engines run with about the same performance, IF the pipelines are carefully managed.

glen



On 5/07/2020 7:48 am, Al Beard wrote:
Hi Glen and all,

I've had a fiddle with "taskset", sets which CPU or CPUs are used.

prompt$ taskset 0x1 freedv173              (173 = day of the year compiled)

is the worst performer and

taskset 0x4 freedv173
taskset 0x8 freedv173
taskset 0x10 freedv173
taskset 0x20 freedv173

all behave the same with 100% CPU activity

taskset 0xc freedv173        returns 110% CPU.
as does taskset 0x30 freedv173


"nice -18" doesn't help either.


_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to