From 3cfb6c34b7805b5e53f160e58509835e75f343fb Mon Sep 17 00:00:00 2001 From: Luke Edwards Date: Mon, 3 Feb 2020 11:55:20 -0800 Subject: [PATCH] chore: update bench results --- bench/chrome.png | Bin 16948 -> 7295 bytes bench/firefox.png | Bin 6727 -> 6815 bytes bench/readme.md | 42 +++++++++++++++++++++--------------------- bench/safari.png | Bin 6618 -> 6729 bytes 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/bench/chrome.png b/bench/chrome.png index c6140826c725af3bc7be4a025e7da2b79fa2f6a5..2d0ec8d355aefda68e5002bdab29a75517885f6a 100644 GIT binary patch literal 7295 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 literal 16948 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 diff --git a/bench/firefox.png b/bench/firefox.png index 490c3bf8275c3aee79483b37d83c8824ef8e3c0d..65b9438775ae1f74d27fdf99bd1a3388cbbaef3a 100644 GIT binary patch literal 6815 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 MC9f`5CJPDv4|ke~vH$=8 literal 6727 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 Ky>fN4(0>DPj(dCn diff --git a/bench/readme.md b/bench/readme.md index 887e1a9..cacefeb 100644 --- a/bench/readme.md +++ b/bench/readme.md @@ -10,39 +10,39 @@ These are the results while running this directory's benchmark suite in Node v10 ``` # Strings - classcat ≠ x 8,590,994 ops/sec ±0.27% (94 runs sampled) - classnames x 3,987,311 ops/sec ±1.68% (94 runs sampled) - clsx x 11,066,632 ops/sec ±0.23% (96 runs sampled) + classcat ≠ x 8,701,496 ops/sec ±0.34% (95 runs sampled) + classnames x 3,938,281 ops/sec ±1.60% (92 runs sampled) + clsx x 11,253,372 ops/sec ±0.35% (96 runs sampled) # Objects - classcat ≠ x 8,566,516 ops/sec ±0.42% (97 runs sampled) - classnames x 3,697,182 ops/sec ±1.31% (98 runs sampled) - clsx x 7,147,168 ops/sec ±0.30% (95 runs sampled) + classcat ≠ x 8,594,500 ops/sec ±0.26% (98 runs sampled) + classnames x 3,741,576 ops/sec ±0.21% (94 runs sampled) + clsx x 7,288,178 ops/sec ±0.31% (96 runs sampled) # Arrays - classcat ≠ x 7,538,840 ops/sec ±0.56% (95 runs sampled) - classnames x 1,697,776 ops/sec ±1.41% (97 runs sampled) - clsx x 7,922,225 ops/sec ±0.18% (95 runs sampled) + classcat ≠ x 7,461,741 ops/sec ±1.04% (88 runs sampled) + classnames x 1,649,404 ops/sec ±1.79% (93 runs sampled) + clsx x 8,340,174 ops/sec ±0.53% (96 runs sampled) # Nested Arrays - classcat ≠ x 6,462,158 ops/sec ±0.22% (97 runs sampled) - classnames x 1,201,570 ops/sec ±0.22% (96 runs sampled) - clsx x 6,132,222 ops/sec ±0.49% (95 runs sampled) + classcat ≠ x 6,347,127 ops/sec ±0.30% (93 runs sampled) + classnames x 1,154,165 ops/sec ±1.63% (93 runs sampled) + clsx x 6,284,485 ops/sec ±0.58% (90 runs sampled) # Nested Arrays w/ Objects - classcat ≠ x 6,277,187 ops/sec ±0.62% (93 runs sampled) - classnames x 1,613,328 ops/sec ±1.69% (96 runs sampled) - clsx x 5,156,844 ops/sec ±0.22% (95 runs sampled) + classcat ≠ x 6,422,622 ops/sec ±0.36% (95 runs sampled) + classnames x 1,614,032 ops/sec ±0.44% (96 runs sampled) + clsx x 6,345,248 ops/sec ±0.21% (95 runs sampled) # Mixed - classcat ≠ x 7,073,536 ops/sec ±0.26% (95 runs sampled) - classnames x 2,149,952 ops/sec ±1.24% (95 runs sampled) - clsx x 5,577,715 ops/sec ±0.20% (93 runs sampled) + classcat ≠ x 7,071,223 ops/sec ±0.36% (95 runs sampled) + classnames x 2,093,250 ops/sec ±1.38% (93 runs sampled) + clsx x 6,557,515 ops/sec ±0.73% (91 runs sampled) # Mixed (Bad Data) - classcat ≠ x 1,770,852 ops/sec ±0.14% (97 runs sampled) - classnames x 1,148,353 ops/sec ±0.54% (97 runs sampled) - clsx x 1,887,010 ops/sec ±0.14% (96 runs sampled) + classcat ≠ x 1,761,143 ops/sec ±0.21% (96 runs sampled) + classnames x 1,132,549 ops/sec ±0.91% (95 runs sampled) + clsx x 2,018,654 ops/sec ±0.15% (98 runs sampled) ``` ## Browsers diff --git a/bench/safari.png b/bench/safari.png index 72b72fa353529e363333bcafbd56ae2ea1a0873a..456dc1888f0b4b46f1951b3c32be8628154099e2 100644 GIT binary patch literal 6729 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 x%bJ|f1Ay0!?h|lF0N!7RiRM3F