В прошлой статье («Python на стероидах», 198-й номер) мы поговорили о профилировании Python-приложений. Судя по полученному фидбэку, тема оказалась интересной, и, выходит, теперь, когда мы уже попробовали все на практике, настало время познакомиться с теорией :). В этой статье я постараюсь рассказать о том, что вообще такое производительность ПО, как и зачем ее измерять, и закончу тему с профилированием. В следующий раз мы углубимся в тему тестирования производительности ПО в теории и на практике.

WARNING


Никогда не забывай, что преждевременная оптимизация — это еще хуже, чем ее отсутствие. Используй профайлеры только тогда, когда это действительно необходимо.
 

А быстро ли все работает?

Итак, зачем нам вообще измерять скорость работы нашего софта? Чаще всего скорость работы ПО измеряют в двух случаях: когда пользователи начинают жаловаться на то, что все тормозит, и когда в техническом задании написано что, например, страница разрабатываемого сайта должна открываться не медленнее, чем N секунд. Скорость работы — это вообще, на мой взгляд, мифическое понятие в вакууме.

INFO


Из Википедии: производительность софта — это количественная характеристика скорости выполнения определенных операций

Поэтому я предпочитаю использовать более конкретные определения: «скорость работы функции А низкая» или «при тысяче пользователей онлайн наш сайт отвечает на запросы более трех секунд». При таком подходе становится ясно не только что нужно измерять, но и что именно мы подразумеваем под скоростью работы софта. Ведь в зависимости от того, что ты разрабатываешь, измерять необходимо совершенно разные вещи. Например, при разработке веб-сайта главное, чтобы пользовательский интерфейс быстро реагировал на действия пользователя, и нам может быть абсолютно безразлично, сколько времени занимает запрос к базе данных, когда это работает асинхронно, а если мы пишем ORM, то важнейшим показателем скорости работы для нас будет скорость выполнения генерируемых запросов.

 

Python vs C или С vs Assembler

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

Windows 10 против шифровальщиков. Как устроена защита в обновленной Windows 10

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update …