Java JIT - всё? Берёмся за ум

Siemargl
Дата: 30.05.2017 23:10:54
TL;DR

Мы очень долго пытались всех на%^&ть с JIT, но теперь признаем, что надо просто сделать обычный компилятор

https://habrahabr.ru/company/jugru/blog/329728/

От меня: просто так без жертв не выйдет, как и для NET native, но в целом +...
Roman Mejtes
Дата: 30.05.2017 23:41:48
на SQL.ru модно стало с GT и HABRAHABRA статьи репостить? это вообще соответствует правилам форума?
Siemargl
Дата: 31.05.2017 00:29:58
Roman Mejtes,

Это не репост, и не моя статья.

Да и здесь площадка, для статей, мягко говоря - непригодная. Так что радоваться надо.
Leonid Kudryavtsev
Дата: 31.05.2017 01:00:42
Siemargl
...но теперь признаем, что надо просто сделать обычный компилятор

Вот хорошо бы теперь ссылку на официальный сайт Oracle дать в подтверждение этого высказывания.

А то получается "опять-таки случай так называемого вранья" ( C )
Dima T
Дата: 31.05.2017 07:30:46
Siemargl
Мы очень долго пытались всех на%^&ть с JIT, но теперь признаем, что надо просто сделать обычный компилятор

У JIT тоже есть шанс. 20506460 Случайно выяснилось что на разных процах .NET работает по-разному и даже иногда обгоняет С++.
kealon(Ruslan)
Дата: 31.05.2017 08:10:13
Siemargl
TL;DR

Мы очень долго пытались всех на%^&ть с JIT, но теперь признаем, что надо просто сделать обычный компилятор

https://habrahabr.ru/company/jugru/blog/329728/

От меня: просто так без жертв не выйдет, как и для NET native, но в целом +...

не совсем понятно откуда вырван контекст, там куча презентаций
YuRock
Дата: 31.05.2017 13:32:59
Dima T
Случайно выяснилось что на разных процах .NET работает по-разному и даже иногда обгоняет С++.

А как может платформа быть быстрее языка программирования (на котором, к слову, можно писать программы для этой платформы)? Абсурд какой-то.
Изопропил
Дата: 31.05.2017 14:05:07
YuRock
А как может платформа быть быстрее языка программирования (на котором, к слову, можно писать программы для этой платформы)? Абсурд какой-то.

имеется ввиду сравнение кодогенераторов
Dima T
Дата: 31.05.2017 14:16:31
YuRock
Dima T
Случайно выяснилось что на разных процах .NET работает по-разному и даже иногда обгоняет С++.

А как может платформа быть быстрее языка программирования (на котором, к слову, можно писать программы для этой платформы)? Абсурд какой-то.

Неверно. В итоге все компилируется в машинный код, т.е. в ассемблер. Только по-разному: .NET учитывает особенности конкретного проца, т.к. компиляция идет по месту, а С++ нет, т.к. понятия не имеет где его запустят.
Leonid Kudryavtsev
Дата: 31.05.2017 14:42:50
Dima T
Неверно. В итоге все компилируется в машинный код, т.е. в ассемблер. Только по-разному: .NET учитывает особенности конкретного проца, т.к. компиляция идет по месту, а С++ нет, т.к. понятия не имеет где его запустят.

Еще одно теоретическое достоинство JIT, что он имеет доступ к статистике выполнения кода. Т.е., теоретически, располагает информацией о профиле нагрузки на конкретный код в конкретном алгоритме, что большой плюс. Например можно оптимизировать промахи предсказателя переходов и так далее.

Теоретически, т.к. насколько эффективно это реализовано в JIT-компиляторах - огромный вопрос.