Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
ternary vs if in loop
(version: 0)
Comparing performance of:
ternary vs if
Created:
3 years ago
by:
Guest
Go to the latest result
Tests:
ternary
for (let i = 0; i < 1000; i++) { const rnd = Math.random(); const value = rnd < .5 ? 'min' : 'max' }
if
for (let i = 0; i < 1000; i++) { const rnd = Math.random(); let value; if (rnd < .5) { value = 'min'; } else { value = 'max'; } }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
ternary
if
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Browser/OS:
Chrome 126 on Chrome OS 14541.0.0
View result in a separate tab
Embed
Embed Benchmark Result
ternary
52K/s
if
50K/s
View exact numbers
Test name
Executions per second
✓
ternary
51,657 Ops/sec
if
49,546 Ops/sec
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
Let's break down the provided benchmark and explain what is being tested, compared, and other considerations. **Benchmark Definition JSON** The provided `Benchmark Definition` JSON defines two test cases: 1. "ternary vs if in loop" 2. Another test case is not defined, but we can infer it from the script preparation code provided later. **Test Case 1: Ternary vs If** This test case compares the performance of using a ternary operator (`ternary`) versus an if-else statement (`if`). **Script Preparation Code** ```javascript for (let i = 0; i < 1000; i++) { const rnd = Math.random(); const value = rnd < .5 ? 'min' : 'max'; } ``` This script generates 1000 iterations, where `Math.random()` is used to generate a random number between 0 and 1. If the number is less than 0.5, the variable `value` is assigned the string `'min'`; otherwise, it's assigned `'max'`. **Script Preparation Code for Test Case 2 ( inferred )** ```javascript for (let i = 0; i < 1000; i++) { const rnd = Math.random(); let value; if (rnd < .5) { value = 'min'; } else { value = 'max'; } } ``` This script is similar to the first one, but uses an if-else statement to assign the value. **Comparison** The test case compares the performance of these two approaches: 1. Ternary operator (`ternary`): `const value = rnd < .5 ? 'min' : 'max';` 2. If-else statement (`if`): `let value; if (rnd < .5) { value = 'min'; } else { value = 'max'; }` **Pros and Cons** 1. **Ternary operator**: * Pros: concise, expressive, and easy to read. * Cons: may not be as readable for complex conditions or multiple assignments. 2. **If-else statement**: * Pros: more readable for complex conditions or multiple assignments. * Cons: longer, less concise, and may require more lines of code. **Other Considerations** 1. **Library usage**: Neither test case uses any libraries. 2. **Special JS feature/syntax**: No special features are used in this benchmark. 3. **Alternative approaches**: Other alternatives could include using arrow functions, template literals, or other conditional statements (e.g., `switch`). **Benchmark Result** The latest benchmark result shows the performance of both test cases: | Test Name | ExecutionsPerSecond | | --- | --- | | ternary | 17937.40625 | | if | 17617.529296875 | This suggests that the ternary operator approach is slightly faster than the if-else statement approach. Keep in mind that this benchmark is just one example, and performance differences may vary depending on the specific use case, platform, and other factors.
Related benchmarks
Math.max/min vs function ternary vs inline ternary
Is ternary operator, if-else or logical OR faster
Math.max/min vs if vs ternary operatorsd
Comments
Confirm delete:
Do you really want to delete benchmark?