Hi! Couple of weeks ago I was approached with a task of writing
simple microservice, and I decided to give D a chance. The
problem with performance became apparent very soon, and I started
to look for the cause. I tried all existing libraries, and noted
pretty mature dpq2 and ddb (and it's hb-ddb fork) libs. I didn't
like the first one, because I didn't want to leave vibe-d
eventloop, and the second one was native (big plus for me),
supported vibe-d sockets. I forked it, multiplied performance by
hacking in write buffer, but then the whole philosophy behind
it's code structure started to bother me, it incapsulated too
much IMHO. I needed something low-level, with access to message
nature of the protocol.
So, here's another one, uses native PSQL EQ TCP protocol:
Barely any type support, barely tested, but my little service
with it's two tables actually responds to requests. It's
Maybe something good will happen and it will find it's use, maybe
someone will come and write good generic ORM\DB tool for D, and
we'll have a good low-level client to hack into it as an PSQL
adapter, maybe it will perish. Who knows. It will definetly go,
if I won't publish it though.
If anyone here has some insight on typical architectural errors
wich make ORM writer's life hard, please share.