0

VelocityEngine 实例的占用空间是否足够小,以便每次我需要处理模板时都可以构建一个新实例,还是最好缓存 VelocityEngine 并重用该实例?

4

1 回答 1

1

我认为这通常不会有太大的不同,对于我实现的一个项目,我将其设置为可配置的,但最终我们没有缓存对象,而是每次都重新生成它,没有任何性能问题。

请注意,在我的情况下,速度处理很繁重,即渲染本身需要相当长的时间。对于较小的有效载荷,这可能会有所不同。但是由于 Velocity 在内部使用反射,它总是会为其渲染带来一些开销,因此我希望与此相比,创建初始对象应该不会花费太多时间。

因此,除非性能分析表明它会引起麻烦,否则我不会在这里花太多时间来实现某些东西。一般经验法则,测量大部分时间用完的东西,然后尝试修复它!

此外,据我记得(刚刚找不到参考),VelocityEngine 应该是每个定义的线程安全的。但是过去有关于多线程问题的错误报告(现在都已修复!),因此创建新引擎可以避免未来可能出现的线程问题。

于 2013-02-17T20:59:25.933 回答