Recently we came across an issue where our application will take relatively more time to process in the first time after some idle time than the subsequent executions that happen later.
So, the concept behind that strange behaviour is prefetching
First time the application is loaded from the memory it will cache that for further subsequent processing. Once the application is no longer requested by the user, it will dump the cache.
So, after some idle time it will have to load the application from the memory itself, thus causing some delay in the initial execution.
I might be terribly wrong here, but I was delighted to find out the reason for this weird issue, so I'm posing this for my own reference!
So, read @ your own risk! :P