Почему у JVM медленный стартап тайм?
- до прогрева работает интерпретатор байткода
почти у каждого производителя жвма(IBM, Amazon, Oracle) была своя реализация AOT компиляции,
не помогло
- происходит чтение и парсинг всех .class файлов
Решили а шо если запарсить всю структуру зарание, задампать на диск и на старте просто прочитать готовенькое? class data sharing
не помогло
Что же еще там происходит на старте? Оказалось что огромное количество исполнения байткода статических инициализаторов всех стд классов например поднятие с диска всех локалей, датавремя, таймзоны
Даже если эту инициализацию скомпилировать статически это все равно медленно так как непредсказуемо
Проблему решили в GraalVM очень забавно, они просто этого не делают, да в обход спецификации, а когда первый раз понадобится таймзона, только статический инициализатор таймзон и запустят!
Авторы всех АОТ компиляторов кусают теперь локти что не додумались
А также начат Project Leyden по внедлению этой техники в стандарт, но уже с соблюдейнием спецификации https://openjdk.org/projects/leyden/
Можно скачать попробовать билд здесь https://jdk.java.net/leyden/
Так жаба-языки можно будет использовать для написания CLI тулзов и на edge компутинге заместь Go даже без GraalVM и других приседаний!
#JVM
- до прогрева работает интерпретатор байткода
почти у каждого производителя жвма(IBM, Amazon, Oracle) была своя реализация AOT компиляции,
не помогло
- происходит чтение и парсинг всех .class файлов
Решили а шо если запарсить всю структуру зарание, задампать на диск и на старте просто прочитать готовенькое? class data sharing
не помогло
Что же еще там происходит на старте? Оказалось что огромное количество исполнения байткода статических инициализаторов всех стд классов например поднятие с диска всех локалей, датавремя, таймзоны
Даже если эту инициализацию скомпилировать статически это все равно медленно так как непредсказуемо
Проблему решили в GraalVM очень забавно, они просто этого не делают, да в обход спецификации, а когда первый раз понадобится таймзона, только статический инициализатор таймзон и запустят!
Авторы всех АОТ компиляторов кусают теперь локти что не додумались
А также начат Project Leyden по внедлению этой техники в стандарт, но уже с соблюдейнием спецификации https://openjdk.org/projects/leyden/
Можно скачать попробовать билд здесь https://jdk.java.net/leyden/
Так жаба-языки можно будет использовать для написания CLI тулзов и на edge компутинге заместь Go даже без GraalVM и других приседаний!
#JVM
🤯2❤1
Forwarded from Denis Rangelov
Эксперименты Кэссиди Джеймса с акцентными цветами:
This media is not supported in your browser
VIEW IN TELEGRAM
👍1
Внимание! если магическим образом во сне поменять местами сознание и память двух людей, то проснувшись они заметят?
Anonymous Poll
67%
Да
33%
Нет
8%
Рассуждение в комментариях
лучший обзор fallout 1, если пережить крики в начале https://youtu.be/mLJ1gyIzg78
YouTube
Fallout 3 Is Garbage, And Here's Why
This is a review of Fallout 3, featuring retrospectives on the series as a whole, analysis of gameplay and storytelling mechanics, discussion of the games' initial critical reception, and the ability to absorb 1.5 hours of your human life right through the…
Media is too big
VIEW IN TELEGRAM
открыл без плагинов новость
ну это же литерали неюзабельно лол, удачи гуглу с третьей версией манифеста
ну это же литерали неюзабельно лол, удачи гуглу с третьей версией манифеста
😁2😭2🙈1
представим график интересности к бесполезности
самой верхней правой точной на нем будет это видео
https://youtu.be/Ql0VKM7tCCo
ЗЫ это видео про conlang(constructed language), скажем так специально переусложненный, но самое главное что объяснение правил этого языка вплетено в некий сюжет!!!
самой верхней правой точной на нем будет это видео
https://youtu.be/Ql0VKM7tCCo
ЗЫ это видео про conlang(constructed language), скажем так специально переусложненный, но самое главное что объяснение правил этого языка вплетено в некий сюжет!!!
YouTube
Stuck in a World of Twin Languages and 600 Pronouns (CCC3)
This is O'eaiā, my entry to Agma Schwa's 3rd Cursed Conlang Circus! #ccc3 #conlang
I was given permission to publicly release the footage taken during my time learning the most widely spoken language in Dimension 78H. I'll admit, I was rather naive when…
I was given permission to publicly release the footage taken during my time learning the most widely spoken language in Dimension 78H. I'll admit, I was rather naive when…
Компания Nintendo добилась прекращения разработки эмулятора Ryujinx https://opennet.ru/61969/
https://github.com/Ryujinx
https://github.com/Ryujinx
Вопрос знатокам, если в расте есть макросы, вроде как на каком то синтаксическом уровне(лексер?) почему также есть и прагмы вроде дерайв клонабл?
Почему функция clone не макрос принимающий структуру и потрашащий ее нужным образом через кт рефлексию?
Почему функция clone не макрос принимающий структуру и потрашащий ее нужным образом через кт рефлексию?
понадобилось чтото сделать на винде
оказывается для ssl надо пойти руками включить девелопер мод, который кричит на тебя о "expose your device and personal data to security risks"
чето странный экспириенс
https://github.com/Schniz/fnm/issues/338#issuecomment-732337107
Execution failed for task ':setupOpenssl_v3_0'.
> java.nio.file.FileSystemException: cryptography-kotlin\build\tmp\setupOpenssl_v3_0\android-arm32\lib\libssl.so: A required privilege is not held by the client
cryptography-kotlin\build\tmp\setupOpenssl_v3_0\android-arm32\lib\libssl.so: A required privilege is not held by the client
оказывается для ssl надо пойти руками включить девелопер мод, который кричит на тебя о "expose your device and personal data to security risks"
чето странный экспириенс
https://github.com/Schniz/fnm/issues/338#issuecomment-732337107