XHProf Profile
Symbol | Count | Wall Time (Inclusive) | % | Wall Time (Exclusive) | % |
---|---|---|---|---|---|
Total | 386,732,737 | 2,119,485,909 us | 100.0% | 2,119,485,909 us | 100.0% |
main() | 1 | 2,119,485,909 us | 100.0% | 1,076 us | 0.0% |
ArcanistLintWorkflow::run | 1 | 2,119,371,749 us | 100.0% | 49,758 us | 0.0% |
ArcanistLintEngine::run | 1 | 2,118,216,998 us | 99.9% | 59,881 us | 0.0% |
ArcanistLintEngine::executeLinters | 1 | 2,113,733,362 us | 99.7% | 4,829 us | 0.0% |
ArcanistLintEngine::executeLintersOnChunk | 180 | 2,113,725,894 us | 99.7% | 12,113,906 us | 0.6% |
ArcanistLintEngine::executeDidLintOnPaths | 1,600 | 1,740,024,264 us | 82.1% | 47,276 us | 0.0% |
ArcanistFutureLinter::didLintPaths | 292 | 1,739,807,681 us | 82.1% | 368,614 us | 0.0% |
ArcanistXHPASTLinter::resolveFuture | 3,735 | 1,569,995,274 us | 74.1% | 3,404,054 us | 0.2% |
AASTNode::selectTokensOfTypes | 78,960 | 757,289,543 us | 35.7% | 465,904,549 us | 22.0% |
ArcanistKeywordCasingXHPASTLinterRule::process | 3,735 | 622,888,733 us | 29.4% | 1,558,375 us | 0.1% |
ArcanistBaseXHPASTLinter::getXHPASTTreeForPath | 7,470 | 401,838,735 us | 19.0% | 338,015 us | 0.0% |
ArcanistLintEngine::executeLinterOnPaths | 1,600 | 352,344,855 us | 16.6% | 379,775 us | 0.0% |
XHPASTTree::newFromDataAndResolvedExecFuture | 3,735 | 300,816,457 us | 14.2% | 2,235,287 us | 0.1% |
XHPASTTree::__construct | 3,735 | 275,564,395 us | 13.0% | 205,848 us | 0.0% |
AASTTree::__construct | 3,735 | 273,891,039 us | 12.9% | 67,492,013 us | 3.2% |
ArcanistPhutilLibraryLinter::willLintPaths | 141 | 236,165,120 us | 11.1% | 33,006,270 us | 1.6% |
XHPASTToken::getTypeName | 215,941,892 | 208,704,727 us | 9.8% | 199,960,789 us | 9.4% |
PhutilLibraryMapBuilder::buildFileSymbolMap | 423 | 171,853,286 us | 8.1% | 4,755 us | 0.0% |
PhutilLibraryMapBuilder::analyzeLibrary | 423 | 171,848,531 us | 8.1% | 1,576,854 us | 0.1% |
AASTNode::getTokens | 4,169,101 | 167,137,913 us | 7.9% | 128,902,308 us | 6.1% |
AASTTree::buildTree | 892,368 | 124,096,367 us | 5.9% | 50,132,979 us | 2.4% |
AASTNode::selectTokensOfType | 67,755 | 120,701,989 us | 5.7% | 272,714 us | 0.0% |
FutureIterator::next | 7,983 | 92,764,998 us | 4.4% | 1,271,465 us | 0.1% |
PhutilLibraryMapBuilder::loadSourceFileMap | 423 | 90,454,598 us | 4.3% | 6,720,142 us | 0.3% |
ArcanistSpellingLinter::lintPath | 5,001 | 85,052,780 us | 4.0% | 7,723,457 us | 0.4% |
XHPASTTree::newNode | 1,688,729 | 79,539,682 us | 3.8% | 37,851,376 us | 1.8% |
ArcanistSpellingLinter::checkExactWord | 2,935,587 | 76,811,582 us | 3.6% | 22,938,736 us | 1.1% |
Future::waitForSockets | 11,125 | 75,087,271 us | 3.5% | 214,890 us | 0.0% |
stream_select | 11,125 | 74,872,356 us | 3.5% | 74,872,356 us | 3.5% |
XHPASTTree::newToken | 2,321,196 | 69,711,424 us | 3.3% | 63,414,752 us | 3.0% |
AASTNode::getConcreteString | 3,000,540 | 64,269,820 us | 3.0% | 26,667,847 us | 1.3% |
ExecFuture::isReady | 82,268 | 63,529,148 us | 3.0% | 2,881,523 us | 0.1% |
AASTNode::buildSelectCache | 1,688,729 | 63,308,996 us | 3.0% | 64,183,017 us | 3.0% |
FileFinder::find | 424 | 61,983,157 us | 2.9% | 8,817,804 us | 0.4% |
ArcanistBaseXHPASTLinter::didResolveLinterFutures | 282 | 56,079,010 us | 2.6% | 6,406 us | 0.0% |
ArcanistBaseXHPASTLinter::releaseSharedFutures | 282 | 56,065,161 us | 2.6% | 56,065,161 us | 2.6% |
FutureIterator::updateWorkingSet | 15,674 | 50,441,247 us | 2.4% | 470,593 us | 0.0% |
proc_open | 4,822 | 48,772,800 us | 2.3% | 48,772,800 us | 2.3% |
phutil_json_decode | 4,384 | 44,016,281 us | 2.1% | 153,532 us | 0.0% |
json_decode | 4,384 | 43,639,278 us | 2.1% | 43,639,278 us | 2.1% |
AASTNode::__construct | 1,688,729 | 41,685,983 us | 2.0% | 41,685,983 us | 2.0% |
preg_match_all | 2,971,312 | 40,136,446 us | 1.9% | 40,136,446 us | 1.9% |
ArcanistUndeclaredVariableXHPASTLinterRule::process | 3,735 | 39,625,242 us | 1.9% | 9,894,697 us | 0.5% |
idx | 11,512,740 | 37,079,213 us | 1.7% | 35,361,011 us | 1.7% |
range | 4,167,162 | 35,712,052 us | 1.7% | 35,712,052 us | 1.7% |
PhutilLibraryMapBuilder::buildLibraryMap | 423 | 34,556,190 us | 1.6% | 32,559,575 us | 1.5% |
ArcanistNamingConventionsXHPASTLinterRule::process | 3,735 | 33,970,506 us | 1.6% | 12,481,492 us | 0.6% |
AASTNode::buildTokenCache | 3,735 | 32,342,248 us | 1.5% | 8,627,161 us | 0.4% |
AASTNode::selectDescendantsOfTypes | 1,174,809 | 32,041,820 us | 1.5% | 12,039,262 us | 0.6% |
ArcanistPHPCompatibilityXHPASTLinterRule::process | 3,735 | 31,242,107 us | 1.5% | 3,121,736 us | 0.1% |
AASTNode::selectDescendantsOfType | 1,111,276 | 31,186,800 us | 1.5% | 3,550,030 us | 0.2% |
ArcanistReusedAsIteratorXHPASTLinterRule::process | 3,735 | 30,871,489 us | 1.5% | 8,073,590 us | 0.4% |
ArcanistEmptyStatementXHPASTLinterRule::process | 3,735 | 30,666,421 us | 1.4% | 9,791,030 us | 0.5% |
ArcanistBinaryExpressionSpacingXHPASTLinterRule::process | 3,735 | 28,106,826 us | 1.3% | 1,428,097 us | 0.1% |
Future::resolve | 4,822 | 27,664,774 us | 1.3% | 349,854 us | 0.0% |
ArcanistCallParenthesesXHPASTLinterRule::process | 3,735 | 25,437,400 us | 1.2% | 6,345,744 us | 0.3% |
PhutilLibraryMapBuilder::writeSymbolCache | 423 | 24,137,684 us | 1.1% | 13,496,708 us | 0.6% |
ArcanistFutureLinter::willLintPaths | 292 | 22,951,589 us | 1.1% | 128,729 us | 0.0% |
FutureIterator::addFuture | 7,691 | 21,147,911 us | 1.0% | 323,187 us | 0.0% |
PhutilLibraryMapBuilder::loadSymbolCache | 423 | 20,866,476 us | 1.0% | 13,403 us | 0.0% |
md5_file | 597,008 | 20,247,398 us | 1.0% | 20,247,398 us | 1.0% |
ArcanistPHPCompatibilityXHPASTLinterRule::lintPHP53Features | 3,735 | 20,118,020 us | 0.9% | 984,521 us | 0.0% |
Filesystem::readablePath | 597,939 | 20,081,170 us | 0.9% | 9,049,053 us | 0.4% |
ArcanistTodoCommentXHPASTLinterRule::process | 3,735 | 19,725,533 us | 0.9% | 113,118 us | 0.0% |
ExecFuture::resolvex | 427 | 19,678,743 us | 0.9% | 5,831 us | 0.0% |
ArcanistPhutilXHPASTLinter::resolveFuture | 3,735 | 19,370,654 us | 0.9% | 179,150 us | 0.0% |
ArcanistXHPASTLinterRule::getConcreteVariableString | 767,815 | 18,645,965 us | 0.9% | 3,883,427 us | 0.2% |
call_user_func | 18,826 | 18,599,874 us | 0.9% | 208,037 us | 0.0% |
ArcanistBraceFormattingXHPASTLinterRule::process | 3,735 | 18,410,262 us | 0.9% | 4,757,499 us | 0.2% |
ArcanistLogicalOperatorsXHPASTLinterRule::process | 3,735 | 17,428,853 us | 0.8% | 34,102 us | 0.0% |
AASTNodeList::valid | 5,186,236 | 16,608,217 us | 0.8% | 14,325,931 us | 0.7% |
AASTNodeList::newFromTreeAndNodes | 1,321,642 | 15,910,905 us | 0.8% | 13,137,228 us | 0.6% |
ArcanistParenthesesSpacingXHPASTLinterRule::process | 3,735 | 15,832,180 us | 0.7% | 3,345,956 us | 0.2% |
ArcanistXHPASTLinterRule::getFunctionCalls | 22,410 | 15,226,197 us | 0.7% | 3,722,966 us | 0.2% |
ArcanistReusedIteratorReferenceXHPASTLinterRule::process | 3,735 | 14,881,985 us | 0.7% | 3,786,622 us | 0.2% |
Filesystem::resolvePath | 757,845 | 14,407,729 us | 0.7% | 5,059,051 us | 0.2% |
AASTNode::getChildByIndex | 2,703,786 | 14,292,620 us | 0.7% | 14,292,620 us | 0.7% |
AASTToken::getNonsemanticTokensBefore | 756,360 | 13,554,148 us | 0.6% | 5,957,288 us | 0.3% |
ArcanistSelfMemberReferenceXHPASTLinterRule::process | 3,735 | 13,462,927 us | 0.6% | 711,144 us | 0.0% |
ArcanistObjectOperatorSpacingXHPASTLinterRule::process | 3,735 | 13,130,789 us | 0.6% | 565,297 us | 0.0% |
AASTNodeList::current | 4,033,208 | 13,058,955 us | 0.6% | 9,643,159 us | 0.5% |
AASTToken::isSemantic | 1,811,827 | 12,811,132 us | 0.6% | 6,904,797 us | 0.3% |
ArcanistLinter::getData | 3,033,103 | 12,714,400 us | 0.6% | 10,842,486 us | 0.5% |
AASTToken::getNextToken | 2,082,236 | 12,518,603 us | 0.6% | 9,276,332 us | 0.4% |
FutureIterator::rewind | 292 | 12,473,806 us | 0.6% | 12,494 us | 0.0% |
ArcanistControlStatementSpacingXHPASTLinterRule::process | 3,735 | 11,840,365 us | 0.6% | 7,593,939 us | 0.4% |
ArcanistArraySeparatorXHPASTLinterRule::process | 3,735 | 11,778,816 us | 0.6% | 447,040 us | 0.0% |
ArcanistDoubleQuoteXHPASTLinterRule::process | 3,735 | 11,286,948 us | 0.5% | 4,122,348 us | 0.2% |
ArcanistCommentSpacingXHPASTLinterRule::process | 3,735 | 10,813,216 us | 0.5% | 87,892 us | 0.0% |
ArcanistLowercaseFunctionsXHPASTLinterRule::process | 3,735 | 10,644,735 us | 0.5% | 8,104,446 us | 0.4% |
ArcanistLinter::getPaths | 2,521 | 10,537,516 us | 0.5% | 22,670 us | 0.0% |
ArcanistLinter::filterPaths | 14 | 10,509,388 us | 0.5% | 987,237 us | 0.0% |
AASTNode::getTypeName | 3,109,672 | 10,301,327 us | 0.5% | 8,219,432 us | 0.4% |
ArcanistBaseXHPASTLinter::getFunctionCalls | 7,470 | 10,165,755 us | 0.5% | 2,638,865 us | 0.1% |
AASTNode::getChildOfType | 618,532 | 10,120,078 us | 0.5% | 3,391,168 us | 0.2% |
ArcanistSemicolonSpacingXHPASTLinterRule::process | 3,735 | 10,098,208 us | 0.5% | 348,579 us | 0.0% |
AASTNode::getSurroundingNonsemanticTokens | 144,408 | 9,681,965 us | 0.5% | 2,109,119 us | 0.1% |
ArcanistElseIfUsageXHPASTLinterRule::process | 3,735 | 9,664,430 us | 0.5% | 27,571 us | 0.0% |
AASTToken::getNonsemanticTokensAfter | 485,458 | 9,393,197 us | 0.4% | 4,373,366 us | 0.2% |
ArcanistCommentStyleXHPASTLinterRule::process | 3,735 | 8,855,989 us | 0.4% | 48,415 us | 0.0% |