적응형 최적화

Adaptive optimization

적응형 최적화는 현재 실행 프로파일을 기반으로 프로그램 일부를 동적으로 재컴파일하는 컴퓨터 과학 기술입니다.간단한 구현을 통해 적응형 최적화 도구는 적시 컴파일해석 명령 사이의 균형을 단순화할 수 있습니다.다른 레벨에서는 적응형 최적화는 로컬 데이터 조건을 이용하여 브랜치를 최적화하고 인라인 확장을 사용하여 프로시저 콜 비용을 절감할 수 있습니다.

트랜잭션을 차례로 처리하는 가상의 은행 애플리케이션을 생각해 보십시오.이러한 거래들은 수표, 예금, 그리고 더 많은 불명확한 거래일 수 있다.프로그램이 실행될 때, 실제 데이터는 단 한 번의 입금 처리 없이, 그리고 사기 계좌 번호가 있는 단 한 번의 수표 처리 없이 수 만 개의 수표를 클리어하는 것으로 구성될 수 있습니다.적응형 옵티마이저는 어셈블리 코드를 컴파일하여 이 일반적인 경우에 최적화합니다.시스템이 수만 개의 예금을 대신 처리하기 시작하면 적응형 옵티마이저는 어셈블리 코드를 다시 컴파일하여 새로운 일반적인 경우를 최적화합니다.이 최적화에는 인라인 코드가 포함될 수 있습니다.

적응형 최적화의 예로는 HotSpot 및 HP의 Dynamo [1]시스템이 있습니다.

일부 시스템(특히 Java Virtual[citation needed] Machine)에서는 바이트 코드 명령 범위를 통해 실행한 내용이 되돌릴 수 있습니다.이를 통해 적응형 옵티마이저는 코드에 대해 위험한 가정을 할 수 있습니다.위의 예에서 옵티마이저는 모든 트랜잭션이 체크이며 모든 계정 번호가 유효하다고 가정할 수 있습니다.이러한 가정이 잘못된 것으로 판명되면 적응형 옵티마이저는 유효한 상태로 '풀림'한 후 바이트 코드 명령을 올바르게 해석할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

외부 링크