在java.lang.object.wait上花费的处理时间过长会调用

时间:2017-05-15 14:02:35

标签: java parsing optimization

作为一名新手Java用户,我很快就爱上了这门语言,并在许多项目中使用它来熟悉它。在这种情况下,我编写了一个基本的日志解析程序(用于映射日志行类型的两个对象和一个主要的'API'脚本)。

我的问题是效率和优化。我开始使用~6300行的2MB日志文件编写程序,运行时间为0.30 - 0.50秒。当我在一个更大的文件(162MB,465,000行)上运行该程序时,我预计它会更长,可能在1-2分钟范围内。我没想到的是,手术完成后估计会有超过40分钟的时间呈指数增长。

使用Java分析器(JProfiler试验)进行的一些研究指出,以下方法占用了我执行时间的30%。

org.eclipse.core.internal.jobs.Worker.run

跟踪

java.lang.Object.wait

我希望从以前可能处理过类似问题的Java大师那里得到一些建议,并且可以指出我正确的方向。

干杯!

编辑:

通过多次运行,我发现程序很快就会启动,第一次2000-3000行就会在几秒钟内完成。然而,在5000-11000之间,一切都开始慢慢爬行。这会给我带来某种内存泄漏或分配问题,但是分析器并没有报告任何类型的内容。下面我附上了较大文件的部分运行截图。

Profiler showing 'hotspots'

0 个答案:

没有答案