好的,我知道我的计算不客观等等,但无论如何,我讨厌在执行单元测试时等待这么多时间:
我的guice swing应用程序需要大约7秒才能初始化。这是一个简单的IRC客户端。那时,没有连接打开,我甚至还没有调用任何java.io或java.net类。我试图缩小究竟是什么错误,我得到了Guice使用的5.8秒(平均值),以便用我正在使用的2个模块创建注入器(一个普通模块和一个用{{1}构建的模块},安装在原始模块中。)
当我删除所有模块时(基本上只调用FactoryModuleBuilder
),它仍然需要3.5秒。
我使用的Guice版本是3.0 rc2。我的电脑肯定不是最新的,但它仍然不超过3年。
那么如果可能的话,我如何才能提高Guice的表现呢?
作为参考,这是我正在使用的主要方法,导致3.5秒。后续调用需要0.01秒
Guice.createInjector()
结果
public static void main(String[] args) {
long t = System.currentTimeMillis();
Injector injector = Guice.createInjector();
long t1 = System.currentTimeMillis();
System.out.println(((t1 - t)) / 1000.0);
}
答案 0 :(得分:4)
Injector
Guice.createInjector()
并且没有模块需要花费100多分钟。