HTML Preparation code:
AخA
 
1
<div id="foo" class="a b c"></div>
Tests:
  • setAttribute

     
    var element = document.getElementById("foo");
    var i = 1000;
    while (i--) {
        var classes = (0 == i % 2) ? "1 2 3" : "4 5 6";
        element.setAttribute("class", classes);
    }
  • className

     
    var element = document.getElementById("foo");
    var i = 1000;
    while (i--) {
        var classes = (0 == i % 2) ? "1 2 3" : "4 5 6";
        element.className = classes;
    }
  • classList

     
    var element = document.getElementById("foo");
    var i = 1000;
    while (i--) {
        var classes = (0 == i % 2) ? ["1", "2", "3"] : ["4", "5", "6"];
        element.classList.remove(...element.classList);
        element.classList.add(...classes);
    }
  • setAttribte=List

     
    var element = document.getElementById("foo");
    var i = 1000;
    while (i--) {
        var classes = (0 == i % 2) ? ["1", "2", "3"] : ["4", "5", "6"];
        element.setAttribute("class", classes.join(' '));
    }
  • className=List

     
    var element = document.getElementById("foo");
    var i = 1000;
    while (i--) {
        var classes = (0 == i % 2) ? ["1", "2", "3"] : ["4", "5", "6"];
        element.className = classes.join(' ');
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    setAttribute
    className
    classList
    setAttribte=List
    className=List

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0
Firefox 119 on Linux
View result in a separate tab
Test name Executions per second
setAttribute 3831.8 Ops/sec
className 4448.7 Ops/sec
classList 679.6 Ops/sec
setAttribte=List 2880.0 Ops/sec
className=List 3150.9 Ops/sec