JS의 Chrome CPU 프로파일에서 'self'와 'total'의 차이점


229

JS 코드의 Chrome CPU 프로파일 링에서 'self'및 'total'열의 차이점은 무엇입니까?

여기에 이미지 설명을 입력하십시오


13
시스템 / 라이브러리 / DB / IO 등을 호출하는 데 거의 모든 시간이 소요되므로 프로그램 카운터는 코드에서 실제 시간을 백분율로 거의 사용하지 않기 때문에 자체 시간은 심각한 소프트웨어에서 거의 유용하지 않습니다. 어떤 종류의 단단한 루프를 작성합니다. 시스템 루틴에서 많이 사용된다고 말할 수도 있지만 그다지 좋지 않습니다. 코드 의 어느 부분이 많은 시간을 소비 하는지 알아야 합니다 .
Mike Dunlavey

비동기 객체가 아닌 XMLHttpRequest와 같은 내장 객체를 호출하여 함수가 차단되면 자체 시간이 매우 유용 할 수 있습니다. 이러한 경우 병목 현상이 발생한 상태에서 이러한 기능이 총 시간 측정시 맨 위에 표시되지 않을 수 있습니다.
Konstantin

답변:


303

self 해당 기능에서 직접 작업하는 데 소요 된 시간입니다.

total 그 함수와 그것이 호출 한 함수에 소요 된 시간입니다.


11
그래서 self는 인라인 문장 ​​일뿐 함수 호출은 아닙니다. 그리고 총은 모든 코드가 호출 내에서 실행됩니까?
CoolUserName 2011 년

42
우연히도 사람들이 유용한 답변을 찾은 것 같습니다. 이는 Chrome뿐만 아니라 일반적으로 프로파일 러에 해당됩니다.
duskwuff -inactive-

2
함수가 재귀 적으로 호출되면 어떻게 될까요? 그러면 어떻게 정확하게 읽을 것입니까?
David Limkys 2012

3
문서 링크는 여기에 있습니다 ( '기능 세부 사항보기'섹션) . Self time: 함수 자체의 명령문 만 포함하고 함수를 호출 한 함수는 포함하지 않고 현재 함수 호출을 완료하는 데 걸린 시간 Total time: 이 함수의 현재 호출 및 호출 한 함수를 완료하는 데 걸린 시간입니다.
Iman Mahmoudinasab

그리고 이제 자기 및 총 시간 값과 함께 표시되는 백분율의 의미는 무엇입니까? 나는 그것이 무엇의 퍼센트인지를 의미합니까?
jayarjo

10

자체 시간 : 함수의 경우 함수 내에서 코드를 실행하는 시간입니다 (인라인 명령문). 개별 기능의 성능을 확인하는 것을 상향 분석이라고합니다.

총 시간 : 함수의 경우 해당 함수의 자체 시간과 함수가 호출하는 모든 함수의 자체 시간입니다. 수신자와 함께 기능의 성능을 확인하는 것은 하향식 분석입니다.

주의 : 함수 자체의 시간이 높다고해서 함수 자체가 비효율적이라는 것을 의미하지는 않습니다. 해당 함수가 몇 번 호출되는지 확인하는 것도 중요합니다.

인텔 기사

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.