IDEA 1 - Object Serialization If you have a lot of parsing going on when you read your corpus of words, you may think about loading a structure that has a serialization feature. You can load the corpus, serialize the object, and deserialize it. This should give you some performance benefit since you won't have to parse anything. I did this for a financial analysis application. I would parse XML documents, store the information in the structures that I needed, then serialized them for use when the application restarted. It improved performance (memory usage and loading speed). IDEA 2 - OnBeginRequestAsync You could do the loading of your corpus in the OnBeginRequestAsync method. If needed, it would load in a separate worker thread and, when complete, could store the corpus in your static variable. While the corpus loads, any request that needed it could "wait" or inform the user that the summary feature is loading and will presently be available. "we must lose precision to make significant statements about complex systems." -deKorvin on uncertainty