java - 程序执行时间|将值保存到文件或数据结构中?

标签 java performance file data-structures execution-time

当尝试测量执行时间时,我知道将值写入文件比将值打印到控制台要快得多(这确实会减慢程序速度)。但我还没有找到任何比较直接将值写入文件的速度与在程序执行期间将值保存在可增长的数据结构(如 LinkedList)中,然后在程序退出时将所有值写入文件的速度之间的比较。似乎将值保存在像 LinkedList 这样的东西中“可能”会更快,但我不确定。

我正在尝试对在自己的线程中运行的音频混合器循环进行计时,因此它将是自动计时的。因此,我想使用一种技术来测量和存储时间,对整体运行时间的影响尽可能小。

此外,我还研究过 VisualVM 等 Java 分析器,但尚未找到查看循环中各个传递的执行时间的方法。

谢谢!

最佳答案

写入文件会中断你的程序——不是每次写入都会中断,但经常足以搞乱你的计算。写入磁盘是由内核完成的,整个程序将等待 IO。将数据保存到内存中效果更好。但是,请注意 ArrayList,随着数组的增长,它可能会做很多额外的工作。您使用链接列表是正确的。

如果数据量很大,您可以使用内存数据库。

关于java - 程序执行时间|将值保存到文件或数据结构中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26044177/

相关文章:

java - Hibernate:与多键表的键之一连接

java短整型长整型性能

R根据条件(相同ID)替换值而不使用for循环

python - 根据内容对同一目录中的文件进行分组

perl - 如何将文件名传递给 perl 中的子程序?

java - 使用 Spring 注解注入(inject)父类依赖的正确方法

java - 与 Oracle Coherence 的集成测试

c - fscanf 不读取第一个单词的第一个字符(在 c 中)

java - 当我尝试运行 hellogridview 时出现错误

mysql - 为什么相同的 MySQL 查询对于不同的 ID 会花费更长的时间?