diff --git a/.changeset/olive-pugs-repeat.md b/.changeset/olive-pugs-repeat.md deleted file mode 100644 index 81c28b8..0000000 --- a/.changeset/olive-pugs-repeat.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@medicomind/rolldown-compression": patch ---- - -Lower per-batch overhead in the native binding: - -- Every batch now runs on rayon's global thread pool instead of a private pool built per `compress` call, and the whole batch — input preparation, compression, and result marshalling — runs on it rather than just the compression step. A non-zero `concurrency` sizes that global pool the first time it is requested; because the global pool can only be built once per process, later batches asking for a different thread count keep the size established by the first one, and a pool that cannot be sized is warned about on stderr rather than failing the batch. `concurrency: 0` (the default) leaves rayon's default sizing, one thread per logical CPU. -- Batch preparation and result collection are parallelized with rayon instead of running as serial iterator passes, so large batches spend less time on the single worker thread before and after the actual compression. -- Enabled the napi-rs fast path (`dyn-symbols` + `node_version_detect`), cutting FFI call overhead on supported Node versions. -- Internal: `Algorithm` now implements `FromStr`/`Display` instead of inherent `parse`/`name` methods. - -No API or behavior changes — compressed output is unchanged. diff --git a/CHANGELOG.md b/CHANGELOG.md index fe2b771..2bfaa3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # @medicomind/rolldown-compression +## 2.1.3 + +### Patch Changes + +- [`da23391`](https://github.com/Medico-Mind/rolldown-compression/commit/da23391ece86130432fe1b41d452ad65bac4cf75) Thanks [@Mnwa](https://github.com/Mnwa)! - Lower per-batch overhead in the native binding: + + - Every batch now runs on rayon's global thread pool instead of a private pool built per `compress` call, and the whole batch — input preparation, compression, and result marshalling — runs on it rather than just the compression step. A non-zero `concurrency` sizes that global pool the first time it is requested; because the global pool can only be built once per process, later batches asking for a different thread count keep the size established by the first one, and a pool that cannot be sized is warned about on stderr rather than failing the batch. `concurrency: 0` (the default) leaves rayon's default sizing, one thread per logical CPU. + - Batch preparation and result collection are parallelized with rayon instead of running as serial iterator passes, so large batches spend less time on the single worker thread before and after the actual compression. + - Enabled the napi-rs fast path (`dyn-symbols` + `node_version_detect`), cutting FFI call overhead on supported Node versions. + - Internal: `Algorithm` now implements `FromStr`/`Display` instead of inherent `parse`/`name` methods. + + No API or behavior changes — compressed output is unchanged. + ## 2.1.2 ### Patch Changes diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 651d913..286ca38 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression-darwin-arm64", - "version": "2.1.2", + "version": "2.1.3", "cpu": [ "arm64" ], diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index b322dbe..4cd9691 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression-darwin-x64", - "version": "2.1.2", + "version": "2.1.3", "cpu": [ "x64" ], diff --git a/npm/linux-arm64-gnu/package.json b/npm/linux-arm64-gnu/package.json index ecc3658..5e2f9d1 100644 --- a/npm/linux-arm64-gnu/package.json +++ b/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression-linux-arm64-gnu", - "version": "2.1.2", + "version": "2.1.3", "cpu": [ "arm64" ], diff --git a/npm/linux-x64-gnu/package.json b/npm/linux-x64-gnu/package.json index d64b189..78d072d 100644 --- a/npm/linux-x64-gnu/package.json +++ b/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression-linux-x64-gnu", - "version": "2.1.2", + "version": "2.1.3", "cpu": [ "x64" ], diff --git a/npm/linux-x64-musl/package.json b/npm/linux-x64-musl/package.json index f842172..fba951e 100644 --- a/npm/linux-x64-musl/package.json +++ b/npm/linux-x64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression-linux-x64-musl", - "version": "2.1.2", + "version": "2.1.3", "cpu": [ "x64" ], diff --git a/npm/wasm32-wasi/package.json b/npm/wasm32-wasi/package.json index 8dd3608..1024a45 100644 --- a/npm/wasm32-wasi/package.json +++ b/npm/wasm32-wasi/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression-wasm32-wasi", - "version": "2.1.2", + "version": "2.1.3", "cpu": [ "wasm32" ], diff --git a/npm/win32-x64-msvc/package.json b/npm/win32-x64-msvc/package.json index 59261b3..383f5be 100644 --- a/npm/win32-x64-msvc/package.json +++ b/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression-win32-x64-msvc", - "version": "2.1.2", + "version": "2.1.3", "cpu": [ "x64" ], diff --git a/package-lock.json b/package-lock.json index 32010a3..aa8c4ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@medicomind/rolldown-compression", - "version": "2.1.2", + "version": "2.1.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@medicomind/rolldown-compression", - "version": "2.1.2", + "version": "2.1.3", "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.4.0" diff --git a/package.json b/package.json index 94cfffb..a34165b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@medicomind/rolldown-compression", - "version": "2.1.2", + "version": "2.1.3", "description": "Fast native (Rust) gzip / brotli / zstd compression plugin for Rolldown, powered by napi-rs", "keywords": [ "rolldown",