Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 nytprofhtmlp 명령입니다.
프로그램:
이름
nytprofhtml - Devel::NYTProf 데이터에서 보고서 생성
개요
일반적인 사용법 :
$ perl -d:NYTProf some_perl_app.pl
$ nytprofhtml --열기
옵션 개요:
$ nytprofhtml [-h] [-d] [-m] [-o ] [-에프 ] [--열려 있는]
기술
Devel::NYTProf는 강력한 기능을 갖춘 Perl 소스 코드 프로파일러입니다. 개발자::NYT교수 참조
를 참조하세요
"nytprofhtml"은 다음에 의해 생성된 단일 데이터 파일에서 일련의 html 보고서를 생성합니다.
개발자::NYTProf. (프로세스가 포크되는 경우 파일이 여러 개 있을 수 있습니다. 다음을 참조하세요.
개발자::NYTProf 및 nytprofmerge.)
보고서에는 각 라인과 각 파일이 분석되는 동적 런타임 분석이 포함됩니다.
다른 라인과 파일의 성능을 기반으로 합니다. 그 결과, 빠르게 찾을 수 있습니다.
가장 느린 모듈과 모듈에서 가장 느린 라인입니다. 느림은 세 가지 방법으로 측정됩니다.
총 통화, 총 시간 및 통화당 평균 시간입니다.
채색은 중앙값의 절대 편차를 기반으로 합니다. 보다
<http://en.wikipedia.org/wiki/Median_absolute_deviation> 자세한 내용은.
복잡하게 들릴 수 있지만 실제로는 명령을 실행하고
보고서!
명령줄 옵션
-f, --파일
Devel::NYTProf에 의해 생성된 파일의 위치를 지정합니다. 기본:
./nytprof.out
-o, --아웃
생성된 보고서 파일을 저장할 디렉토리입니다. 기본값: ./nytprof/
-d, --삭제
보고서 출력 디렉터리의 기존 콘텐츠를 제거합니다.
-l, --lib
nytprofhtml에서 사용되는 소스 파일을 찾는 데 도움이 되도록 @INC 시작 부분에 경로를 추가하세요.
코드. 실전에서 필요하지 않아야 합니다.
--열려있는
보고서가 생성된 후 웹 브라우저에서 보고서를 방문하도록 합니다.
이것이 잘 작동하지 않는다면, Browser::Open 모듈을 설치해보세요.
-m, --최소
graphviz .dot 파일 또는 블록/하위 수준 보고서를 생성하지 마십시오.
--불꽃 없음
인덱스 페이지에서 Flamegraph 생성을 비활성화합니다. 또한 계산을 비활성화합니다.
Flamegraph를 생성하는 데 사용되는 고유한 호출 스택입니다.
-h, --도움말
도움말 메시지를 인쇄합니다.
견본 출력
대규모 애플리케이션(파일 200개 이상, 파일 2000개 이상)에 대한 전체 보고서를 볼 수 있습니다.
서브루틴)에서
보고서는 다음을 사용하여 자체 소스 코드를 확인하는 perlcritic 1.106을 프로파일링하여 생성되었습니다.
펄 5.12.1.
진단
"할 수 없는 에 열 수 '... (자동 분할 으로 ...)'"
프로파일링된 애플리케이션은 코드를 로드하기 위해 AutoLoader를 사용하는 모듈에서 코드를 실행했습니다.
별도의 .al 파일에서. NYTProf는 이 상황을 자동으로 인식하고
프로필 데이터를 연결할 수 있도록 '상위' 모듈 파일을 결정합니다. 순서대로
그렇게 하려면 부모 모듈 파일이 이미 NYTProf에 '알려져 있어야' 합니다. 일반적으로 이미
일부 코드를 프로파일링했습니다.
"시작" 옵션을 사용하여 시작하는 경우에만 이 경고가 표시될 수 있습니다.
컴파일 타임 이후 프로파일링. 그 효과는 자동 로드된 서브에 소요된 시간이
상위 모듈 파일과 연결되어 있으며 이에 대한 주석이 달린 보고서를 받을 수 없습니다.
기본 "start=begin" 옵션을 사용하거나 다음을 실행하여 이를 방지할 수 있습니다.
프로파일러가 실행되는 동안 부모 모듈에 자동으로 로드되지 않은 일부 코드가
자동 로드된 하위가 호출됩니다.
연혁
약간의 역사와 뻔뻔한 플러그 ...
NYTProf는 'New York Times Profiler'의 약자입니다. 실제로 이 모듈은 처음에 개발되었습니다.
개발자가 빠르게 식별할 수 있도록 The New York Times Co.의 Devel::FastProf에서 발췌
대규모 Perl 애플리케이션의 병목 현상. NY Times는 Perl을 사랑하며 커뮤니티가
우리가 그들의 일에서 얻는 것만큼 우리 일에서 이익을 얻을 것입니다.
방문하시기 바랍니다http://open.nytimes.com>, 우리가 무엇을 하는지 볼 수 있는 오픈 소스 블로그,
<http://code.nytimes.com> 열려 있는 프로젝트 중 일부를 확인하고 확인해 보세요.
<http://nytimes.com> 최신 뉴스를 위해!
배경
서브루틴 수준 프로파일러:
개발자::DProf | 1995-10-31 | 일리야즈
개발자::자동프로파일러 | 2002-04-07 | 글론던
개발자::프로파일러 | 2002-05-20 | 삼트레가르
개발::프로필 | 2003-04-13 | 턱
개발자::DProfLB | 2006-05-11 | 턱
개발자::WxProf | 2008-04-14 | MKUTTER
문 수준 프로파일러:
개발자::SmallProf | 1997-07-30 | 재로 뒤덮인
개발자::FastProf | 2005-09-20 | 살바
개발자::NYT교수 | 2008-03-04 | 아카플랜
개발::이익 | 2008-05-19 | 엘브로카드
Devel::NYTProf는 자체적으로 진화된 Devel::FastProf의 (지금은 먼) 포크입니다.
Devel::SmallProf.의
Adam Kaplan은 Devel::FastProf를 사용하여 html 보고서 생성을 추가했습니다(Devel::Cover 기반).
그리고 테스트 스위트 - 프로파일러에게는 까다로운 작업입니다. 그 사이 팀 번스는
Devel::FastProf를 확장하여 새로운 서브별 및 블록별 타이밍과 서브루틴을 추가합니다.
발신자 추적.
Devel::NYTProf가 출시되었을 때 Tim은 Devel::NYTProf 작업으로 전환했습니다.
html 보고서는 추가 프로필 데이터를 표시하는 좋은 방법이 될 것이며 테스트 스위트는
개발이 훨씬 쉽고 안전합니다.
그런 다음 그는 약간 미쳐서 구독별 및 기능 외에도 수많은 새로운 기능을 추가했습니다.
블록별 타이밍 및 서브루틴 호출자 추적. 여기에는 'opcode 가로채기'가 포함되었습니다.
프로파일링 방법, 초고속 및 강력한 포함 서브루틴 타이밍, 배가
성능, 모든 추가 프로필 호출을 표시하기 위한 HTML 보고의 주요 변경 사항
풍부한 주석이 달린 교차 링크 보고서의 타이밍 데이터.
Steve Peters는 이식성과 NYTProf 유지를 위한 패치와 함께 참여했습니다.
최신 개발 Perl 버전으로 작업합니다.
Adam의 작업은 The New York Times Co.의 후원을 받습니다.http://open.nytimes.com>. 팀의 작품
부분적으로 Shopzilla가 후원했습니다.http://www.shopzilla.com>.
onworks.net 서비스를 사용하여 온라인에서 nytprofhtmlp 사용