语言都涉及到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操作。