A versatile toolkit designed to measure and compare the performance of Transformers.js/ONNX models across various environments, including: in-browser (WASM, WebGPU, WebNN), Node.js, Bun, or Deno.
- Multi-Platform Support: Benchmark models directly in-browser (WASM, WebGPU, WebNN) as well as in server-side environments like Node.js, Bun, and Deno.
- Efficient Model Ops Collection: Streaming-based collection functionality to efficiently gather model operations without needing to download entire models.
-
Install core dependencies first
cd packages/core/ npm i
Then run with one of the following:
-
Run Benchmarks
-
web (online demo):
cd packages/web/ npm i npm run dev
-
Node.js
cd packages/node/ npm i node index.js
-
Bun
cd packages/bun/ bun install bun run index.ts
-
-
(Optional) Prepare model operations
-
Install Python dependencies:
python3 -m venv .venv source .venv/bin/activate python3 -m pip install -r scripts/requirements.txt
-
Download and build model operations with:
npm run build:architectures
-
├── packages
│ ├── core # Core engine powering the benchmarking suite.
│ ├── web # User-friendly web interface for running benchmarks.
│ ├── node # CLI tailored for Node.js environments.
│ └── bun # CLI support specifically built for Bun.
├── scripts # Utility scripts for tasks like collecting model operations.
└── data # Repository and model operation files (e.g., model_ops.csv).
For more details on available models and further information, check out the models on Hugging Face.