Skip to content
Back to skills

Wasm Bench Eval

ASecurity

Evaluates the performance trade-offs of a WebAssembly in-place interpreter against state-of-the-art Wasm engines across translation time, translation space overhead, and execution time on a standard benchmark suite. Use when the user wants to benchmark on PolyBenchC-4.2.1 MEDIUM, or asks about evaluating this task. Reports translation_time.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
researchpythondebuggingperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill wasm-bench-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wasm Bench Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Wasm Bench Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-wasm-bench-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-wasm-bench-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: wasm-bench-eval
description: Evaluates the performance trade-offs of a WebAssembly in-place interpreter against state-of-the-art Wasm engines across translation time, translation space overhead, and execution time on a standard benchmark suite. Use when the user wants to benchmark on PolyBenchC-4.2.1 MEDIUM, or asks about evaluating this task. Reports translation_time.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2205.01183
  bibtex_key: [REDACTED]
  confidence: high
---

# wasm-bench-eval

> A fast in-place interpreter for WebAssembly — Titzer (2022) (arXiv:2205.01183, 2022)

## What this evaluates

Evaluates the performance trade-offs of a WebAssembly in-place interpreter against state-of-the-art Wasm engines across translation time, translation space overhead, and execution time on a standard benchmark suite.

## Datasets

- **PolyBenchC-4.2.1 MEDIUM** — total 24; splits: test (24)

## Metrics

- `translation_time` **(primary)** — range: seconds/byte
  - Average translation time (seconds) divided by the number of input bytes translated. Normalizes for benchmark size and tiering strategy.
- `translation_space` — range: bytes/byte
  - Memory overhead of translation measured as output bytes generated per input byte of code.
- `execution_time` — range: seconds
  - Absolute execution time in seconds for the complete process, often normalized to a baseline engine (e.g., v8-turbofan or wasm3).

## Input / output format

**Input**: WebAssembly bytecode modules from the PolyBenchC-4.2.1 MEDIUM dataset.

**Output**: Performance measurements (translation time, translation space, execution time) averaged over 100 runs per engine configuration.

## Scoring recipe

```python
def compute_metrics(measurements, input_bytes, baseline_time):
    # measurements: list of dicts with 'trans_time', 'trans_space', 'exec_time' for 100 runs
    avg_trans_time = sum(m['trans_time'] for m in measurements) / len(measurements)
    avg_trans_space = sum(m['trans_space'] for m in measurements) / len(measurements)
    avg_exec_time = sum(m['exec_time'] for m in measurements) / len(measurements)
    
    trans_time_ratio = avg_trans_time / input_bytes
    trans_space_ratio = avg_trans_space / input_bytes
    exec_time_ratio = avg_exec_time / baseline_time
    
    return {
        'translation_time': trans_time_ratio,
        'translation_space': trans_space_ratio,
        'execution_time': avg_exec_time,
        'execution_time_ratio': exec_time_ratio
    }
```

## Common pitfalls

- Normalization to input bytes is required to account for varying benchmark sizes and tiering strategies (lazy vs eager).
- Execution time includes full OS process startup/teardown, heavily skewing results for short-running benchmarks.
- Translation space only measures generated code bytes, excluding debugging metadata, thus underestimating real memory overhead.

## Evidence (verbatim from paper)

> We plot the average translation time, divided by the number of input bytes translated. The ratio of translation time to input bytes normalizes differences in tiering strategy (e.g. lazy compilation) and benchmark size.

## Citation

```bibtex
@misc{titzer2022fastinplaceinterpreter,
  title={A fast in-place interpreter for WebAssembly},
  author={Titzer (2022)},
  year={2022},
  note={arXiv:2205.01183}
}
```

- arXiv: 2205.01183

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.