Hi @Alexandre_Feburier ,
Caching a service result should immediately get the service results without needing to go through the flow steps.
Please note that cached service results are only returned if the inputs to the service match as well.
You mentioned that your service takes anywhere between 40ms and 20seconds to execute. Are there any external calls being made from within that service that result in varied execution times? I would focus more on the service in question to really figure out the reason for the delay ( may not be related to caching at all)
On a side note:
A simple test to demonstrate caching is by having a service sleep for n seconds and printing out the time before and after sleep.
Sample flow :
getCurrentTime
sleep for 5seconds
getCurrentTime
With caching enabled , on repeated runs you can clearly observe that the service ran in less than 5 seconds( < sleepTime).