mirror of
https://github.com/metabarcoding/obitools4.git
synced 2026-03-25 13:30:52 +00:00
4.4.26: Static Linux Builds, Memory-Aware Batching & Cross-Compilation Fixes
This release includes critical build system improvements and enhanced batching capabilities for more predictable resource usage. ### Cross-Compilation & Static Builds - Fixed cross-compilation for Linux by introducing architecture-specific `CGO_CFLAGS` (x86_64-linux-gnu and aarch64-linux-gnu), ensuring correct header resolution during static linking. - Enabled fully static Linux binaries using musl, producing self-contained executables with no external runtime dependencies. ### Memory-Aware Batching (New Feature) - Added `--batch-mem` CLI option to control batching based on estimated memory usage (e.g., 128K, 64M, 1G), in addition to size-based limits. - Introduced configurable min/max batch sizes and memory thresholds, with conservative memory estimation per sequence to avoid over-allocation. - Implemented intelligent flushing logic that triggers when *either* byte or record count limits are exceeded, ensuring predictable memory behavior. - Improved garbage collection after large batch discards to reduce memory pressure during large-scale processing. ### Build & Toolchain Improvements - Updated Go toolchain to 1.26.1 and bumped key dependencies (e.g., golang.org/x/net v0.38.0). - Enhanced build error reporting: logs are now displayed before cleanup on failure. - Fixed Makefile quoting for `LDFLAGS` containing spaces. - Updated install script to properly configure GOROOT, GOPATH, and GOTOOLCHAIN, with added progress feedback for downloads. All batching behavior is backward-compatible and uses sensible defaults (128 MB memory, min: 1 record, max: 2000 records) to ensure smooth upgrades.
This commit is contained in:
@@ -1 +1 @@
|
||||
4.4.25
|
||||
4.4.26
|
||||
|
||||
Reference in New Issue
Block a user