如何在 Kotlin 中检测自动装箱和自动取消装箱?

How to detect auto-boxing and auto-unboxing in Kotlin?

提问人:Martin Häusler 提问时间:11/10/2023 更新时间:11/10/2023 访问量:31

问:

我正在开发一个相当低级的 Kotlin JVM 库,该库处理了很多 s 和 .由于我正在处理大量数据,因此保持单个操作的高性能非常重要。我想知道JVM是否(以及在哪里)忙于将原始元自动装箱和自动拆箱到包装器中并返回。使用 Kotlin,编译器隐藏了 和 之间的语法差异,这使得这项工作更加困难。ByteByteArraysbyteBytebyteByte

像 JVisualVM 这样的分析器不会将自动装箱和自动取消装箱显示为单独的操作,它们只是将执行它们到父方法所需的时间归因于“自我时间”,这在本例中没有帮助。

我有哪些选择来了解自动装箱和自动拆箱是否发生/在哪里发生?

Kotlin JVM 分析 基元类型 自动装箱

评论


答: 暂无答案