3# Script to run benchmarks on all three runtimes and compare results
4# Usage: ./run-minibench-all.sh
8echo "๐ฅ Strom Runtime Performance Comparison"
9echo "========================================"
11echo "This will run the Strom benchmark suite on:"
17# Navigate to workspace root
18cd "$(dirname "$0")/../.."
20# Build the project first
21echo "๐ฆ Building PureScript project..."
22./node_modules/.bin/spago build -p yoga-om-strom --ensure-ranges
25echo "๐จ Compiling to ES modules..."
26./node_modules/.bin/purs-backend-es build --output-dir output-es
29# Create results directory
30RESULTS_DIR="packages/yoga-om-strom/benchmark-results"
31mkdir -p "$RESULTS_DIR"
32TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
34echo "=========================================="
35echo "๐ข RUNNING NODE.JS BENCHMARK"
36echo "=========================================="
37node packages/yoga-om-strom/run-minibench-node.mjs 2>&1 | tee "$RESULTS_DIR/node_${TIMESTAMP}.txt"
39echo "Waiting 2 seconds..."
42echo "=========================================="
43echo "๐ RUNNING BUN BENCHMARK"
44echo "=========================================="
45bun packages/yoga-om-strom/run-minibench-bun.mjs 2>&1 | tee "$RESULTS_DIR/bun_${TIMESTAMP}.txt"
47echo "Waiting 2 seconds..."
50echo "=========================================="
51echo "๐ต RUNNING DENO BENCHMARK"
52echo "=========================================="
53deno run --allow-all packages/yoga-om-strom/run-minibench-deno.mjs 2>&1 | tee "$RESULTS_DIR/deno_${TIMESTAMP}.txt"
56echo "=========================================="
57echo "โจ BENCHMARK COMPLETE"
58echo "=========================================="
60echo "Results saved to: $RESULTS_DIR"
61echo " - node_${TIMESTAMP}.txt"
62echo " - bun_${TIMESTAMP}.txt"
63echo " - deno_${TIMESTAMP}.txt"
65echo "๐ To compare results, check the files above"
66echo " Look for lines showing 'min/median/mean/max' for each benchmark"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list