Javascript benchmark tool. jsop makes it easy to create/edit/run/discuss benchmark tests.
Powered by benchmark.js and directly inspired by jsperf.com by @mathias.
jsop is under active development. Follow @jsop_io for updates.
Create, edit, share and discuss benchmark tests.Run benchmark tests on any Javascript-enabled platform.Import existing benchmark tests from jsperf.com.Browse performance charts across platforms.Browse raw performance results via APIs.Run standalone, private instances.
Javascript benchmarks give us real-world numbers to answer questions like:
- What's the fastest way to round numbers down?
- What's the fastest way to concat strings?
- How much faster is the latest version of jQuery?
At the same time, Javascript runs under many different conditions, so it's impossible to guarantee consistent results on different platforms.
Publicly hosted benchmark tests allow us to crowdsource real-world results under different conditions (e.g. operating systems, hardware, engines), so we can make more accurate conclusions.
For inspiration, explore the Test Gallery.
jsop is intended for testing short Javascript code snippets. Tests can be run on any Javascript-enabled platform.
-
For web browser platforms (e.g. Chrome, Safari, Firefox, IE)
Browse to https://jsop.io/example and click "Run Test". -
For non-browser platforms (e.g. NodeJS, iojs, PhantomJS, Rhino)
Downloadjsop
and runjsop test nodejs https://jsop.io/example
.
For more details, see Tutorial and API Documentation.
-
Private Tests
It's as easy asjsop start 8080
. -
Framework Integration
It might be possible to adapt jsop for various testing frameworks (e.g. QUnit, mocha, jasmine), by hooking into the framework's nativesetup
/teardown
/test
APIs. If you manage to do this, let us know!
jsop is maintained in three main parts:
- jsop.io
Manages benchmarks and results, with the following goals:- high availability of benchmark tests and results,
- minimal storage/bandwidth costs,
- simple UI to create/edit/run/discuss benchmarks,
- allow for standalone, personal instances.
Written in NodeJS (Express). For more details, see Contributions#jsop.io.
- jsop-runner
Manages running benchmarks on different platforms, with the following goal:- maintain high accuracy and consistency across platforms.
Written in Javascript (benchmark.js, system.js). For more details, see Contributions#jsop-runner.
- jsop-cli
Runs benchmarks on non-browser platforms, with the single goal of:
- increasing non-browser platform support.
Written in Golang. For more details, see Contributions#jsop-cli.