Sam Dave wrote: > I have also seen situations where I'm iterating (cursor) through an LMDB > database, apparently slow at first. Then magically, if I wait a while, it > keeps getting > faster and faster. It's almost as if the OS can predict I have intentions of > reading more from this database and decides to go ahead and memory map more > ahead > of time. Have you seen this happen? Do OSes really tend to do these things?
Yes, most OSs do this. It's called read-ahead, you can do a web search and read all about it. > > Regards, > Sam > > Oct 24, 2022, 22:47 by [email protected]: > > Sam Dave wrote: > > Hi, > > If my program reads through an LMDB database apparently slow at first > run, but suddenly runs much quicker at the second run (which does exactly the > same > thing), > can't I already say with confidence that my choice of LMDB - in this > case its builtin memory mapping functionality - is already paying off in > terms of > read speeds? > > I mean, that alone (exact same thing runs much faster the second > time) already PROVES that the bottleneck was reading from disk as opposed to > memory, > right? I'm > looking for excuses for patting myself on the back for investing in > LMDB. > > > Yes, the OS has cached the data in memory. > > > Regards, > Sam > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
