Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Chrome 142
Mac OS X 10.15.7
Desktop
10 months ago
Benchmark.js
String literally
173.0M/s
clsx
11.8M/s
String based (if-else struct)
10.6M/s
String based (return struct)
10.6M/s
Entries, filter, map, join
7.8M/s
Array based
5.8M/s
classnames
5.3M/s
Recursive tagged template literal
3.8M/s
View exact numbers
Test name Executions per second
String literally 173,029,520 Ops/sec
clsx 11,768,855 Ops/sec
String based (if-else struct) 10,590,971 Ops/sec
String based (return struct) 10,588,022 Ops/sec
Entries, filter, map, join 7,766,149 Ops/sec
Array based 5,817,696 Ops/sec
classnames 5,310,856 Ops/sec
Recursive tagged template literal 3,842,798 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: