我想使用StringBuider
方法比较两个班级(StringBuffer
和append
)的工作速度。
我编写了非常简单的程序:
public class Test {
public static void main(String[] args) {
try {
test(new StringBuffer("")); // StringBuffer: 35117ms.
test(new StringBuilder("")); // StringBuilder: 3358ms.
} catch (IOException e) {
System.err.println(e.getMessage());
}
}
private static void test(Appendable obj) throws IOException {
long before = System.currentTimeMillis();
for (int i = 0; i++ < 1e9; ) {
obj.append("");
}
long after = System.currentTimeMillis();
System.out.println(obj.getClass().getSimpleName() + ": " +
(after - before) + "ms.");
}
}
但我知道,基准测试是糟糕的方式。我想在方法或类上添加注释,设置迭代次数,测试,不同条件,并在输出中获得准确结果。
请建议好的库或标准Java工具来解决此问题。此外,如果不困难,请写一个很好的基准测试。
提前致谢!