I seem to remember reading that this is not as efficient as it looks, eg here
But I don’t know what those benchmarks are worth