Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
getAttribute + setAttribute vs dataset vs Map (for loop 1K)
Compare getAttribute & setAttribute with dataset
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0
Browser:
Firefox 144
Operating system:
Windows
Device Platform:
Desktop
Date tested:
6 months ago
Test name
Executions per second
getAttribute
5860.8 Ops/sec
dataset
2914.3 Ops/sec
new Map();
33785.6 Ops/sec
HTML Preparation code:
<div id="foo" data-foo="foo_id"></div>
Tests:
getAttribute
var element = document.getElementById("foo"); for (let i = 0; i < 1000; ++i) { var originalAttribute = element.getAttribute("data-foo"); element.setAttribute("data-foo", String(i)); var newAttribute = element.getAttribute("data-foo"); }
dataset
var element = document.getElementById("foo"); for (let i = 0; i < 1000; ++i) { var originalAttribute = element.dataset.foo; element.dataset.foo = String(i); var newAttribute = element.dataset.foo; }
new Map();
var dataset = new Map(); var element = document.getElementById("foo"); dataset.set(element, element.dataset.foo); for (let i = 0; i < 1000; ++i) { var originalAttribute = dataset.get(element); dataset.set(element, String(i)); var newAttribute = dataset.get(element); }