Benchmark name | When Created |
---|---|
lodash uniq vs spread new Set() | one year ago |
setAttribute(...) vs. classList.add(...) vs classList.value vs className (multiple classes) | one year ago |
getAttribute(...) vs classList.value vs className | one year ago |
String concatenation vs array join [previous author fucked up in more ways than one] | one year ago |
String concatenation vs array join [previous author fucked up] | one year ago |
Another array[len - 1] vs array.at(-1) | one year ago |
Wtf why is the last one fastest?!
What is going on?! |
one year ago |
JavaScript spread operator vs Object.assign performance reassign same variable 2 | one year ago |
property access: object with define property vs Proxy get vs plain object 2 | one year ago |
property access: object with define property vs Proxy get vs plain object | one year ago |
property access: object with define property vs Proxy get | one year ago |
querySelectorAll vs getElementsByTagName iteration2 | one year ago |
Array: [] vs at() | one year ago |
Switch vs Object Literals - Speed Test | one year ago |
Observables: loops with try/catch versus EventTarget
When the “observable” pattern is implemented in JavaScript, it's practically always done using a loop over callbacks. One problem with this approach is that an exception in one handler will crash the entire loop. You can work around this by wrapping the invocation in a try/catch block, but in doing so, you silently swallow the error. The browser provides an event dispatcher for DOM elements that runs each handler in a separate execution context, providing a better failure mode for independent listeners. `EventTarget` is an interface, so you can't directly instantiate one. But you can hijack the `EventTarget` implementation from a dummy object. This test compares multi-listener dispatches using loops and the built-in `EventTarget`. My expectation is that the native mechanism will carry some overhead, partly because of the bespoke execution context, and partly because of the extra properties instantiated on each `CustomEvent` instance. This method also has to look up events by their (string) names, rather than using direct object reference. See http://dean.edwards.name/weblog/2009/03/callbacks-vs-events/ |
one year ago |
function versus const arrow function | one year ago |
string comparison test localeCompare | one year ago |
double-bang-vs-boolean-cast-multiple-types
!!x vs Boolean(x) |
one year ago |
fromEntries vs reduce fight! | one year ago |
2D to 1D Test | one year ago |
Benchmark Reduce vs Concat vs Join | one year ago |
Benchmark Reduce vs Concat | one year ago |
push vs length as filter (2) | one year ago |
push vs length as filter | one year ago |
push vs length | one year ago |