Это вторая статья из серии статей об оптимизации кода. Из первой мы узнали, как находить и анализировать узкие места в коде, снижающие производительность. Мы предположили, что главная проблема в примере — медленное обращение к памяти. В этой статье рассмотрим, как снизить расходы при работе с памятью, а следовательно, и увеличить скорость программы.
Рубрика «оптимизация» - 23
Профилирование: оптимизация
2018-03-19 в 13:32, admin, рубрики: c++, Блог компании Mail.Ru Group, никто не читает теги, оптимизация, отладка, Программирование, профилирование, разработка игрЧто двигает ИТ в бизнесе: трамплины и препятствия
2018-03-16 в 12:43, admin, рубрики: бизнес-модели, виртуалиация, виртуализация, гибридные облака, ит, мобильность, облачный трафик, оптимизация, приложения, развертывание, Сетевые технологии, системное администрирование, централизацияПо некоторым данным глобальный облачный трафик к 2021 г. достигнет 95% совокупного трафика ЦОД. Экономическая ситуация, а также закон о хранении персональных данных российских граждан на территории РФ стимулирует развитие и отечественных дата-центров, рост бизнеса облачных провайдеров. Многие наши компании, тем временем, находятся только в самом начале пути и быстро теряются в многообразии различных технических возможностей. С одной стороны, они понимают, что облачные решения и корпоративная мобильность поддержат их бизнес без лишних затрат. С другой стороны, они беспокоятся о защите данных, что тоже правильно. Как использовать технологии безопасно и эффективно — рассказываю в своём пробном материале. Прошу к чтению!
Почему программистам нужны ограничения
2018-01-05 в 7:42, admin, рубрики: Карьера в IT-индустрии, многопоточное программирование, многоядерные процессоры, оптимизация, Программирование, функциональное программирование
Мы родились в культуре с девизом «Никаких границ» или «Раздвигай границы», но на самом деле границы нам нужны. С ними мы становимся лучше, но это должны быть правильные границы.
Цензура ради качественной музыки

Когда перед нами встают внешние ограничения того, что можно сказать в песне, книге или фильме, то для передачи нужного смысла авторы должны использовать метафоры.
Читать полностью »
Как прочитать большой файл средствами PHP (не грохнув при этом сервак)
2017-12-18 в 20:14, admin, рубрики: highload, memory management, php, высокая производительность, оптимизация, Серверная оптимизация, файлыПеревод статьи Christopher Pitt.
PHP разработчикам не так уж часто приходится следить за расходом памяти в своих приложениях. Сам движок PHP неплохо подчищает мусор за нами, да и модель веб-сервера с контекстом исполнения, "умирающим" после выполнения каждого запроса, позволяет даже самому плохому коду не создавать больших долгих проблем.
Однако, в некоторых ситуациях, мы можем столкнуться с проблемами нехватки оперативной памяти — например, пытаясь запустить композер на маленьком VPS, или при открытии большого файла на сервере не богатом ресурсами.
Последняя проблема и будет рассмотрена в этом уроке.
Решение задачи оптимизации многоступенчатых ракет
2017-12-10 в 13:10, admin, рубрики: python, scipy. optimize, математика, многоступенчатая ракета. библиотека, оптимизация, разработка под windows, функция целиВведение
Методы нелинейной оптимизации широко применяются при проектировании машин и механизмов. Указанные методы применяются и в ракетостроении, например, для оптимизации многоступенчатых ракет [1].
Многоступенчатая ракета — это аппарат, в котором части конструкции отделяются во время полета, придавая оставшейся части ракеты дополнительную скорость. Трёхступенчатая ракета схематически показана на рисунке.
По мере движения ракеты, ступени отделяются до тех пор, пока не останется главная часть ракеты, несущая полезную нагрузку. Задача оптимизации ракеты состоит в таком распределении веса по ступеням, при котором определенная целевая функция достигает максимального либо минимального значения.
Мы рассмотрим две задачи в предположении, что коэффициент и скорость реактивной струи Cn постоянны на каждой ступени, однако на разных ступенях могут принимать различные значения. В обеих задачах в качестве целевой функции принят коэффициент полезной нагрузки ракеты G, который необходимо минимизировать.
Характеристики многоступенчатой ракеты можно описать двумя уравнениями. Первое уравнение для коэффициента полезной нагрузки ракеты:
где: W1– полезный вес ракеты ;WN –начальный вес ракеты до отделения ступеней.
Читать полностью »
Apache Kafka и миллионы сообщений в секунду
2017-11-22 в 4:50, admin, рубрики: Apache, apache kafka, Producer, Блог компании Tinkoff.ru, задержка, оптимизация, производительность, пропускная способность, Системы обмена сообщениями
Мы в компании любим и уважаем Apache Kafka, и в ознаменование выхода ее недавнего обновления я решил подготовить статью про ее производительность. А еще рассказать немного про то, как выжать из нее максимум.
Читать полностью »
Оптимизация портфеля ценных бумаг средствами Python
2017-11-08 в 22:28, admin, рубрики: python, акции, бизнес-модели, математика, оптимизация, портфель ценных бумаг, разработка под windowsВведение
На финансовом рынке обращается, как правило, несколько типов ценных бумаг: государственные ценные бумаги, муниципальные облигации, корпоративные акции и т.п.
Если у участника рынка есть свободные деньги, то их можно отнести в банк и получать проценты или купить на них ценные бумаги и получать дополнительный доход. Но в какой банк отнести? Какие ценные бумаги купить?
Ценные бумаги с низкими рисками, как правило, малодоходны, а высокодоходные, как правило, более рискованны. Экономическая наука может дать некоторые рекомендации для решения этого вопроса, но для этого необходимо иметь соответствующие программные средства, желательно с простым интерфейсом и бесплатные.
Программные средства для анализа портфелей ценных бумах должны работать с матрицами доходности и решать задачи нелинейного программирования с ограничениями в виде строгих и нестрогих неравенств. Символьное решение на Python некоторых типов задач нелинейного программирования мною уже рассматривалось в публикации [1]. Однако, применить предложенные в указанной публикации методы для анализа портфеля ценных бумаг нельзя из-за ограничений в виде строгих неравенств.
Целью настоящей публикации является разработка методов оптимизации портфелей ценных бумаг с использованием библиотеки scipy.optimize. Пришлось исследовать и применить при программировании такие мало известные возможности указанной библиотеки, как введение дополнительных ограничений в функцию цели [2].
Читать полностью »
Оптимизация ставок: зависимость между ценой клика и установленной ставкой
2017-11-01 в 14:48, admin, рубрики: Calltouch, Блог компании Calltouch, конверсии, контекстная реклама, маркетинг, математика, оптимизация, Повышение конверсииСегодня мы снова поговорим о конверсиях. А именно о доказательствах того, что при определенных предположениях о зависимости между ценой клика () и установленной ставкой (
), а также о зависимости между
и количеством кликов (
), для стратегии оптимизации «максимум конверсий при фиксированной целевой стоимости конверсии (например,
)», оптимальная ставка по ключевой фразе пропорциональна произведению коэффициента конверсии по фразе (
) на целевую стоимость конверсии
, то есть:
Само по себе правило оптимизации:
SQL Server: Производительность при вставке данных в таблицу с кластеризованным индексом и без
2017-10-16 в 13:52, admin, рубрики: index, Microsoft SQL Server, optimization, performance, sql, sql server, tunning, базы данных, индексы, оптимизация, производительностьПривет! Представляю вашему вниманию перевод статьи SQL Server Insert Performance for Clustered Indexes vs. Heap Tables
Вопрос
Я прочел множество различной документации по современным методам работы с SQL Server, утверждающей, что каждая таблица должна иметь кластеризованный индекс и не быть кучей с некаластеризованными индексами. Большинство источников отмечает административную выгоду от использования кластеризованных индексов. Но есть ли в этом какое-то влияние на производительность и другие положительные или отрицательные стороны?
Читать полностью »
Django ORM — медленный? Оптимизируем (хардкорно)
2017-10-05 в 12:17, admin, рубрики: django, lazy evaluation, orm, python, оптимизацияНаступила осень, и, несмотря на хорошую погоду, наши зрители потянулись за новым видеоконтентом. Бекенд-серверы, обслуживающие эмбеды с видео, стали упираться в CPU. С криками "а-а-а" прибежали системные администраторы и начали отбирать у отдела разработки ноутбуки и десктопы, грозясь поставить их в датацентры "на усиление". Разработке это конечно всё не понравилось и все поувольнялись с этой хренью решили что-нибудь сделать.