이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 dprofppp입니다.
프로그램:
이름
dprofpp - 펄 프로필 데이터 표시
개요
dprofpp [-a|-z|-l|-v|-U] [-d] [-s|-r|-u] [-q] [-F] [-나|-이] [-O CNT] [-A] [-R] [-S] [-g
서브 루틴] [-G [-P]] [-f ] [프로필]
dprofpp -T [-F] [-g 서브 루틴] [프로필]
dprofpp -t [-F] [-g 서브 루틴] [프로필]
dprofpp -G [-P] [프로필]
dprofpp -p 스크립트 [-Q] [기타 옵션]
dprofpp -V [프로필]
기술
XNUMXD덴탈의 dprofpp 명령은 다음과 같이 프로파일러에서 생성된 프로파일 데이터를 해석합니다.
Dev::DProf 프로파일러. Dprofpp는 파일을 읽습니다. 티몬.아웃 15개의 서브루틴을 표시합니다.
가장 많은 시간을 사용하고 있습니다. 기본적으로 각 서브루틴에 대한 시간이 제공됩니다.
자식 서브루틴의 시간을 제외합니다.
Perl 스크립트를 프로파일링하려면 다음을 사용하여 perl 인터프리터를 실행하십시오. -d 스위치. 그래서 프로필에
스크립트 test.pl Devel::DProf에서는 다음을 사용합니다.
$ perl5 -d:DProf test.pl
그런 다음 dprofpp를 실행하여 프로필을 분석합니다. dprofpp의 출력은 다음 플래그에 따라 다릅니다.
프로그램 및 사용 중인 Perl 버전.
$ dprofpp -u
총 경과 시간 = 1.67초
사용자 시간 = 0.61초
독점 시간
%Time Seconds #Calls sec/call 이름
52.4 0.320 2 0.1600 메인 :: 푸
45.9 0.280 200 0.0014 메인 :: 바
0.00 0.000 1 0.0000 DynaLoader::가져오기
0.00 0.000 1 0.0000 메인 :: 바즈
dprofpp 도구는 프로파일 데이터를 분석하기 전에 프로파일러를 실행할 수도 있습니다. 위의
하나의 dprofpp 명령으로 두 개의 명령을 실행할 수 있습니다.
$ dprofpp -u -p 테스트.pl
원시 프로필에 대한 설명은 Devel::DPrf의 "PROFILE FORMAT"을 참조하십시오.
출력
열은 다음과 같습니다.
%시간
이 루틴에서 보낸 시간의 백분율입니다.
# 통화
이 루틴에 대한 호출 수입니다.
초/통화
이 루틴에 대한 호출당 평균 시간(초)입니다.
성함
루틴의 이름입니다.
누적
이 루틴과 이 루틴에서 호출된 루틴에 소요된 시간(초)입니다.
제외
이 루틴에서 소요된 시간(초)입니다(이 루틴에서 호출된 시간 제외).
초/초
이 루틴(호출된 루틴 포함)의 각 호출에 소요된 평균 시간(초)
그것에서).
옵션
-a 서브루틴 이름을 기준으로 알파벳순으로 정렬합니다.
-d 어떤 종류가 사용되든 반대로
-A 자동 로드된 서브루틴의 타이밍을 *::AUTOLOAD의 타이밍으로 계산합니다. 그렇지 않으면 시간
자동로드하려면 서브루틴 자체의 시간으로 계산됩니다(방법이
런타임에서 자동 로드 시간을 분리).
이것은 새로운 Perls와 관련이 없습니다. 그들은 "Devel::DProf"에게 알릴 것입니다.
언제 "AUTOLOAD"는 실제 서브루틴으로 전환되므로 별도의 통계
이 옵션의 설정 여부와 상관없이 "AUTOLOAD"가 수집됩니다.
-R 동일한 패키지에 별도로 정의된 익명 서브루틴을 계산합니다.
-E (기본값) 자식 서브루틴 시간을 제외한 모든 서브루틴 시간을 표시합니다.
-F dprofpp에서 프로필이 다음과 같다고 보고하면 가짜 종료 타임스탬프를 강제로 생성합니다.
왜곡. 이것은 dprofpp가 프로필이 다음으로 인해 왜곡되었다고 판단하는 경우에만 유용합니다.
누락된 종료 타임스탬프로 이동합니다. 이 작업을 수행하면 혼자입니다. 버그에 문의
안내
-I 자식 서브루틴 시간을 포함하여 모든 서브루틴 시간을 표시합니다.
-l 서브루틴에 대한 호출 수를 기준으로 정렬합니다. 이것은 후보자를 식별하는 데 도움이 될 수 있습니다
인라이닝.
-O CNT
만 표시 CNT 서브루틴. 기본값은 15입니다.
-p 스크립트
주어진 스크립트를 프로파일링한 다음 해당 프로파일을 해석해야 한다고 dprofpp에 알립니다.
데이터. 보다 -Q.
-Q 와 함께 사용 -p 해석하지 않고 스크립트를 프로파일링한 후 종료하도록 dprofpp에 지시
자료.
-q 열 머리글을 표시하지 마십시오.
-r 사용자+시스템 시간이 아닌 실제 경과 시간을 표시합니다.
-s 사용자+시스템 시간이 아닌 시스템 시간을 표시합니다.
-T stdout에 대한 서브루틴 호출 트리를 표시합니다. 서브루틴 통계는 표시되지 않습니다.
-t stdout에 대한 서브루틴 호출 트리를 표시합니다. 서브루틴 통계는 표시되지 않습니다.
동일한 호출 수준에서 함수가 여러 번 연속적으로 호출되면
반복 횟수와 함께 한 번 표시됩니다.
-S 디스플레이 합병 stdout에 대한 서브루틴 호출 트리. 각각에 대한 통계가 표시됩니다.
나무의 가지.
함수가 다중(지원 필연적으로 연속적인) 같은 시간
분기를 실행하면 이러한 모든 호출이 다음 수준의 한 분기로 이동합니다. 반복 횟수는
인클루시브, 익스클루시브 및 키즈 타임과 함께 출력합니다.
분기는 포함 시간을 기준으로 정렬됩니다.
-U 정렬하지 마십시오. 원시 프로필에서 찾은 순서대로 표시합니다.
-u 사용자+시스템 시간이 아닌 사용자 시간을 표시합니다.
-V dprofpp의 버전 번호를 출력하고 종료합니다. 원시 프로필이 발견되면
XS_VERSION 변수도 표시됩니다.
-v 각 호출 중 서브루틴에서 보낸 평균 시간을 기준으로 정렬합니다. 이것은 식별하는 데 도움이 될 수 있습니다
인라인 후보.
-z (기본값) 사용된 사용자+시스템 시간의 양으로 정렬합니다. 처음 몇 줄은 다음과 같이 표시되어야 합니다.
어떤 서브루틴이 가장 많은 시간을 사용하는지.
-g "서브루틴"
"서브루틴"과 이 서브루틴에서 호출되는 모든 것을 제외한 서브루틴을 무시합니다.
-G
패턴과 일치하는 모든 호출을 "그룹화"합니다. 예를 들어 이것은
패키지 세트의 모든 호출을 그룹화하는 데 사용
-G "(패키지1::)|(패키지2::)|(패키지3::)"
또는 이름으로 서브루틴을 그룹화하려면:
-G "getNum"
-P -G와 함께 사용하여 -G와 일치하지 않는 모든 호출을 함께 "당기기"로 집계합니다.
-f
패턴과 일치하는 모든 호출을 필터링합니다.
-h 간단한 도움말을 표시하고 종료합니다.
-H 긴 도움말을 표시하고 종료합니다.
환경
환경 변수 DPROFPP_OPTS 에 대한 옵션을 포함하는 문자열로 설정할 수 있습니다.
dprofpp. 원하는 경우 이것을 사용할 수 있습니다. -I 위에 -E 또는 원하는 경우 -F 항상.
이것은 상당히 게으르게 추가되었으므로 바람직하지 않은 부작용이 있습니다. 옵션
명령줄은 DPROFPP_OPTS의 옵션을 재정의해야 하지만 여기에는 의존하지 마십시오.
번역.
onworks.net 서비스를 사용하여 온라인으로 dprofppp 사용