MOC — General Utility Libraries
Cross-cutting libraries used throughout the codebase: one per language. These sit beneath
every other subsystem MOC (container-jdisc, content-nodes, config-admin).
(Description from vespa/Code-map.md; sizes from first-hand inspection.)
Modules
vespa/vespalib— general utility library for C++ (1174 files, ~123k LOC). Observed
subdirs includedata/,net/,searchlib/,geometry/,parse/,objects/,
testkit/— a wide-scope “std-plus” layer.vespajlib— general utility library for Java, including the Java tensor library
implementation (577 files, ~68k LOC).
Note: the Java tensor implementation lives here (vespajlib) while the C++ tensor/eval
library is its own module under content-nodes (vespa/eval).
Anchor files
vespa/vespalib/data/— core data structures (observed directory; incl.abi-spec.json,
suggesting a stable ABI surface).vespa/vespalib/src/vespa/vespalib/— main C++ source tree.vespa/vespajlib/src/main/java/com/yahoo/tensor/— Java tensor library (path pattern
observed; exact subpackage to verify).
Open questions
- Verify the vespajlib tensor package path and pick the canonical “first file to read”.
- Should other low-level modules (
fnet,flags,jrt,http-utils,fsa) be folded in? - What is the ABI-compatibility policy signaled by
vespa/vespalib/data/abi-spec.json?