On Wednesday, 26 April 2017 at 17:06:52 UTC, krylon wrote:
[...]
If I understand what I have read so far correctly, it is
possible to access libraries written in C or C++ from D - in
that case, I could just use Tokyocabinet directly, but I have
not found any pointers on how to do this. Is this a feasible
option, and if so, where can I find documentation on how to do
this?
I can recommend using LMDB[1] which likely does all you want.
It also has D bindings[2]. We use it in the AppStream generator
with multithreaded parallelization and it is working great so far
(although for the usecase of asgen it's not an ideal database
choice, but one which makes deployments of the generator really
simple).
I explored other solutions including Tokyokabinet and LevelDB and
LMDB was by far the fastest.
Cheers,
Matthias
[1]:
https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database
[2]:
https://github.com/ximion/appstream-generator/blob/master/src/asgen/bindings/lmdb.d