beetl 2之Context性能改善

语言都涉及到Context,beetl1.x版本context效率比较低,用了map来维护local变量。2.0将作出改善,初步性能测试证明性能这部分能提高到50倍,如下beetl代码

var a = 1;
{
  var b = 2;
  
}
{
var c = 3;
}


var d =4 ;
那么在Context中,维持local变量的只需要一个一维数组就可以,数组长度是3
节点a,d,c,b的index是0,1,2,2,就是子context 会在上一级context后面排着,而且在语法分析完后,就能确定数组长度为3就够了,不需要进行频繁的数组copu操作。

你可能感兴趣的:(beetl 2之Context性能改善)