XHProf Profile
Symbol | Count | Wall Time (Inclusive) | % | Wall Time (Exclusive) | % |
---|---|---|---|---|---|
Total | 386,748,236 | 1,381,944,699 us | 100.0% | 1,381,944,699 us | 100.0% |
main() | 1 | 1,381,944,699 us | 100.0% | 253 us | 0.0% |
ArcanistLintWorkflow::run | 1 | 1,381,905,418 us | 100.0% | 47,104 us | 0.0% |
ArcanistLintEngine::run | 1 | 1,380,502,870 us | 99.9% | 56,237 us | 0.0% |
ArcanistLintEngine::executeLinters | 1 | 1,378,222,223 us | 99.7% | 3,526 us | 0.0% |
ArcanistLintEngine::executeLintersOnChunk | 180 | 1,378,217,681 us | 99.7% | 7,550,224 us | 0.5% |
ArcanistLintEngine::executeDidLintOnPaths | 1,600 | 1,146,881,089 us | 83.0% | 12,358 us | 0.0% |
ArcanistFutureLinter::didLintPaths | 292 | 1,146,753,466 us | 83.0% | 333,874 us | 0.0% |
ArcanistXHPASTLinter::resolveFuture | 3,735 | 1,009,308,763 us | 73.0% | 2,312,769 us | 0.2% |
AASTNode::selectTokensOfTypes | 78,960 | 456,473,210 us | 33.0% | 359,011,626 us | 26.0% |
ArcanistKeywordCasingXHPASTLinterRule::process | 3,735 | 372,306,494 us | 26.9% | 1,146,099 us | 0.1% |
ArcanistBaseXHPASTLinter::getXHPASTTreeForPath | 7,470 | 295,309,389 us | 21.4% | 277,245 us | 0.0% |
XHPASTTree::newFromDataAndResolvedExecFuture | 3,735 | 224,252,860 us | 16.2% | 1,492,294 us | 0.1% |
ArcanistLintEngine::executeLinterOnPaths | 1,600 | 220,032,688 us | 15.9% | 285,438 us | 0.0% |
XHPASTTree::__construct | 3,735 | 207,229,838 us | 15.0% | 151,013 us | 0.0% |
AASTTree::__construct | 3,735 | 206,079,052 us | 14.9% | 52,533,075 us | 3.8% |
ArcanistPhutilLibraryLinter::willLintPaths | 141 | 149,231,623 us | 10.8% | 20,909,757 us | 1.5% |
PhutilLibraryMapBuilder::buildFileSymbolMap | 423 | 110,858,226 us | 8.0% | 3,333 us | 0.0% |
PhutilLibraryMapBuilder::analyzeLibrary | 423 | 110,854,893 us | 8.0% | 1,155,474 us | 0.1% |
AASTNode::getTokens | 4,169,101 | 104,658,104 us | 7.6% | 82,933,357 us | 6.0% |
AASTTree::buildTree | 892,368 | 94,709,788 us | 6.9% | 38,814,933 us | 2.8% |
FutureIterator::next | 7,983 | 77,252,426 us | 5.6% | 947,232 us | 0.1% |
AASTNode::selectTokensOfType | 67,755 | 75,673,773 us | 5.5% | 163,717 us | 0.0% |
XHPASTTree::newNode | 1,688,729 | 60,162,952 us | 4.4% | 27,778,100 us | 2.0% |
Future::waitForSockets | 11,128 | 59,919,807 us | 4.3% | 137,304 us | 0.0% |
stream_select | 11,128 | 59,782,493 us | 4.3% | 59,782,493 us | 4.3% |
PhutilLibraryMapBuilder::loadSourceFileMap | 423 | 53,440,949 us | 3.9% | 4,417,932 us | 0.3% |
XHPASTTree::newToken | 2,321,196 | 51,057,560 us | 3.7% | 47,470,255 us | 3.4% |
ExecFuture::isReady | 82,715 | 49,606,091 us | 3.6% | 1,885,275 us | 0.1% |
ArcanistSpellingLinter::lintPath | 5,001 | 48,091,012 us | 3.5% | 5,016,886 us | 0.4% |
AASTNode::buildSelectCache | 1,688,729 | 46,529,918 us | 3.4% | 48,977,410 us | 3.5% |
ArcanistBaseXHPASTLinter::didResolveLinterFutures | 282 | 45,445,179 us | 3.3% | 4,599 us | 0.0% |
ArcanistBaseXHPASTLinter::releaseSharedFutures | 282 | 45,436,125 us | 3.3% | 45,436,125 us | 3.3% |
ArcanistSpellingLinter::checkExactWord | 2,935,587 | 42,809,592 us | 3.1% | 14,198,612 us | 1.0% |
XHPASTToken::getTypeName | 215,941,892 | 42,106,609 us | 3.0% | 37,692,432 us | 2.7% |
FutureIterator::updateWorkingSet | 15,674 | 40,372,970 us | 2.9% | 637,799 us | 0.0% |
AASTNode::getConcreteString | 3,000,540 | 39,543,440 us | 2.9% | 18,923,796 us | 1.4% |
proc_open | 4,822 | 39,249,501 us | 2.8% | 39,249,501 us | 2.8% |
FileFinder::find | 424 | 37,894,794 us | 2.7% | 5,791,286 us | 0.4% |
AASTNode::__construct | 1,688,729 | 32,384,044 us | 2.3% | 32,384,044 us | 2.3% |
phutil_json_decode | 4,384 | 29,067,673 us | 2.1% | 122,267 us | 0.0% |
json_decode | 4,384 | 28,831,987 us | 2.1% | 28,831,987 us | 2.1% |
PhutilLibraryMapBuilder::buildLibraryMap | 423 | 25,513,998 us | 1.8% | 24,806,609 us | 1.8% |
ArcanistUndeclaredVariableXHPASTLinterRule::process | 3,735 | 24,499,365 us | 1.8% | 7,388,292 us | 0.5% |
ArcanistNamingConventionsXHPASTLinterRule::process | 3,735 | 23,093,460 us | 1.7% | 9,569,586 us | 0.7% |
preg_match_all | 2,971,312 | 22,955,901 us | 1.7% | 22,955,901 us | 1.7% |
range | 4,167,162 | 21,185,408 us | 1.5% | 21,185,408 us | 1.5% |
AASTNode::selectDescendantsOfTypes | 1,174,809 | 20,753,859 us | 1.5% | 8,365,065 us | 0.6% |
AASTNode::buildTokenCache | 3,735 | 20,474,866 us | 1.5% | 6,039,276 us | 0.4% |
idx | 11,512,740 | 19,917,628 us | 1.4% | 19,744,137 us | 1.4% |
AASTNode::selectDescendantsOfType | 1,111,276 | 19,690,072 us | 1.4% | 2,108,508 us | 0.2% |
ArcanistPHPCompatibilityXHPASTLinterRule::process | 3,735 | 19,177,946 us | 1.4% | 2,313,926 us | 0.2% |
ArcanistEmptyStatementXHPASTLinterRule::process | 3,735 | 18,762,555 us | 1.4% | 7,358,767 us | 0.5% |
ArcanistReusedAsIteratorXHPASTLinterRule::process | 3,735 | 18,618,012 us | 1.3% | 5,905,956 us | 0.4% |
Future::resolve | 4,822 | 18,278,448 us | 1.3% | 187,308 us | 0.0% |
ArcanistFutureLinter::willLintPaths | 292 | 17,644,131 us | 1.3% | 99,786 us | 0.0% |
ArcanistBinaryExpressionSpacingXHPASTLinterRule::process | 3,735 | 17,584,893 us | 1.3% | 1,039,291 us | 0.1% |
PhutilLibraryMapBuilder::writeSymbolCache | 423 | 17,393,791 us | 1.3% | 10,665,009 us | 0.8% |
FutureIterator::addFuture | 7,691 | 16,229,423 us | 1.2% | 149,903 us | 0.0% |
ArcanistCallParenthesesXHPASTLinterRule::process | 3,735 | 16,214,328 us | 1.2% | 4,689,255 us | 0.3% |
ArcanistPhutilXHPASTLinter::resolveFuture | 3,735 | 13,393,247 us | 1.0% | 114,256 us | 0.0% |
PhutilLibraryMapBuilder::loadSymbolCache | 423 | 13,191,207 us | 1.0% | 9,641 us | 0.0% |
call_user_func | 18,826 | 12,918,555 us | 0.9% | 146,860 us | 0.0% |
ExecFuture::resolvex | 427 | 12,371,866 us | 0.9% | 27,187 us | 0.0% |
ArcanistPHPCompatibilityXHPASTLinterRule::lintPHP53Features | 3,735 | 12,358,598 us | 0.9% | 773,790 us | 0.1% |
ArcanistTodoCommentXHPASTLinterRule::process | 3,735 | 12,152,986 us | 0.9% | 84,342 us | 0.0% |
ArcanistBraceFormattingXHPASTLinterRule::process | 3,735 | 12,141,991 us | 0.9% | 3,730,502 us | 0.3% |
ArcanistXHPASTLinterRule::getConcreteVariableString | 767,815 | 11,389,449 us | 0.8% | 2,689,139 us | 0.2% |
md5_file | 597,008 | 11,277,651 us | 0.8% | 11,277,651 us | 0.8% |
FutureIterator::rewind | 292 | 11,175,140 us | 0.8% | 8,943 us | 0.0% |
Filesystem::readablePath | 597,939 | 10,955,581 us | 0.8% | 5,970,986 us | 0.4% |
ArcanistLogicalOperatorsXHPASTLinterRule::process | 3,735 | 10,428,951 us | 0.8% | 24,465 us | 0.0% |
AASTNodeList::newFromTreeAndNodes | 1,321,642 | 10,171,291 us | 0.7% | 9,236,382 us | 0.7% |
AASTNode::getChildByIndex | 2,703,786 | 9,903,154 us | 0.7% | 9,903,154 us | 0.7% |
ArcanistParenthesesSpacingXHPASTLinterRule::process | 3,735 | 9,689,438 us | 0.7% | 2,474,939 us | 0.2% |
ArcanistXHPASTLinterRule::getFunctionCalls | 22,410 | 9,357,801 us | 0.7% | 2,680,647 us | 0.2% |
ArcanistReusedIteratorReferenceXHPASTLinterRule::process | 3,735 | 8,978,866 us | 0.6% | 2,794,994 us | 0.2% |
ArcanistSelfMemberReferenceXHPASTLinterRule::process | 3,735 | 8,737,026 us | 0.6% | 515,289 us | 0.0% |
ArcanistObjectOperatorSpacingXHPASTLinterRule::process | 3,735 | 8,248,483 us | 0.6% | 391,440 us | 0.0% |
AASTToken::getNonsemanticTokensBefore | 756,360 | 8,060,295 us | 0.6% | 4,119,656 us | 0.3% |
AASTNodeList::valid | 5,186,236 | 8,012,017 us | 0.6% | 7,624,424 us | 0.6% |
ArcanistArraySeparatorXHPASTLinterRule::process | 3,735 | 7,782,840 us | 0.6% | 361,592 us | 0.0% |
ArcanistControlStatementSpacingXHPASTLinterRule::process | 3,735 | 7,641,029 us | 0.6% | 5,996,983 us | 0.4% |
AASTToken::isSemantic | 1,811,827 | 7,328,535 us | 0.5% | 4,017,453 us | 0.3% |
ArcanistBaseXHPASTLinter::getFunctionCalls | 7,470 | 7,168,468 us | 0.5% | 2,015,317 us | 0.1% |
ArcanistCommentSpacingXHPASTLinterRule::process | 3,735 | 7,053,032 us | 0.5% | 61,640 us | 0.0% |
AASTNode::getChildOfType | 618,532 | 6,836,149 us | 0.5% | 2,333,094 us | 0.2% |
Filesystem::resolvePath | 757,845 | 6,835,098 us | 0.5% | 3,075,054 us | 0.2% |
AASTToken::getNextToken | 2,082,236 | 6,702,279 us | 0.5% | 6,083,621 us | 0.4% |
ArcanistDoubleQuoteXHPASTLinterRule::process | 3,735 | 6,509,467 us | 0.5% | 3,009,348 us | 0.2% |
ArcanistLowercaseFunctionsXHPASTLinterRule::process | 3,735 | 6,470,415 us | 0.5% | 5,068,799 us | 0.4% |
AASTNodeList::current | 4,033,208 | 6,365,415 us | 0.5% | 5,850,945 us | 0.4% |
ArcanistLinter::getData | 3,033,103 | 6,309,783 us | 0.5% | 6,061,009 us | 0.4% |
ArcanistSemicolonSpacingXHPASTLinterRule::process | 3,735 | 6,287,484 us | 0.5% | 231,326 us | 0.0% |
ArcanistPhutilXHPASTLinter::lintArrayCombine | 3,735 | 6,020,118 us | 0.4% | 24,634 us | 0.0% |
AASTNode::getSurroundingNonsemanticTokens | 144,408 | 5,989,055 us | 0.4% | 1,542,627 us | 0.1% |
ArcanistElseIfUsageXHPASTLinterRule::process | 3,735 | 5,928,215 us | 0.4% | 18,770 us | 0.0% |
Filesystem::binaryExists | 437 | 5,871,460 us | 0.4% | 2,869 us | 0.0% |
exec_manual | 439 | 5,868,782 us | 0.4% | 13,557 us | 0.0% |
Filesystem::resolveBinary | 437 | 5,868,591 us | 0.4% | 6,351 us | 0.0% |
AASTNode::getLineNumber | 32,430 | 5,682,759 us | 0.4% | 141,031 us | 0.0% |