mirror of
https://github.com/vacp2p/zerokit.git
synced 2026-01-08 21:28:11 -05:00
## Changes
- Enabled parallelism in the browser for `rln-wasm` with the
`multithread` feature flag.
- Added browser tests for both single-threaded and multi-threaded modes.
- Enabled browser tests in the CI workflow.
- Pending: resolving hanging issue with `wasm-bindgen-rayon`
([comment](https://github.com/RReverser/wasm-bindgen-rayon/issues/6#issuecomment-2814372940)).
- Forked [this
commit](42887c80e6)
into a separate
[branch](https://github.com/vacp2p/zerokit/tree/benchmark-v0.8.0), which
includes an HTML benchmark file and a test case for the multithreaded
feature in `rln-wasm`.
- The test case still has the known issue above, so it's temporarily
disabled in this PR and will be addressed in the future.
- Improve the `make installdeps` which resolves the issue of NVM not
enabling Node.js in the current terminal session.
- Reduce the build size of the `.wasm` blob using the `wasm-opt` tool
from [Binaryen](https://github.com/WebAssembly/binaryen).
- Maybe we can close this draft
[PR](https://github.com/vacp2p/zerokit/pull/226), which is already very
outdated?
36 lines
1.1 KiB
Makefile
36 lines
1.1 KiB
Makefile
.PHONY: all installdeps build test bench clean
|
|
|
|
all: installdeps build
|
|
|
|
.fetch-submodules:
|
|
@git submodule update --init --recursive
|
|
|
|
.pre-build: .fetch-submodules
|
|
@cargo install cargo-make
|
|
ifdef CI
|
|
@cargo install cross --git https://github.com/cross-rs/cross.git --rev 1511a28
|
|
endif
|
|
|
|
installdeps: .pre-build
|
|
ifeq ($(shell uname),Darwin)
|
|
@brew install cmake ninja binaryen
|
|
else ifeq ($(shell uname),Linux)
|
|
@sudo apt-get install -y cmake ninja-build binaryen
|
|
endif
|
|
@which wasm-pack > /dev/null && wasm-pack --version | grep -q "0.13.1" || cargo install wasm-pack --version=0.13.1
|
|
@which wasm-bindgen > /dev/null && wasm-bindgen --version | grep -q "0.2.100" || cargo install wasm-bindgen-cli --version=0.2.100
|
|
@test -s "$$HOME/.nvm/nvm.sh" || curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
|
|
@bash -c '. "$$HOME/.nvm/nvm.sh"; [ "$$(node -v 2>/dev/null)" = "v22.14.0" ] || nvm install 22.14.0; nvm use 22.14.0; nvm alias default 22.14.0'
|
|
|
|
build: installdeps
|
|
@cargo make build
|
|
|
|
test: build
|
|
@cargo make test
|
|
|
|
bench: build
|
|
@cargo make bench
|
|
|
|
clean:
|
|
@cargo clean
|