当前位置: 首页 > 面试题库 >

打开和关闭Javac调试之间是否存在性能差异?

宗政和韵
2023-03-14
问题内容

如果我使用Javac打开调试信息的生成,则类文件将增加20-25%。这对运行Java程序有任何性能影响吗?如果是,则在哪些条件下以及在多少条件下。我希望对加载类有一点影响,因为文件较大,但这应该很小。


问题答案:

用任何语言,调试信息都是元信息。它的性质增加了目标文件的大小,从而增加了加载时间。在调试器外部执行期间,实际上完全忽略了此信息。如JVM规范中所述(尽管不清楚),调试信息存储在字节码流之外。这意味着在执行时,类文件中没有差异。如果您想确定的话,请尝试一下:-)。

附言 通常对于调试来说,关闭优化很有价值。这 确实 会对性能产生影响。



 类似资料:
  • 问题内容: 这可能是一个愚蠢的问题,但是作为PHP的新手,我想知道在HTML模板代码中频繁打开和关闭PHP标签是否存在任何与性能相关的问题,如果是,那么最佳实践是什么?使用PHP标签? 我的问题不是关闭标签的重要性/正确性,或者不是哪种类型的代码比另一种更具可读性,而是关于文档的解析/执行方式及其对性能的影响。 为了说明,请考虑以下两个极端: 混合使用PHP和HTML标签: 分离PHP和HTML标

  • 问题内容: 以下两个循环之间的性能差异(如果有)是什么? 和 问题答案: 版本1.5中引入的for-each循环通过完全隐藏迭代器或index变量,消除了混乱和出错的机会。结果成语同样适用于集合和数组: 当你看到冒号(:)时,将其读为“ in”。因此,上面的循环读为“对于元素中的每个元素e”。请注意,即使对于数组,使用for-each循环也不会降低性能。实际上,在某些情况下,它可能只比普通的for

  • 说到“性能差异”,到目前为止,我还没有读到什么可靠的东西。 基于其官方文档,作为bool查询中使用的筛选器 子句(查询)必须出现在匹配的文档中。但是,与must不同的是,查询的分数将被忽略。筛选子句在筛选上下文中执行,这意味着计分被忽略,子句被考虑用于缓存。 至于常数分数查询 筛选查询不计算相关性得分。为了提高性能,Elasticsearch会自动缓存经常使用的筛选器查询。 QAs我刚刚读到:El

  • 问题内容: 今天,我的一个好朋友问我最新的Go语言和Cython之间的主要区别是什么,后者是Python的一组C扩展。我对Python的了解不多,有人可以告诉我为什么Go比Cython更好/更差吗? 问题答案: Cython并不是传统意义上的语言。它是构建Python扩展程序的预处理器,该扩展程序采用类似Python的语法(实际上,他们力求完全兼容Python)并生成C代码(使用Python C

  • 问题内容: 我正在计算稀疏自动编码器的算法。我已经使用和在python中实现了它。代码几乎相同,但是性能却大不相同。matlab完成任务所需的时间为0.252454秒,而numpy为0.973672151566,几乎是原来的四倍。在最小化问题中,我将在以后多次调用此代码,因此这种差异会导致实现之间的延迟几分钟。这是正常行为吗?如何提高numpy的性能? numpy实现: Sparse.rho是调整

  • 是的,这是一个老话题,但我还是有些困惑。 在爪哇,人们说: LinkedList的插入速度比ArrayList快。这里插入是什么意思?如果这意味着向后移动一些元素,然后将元素放在中间的空点,那么ArrayList应该比LinkedList慢。如果插入只意味着添加(对象)操作,这怎么会慢呢?