Skip to content

yuanhan1890/dom-insertion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This demo compares dom insertion count when vue and inferno patches vnode's children.

Libraries

Vue2.5.3, Inferno3.0, G2.3.13

Modification

Vue:

// Line 5189 in Vue.js
function insertBefore (parentNode, newNode, referenceNode) {
  if (Vue.inCounting && parentNode.childNodes[0] && !Number.isNaN(parseInt(parentNode.childNodes[0].innerHTML))) {
    // Array.prototype.map.call(parentDom.childNodes, child => child.innerHTML).join(',')
    Vue.count ++
    if(Vue.logInsert) {
      console.log(`vue:[${Array.prototype.map.call(parentNode.childNodes, child => parseInt(child.innerHTML)).join(',')}]`)
    }
  }
  parentNode.insertBefore(newNode, referenceNode);
}

Inferno:

// Line 2291 in Inferno.js
if (Inferno.inCounting && parentDom.childNodes[0] && !Number.isNaN(parseInt(parentDom.childNodes[0].innerHTML))) {
    if (Inferno.logInsert) {
        console.log(`infero:[${Array.prototype.map.call(parentDom.childNodes, child => child.innerHTML).join(',')}]`)
    }
    Inferno.count ++
}

screenshot

result result

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published