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

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

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

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

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

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

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


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

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

Реклама

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

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

Дыхательная гимнастика от кашля :-) для детей и взрослых (обучение в СНГ).: Дыхательная тренировка индивидуально или в группе

Дыхательная гимнастика от кашля :-) для детей и взрослых (обучение в СНГ).: Дыхательная тренировка индивидуально или в группе : Здравствуйте, дорогие друзья! Краткое описание занятий по дыхательной гимнастике и их автора :) Стоимость часового практического обучения ...

Методика Шевцова очень кратко

Основные рекомендации по гимнастике врача ЛФК, к.м.н. Шевцова С.А.: 1.                   Дозированная медленная осторожность (нежность). Только лишь минимальная болезненность при физкультуре. Принцип выполнения всех физических упражнений ЛФК и всегда-везде. 2.                   Континуальная (непрерывная) тренировка. Принцип организации всех упражнений ЛФК именно вне центра. В любом месте и положении ! 3.                   Произвольный стретчинг (потягивания). С  удовольствием себя мышцами чувствовать и тянуть в 5 местах. По 1 минуте 3-100 раз в день. 4.                   Пальминг-коррекция («оладонивание»). Теплолечение ладонью своей ...