Наверняка есть везучие Ruby-разработчики, которые никогда не страдали от проблем с памятью. Но всем остальным приходится тратить невероятно много сил, чтобы разобраться, почему использование памяти вышло из-под контроля, и устранить причины. К счастью, если у вас достаточно современная версия Ruby (начиная с 2.1), то вам доступны замечательные инструменты и методики для решения распространённых проблем. Мне кажется, что оптимизация памяти может приносить радость и удовлетворение, но я могу быть одинок в своём мнении.
Читать полностью »
Рубрика «performance optimization» - 4
Руководство по решению проблем с памятью в Ruby
2016-07-12 в 9:00, admin, рубрики: memory management, performance optimization, profiling, ruby, ruby on rails, Блог компании Mail.Ru Group, Серверная оптимизацияОсобенности работы JIT-компиляторов в HotSpot JVM — встреча с Дагом Хокинсом, Санкт-Петербург
2016-06-25 в 18:09, admin, рубрики: azul, hotspot, java, jit, JUG, jvm, performance optimizationВ четверг, 30 июня, в 20:00, в питерском офисе компании Luxoft состоится встреча JUG.ru с Дагом Хокинсом, JVM-инженером в Azul Systems. Тема встречи — особенности работы JIT-компиляторов в HotSpot JVM.
Язык встречи — английский. Участие — бесплатное. Количество мест ограничено, необходима регистрация по ссылке.
DevConf::Go — 17 июня в Сколково, экслюзивный мастер-класс по Go 18 июня в ТАСС
2016-06-10 в 9:44, admin, рубрики: devconf, Go, golang, highload, performance optimization, Блог компании DevConf, высокая производительность, Программирование Каждый год на DevConf появляются новые лидеры в разработках — в этом годы было много интересных заявок по Go, где разработчики готовы рассказать, как они применяют Go в продакшен. Вам интересено Go? Присоединяйтесь к сообществу Go на 4Gophers.ru
Первый доклад "Prometheus мониторинг от души" представляет Евгений Пак — разработчик с 10 летним опытом работы, Senior Developer Go компании Lazada. Он расскажет об опыте переезда на Prometheus, и почему выбрали именно его, о процессе миграции и о том, как организована инфраструктура для сбора метрик Go приложений. Расскажет о тонкостях вычисления квантилей как на стороне клиента (тип метрик Summary), так и на стороне сервера (тип метрик Histogram). Также вы узнаете о тех нюансах, с которыми столкнулись при работе с Графаной, и как их решили.
О том, как приготовить Go микросервис к продакшену поведает Вадим Мадисон. Доклад о том, что считать готовым к продакшену микросервисом. Как должен быть реализован микросервис, какую функциональность он должен предоставлять, чтобы считать сервис надежным, прозрачным для поддержки и мониторинга. На примере Go-микросервиса будет дан перечень необходимого функционала и рассказаны основные подходы по разработке, деплою и поддержке микросервисов.
Читать полностью »
[СПб, Анонс] Встреча с Андреем Паньгиным — Всё, что вы хотели знать о стек-трейсах и хип-дампах
2016-05-19 в 6:58, admin, рубрики: java, java9, jvm, performance optimization, Блог компании JUG.ru Group, Блог компании Одноклассники, высокая производительность, Серверная оптимизацияВ четверг, 26 мая, в 20:00 в питерском офисе компании Luxoft состоится встреча JUG.ru с Андреем Паньгиным aka apangin, ведущим разработчиком Одноклассников. Тема встречи — особенности JDK, связанные с обходом Heap-a и стеками потоков.
Stack Trace и Heap Dump — не только инструменты отладки, но ещё и дверцы к самым недрам виртуальной машины Java. Презентация посвящена особенностям JDK, так или иначе связанным с обходом хипа и стеками потоков. В её основе лежат популярные вопросы про JVM со StackOverflow и реальные случаи из практики.
- Влияют ли стек-трейсы на производительность?
- Как снимать дампы в продакшне без побочных эффектов?
- Как устроены утилиты jmap и jstack изнутри?
- Почему все профайлеры врут, и как с этим бороться?
- Как сканировать хип средствами JVMTI и Serviceability Agent?
Участие бесплатное, регистрация — ТУТ.
Читать полностью »
Сравнение строк в C# (по умолчанию)
2016-02-02 в 8:59, admin, рубрики: .net, C#, CoreCLR, performance optimization, string, string compression, никто не читает теги, Программирование, работа со строками, строки Часто бывает, что мы соединяем 2 коллекции или группируем коллекцию при помощи LINQ to Objects. При этом происходит сравнение ключей, выбранных для группировки или связывания.
К счастью, стоимость этих операций равна O(n). Но в случае больших коллекций нам важна эффективность самого сравнения. Если в качестве ключей выбраны строки, то какая из реализаций сравнения будет использована по умолчанию, подходит ли эта реализация для ваших строк и можно ли, указав IEqualityComparer<string> явно, сделать эту операцию быстрее?
clients.Join(orders,
c => c.Name,
o => o.ClientName,
(c, o) => CreateOrederDto(c, o));
Как же выбирается реализация компаратора, если пользователь не указал её явно?
Читать полностью »
Ненадёжный Ethernet
2014-11-18 в 13:48, admin, рубрики: 10G switch, ethernet, NetApp, NetApp FAS, optimization, performance, performance optimization, высокая производительность, системное администрирование, хранение данных В продолжение предыдущей статьи "Ethernet & FC", хотел бы дать конкретные рекомендации по оптимизации Ethernet сети для работы с СХД NetApp FAS. Хотя, полагаю, многие вещи описанные здесь могут быть полезны и для других решений.
Читать полностью »
Аппаратное ускорение в жизни верстальщика. Семинар в Яндексе
2014-10-05 в 10:01, admin, рубрики: compositing, css, performance optimization, Блог компании Яндекс, Веб-разработкаПривет! Меня зовут Александр Завьялов. В Яндексе я занимаюсь разработкой интерфейсов. Недавно я выступил перед коллегами с докладом об аппаратном ускорении в жизни верстальщика, где также коснулся смежных тем. Рассказал о производительности веб-страниц, о том, как она измеряется и к чему она может стремиться.
На основе доклада я подготовил этот пост. Я расскажу о том, как браузеры оптимизировали процесс отрисовки: с чего начинали и до чего докатились. Что сейчас можно сделать, чтобы жизнь верстальщиков и пользователей стала немного лучше. Я надеюсь, что кого-нибудь натолкну на какие-нибудь улучшения. Мне бы это было приятно.
Читать полностью »
Как мы увеличили скорость генерации JSON в 6000 раз
2014-06-18 в 22:34, admin, рубрики: json, performance optimization, ruby, ruby on rails, ruby on rails 4, Блог компании Staply, метки: json, performance optimization, ruby on rails 4Краткий обзор способов формирования JSON
На сегодняшний день в Rails имеются следующие способы сериализации объектов в JSON:
- Вызов to_json() напрямую.
- RABL
- Active model serializers
- JBuilder
Заметки для менеджеров по продажам в веб-студии или «О бедном маркетологе замолвите слово»
2014-03-18 в 13:19, admin, рубрики: cpc, performance analysis, performance optimization, seo, smm, Веб-разработка, маркетинговый анализ, Оценка и экспертиза IT-проектов, продажи в веб-студии, метки: cpc, performance analysis, performance optimization, seo, smm, маркетинговый анализ, продажи в веб-студииПредисловие:
Всё изложенное ниже не является единственно верной точкой зрения, а только лишь какого-то рода шпаргалкой для автора, которому необходимо было провести серию семинаров для сотрудников отдела продаж в компании по разработке программного обеспечения. Также эта статья может быть полезна руководителям небольших аутсорсинговых компаний, к которым клиенты приходят с похожими запросами.
Многие из этих вопросов кажутся настолько очевидными, что их редко озвучивают специалистам, которые являются связующим звеном между компанией и будущим клиентом, но на практике именно эти специалисты зачастую не подозревают, что еще на этапе подписания контракта можно оградить будущий проект от массы проблем.
ОБЩАЯ ИДЕЯ:
Всё чаще заказчики, приходя в компанию за разработкой каких-либо продуктов или сервисов, желают получить не просто готовый продукт “под ключ”, но и подготовить всё для последующего маркетингового продвижения своего детища (Internet marketing: SEO, SMM, Email Marketing, etc.)
Однако, очень часто сам заказчик не знает или неправильно понимает, какие задачи ему предстоит решать в последствии. И что их нужно решать сообща с маркетологами чтоб добиться продвижения своего продукта или сервиса.
Соответственно, первоначальной задачей продавца (Sales Manager) в этой ситуации будет рассказать о методах и инструментах продвижения. Но стоит указать, что чтобы сделать осознанный выбор тех или иных методов либо же целого комплекса мероприятий, необходимо провести серию аудитов. Это будут аудиты технической части проекта, рынка существующих предложений и конкуренции. После этого можно более осознано выбрать технологии для будущего продукта.
Читать полностью »
Аппаратное ускорение рендеринга в браузере Chrome
2013-11-16 в 9:29, admin, рубрики: css, Google Chrome, javascript, performance optimizationВведение
Для большинства веб-разработчиков фундаментальным представлением веб-странницы является DOM. В то время как процесс преобразования этого представления в изображение на экране (далее рендеринг) часто покрыто пеленой непонимания. В последние годы разработчики браузеров активно оптимизируют этот процесс, перекладывая часть работы на плечи графических процессоров: то что называется “аппаратным ускорением (hardware acceleration)”. Мы рассмотрим рендеринг в контексте обычных страниц, исключая Canvas2D и WebGL. Эта статья попытается пролить свет на фундаментальную концепцию использования аппаратного ускорения при генерации изображения веб-контента в браузере Chrome.
Читать полностью »