We have a problem with 64-bit performance in MapViewOfFile on large volumes (hundreds of GB);
In a 32-bit application, our application displays thousands and thousands of views in size of 64 KB, constantly changing them in the database. Under 64 bits, the entire database can finally be mapped into the virtual address space of our process. So far so good.
It can be expected that the 64-bit version will work much better than the 32-bit version, since we allow Windows to handle all the swap (if necessary, that is, apparently, it mainly depends on the amount of physical memory present in the server )
However, in practice, the 64-bit version (simultaneous mapping of all files to memory) is much worse, from 2 to 40 times the time that the 32-bit version used to work through the database.
We have eliminated many factors, and this is really caused by the general cache of Windows. (We mainly, but not exclusively, use Windows Server 2008 - this is one and the same problem in all directions.)
Is there something we can do to get the extra acceleration you expect when matching large files in memory only once? (In contrast to the continuous display and replacement of small pieces manually.)
Thanks in advance!
source
share