XHProf Profile
Symbol | Count | Wall Time (Inclusive) | % | Wall Time (Exclusive) | % |
---|---|---|---|---|---|
Total | 151,026,481 | 975,177,245 us | 100.0% | 975,177,245 us | 100.0% |
main() | 1 | 975,177,245 us | 100.0% | 425 us | 0.0% |
ArcanistLintWorkflow::run | 1 | 975,088,094 us | 100.0% | 54,351 us | 0.0% |
ArcanistLintEngine::run | 1 | 973,392,097 us | 99.8% | 56,800 us | 0.0% |
ArcanistLintEngine::executeLinters | 1 | 953,058,194 us | 97.7% | 3,028 us | 0.0% |
ArcanistLintEngine::executeLintersOnChunk | 163 | 953,054,371 us | 97.7% | 5,374,833 us | 0.6% |
ArcanistLintEngine::executeDidLintOnPaths | 1,444 | 704,879,829 us | 72.3% | 10,782 us | 0.0% |
ArcanistFutureLinter::didLintPaths | 264 | 704,767,255 us | 72.3% | 274,189 us | 0.0% |
ArcanistXHPASTLinter::resolveFuture | 3,326 | 629,908,025 us | 64.6% | 1,241,578 us | 0.1% |
ArcanistBaseXHPASTLinter::getXHPASTTreeForPath | 6,652 | 365,391,254 us | 37.5% | 238,854 us | 0.0% |
call_user_func | 186,256 | 272,763,396 us | 28.0% | 1,963,064 us | 0.2% |
XHPASTTree::newFromDataAndResolvedExecFuture | 3,326 | 262,158,835 us | 26.9% | 1,770,266 us | 0.2% |
XHPASTTree::__construct | 3,326 | 240,992,551 us | 24.7% | 132,101 us | 0.0% |
ArcanistLintEngine::executeLinterOnPaths | 1,444 | 239,620,296 us | 24.6% | 249,446 us | 0.0% |
AASTTree::__construct | 3,326 | 239,469,923 us | 24.6% | 58,233,371 us | 6.0% |
ArcanistPhutilLibraryLinter::willLintPaths | 127 | 168,369,719 us | 17.3% | 18,625,269 us | 1.9% |
PhutilLibraryMapBuilder::buildFileSymbolMap | 381 | 132,948,140 us | 13.6% | 3,299 us | 0.0% |
PhutilLibraryMapBuilder::analyzeLibrary | 381 | 132,944,841 us | 13.6% | 22,419,396 us | 2.3% |
AASTTree::buildTree | 817,162 | 106,008,127 us | 10.9% | 68,008,269 us | 7.0% |
AASTNode::buildSelectCache | 1,548,228 | 71,855,213 us | 7.4% | 75,185,591 us | 7.7% |
XHPASTTree::newToken | 2,127,809 | 64,464,705 us | 6.6% | 60,573,886 us | 6.2% |
FutureIterator::next | 7,169 | 63,696,352 us | 6.5% | 912,037 us | 0.1% |
ExecFuture::isReady | 73,335 | 56,058,828 us | 5.7% | 1,978,049 us | 0.2% |
AASTNode::getTokens | 2,581,445 | 54,614,056 us | 5.6% | 48,863,348 us | 5.0% |
PhutilLibraryMapBuilder::loadSourceFileMap | 381 | 48,418,292 us | 5.0% | 3,876,185 us | 0.4% |
ArcanistSpellingLinter::lintPath | 4,445 | 48,092,305 us | 4.9% | 4,581,851 us | 0.5% |
FutureIterator::updateWorkingSet | 14,038 | 46,414,397 us | 4.8% | 441,206 us | 0.0% |
proc_open | 4,358 | 45,602,065 us | 4.7% | 45,602,065 us | 4.7% |
XHPASTTree::newNode | 1,548,228 | 44,527,069 us | 4.6% | 40,918,874 us | 4.2% |
ArcanistSpellingLinter::checkExactWord | 2,609,215 | 43,223,449 us | 4.4% | 13,549,431 us | 1.4% |
PhutilLibraryMapBuilder::buildLibraryMap | 381 | 40,697,892 us | 4.2% | 39,800,930 us | 4.1% |
Future::waitForSockets | 9,010 | 39,598,680 us | 4.1% | 492,986 us | 0.1% |
stream_select | 9,010 | 39,105,680 us | 4.0% | 39,105,680 us | 4.0% |
AASTNode::getConcreteString | 2,077,015 | 37,325,981 us | 3.8% | 12,316,312 us | 1.3% |
FileFinder::find | 382 | 34,167,401 us | 3.5% | 4,836,867 us | 0.5% |
ArcanistXHPASTLinter::lintUndeclaredVariables | 3,326 | 32,755,664 us | 3.4% | 7,132,832 us | 0.7% |
AASTNode::selectDescendantsOfTypes | 732,638 | 30,342,321 us | 3.1% | 6,847,784 us | 0.7% |
json_decode | 3,964 | 30,070,086 us | 3.1% | 30,070,086 us | 3.1% |
AASTNode::selectDescendantsOfType | 681,949 | 29,815,912 us | 3.1% | 1,521,820 us | 0.2% |
AASTNode::buildTokenCache | 3,326 | 25,696,129 us | 2.6% | 7,109,259 us | 0.7% |
ArcanistXHPASTLinter::lintNamingConventions | 3,326 | 25,628,319 us | 2.6% | 10,339,676 us | 1.1% |
ArcanistXHPASTLinter::lintEmptyBlockStatements | 3,326 | 24,524,365 us | 2.5% | 6,931,178 us | 0.7% |
idx | 10,432,451 | 22,831,788 us | 2.3% | 22,000,336 us | 2.3% |
preg_match_all | 2,642,055 | 22,781,957 us | 2.3% | 22,781,957 us | 2.3% |
AASTNodeList::newFromTreeAndNodes | 801,901 | 21,788,728 us | 2.2% | 7,945,139 us | 0.8% |
phutil_json_decode | 3,331 | 19,424,007 us | 2.0% | 109,293 us | 0.0% |
ArcanistConfigurationDrivenLintEngine::buildLinters | 1 | 18,618,553 us | 1.9% | 853 us | 0.0% |
ArcanistConfigurationDrivenLintEngine::matchPaths | 14 | 18,515,989 us | 1.9% | 1,302,177 us | 0.1% |
pht | 677,528 | 18,232,578 us | 1.9% | 4,251,791 us | 0.4% |
ArcanistFutureLinter::willLintPaths | 264 | 17,909,927 us | 1.8% | 117,529 us | 0.0% |
Future::resolve | 4,358 | 17,739,009 us | 1.8% | 193,198 us | 0.0% |
FutureIterator::addFuture | 6,869 | 16,262,627 us | 1.7% | 275,968 us | 0.0% |
ArcanistXHPASTLinter::lintBraceFormatting | 3,326 | 15,281,426 us | 1.6% | 2,780,829 us | 0.3% |
call_user_func_array | 719,997 | 14,896,587 us | 1.5% | 4,327,221 us | 0.4% |
ArcanistPhutilXHPASTLinter::resolveFuture | 3,326 | 14,735,924 us | 1.5% | 102,547 us | 0.0% |
XHPASTToken::getTypeName | 6,751,266 | 14,125,296 us | 1.4% | 9,105,449 us | 0.9% |
ArcanistXHPASTLinter::lintReusedIteratorReferences | 3,326 | 14,074,145 us | 1.4% | 2,725,810 us | 0.3% |
ArcanistXHPASTLinter::lintImplicitFallthrough | 3,326 | 13,134,591 us | 1.3% | 1,027,823 us | 0.1% |
assert_instances_of | 802,330 | 12,753,429 us | 1.3% | 12,477,107 us | 1.3% |
ExecFuture::resolvex | 420 | 11,564,823 us | 1.2% | 3,530 us | 0.0% |
PhutilLibraryMapBuilder::loadSymbolCache | 381 | 10,818,868 us | 1.1% | 10,913 us | 0.0% |
ArcanistXHPASTLinter::lintParenthesesShouldHugExpressions | 3,326 | 10,723,397 us | 1.1% | 2,650,068 us | 0.3% |
ArcanistLinter::getDeprecatedConfiguration | 3,398 | 10,376,477 us | 1.1% | 61,124 us | 0.0% |
ArcanistConfigurationManager::getConfigFromAnySource | 3,404 | 10,322,132 us | 1.1% | 14,355 us | 0.0% |
ArcanistConfigurationManager::getConfigFromAllSources | 3,404 | 10,307,755 us | 1.1% | 150,219 us | 0.0% |
Filesystem::readablePath | 478,459 | 9,994,510 us | 1.0% | 5,284,533 us | 0.5% |
ArcanistXHPASTLinter::lintSpaceAfterControlStatementKeywords | 3,326 | 9,910,876 us | 1.0% | 5,528,832 us | 0.6% |
ArcanistSettings::getOptions | 10,139 | 9,708,789 us | 1.0% | 737,924 us | 0.1% |
ArcanistXHPASTLinter::lintPHPCompatibility | 3,326 | 9,552,932 us | 1.0% | 2,151,754 us | 0.2% |
PhutilTranslator::translate | 677,816 | 9,507,882 us | 1.0% | 6,070,165 us | 0.6% |
md5_file | 477,280 | 9,472,859 us | 1.0% | 9,472,859 us | 1.0% |
ArcanistXHPASTLinter::lintClosingCallParen | 3,326 | 9,384,581 us | 1.0% | 2,199,963 us | 0.2% |
ArcanistXHPASTLinter::getConcreteVariableString | 470,832 | 9,313,029 us | 1.0% | 1,920,724 us | 0.2% |
PhutilConsole::writeLog | 419,613 | 9,159,897 us | 0.9% | 1,200,549 us | 0.1% |
AASTNode::getChildByIndex | 1,791,872 | 8,934,416 us | 0.9% | 8,934,416 us | 0.9% |
AASTNodeList::valid | 3,662,844 | 8,811,992 us | 0.9% | 7,727,736 us | 0.8% |
PhutilConsole::writeTextMessage | 420,039 | 8,460,047 us | 0.9% | 2,281,739 us | 0.2% |
AASTToken::getNextToken | 1,904,772 | 8,222,154 us | 0.8% | 6,617,864 us | 0.7% |
AASTNodeList::current | 2,946,716 | 7,701,716 us | 0.8% | 6,623,525 us | 0.7% |
ArcanistXHPASTLinter::lintSpaceAroundBinaryOperators | 3,326 | 7,494,093 us | 0.8% | 1,311,950 us | 0.1% |
ArcanistLinter::getData | 2,695,909 | 7,399,826 us | 0.8% | 6,868,196 us | 0.7% |
ArcanistXHPASTLinter::lintStrings | 3,326 | 7,220,937 us | 0.7% | 2,885,611 us | 0.3% |
ArcanistXHPASTLinter::lintLowercaseFunctions | 3,326 | 7,203,654 us | 0.7% | 5,777,022 us | 0.6% |
ArcanistXHPASTLinter::lintUnnecessarySemicolons | 3,326 | 7,185,703 us | 0.7% | 1,837,828 us | 0.2% |
ArcanistWorkingCopyIdentity::getProjectConfig | 6,734 | 7,101,088 us | 0.7% | 65,499 us | 0.0% |
ArcanistSettings::getLegacyName | 6,731 | 7,010,681 us | 0.7% | 45,059 us | 0.0% |
AASTNode::getTypeName | 2,071,947 | 7,000,855 us | 0.7% | 5,522,149 us | 0.6% |
ArcanistSettings::getOption | 6,735 | 6,951,183 us | 0.7% | 116,701 us | 0.0% |
FutureIterator::rewind | 265 | 6,847,915 us | 0.7% | 10,282 us | 0.0% |
ArcanistXHPASTLinter::lintArraySeparator | 3,326 | 6,731,724 us | 0.7% | 295,995 us | 0.0% |
ArcanistPhutilXHPASTLinter::lintUnsafeDynamicString | 3,326 | 6,563,476 us | 0.7% | 57,650 us | 0.0% |
AASTToken::getNonsemanticTokensBefore | 416,316 | 6,449,613 us | 0.7% | 3,497,595 us | 0.4% |
PhutilConsole::writeMessage | 420,039 | 6,104,716 us | 0.6% | 1,868,992 us | 0.2% |
Filesystem::resolvePath | 622,508 | 6,085,128 us | 0.6% | 4,066,475 us | 0.4% |
Filesystem::binaryExists | 393 | 6,082,732 us | 0.6% | 2,859 us | 0.0% |
exec_manual | 395 | 6,082,601 us | 0.6% | 14,732 us | 0.0% |
Filesystem::resolveBinary | 393 | 6,079,873 us | 0.6% | 6,597 us | 0.0% |
AASTToken::isSemantic | 1,194,292 | 5,938,497 us | 0.6% | 3,298,367 us | 0.3% |
ArcanistConfigurationManager::readDefaultConfig | 3,404 | 5,867,790 us | 0.6% | 13,418 us | 0.0% |
ArcanistSettings::getDefaultSettings | 3,404 | 5,854,372 us | 0.6% | 2,938,352 us | 0.3% |
PhutilLibraryMapBuilder::writeSymbolCache | 381 | 5,805,456 us | 0.6% | 581,801 us | 0.1% |