Профилирование — это неотъемлемая часть любых работ по оптимизации кода или производительности программ. Любой опыт, любые знания в сфере оптимизации производительности, которые уже у вас есть, не принесут особой пользы в том случае, если вы не знаете о том, где их применить. В результате оказывается, что поиск узких мест приложений может помочь в деле решения проблем производительности, поможет сделать это быстро и приложив не слишком много усилий.
Рубрика «Клиентская оптимизация» - 2
Профилирование Python-программ и анализ их производительности
2022-03-21 в 12:58, admin, рубрики: python, Блог компании Wunder Fund, высокая производительность, Клиентская оптимизация, оптимизация, профилирование, разработкаОптимизация использования памяти в Python-приложениях
2022-03-07 в 12:44, admin, рубрики: python, Блог компании Wunder Fund, Клиентская оптимизация, оптимизация, Разработка веб-сайтовПрим. Wunder Fund: мы занимаемся высокочастотной торговлей и это заставляет нас часто думать об оптимизации кода, но в основном, конечно, плюсового. В этой короткой статье описаны несколько подходов к оптимизации Python-программ по памяти. И хотя много проблем можно решить, просто докупив ещё памяти, но не все.
Как одной строкой сделать 24-ядерный сервер медленнее ноутбука
2022-02-01 в 10:39, admin, рубрики: cassandra, Rust, базы данных, бенчмаркинг, Блог компании М.Видео-Эльдорадо, Клиентская оптимизация, мвидео, оптимизация программ, Параллелизм, параллельные вычисления, Серверная оптимизация, ЭльдорадоЛучше учиться на чужих ошибках, поэтому мы в М.Видео-Эльдорадо стремимся изучать зарубежный опыт. Предлагаем и вам посмотреть перевод статьи Петра Колачковского, получившего черный пояс по прокачке производительности своего железа.Читать полностью »
Кратко, но по делу про энергонезависимую память Intel Optane
2022-01-31 в 11:50, admin, рубрики: big data, Анализ и проектирование систем, высокая производительность, Клиентская оптимизация, конфигурация, производительность, сервер, хранение данных, энергонезависимая памятьПоймал себя на ощущении, что очень хочется поделиться своим опытом работы с интеловской энергонезависимой памятью (Intel Optane memory или Intel PMem = persistent memory). Я буду для краткости называть ее ПМем. Думаю, что несмотря на объем продаж в сотни миллионов долларов, пока мало кто с ней сталкивался и знает ее специфику. Я же по долгу службы занимаюсь ей уже довольно продолжительное время и гонял на ней различные приложения и микро-бенчмарки. А также добивался ее эффективного использования модифицируя под нее клиентские коды.
Соседняя очередь всегда движется быстрее
2021-09-23 в 6:08, admin, рубрики: high performance, highload, queues, RabbitMQ, tarantool, tarantool-queue, Анализ и проектирование систем, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, Клиентская оптимизация, очереди, очередь сообщений, СУБДВы не используете очередь? Вы просто не умеете её готовить. Но прежде чем этому научиться, нужно разобраться, что это вообще такое и где это применяется. Потому что большинству достаточно 10 000 запросов в секунду, а это дает любой брокер. Но если вам нужно больше, придется погрузиться в очереди достаточно глубоко.
Расскажу, что такое очереди, зачем они нужны и как работают. На примере нескольких сценариев объясню, как устроены очереди и какие есть решения. Какие у очередей самые распространенные проблемы и как их избежать. В чем отличия брокеров, их плюсы и минусы, и как все это использовать в своих целях.
Неожиданные причины торможения программ и систем
2021-08-17 в 8:16, admin, рубрики: Клиентская оптимизация, компиляция, компоновка, Накопители, оптимизация кода, Программирование, Серверная оптимизация, сжатие данных, торможениеЯ одержим оптимизацией производительности и максимальным повышением эффективности программ. За многие годы я сталкивался с конкретными случаями и распространёнными паттернами, замедляющими работу ПО или компьютеров. В этом посте я расскажу о некоторых из них.
Я назвал пост Surprisingly Slow потому, что замедление было для меня неожиданным, или неоптимальные практики, ведущие к замедлению, настолько распространены, что многие программисты будут удивлены их существованию.
Разделы поста чаще всего никак не связаны друг с другом, поэтому можете выбирать самые интересные для вас.
Читать полностью »
Сравнение производительности CSS и CSS-in-JS в реальном мире
2021-05-15 в 14:01, admin, рубрики: css, javascript, ruvds_перевод, Блог компании RUVDS.com, Клиентская оптимизация, разработка, Разработка веб-сайтовТехнология CSS-in-JS заняла прочное место среди инструментов фронтенд-разработки. И возникает ощущение, что CSS-in-JS-тренд в ближайшем будущем лишь усилится. Особенно — в мире React. Например, в исследовании State of CSS, проведённом в 2020 году, приняли участие 11492 человека. Лишь 14,3% из них не слышали о Styled Components (о ведущей CSS-in-JS-библиотеке). А вот пользовались этой библиотекой более 40% участников исследования.
Мне уже давно хотелось найти серьёзный материал, посвящённый сравнению производительности CSS-in-JS-библиотек, вроде Styled Components, и доброго старого CSS. Но я, к сожалению, ничего такого, вроде сравнения их производительности на реальном проекте, а не на каком-то простом наборе тестов, найти не смог. Поэтому я решил сам сделать такое сравнение. Я перевёл реальное приложение со Styled Components на Linaria, на библиотеку, которая выполняет извлечение CSS в файлы во время сборки проекта. В результате в приложении, использующем Linaria, не выполняется генерирование стилей во время работы этого приложения на компьютере пользователя.
Читать полностью »
Как я сократил время загрузки GTA Online на 70%
2021-03-01 в 13:14, admin, рубрики: GTA Online, GTA V, ITSumma, stack sampling, stackwalker, бенчмарки, Блог компании ITSumma, детектив, Клиентская оптимизация, обратная разработка, Программирование, профилирование, разработка игр, расследование, реверс-инжиниринг, Софт, хэш-таблицаGTA Online. Многопользовательская игра, печально известная медленной загрузкой. Недавно я вернулся, чтобы завершить несколько ограблений — и был потрясён, что она загружается настолько же медленно, как и в день своего выпуска, 7 лет назад.
Пришло время докопаться до сути.
Разведка
Сначала я хотел проверить, вдруг кто-то уже решил проблему. Но нашёл только рассказы о великой сложности игры, из-за чего она так долго загружается, истории о том, что сетевая p2p-архитектура — мусор (хотя это не так), некоторые сложные способы загрузки в сюжетный режим, а потом в одиночную сессию, и ещё пару модов, чтобы скипнуть видео с логотипом R* во время загрузки. Ещё немного почитав форумы, я узнал, что можно сэкономить колоссальные 10-30 секунд, если использовать все эти способы вместе!
Читать полностью »
Максимально оптимизированная веб-загрузка изображений в 2021 году
2021-02-20 в 12:42, admin, рубрики: Блог компании Mail.Ru Group, браузеры, высокая производительность, загрузка картинок, Клиентская оптимизация, никто не читает теги, оптимизация изображений, Разработка веб-сайтов
В этой статье я расскажу про 8 методик оптимизации загрузки изображений, которые уменьшают необходимую пропускную способность сети и нагрузку на процессор при выводе на экран. Приведу примеры аннотированного HTML, чтобы вам было легче воспроизвести. Какие-то методики уже давно известны, а какие-то появились относительно недавно. В идеале, ваш любимый механизм публикации веб-документов (например, CMS, генератор статичных сайтов или фреймворк для веб-приложений) должен всё это реализовывать из коробки.
Читать полностью »
Делаем схему выбора мест в кинозале на React: о canvas, красивом дизайне и оптимизации
2020-12-25 в 14:24, admin, рубрики: canvas, javascript, lifestyle, movies, optimization, PIXI, pixi.js, React, react.js, ReactJS, tinkoff, Блог компании Tinkoff, Клиентская оптимизацияВ богатой экосистеме Тинькофф есть лайфстайл-сервисы. Купить билеты на различные мероприятия - в кино, театры, на концерты, спортивные события можно на https://www.tinkoff.ru/entertainment/, а также в мобильном приложении.
Меня зовут Вадим и я расскажу вам, как мы это делали в команде Развлечений в Тинькофф Банке.