CPU usage difference between workers mode and autofp

I am having a hard time to understand the differences in CPU usages in workers mode and autofp mode.

Running Suricata in autofp mode CPU usage goes around 95%. Workers mode gives me around 4% CPU usage.

Why there is such a substancial difference?

The short answer is, that workers mode is optimized for higher performance.

See 9.1. Runmodes — Suricata 6.0.3 documentation

So unless you have very good reasons to use autofp, go with workers