c5ed5612fb5f1f9326bf5f61c02daea087d9b05d
Replaced LRU page cache with syscall.Mmap: - OpenIndex: mmap entire file read-only (MAP_SHARED) - cachedLoadPage: copy from mmap slice (no syscall per page) - Close: munmap + file close - insertKeyBTree: munmap before modify, mmapFile after complete - remapFile: re-mmap after file size changes Results on ext4 (50K records): - SEEK random: 188ms → 138ms (26% improvement) - SCAN: 35ms → 23ms (34% improvement) - DUPKEY: 53ms → 41ms (23% improvement) - INDEX: 180ms (unchanged — per-key insertion, no mmap during build) Go-native approach: - syscall.Mmap instead of C-style LRU cache - OS page cache handles eviction automatically - Simpler code (60 lines removed, 30 added) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Description
Five — Harbour+Go Fusion Language (PRG→Go native binary)
Languages
Go
57.9%
xBase
22%
C
19.5%
Shell
0.5%
Makefile
0.1%