더보기
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 보다 두배 이상 빠른 속도
실험
실험 과정
- docker 로 PHP5.6 과 7.0 의 컨테이너를 설치한다.
- 예제 코드로 PHP 스크립트를 돌려본다.
<?php
function get_time() { $t=explode(' ',microtime()); return (float)$t[0]+(float)$t[1]; }
$time_arr = [];
$repeat = 5;
for($j=0;$j<$repeat;$j++) {
$start = get_time();
for($i=0;$i<100000;$i++) {
$a = pow($i, 20);
}
$end = get_time();
$time = $end - $start;
$time_arr[] = $time;
echo ($j+1) . '차 수행시간: ' . number_format($time,6) . ' 초, ';
echo '결과값: ' . $a . "\n";
}
$time_mean = array_sum($time_arr)/$repeat;
echo '평균 수행시간: ' . number_format($time_mean,6) . " 초\n";
출처 : https://zetawiki.com/wiki/PHP_수행시간_측정
PHP 수행시간 측정 - 제타위키
PHP 수행시간 측정, PHP 속도 측정 PHP 속도 비교, PHP 함수 성능 비교 1 수행시간 측정[ | ] function get_time() { return microtime(true); } $start = get_time(); /* 수행할 내용 */ $end = get_time(); $time = $end - $start; echo num
zetawiki.com
실험 결과
PHP 5.6
- 평균 수행시간: 0.021634 초
- 평균 수행시간: 0.021167 초
- 평균 수행시간: 0.020677 초
PHP 7.0
- 평균 수행시간: 0.012918 초
- 평균 수행시간: 0.012616 초
- 평균 수행시간: 0.012911 초
약 0.02초에서 0.012초로 평균 속도가 나온다.
즉 20초인 경우 12초로 속도가 개선되었다는 것이다.
'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 2탄] - 메모리 사용률이 현저히 감소 (0) | 2024.02.09 |
PHP 버전별 차이 (5.6 ~ 7.4) (0) | 2024.02.09 |