![]() |
1
5
afaik,没有API方法的标准基准,事实上,可能有基于您正在运行的JVM的各种实现。再加上JVM的JIT优化、垃圾收集和许多其他功能,我怀疑您是否能够获得具有全局意义的数字。你能做的最多的就是写你自己的基准。 有些方法在其javadocs中指定了操作的计算复杂性。其他一些方法描述了其他性能问题。确保你意识到他们并注意他们。 但除此之外,最有可能的情况是您正在进行过早的优化。使用探查器可以看到它实际上是一个瓶颈。 例如,在您的情况下,从文件读取的成本,将字符串放入大缓冲区的成本,等等。我不确定您是否真的可以通过在字符串级别读取来优化。如果这真的是任务关键型的,那么你可以一个字符一个字符地读取并实现一个智能匹配算法,而不需要创建字符串,这可能稍微快一点。 |
![]() |
3
1
没有文档,因为不同的机器、操作系统和操作系统会有很大的不同。要获得程序的准确时间,请使用 profiler . NetBeans分析器很好。 至于找出哪一个最快,没有比这两个代码更好的选择。或者,您可以编写最简单的替代方案,当它工作时,您可能会发现它的速度足以满足您的需要,而不必编写更复杂的实现。 |
![]() |
4
1
如果我正确理解你的问题,你的问题是,从某个地方读一行还是从记忆中读一行更好。 将文本加载到内存中进行扫描,然后从I/O流(尤其是磁盘)中读取它们,总是会更快。读取的速度与Java无关,但是源可以快速地将数据获取到程序。 |
![]() |
5
1
我同意使用profiler的想法-但您可能还想考虑使用log4j(或apache commons logging等)来获取一些关于程序性能的廉价统计信息-因为结果日志文件中的日志条目将被时间戳到最接近的毫秒:因为日志记录通常是调试时要做的一件有用的事情,这可能值得先做。 学习分析工具和学习如何解释结果数据本身通常是一项非常重要的任务-值得做,但是您可能只需要使用日志数据就能更快地得到一个大致的想法-特别是如果您将其格式化为csv等格式,以便导入到电子表格中。 |
![]() |
6
1
如果我们忽略了磁盘IO时间,只考虑在代码中花费的CPU时间,那么第二个选择将比第一个慢得多。 |
|
Park · 为什么两个不同实例的isa指针相同? 7 年前 |
![]() |
Matthias · 转到运行时日志详细信息更改 7 年前 |
![]() |
belnxkkk · spring在运行时添加数据源 7 年前 |
![]() |
Homunculus · 在大型数据帧中查找哪一天是假日-巨大的运行时 7 年前 |
![]() |
Jack Armstrong · 优化PowerPoint的VBA宏 7 年前 |
![]() |
Farzin · 从当前命名空间获取用户定义控件的列表 7 年前 |
![]() |
Mary · Java execute命令在代码中不起作用 7 年前 |