본문 바로가기
프로그램개발/ServerSide(PHP,Node.js)

PHP8, JIT지원 ···"작업속도 증대 기대해"

by 크레도스 2019. 5. 24.

출처 : https://www.codingworldnews.com/article/view/656


지난주 테크전문지 'Packt Hub'에 따르면 PHP개발자 joe watkins는 PHP8이 Just-In-Time(JIT) 컴파일을 지원한다고 발표했다. 이 결정은 PHP 핵심 개발자가 PHP8 및 PHP7.4에서 JIT 테스트버전을 지원하기 위해 투표한 결과이다.

JIT란 프로그램이 호스트 CPU의 기본명령어 세트를 바로 컴파일하는 전략이다. 표준 컴파일러는 액세스할수 없지만 JIT컴파일러는 동적 런타임 정보에 액세스할수 있기 때문에 작업속도를 빠르게 개선할 수 있다.


JIT가 PHP에 도입 된 이유는 다음과 같다.

첫째, PHP가 7.0이후 부터 많은 개선이 이뤄졌다.
HashTable에 대한 최적화, 특정 opcode에 대한 Zend VM의 전문화, 특정 시퀀스에 대한 컴파일러의 전문화 등을 포함하여 7.0 버전부터 PHP에 대한 많은 개선이 이루어졌다. 수많은 개선이 이루어지면서 이제는 PHP가 더 발전 할 수있는 수준에 도달했다.

둘째, 비(非)웹용 시나리오 PHP
PHP에서 JIT에 대한 지원을 추가하면 현재는 고려되지 않은 시나리오, 즉 웹 이외의 CPU 중심 시나리오에서 성능이 큰 시나리오에서도 사용할 수 있게 된다.

셋째, 신속하고 안전한 구현
JIT 지원을 통해 팀은 C 대신 PHP로 내장 함수를 개발하여 큰 성능 저하없이 이를 개발할 수 있다. 이것은 PHP가 메모리 관리, 오버 플로우 및 C 기반 개발과 관련된 다른 유사한 문제를 덜 취약하게 만든다.

PHP 7.4는 올해말 나올 예정이며, JIT가 PHP로 도입되게 된다. PHP 8의 출시 일정에 대한 공식 발표는 아직이지만 많은 사람들이 2021년 후반에 출시를 추측하고 있는것으로 알려졌다.