Big update pushed for #BSSG - my Bash-based static site generator
This is a major pre-release update, not the official release yet, and I would really love some testing and feedback before cutting it.
Highlights:
* New build mode: BUILD_MODE="ram" / --build-mode ram
* This is a memory-first build mode designed to drastically reduce disk I/O during the build.
* On real projects, this results in a ~2× speedup, and in some cases well over 3× faster builds, depending on:
* site size
* number of generators involved
* storage speed
* parallelism available
In RAM mode you also get a stage timing summary, so you can see exactly where build time is spent. This makes performance tuning much more transparent and data-driven.
Under the hood:
The core build system was heavily refactored:
* Clear separation between orchestration, generators, and indexing
* Cleaner and more predictable generation flow for posts, pages, tags, authors, archives, and feeds
* Asset and theme handling moved into a dedicated build module
* Static file copying and theme CSS processing are no longer scattered around the codebase
Performance and robustness:
* Smarter rebuild and caching logic
* Improved parallel execution paths
* Uses parallel when available
* Shell-based worker fallback when it isn’t
* Parallel behavior is now more robust and easier to reason about
Stability and polish:
* Fixed an edge case with locale-specific timing parsing
* Configuration and documentation updated to match new options and tuning knobs
* Overall codebase is simpler, clearer, and easier to extend
Before tagging the official release, I need help testing this.
* Please test from the main branch or commit and report issues *
Links:
Repo: https://brew.bsd.cafe/stefano/BSSG
Huge thanks to everyone who tests, reports issues, or pokes at it.
This release comes from a lot of refactoring and profiling, and fresh eyes really help
#IT #SSG #Bash #OwnYourData