Оптимизация Long.bitCount

У меня есть программа, которая выполняет огромное количество вызовов Long.bitCount (), так много, что на нее уходит 33% циклов. одно ядро ​​процессора. Есть ли способ реализовать его быстрее, чем версия Sun JDK?

Я пробовал:

  • Этот алгоритм (я думаю, именно так его реализует JDK)
  • таблицы поиска различных размеры от 2 8 до 2 22 (просмотр нескольких битов за раз и добавление результатов)

Но я не мог Как еще можно оптимизировать это для Java?


Примечание : этот вопрос касается оптимизации, специфичной для Java, но этот аналогичный (не зависящий от языка) вопрос имеет много других алгоритмов.

26
задан Community 23 May 2017 в 10:31
поделиться