옵티마이즈(optimize)란 최대로 활용하다, 최적화하다 등의 뜻을 가진 단어인데 컴퓨터분야 등에서는 "최대의 효율을 얻을 수 있도록 시스템이나 프로그램을 수정.보완한다"는 것을 뜻한다.
옵티마이즈는 최적화하다, 최대로 활용하다 등의 뜻 외에도 "될 수 있는대로 완전하게 하다" "최대한으로 이용하다" 등의 의미도 갖는다.
옵티마이제이션(최적화)은 목적에 따라 최상의 결과를 얻을 수 있도록 여러가지로 연구.노력하는 것으로서, 정보처리분야에서는 컴파일러에 의해 원시프로그램 source program)으로부터 목적프로그램을 생성시키는 과정에서목적프로그램의 실행시간을 가급적 단축시키거나, 목적프로그램이 격납될 기억의 라이브러리영역을 최소화하거나 또는 컴파일시간을 단축시키는 것을 말한다. 최대의 효율이 얻어지도록 시스템이나 프로그램을 수정 또는 보완, 최적화 함에 있어 무엇을 목적하는 효율로 선택하느냐 하는 것은 경우에 따라 다르 며최적화의 대상이 되는 것은 여러가지다. 예를 들면 메모리의 용량이 작은 컴퓨터의 경우엔 메모리의 사용영역(area)을 최소화하기 위해 프로그램을 고 쳐쓰게 되며, 빠른 속도가 요구되는 프로그램에서는 프로그램의 크기가 다소크게 되더라도 고속으로 처리되도록 프로그램이 고쳐진다.
최적화의 기법에는 여러가지가 있는데, 한가지 예를 들면 for~ne.t의 연산 루프(loop) 내에 매회 같은 연산이 들어간다든지 할 경우에는 컴파일러가 이 연산을 자동적으로 for~ne.t의 밖으로 나가도록 변경해 고속화를 시도하며, 통상의 컴파일러보다 라이브러리의 내용을 풍부하게 함으로써 보다 오브젝트 모듈(object module)을 최적화할 수 있다.