I have a significant quantity of external resources that I need to load.  It takes about 5 minutes to fully load (about 16 gigs of data).  These are basically third party image patterns that I have to deserialize.  I then use these in my application to process images.  They all get used and they get used often.Ideally I would like to preload these once so that when the other application is closed and reopened, all the images do not have to be loaded again.  What is the best practice for creating a memory preloader that can share these resources with another process?SolutionsThe approaches I came up with are:RAMDisk:  This makes the data much easier to access and manipulate.  Works well since I am only reading the files once at startup to deserialize them.  Changes do not effect the program at all.Memory Mapped Files:  This approach is really best suited for operations that include writing, for streaming data that will fit in fixed size blocks, or fixed size data structures.
Preloading expensive resources
.net