As far as I understand, the current implementation goes with a [`MethodInterceptor`](https://github.com/spring-projects/spring-framework/blob/29203d7293994b00a6b75fde72a20ddcaf6d19ec/spring-context/src/main/java/org/springframework/cache/interceptor/CacheInterceptor.java) which adds runtime overhead for every invoked method. I wonder if Spring AOT could be used to generate the interceptors at the build time, so the runtime does not pay overhead.