Lute 要做到极致的性能,必须去掉词法分析。词法分析的作用是把输入文本的字符分类形成 token,这就需要完整遍历一遍输入文本。这个遍历过程虽然比较快,但是构造 token 对象却是很耗时的(规范文本有 12W+ 个 tokens )。所以如果要做到极致的性能,必须把词法分析过程省掉,在语法分析阶段根据字符值操作。这样减少了遍历次数,也减少了内存分配和 GC。
Lute 要做到极致的性能,必须去掉词法分析。词法分析的作用是把输入文本的字符分类形成 token,这就需要完整遍历一遍输入文本。这个遍历过程虽然比较快,但是构造 token 对象却是很耗时的(规范文本有 12W+ 个 tokens )。所以如果要做到极致的性能,必须把词法分析过程省掉,在语法分析阶段根据字符值操作。这样减少了遍历次数,也减少了内存分配和 GC。