gpt4 book ai didi

java - 如何衡量这段代码的性能?

转载 作者:行者123 更新时间:2023-12-01 10:11:34 24 4
gpt4 key购买 nike

我有以下一段代码,我想测量其性能(时间和内存使用情况):

 public static void main(String[] args) throws IOException {
final String bigFile = "large-file.txt";
if (args.length == 1) {
List<String> lines = Utils.readLinesFromFile(bigFile);
Path path = Paths.get(bigFile);
if (Files.exists(path)) {
lines = Files.readAllLines(Paths.get(bigFile), StandardCharsets.UTF_8);
}

List<String> filteredLines = lines.stream().filter(x -> x.startsWith(args[0])).collect(Collectors.toList());
for (String s: filteredLines) {
System.out.println(s);
}
} else {
System.out.println(String.format("Expected one argument"));
}
}

其中 large-file.txt 是一个包含 2,000,000 行的文件。

我真的不知道如何衡量性能。我应该使用探查器(考虑到程序运行时间如此之短,我可以使用探查器吗?),或者在整个代码中使用 System.nanoTime() 并多次运行程序就足够了获得某种平均性能的时间?但这对内存使用没有帮助 - 除非我可以使用 Runtime.totalMemory() 调用来测量将大文件加载到内存之前和之后。

最佳答案

您可以使用Guava秒表来测量执行时间

Stopwatch stopwatch = new Stopwatch().start();
method call();
System.out.println(stopwatch.stop())

关于java - 如何衡量这段代码的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36097942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com