К основному контенту

Одно из значений "оптимизации"

Оптимизация — модификация системы для улучшения её эффективности. Система может быть одиночной компьютерной программойцифровым устройством, набором компьютеров или даже целой сетью, такой как Интернет.
Хотя целью оптимизации является получение оптимальной системы, истинно оптимальная система в процессе оптимизации достигается далеко не всегда. Оптимизированная система обычно является оптимальной только для одной задачи или группы пользователей: где-то может быть важнее уменьшение времени, требуемого программе для выполнения работы, даже ценой потребления большего объёма памяти; в приложениях, где важнее память, могут выбираться более медленные алгоритмы с меньшими запросами к памяти.
Более того, зачастую не существует универсального решения (хорошо работающего во всех случаях), поэтому инженеры используют компромиссные (англ. tradeoff) решения для оптимизации только ключевых параметров. К тому же, усилия, требуемые для достижения полностью оптимальной программы, которую невозможно дальше улучшить, практически всегда превышают выгоду, которая может быть от этого получена, поэтому, как правило, процесс оптимизации завершается до того, как достигается полная оптимальность. К счастью, в большинстве случаев даже при этом достигаются заметные улучшения.
Оптимизация должна проводиться с осторожностью. Тони Хоар впервые произнёс, а Дональд Кнут впоследствии часто повторял известное высказывание: «Преждевременная оптимизация — это корень всех бед». Очень важно иметь для начала озвученный алгоритм и работающий прототип.

Основы[править | править исходный текст]

Некоторые задачи часто могут быть выполнены более эффективно. Например, программа на языке Си, которая суммирует все целые числа от 1 до N:
int i, sum = 0;
for (i = 1; i <= N; i++)
  sum += i;
Подразумевая, что здесь нет переполнения, этот код может быть переписан в следующем виде с помощью соответствующей математической формулы:
int sum = (N * (N+1)) / 2;
Понятие «оптимизация» обычно подразумевает, что система сохраняет ту же самую функциональность. Однако, значительное улучшение производительности часто может быть достигнуто и с помощью удаления избыточной функциональности. Например, если допустить, что программе не требуется поддерживать более, чем 100 элементов при вводе, то возможно использовать статическое выделение памяти вместо более медленного динамического.

Компромиссы (tradeoff)[править | править исходный текст]

Оптимизация в основном фокусируется на одиночном или повторном времени выполнения, использовании памяти, дискового пространства, пропускной способности или некотором другом ресурсе. Это обычно требует компромиссов — один параметр оптимизируется за счёт других. Например, увеличение размера программного кэша чего-либо улучшает производительность времени выполнения, но также увеличивает потребление памяти. Другие распространённые компромиссы включают прозрачность кода и его выразительность, почти всегда ценой деоптимизации. Сложные специализированные алгоритмы требуют больше усилий по отладке и увеличивают вероятность ошибок.


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

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

Реклама

Десять полезных, бесплатных и платных учебных курсов Шевцова Сергея на Stepik

    Мне, Шевцову Сергею, врачу-патентоведу среднеширокого профиля, (подробнее про автора можно прочитать на этом сайте отдельно) нужно поделиться с вами своими курсами, бесплатными или дешёвыми. Они не идеального качества, но точно могут вас очень сильно обогатить теоретическими и практическими знаниями и даже умениями в медицине, психологии и экологии. Все платные после прохождения заканчиваются выдачей сертификата образовательной платформы Stepik , который вы потом можете использовать в своём резюме, в своей рекламе или повесить его распечатку на стенку для красоты) Два бесплатных поведаю вам сначала. Курс первый - Биоэнергетика и саморегуляция температуры тела человека Сразу нужно сказать, что курс наш несовершенен пока, ибо будет дополняться по замечаниям и комментариям всех его читающим. В нём сейчас пока есть только 5% от той информации, что я должен вам передать. Во-первых, он ограничен только пятью базами д...

Зарядье и «Аптекарский огород» можно сделать в каждом городе СНГ, а в мегаполисах – по 50 штук

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

Список научных и научно-популярных публикаций Шевцова С.А.

Список научных работ Шевцова С.А. 1.        Шевцов С.А. Изучение действия мононатрий глутамата на внешнесекреторную деятельность печени / Материалы XLIV итоговой студенческой научной конференции СНО ММСИ. – М., 1996, с. 60. 2.        Шевцов С.А. Усиление печеночно-кишечного кругооборота веществ желчи под влиянием мононатрий глутамата (МНГ) / Сборник тезисов студенческой научной конференции ММА им. И.М. Сеченова «Татьянин день». – М., 1997, с. 83-84. 3.        Шевцов С.А. Связь между алиментарногенным ожирением 1, 2 степени и калорийностью рациона с разным потреблением пищевой клетчатки, тиамина, аскорбиновой кислоты, кальция и калия. / Материалы клинической конференции молодых ученых ФППО ММА им. И.М. Сеченова «Актуальные вопросы клинической медицины». – М., 1997, с. 65. 4.        Шевцов С.А., Глянцев М.Л., Вахмистров А.В., Болотова О.В.  Соматизация а...