gpt4 book ai didi

java - Java JNI 调用的开销

转载 作者:搜寻专家 更新时间:2023-10-30 21:08:22 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
What makes JNI calls slow?

首先让我说,这个问题更多是出于好奇而不是真正的需要。

我很想知道从 Java 进行 JNI 调用的开销是多少,比如说 System.arraycopy与分配数组并使用 for 循环复制元素相比。

如果开销很大,那么可能有一个粗略的“魔数(Magic Number)”元素,它可以通过简单地使用 for 循环来补偿,而不是使用系统调用。而且,导致这种开销的系统调用到底涉及什么?我猜堆栈必须被推送到调用的上下文中,这可能需要一段时间,但我找不到对整个过程的很好的解释。

让我澄清一下我的问题:

我知道使用 arraycopy 是在 Java 中复制数组的最快方法。

也就是说,假设我正在使用它来复制只有一个元素的数组。由于我正在调用底层操作系统来执行此操作,因此必须在此调用中产生开销。我很想知道这种开销是什么以及调用过程中发生了什么。

如果使用 arraycopy 误导了您提出我的问题,我深表歉意。我很想知道 JNI 调用的开销,以及实际调用中涉及的内容。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com