I'm testing the new BSSG test build.
-
I'm testing the new BSSG test build. I've been working on it for a while to refactor the build process and move it entirely to RAM (optionally, for now).
On my OpenBSD Amsterdam VPS (single core, spinning drives), build times are cut down to less than a third of the last release, and on other devices it takes about half the time, with zero I/O.The current caching system isn't exactly rock-solid, and personally, I prefer a faster full build over maintaining all that complexity.
I'll probably upload everything as soon as I've ironed out a couple of bugs, in the coming days.
-
I'm testing the new BSSG test build. I've been working on it for a while to refactor the build process and move it entirely to RAM (optionally, for now).
On my OpenBSD Amsterdam VPS (single core, spinning drives), build times are cut down to less than a third of the last release, and on other devices it takes about half the time, with zero I/O.The current caching system isn't exactly rock-solid, and personally, I prefer a faster full build over maintaining all that complexity.
I'll probably upload everything as soon as I've ironed out a couple of bugs, in the coming days.
@stefano How are you doing that in Bash ? Pipes ? Ramdisks ?
-
@stefano How are you doing that in Bash ? Pipes ? Ramdisks ?
@fcalva Not a tmpfs/ramdisk trick. This wouln't be portable. In ram mode I preload posts/pages/templates/locale once into process memory (mainly Bash associative arrays), then keep indexes and caches in memory too (file index, tags/authors/archive maps, related posts, RSS metadata). The build reads from those in-memory structures instead of doing intermediate cache I/O on disk.
Only the final generated site is written to disk. So yes: mostly Bash arrays + in-memory shell processing (awk/sed), which is why it speeds up builds a lot on slow disks. -
@fcalva Not a tmpfs/ramdisk trick. This wouln't be portable. In ram mode I preload posts/pages/templates/locale once into process memory (mainly Bash associative arrays), then keep indexes and caches in memory too (file index, tags/authors/archive maps, related posts, RSS metadata). The build reads from those in-memory structures instead of doing intermediate cache I/O on disk.
Only the final generated site is written to disk. So yes: mostly Bash arrays + in-memory shell processing (awk/sed), which is why it speeds up builds a lot on slow disks.@stefano Wow, i still have a lot to learn about Bash. Didn't even know there were data structures !
-
I incentive moved this topic from Uncategorized