body { margin:0px; background-color:#fff } img { margin:0px; border-style:none } button { margin:0px; border-style:none; padding:0px; background-color:transparent; vertical-align:top } p:first-child { margin-top:0px } table { empty-cells:hide } .f-sp { font-size:1px; visibility:hidden } .f-lp { margin-bottom:0px } .f-x1 { } .f-x2 { } .f-x3 { } a:visited { color:#8b0000; text-decoration:underline } .capsub { color:#808080; font-weight:bold; text-transform:uppercase; letter-spacing:2.4px } .bulletlist { margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0.1px } .style7 { color:#000; font-style:italic } .rightaligned { margin-left:0px; margin-right:0px; text-align:right; margin-top:0px; margin-bottom:0.1px } .footer { color:#808080; font-size:90% } .FWExtra { } .FWExtra a:link { text-decoration: none; } .FWExtra a:active { text-decoration: none; } .FWExtra a:visited { text-decoration: none; } .FWExtra a:hover { text-decoration: underline; } -->
top pages
Soapbox
Blog Company
About
| memory mapped files Modern operating systems support the mapping of files to virtual memory, "MMF" in short. The effect of MMF is that the entire contents of a file appears as in-memory. Benefits:
Drawbacks:
Metakit uses MMF's when the OS support it. This means that reading data files will take place without allocating any memory. Here are some comments to clarify the implications and to help separate fact from fiction:
When MMF's are not available, Metakit will fall back to loading columns as needed, and releasing them on commit and rollback. In this case, Metakit will in fact revert to being a "gradually fully memory resident" database. | metakit index • Overview • Download • Quotes • Links | |||