Top
Best
New

Posted by abdimoalim 5 hours ago

A header-only C vector database library(github.com)
48 points | 13 comments
whstl 9 minutes ago|
I feel like there's two kinds of developers. The ones who shit all over other people's preferences and turn everything into an almost religious discussion, and the ones who prefer to just build stuff.

Get over it. Some people like header only.

eatonphil 4 hours ago||
As data stores go go this is basically in memory only. The save and load process is manually triggered by the user and the save process isn't crash safe nor does it do any integrity checks.

I also don't think it has any indexes either? So search performance is a function of the number of entries.

bawolff 22 minutes ago||
As a non-C programmer, why would "header only" be a good thing?
c45y 7 minutes ago|
Extremely easy copy paste deployment into projects
kazinator 4 hours ago||
In the world of Kubernetes and languages where a one-liner brings in a graph of 1700 dependencies, and oceans of Yaml, it's suddently important for a C thing to be one file rather than two.
jasonpeacock 2 hours ago||
C libraries have advertised "header-only" for a long time, it's because there is no package manager/dependency management so you're literally copying all your dependencies into your project.

This is also why everyone implements their own (buggy) linked-list implementations, etc.

And header-only is more efficient to include and build with than header+source.

uecker 1 hour ago|||
I never copied my dependencies into my C project, nor does it usually take more than a couple of seconds to add one.
fonheponho 2 hours ago|||
Exactly; I can't understand this obsession with header-only C "libraries".
quotemstr 2 hours ago||
Writing new C code in 2026 is already an artisanal statement, so why not got all the way in making it?
hendler 2 hours ago||
Useful for embedded devices? Crashes, disk updates not important for ephemeral process?
altcunn 1 hour ago||
Header-only C libraries are such an underappreciated pattern for embedding into larger projects. For vector search specifically, having something you can just drop into an existing C/C++ codebase without pulling in a whole database dependency is really appealing. Curious about the indexing strategy — is it brute force or does it support approximate nearest neighbor?
ddtaylor 2 hours ago||
Would it work to replace the memory store with mmap?
Mikhail_Edoshin 4 hours ago||
Why to call it a header? Could be just a source file. Including sources is uncommon, but why not? Solid "amalgamation" builds are a thing too.
newzino 2 hours ago|
[dead]