PHP 는 기록 코드 실행 시간 패키지 클래스 인 스 턴 스 튜 토리 얼 을 실현 합 니 다.

머리말
본 고 는 phop 기록 코드 운행 시간 측정 에 관 한 내용 을 소개 하여 여러분 께 참고 학습 을 제공 합 니 다.일반적으로 성능 을 요구 하 는 코드 에는 테스트 코드 를 넣 어 계산한다.그러나 매번 microtime 을 써 야 합 니 다.end C start 가 너무 번 거 로 운 것 은 아 닙 니 다.그래서 간단하게 한 가지 유형 을 써 서 만 들 었 습 니 다.다음은 상세 한 소 개 를 살 펴 보 겠 습 니 다.
예제 코드

class TimeCost
{

 private $cost = array();
 private $record = array();
 private $scale = 6;
 public function __construct($scale = 6)
 {
 $this->cost = array();
 $this->record = array();
 $this->scale = $scale;
 }

 public function __toString()
 {
 return $this->getString();
 }

 /**
 * start to cal time.
 *
 * @param mixed $key
 */
 public function addCost($key)
 {
 $this->cost[$key] = microtime(true);
 }

 /**
 * stop to cal time.
 *
 * @param mixed $key
 */
 public function closeCost($key)
 {
 $cost = bcsub(microtime(true), $this->cost[$key], $this->scale);

 if (in_array($key, array_keys($this->record))) {
  $this->record[$key] = bcadd($cost, $this->record[$key], $this->scale);
 } else {
  $this->record[$key] = $cost;
 }
 return $cost;
 }

 
 public function getString($key = null)
 {
 if ($key) {
  return "{$key}[{$this->record[$key]}]";
 }

 $str = '';
 foreach ($this->record as $k => $v) {
  $str .= "{$k}[{$v}]";
 }
 return $str;
 }
}
사용법

$obj = new TimeCost();
$token = 'test_a';
$obj->addCost($token);
some_code();

$obj->closeCost($token);
$reslut = $obj->getString($token);
설명 하 다.
1.시간 정밀도:기본 값 은 6 자리 입 니 다.충분 합 니 다.더 높 은 정 도 를 원 하 시 면 new 대상 에$scale 인 자 를 지정 하 실 수 있 습 니 다.
2.token:token 은 특정한 코드 를 표시 하기 위해 해당 하 는 결 과 는 key(token),value 의 형식 으로 record 배열 에 기록 합 니 다.
그래서 하나의 token 으로 addCost 와 closeClost 를 여러 번 진행 한 결과 가 누적 된다.
3.getString:token 을 전달 하면 token 에 대응 하 는 결 과 를 되 돌려 줍 니 다.기본적으로 record 의 모든 결 과 를 연결 합 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기