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

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

另外,我研究了VisualVM之类的Java分析器,但没有找到一种查看循环中各个通道执行时间的方法。

谢谢!

最佳答案

写入文件将中断您的程序-并非在每次写入时都会中断,但通常足以使您的计算混乱。写入磁盘是由内核完成的,整个程序将等待IO。将数据保存到内存更好。但是,请注意ArrayList,随着数组的增长,它可能会做很多额外的工作。您有权使用链表。

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

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

10-10 16:33