Как стать автором
Обновить
6
0

Пользователь

Отправить сообщение

Кто-нибудь знает как получать summary из YouTube видео на русском если субтитры есть?

Gemini делает это видео на английском, но не русском.

Всегда интересовал вопрос с публикацией immutable map.

Есть фиксированная map которую я загружаю из файла в начале приложения, а потом много потоком ее читают.

Обычно используют CHM, но можно ли просто взять HashMap (перегрузить модифицируешь методы или завернуть в immutable colletion) и сделать безопасный publish чтобы читатели не брали локи на get как в CHM?

Кажется что если это final map и создается в констукторе то должно работать, но уверености нет.

Очень качественный материал, большое спасибо!

Помню как 5-7+ лет назад читал "what every developer should know about memory", блог Mechanical Sympathy и смотрел видео от Шипелев и Куксенко и пересказы эти видео на хабре.

Но нигде не было такого полного изложения от проблемы до решения, с точки зрения джавы.

Еще раз спасибо!

CPF это твои взносы плюс какой-то процент. Ты просто забираешь свои деньги и если их мало то работай дальше.

К тому же многие сингапурцы любят Таивань и другие соседние страны с низкими ценами. Так что старость встречать люди могут и не в Сингапуре.

До достижения работником возраста 55 лет работодатель перечисляет в CPF 17% его заработной платы, а у самого работника удерживается 20%. 

Важно отметить что есть порог на такие отчисления (около 1000 сингапурских долларов для обоих случаев). Люди с хорошими зарплатами не особо задумываются о потере 1к из зп и сами откладывают на пенсию.

Хотя для многих (водителей такси, обслуживающего персонала) это очень существенная сума.

Я слушал подкаст. История интересная и похвальная, но остаётся несколько вопросов. Автор устал от работы и хотел больше времени, но зачем полностью ее бросать без наличия мысли о более интересной работе, не совсем понятно.

  1. Почему не взять отпуск на год за свой счёт? Это должно работать в больших корпорациях.

  2. Почему не перейти на 3-х дневную рабочую неделю (возможно в IT, но не знаю о остальных отраслях)?

  3. Почему не поменять страну и пойти в стартап, консультантом, и тд. есть разные варианты чтобы освободить время?

Я использую grpc и вижу много непонимания. Многие новички думаю что grpc это больше про перформанс. Много статей/видео где рассказывают о замене REST/web-socket на grpc и выигрыше в скорости (обычно всё без конкретных бенчамарков а сылки на "авторитетный ресурсы").

Проблема в том что у новичков простое мышление - JSON текстовой и нет схемы, значит он больше и медленее protobuf. GRPC использует protobuf, значит он быстрее.

Проблема в том что немногие хорошо разбираются в сетях и упускают протоколы. А сеть обычно занимает намного больше времени чем конвертация данных.

  1. GRPC работает поверх HTTP2, там есть такие вещи как Flow Control например. Они могут поточь с "честностью обслуживания", но за них надо платить и могут быть вам не нужны.

  2. Java GRPC использует использует модную в наши дни реактившину. То есть сообщения при стриминге запрашиваются, по умолчанию, по одному. Насколько это влияет на производительность, легко проверить. Вместо посылке обычного потока (repeated ObjectA), пошлите батчи по 100+ штук (repeated message ObjectList {repeated ObjectA}). В моем случае было ускорение на 30%+ процентов.

Самое обидное что изменять настройки Flow Control и реактившины в java grpc сложно https://github.com/grpc/grpc-java/issues/6696#issuecomment-893935694 (хотя java кажется единственная полностью асинхронная и создавалась для этого). Здесь разработчиками рассказывается что java асинхронная и что flow control можно легко отключить, но про flow control это уже не так https://youtu.be/EEEGBwEA8yA?t=938.

Еще есть странности, grpc HttpOk клиент быстрее дефолтного Netty Client (который использует 90%+ людей). Это пытаются пофиксать, но пока не получается (несколько PR-ов откатывалось https://github.com/grpc/grpc-java/issues/6696).

Про текущие сложности с load-balancing в k8s здесь обсуждать не будем. Их можно обходить, но о самих проблемах мало кто пишет а k8s сейчас везде.

Мое мненине, если вам нужен стриминг (особенно в двух напраляниях), то gprc это надежно и относительно просто. Но не надо ожидать что скорость вырастит в 2-10 раз показано на бенчмарках. Она может даже упасть.

Сказали о JMC и MAT, а в чем главное отличие не сказали. Для меня главное отличие в том что MAT подходит только для статического анализа дампа. С JMC можно увидеть динамику расхода памяти по методам и к тому же по потокам пока программа еще работает. Это функция бывает незаменима.
К слову, Brendan Gregg еще написал крутую книгу «Systems Performance: Enterprise and the Cloud» о анализе производительности систему. Также он разрабатывал DTrace и разрабатывает perf. Благодаря ему появилась возможность легко связать вывод perf-а для java процесса и java код.
Если верить Gil Tene, ycsv страдает от coordinate omission. Это очень заметно при скачках в latency. Хорошее видео от него https://youtu.be/ElbYf2uiPmQ
Спасибо, исправил.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность