http://demin.ws/blog/russian/2012/07/03 … aster-cpp/
  Может ли Java быть быстрее C++?

"Лет несколько назад (~2010) кто-то из буржуев проводил исследование _реальных_ проектов, написанных на ЦПП и жабе. Подчеркну, не кубических дельфинов к серное кислоте, а реальных проектов. Жаба сильно выиграла! Поскольку результат был не вполне очевидный, народ стал разбираться, чем это вызвано."

В момент выполнения имеется/видно гораздо больше информации об обрабатываемых данных.

"виртуальная машина знает аппаратную специфику системы, весь набор команд,
так же она знает наиболее часто используемые ветви исполнения и конкретные
классы объектов из иерархии (для случая полиморфизма), выпиливание
синхронизации если куском кода пользуется только один поток, меняет политики использования
объекта синхронизации в зависимости вида конкуренции между потоками, быстрое
создание объектов - без страха дальнейшей фрагментации heap, работа с учётом Numa."

https://habrahabr.ru/post/305894/
https://habrahabr.ru/post/254831/

"Время работы JIT компилятора не должно учитываться, т.к. в реальных приложениях, которые работают не пару секунд, оно будет занимать доли процента от общего времени работы программы, если оно влияет, то тест не "real world" и бесполезен."

"необходимо полторы тысячи вызовов метода для его генерации в нативный код,
и он должен быть коротким чтобы инлайниться куда-то (около 15 тысяч обращений к методу перед попыткой заинлайнить)"

У меня смутное ощущение, что я не вижу существенной разницы с предлагаемым в Канторе. Разный код для конкретных данных - это как раз та самая частичная специализация по результатам профилирования.

Отредактировано Лис (2017-03-28 11:29:40)