Latest JavaScript performance benchmarks

A rotating feed of public suites with real publish dates, stronger benchmark signals, and quick hints about what each card is useful for.

Recently published
Signal
63/100
CheckedType
Multi-case with 4 tests. JavaScript performance question ready to rerun in your browser.
Tests
4
Revs
1
Pulse
recent
Multi-caseJavaScriptJavaScript
Includes

Current vs W/o Recursion vs Current w/ push

Published
Recently published
Signal
57/100
`Math.pow(a, 2)` vs `a ** 2` vs `a * a`
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
recent
Multi-caseJavaScriptJavaScript
Includes

Math.pow vs ** vs *

Published
Recently published
Signal
51/100
Imul vs multiplication
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
recent
Focused A/BJavaScriptJavaScript
Includes

Math.imul vs a * b

Published
Archive pick
Signal
51/100
Generic indexing helpers
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Switch with union narrowing vs Record lookup plus common fields vs Typed reduce callback

Published · resurfaced
Archive, revised
Signal
74/100
test
Deep suite with 6 tests. 2 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
6
Revs
2
Pulse
dense
Deep suiteJavaScriptArrays
Includes

mod forEach (O (n)) vs mod for (O (n)) vs filter (O (n))

Published · resurfaced
Archive pick
Signal
51/100
Removing Duplicates
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Set + Spread vs Array.from(Set) vs filter & indexOf

Published · resurfaced
Archive pick
Signal
45/100
Writing binary arrays – functions vs direct access
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

Test with functions vs Test with direct access

Published · resurfaced
Archive, revised
Signal
56/100
Large array multiple items
Multi-case with 3 tests. 2 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
2
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Spread vs Concat vs Splice

Published · resurfaced
Archive pick
Signal
45/100
Object Assignment
Focused A/B with 2 tests. Objects performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptObjects
Includes

Object.assign vs Spread operator

Published · resurfaced
Archive pick
Signal
51/100
String Search
Multi-case with 3 tests. Strings performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptStrings
Includes

indexOf vs includes vs RegExp.test

Published · resurfaced
Archive pick
Signal
51/100
Flattening Arrays
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Array.flat vs reduce & concat vs Spread & concat

Published · resurfaced
Archive pick
Signal
57/100
Math Floor Alternatives
Multi-case with 4 tests. JavaScript performance question ready to rerun in your browser.
Tests
4
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

Math.floor vs Bitwise OR (| 0) vs Double NOT (~~)

Published · resurfaced
Archive pick
Signal
51/100
Default Values
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

Default param vs Logical OR vs Nullish Coalescing

Published · resurfaced
Archive, revised
Signal
86/100
Set Theory
Deep suite with 15 tests. 2 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
15
Revs
2
Pulse
dense
Deep suiteJavaScriptArrays
Includes

Set.prototype.has vs Array.prototype.includes vs Set.prototype.difference

Published · resurfaced
Archive pick
Signal
45/100
test
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

func1 vs func2

Published · resurfaced
Archive pick
Signal
51/100
Fibonacci Algorithm
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

Recursive vs Iterative vs Memoized

Published · resurfaced
Archive, revised
Signal
56/100
Large array single item
Multi-case with 3 tests. 2 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
2
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Spread vs Concat vs Splice

Published · resurfaced
Archive pick
Signal
51/100
Finding Max in Array
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Math.max.apply vs Math.max(...arr) vs for loop

Published · resurfaced
Archive pick
Signal
45/100
Map vs Object for lookup
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

Map.get vs Object lookup

Published · resurfaced
Archive pick
Signal
45/100
Synthetic Commerce JIT and CPU Profile Showcase
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

Indexed order scoring (monomorphic Map + typed array) vs Polymorphic order normalization (mixed shapes + Set tags)

Published · resurfaced
Archive pick
Signal
45/100
Nullish Coalescing vs Logical OR
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

Nullish Coalescing (??) vs Logical OR (||)

Published · resurfaced
Archive pick
Signal
51/100
Time execution
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

test1 vs test2 vs test3

Published · resurfaced
Archive, revised
Signal
96/100
shallow cloning
Deep suite with 8 tests. 4 saved revisions to compare. JavaScript performance question ready to rerun in your browser.
Tests
8
Revs
4
Pulse
iterated
Deep suiteJavaScriptJavaScript
Includes

structuredClone vs spread destruct vs manual 1

Published · resurfaced
Archive pick
Signal
51/100
Checking Array Type
Multi-case with 3 tests. TypeScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptTypeScript
Includes

Array.isArray() vs instanceof Array vs Object.prototype.toString

Published · resurfaced
Archive pick
Signal
57/100
Function calling overhead
Multi-case with 4 tests. JavaScript performance question ready to rerun in your browser.
Tests
4
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

No function vs normal function vs Inline function

Published · resurfaced
Archive pick
Signal
45/100
Simple matching vs vector classification
Focused A/B with 2 tests. Objects performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptObjects
Includes

Basic vs Table lookup

Published · resurfaced
Archive pick
Signal
51/100
Array Mapping
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Array.map vs Array.from vs for loop

Published · resurfaced
Archive pick
Signal
45/100
Logging deeply nested objects
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

log vs stringify

Published · resurfaced
Archive pick
Signal
51/100
test1
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

delete vs omit vs undefined

Published · resurfaced
Archive pick
Signal
51/100
array vs linked list: reverse List
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

arr vs singly Llist vs double Llist

Published · resurfaced
Archive, revised
Signal
50/100
test
Focused A/B with 2 tests. 2 saved revisions to compare. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
2
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

1 vs 2

Published · resurfaced
Archive pick
Signal
51/100
Object Iteration
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Object.keys() vs Object.entries() vs for...in loop

Published · resurfaced
Archive pick
Signal
51/100
Sorting Algorithms
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

Native sort vs Bubble Sort vs Quick Sort

Published · resurfaced
Archive pick
Signal
51/100
Checking Properties
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

in operator vs hasOwnProperty vs undefined check

Published · resurfaced
Archive, revised
Signal
56/100
pow 2
Multi-case with 3 tests. 2 saved revisions to compare. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
2
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

mul vs f mul vs pow

Published · resurfaced
Archive pick
Signal
51/100
Generic indexing helpers
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Object buckets vs Map buckets vs Generic group helper

Published · resurfaced
Archive pick
Signal
57/100
Array Iteration
Multi-case with 4 tests. Arrays performance question ready to rerun in your browser.
Tests
4
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

for loop vs forEach vs for...of

Published · resurfaced
Archive, revised
Signal
68/100
Count UTF-8 units in a string
Multi-case with 5 tests. 2 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
5
Revs
2
Pulse
dense
Multi-caseJavaScriptArrays
Includes

Regex with unicode flag vs Regex matching surrogate pairs vs Array from

Published · resurfaced
Archive, revised
Signal
74/100
mr47 personal task
Deep suite with 6 tests. 2 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
6
Revs
2
Pulse
dense
Deep suiteJavaScriptArrays
Includes

mod forEach + push vs for (step +1) + push vs filter

Published · resurfaced
Archive pick
Signal
45/100
BigInt vs Number
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

Number math vs BigInt math

Published · resurfaced
Archive pick
Signal
45/100
array vs linked list: random access
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

array vs Llist

Published · resurfaced
Archive pick
Signal
45/100
array vs linked list: prepend
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

array vs Llist

Published · resurfaced
Archive, revised
Signal
73/100
includes vs for in vs object.keys
Multi-case with 5 tests. 3 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
5
Revs
3
Pulse
dense
Multi-caseJavaScriptArrays
Includes

keys includes vs for in vs array + object for in

Published · resurfaced
Archive pick
Signal
57/100
String Concatenation
Multi-case with 4 tests. Arrays performance question ready to rerun in your browser.
Tests
4
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Plus operator (+) vs Template literals vs Array join

Published · resurfaced
Archive pick
Signal
51/100
cls hot path: clsx vs cls-v1 vs cls-v2
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

clsx src/index.js vs cls-v1.js vs cls-v2.js

Published · resurfaced
Archive pick
Signal
45/100
Array Push vs Unshift
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

Array.push vs Array.unshift

Published · resurfaced
Archive pick
Signal
51/100
Set vs Array.includes
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

Set.has vs Array.includes vs Array.indexOf

Published · resurfaced
Archive pick
Signal
45/100
for vs map
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

for vs map

Published · resurfaced
Archive pick
Signal
45/100
XOR vs Array Swap
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

XOR vs Array Swap

Published · resurfaced
Archive pick
Signal
45/100
tìm tất cả cặp tổng k
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

arr vs double llist

Published · resurfaced
Archive pick
Signal
45/100
Array Sum: Reduce vs Loop
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

Array.reduce vs for loop

Published · resurfaced
Archive pick
Signal
45/100
cls hot path: clsx vs cls
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

clsx vs cls

Published · resurfaced
Archive pick
Signal
45/100
test
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

linear vs bin-search

Published · resurfaced
Archive pick
Signal
75/100
get value by key
Deep suite with 7 tests. Objects performance question ready to rerun in your browser.
Tests
7
Revs
1
Pulse
dense
Deep suiteJavaScriptObjects
Includes

original vs early exit vs object literal

Published · resurfaced
Archive pick
Signal
45/100
array vs linked list
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

array depend vs Llist depend

Published · resurfaced
Archive pick
Signal
51/100
Substring Extraction
Multi-case with 3 tests. JavaScript performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptJavaScript
Includes

substring vs slice vs substr

Published · resurfaced
Archive pick
Signal
51/100
Finding Elements
Multi-case with 3 tests. Arrays performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptArrays
Includes

findIndex vs find vs for loop

Published · resurfaced
Archive pick
Signal
45/100
Destructuring vs Dot Notation
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

Destructuring vs Dot notation

Published · resurfaced
Archive pick
Signal
45/100
for vs for await on non-promises
Focused A/B with 2 tests. Async performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptAsync
Includes

for vs for await

Published · resurfaced
Archive pick
Signal
45/100
Optional Chaining
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

Optional Chaining vs Logical AND

Published · resurfaced
Archive pick
Signal
45/100
Object Cloning
Focused A/B with 2 tests. Strings performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptStrings
Includes

JSON stringify/parse vs structuredClone

Published · resurfaced
Archive pick
Signal
57/100
Number to String
Multi-case with 4 tests. Strings performance question ready to rerun in your browser.
Tests
4
Revs
1
Pulse
steady
Multi-caseJavaScriptStrings
Includes

String(num) vs num.toString() vs num + ''

Published · resurfaced
Archive pick
Signal
45/100
look up in array
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

includes vs set

Published · resurfaced
Archive pick
Signal
57/100
String to Number
Multi-case with 4 tests. Strings performance question ready to rerun in your browser.
Tests
4
Revs
1
Pulse
steady
Multi-caseJavaScriptStrings
Includes

Number(str) vs parseInt(str) vs parseFloat(str)

Published · resurfaced
Archive pick
Signal
45/100
Large array adding items
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

Spread vs Concat

Published · resurfaced
Archive, revised
Signal
50/100
Array.includes vs OR statement
Focused A/B with 2 tests. 2 saved revisions to compare. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
2
Pulse
steady
Focused A/BJavaScriptArrays
Includes

Array.includes vs OR Statement

Published · resurfaced
Archive pick
Signal
45/100
array vs linked list: search
Focused A/B with 2 tests. Arrays performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptArrays
Includes

array vs Llist

Published · resurfaced
Archive pick
Signal
51/100
Object Creation
Multi-case with 3 tests. Objects performance question ready to rerun in your browser.
Tests
3
Revs
1
Pulse
steady
Multi-caseJavaScriptObjects
Includes

Object literal vs new Object() vs Object.create(null)

Published · resurfaced
Archive pick
Signal
45/100
triangle function test
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

sin vs 1 - cos^2

Published · resurfaced
Archive pick
Signal
45/100
Dom manipulation - POO vs Proc
Focused A/B with 2 tests. DOM performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptDOM
Includes

POO vs Proc

Published · resurfaced
Archive pick
Signal
45/100
Function Calls
Focused A/B with 2 tests. JavaScript performance question ready to rerun in your browser.
Tests
2
Revs
1
Pulse
steady
Focused A/BJavaScriptJavaScript
Includes

Arrow function vs Regular function

Published · resurfaced