classnames vs clsx vs Array based vs String based (return struct) vs String based (if-else struct) vs Entries, filter, map, joinFastest: clsx (1.4x faster)
4,286,187 ops/sec
4,221,818 ops/sec
4,131,678 ops/sec
3,671,159 ops/sec
3,151,103 ops/sec
3,000,096 ops/sec
Fastest: String based (return struct) (2.3x faster)
4,280,106 ops/sec
4,073,326 ops/sec
3,521,328 ops/sec
3,262,263 ops/sec
2,250,690 ops/sec
1,865,758 ops/sec
Fastest: String based (return struct) (1.4x faster)
3,471,511 ops/sec
3,436,258 ops/sec
3,412,698 ops/sec
3,006,164 ops/sec
2,672,436 ops/sec
2,532,890 ops/sec
Fastest: String based (if-else struct) (1.9x faster)
1,878,985 ops/sec
1,856,678 ops/sec
1,827,926 ops/sec
1,324,924 ops/sec
1,108,808 ops/sec
995,821 ops/sec
Fastest: clsx (1.6x faster)
3,926,152 ops/sec
3,451,928 ops/sec
3,284,123 ops/sec
3,281,034 ops/sec
2,871,479 ops/sec
2,469,090 ops/sec
Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.
| Test case name | Result |
|---|---|
| classnames | |
| clsx | |
| Array based | |
| String based (return struct) | |
| String based (if-else struct) | |
| Entries, filter, map, join |
| Test name | Executions per second |
|---|---|
| ✓ clsx | 11,903,754 Ops/sec |
| String based (return struct) | 10,769,444 Ops/sec |
| String based (if-else struct) | 10,744,460 Ops/sec |
| Entries, filter, map, join | 7,381,368 Ops/sec |
| Array based | 5,708,622 Ops/sec |
| classnames | 5,156,558 Ops/sec |