Programming/$_머니 (PHP)

[실험 PHP 7.0 1탄] - PHP 5.6 보다 두배 이상 빠른 속도

귀찮은 개발자 2024. 2. 9. 19:11
더보기

2022 년도 4월에 작성된 글 입니다. 

PHP 7.0 의 변경 사항

  1. 성능 향상 - PHP 5.6 보다 두배 이상 빠른 속도
  2. 메모리 사용률이 현저히 감소
  3. 추상 구문 트리(Abstract Syntax Tree)
  4. 일관된 64비트 지원(Consistent 64-bit support)
  5. 향상된 예외 상속(Improved Exception hierarchy)
  6. 많은 치명적 에러들이 예외로 전환 됨
  7. 보안 난수 발생기(Secure random number generator)
  8. 오래 됐거나 지원하지 않는 SAPI와 확장 지원 중단
  9. Null 병법 연산자(The null coalescing operator (??))
  10. 리턴 값, 스칼라 타입 정의
  11. 익명 클래스(Anonymous Classes)
  12. Zero cost asserts

성능 향상 - PHP 5.6 보다 두배 이상 빠른 속도

실험

실험 과정

  1. docker 로 PHP5.6 과 7.0 의 컨테이너를 설치한다.
  2. 예제 코드로 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초로 속도가 개선되었다는 것이다.