java程序执行时间|将值保存到文件或数据结构?
当尝试测量执行时间时,我知道将值写入文件比将值打印到控制台要快得多(这确实会降低程序的运行速度)。但我还没有找到任何东西来比较将值直接写入文件的速度与在程序执行期间将值保存在可扩展的数据结构(如LinkedList)中,然后在程序退出时将所有值写入文件的速度。似乎在LinkedList之类的应用程序中保存值“可能”会更快,但我不确定
我试图计时一个音频混音器循环在它自己的线程中运行,所以它是自动计时的。因此,我想使用一种技术来测量和存储时间,使其对总体运行时间的影响尽可能小
此外,我还研究了VisualVM等Java探查器,但还没有找到查看循环中各个过程的执行时间的方法
谢谢
# 1 楼答案
写入文件会中断你的程序,不是每次写入都会中断,而是经常会扰乱你的计算。写入磁盘由内核完成,整个程序将等待IO。将数据保存到内存中更好。但是,请注意ArrayList,随着数组的增长,它可能会做很多额外的工作。你使用链表是对的
如果数据量很大,可以使用内存数据库