2016-06-21 10 views
0

Java, C 또는 C++와 같은 일부 언어는 매우 휴대용/다중 플랫폼입니다. 그런데 왜 그런가요? 해석의 일반적인 수행을 향상시킬 수있는 통역사에서 사용할 수있는 전략은 무엇입니까? 나는 JIT에 대해 생각했다. 한 명령을 한 번 번역 한 다음 다시 나타날 때마다 다시 사용하기 때문입니다. 그러나 JIT는 다중 플랫폼을 정당화하는 데 사용할 수 있습니까? 다른 전략은 무엇입니까?인터프리터 성능 향상을위한 전략

답변

1

Java, C 또는 C++와 같은 일부 언어는 매우 휴대용/다중 플랫폼입니다. 그런데 왜 그런가요?

그들은 휴대용하지만 다른 방법에 있습니다. Java는 동일한 실행 바이너리가 많은 아키텍처에서 실행될 수 있다는 점에서 이진 휴대용입니다. 이는 해석 또는 JIT 컴파일을 사용하여 수행됩니다. C/C++은 많은 플랫폼을위한 컴파일러가 있다는 점에서 이식성이 뛰어나므로 동일한 소스 코드를 컴파일하여 다른 플랫폼 용 다른 바이너리를 생성 할 수 있습니다.

해석의 일반적인 성능을 향상시킬 수있는 인터프리터에서 사용할 수있는 전략은 무엇입니까?

해석 성능을 향상시키는 데 상당한 양의 연구가 있었고 그에 대한 매우 두꺼운 책을 쓸 수 있습니다. 소개자로서 통역사에 관한 Wikipedia 페이지를 읽는 것이 좋습니다.

한 명령을 한 번 번역 한 다음 이 다시 나타날 때마다 다시 사용하므로.

JIT 컴파일러는 하나의 명령어가 아니라 여러 명령어를 함께 변환합니다. 예를 들어, JIT 컴파일러는 한 번에 하나의 함수를 컴파일 할 수 있습니다.