Ну что, не особо приятно это признавать, но, кажется, сегодня я таки достиг возраста Христа. А что это значит? Что до пасхи стоит по возможности избегать крестов и гвоздей. (ха-ха, а как ты себе это представляешь, умник? в следующем семестре ты ведешь курс по C++)
В целом год был скорее кризисным, вопросов к своей жизни у меня, возможно, больше, чем когда-либо, но что точно понятно: хорошего в этот год было все же больше, чем плохого. Всем спасибо, что терпите меня, и как обычно: дальше будет лучше и круче 🎉
В целом год был скорее кризисным, вопросов к своей жизни у меня, возможно, больше, чем когда-либо, но что точно понятно: хорошего в этот год было все же больше, чем плохого. Всем спасибо, что терпите меня, и как обычно: дальше будет лучше и круче 🎉
Много ли нужно преподу-миллениалу для счастья? Толпы студентов, устроивших ему сюрприз на следующий день после др и подаривших ему палочку Люпина, вполне хватит :)
Спасибо всем большое! ❤️ Обещаю не использовать для непростительных заклятий (ну может только в самом крайнем случае, вы понимаете).
С учетом маховика времени меня теперь вообще не остановить.
Спасибо всем большое! ❤️ Обещаю не использовать для непростительных заклятий (ну может только в самом крайнем случае, вы понимаете).
С учетом маховика времени меня теперь вообще не остановить.
Время от времени вижу обсуждение в разных чатах, мол, что лучше выбрать: JIT (компилируем код в машинный во время работы приложения, т.е. на лету) или AOT (компилируем все или почти все заранее)? Обычно в контексте Java и GraalVM.
Многие люди, которые в этих спорах участвуют, либо плохо себе представляют, что такое AOT для Java, либо не совсем объективны. Я раньше тоже был в похожем положении и подсознательно топил за AOT (мы то делали именно его). Но теперь то это все дела давно минувших дней, так что я стал чуть объективнее.
Поэтому напишу простую схему принятия решения о том, какой режим исполнения лучше брать, как я это вижу по своему опыту.
—
Рассмотрим мифическую VM, где есть классный tiered JIT, классный AOT, и классный режим AOT + PGO (оптимизации в AOT с учетом заранее собранной информации о профиле). Тогда по факту есть всего три с половиной параметра, на которые нужно смотреть:
0) Время старта приложения – самое важное для вас, а пиковая производительность не важна? (да → берите AOT, нет → идем дальше),
1) Характер профиля исполнения. Есть ли в нем очевидные спайки, супер-горячие методы? Или же он плоский, все методы работают приблизительно одинаково часто, а код весь теплый? (профиль плоский → берите AOT, нет → идем дальше),
2) Меняется ли профиль во время исполнения приложения? Или же спайки всегда постоянные? (профиль постоянный → берите AOT с PGO; профиль изменчивый, или вы не знаете → берите JIT),
3) Вы выбрали JIT, но мучают постоянные, повторяющиеся деоптимизации? (вы это отпрофилировали и осознали). Возвращайтесь на AOT и радуйтесь глобальным оптимизациям.
—
Куча но:
1) может вам важнее ease of use и время разработки => забываем про AOT (или собираем им только финальные билды). Собирать большое приложение AOT-ом часами, это норма, нужно быть готовым страдать,
2) может вы шипаете на какую-нибудь архитектуру с редкими фичами и инструкциями, используя которые, JIT может дать потрясающий перфоманс, а AOT не может (т.к. не знает про них заранее), тогда берите JIT,
3) может у вас нет хорошего AOT, а профит от него очень хочется, тогда можно повставлять подпорки в JIT-ы типа CRaC-а,
—
Ну и главный совет: не слушайте советов из интернета. Возьмите и померьте свое конкретное приложение собранное AOT-ом или запущенное с JIT-ом. Какой будет стартап? Какой пиковый перфоманс? Идут ли потом деоптимизации? И вот основываясь на реальной информации и цифрах (на которые может повлиять миллион факторов, о которых я тут не говорю), уже делайте вывод.
#дух_машины
Многие люди, которые в этих спорах участвуют, либо плохо себе представляют, что такое AOT для Java, либо не совсем объективны. Я раньше тоже был в похожем положении и подсознательно топил за AOT (мы то делали именно его). Но теперь то это все дела давно минувших дней, так что я стал чуть объективнее.
Поэтому напишу простую схему принятия решения о том, какой режим исполнения лучше брать, как я это вижу по своему опыту.
—
Рассмотрим мифическую VM, где есть классный tiered JIT, классный AOT, и классный режим AOT + PGO (оптимизации в AOT с учетом заранее собранной информации о профиле). Тогда по факту есть всего три с половиной параметра, на которые нужно смотреть:
0) Время старта приложения – самое важное для вас, а пиковая производительность не важна? (да → берите AOT, нет → идем дальше),
1) Характер профиля исполнения. Есть ли в нем очевидные спайки, супер-горячие методы? Или же он плоский, все методы работают приблизительно одинаково часто, а код весь теплый? (профиль плоский → берите AOT, нет → идем дальше),
2) Меняется ли профиль во время исполнения приложения? Или же спайки всегда постоянные? (профиль постоянный → берите AOT с PGO; профиль изменчивый, или вы не знаете → берите JIT),
3) Вы выбрали JIT, но мучают постоянные, повторяющиеся деоптимизации? (вы это отпрофилировали и осознали). Возвращайтесь на AOT и радуйтесь глобальным оптимизациям.
—
Куча но:
1) может вам важнее ease of use и время разработки => забываем про AOT (или собираем им только финальные билды). Собирать большое приложение AOT-ом часами, это норма, нужно быть готовым страдать,
2) может вы шипаете на какую-нибудь архитектуру с редкими фичами и инструкциями, используя которые, JIT может дать потрясающий перфоманс, а AOT не может (т.к. не знает про них заранее), тогда берите JIT,
3) может у вас нет хорошего AOT, а профит от него очень хочется, тогда можно повставлять подпорки в JIT-ы типа CRaC-а,
—
Ну и главный совет: не слушайте советов из интернета. Возьмите и померьте свое конкретное приложение собранное AOT-ом или запущенное с JIT-ом. Какой будет стартап? Какой пиковый перфоманс? Идут ли потом деоптимизации? И вот основываясь на реальной информации и цифрах (на которые может повлиять миллион факторов, о которых я тут не говорю), уже делайте вывод.
#дух_машины
Как же мне повезло, конечно, что у меня есть такая крутая старшая сестра ❤️
Тем, у кого братьев/сестер вообще нет, или они только младшие (как я), или они не такие классные, сочувствую, конечно, не повезло.
Тем, у кого братьев/сестер вообще нет, или они только младшие (как я), или они не такие классные, сочувствую, конечно, не повезло.
YouTube
Один ребенок в семье - плохо! Ваня Усович
Все стендап Шортс:https://www.youtube.com/playlist?list=PLH6LJBZRa5LortcEwhnJN66qO2k0pOrx0
В смысле, как это, главный герой четвертого ведьмака – Цири? Обещали же полностью новую историю!
И глаза, почему у нее ведьмачьи глаза? И как она пьет зелья? Она же не ведьмак, не проходила испытание травами! И почему медальон какой-то другой? Ничего непонятно, совсем.
Ох, лучше бы закопали они уже эту стюардессу, конечно. По тому же миру можно было бы реально классную новую историю рассказать.
https://www.youtube.com/watch?v=54dabgZJ5YA
И глаза, почему у нее ведьмачьи глаза? И как она пьет зелья? Она же не ведьмак, не проходила испытание травами! И почему медальон какой-то другой? Ничего непонятно, совсем.
Ох, лучше бы закопали они уже эту стюардессу, конечно. По тому же миру можно было бы реально классную новую историю рассказать.
https://www.youtube.com/watch?v=54dabgZJ5YA
YouTube
The Witcher IV — Cinematic Reveal Trailer | The Game Awards 2024
No Gods, Only Monsters
The Witcher IV is an upcoming single-player open-world RPG from CD PROJEKT RED, the creators of Cyberpunk 2077 and The Witcher 3: Wild Hunt. The beginning of a new saga, and a follow-up to one of the most acclaimed RPGs of all time…
The Witcher IV is an upcoming single-player open-world RPG from CD PROJEKT RED, the creators of Cyberpunk 2077 and The Witcher 3: Wild Hunt. The beginning of a new saga, and a follow-up to one of the most acclaimed RPGs of all time…
Раз уж нас сегодня такой день Ведьмака, то давайте разберемся раз и навсегда:
Anonymous Poll
37%
Йеннифэр 🦄
20%
Трисс 🔥
9%
Шани 👩⚕️
34%
Что?
Давненько не бегал половинку один: не на массовых забегах (там адреналин помогает), не с кем-то вместе (там стремно перед товарищем не добежать), а вот именно в одного.
Бежишь такой наедине со своими мыслями и музыкой, смотришь, как сменяются километры… хорошо на самом деле. Хотя и замотивировать себя на такое мне гораздо сложнее.
Темп сегодня, конечно, получился так себе, зато неплохой набор высоты и отсутствие остановок) В общем: лапищи мощны, колени не болят, все прекрасно!
P.S. как-нибудь напишу пост про топ-5 крутейших моих пробежек по красивейшим местам, вдруг кого замотивирует начать бегать 🏃♂️
Бежишь такой наедине со своими мыслями и музыкой, смотришь, как сменяются километры… хорошо на самом деле. Хотя и замотивировать себя на такое мне гораздо сложнее.
Темп сегодня, конечно, получился так себе, зато неплохой набор высоты и отсутствие остановок) В общем: лапищи мощны, колени не болят, все прекрасно!
P.S. как-нибудь напишу пост про топ-5 крутейших моих пробежек по красивейшим местам, вдруг кого замотивирует начать бегать 🏃♂️
Не делал так со студенчества (интересно, почему?), а в этот раз таки решил отпраздновать свой день рождения. Если захотите поздравить, ну или просто увидеться, поболтать (или даже выпить), забегайте в среду 18-ого числа вечером в бар Soft Hard в Академе, буду там, начиная с 8 вечера!
Вообще, было бы удобно, если бы люди как-то заранее указывали, как именно к ним лучше обращаться по имени. Не в смысле местоимений, а вот именно форма имени. При том обращение ведь может быть супер контекстно-зависимым.
Мне, например, не нравится, когда ко мне на работе обращаются по полному имени "Иван" (слишком официально, сразу хочется с этим человеком порешать бизнес-вопросики, ударить по рукам и разойтись). С другой стороны, в универе, например, это самое подходящее обращение. Скорее холодно отношусь к обращению по фамилии: ну, фамилия то мне моя нравится, но чувствую некоторую враждебность именно в таком обращении. А китайцы вон вообще все время путают имя и фамилию. И это у меня еще все супер просто в плане нейминга, одно из самых простых имен!
Меня всегда ставят в ступор Владимиры: когда хочешь сбавить градус официальности надо переходить на "Вова" или "Володя"? Еще хуже с Виталиями и Георгиями. Понятно, что все это решается прямым вопросом, особенно в баре, но все-таки часто первичной неловкости не избежать.
Мне, например, не нравится, когда ко мне на работе обращаются по полному имени "Иван" (слишком официально, сразу хочется с этим человеком порешать бизнес-вопросики, ударить по рукам и разойтись). С другой стороны, в универе, например, это самое подходящее обращение. Скорее холодно отношусь к обращению по фамилии: ну, фамилия то мне моя нравится, но чувствую некоторую враждебность именно в таком обращении. А китайцы вон вообще все время путают имя и фамилию. И это у меня еще все супер просто в плане нейминга, одно из самых простых имен!
Меня всегда ставят в ступор Владимиры: когда хочешь сбавить градус официальности надо переходить на "Вова" или "Володя"? Еще хуже с Виталиями и Георгиями. Понятно, что все это решается прямым вопросом, особенно в баре, но все-таки часто первичной неловкости не избежать.