我正在尝试测试和测量javacc解析器的性能。 请注意,解析器应该读取一些消息并将其编组为xml格式。 我已经做了一些单元测试,但我需要检查一下它的速度。 推荐的方法/工具是什么?
答案 0 :(得分:2)
这是我要做的。生成一个小文件到StringBuffer。从字符串缓冲区创建一个字符串,从字符串创建一个字符串阅读器,从阅读器创建一个解析器。请注意CPU时间。解析。再次注意CPU时间。减去。现在重复一个更大的文件和一个更大的文件,依此类推。我会为每次重复重新启动JVM进程,以便不太可能发生垃圾回收。小文件的时间可能会受到缓存大小的强烈影响。随着文件变大,每个字节的解析时间可能接近极限。该限制将反映每个字节忽略缓存的时间。
有关获取CPU时间的信息,请参阅http://nadeausoftware.com/articles/2008/03/java_tip_how_get_cpu_and_user_time_benchmarking。
当然,有很多因素会影响你的结果。例如垃圾收集。见Measuring time spent on GC in JVM。