Closed timwis closed 8 years ago
Interesting;
dataset
seems supported in all modern browserssetAttribute
seems supported since the bronze age of the internetThanks!
I thought dataset[KEY_ID]
would have been faster but it turns out setAttribute()
is tiny bit faster on average (at least with my silly test in Chrome just now).
dataset: 0.052ms
setAttribute: 0.009ms
dataset: 0.107ms
setAttribute: 0.013ms
dataset: 0.044ms
setAttribute: 0.027ms
dataset: 0.020ms
setAttribute: 0.006ms
dataset: 0.019ms
setAttribute: 0.005ms
dataset: 0.036ms
setAttribute: 0.010ms
dataset: 0.019ms
setAttribute: 0.005ms
dataset: 0.021ms
setAttribute: 0.006ms
dataset: 0.022ms
setAttribute: 0.006ms
dataset: 0.013ms
setAttribute: 0.004ms
dataset: 0.030ms
setAttribute: 0.008ms
dataset: 0.025ms
setAttribute: 0.006ms
Yay for a 5-10x speed up! 😝
I noticed that after adding
on-load
to my app, my test broke becausejsdom
doesn't support.dataset
(tmpvar/jsdom#961). Changing from.dataset
to.getAttribute('data-...')
does the trick. The question is (a) whether there are any other use cases other than jsdom, and (b) whether there's any advantage of using.dataset
that we'd lose by using.getAttribute()
.