This guide covers the shortest path from a fresh checkout to a working local QIHSE build.
For the project overview, start with the root README. For subsystem details, use the documentation hub.
QIHSE is a native C/C++ project targeting Linux. The build also integrates Python, OpenSSL, liburing, LuaJIT, eBPF/XDP, SQLite, and post-quantum cryptography components.
Run the built-in environment check first:
./qihse dev-setupThe launcher is the preferred entry point because it exposes the build, test, benchmark, database, server, and ISA-detection workflows in one place.
./qihse --help
./qihse status
./qihse isa-infoThe normal build automatically selects supported CPU instruction paths from the host CPU.
./qihse buildEquivalent Makefile workflow:
make clean && makeUseful alternatives:
./qihse build-ctypes
./qihse build-native
./qihse build-tuiQIHSE has scalar and older-ISA fallbacks; AVX2/AVX-512 are accelerators, not a requirement for the entire codebase. Build flags can also be overridden explicitly through the Makefile when testing a specific ISA path.
./qihse testor:
make testSecurity-sensitive protocol code has additional regression, sanitizer, concurrency, TLS, ACL, and fuzz coverage. See Security and the August 2026 UWP audit.
./qihse status
./qihse version
./qihse checkThe launcher can also start a test server or database-oriented CLI:
./qihse server
./qihse db --helpThe repository contains native Python bindings and compatibility SDKs under sdks/python/.
The launcher can start a Python environment with QIHSE importable:
./qihse pythonIt can also run the bundled SDK demo:
./qihse demoA minimal vector example looks like this:
import numpy as np
import qihse
with qihse.VectorDB.create("/tmp/example-qihse", dims=128) as db:
vectors = np.random.rand(100, 128).astype(np.float32)
db.add_vectors(vectors, ids=list(range(100)))
results = db.search(vectors[0], k=10)
print(results)QIHSE also exposes KV, document, time-series, full-text, graph, task-queue, and protocol-compatibility interfaces. See Features and Compatibility.
Run the general benchmark workflow with:
./qihse benchThe integrated QIHSE + KEYSTONE benchmark target is:
make bench-keystone-integratedDo not treat benchmark numbers as portable constants. CPU generation, ISA selection, dataset shape, working-set size, compiler flags, and storage configuration all materially affect results. The methodology and recorded results live under docs/benchmarks/.
| Goal | Documentation |
|---|---|
| Understand the major subsystems | Features |
| See supported external protocols and compatibility layers | Compatibility |
| Understand architecture | Architecture docs |
| Review SQL/query internals | SQL engine |
| Review transactions and MVCC | Transactions & MVCC |
| Review graph/Cypher support | Graph engine |
| Review replication and backup | Replication & backup |
| Review operational protocols | Operational protocols |
| Review security posture | Security |
| Review performance methodology | Benchmarks |
| Read the deep technical treatment | Technical whitepaper |