<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.slim.min.js"></script>
<div id="wrap">
<div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div>
<div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div>
<div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div>
<div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div>
<div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div><div class="list-item"></div>
</div>
var elem = $( "#wrap .list-item" );
elem.remove();
var elem = document.querySelectorAll('#wrap .list-item');
for( var i = 0; i < elem.length; i++ ){
elem[i].parentNode.removeChild(elem[i]);
}
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
Jquery remove | |
removeChild |
Test name | Executions per second |
---|---|
Jquery remove | 435455.7 Ops/sec |
removeChild | 1204629.8 Ops/sec |
Let's break down the provided benchmark definition and test cases.
Benchmark Definition
The website MeasureThat.net
provides a JSON representation of the benchmark definition, which includes:
.remove()
method.list-item
inside the element with the ID wrap
, and then removes each of them from their parent node using parentNode.removeChild()
.ExecutionsPerSecond
)Individual Test Cases
The two individual test cases are:
var elem = $( "#wrap .list-item" ); elem.remove();
This test case uses jQuery to select the element with the ID wrap
and class list-item
, and then removes it.
var elem = document.querySelectorAll('#wrap .list-item');
for ( var i = 0; i < elem.length; i++ ) {
elem[i].parentNode.removeChild(elem[i]);
}
This test case uses document.querySelectorAll
to select all elements with the class list-item
inside the element with the ID wrap
, and then removes each of them using parentNode.removeChild()
.
Comparison
The benchmark result shows that, in this specific scenario, the removeChild
method is faster than the jQuery .remove()
method. The exact difference depends on the browser version and device platform, but it's generally slower for the jQuery approach due to the overhead of JavaScript and DOM manipulation.
It's essential to note that this benchmark might not be representative of all use cases, as the specific element structure and selection methods used can affect performance.