Java代码生成器的比较、评估与拓展
1. 不同Java代码生成器的性能与规模分析
为了评估不同Java代码生成器的性能和生成代码的规模,进行了相关实验。实验使用了具有特定特征的参考模型:
- “NoOps”:包含100个不执行任何操作的服务的长序列。
- “Loops”:包含一个简单的循环,每次迭代递减给定的计数器,计数器初始值为10000,该模型由三个服务实现。
- “Recursion”:同样递减计数器,但使用递归调用,计数器初始值为100,由五个服务组成。
- “All Tests”:通过一个公共超模型组合了Genesys测试套件的所有测试模型,包含38个子模型和168个SIB。
这些模型中的服务功能要么为零,要么非常小,以便专注于本地执行时间。前三个模型针对基本控制流方面,“All Tests”则代表一个大型分层模型。
以下是不同Java代码生成器生成类的实验性能结果:
| 生成器变体 | NoOps | Loops | Recursion | All Tests |
| — | — | — | — | — |
| JCE | - | 2.728 | 37.898 | 2.149 | 106.139 |
| JCG1 | - | 0.002 | 1.388 | 0.096 | 100.686 |
| JCG2 - SC | 0.002 | 1.470 | 0.103 | 100.571 |
| JCG2 - LI | 0.122 | 15.316 | 0.371 | 100.792 |
| JCG2 - LI - GS | 0.100 | 15.355 | 0.
超级会员免费看
订阅专栏 解锁全文
1444

被折叠的 条评论
为什么被折叠?



