XHProf Profile
SymbolCountWall Time (Inclusive)%Wall Time (Exclusive)%
Total386,748,2361,381,944,699 us100.0%1,381,944,699 us100.0%
main()11,381,944,699 us100.0%253 us0.0%
ArcanistLintWorkflow::run11,381,905,418 us100.0%47,104 us0.0%
ArcanistLintEngine::run11,380,502,870 us99.9%56,237 us0.0%
ArcanistLintEngine::executeLinters11,378,222,223 us99.7%3,526 us0.0%
ArcanistLintEngine::executeLintersOnChunk1801,378,217,681 us99.7%7,550,224 us0.5%
ArcanistLintEngine::executeDidLintOnPaths1,6001,146,881,089 us83.0%12,358 us0.0%
ArcanistFutureLinter::didLintPaths2921,146,753,466 us83.0%333,874 us0.0%
ArcanistXHPASTLinter::resolveFuture3,7351,009,308,763 us73.0%2,312,769 us0.2%
AASTNode::selectTokensOfTypes78,960456,473,210 us33.0%359,011,626 us26.0%
ArcanistKeywordCasingXHPASTLinterRule::process3,735372,306,494 us26.9%1,146,099 us0.1%
ArcanistBaseXHPASTLinter::getXHPASTTreeForPath7,470295,309,389 us21.4%277,245 us0.0%
XHPASTTree::newFromDataAndResolvedExecFuture3,735224,252,860 us16.2%1,492,294 us0.1%
ArcanistLintEngine::executeLinterOnPaths1,600220,032,688 us15.9%285,438 us0.0%
XHPASTTree::__construct3,735207,229,838 us15.0%151,013 us0.0%
AASTTree::__construct3,735206,079,052 us14.9%52,533,075 us3.8%
ArcanistPhutilLibraryLinter::willLintPaths141149,231,623 us10.8%20,909,757 us1.5%
PhutilLibraryMapBuilder::buildFileSymbolMap423110,858,226 us8.0%3,333 us0.0%
PhutilLibraryMapBuilder::analyzeLibrary423110,854,893 us8.0%1,155,474 us0.1%
AASTNode::getTokens4,169,101104,658,104 us7.6%82,933,357 us6.0%
AASTTree::buildTree892,36894,709,788 us6.9%38,814,933 us2.8%
FutureIterator::next7,98377,252,426 us5.6%947,232 us0.1%
AASTNode::selectTokensOfType67,75575,673,773 us5.5%163,717 us0.0%
XHPASTTree::newNode1,688,72960,162,952 us4.4%27,778,100 us2.0%
Future::waitForSockets11,12859,919,807 us4.3%137,304 us0.0%
stream_select11,12859,782,493 us4.3%59,782,493 us4.3%
PhutilLibraryMapBuilder::loadSourceFileMap42353,440,949 us3.9%4,417,932 us0.3%
XHPASTTree::newToken2,321,19651,057,560 us3.7%47,470,255 us3.4%
ExecFuture::isReady82,71549,606,091 us3.6%1,885,275 us0.1%
ArcanistSpellingLinter::lintPath5,00148,091,012 us3.5%5,016,886 us0.4%
AASTNode::buildSelectCache1,688,72946,529,918 us3.4%48,977,410 us3.5%
ArcanistBaseXHPASTLinter::didResolveLinterFutures28245,445,179 us3.3%4,599 us0.0%
ArcanistBaseXHPASTLinter::releaseSharedFutures28245,436,125 us3.3%45,436,125 us3.3%
ArcanistSpellingLinter::checkExactWord2,935,58742,809,592 us3.1%14,198,612 us1.0%
XHPASTToken::getTypeName215,941,89242,106,609 us3.0%37,692,432 us2.7%
FutureIterator::updateWorkingSet15,67440,372,970 us2.9%637,799 us0.0%
AASTNode::getConcreteString3,000,54039,543,440 us2.9%18,923,796 us1.4%
proc_open4,82239,249,501 us2.8%39,249,501 us2.8%
FileFinder::find42437,894,794 us2.7%5,791,286 us0.4%
AASTNode::__construct1,688,72932,384,044 us2.3%32,384,044 us2.3%
phutil_json_decode4,38429,067,673 us2.1%122,267 us0.0%
json_decode4,38428,831,987 us2.1%28,831,987 us2.1%
PhutilLibraryMapBuilder::buildLibraryMap42325,513,998 us1.8%24,806,609 us1.8%
ArcanistUndeclaredVariableXHPASTLinterRule::process3,73524,499,365 us1.8%7,388,292 us0.5%
ArcanistNamingConventionsXHPASTLinterRule::process3,73523,093,460 us1.7%9,569,586 us0.7%
preg_match_all2,971,31222,955,901 us1.7%22,955,901 us1.7%
range4,167,16221,185,408 us1.5%21,185,408 us1.5%
AASTNode::selectDescendantsOfTypes1,174,80920,753,859 us1.5%8,365,065 us0.6%
AASTNode::buildTokenCache3,73520,474,866 us1.5%6,039,276 us0.4%
idx11,512,74019,917,628 us1.4%19,744,137 us1.4%
AASTNode::selectDescendantsOfType1,111,27619,690,072 us1.4%2,108,508 us0.2%
ArcanistPHPCompatibilityXHPASTLinterRule::process3,73519,177,946 us1.4%2,313,926 us0.2%
ArcanistEmptyStatementXHPASTLinterRule::process3,73518,762,555 us1.4%7,358,767 us0.5%
ArcanistReusedAsIteratorXHPASTLinterRule::process3,73518,618,012 us1.3%5,905,956 us0.4%
Future::resolve4,82218,278,448 us1.3%187,308 us0.0%
ArcanistFutureLinter::willLintPaths29217,644,131 us1.3%99,786 us0.0%
ArcanistBinaryExpressionSpacingXHPASTLinterRule::process3,73517,584,893 us1.3%1,039,291 us0.1%
PhutilLibraryMapBuilder::writeSymbolCache42317,393,791 us1.3%10,665,009 us0.8%
FutureIterator::addFuture7,69116,229,423 us1.2%149,903 us0.0%
ArcanistCallParenthesesXHPASTLinterRule::process3,73516,214,328 us1.2%4,689,255 us0.3%
ArcanistPhutilXHPASTLinter::resolveFuture3,73513,393,247 us1.0%114,256 us0.0%
PhutilLibraryMapBuilder::loadSymbolCache42313,191,207 us1.0%9,641 us0.0%
call_user_func18,82612,918,555 us0.9%146,860 us0.0%
ExecFuture::resolvex42712,371,866 us0.9%27,187 us0.0%
ArcanistPHPCompatibilityXHPASTLinterRule::lintPHP53Features3,73512,358,598 us0.9%773,790 us0.1%
ArcanistTodoCommentXHPASTLinterRule::process3,73512,152,986 us0.9%84,342 us0.0%
ArcanistBraceFormattingXHPASTLinterRule::process3,73512,141,991 us0.9%3,730,502 us0.3%
ArcanistXHPASTLinterRule::getConcreteVariableString767,81511,389,449 us0.8%2,689,139 us0.2%
md5_file597,00811,277,651 us0.8%11,277,651 us0.8%
FutureIterator::rewind29211,175,140 us0.8%8,943 us0.0%
Filesystem::readablePath597,93910,955,581 us0.8%5,970,986 us0.4%
ArcanistLogicalOperatorsXHPASTLinterRule::process3,73510,428,951 us0.8%24,465 us0.0%
AASTNodeList::newFromTreeAndNodes1,321,64210,171,291 us0.7%9,236,382 us0.7%
AASTNode::getChildByIndex2,703,7869,903,154 us0.7%9,903,154 us0.7%
ArcanistParenthesesSpacingXHPASTLinterRule::process3,7359,689,438 us0.7%2,474,939 us0.2%
ArcanistXHPASTLinterRule::getFunctionCalls22,4109,357,801 us0.7%2,680,647 us0.2%
ArcanistReusedIteratorReferenceXHPASTLinterRule::process3,7358,978,866 us0.6%2,794,994 us0.2%
ArcanistSelfMemberReferenceXHPASTLinterRule::process3,7358,737,026 us0.6%515,289 us0.0%
ArcanistObjectOperatorSpacingXHPASTLinterRule::process3,7358,248,483 us0.6%391,440 us0.0%
AASTToken::getNonsemanticTokensBefore756,3608,060,295 us0.6%4,119,656 us0.3%
AASTNodeList::valid5,186,2368,012,017 us0.6%7,624,424 us0.6%
ArcanistArraySeparatorXHPASTLinterRule::process3,7357,782,840 us0.6%361,592 us0.0%
ArcanistControlStatementSpacingXHPASTLinterRule::process3,7357,641,029 us0.6%5,996,983 us0.4%
AASTToken::isSemantic1,811,8277,328,535 us0.5%4,017,453 us0.3%
ArcanistBaseXHPASTLinter::getFunctionCalls7,4707,168,468 us0.5%2,015,317 us0.1%
ArcanistCommentSpacingXHPASTLinterRule::process3,7357,053,032 us0.5%61,640 us0.0%
AASTNode::getChildOfType618,5326,836,149 us0.5%2,333,094 us0.2%
Filesystem::resolvePath757,8456,835,098 us0.5%3,075,054 us0.2%
AASTToken::getNextToken2,082,2366,702,279 us0.5%6,083,621 us0.4%
ArcanistDoubleQuoteXHPASTLinterRule::process3,7356,509,467 us0.5%3,009,348 us0.2%
ArcanistLowercaseFunctionsXHPASTLinterRule::process3,7356,470,415 us0.5%5,068,799 us0.4%
AASTNodeList::current4,033,2086,365,415 us0.5%5,850,945 us0.4%
ArcanistLinter::getData3,033,1036,309,783 us0.5%6,061,009 us0.4%
ArcanistSemicolonSpacingXHPASTLinterRule::process3,7356,287,484 us0.5%231,326 us0.0%
ArcanistPhutilXHPASTLinter::lintArrayCombine3,7356,020,118 us0.4%24,634 us0.0%
AASTNode::getSurroundingNonsemanticTokens144,4085,989,055 us0.4%1,542,627 us0.1%
ArcanistElseIfUsageXHPASTLinterRule::process3,7355,928,215 us0.4%18,770 us0.0%
Filesystem::binaryExists4375,871,460 us0.4%2,869 us0.0%
exec_manual4395,868,782 us0.4%13,557 us0.0%
Filesystem::resolveBinary4375,868,591 us0.4%6,351 us0.0%
AASTNode::getLineNumber32,4305,682,759 us0.4%141,031 us0.0%