2.13 性能优化
About 398 wordsAbout 1 min
2021-03-27
2.13 性能优化
Beetl性能已经很快了,有些策略能更好提高性能
使用二进制输出,这样能提高20%的性能(依赖JDK版本不同有不同)此策略可以使模板在语法分析的时候将静态文本转化为二进制,省去了运行时刻编码时间,这是主要性能提高方式。但需要注意,此时需要提供一个二进制输出流,而不是字符流,否则性能反而下降
使用FastRuntimeEngine(提高10%性能),默认配置。 此引擎能对语法树做很多优化,从而提高运行性能,如生成字节码来访问属性而不是传统的反射访问。关于引擎,可能在新的版本推出更好的引擎,请随时关注。
自定义ResourceLoader的isModified必须尽快返回,因此每次渲染模板的时候都会调用此方法。默认情况下是每次都检测模板是否变化,可以配置RESOURCE.autoCheck=false 禁止检测
使用高版本JAVA,从Java7以来,JDK运行性能提高了很多
配置文件配置 CACHE_OUTPUT_BUFFER=5096, 这样Beetl会缓冲多个buffer用于模板字符串输出。这里的5096是指缓冲大小,如果配置小于模板实际生内容,性能优化打折扣。建议配置一个较大值
//CACHE_OUTPUT_BUFFER 配置后调用render方法会有20%性能提高 Template t =... String str = t.reander();
可以查看 https://gitee.com/xiandafu/beetl/tree/master/template-benchmark beetl的优化配置