chore(node, readme): SPDX license, Node 18 engines, bench hardware spec (R15, R18, R19)
R15 — `bindings/node/package.json` and all six per-platform subpackage
templates (`npm/{darwin-arm64,darwin-x64,linux-arm64-gnu,linux-x64-gnu,
win32-arm64-msvc,win32-x64-msvc}/package.json`) plus the WASM
`release.yml` enrich step switch the `license` field from the npm
convention `SEE LICENSE IN LICENSE` to the SPDX identifier
`PolyForm-Noncommercial-1.0.0`. npm's license search and downstream
tooling can now surface the actual license.
R18 — every `engines.node` field is bumped from `>= 16` to `>= 18`.
The package's test script (`node --test __tests__/`) uses the built-in
`node --test` runner that landed in Node 18; advertising support for
Node 16 / 17 was a guarantee we never verified (CI tests on Node 18 /
20 only) and would have produced a confusing error on those versions.
R19 — README's benchmark section gains an explicit hardware /
software-version block and reframes the absolute µs values as a
relative-speedup snapshot rather than a universal contract. Also tells
the reader how to reproduce locally (`pip install -e
bindings/python[bench]` + `python -m benchmarks.compare_libraries`) and
where the CI artefact lives.
Side effects:
- R16 / R17 (built wheel under `bindings/python/dist/` and
`examples/node/node_modules/`) — verified that both are already
covered by `.gitignore` (`*.whl`, `dist/`, `**/node_modules/`) and
were never tracked by git. The local directories have been cleared;
no `.gitignore` change needed and no committed file removed.
This commit is contained in:
@@ -355,7 +355,7 @@ jobs:
|
|||||||
pkg.repository = { type: 'git', url: 'https://github.com/kingchenc/wickra' };
|
pkg.repository = { type: 'git', url: 'https://github.com/kingchenc/wickra' };
|
||||||
pkg.homepage = 'https://github.com/kingchenc/wickra';
|
pkg.homepage = 'https://github.com/kingchenc/wickra';
|
||||||
pkg.bugs = { url: 'https://github.com/kingchenc/wickra/issues' };
|
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));
|
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,21 @@ multi-language reach, and active maintenance.
|
|||||||
|
|
||||||
## Benchmark: how much faster is "streaming-first"?
|
## 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
|
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
|
streaming gap widens linearly with how much history a batch-only library has
|
||||||
to recompute on every tick.
|
to recompute on every tick.
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"wickra.darwin-arm64.node"
|
"wickra.darwin-arm64.node"
|
||||||
],
|
],
|
||||||
"license": "SEE LICENSE IN LICENSE",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"os": [
|
"os": [
|
||||||
"darwin"
|
"darwin"
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"wickra.darwin-x64.node"
|
"wickra.darwin-x64.node"
|
||||||
],
|
],
|
||||||
"license": "SEE LICENSE IN LICENSE",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"os": [
|
"os": [
|
||||||
"darwin"
|
"darwin"
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"wickra.linux-arm64-gnu.node"
|
"wickra.linux-arm64-gnu.node"
|
||||||
],
|
],
|
||||||
"license": "SEE LICENSE IN LICENSE",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"wickra.linux-x64-gnu.node"
|
"wickra.linux-x64-gnu.node"
|
||||||
],
|
],
|
||||||
"license": "SEE LICENSE IN LICENSE",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"os": [
|
"os": [
|
||||||
"linux"
|
"linux"
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"wickra.win32-arm64-msvc.node"
|
"wickra.win32-arm64-msvc.node"
|
||||||
],
|
],
|
||||||
"license": "SEE LICENSE IN LICENSE",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"os": [
|
"os": [
|
||||||
"win32"
|
"win32"
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"wickra.win32-x64-msvc.node"
|
"wickra.win32-x64-msvc.node"
|
||||||
],
|
],
|
||||||
"license": "SEE LICENSE IN LICENSE",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"os": [
|
"os": [
|
||||||
"win32"
|
"win32"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"author": "kingchenc <kingchencp@gmail.com>",
|
"author": "kingchenc <kingchencp@gmail.com>",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
"license": "SEE LICENSE IN LICENSE",
|
"license": "PolyForm-Noncommercial-1.0.0",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"trading",
|
"trading",
|
||||||
"indicators",
|
"indicators",
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16"
|
"node": ">= 18"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"wickra-linux-x64-gnu": "0.1.4",
|
"wickra-linux-x64-gnu": "0.1.4",
|
||||||
|
|||||||
Reference in New Issue
Block a user