title: looking for Windows RAM-based shared memory solution in C++
body: <p>I'm facing a situation where I need to pass up to several hundreds of megabytes of memory from one process to another. Right now I'm doing it via files and it's too slow. 
  I guess that to make it quicker, those files should be written directly to RAM and be accessible from another process. No fancy synchronization required. One process would create  shared memory objects and would fill them with data. The other process would read and remove them. However I've done a quick research and it seems like you can't share memory in RAM in Windows - the shared memory is backed by either a file or paging file. The docs of boost::interprocess confirm this. Where is the speed up then if the shared memory implementation still uses disk? Is there any C++ library that uses RAM-based shared memory?</p>
  
  <p>EDIT: I made some further reading:
  1. from boost::interprocess docs:
  "as the operating system has to synchronize the file contents with the memory contents, memory-mapped files are not as fast as shared memory. "
  2. from <a href="http://msdn.microsoft.com/en-us/library/ms810613.aspx" rel="noreferrer">http://msdn.microsoft.com/en-us/library/ms810613.aspx</a>:
  "A memory-mapped file can also be mapped by more than one application simultaneously. This represents the only mechanism for two or more processes to directly share data in Windows NT."</p>