Size: a a a

Compiler Development

2020 June 03

AT

Alexander Tchitchigi... in Compiler Development
Ivan Ugliansky
а почему маловероятно? кажется, что как раз в игре это вполне норм: зашел в новую локацию, оптимизации полетели
Там загрузка ассетов полетит, а оптимизации-то с чего вдруг?
источник

MO

Mar Ort in Compiler Development
Ivan Ugliansky
а почему маловероятно? кажется, что как раз в игре это вполне норм: зашел в новую локацию, оптимизации полетели
Даже если так, это произойдет 1 раз (читай достаточно нечасто) 🙂
источник

MO

Mar Ort in Compiler Development
и да, код-то отрисовки не поменяется, разве что там скрипты на байткоде генерятся для каждой локации свои
источник

IU

Ivan Ugliansky in Compiler Development
Alexander Tchitchigin
Там загрузка ассетов полетит, а оптимизации-то с чего вдруг?
ну может у вас там класс подгрузится новый в иерархию
источник

IU

Ivan Ugliansky in Compiler Development
но я в целом не в курсе, как в играх это принято, может и нет)
источник

AT

Alexander Tchitchigi... in Compiler Development
Ivan Ugliansky
ну может у вас там класс подгрузится новый в иерархию
Звучит сравнительно маловероятно. Плюс, на фоне загрузки ассетов врядли это кто-то заметит.
источник

IU

Ivan Ugliansky in Compiler Development
это да
источник

AD

Artyom Drozdov in Compiler Development
Alexander Tchitchigin
Там загрузка ассетов полетит, а оптимизации-то с чего вдруг?
Например, возможно какой-то участок кода вдруг станет горячим, опять же, при загрузке ассетов
источник

AS

Aleksey Shipilev in Compiler Development
Alexander Tchitchigin
Там загрузка ассетов полетит, а оптимизации-то с чего вдруг?
Хотспот, например, холодные ветки компилирует в трапы :) Взяли холодную ветку, опа! Рекомпиляция.
источник

MO

Mar Ort in Compiler Development
Artyom Drozdov
Например, возможно какой-то участок кода вдруг станет горячим, опять же, при загрузке ассетов
это пока не причина для деоптимизации с STW
источник

AD

Artyom Drozdov in Compiler Development
Mar Ort
это пока не причина для деоптимизации с STW
Ну кажется, да поправит меня Алексей, для рекомриляции таки надо воткнуть треды в safe-point
источник

AT

Alexander Tchitchigi... in Compiler Development
Если речь не про загрузку самой первой локации, мне думается холодные ветки будут активироваться крайне редко...
источник

MO

Mar Ort in Compiler Development
Artyom Drozdov
Ну кажется, да поправит меня Алексей, для рекомриляции таки надо воткнуть треды в safe-point
нет, рекомпиляция вообще паралельный поток с джава-миром. СТВ нужна чтобы обработать спекулятивные тригеры
источник

AT

Alexander Tchitchigi... in Compiler Development
Ну и всё равно же там loading screen — повисит полсекунды подольше, ничего страшного! 😃
источник

AS

Aleksey Shipilev in Compiler Development
Короче, вот сиюминутный кусок Shenandoah GC лога из-под моего десктопного CLion: https://paste.centos.org/view/1a0a5d6c -- там можно увидеть, с какими корнями коллектору где приходится поработать.
источник

AS

Aleksey Shipilev in Compiler Development
Ну и размеры пауз тоже можно прикинуть. (Интересно, сколько FPS делает CLion :D)
источник

AD

Artyom Drozdov in Compiler Development
Aleksey Shipilev
Ну и размеры пауз тоже можно прикинуть. (Интересно, сколько FPS делает CLion :D)
У меня < 1 иногда(
источник

AS

Aleksey Shipilev in Compiler Development
Из лога, кстати, видно, что после укатывания STW-времени на сканирование тредовых корней в ноль мы получаем коллектор, где STW-паузы фактически нужны для глобального рандеву тредов приложения ради согласования общей картины мира (например, переключения на новую фазу сборки, включения/выключения барьеров, слива буферов, и т.п.). И это время будет порядка времени на собственно взятие safepoint-a :)
источник

AK

Andrei Kurosh in Compiler Development
«Во время карантина компиляторный чатик так очистился, что туда вернулся Алексей Шипилёв»
источник

PS

Peter Sovietov in Compiler Development
K R
Это сейчас единственный современный универсальный VLIW процессор?
Да еще и с одним из немногих VLIW-компиляторов :)
По части компиляции для VLIW за последние несколько лет, если не брать совсем специальные процессоры, то вспоминается только VLIW-бекенд на CompCert для процессоров Kalray.
Certified Compiler Backends for VLIW Processors Highly Modular Postpass-Scheduling in the CompCert Certified Compiler
https://hal.archives-ouvertes.fr/hal-02185883/document
источник