Austin L wrote:
Yes sir, this was with MDB_FIXEDSIZE:
I re-built and ran to confirm LMDBBenchmark/DirectLMDB/5000/iterations:1/real_time 60.1 ms 62.5 ms 1 bytes_per_second=458.212Mi/s items_per_second=83.1263k/s time_per_item=12.0299us LMDBBenchmark/DirectLMDB/10000/iterations:1/real_time 115 ms 78.1 ms 1 bytes_per_second=478.553Mi/s items_per_second=86.8166k/s time_per_item=11.5185us LMDBBenchmark/DirectLMDB/100000/iterations:1/real_time 1589 ms 1391 ms 1 bytes_per_second=346.968Mi/s items_per_second=62.945k/s time_per_item=15.8869us LMDBBenchmark/DirectLMDB/1000000/iterations:1/real_time 64060 ms 59797 ms 1 bytes_per_second=86.0486Mi/s items_per_second=15.6105k/s time_per_item=64.0596us
WIthout MDB_FIXEDSZIE: LMDBBenchmark/DirectLMDB/5000/iterations:1/real_time 263 ms 234 ms 1 bytes_per_second=104.879Mi/s items_per_second=19.0266k/s time_per_item=52.5579us LMDBBenchmark/DirectLMDB/10000/iterations:1/real_time 541 ms 438 ms 1 bytes_per_second=101.861Mi/s items_per_second=18.479k/s time_per_item=54.1155us LMDBBenchmark/DirectLMDB/100000/iterations:1/real_time 4983 ms 4156 ms 1 bytes_per_second=110.612Mi/s items_per_second=20.0666k/s time_per_item=49.834us LMDBBenchmark/DirectLMDB/1000000/iterations:1/real_time 101823 ms 92297 ms 1 bytes_per_second=54.1355Mi/s items_per_second=9.82097k/s time_per_item=101.823us
The only other apparent difference is the use of the OVERLAPPED flag itself. You could try removing that too.