Repository navigation
Releases
Releases · kylefoxaustin/jaws
JAWS v2.0.0
JAWS v2.0.0 is a substantial rewrite focused on precision and real memory bandwidth.
⚠️ Breaking changes: the CLI now uses standard GNU-style--flags, andnumpyis now a required dependency.
Highlights
- No allocation overshoot. v1 built a temporary Python list for every chunk (a ~9× transient spike) and used
mlockall(MCL_FUTURE), which force-populates the entire address space (2–3× the requested RAM). v2 allocates with numpy and locks each buffer individually withmlock(), so resident memory lands within ~2–3% of the target. - Real multi-core bandwidth. v1's per-byte Python loops were GIL-bound to a single core. v2 uses vectorized numpy operations that release the GIL — measured at 450%+ CPU (4–5 cores) at high intensity.
- Genuinely low-CPU static mode (~0.2% steady state), instead of silently running the same aggressive threads as dynamic mode.
- Built-in VmSwap residency self-check after locking.
- Clean Ctrl+C shutdown, hardened
ctypes/mlockwitherrnoreporting, and clean Linux-only support. - Added
pyproject.tomlandrequirements.txt.
Migrating from v1
| v1 | v2 |
|---|---|
-low / -mid / -high |
--low / --mid / --high |
-percent 42 |
--percent 42 |
-chunk=1GB |
--chunk 1GB |
-intensity=8 |
--intensity 8 |
-static |
--static |
Install dependencies with pip install -r requirements.txt (now includes numpy).
🤖 Generated with Claude Code
v1.0.0.0 - First release of Jaws
Update setup_for_jaws.sh