# teb **Repository Path**: pyinjava/teb ## Basic Information - **Project Name**: teb - **Description**: 模板引擎测试工具 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 25 - **Created**: 2015-11-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Template Engine Benchmark ===
作者决定废弃原EBM测试工具,重新设计了TEB,功能和准确度都较EBM有了提高; 目前网络上的Java模板引擎测试基本上都是非独立JVM测试的, 这样做后测试的引擎性能会较高,与实际性能相比有较大偏差, 因此本测试对每个引擎都使用独立JVM测试,保证了各个引擎间环境的公平性;使用 === ###1.编译 + 请使用JDK 1.7编译测试, 低于JDK1.7部分引擎可能会不能测试 + 请不要将Velocity加入并发测试, 会因异常终止, Velocity的共享对象导致并发问题 ###2.修改参数 + /target/classes/teb.bat
JAVA_HOME : @set JAVA_HOME=D:\UserWork\JavaSDK\jdk7u55x64 设置JAVA_HOME, 如使用系统环境变量请使用rem注释掉 Libraries : @set Libraries=D:\UserWork\JavaSpace\discuss\teb\lib 设置运行时需要的类库路径, 必填+ /target/classes/teb.properties
thread : 并发线程数, 最小设置1 record : 渲染页面的模型记录数, 最小设置1 period : 内存采样周期, 运行多少次采样一次, 内存取新生代之外的内存(新生代内存会被很快回收) warmed : 引擎预热次数, 一般编译型引擎在-server模式下需要10000次预热以上jvm才会优化执行, 该段采集IO,OUT信息, 最小设置1 looped : 引擎测试次数, 该段对时间、内存采样并计算吞吐量, 最小值1 stream : 输出流格式, 支持多输出流测试结果到同一测试报告, 字节流:byte, 字符流:char, 双流:all source : 引擎模板文件输入编码, 默认UTF-8 target : 引擎模板文件输出编码, 默认UTF-8, 支持多输出流测试结果到同一测试报告, 使用半角分号分割, 如UTF-8;GBK option : JVM启动参数优化配置, 例如:-server -Xms512m -Xmx512m -XX:+UseConcMarkSweepGC engine : 引擎测试别名配置, 支持多个配置, 支持多个测试结果到同一测试报告 使用半角分号分割, 例如: jop;jsp;wet xxx.name : 引擎测试别名对应的引擎名称及版本号, xxx=jop/jsp/wet等engine中自定义的别名 xxx.site : 引擎测试别名对应的引擎站点, xxx=jop/jsp/wet等engine中自定义的别名 xxx.test : 引擎测试别名对应的引擎测试实现, xxx=jop/jsp/wet等engine中自定义的别名###3.运行 + Windows 下执行
/target/classes/teb.bat+ Linux暂未支持 ###4.结果 + 测试结果信息
结果采用纯HTML输出, 包含关键参数的作图和全部数据信息 TPS : 引擎的吞吐量, 单位时间内引擎渲染次数, 单位: 次/秒 Time : 引擎全部渲染的执行时间, 单位: 毫秒 OnceIo : 引擎单次渲染的IO次数, 单位: 次 MassIo : 引擎全部渲染的IO次数, 单位: 次 OnceOut : 引擎单次渲染的输出字节(字符)数, 单位: 字节/字符 MassOut : 引擎全部渲染的输出字节(字符)数, 单位: 字节/字符 PermMem : 内存消耗, 内存取新生代之外的内存(新生代内存会被很快回收), 单位: 字节+ 测试环境信息
TestDate : 测试时间 JavaVM : JVM版本及位数 Thread : 并发线程数 Record : 渲染页面的模型记录数 Period : 内存采样周期 Warmed : 引擎预热次数 Looped : 引擎测试次数 Target : 输出编码 Stream : 输出流格式软件作者 ===
软件作者:kiang特别感谢 ===
感谢sept,webit,jetbrick,beetl对TEB提供的建议许可证 ===
Template Engine Benchmark Test is released under the MIT License. See the bundled LICENSE file for details. Template Engine Benchmark 依据MIT许可证发布。 使用结果请包含TEB版权信息, 详细请看捆绑的LICENSE文件。