프로그램 최적화 란 무엇입니까?

프로그램 최적화는 프로그램이 더 빨리 실행되거나 더 적은 리소스를 소비하거나 일반적으로 더 높은 수준의 효율성으로 작동하는 방식으로 컴퓨터 프로그램을 수정하는 프로세스입니다. 최적화 작업은 일부 프로그래밍 언어 컴파일러에 의해 의도적으로 최적화 프로그램을 사용하여 자동으로 수행되거나 소스 코드를 통해 특정 개선을 시도하는 프로그래머가 수동으로 수행 할 수 있습니다. 일반적으로 프로그램 최적화는 특정 목적을 염두에두고 수행됩니다. 프로그램의 다른 부분의 최적화 된 상태를 어떤 식 으로든 감소시키지 않는 프로그램에 대해서는 일반적으로 프로그램이 수행 할 수있는 일반적인 최적화가 거의 없기 때문에 속도 나 리소스 사용량에 최적화되어 있지만 일반적으로 둘다는 아닙니다. 일부 최적화 유형에서 발생할 수있는 한 가지 복잡한 문제는 많은 고급 프로그래밍 언어가 네이티브 코드와 컴퓨터 언어 사이에 이러한 추상화를 제공하여 모든 상황에서 모든 플랫폼에서 최적화를 구현하기가 어렵거나 불가능할 수 있다는 것입니다. JIT (Just-In-Time) 컴파일을 사용하는 해석 된 언어

프로그램 최적화에서 중요한 개념은 최적화에는 대개 어떤 종류의 가격이 따른다는 아이디어입니다. 이에 대한 한 가지 예는 코드 조각이 더 빨리 실행되도록 최적화 된 경우 코드 가독성, 메모리 사용량, 프로그램 유연성 또는 기타 여러 비용으로 인해 속도가 증가 할 수 있다는 것입니다. 이것은 프로그램 최적화가 목표로하는 프로세스 여야한다는 것을 의미합니다. 프로그램의 한 측면을보다 효율적으로 운영하면서 다른 측면의 효율성을 희생하려는 의도입니다.

프로그램 개발의 다른 단계에서 다른 유형의 프로그램 최적화를 수행 할 수 있습니다. 디자인하는 동안 프로그램이 효과적으로 실행되도록하여 광범위한 최적화를 수행 할 수 있습니다. 실제 소스 코드로 작업 할 때 최적화에는 불필요한 명령, 반복 호출 또는 잘못 작성된 함수가 없는지 확인하는 것이 포함될 수 있습니다. 컴파일시 많은 최적화가 컴파일러에 의해 자동으로 수행되며 프로그래머가 다른 컴파일러 스위치 또는 지시문을 사용하여 안내 할 수 있습니다.

컴파일러 또는 전용 최적화 프로그램에서 발생할 수있는 자동 최적화에는 종종 프로그래머가 구현하기에는 너무 복잡한 트릭이 포함될 수 있습니다. 여기에는 프로그램에서 명령을 이동하는 것이 포함될 수 있으므로 원래 작성된 순서를 벗어나서 프로세서에보다 효율적인 방식으로 실행됩니다. 또한 메모리 블록과 같은 리소스를 의도적으로 이동하여 빠르게 액세스 할 수 있습니다. 대부분의 프로그램 최적화는 컴파일러 수준에서 자동으로 수행됩니다.

반복적이거나 적극적인 프로그램 최적화의 한 가지 복잡한 문제는 프로그램을보다 효율적으로 실행하도록 수정 한 후에는 일반적으로 기능 추가 또는 버그 수정과 같은 다른 목적으로 수정하기가 더 어려워진다는 것입니다. 모든 최적화를 취소 할 필요없이 쉽게 변경하거나 새 코드에 적용 할 수없는 설정된 프로그램 동작에서 최적화가 시작되기 시작할 때 발생할 수 있습니다. 더 큰 문제는 간결한 명령과 고전적인 제어 구조 대신 트릭과 바로 가기가 사용되기 때문에 대부분의 경우 최적화 된 프로그램이 사람이 읽을 수 없게되는 것입니다. 이러한 이유로 인해 코드를 과도하게 수정하면 프로그램이 약간 더 효율적으로 작동하더라도 중지 할 수있는 수준의 프로그램 최적화가 종종 있습니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?