Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Classnames vs CLSX vs classNamesCurrent vs CLSXLite - strings only
Compare CLSX vs Classnames vs classNamesCurrent vs CLSXLite - strings only
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
Browser:
Chrome 146
Operating system:
Linux
Device Platform:
Desktop
Date tested:
21 days ago
Test name
Executions per second
classnames
18583474.0 Ops/sec
clsx
22239026.0 Ops/sec
classNames current
6264547.0 Ops/sec
clsx lite
25984454.0 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/classnames/2.5.1/index.min.js'></script> <script src='https://unpkg.com/clsx@2.1.1/dist/clsx.min.js'></script> <script> window.classNamesCurrent = (...classes) => { return classes.filter(Boolean).join(" "); }; </script> <script> window.clsxLite = (...args) => { let result = ""; for (let i = 0; i < args.length; i++) { const value = args[i]; if (value && typeof value === "string") { result += (result ? " " : "") + value; }; }; return result; }; </script>
Script Preparation code:
var str = 'style'; var condition1 = true ? 'true-string-1' : 'false-string-1'; var condition2 = true && 'true-string-2'; var condition3 = false && 'false-string-3';
Tests:
classnames
let result = window.classNames(str, condition1, condition2, condition3, 'test classname')
clsx
let result = window.clsx(str, condition1, condition2, condition3, 'test classname')
classNames current
let result = window.classNamesCurrent(str, condition1, condition2, condition3, 'test classname')
clsx lite
let result = window.clsxLite(str, condition1, condition2, condition3, 'test classname')