> From: Igor <http://profiles.yahoo.com/igor_ukr> > Date: Tue, 28 Jan 2014 10:37:21 -0800 (PST) > > Hi Robert, > Do you remember our discussion about file buffering and the advantages of > turning it off? > When you get a chance could you remind me why would that work for edgemart > serializations? I cannot think of how it could help during write()s or serialization. I think you have to read in the whole kit-and-kaboodle, interpret it, and write out the revised contents. For read()s, the concept was floated in one of the papers we read during "bible study". The win is primarily that, during read()s, you want to read only as much as you need and no more. (Presumably, you'd probably have to disable the operating system from also buffering blocks in the file, too.) So, when you're reading through the keys and you know the lengths, but only care about the bytearrays, why bother reading the string of the key if you don't need it (or alternatively, the bytearray -- but I forget whether there's a length there or not) -- just skip ahead via lseek(). I don't think it would be a great optimization overall, 'tho, unless the things you were skipping were very large (probably bigger than 1 block, i.e., 1024 bytes). Also, if you guys changed to the new edgemart format that Fred et al. proposed, this issue would be superfluous. > Let's meet for lunch sometime soon! Or, dinner. I'll pass the idea by Noelle to see what she thinks. I'll follow-up with the other part of your email later. > Cheers, > Igor >