Главная / Компьютеры / Оптимизация программ.

Оптимизация программ.

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

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

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

Автоматическая оптимизация, как это может произойти с программой компилятора или оптимизацией посвящения, часто может включать в себя трюки, которые слишком сложные, чтобы быть практичными для программистов. Это может включать в себя перемещение инструкций в программе, чтобы они выполнялись из первоначально написанного кода, но более эффективным способом для процессора. Это также может включать намеренное перемещение ресурсов, таких как блоки памяти, чтобы их можно было быстрее получить. Большая часть оптимизации программы происходит автоматически на уровне компилятора.

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



Оставьте комментарий

Ваш email не будет опубликован. Обязательные поля помечены *

*