问题描述
我需要以毫秒 (#.### ms
) 为单位进行准确测量,即空方法运行所需的确切时间,而测量不会影响结果。
通常我会做这样的事情:
long startTime = System.nanoTime();
methodToTime();
long endTime = System.nanoTime();
long duration = (endTime - startTime); //divide by 1000000 to get milliseconds.
这行不通,因为我的代码从不直接调用该方法;它只是定义它。
import org.bukkit.event.Listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
public class BlockListener implements Listener {
@EventHandler(priority = EventPriority.LOWEST,ignoreCancelled = true)
public void onPlace(BlockPlaceEvent event) {
//...
}
}
在我正在研究的这个 Minecraft Bukkit 服务器中的某些方法的上下文中,1ms 很重要,这意味着我需要高精度来测量然后优化对时间敏感的方法。
那么,在方法中添加任何代码肯定会影响方法的运行时吗?
衡量这一点的最佳方法是什么?请和谢谢
使用 ProtocolLib (1.16.5) 运行 Paper/Spigot
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)