gpt4 book ai didi

Java - System.out 对性能的影响

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:51 25 4
gpt4 key购买 nike

我见过this question有点相似。我想知道这是否真的是影响我的应用程序性能的一个重要因素。这是我的场景。

我有一个 Java Web 应用程序,它可以从电子表格上传数千个数据,这些数据从上到下每行读取。我使用 System.out.println() 在服务器端显示应用程序当前正在读取的行。

- 我知道创建一个日志文件。事实上,我正在创建一个日志文件,同时在服务器提示符上显示日志。
还有其他方法可以在提示符上打印当前数据吗?

最佳答案

我最近正在测试(读取和)写入大型(1-1.5gb)文本文件,我发现:

PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(java.io.FileDescriptor.out), "UTF-8"), 512));
out.println(yourString);
//...
out.flush();

实际上比

250%
System.out.println(yourString);

我的测试程序首先读取大约 1GB 的数据,对其进行一些处理并以略有不同的格式输出。

测试结果(在 Macbook Pro 上,使用同一磁盘进行 SSD 读写):

  • 数据输出到系统输出> output.txt => 1分32秒
  • 数据写入java文件=> 37秒
  • 数据写入缓冲写入器-stdout > output.txt => 36秒

我确实尝试过使用大小在 256-10k 之间的多个缓冲区,但这似乎并不重要。

因此请记住,如果您使用 Java 创建 unix 命令行工具,其中输出旨在定向或通过管道传输到其他地方,请不要直接使用 System.out!

关于Java - System.out 对性能的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50778079/

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