Crowdsec is much more efficient than fail2ban. Fail2ban is a lot of old single-threaded Python code with inefficient log parsing/tailing routines. Crowdsec is a more modern Go codebase.
If you’re looking at old-school solutions, there’s also DenyHosts.
I wonder if they’re factoring in the energy usage to train the model. That’s what consumes most of the power.