Size: a a a

Compiler Development

2019 October 09

E

EgorBo in Compiler Development
Alexander Zaitsev
хм... у меня кажется есть идея. а какой там тулчейн в геймдеве сейчас распространён? С++11 есть хотя бы?
язык скриптинга не так важен по хорошему
источник

E

EgorBo in Compiler Development
шейдера, мышкаклик в редакторе, художника-втык
источник

AZ

Alexander Zaitsev in Compiler Development
EgorBo
язык скриптинга не так важен по хорошему
ну так мы не про скриптинг сейчас вроде ведём речь. там же в юнити всё переписывают на шарпик
источник

E

EgorBo in Compiler Development
ну это я так понимаю догфудинг
источник

AZ

Alexander Zaitsev in Compiler Development
и я пытаюсь понять пользу именно вот этого перехода. логику в том же Wargaming пишут на питоне и вроде как я жалоб не слышал
источник

AZ

Alexander Zaitsev in Compiler Development
EgorBo
ну это я так понимаю догфудинг
а что это значит?
источник

AZ

Alexander Zaitsev in Compiler Development
Dollar Føølish
Кек я думал больше
мне всего 22 только исполнилось :)
источник

E

EgorBo in Compiler Development
Alexander Zaitsev
а что это значит?
ну вот у нас в дотнете был кусок кода на С++ ответственный за конвертации числе в строки и назад (там всякие известные алгоритмы, Dragon4 еще что-то, уже не помню)
его переписали на шарп полностью - перф просел, посидели с профиляторами, запилили фичи в джит, оптмизировали кучу мест в бцл - перф сравнился с тем как был == профит
источник

AZ

Alexander Zaitsev in Compiler Development
а в чём профит?
источник

E

EgorBo in Compiler Development
помню еще парень с интересным докладом на внутренней конфе выступал как он с VTune все это профайлил
источник

AZ

Alexander Zaitsev in Compiler Development
в том, что для получения перфоманса, нужно приложить больше усилий? :) или в том, что это помогло найти места, где нужно вам подкрутить?
источник

M

MaxGraey in Compiler Development
EgorBo
ну вот у нас в дотнете был кусок кода на С++ ответственный за конвертации числе в строки и назад (там всякие известные алгоритмы, Dragon4 еще что-то, уже не помню)
его переписали на шарп полностью - перф просел, посидели с профиляторами, запилили фичи в джит, оптмизировали кучу мест в бцл - перф сравнился с тем как был == профит
А почему Grisu3 не использовали?
источник

E

EgorBo in Compiler Development
Alexander Zaitsev
а в чём профит?
в добавленных оптимизациях, который в том числе ускорят юзерский код
а еще - меньше плюсововых интеропов = больше  возможность шарить код между разными рантаймами (а у нас их уже 3 минимум) проще билд (и быстрее)
источник

E

EgorBo in Compiler Development
MaxGraey
А почему Grisu3 не использовали?
это слово там 100% фигурировало
источник

E

EgorBo in Compiler Development
MaxGraey
А почему Grisu3 не использовали?
вспомнил, там наоборот даже предлагали какой-то новый хипстерский алгоритм который в несколько раз быстрее грису
источник

E

EgorBo in Compiler Development
источник

E

EgorBo in Compiler Development
там правда лукап тейблы большие емнип
источник

M

MaxGraey in Compiler Development
Дело в том, что Grisu3 корректен только в 99.5% случаев. А в остальных нужен фолбек на Dragon4 или что то более простое но верное
источник

E

EgorBo in Compiler Development
ну у нас так и написано в рантайме
источник

E

EgorBo in Compiler Development
When calling double.ToString(), try Grisu3 first, if it fails, fall back to Dragon4.
источник