git.iko.soy/rowtype-yoga/purescript-yoga-om-strom
on e10b6e8 help sign in
66 lines 2.0 kB history raw
1#!/usr/bin/env bash
3# Script to run benchmarks on all three runtimes and compare results
4# Usage: ./run-minibench-all.sh
6set -e
8echo "๐Ÿ”ฅ Strom Runtime Performance Comparison"
9echo "========================================"
10echo ""
11echo "This will run the Strom benchmark suite on:"
12echo " - Node.js"
13echo " - Bun"
14echo " - Deno"
15echo ""
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
23echo ""
25echo "๐Ÿ”จ Compiling to ES modules..."
26./node_modules/.bin/purs-backend-es build --output-dir output-es
27echo ""
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"
38echo ""
39echo "Waiting 2 seconds..."
40sleep 2
42echo "=========================================="
43echo "๐ŸŸ  RUNNING BUN BENCHMARK"
44echo "=========================================="
45bun packages/yoga-om-strom/run-minibench-bun.mjs 2>&1 | tee "$RESULTS_DIR/bun_${TIMESTAMP}.txt"
46echo ""
47echo "Waiting 2 seconds..."
48sleep 2
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"
54echo ""
56echo "=========================================="
57echo "โœจ BENCHMARK COMPLETE"
58echo "=========================================="
59echo ""
60echo "Results saved to: $RESULTS_DIR"
61echo " - node_${TIMESTAMP}.txt"
62echo " - bun_${TIMESTAMP}.txt"
63echo " - deno_${TIMESTAMP}.txt"
64echo ""
65echo "๐Ÿ“Š To compare results, check the files above"
66echo " Look for lines showing 'min/median/mean/max' for each benchmark"