CPU Utilization

Hi all,

when running backtests or optimizations I believed that AB would pretty much use all available processing resources of the machine. I recently had my task manager open and noticed that in this is not the case. As you can see on the screenshot, AB uses all 24 available threads of my PC's processor but the processor utilization almost is unaffected by the backtest and remains on a very low level. I wonder now if the machine is actually putting its max performance into my AB processing or not. In other words, I wonder if my AB settings are not correct and if so what I need to do to ensure AB gets the highest priority within my PC's resource allocation. (I am using the metastock plug in and its end of day data for my database.) Thanks in advance for your thoughts on this. BR, Nico

You can read this thread: it has covered many aspects including misaligned data in the DB.
Then you can narrow down to where the bottleneck is.

Backtest speed and memory bandwith - AmiBroker - AmiBroker Community Forum

Thanks for the quick reply! I am not a coder / in IT and have to admit I am not sure how much I understand of the link you sent. Maybe let me start high level first what I "should" expect. Is it normal that the processor utilization remains low during the BT or "should" it actually go up to 90-100% or so? As said, the latter is what I had expected but I might be wrong :slight_smile: Can you share what levels your machine's PC utilization normally is at? Many thanks!!

I am not sure if this helps - these are the detailed timings of the BT and the Expl.

It depends on formula and data. If formula is too simple it can't saturate CPU. In your case most of the time is spent accessing the data which is serial by nature.
In today's processors you have to do serious mathematical heavy lifting to be CPU bound.

A must read

1 Like

Thanks for the quick feedback!


see how easily it uses almost above 80 % of CPU
another snapshot

But yes, as Tomasz says the afl has to do some heavy lifting here.