Benchmarking

Yaj is faster than jQuery on query select elements.

For the benchmark tests we use the node.js package “benchmark”.

QuerySelector

Code for test:

var suite = new Benchmark.Suite;

// add tests
suite.add('Yaj', function() {
  yo("#main ul:first-child").css('display', 'none');
  teardown();
})
.add('Yaj 2', function() {
  var el = yo("#main ul:first-child").el(0).style.display = 'none';
  teardown();
})
.add('document.querySelector', function() {
  var el = document.querySelector("#main ul:first-child");
  el.style.display = 'none';
  teardown();
})
.add('jQuery', function() {
  $("#main ul:first-child").css('display', 'none');
  teardown();
})

Test results:

Chrome

  • Environment: Linux
  • Version: 58.0.3029.81 (64-bit)
  • Results:
Yaj x 86,428 ops/sec ±5.33% (52 runs sampled)
Yaj 2 x 100,793 ops/sec ±5.13% (54 runs sampled)
document.querySelector x 510,361 ops/sec ±0.86% (58 runs sampled)
jQuery x 70,284 ops/sec ±1.14% (59 runs sampled)

The native querySelector is the fatest and the Yaj is the second on line.

Firefox

  • Environment: Linux
  • Version: 56.0 (64-bit)
  • Results:
Yaj x 59,225 ops/sec ±1.77% (59 runs sampled)
Yaj 2 x 59,725 ops/sec ±0.53% (63 runs sampled)
document.querySelector x 92,737 ops/sec ±1.64% (59 runs sampled)
jQuery x 37,486 ops/sec ±1.43% (59 runs sampled)
Fastest is document.querySelector

The native querySelector is the fatest and the Yaj is the second on line.