Войти через соцсеть:
Войти через email:
Жизненный цикл сервиса в Kubernetes не такой простой, как может показаться. Особенно, если он высоконагруженный. В своем докладе я расскажу, особенности старта, смерти, и жизненного пути при работе сервиса. Расскажу о проблемах, с которыми мы сталкиваемся каждый день и некоторых best practice при написании хорошего микросервиса.
В современном мире трудно представить социальные сети без видеоконтента. Ежедневно пользователи просматривают и делятся видеофайлами с друзьями, родственниками. Но вряд ли они задумываются, какой объем работ скрывается за реализацией всех этих возможностей.
В докладе я расскажу про опыт реализации загрузки, сохранения и обработки видео с использованием библиотеки FFmpeg:
- обсудим, что послужило триггером для начала работ, какие проблемы были подсвечены и как мы планировали их решить;
- проанализируем, что выгоднее: воспользоваться готовыми облачными сервисами или разрабатывать кастомное решение;
- рассмотрим инструменты для реализации необходимого функционала, определимся с хранилищем и схемой хранения данных;
- изучим процесс загрузки исходного видео пользователем в мобильном приложении;
- посмотрим изнутри на процесс обработки видео, использование FFmpeg из .NET приложения.
В .NET JIT-компилятор делает огромное количество работы, чтобы ускорить ваш код: от инлайна и векторизации до escape-анализов и динамического профилирования. Но знаете ли вы, что невинная строчка is T или не sealed-класс могут запретить JIT делать свою магию?
На докладе мы подробно разберём, как работает JIT в .NET, какие оптимизации реально происходят, как мы, разработчики, можем им мешать — или наоборот помогать, и почему это важно для бизнеса и пользователей.
Сессия будет полезна как инженерам, стремящимся понимать внутренности .NET и писать эффективный код, так и тимлидам и архитекторам, выстраивающим инженерную культуру: ведь понимание того, что реально делает JIT, позволяет оптимизировать не вручную, а системно.
Ключевые темы:
- Tiered Compilation: Tier 0 против Tier 1
- PGO (Profile-Guided Optimization), OSR (On-Stack Replacement)
- Инлайнинг, деинлайнинг, развёртка циклов, SIMD
- Devirtualization, sealed, boxing
- Что нового в .NET 6, 7, 8, 9 для JIT
- Roslyn-анализаторы, помогающие писать JIT-friendly код
Целевая аудитория:
Разработчики уровня Middle и выше, технические лиды, архитекторы, преподаватели и инженеры, которым интересно, что происходит под капотом C# и почему код иногда «не летит»