Страницы

Поиск по вопросам

вторник, 18 февраля 2020 г.

Эффективные ли побитовые операции в Java?

#java #производительность #битовые_операции


Если брать нативные языки на подобие "C++" или "C", то там понятен выигрыш в производительности
напрямую играться с регистрами, но если брать язык, где все крутится на виртуалке JVM
- не совсем понятно, в чем мы можем выиграть в производительности и выиграем ли вообще??

Как работают битовые операции под капотом JVM?
Или в джава просто реализованы побитовые операции для лучшей переносимости тех же
алгоритмов например с плюсов или си?

И в каких реальных случаях в java мире нам будет интересно применять на практике
битовые операции?
    


Ответы

Ответ 1



в чем мы можем выиграть в производительности В производительности перед операциями с аналогичными результатами без применения битовых операций. Если вы думаете, что JVM делает всё медленнее, то ведь не только битовые операции страдают, верно? в каких рельных случаях в java мире нам будет интересно применять на практике битовіе операции? В тех же, что и в остальном мире Если брать нативные языки на подобие "с++" или "С" то там понятен выиграш в производительности напрямую игратся с регистрами, но если брать язык где все крутится на виртуалке JVM JVM - это не интерпретатор, это машина, транслирующая java-байткод в машинный код, соответствующий спецификации. В результате битовых операций будут вызываться ровно те же инструкции процессора, что и на ассемблере. Конкретно в самой битовой операции никакой потери производительности нет, основной "замедлитель" относительно условного си - это наличие сборки мусора и присущих stop-the-world пауз.

Комментариев нет:

Отправить комментарий