4 posts tagged with "engineering"

View All Tags

Building a garbage-free network stack for Kafka streams

Vlad Ilyushchenko

Vlad Ilyushchenko

QuestDB Team

Garbage collection is a type of automatic memory management that's used in many modern programming languages. The point of the garbage collector is to free up memory used by objects which are no longer being used by a program. Although it's convenient for developers not to think about manually deallocating memory, it can be a poisoned chalice that comes with several hard-to-predict downsides.

Re-examining our approach to memory mapping

David G. Simmons

David G. Simmons

QuestDB Team

How does QuestDB get the kind of performance it does, and how are we continuing to squeeze another 50-60% out of it? This post will look at a code change we thought would create a negative performance impact, which actually brought a substantial boost in the system's overall performance and demonstrates that we are constantly learning more about performance improvements.

The art of thread messaging

Vlad Ilyushchenko

Vlad Ilyushchenko

QuestDB Team

Inter-thread messaging is a fundamental part of any asynchronous system. It is the component responsible for the transportation of data between threads. Messaging forms the infrastructure, scaffolding multi-threaded applications, and just like real-world transport infrastructure, we want it to be inexpensive, fast, reliable, and clean. For QuestDB, we wrote our own messaging system, and this post is about how it works and how fast it is.