diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2b53b838..0267bc9b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -355,7 +355,7 @@ jobs: pkg.repository = { type: 'git', url: 'https://github.com/kingchenc/wickra' }; pkg.homepage = 'https://github.com/kingchenc/wickra'; pkg.bugs = { url: 'https://github.com/kingchenc/wickra/issues' }; - pkg.license = 'SEE LICENSE IN LICENSE'; + pkg.license = 'PolyForm-Noncommercial-1.0.0'; fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2)); " diff --git a/README.md b/README.md index a9867524..cc9da99e 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,21 @@ multi-language reach, and active maintenance. ## Benchmark: how much faster is "streaming-first"? -Reproduced on this machine with `python -m benchmarks.compare_libraries`. +The numbers below were measured on a single developer workstation and are not +guaranteed to reproduce identically on different hardware — absolute µs values +depend on CPU, memory clock and OS scheduler. Read them as **relative +speedups** between libraries on identical input, not as a universal +performance contract. + +- **Reproduced on:** Windows 11 Pro 26200, AMD Ryzen 9 7950X3D, 64 GB DDR5, + Rust 1.92 (release profile, `lto = "fat"`, `codegen-units = 1`), + Python 3.12, Node 20. +- **Reproduce yourself:** `pip install -e bindings/python[bench]` then + `python -m benchmarks.compare_libraries`. The script auto-detects every + installed peer library and runs them on the same generated inputs as + Wickra. The CI job `cross-library-bench` runs the same script on every + push and uploads the raw report as a build artefact. + Lower µs/op = faster. Wickra wins every batch category outright, and the streaming gap widens linearly with how much history a batch-only library has to recompute on every tick. diff --git a/bindings/node/npm/darwin-arm64/package.json b/bindings/node/npm/darwin-arm64/package.json index 790575d3..3f1ab105 100644 --- a/bindings/node/npm/darwin-arm64/package.json +++ b/bindings/node/npm/darwin-arm64/package.json @@ -6,9 +6,9 @@ "files": [ "wickra.darwin-arm64.node" ], - "license": "SEE LICENSE IN LICENSE", + "license": "PolyForm-Noncommercial-1.0.0", "engines": { - "node": ">= 16" + "node": ">= 18" }, "os": [ "darwin" diff --git a/bindings/node/npm/darwin-x64/package.json b/bindings/node/npm/darwin-x64/package.json index 7157020d..4ec5f26e 100644 --- a/bindings/node/npm/darwin-x64/package.json +++ b/bindings/node/npm/darwin-x64/package.json @@ -6,9 +6,9 @@ "files": [ "wickra.darwin-x64.node" ], - "license": "SEE LICENSE IN LICENSE", + "license": "PolyForm-Noncommercial-1.0.0", "engines": { - "node": ">= 16" + "node": ">= 18" }, "os": [ "darwin" diff --git a/bindings/node/npm/linux-arm64-gnu/package.json b/bindings/node/npm/linux-arm64-gnu/package.json index 529b5791..f3a3958c 100644 --- a/bindings/node/npm/linux-arm64-gnu/package.json +++ b/bindings/node/npm/linux-arm64-gnu/package.json @@ -6,9 +6,9 @@ "files": [ "wickra.linux-arm64-gnu.node" ], - "license": "SEE LICENSE IN LICENSE", + "license": "PolyForm-Noncommercial-1.0.0", "engines": { - "node": ">= 16" + "node": ">= 18" }, "os": [ "linux" diff --git a/bindings/node/npm/linux-x64-gnu/package.json b/bindings/node/npm/linux-x64-gnu/package.json index dfb3d294..f8fcf274 100644 --- a/bindings/node/npm/linux-x64-gnu/package.json +++ b/bindings/node/npm/linux-x64-gnu/package.json @@ -6,9 +6,9 @@ "files": [ "wickra.linux-x64-gnu.node" ], - "license": "SEE LICENSE IN LICENSE", + "license": "PolyForm-Noncommercial-1.0.0", "engines": { - "node": ">= 16" + "node": ">= 18" }, "os": [ "linux" diff --git a/bindings/node/npm/win32-arm64-msvc/package.json b/bindings/node/npm/win32-arm64-msvc/package.json index 0c4a1a0f..0018047c 100644 --- a/bindings/node/npm/win32-arm64-msvc/package.json +++ b/bindings/node/npm/win32-arm64-msvc/package.json @@ -6,9 +6,9 @@ "files": [ "wickra.win32-arm64-msvc.node" ], - "license": "SEE LICENSE IN LICENSE", + "license": "PolyForm-Noncommercial-1.0.0", "engines": { - "node": ">= 16" + "node": ">= 18" }, "os": [ "win32" diff --git a/bindings/node/npm/win32-x64-msvc/package.json b/bindings/node/npm/win32-x64-msvc/package.json index 1b5cabbc..c59693f0 100644 --- a/bindings/node/npm/win32-x64-msvc/package.json +++ b/bindings/node/npm/win32-x64-msvc/package.json @@ -6,9 +6,9 @@ "files": [ "wickra.win32-x64-msvc.node" ], - "license": "SEE LICENSE IN LICENSE", + "license": "PolyForm-Noncommercial-1.0.0", "engines": { - "node": ">= 16" + "node": ">= 18" }, "os": [ "win32" diff --git a/bindings/node/package.json b/bindings/node/package.json index 13dad6d7..ce229e69 100644 --- a/bindings/node/package.json +++ b/bindings/node/package.json @@ -5,7 +5,7 @@ "author": "kingchenc ", "main": "index.js", "types": "index.d.ts", - "license": "SEE LICENSE IN LICENSE", + "license": "PolyForm-Noncommercial-1.0.0", "keywords": [ "trading", "indicators", @@ -44,7 +44,7 @@ } }, "engines": { - "node": ">= 16" + "node": ">= 18" }, "optionalDependencies": { "wickra-linux-x64-gnu": "0.1.4",