3 ms·
I did this for a high-performance time sequence database of robot activity. It's pretty hard. You need custom data structures for everything (no STL), adding fi
by tlb 13y ago
I did this for a high-performance time sequence database of robot activity. It's pretty hard. You need custom data structures for everything (no STL), adding fields to the data structures requires a schema migration tool, and it's easy to have subtle bugs around things like hash table growth.
However, it is insanely fast when it works.
- simcop2387 13y agoThis is one place where I'm wondering how Cap'n Proto[1] would help. Since the structures are already made for in memory usage I think it might work pretty well. And given that it's all versioned/tagged structure wise it should be easy to do the schema migration. [1] http://kentonv.github.io/capnproto/ http://kentonv.github.io/capnproto/
- stuaxo 13y agoWow, that looks great !
- sz4kerto 13y agokdb is mmapping db files - it's also a high-perf time series db, with exactly the same advantages and disadvantages what you mention.
- jzwinck 13y agoYou can't use most STL containers by default, but Boost Interprocess solves most of that: http://www.boost.org/doc/libs/1_55_0/doc/html/interprocess/allocators_containers.html http://www.boost.org/doc/libs/1_55_0/doc/html/interprocess/a...