How to Profile Javascript Now That Jsperf Is Down? [Closed]

As some of you probably noticed jsperf is down for some time. But I still need to profile my Javascripts. Is there any possibility to do comparison tests ideally without the help of an external software?

4

5 Answers

I decided to build tool like this. First public beta is at

EDIT: 2020-07-12 - v1 released

11

jsperf is based on benchmarkjs so using an online code editor (like jsfiddle, jsbin, plunker etc...) and including benchmarkjs as a library will do.

The only feature you won't have will be the compiled results for each browsers. This is just a temporary alternative.

Here is a jsfiddle template :

But since we don't really care about HTML nor CSS I found plunker more suitable. Coupled with systemjs you can then separate your code into multiple files.

Here is the template :


Update

You really should only use those solution as quick temporary solution. As said on the comments for optimal result you had better run it locally, nowadays you can get a webserver like express or else running in sec.


Rather than "trick" Stack Overflow into allowing posting of these links, let's actually include some helpful code:

function test1() {

}

function test2() {

}

var cycleResults = document.getElementById('cycleResults');
var result = document.getElementById('result');
var btn = document.getElementById('btn');

// BENCHMARK ====================
btn.onclick = function runTests() {

  btn.setAttribute('disable', true);
  cycleResults.innerHTML = '';
  result.textContent = 'Tests running...';

  var suite = new Benchmark.Suite;

  // add tests
  suite
    .add('test1', test1)
    .add('test2', test2)
    // add listeners
    .on('cycle', function(event) {
      var result = document.createElement('li');
      result.textContent = String(event.target);

      document.getElementById('cycleResults')
        .appendChild(result);
    })
    .on('complete', function() {
      result.textContent = 'Fastest is ' + this.filter('fastest').pluck('name');
      btn.setAttribute('disable', false);
    })
    // run async
    .run({
      'async': true
    });
};
<script src=""></script>
<ul id='cycleResults'>

</ul>
<div id="result">

</div>
<br>
<button id="btn">
Run Tests
</button>
5

There is also which allows you to create and run javascript benchmarks

6

I have incidentally come to know .

It clearly reminds of good ol' jsperf.

You can save your benchmark, share them and they keep track of per-browser performance.

Here is one I just made up: For loop benchmark

(As a side note, you can only save a benchmark if you have a github account.)

2

Even though jsperf is online, if you still want to look at alternatives, I found to be quite useful and well designed.

1
Robert Thorne

Robert Thorne

Automotive & Future Transportation Editor

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.

Share this article
Twitter Facebook Pinterest