If you don't provide a signature, it will take a little longer the first time you call the function, but all subsequent times will be just as fast as if you had provided a signature. That's because it will compile if you give a signature or if you give it a set of arguments, and the compilation can take a long time (tens to hundreds of milliseconds, maybe whole seconds if LLVM has to be loaded into memory).
There have been some times when I wanted AOT compilation. One was when I was demonstrating Numba performance: I didn't think it would be fair to include the compilation time in the throughput measurement because it's a one-time thing.
Another was because I wanted to create the ELF string (compiled bytecode in a portable format) to transmit to a remote site. I hadn't yet seen any data because they were at the remote sites, but I knew what the types would be.
The following hasn't come up yet for me, but I suppose you could want to force compilation to verify that it will compile, as a sort of type check.
So there are reasons to do AOT compilation, but asymptotic rate is not one of them.
Jim