A header-only C vector database library

(github.com)

35 points | by abdimoalim 4 hours ago

6 comments

  • eatonphil
    2 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.

  • hendler
    1 hour ago
    Useful for embedded devices? Crashes, disk updates not important for ephemeral process?
  • kazinator
    3 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
      34 minutes 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.

    • fonheponho
      44 minutes ago
      Exactly; I can't understand this obsession with header-only C "libraries".
    • quotemstr
      45 minutes ago
      Writing new C code in 2026 is already an artisanal statement, so why not got all the way in making it?
  • ddtaylor
    50 minutes ago
    Would it work to replace the memory store with mmap?
  • Mikhail_Edoshin
    2 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
    37 minutes ago
    [dead]