ajldigger@gmail.com wrote:
Howard,
Thanks I had the exact same question as I am investigating the use of LMDB for my company. I was specifically interested in 1.0.0 because of the new MDB_VL32 support for windowing, as we have to support Linux and Windows 64 bit and annoyingly support 32 bit Windows applications because of legacy support.
I found I had to patch mdb.c to compile with MSVC 2026.
Given your statement of building with GCC on Windows, I assume you and your team are using MinGW?
We currently use msys2, with the mingw64-ucrt environment.
I would like to know the tool set you are using as I was planning to submit a pull request to Conan Center Index to update their recipe for LDMB which currently only supports up to 0.9.32, to add support for 0.9.35 and 1.0.0.
Looks like 1.0.0 won't compile cleanly, this has been fixed in git rev 8827c7db612cd6c2690336e914f25d2e9b0abc40
And perhaps I should open a new thread for my next question. But my patched mdb.c to compile with MSVC I also saw an 8 fold drop in write performance on Windows Only in my test application moving from 0.9.32 to 1.0.0. I did not see this when moving to 0.9.35.
Probably an effect of ITS#8324, which was never enabled in 0.9. But should have been mitigated by ITS#9017. You can also try compiling with -DMDB_FIXEDSIZE instead, to use the pre-8324 behavior.
I assume you and your team have never seen this. It very well could be a result of my terrible patch to mdb.c to compile with MSVC and may be solved as soon as I recompile LMDB on windows with GCC.
Thanks For your Time -Austin L.