Я разрабатываю реализацию JNI, похожую на sun.misc.Unsafe, но с расширенным управлением памятью.
Как объяснить, что время вызова нативных методов из sun.misc.Unsafe и из моей разработанной библиотеки сильно отличается?
Некоторые номера:
sun.misc.Unsafe.getInt (адрес) занимает ~ 1 нс
когда мой аналогичный метод занимает ~ 10 нс
Обе реализации совершенно одинаковы, следуя исходному коду openJDK, просто возвращайте переменную по указателю. Небезопасно в модуле JNI, зарегистрированном так же, как и другие.
Как ускорить вызов JNI? Что делает Unsafe таким особенным для производительности?
Спасибо,
Юрий /