home.social

#профилирование — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #профилирование, aggregated by home.social.

  1. Тихий убийца: Деградация производительности без явных ошибок

    В этой статье мыпопробуем провести небольшое расследование, посвященное тому, как найти и обезвредить «тихого убийцу». В частности, мы на конкретных примерах разберём утечки памяти, фрагментацию дисков, проблему 95-го перцентиля и «зловещую тишину» в логах. А также, рассмотрим инструменты, которые не дадут производительности умереть незаметно.

    habr.com/ru/companies/otus/art

    #troubleshooting #утечки_памяти #производительность #деградация_системы #observability #мониторинг #логирование #трассировка #профилирование #узкие_места

  2. Тихий убийца: Деградация производительности без явных ошибок

    В этой статье мыпопробуем провести небольшое расследование, посвященное тому, как найти и обезвредить «тихого убийцу». В частности, мы на конкретных примерах разберём утечки памяти, фрагментацию дисков, проблему 95-го перцентиля и «зловещую тишину» в логах. А также, рассмотрим инструменты, которые не дадут производительности умереть незаметно.

    habr.com/ru/companies/otus/art

    #troubleshooting #утечки_памяти #производительность #деградация_системы #observability #мониторинг #логирование #трассировка #профилирование #узкие_места

  3. Тихий убийца: Деградация производительности без явных ошибок

    В этой статье мыпопробуем провести небольшое расследование, посвященное тому, как найти и обезвредить «тихого убийцу». В частности, мы на конкретных примерах разберём утечки памяти, фрагментацию дисков, проблему 95-го перцентиля и «зловещую тишину» в логах. А также, рассмотрим инструменты, которые не дадут производительности умереть незаметно.

    habr.com/ru/companies/otus/art

    #troubleshooting #утечки_памяти #производительность #деградация_системы #observability #мониторинг #логирование #трассировка #профилирование #узкие_места

  4. Тихий убийца: Деградация производительности без явных ошибок

    В этой статье мыпопробуем провести небольшое расследование, посвященное тому, как найти и обезвредить «тихого убийцу». В частности, мы на конкретных примерах разберём утечки памяти, фрагментацию дисков, проблему 95-го перцентиля и «зловещую тишину» в логах. А также, рассмотрим инструменты, которые не дадут производительности умереть незаметно.

    habr.com/ru/companies/otus/art

    #troubleshooting #утечки_памяти #производительность #деградация_системы #observability #мониторинг #логирование #трассировка #профилирование #узкие_места

  5. Введение в высокопроизводительные вычисления на С++ для CPU

    " Поскольку вы программист на C++, вероятность того, что вы слегка одержимы производительностью, выше среднего. А если нет, то вы, вероятно, по крайней мере с пониманием относитесь к такой точке зрения. (Если производительность вас совсем не интересует, аудитория Python разработчиков дальше по коридору) " — Из пункта 42 книги С. Майерса “Effective Modern C++”, 2015. Эта заметка описывает мой личный взгляд на то, как писать эффективный и надежный код для CPU. Статья ориентируется на С++, но значительная часть обсуждения CPU, кэшей, паттернов доступа к памяти и профилирования применима к Rust, Go и другим компилируемым языкам. Статья задумана как краткое введение и больше всего подходит студентам, имеющим опыт программирования на занятиях, но не в реальных проектах. Для профессионалов статья может быть полезной в качестве референса, чтобы не пугать новичков чем-то в духе Что каждый программист должен знать о памяти . В статье опишу "набор новичка": godbolt.org, профилирование, бенчмарки, особенности CPU и его взаимодействия с памятью, когда есть ли смысл от асимптотических оптимизаций и почему важно при этом пользоваться санитайзерами, отслеживать coverage и вообще более трепетно относится к надёжности.

    habr.com/ru/articles/1011014/

    #высокопроизводительные_вычисления #cpu #ram #cache #simd #оптимизация #профилирование

  6. Введение в высокопроизводительные вычисления на С++ для CPU

    " Поскольку вы программист на C++, вероятность того, что вы слегка одержимы производительностью, выше среднего. А если нет, то вы, вероятно, по крайней мере с пониманием относитесь к такой точке зрения. (Если производительность вас совсем не интересует, аудитория Python разработчиков дальше по коридору) " — Из пункта 42 книги С. Майерса “Effective Modern C++”, 2015. Эта заметка описывает мой личный взгляд на то, как писать эффективный и надежный код для CPU. Статья ориентируется на С++, но значительная часть обсуждения CPU, кэшей, паттернов доступа к памяти и профилирования применима к Rust, Go и другим компилируемым языкам. Статья задумана как краткое введение и больше всего подходит студентам, имеющим опыт программирования на занятиях, но не в реальных проектах. Для профессионалов статья может быть полезной в качестве референса, чтобы не пугать новичков чем-то в духе Что каждый программист должен знать о памяти . В статье опишу "набор новичка": godbolt.org, профилирование, бенчмарки, особенности CPU и его взаимодействия с памятью, когда есть ли смысл от асимптотических оптимизаций и почему важно при этом пользоваться санитайзерами, отслеживать coverage и вообще более трепетно относится к надёжности.

    habr.com/ru/articles/1011014/

    #высокопроизводительные_вычисления #cpu #ram #cache #simd #оптимизация #профилирование

  7. Введение в высокопроизводительные вычисления на С++ для CPU

    " Поскольку вы программист на C++, вероятность того, что вы слегка одержимы производительностью, выше среднего. А если нет, то вы, вероятно, по крайней мере с пониманием относитесь к такой точке зрения. (Если производительность вас совсем не интересует, аудитория Python разработчиков дальше по коридору) " — Из пункта 42 книги С. Майерса “Effective Modern C++”, 2015. Эта заметка описывает мой личный взгляд на то, как писать эффективный и надежный код для CPU. Статья ориентируется на С++, но значительная часть обсуждения CPU, кэшей, паттернов доступа к памяти и профилирования применима к Rust, Go и другим компилируемым языкам. Статья задумана как краткое введение и больше всего подходит студентам, имеющим опыт программирования на занятиях, но не в реальных проектах. Для профессионалов статья может быть полезной в качестве референса, чтобы не пугать новичков чем-то в духе Что каждый программист должен знать о памяти . В статье опишу "набор новичка": godbolt.org, профилирование, бенчмарки, особенности CPU и его взаимодействия с памятью, когда есть ли смысл от асимптотических оптимизаций и почему важно при этом пользоваться санитайзерами, отслеживать coverage и вообще более трепетно относится к надёжности.

    habr.com/ru/articles/1011014/

    #высокопроизводительные_вычисления #cpu #ram #cache #simd #оптимизация #профилирование

  8. Введение в высокопроизводительные вычисления на С++ для CPU

    " Поскольку вы программист на C++, вероятность того, что вы слегка одержимы производительностью, выше среднего. А если нет, то вы, вероятно, по крайней мере с пониманием относитесь к такой точке зрения. (Если производительность вас совсем не интересует, аудитория Python разработчиков дальше по коридору) " — Из пункта 42 книги С. Майерса “Effective Modern C++”, 2015. Эта заметка описывает мой личный взгляд на то, как писать эффективный и надежный код для CPU. Статья ориентируется на С++, но значительная часть обсуждения CPU, кэшей, паттернов доступа к памяти и профилирования применима к Rust, Go и другим компилируемым языкам. Статья задумана как краткое введение и больше всего подходит студентам, имеющим опыт программирования на занятиях, но не в реальных проектах. Для профессионалов статья может быть полезной в качестве референса, чтобы не пугать новичков чем-то в духе Что каждый программист должен знать о памяти . В статье опишу "набор новичка": godbolt.org, профилирование, бенчмарки, особенности CPU и его взаимодействия с памятью, когда есть ли смысл от асимптотических оптимизаций и почему важно при этом пользоваться санитайзерами, отслеживать coverage и вообще более трепетно относится к надёжности.

    habr.com/ru/articles/1011014/

    #высокопроизводительные_вычисления #cpu #ram #cache #simd #оптимизация #профилирование

  9. Как я дал ИИ-ассистенту доступ к JFR, jcmd и jps через MCP

    Приложение тормозит. Где узкое место? Почему растёт память? Есть ли дедлок? Я написал JavaPerf — MCP-сервер, который даёт ИИ-инструментам прямой доступ к нативным утилитам JDK для профилирования. Без графических интерфейсов, без ручного CLI — только диалог с ассистентом.

    habr.com/ru/articles/1007642/

    #JavaPerf #MCP #JFR #jcmd #jps #профилирование #производительность #диагностика #AI #трассировка

  10. Как я дал ИИ-ассистенту доступ к JFR, jcmd и jps через MCP

    Приложение тормозит. Где узкое место? Почему растёт память? Есть ли дедлок? Я написал JavaPerf — MCP-сервер, который даёт ИИ-инструментам прямой доступ к нативным утилитам JDK для профилирования. Без графических интерфейсов, без ручного CLI — только диалог с ассистентом.

    habr.com/ru/articles/1007642/

    #JavaPerf #MCP #JFR #jcmd #jps #профилирование #производительность #диагностика #AI #трассировка

  11. Как я дал ИИ-ассистенту доступ к JFR, jcmd и jps через MCP

    Приложение тормозит. Где узкое место? Почему растёт память? Есть ли дедлок? Я написал JavaPerf — MCP-сервер, который даёт ИИ-инструментам прямой доступ к нативным утилитам JDK для профилирования. Без графических интерфейсов, без ручного CLI — только диалог с ассистентом.

    habr.com/ru/articles/1007642/

    #JavaPerf #MCP #JFR #jcmd #jps #профилирование #производительность #диагностика #AI #трассировка

  12. Как я дал ИИ-ассистенту доступ к JFR, jcmd и jps через MCP

    Приложение тормозит. Где узкое место? Почему растёт память? Есть ли дедлок? Я написал JavaPerf — MCP-сервер, который даёт ИИ-инструментам прямой доступ к нативным утилитам JDK для профилирования. Без графических интерфейсов, без ручного CLI — только диалог с ассистентом.

    habr.com/ru/articles/1007642/

    #JavaPerf #MCP #JFR #jcmd #jps #профилирование #производительность #диагностика #AI #трассировка

  13. Принципы DOD в C++: Часть 1. Оптимизация структур

    Приветствую всех, кто хочет делать свой код быстрым и оптимальным. В этой статье мы расссмотрим один из способов, как можно просто и легко оптимизировать программу на C++ при работе со структурами/классами, почти не меняя код.

    habr.com/ru/articles/1002408/

    #Профилирование #DOD #C++ #Управление_памятью #alignment #padding

  14. Принципы DOD в C++: Часть 1. Оптимизация структур

    Приветствую всех, кто хочет делать свой код быстрым и оптимальным. В этой статье мы расссмотрим один из способов, как можно просто и легко оптимизировать программу на C++ при работе со структурами/классами, почти не меняя код.

    habr.com/ru/articles/1002408/

    #Профилирование #DOD #C++ #Управление_памятью #alignment #padding

  15. Принципы DOD в C++: Часть 1. Оптимизация структур

    Приветствую всех, кто хочет делать свой код быстрым и оптимальным. В этой статье мы расссмотрим один из способов, как можно просто и легко оптимизировать программу на C++ при работе со структурами/классами, почти не меняя код.

    habr.com/ru/articles/1002408/

    #Профилирование #DOD #C++ #Управление_памятью #alignment #padding

  16. Принципы DOD в C++: Часть 1. Оптимизация структур

    Приветствую всех, кто хочет делать свой код быстрым и оптимальным. В этой статье мы расссмотрим один из способов, как можно просто и легко оптимизировать программу на C++ при работе со структурами/классами, почти не меняя код.

    habr.com/ru/articles/1002408/

    #Профилирование #DOD #C++ #Управление_памятью #alignment #padding

  17. Шпаргалка по поиску узких мест в Linux: топ утилит на все случаи жизни

    Многие уже видели старенькую схему Брендана Грегга, где каждой подсистеме сопоставлены CLI-утилиты. Она правда полезная, но когда «горит», мы бежим в интернет, а не выискиваем систему и команду. В статье я собрал тулзы с картинки, а также добавил опенсорсных утилит, которые пригодятся для мониторинга. Читать

    habr.com/ru/companies/ruvds/ar

    #Linux #администрирование_Linux #DevOps #системное_администрирование #серверное_администрирование #мониторинг #профилирование #VDS #хостинг #ruvds_статьи

  18. Шпаргалка по поиску узких мест в Linux: топ утилит на все случаи жизни

    Многие уже видели старенькую схему Брендана Грегга, где каждой подсистеме сопоставлены CLI-утилиты. Она правда полезная, но когда «горит», мы бежим в интернет, а не выискиваем систему и команду. В статье я собрал тулзы с картинки, а также добавил опенсорсных утилит, которые пригодятся для мониторинга. Читать

    habr.com/ru/companies/ruvds/ar

    #Linux #администрирование_Linux #DevOps #системное_администрирование #серверное_администрирование #мониторинг #профилирование #VDS #хостинг #ruvds_статьи

  19. Шпаргалка по поиску узких мест в Linux: топ утилит на все случаи жизни

    Многие уже видели старенькую схему Брендана Грегга, где каждой подсистеме сопоставлены CLI-утилиты. Она правда полезная, но когда «горит», мы бежим в интернет, а не выискиваем систему и команду. В статье я собрал тулзы с картинки, а также добавил опенсорсных утилит, которые пригодятся для мониторинга. Читать

    habr.com/ru/companies/ruvds/ar

    #Linux #администрирование_Linux #DevOps #системное_администрирование #серверное_администрирование #мониторинг #профилирование #VDS #хостинг #ruvds_статьи

  20. Шпаргалка по поиску узких мест в Linux: топ утилит на все случаи жизни

    Многие уже видели старенькую схему Брендана Грегга, где каждой подсистеме сопоставлены CLI-утилиты. Она правда полезная, но когда «горит», мы бежим в интернет, а не выискиваем систему и команду. В статье я собрал тулзы с картинки, а также добавил опенсорсных утилит, которые пригодятся для мониторинга. Читать

    habr.com/ru/companies/ruvds/ar

    #Linux #администрирование_Linux #DevOps #системное_администрирование #серверное_администрирование #мониторинг #профилирование #VDS #хостинг #ruvds_статьи

  21. [Перевод] Как ускорить Android-приложение с помощью Baseline Profiles

    Android-приложение может быть написано аккуратно и архитектурно выверено, но это не гарантирует быстрый запуск и стабильную работу в проде. Значительная часть задержек рождается на уровне ART: загрузка классов, интерпретация dex-кода, JIT-компиляция «горячих» методов и постоянный сброс прогрева после обновлений. В статье разберём, как Baseline Profiles позволяют управлять install-time оптимизациями, что именно они меняют в жизненном цикле приложения и почему в реальных кейсах это даёт измеримый прирост производительности. Разобрать подход

    habr.com/ru/companies/otus/art

    #android #kotlin #Baseline_Profiles #Android_Runtime #производительность_Android #профилирование #загрузка_классов

  22. [Перевод] Как ускорить Android-приложение с помощью Baseline Profiles

    Android-приложение может быть написано аккуратно и архитектурно выверено, но это не гарантирует быстрый запуск и стабильную работу в проде. Значительная часть задержек рождается на уровне ART: загрузка классов, интерпретация dex-кода, JIT-компиляция «горячих» методов и постоянный сброс прогрева после обновлений. В статье разберём, как Baseline Profiles позволяют управлять install-time оптимизациями, что именно они меняют в жизненном цикле приложения и почему в реальных кейсах это даёт измеримый прирост производительности. Разобрать подход

    habr.com/ru/companies/otus/art

    #android #kotlin #Baseline_Profiles #Android_Runtime #производительность_Android #профилирование #загрузка_классов

  23. [Перевод] Как ускорить Android-приложение с помощью Baseline Profiles

    Android-приложение может быть написано аккуратно и архитектурно выверено, но это не гарантирует быстрый запуск и стабильную работу в проде. Значительная часть задержек рождается на уровне ART: загрузка классов, интерпретация dex-кода, JIT-компиляция «горячих» методов и постоянный сброс прогрева после обновлений. В статье разберём, как Baseline Profiles позволяют управлять install-time оптимизациями, что именно они меняют в жизненном цикле приложения и почему в реальных кейсах это даёт измеримый прирост производительности. Разобрать подход

    habr.com/ru/companies/otus/art

    #android #kotlin #Baseline_Profiles #Android_Runtime #производительность_Android #профилирование #загрузка_классов

  24. [Перевод] Как ускорить Android-приложение с помощью Baseline Profiles

    Android-приложение может быть написано аккуратно и архитектурно выверено, но это не гарантирует быстрый запуск и стабильную работу в проде. Значительная часть задержек рождается на уровне ART: загрузка классов, интерпретация dex-кода, JIT-компиляция «горячих» методов и постоянный сброс прогрева после обновлений. В статье разберём, как Baseline Profiles позволяют управлять install-time оптимизациями, что именно они меняют в жизненном цикле приложения и почему в реальных кейсах это даёт измеримый прирост производительности. Разобрать подход

    habr.com/ru/companies/otus/art

    #android #kotlin #Baseline_Profiles #Android_Runtime #производительность_Android #профилирование #загрузка_классов

  25. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  26. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  27. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  28. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  29. sys.settrace: как устроены дебаггеры, coverage и profilers в Python

    Когда запускаешь pytest --cov код выполняется как обычно, но в конце появляется отчёт о покрытии. Как pytest узнаёт, какие строки выполнились? Ответ в sys.settrace , это низкоуровневый хук, который позволяет перехватывать каждый шаг интерпретатора. На этом механизме построены coverage.py, pdb, PyCharm debugger, hunters, и десятки других инструментов. Разберём, как это работает изнутри и почему трассировка устроена именно так.

    habr.com/ru/companies/otus/art

    #python #трассировка #интерпретатор_CPython #байткод #отладчик #покрытие_кода #профилирование

  30. sys.settrace: как устроены дебаггеры, coverage и profilers в Python

    Когда запускаешь pytest --cov код выполняется как обычно, но в конце появляется отчёт о покрытии. Как pytest узнаёт, какие строки выполнились? Ответ в sys.settrace , это низкоуровневый хук, который позволяет перехватывать каждый шаг интерпретатора. На этом механизме построены coverage.py, pdb, PyCharm debugger, hunters, и десятки других инструментов. Разберём, как это работает изнутри и почему трассировка устроена именно так.

    habr.com/ru/companies/otus/art

    #python #трассировка #интерпретатор_CPython #байткод #отладчик #покрытие_кода #профилирование

  31. sys.settrace: как устроены дебаггеры, coverage и profilers в Python

    Когда запускаешь pytest --cov код выполняется как обычно, но в конце появляется отчёт о покрытии. Как pytest узнаёт, какие строки выполнились? Ответ в sys.settrace , это низкоуровневый хук, который позволяет перехватывать каждый шаг интерпретатора. На этом механизме построены coverage.py, pdb, PyCharm debugger, hunters, и десятки других инструментов. Разберём, как это работает изнутри и почему трассировка устроена именно так.

    habr.com/ru/companies/otus/art

    #python #трассировка #интерпретатор_CPython #байткод #отладчик #покрытие_кода #профилирование

  32. sys.settrace: как устроены дебаггеры, coverage и profilers в Python

    Когда запускаешь pytest --cov код выполняется как обычно, но в конце появляется отчёт о покрытии. Как pytest узнаёт, какие строки выполнились? Ответ в sys.settrace , это низкоуровневый хук, который позволяет перехватывать каждый шаг интерпретатора. На этом механизме построены coverage.py, pdb, PyCharm debugger, hunters, и десятки других инструментов. Разберём, как это работает изнутри и почему трассировка устроена именно так.

    habr.com/ru/companies/otus/art

    #python #трассировка #интерпретатор_CPython #байткод #отладчик #покрытие_кода #профилирование

  33. [Перевод] Как реализовать 5 уровней оптимизации и не сойти с ума

    В этой статье я подробно опишу 5 стадий принятия неизбежного уровней оптимизации. В качестве примера рассмотрим, как я пытался оптимизировать функцию для инструмента командной строки, который я сам и написал I ( monorepo- hash ). Примечание Я не настаиваю на том, что изложенное здесь — 5 священных заповедей инженерии производительноcти, а также не утверждаю, что приведённые здесь приёмы точно соответствуют каким-либо «карьерным уровням». Их можно сравнить просто с вешками на пути. Это всего лишь тот путь, который проделал я сам. Есть в нём доля эго, пару раз я свернул не туда, бывали и случаи «я знаю, как тут срезать дорогу», за которыми сразу следовало раскаяние. Также отмечу, что значительную часть этого CLI я написал при подспорье ИИ-моделей. Считайте, что это лёгкий способ подмечать ошибки и находить, что можно оптимизировать. Кликбейтный заголовок? Что ж, даже, если так — вы же открыли статью, значит, он сработал :)

    habr.com/ru/articles/987098/

    #оптимизация #профилирование #typescript #упражнения

  34. [Перевод] Как реализовать 5 уровней оптимизации и не сойти с ума

    В этой статье я подробно опишу 5 стадий принятия неизбежного уровней оптимизации. В качестве примера рассмотрим, как я пытался оптимизировать функцию для инструмента командной строки, который я сам и написал I ( monorepo- hash ). Примечание Я не настаиваю на том, что изложенное здесь — 5 священных заповедей инженерии производительноcти, а также не утверждаю, что приведённые здесь приёмы точно соответствуют каким-либо «карьерным уровням». Их можно сравнить просто с вешками на пути. Это всего лишь тот путь, который проделал я сам. Есть в нём доля эго, пару раз я свернул не туда, бывали и случаи «я знаю, как тут срезать дорогу», за которыми сразу следовало раскаяние. Также отмечу, что значительную часть этого CLI я написал при подспорье ИИ-моделей. Считайте, что это лёгкий способ подмечать ошибки и находить, что можно оптимизировать. Кликбейтный заголовок? Что ж, даже, если так — вы же открыли статью, значит, он сработал :)

    habr.com/ru/articles/987098/

    #оптимизация #профилирование #typescript #упражнения

  35. [Перевод] Как реализовать 5 уровней оптимизации и не сойти с ума

    В этой статье я подробно опишу 5 стадий принятия неизбежного уровней оптимизации. В качестве примера рассмотрим, как я пытался оптимизировать функцию для инструмента командной строки, который я сам и написал I ( monorepo- hash ). Примечание Я не настаиваю на том, что изложенное здесь — 5 священных заповедей инженерии производительноcти, а также не утверждаю, что приведённые здесь приёмы точно соответствуют каким-либо «карьерным уровням». Их можно сравнить просто с вешками на пути. Это всего лишь тот путь, который проделал я сам. Есть в нём доля эго, пару раз я свернул не туда, бывали и случаи «я знаю, как тут срезать дорогу», за которыми сразу следовало раскаяние. Также отмечу, что значительную часть этого CLI я написал при подспорье ИИ-моделей. Считайте, что это лёгкий способ подмечать ошибки и находить, что можно оптимизировать. Кликбейтный заголовок? Что ж, даже, если так — вы же открыли статью, значит, он сработал :)

    habr.com/ru/articles/987098/

    #оптимизация #профилирование #typescript #упражнения

  36. [Перевод] Как реализовать 5 уровней оптимизации и не сойти с ума

    В этой статье я подробно опишу 5 стадий принятия неизбежного уровней оптимизации. В качестве примера рассмотрим, как я пытался оптимизировать функцию для инструмента командной строки, который я сам и написал I ( monorepo- hash ). Примечание Я не настаиваю на том, что изложенное здесь — 5 священных заповедей инженерии производительноcти, а также не утверждаю, что приведённые здесь приёмы точно соответствуют каким-либо «карьерным уровням». Их можно сравнить просто с вешками на пути. Это всего лишь тот путь, который проделал я сам. Есть в нём доля эго, пару раз я свернул не туда, бывали и случаи «я знаю, как тут срезать дорогу», за которыми сразу следовало раскаяние. Также отмечу, что значительную часть этого CLI я написал при подспорье ИИ-моделей. Считайте, что это лёгкий способ подмечать ошибки и находить, что можно оптимизировать. Кликбейтный заголовок? Что ж, даже, если так — вы же открыли статью, значит, он сработал :)

    habr.com/ru/articles/987098/

    #оптимизация #профилирование #typescript #упражнения

  37. [Перевод] Как снизить хвостовые задержки в Java с помощью ZGC

    Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций. Читать разбор

    habr.com/ru/companies/otus/art

    #Java #JVM #сборка_мусора #ZGC #хвостовые_задержки #latency #профилирование #JFR #производительность_Java

  38. [Перевод] Как снизить хвостовые задержки в Java с помощью ZGC

    Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций. Читать разбор

    habr.com/ru/companies/otus/art

    #Java #JVM #сборка_мусора #ZGC #хвостовые_задержки #latency #профилирование #JFR #производительность_Java

  39. [Перевод] Как снизить хвостовые задержки в Java с помощью ZGC

    Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций. Читать разбор

    habr.com/ru/companies/otus/art

    #Java #JVM #сборка_мусора #ZGC #хвостовые_задержки #latency #профилирование #JFR #производительность_Java

  40. [Перевод] Как снизить хвостовые задержки в Java с помощью ZGC

    Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций. Читать разбор

    habr.com/ru/companies/otus/art

    #Java #JVM #сборка_мусора #ZGC #хвостовые_задержки #latency #профилирование #JFR #производительность_Java

  41. Perfetto в Android-разработке: когда профайлера уже недостаточно

    Perfetto показывает те проблемы с производительностью приложения, которые другой профайлер просто не заметит. И не важно, занят ли процессор системными задачами, когда поток готов работать, или GC блокирует UI на 50 миллисекунд — Perfetto всё подсветит. Ещё не знаете об этом крутейшем инструменте? Тогда эта статья для вас. Привет! Меня зовут Андрей Гришанов. Расскажу вам, что такое Perfetto и как использовать его максимально эффективно. Познакомиться с топовым профайлером

    habr.com/ru/companies/dododev/

    #Android #Perfetto #профилирование #производительность #SQL #оптимизация #трейсинг #debugging #автоматизация #автоматизация_рутины

  42. Perfetto в Android-разработке: когда профайлера уже недостаточно

    Perfetto показывает те проблемы с производительностью приложения, которые другой профайлер просто не заметит. И не важно, занят ли процессор системными задачами, когда поток готов работать, или GC блокирует UI на 50 миллисекунд — Perfetto всё подсветит. Ещё не знаете об этом крутейшем инструменте? Тогда эта статья для вас. Привет! Меня зовут Андрей Гришанов. Расскажу вам, что такое Perfetto и как использовать его максимально эффективно. Познакомиться с топовым профайлером

    habr.com/ru/companies/dododev/

    #Android #Perfetto #профилирование #производительность #SQL #оптимизация #трейсинг #debugging #автоматизация #автоматизация_рутины

  43. Perfetto в Android-разработке: когда профайлера уже недостаточно

    Perfetto показывает те проблемы с производительностью приложения, которые другой профайлер просто не заметит. И не важно, занят ли процессор системными задачами, когда поток готов работать, или GC блокирует UI на 50 миллисекунд — Perfetto всё подсветит. Ещё не знаете об этом крутейшем инструменте? Тогда эта статья для вас. Привет! Меня зовут Андрей Гришанов. Расскажу вам, что такое Perfetto и как использовать его максимально эффективно. Познакомиться с топовым профайлером

    habr.com/ru/companies/dododev/

    #Android #Perfetto #профилирование #производительность #SQL #оптимизация #трейсинг #debugging #автоматизация #автоматизация_рутины

  44. Perfetto в Android-разработке: когда профайлера уже недостаточно

    Perfetto показывает те проблемы с производительностью приложения, которые другой профайлер просто не заметит. И не важно, занят ли процессор системными задачами, когда поток готов работать, или GC блокирует UI на 50 миллисекунд — Perfetto всё подсветит. Ещё не знаете об этом крутейшем инструменте? Тогда эта статья для вас. Привет! Меня зовут Андрей Гришанов. Расскажу вам, что такое Perfetto и как использовать его максимально эффективно. Познакомиться с топовым профайлером

    habr.com/ru/companies/dododev/

    #Android #Perfetto #профилирование #производительность #SQL #оптимизация #трейсинг #debugging #автоматизация #автоматизация_рутины

  45. Работа с JDK Flight Recorder (JFR) из командной строки: инструмент для профилирования без графического интерфейса

    Экосистема Java богата качественными инструментами для разработчиков, и средства профилирования и диагностики - не исключение. Существуют коммерческие профилировщики, есть встроенные инструменты профилирования в ведущих IDE. А если вам важна свобода (или цена является важным фактором), open source сообщество также готово предложить достойные альтернативы. JFR (JDK Flight Recorder) один из ключевых инструментов для диагностики работы Java приложений, который можно эффективно использовать из командной строки. Приёмам работы с этим инструментом я хочу посвятить данную статью.

    habr.com/ru/companies/axiomjdk

    #jfr #jdk #java_fligt_recorder #мониторинг #monitoring #профилирование #profiling #axiomjdk #axiom_jdk #java

  46. Работа с JDK Flight Recorder (JFR) из командной строки: инструмент для профилирования без графического интерфейса

    Экосистема Java богата качественными инструментами для разработчиков, и средства профилирования и диагностики - не исключение. Существуют коммерческие профилировщики, есть встроенные инструменты профилирования в ведущих IDE. А если вам важна свобода (или цена является важным фактором), open source сообщество также готово предложить достойные альтернативы. JFR (JDK Flight Recorder) один из ключевых инструментов для диагностики работы Java приложений, который можно эффективно использовать из командной строки. Приёмам работы с этим инструментом я хочу посвятить данную статью.

    habr.com/ru/companies/axiomjdk

    #jfr #jdk #java_fligt_recorder #мониторинг #monitoring #профилирование #profiling #axiomjdk #axiom_jdk #java

  47. Работа с JDK Flight Recorder (JFR) из командной строки: инструмент для профилирования без графического интерфейса

    Экосистема Java богата качественными инструментами для разработчиков, и средства профилирования и диагностики - не исключение. Существуют коммерческие профилировщики, есть встроенные инструменты профилирования в ведущих IDE. А если вам важна свобода (или цена является важным фактором), open source сообщество также готово предложить достойные альтернативы. JFR (JDK Flight Recorder) один из ключевых инструментов для диагностики работы Java приложений, который можно эффективно использовать из командной строки. Приёмам работы с этим инструментом я хочу посвятить данную статью.

    habr.com/ru/companies/axiomjdk

    #jfr #jdk #java_fligt_recorder #мониторинг #monitoring #профилирование #profiling #axiomjdk #axiom_jdk #java

  48. Работа с JDK Flight Recorder (JFR) из командной строки: инструмент для профилирования без графического интерфейса

    Экосистема Java богата качественными инструментами для разработчиков, и средства профилирования и диагностики - не исключение. Существуют коммерческие профилировщики, есть встроенные инструменты профилирования в ведущих IDE. А если вам важна свобода (или цена является важным фактором), open source сообщество также готово предложить достойные альтернативы. JFR (JDK Flight Recorder) один из ключевых инструментов для диагностики работы Java приложений, который можно эффективно использовать из командной строки. Приёмам работы с этим инструментом я хочу посвятить данную статью.

    habr.com/ru/companies/axiomjdk

    #jfr #jdk #java_fligt_recorder #мониторинг #monitoring #профилирование #profiling #axiomjdk #axiom_jdk #java

  49. [Перевод] Руководство по оптимизации памяти в Unity 6

    Случалось ли вам ловить падение приложения из-за исключения OutOfMemoryException? Управление памятью — важная часть разработки игр, и оно способно сберечь немало нервов. В этом материале разберём, как устроено выделение памяти, как профилировать состояние памяти приложения и как его улучшить. Разобраться в деталях

    habr.com/ru/companies/otus/art

    #геймдев #unity #оптимизация_памяти #профилирование #утечки_памяти #unity_6 #сборщик_мусора #фрагментация_памяти

  50. [Перевод] Руководство по оптимизации памяти в Unity 6

    Случалось ли вам ловить падение приложения из-за исключения OutOfMemoryException? Управление памятью — важная часть разработки игр, и оно способно сберечь немало нервов. В этом материале разберём, как устроено выделение памяти, как профилировать состояние памяти приложения и как его улучшить. Разобраться в деталях

    habr.com/ru/companies/otus/art

    #геймдев #unity #оптимизация_памяти #профилирование #утечки_памяти #unity_6 #сборщик_мусора #фрагментация_памяти