Modeling strings with libpmemobj C++ bindings

Modeling strings with libpmemobj C++ bindings

C++ developers using libpmemobj have more than one option for modeling strings, depending on the size of the strings and whether they are fixed or varying in length. In this post we’ll review the representations that work, known variations to avoid, and finally present a persistent string …

Read More
libpmemobj - a year in review

libpmemobj - a year in review

It’s been a while since the last post on our blog, but we’ve been busy with the recently released 1.2 version of the library. It comes packed with improvements all throughout the code base and it also brings a handful of new features that we hope will end up being useful. With the year …

Read More
C++ bindings for libpmemobj (epilogue) - converting existing applications

C++ bindings for libpmemobj (epilogue) - converting existing applications

During the development of the C++ bindings, we wrote a couple of examples and even more tests. But these are new applications written from scratch to understand persistence. While this approach is OK for newly developed apps, there is a lot of existing code out there that is not designed for …

Read More
C++ bindings for libpmemobj (part 7) - synchronization primitives

C++ bindings for libpmemobj (part 7) - synchronization primitives

To finish off the C++ bindings to libpmemobj blog marathon, I will introduce to you the synchronization mechanisms we implemented. They are mostly C++11-like implementations of different kinds of mutexes and the condition variable. They satisfy their respective concepts (Mutex, SharedMutex and so …

Read More
C++ bindings for libpmemobj (part 6) - transactions

C++ bindings for libpmemobj (part 6) - transactions

As I mentioned in my previous blog post, transactions are the heart of libpmemobj. That is why we had to take utmost care while designing their C++ versions, so that they are as easy to use as possible. There are, however, a couple of compromises we had to make due to the inadequacies of the C++11 …

Read More