Эта статья представляет собой формализованный ответ на публикацию на форуме IDZ. Проблема, которую описывал автор исходной публикации, заключалась в том, что производительность работы кода не увеличивалась в достаточной степени при использовании OpenMP на 8-ядерном процессоре E5-2650 V2 с 16 аппаратными потоками. Потребовалось некоторое время на форуме, чтобы помочь автору публикации и предоставить ему необходимые подсказки, однако времени для оптимизации кода было недостаточно. В этой статье описываются дальнейшие методики оптимизации в дополнение к описанным на форуме IDZ.
Рубрика «optimization» - 6
Чистим лук (но не плачем): методики оптимизации
2016-05-24 в 9:51, admin, рубрики: Code for Good, fortran, openmp, optimization, parallel computing, threading, Блог компании Intel, ПрограммированиеФильтруй правильно, или вредные советы по фильтрации в Angular.Js
2016-04-15 в 6:24, admin, рубрики: AngularJS, filters will love you, javascript, optimization, Блог компании Инфопульс Украина, вредные советы, вычислю по айпи, ОЧЕНЬ вредные советы., пятница, разработка, Разработка веб-сайтов, юмор
Всем привет. Эта статья писалась довольно долго, пару раз переписывалась заново, и, в итоге, меня не устроила. Уж слишком менторский получался тон. А тут, вдруг, грядет пятница, конец спринта, и значит, можно расслабиться. И так, не воспринимайте слишком серьезно, всего лишь несколько советов о том, как готовить фильтры в Angular.JS
Кому интересно или хочется немного расслабиться — вперед под кат и всем хорошей пятницы!
Читать полностью »
Вместо тысячи слов…
2016-04-01 в 15:45, admin, рубрики: byyd, mobile, mobile video, optimization, RTB, Блог компании BYYD, мобильный маркетинг, потребительское поведение, советы, тренды
Как быть с клиентами, чтобы они дольше задерживались на сайте? Что им говорить? Как обращаться?Читать полностью »
Будущее — за локацией
2016-03-25 в 15:36, admin, рубрики: advertizing, byyd, mobile, optimization, Блог компании BYYD, локальный маркетинг, мобильная реклама, мобильный маркетинг, тренды
Реклама на основе месторасположения все ощутимее набирает конкурентные преимущества — таков вывод из свежего исследования Forbes Insights совместно с xAd “Локация — императив стратегического маркетинга”. Читать полностью »
Пять шагов по оптимизации производительности приложения для Андроид
2016-03-23 в 9:49, admin, рубрики: android development, optimization, оптимизация, Разработка под android, метки: андроид разработкаВ этой небольшой статье я хочу поделиться с вами опытом, как программно оптимизировать производительность приложения Андроид за 5 простых шагов на примере создания цифровой версии игры «Корона Эмбера».
До создания серьезных приложения со сложной структурой View и Layout'ов мы особо не задумывались над тем, как простые и логичные действия в стиле «смотрите, я набросал дизайн из лэйаутов» могут серьезно замедлить работу всей программы.
Помимо прочего, задача с «Короной Эмбера» осложнялась еще и тем, что игра, которую мы задумали перенести на Андроид платформу, была сама по себе достаточно насыщенной различными компонентами, которые как-то надо было умещать на игровом поле или рядом с ним.
В статье я собрал наш успешный опыт и облёк его в удобную и читабельную форму, полезную для тех, кто все еще гуглит «как программно оптимизировать приложение под Андроид» или «почему мое приложение лагает».
Читать полностью »
JetBrains C++ night: впечатления и записи докладов
2016-03-22 в 15:48, admin, рубрики: C, c++, CLion, google test, high performance computing, optimization, resharper c++, Блог компании JetBrains, высокая производительность, ПрограммированиеПривет!
Буквально на днях мы выпустили очередной релиз CLion 2016.1, нашей кросс-платформенной IDE для разработки на C и C++. Передохнув от релизной суматохи, хотим поделиться впечатлениями о проведенном недавно нами мероприятии, посвященному разработке на C++.
24 февраля этого года в офисе компании JetBrains собралось более 50 человек на мероприятие JetBrains C++ night. Основную часть аудитории составляли C++ разработчики из питерских и не только IT-компаний.
Хотя большую часть времени заняли доклады наших разработчиков, видеозаписи которых опубликованы на нашем канале (см. ссылки ниже), нашей основной целью было неформальное общение с C++ сообществом, которое есть в Питере или приехало поучаствовать в конференции C++ Russia.
В целом, нам кажется, что первый блин вышел не комом, хотя нам есть над чем работать. Главное, нам удалось пообщаться, узнать много интересного, услышать множество пожеланий и вопросов к нашим продуктам, да и просто понять, какой же разработкой занимаются в C++ мире в Питере и в России вообще. Так, например, мы неожиданно для себя получили запрос на поддержку Android проектов на CMake (Android Studio, в которую включена поддержка C++ на базе CLion, CMake не поддерживает; а CLion в свою очередь не имеет сейчас Android поддержки).
Читать полностью »
4 условия идеальной мобильной email-рассылки
2016-03-21 в 16:06, admin, рубрики: advertizing, byyd, mobile, mobile ads, optimization, Блог компании BYYD, мобильная оптимизация, мобильная реклама, потребительское поведение, советы
Несмотря на все прелести современного SMM, email-рассылка продолжает оставаться эффективным способом воздействия на потенциальных клиентов.
Email-платформа Litmus приводит данные о том, что 53% email-рассылок открывают с мобильных девайсов. Открываемость писем Google-почты с мобильных устройств, по сведениям Google, составляет 75% пользователей.
Большинство пользователей читает электронную почту на смартфонах и планшетах. Вы учитываете этот факт при составлении маркетинговой стратегии? Читать полностью »
Как преуспеть в мобильном SEO? Делимся наблюдениями
2016-03-14 в 15:44, admin, рубрики: advertizing, byyd, mobile, optimization, reasearch, Блог компании BYYD, мобильная оптимизация, советы, тренды
В привлечении органического трафика важно не только создать полезный и “вкусный” контент, который пользователи употребят с большим аппетитом. Здесь также важноЧитать полностью »
Топ 6 оптимизаций для netty
2016-02-23 в 10:45, admin, рубрики: Blynk, epoll, IoT, java, netty, openssl, optimizationВсем привет. Эта статья продолжение 10к на ядро с конкретными примерами оптимизаций, которые были проделаны для повышения производительности сервера. С написания первой части прошло уже 5 мес и за это время нагрузка на наш продакшн сервер выросла с 500 рек-сек до 2000 с пиками до 5000 рек-сек. Благодаря netty, мы даже не заметили это повышение (разве что место на диске уходит быстрее).
(Не обращайте внимание на пики, это баги при деплое)
Эта статья будет полезна всем тем кто работает с netty или только начинает. Итак, поехали.
Нативный Epoll транспорт для Linux
Одна из ключевых оптимизаций, которую стоит использовать всем — это подключение нативного Epoll транспорта вместо реализации на java. Тем более, что с netty это означает добавить лишь 1 зависимость:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<version>${netty.version}</version>
<classifier>linux-x86_64</classifier>
</dependency>
и автозаменой по коду осуществить замену следующих классов:
- NioEventLoopGroup → EpollEventLoopGroup
- NioEventLoop → EpollEventLoop
- NioServerSocketChannel → EpollServerSocketChannel
- NioSocketChannel → EpollSocketChannel
Дело в том, что java реализация для работы с не блокирующими сокетами реализуется через класс Selector, который позволяет вам эффективно работать с множеством соединений, но его реализация на java не самая оптимальная. Сразу по трем причинам:
- Метод selectedKeys() на каждый вызов создает новый HashSet
- Итерация по этому множеству создает iterator
- И ко всему прочему внутри метода selectedKeys() огромное количество блоков синхронизации
В моем конкретном случае я получил прирост производительности около 30%. Конечно же, эта оптимизация возможна только для Linux серверов.
Читать полностью »
Google пробил внутреннюю броню Facebook: отныне приложение поддается индексации
2015-11-20 в 15:55, admin, рубрики: Facebook, Google, optimization, Аналитика мобильных приложений, Блог компании BYYD, Исследования и прогнозы в IT, Медиа, медийная рекламаВсемирная социальная сеть №1 разрешит запустить «пауков» Google'а в свое мобильное приложение Facebook для индексирования контента.
Конечно речь идет о публичном контенте: открытые профили, записи, группы, события и т. д. Большая часть информации будет закрыта от «паучков».
Они не будут находить ту информацию, которая доступна только после авторизации в Facebook.