【发布时间】:2015-08-24 11:00:43
【问题描述】:
我正在尝试测试和测量我的 javacc 解析器的性能。 请注意,解析器应该读取一些消息并将其编组为 xml 格式。 我已经做了一些单元测试,但我需要检查它有多快。 推荐的方法/工具是什么?
【问题讨论】:
标签: testing compiler-construction performance-testing lexer javacc
我正在尝试测试和测量我的 javacc 解析器的性能。 请注意,解析器应该读取一些消息并将其编组为 xml 格式。 我已经做了一些单元测试,但我需要检查它有多快。 推荐的方法/工具是什么?
【问题讨论】:
标签: testing compiler-construction performance-testing lexer javacc
这就是我要做的。将一个小文件生成到 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。
【讨论】: