RubyLouvre / avalon

an elegant efficient express mvvm framework
http://avalonjs.coding.me/
Other
5.8k stars 1.42k forks source link

性能测试 #859

Closed RubyLouvre closed 9 years ago

RubyLouvre commented 9 years ago
O网页链接 。 Regularjs的 O网页链接。 看了下这个 track-by 版本 应该是所有最快了, 其实还没有完全的优化。 其实没有那么多奥秘, 谁的dom变更少就快。 其次就是数据层的差异了(不是最关键差异 ) 。
RubyLouvre commented 9 years ago
var oldLength = son.length
                var newLength = value.length
                var n = oldLength
                if(oldLength > newLength){
                    var i =  oldLength - newLength
                    son.splice(newLength, i )
                    n = newLength
                }
                if(oldLength < newLength){
                    var i = newLength - oldLength
                    son.pushArray(value.slice(oldLength))
                }
                for(var i = 0; i < n ;i++){
                    son.set(i, value[i])
                }
RubyLouvre commented 9 years ago

image