# clsx v1.1.1 - Product: clsx (https://whatsnew.fyi/product/clsx) - Vendor: Luke Edwards - Date: 2020-05-30 - Version: v1.1.1 - Original notes: https://github.com/lukeed/clsx/releases/tag/v1.1.1 - Permalink: https://whatsnew.fyi/product/clsx/releases/v1.1.1 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- > **Note:** This is a performance-related patch only!
Across all benchmarks, this version of `clsx` is ~1M ops/sec _faster_ than `clsx@1.1.0`.
...It also happens to be 1 byte (gzip) smaller 😅🎉 ##### Patches - fix: Remove needless spacer on string/number condition: ff11464 - fix: Remove unnecessary recursive caller for object keys: f43dd23 - perf: Guard all `toVal` calls with truthy assertions: 4fa8811, 019ec02 - perf: Reorder `typeof` checks for common case: 08a5a7f ##### Chores - Run [CI](https://github.com/lukeed/clsx/actions?query=workflow%3ACI) via GitHub Actions: 64af363, 883363b, 866620d, 768ffab, 5e92fdf - Report code coverage within CI script: 0fb6d98 - Use `esm` hook with tests: 0287e40 - Update module size (-1 byte): 7e8c75e - Update benchmark results: 75053c0 - Lock all dev-deps: 3c6aa3f - Update badges: fd1533f ##### Benchmarks > Run on Node.js v10.13.0.
You may find updated browser benchmarks [here](https://github.com/lukeed/clsx/tree/master/bench). The snippet below is comparing `clsx@1.1.1` (this version) to the previous version, and to `classnames` for ballpark comparison. All candidates are functionally identical! ``` #### Strings classnames x 3,992,284 ops/sec ±1.64% (94 runs sampled) clsx@1.1.0 x 11,253,372 ops/sec ±0.35% (96 runs sampled) clsx@1.1.1 x 12,784,134 ops/sec ±0.42% (97 runs sampled) #### Objects classnames x 3,772,978 ops/sec ±0.46% (96 runs sampled) clsx@1.1.0 x 7,288,178 ops/sec ±0.31% (96 runs sampled) clsx@1.1.1 x 9,412,010 ops/sec ±0.42% (95 runs sampled) #### Arrays classnames x 1,665,275 ops/sec ±1.83% (93 runs sampled) clsx@1.1.0 x 8,340,174 ops/sec ±0.53% (96 runs sampled) clsx@1.1.1 x 9,141,916 ops/sec ±0.42% (95 runs sampled) #### Nested Arrays classnames x 1,164,706 ops/sec ±1.60% (95 runs sampled) clsx@1.1.0 x 6,284,485 ops/sec ±0.58% (90 runs sampled) clsx@1.1.1 x 7,165,151 ops/sec ±0.47% (91 runs sampled) #### Nested Arrays w/ Objects classnames x 1,597,180 ops/sec ±1.49% (93 runs sampled) clsx@1.1.0 x 6,345,248 ops/sec ±0.21% (95 runs sampled) clsx@1.1.1 x 7,651,411 ops/sec ±0.56% (95 runs sampled) #### Mixed classnames x 2,129,199 ops/sec ±1.46% (94 runs sampled) clsx@1.1.0 x 6,557,515 ops/sec ±0.73% (91 runs sampled) clsx@1.1.1 x 8,119,210 ops/sec ±0.42% (93 runs sampled) #### Mixed (Bad Data) classnames x 1,166,577 ops/sec ±0.84% (94 runs sampled) clsx@1.1.0 x 2,018,654 ops/sec ±0.15% (98 runs sampled) clsx@1.1.1 x 2,238,939 ops/sec ±0.34% (95 runs sampled) ```