CSS3 Selector Libraries

Benchmark created by Soulcyon on


Preparation HTML

<script src="https://raw.github.com/EliSnow/Engine/master/engine.js"></script>
<script src="https://raw.github.com/jquery/sizzle/master/sizzle.js"></script>
<script src="http://globaldevelopmentco.org/testramp/js/slick.js"></script>
<script src="https://raw.github.com/digitarald/sly/master/Sly.js"></script>
<script src="https://raw.github.com/fabiomcosta/micro-selector/master/src/uSelector.js"></script>
<script src="https://raw.github.com/alpha123/Puma/master/src/puma.js"></script>
<script src="https://raw.github.com/ded/qwery/master/qwery.js"></script>
<script src="https://raw.github.com/chjj/zest/master/lib/zest.js"></script>
<div id="test"></div>
<div class="sampleDiv">
<p>321</p>
<p>123</p>
<p>321</p>
<p>123</p>
</div>

Test runner

Ready to run.

Testing in
TestOps/sec
Engine
engine(".sampleDiv p:not(.a ~ p, .a)");
engine.cache = {};
ready
Sizzle
Sizzle(".sampleDiv p:not(.a ~ p, .a)")
ready
Qwery
// Will Crash!
qwery(".sampleDiv p:not(.a ~ p, .a)")
ready
Zest
// Returns wrong result!
zest(".sampleDiv p:not(.a ~ p, .a)")
ready
Slick
Slick.search(document.body, ".sampleDiv p:not(.a ~ p, .a)")
ready
Puma
Puma(".sampleDiv p:not(.a ~ p, .a)")
ready
Sly
// Returns wrong result!
Sly.search(".sampleDiv p:not(.a ~ p, .a)")
ready
Micro
// Returns wrong result!
$u(".sampleDiv p:not(.a ~ p, .a)")
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by Soulcyon on