Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
getAttribute + setAttribute vs dataset vs Map (for loop 1K)
(version: 1)
Compare getAttribute & setAttribute with dataset
Comparing performance of:
getAttribute vs dataset vs new Map();
Created:
one year ago
by:
Guest
Jump to the latest result
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); }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
getAttribute
dataset
new Map();
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
17 days ago
)
User agent:
Mozilla/5.0 (X11; Linux x86_64; rv:149.0) Gecko/20100101 Firefox/149.0
Browser/OS:
Firefox 149 on Linux
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
getAttribute
504.2 Ops/sec
dataset
325.6 Ops/sec
new Map();
8482.3 Ops/sec
Related benchmarks:
getAttribute vs dataset
getAttribute vs dataset 2
hasAttribute vs dataset
getAttribute vs dataset 2023
getAttribute vs dataset 1002
getAttribute vs dataset gregdaynes destructure multiple getAttribute
hasAttribute vs getAttribute vs dataset
getAttribute vs dataset (without explicit loop)
getAttribute + setAttribute vs dataset (for loop 1K)
Comments
Confirm delete:
Do you really want to delete benchmark?