Многие знают Минко Гечева (rhyme.com) по книге «Switching to Angular» и по тексту «Angular Performance-Checklist», помогающему Angular-разработчикам оптимизировать свои проекты. На нашей декабрьской конференции HolyJS 2017 Moscow он тоже развивал тему Angular-производительности, выступив с докладом «Faster Angular applications». А теперь на основе этого выступления мы подготовили хабрапост, переведя все на русский. Добро пожаловать под кат! А если предпочитаете англоязычную видеозапись выступления, прилагаем и ее тоже:
Рубрика «оптимизация» - 20
Ускорение Angular-приложений
2018-04-27 в 15:33, admin, рубрики: angular, holyjs, javascript, Minco Gechev, Блог компании JUG.ru Group, оптимизацияКак оптимизировать энергопотребление в iOS
2018-04-26 в 15:44, admin, рубрики: iOS, Блог компании EPAM, оптимизация, разработка под iOS, энергопотребление
Пользователи устройств под управлением iOS часто жалуются, что аккумулятор быстро разряжается. Когда это происходит? Чаще всего при использовании GPS, но есть и другие причины ускоренного разряда батареи. Например, насыщенный обмен через разные виды приемопередатчиков (сотовая связь, bluetooth) или интенсивная отрисовка графики. Некоторые любители яблочных девайсов грешат на батарею, но часто в быстрой разрядке виноваты разработчики приложений. Пользователям важно, чтобы заряда хватало надолго, поэтому при разработке стоит избегать решений, которые повышают энергопотребление. Но зачем разработчикам вообще думать о том, как долго телефон держит заряд? Чем дольше iPhone включен, тем больше шанс, что пользователь откроет приложение и будет им пользоваться.
Я рассмотрю основные энергопотребители и подходы, которые помогают уменьшить энергопотребление девайса.
Для чего и как проводят backlog grooming в продуктовых командах?
2018-04-26 в 6:35, admin, рубрики: Блог компании Hygger, бэклог, оптимизация, управление продуктами, Управление продуктом, управление проектами, Управление проектом, управление разработкойБэклог продуктовых задач является одним из основных и обязательных артефактов Agile. Фактически, это набор требований, полученных от бизнеса и сформулированных в виде задач для разработки. Что нужно делать для того, чтобы эти задачи всегда были в порядке? И как это связано с концепцией backlog grooming?
Характер Kotlin
2018-04-20 в 12:45, admin, рубрики: java, jvm, kotlin, Блог компании Издательский дом «Питер», оптимизация, Программирование, функциональное программированиеПривет! Надеемся в обозримом будущем и до Kotlin добраться. Мимо этой статьи (февральская) пройти не смогли.
Читаем и комментируем!
Читать полностью »
Насколько быстр AMP на самом деле?
2018-04-11 в 9:05, admin, рубрики: accelerated mobile pages, amp, CDN, html, высокая производительность, кэш Google, оптимизация, Разработка веб-сайтов, Серверная оптимизацияПроект Accelerated Mobile Pages (AMP) от Google вызвал определённый переполох по идеологическим причинам, но саму технологию так и не разобрали подробно. Несколько недель назад Ферди Кристант писал про несправедливое преимущество, которое получает контент AMP за счёт предзагрузки. Это заставило меня задуматься: насколько хорошо AMP работает на самом деле? Я видел тесты как у Ферди, когда сравнивались одна или две страницы, но ещё не встречал всесторонних объективных тестов.
Оценить производительность AMP на самом деле не так просто, чем кажется. Нужно рассмотреть по крайней мере четыре контекста:
5 уроков, которые мы получили, проведя 100500 РК на Facebook
2018-04-05 в 14:03, admin, рубрики: Facebook, Instagram, видео-реклама, интернет-маркетинг, кейс, контент, оптимизация, трафик, Управление продажами, управление проектамиРаботать на рынке интернет-рекламы — это значит постоянно учиться чему-то новому. Появляются новые инструменты, растут бюджеты, расширяются настройки таргетинга, которые помогают нам экспериментировать и запускать масштабные рекламные кампании. Мы учимся, иногда совершаем ошибки, но получаем практический опыт — с каждым разом становимся лучше.
В этой статье мы собрали пять неочевидных уроков, которые преподнес нам рекламный кабинет Facebook и которые, надеемся, будут полезны и вам.
Сетевая оптимизация для Unreal Engine 4
2018-04-02 в 13:06, admin, рубрики: UE4, Unreal Engine, Unreal Engine 4, Блог компании Mail.Ru Group, мультиплеер, онлайн, оптимизация, разработка игр, сеть, танки
Не так давно в официальной группе UE4 в vk я спрашивал, какие темы были бы интересны сообществу, чтобы о них рассказать :) Одним из популярных запросов стала работа с сетью на движке.
В начале я не планировал как-то раскрывать или упоминать эту тему, но потом подумал, что оформить "Best Practices" было бы неплохо даже для себя и своей команды.
Так что, если вам интересно, как мы делали сеть для нашей Armored Warfare: Assault, добро пожаловать под кат.
Разбор перформансных задач с JBreak (часть 4)
2018-03-28 в 10:22, admin, рубрики: double, intrinsic, java, JIT-компилятор, jvm, math, Блог компании Контур, Компиляторы, оптимизация, ПрограммированиеРазбор последней четвёртой задачи:
public double octaPow(double a) {
return Math.pow(a, 8);
}
public double octaPow(double a) {
return a * a * a * a * a * a * a * a;
}
public double octaPow(double a) {
return Math.pow(Math.pow(Math.pow(a, 2), 2), 2);
}
public double octaPow(double a) {
a *= a; a *= a; return a * a;
}
Условие (упрощённо):
Определить, какие методы быстрые, а какие — медленные (JRE 1.8.0_161).
Под катом бенчмарки, куски ассемблера и разбор оптимизаций со стороны JVM.
Другие публикации серии: Часть 1, Часть 2 и Часть 3.
Читать полностью »
Полный перечень intrinsic-функций в HotSpot в JDK 7, 8, 9 и 10
2018-03-27 в 9:39, admin, рубрики: hotspot, intrinsic, java, jit, JIT-компилятор, Компиляторы, оптимизация, ПрограммированиеИнтринсик или intrinsic-функция — функция, которую JIT-компилятор может встроить вместо вызова Java- и JNI-кода с целью оптимизации. Важный вывод из этого — intrinsic-функции не доступны в режиме интерпретатора. По умолчанию в HotSpot используется два JIT-компилятора C1 и C2, таким образом, может быть доступна реализация intrinsic-функции для каждого из JIT-компиляторов. Различия в реализации intrinsic-функций для разных JIT-компиляторов обуславливаются различным внутренним представлением кода (intermediate representation — IR).
В HotSpot реализовано несколько сотен интринсиков (их количество растёт от релиза к релизу). Описание всех intrinsic-функций можно найти в исходниках OpenJDK в файле vmSymbols.hpp
. Ниже приведены полные списки интринсиков для JDK 7 (vmSymbols.hpp), JDK 8 (vmSymbols.hpp), JDK 9 (vmSymbols.hpp) и JDK 10 (vmSymbols.hpp).
Читать полностью »
Оптимизация статического сайта: десятикратное ускорение
2018-03-26 в 10:01, admin, рубрики: Блог компании RUVDS.com, Веб-разработка, Клиентская оптимизация, оптимизация, Разработка веб-сайтовДжонлука Де Каро, автор материала, перевод которого мы сегодня публикуем, однажды оказался в заграничной поездке и захотел показать другу свою личную страничку в интернете. Надо сказать, что это был обычный статический сайт, но, в процессе демонстрации оказалось, что всё работает медленнее, чем можно было бы ожидать.
На сайте не применялось никаких динамических механизмов — там было немного анимации, он был создан с применением методов отзывчивого дизайна, но содержимое ресурса практически всегда оставалось неизменным. Автор статьи говорит, что то, что он увидел, быстро проанализировав ситуацию, буквально привело его в ужас. События DOMContentLoaded
пришлось ждать около 4-х секунд, на полную загрузку страницы ушло 6.8 секунды. В процессе загрузки было выполнено 20 запросов, общий объём переданных данных составил около мегабайта. А ведь речь идёт о статическом сайте. Тут Джонлука понял, что он раньше считал свой сайт невероятно быстрым лишь потому, что привык к гигабитному интернет-соединению с низкой задержкой, используя которое, он, из Лос-Анджелеса, работал с сервером, расположенным в Сан-Франциско. Теперь же он оказался в Италии и воспользовался интернет-соединением на 8 Мбит/с. А это совершенно поменяло картину происходящего.
В этой статье Джонлука Де Каро расскажет о том, как ему удалось ускорить свой статический сайт в десять раз.
Читать полностью »