더보기
기술 블로그 이전으로 인해 2022 년도 4월에 작성된 글 입니다.
PHP 7.0 의 변경 사항
- 성능 향상 - PHP 5.6 보다 두배 이상 빠른 속도
- 메모리 사용률이 현저히 감소
- 추상 구문 트리(Abstract Syntax Tree)
- 일관된 64비트 지원(Consistent 64-bit support)
- 향상된 예외 상속(Improved Exception hierarchy)
- 많은 치명적 에러들이 예외로 전환 됨
- 보안 난수 발생기(Secure random number generator)
- 오래 됐거나 지원하지 않는 SAPI와 확장 지원 중단
- Null 병법 연산자(The null coalescing operator (??))
- 리턴 값, 스칼라 타입 정의
- 익명 클래스(Anonymous Classes)
- Zero cost asserts
성능 향상 - PHP 5.6 보다 메모리 사용률이 현저히 감소
1차 실험(실패)
실험 과정
- docker 로 PHP5.6 과 7.0 의 컨테이너를 설치한다.
- 예제 코드로 PHP 스크립트를 돌려본다.
php -r 'echo memory_get_usage().PHP_EOL;'
실험 결과
PHP 5.6 : 218032 사용
PHP 7.0 : 346448 사용
2차 실험(실패 ? 성공 ?)
실험 과정
- docker 로 PHP5.6 과 7.0 의 컨테이너를 설치한다.
- 예제 코드로 PHP 스크립트를 돌려본다.
<?php
ini_set('memory_limit','-1');
$start_memory = memory_get_usage();
$a = str_repeat("1234567890", 9999999);
$end_memory = memory_get_usage();
echo ($end_memory - $start_memory).PHP_EOL;
실험 결과
PHP 5.6 : 100000280 사용
PHP 7.0 : 100003864 사용
메모리 사용률이 증가했다.
결론
1차
- PHP5.6 : 218032000
- PHP7.0 : 346448000
- 비율 9 : 14.301
2차
- PHP5.6 : 100000280
- PHP7.0 : 100003864
- 비율 : 9 : 9
1/2차 테스트를 통해 사용량에 따라 메모리가 효율적으로 사용되고 있는 것을 볼 수 있었다.
이로 인해 실험은 실패이지만, 규모에 따라 메모리가 효율적으로 사용하기 시작한다는 것을 볼 수 있었으므로 성공이라 보는 것이 맞는 것 같다. 어떠한 프레임워크를 사용하냐에 따라 메모리 사용량이 달라질 것이고 점차 무거워지는 Laravel 프레임워크를 보았을 때 점차 발전하는 PHP 성능을 보고 깝치는 것이 아닌가 조심스럽게 생각해 본다.
때문에 PHP5.6 에서 PHP7.0 으로 버전을 올리게 되면 메모리 사용률이 현저히 감소 를 채감할 수 있을 것이다.
'Programming > $_머니 (PHP)' 카테고리의 다른 글
[실험 PHP 7.0 5탄] - 향상된 예외 상속(Improved Exception hierarchy) (0) | 2024.02.09 |
---|---|
[실험 PHP 7.0 4탄] - 일관된 64비트 지원(Consistent 64-bit support) (0) | 2024.02.09 |
[실험 PHP 7.0 3탄] - 추상 구문 트리(Abstract Syntax Tree) (0) | 2024.02.09 |
[실험 PHP 7.0 1탄] - PHP 5.6 보다 두배 이상 빠른 속도 (0) | 2024.02.09 |
PHP 버전별 차이 (5.6 ~ 7.4) (0) | 2024.02.09 |