PRISM compared

Work in progress — checked as of 2026-10

Five ways to run the same C and C++ source. PRISM compiles it to JavaScript, in a compiler that is itself JavaScript; Emscripten and Cheerp compile it to WebAssembly or JavaScript with LLVM; the last two columns are what the browser solutions are measured against: a native build, and the same source built for x86 and emulated on this ARM machine. Where PRISM is alone, where it does what the others do, and where it has holes are in one table, because they are one question.

    Running a binary without its source -- a DOS or Windows 3.x program as shipped -- is an emulator's job, and the sister project MIRAGE does it in the page. This page compares solutions that compile the source.

    Measurements

    To place PRISM, not to rank it: the C and C++ programs of The Computer Language Benchmarks Game (revised BSD), one single-threaded variant without SIMD each, with arguments small enough for every solution to finish. Every run's output is checked against the native one; a solution that differs is shown, not compared. Times are wall clock, the best of several runs, on one machine. PRISM's numbers are its first tier, with no optimiser yet.

    No measurements in this copy of the page: node tools/bench-compare.mjs writes them.