| Symbol | Count | Wall Time | % |
|---|
| Metrics for this Call | | | |
| mpull | 572,726 | 3,924,651 us | 100.0% |
| Parent Calls | | | |
| PhutilArgumentParser::mergeSpecs | 1 | 86 us | |
| PhutilArgumentParser::parsePartial | 2 | 142 us | |
| ArcanistXHPASTLinter::getLinterConfigurationOptions | 1 | 8,927 us | |
| msort | 1 | 93 us | |
| ArcanistXHPASTLinter::getLintSeverityMap | 1 | 1,122 us | |
| ArcanistArrayIndexSpacingXHPASTLinterRule::process | 12,587 | 29,244 us | |
| ArcanistArrayValueXHPASTLinterRule::process | 25,450 | 220,331 us | |
| ArcanistCallParenthesesXHPASTLinterRule::process | 263,323 | 567,779 us | |
| ArcanistDeclarationParenthesesXHPASTLinterRule::process | 44,620 | 93,197 us | |
| AASTNode::getSemanticString | 121,961 | 1,657,894 us | |
| ArcanistObjectOperatorSpacingXHPASTLinterRule::process | 25,596 | 188,779 us | |
| ArcanistParenthesesSpacingXHPASTLinterRule::process | 52,234 | 289,883 us | |
| ArcanistXHPASTLinter::getLintNameMap | 1 | 2,001 us | |
| ArcanistModifierOrderingXHPASTLinterRule::lintMethodModifierOrdering | 22,284 | 619,576 us | |
| ArcanistModifierOrderingXHPASTLinterRule::lintPropertyModifierOrdering | 4,664 | 245,597 us | |
| Child Calls | | | |
| AASTNode::getConcreteString | 28,718 | 667,306 us | 17.0% |
| AASTToken::getValue | 238,412 | 221,677 us | 5.6% |
| ArcanistXHPASTLinterRule::getLinterConfigurationOptions | 71 | 7,724 us | 0.2% |
| ArcanistXHPASTLinterRule::getLintID | 150 | 261 us | 0.0% |
| ArcanistImplicitFallthroughXHPASTLinterRule::getLinterConfigurationOptions | 1 | 194 us | 0.0% |
| ArcanistFormattedStringXHPASTLinterRule::getLinterConfigurationOptions | 1 | 189 us | 0.0% |
| ArcanistBlacklistedFunctionXHPASTLinterRule::getLinterConfigurationOptions | 1 | 186 us | 0.0% |
| ArcanistNamingConventionsXHPASTLinterRule::getLinterConfigurationOptions | 1 | 182 us | 0.0% |
| ArcanistXHPASTLinterRule::getLintSeverity | 31 | 64 us | 0.0% |
| PhutilArgumentSpecification::getShortAlias | 15 | 42 us | 0.0% |
| ArcanistAliasFunctionXHPASTLinterRule::getLintName | 1 | 37 us | 0.0% |
| ArcanistPregQuoteMisuseXHPASTLinterRule::getLintName | 1 | 34 us | 0.0% |
| ArcanistToStringExceptionXHPASTLinterRule::getLintName | 1 | 30 us | 0.0% |
| ArcanistStaticThisXHPASTLinterRule::getLintName | 1 | 24 us | 0.0% |
| ArcanistArrayIndexSpacingXHPASTLinterRule::getLintName | 1 | 24 us | 0.0% |
| ArcanistDynamicDefineXHPASTLinterRule::getLintName | 1 | 22 us | 0.0% |
| ArcanistLambdaFuncFunctionXHPASTLinterRule::getLintName | 1 | 22 us | 0.0% |
| ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRule::getLintName | 1 | 22 us | 0.0% |
| ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistArraySeparatorXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistInstanceOfOperatorXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistUndeclaredVariableXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistBlacklistedFunctionXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| PhutilArgumentSpecification::getName | 8 | 21 us | 0.0% |
| ArcanistClassFilenameMismatchXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistDefaultParametersXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistUnnecessaryFinalModifierXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistExtractUseXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistBinaryExpressionSpacingXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistArrayValueXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistSemicolonSpacingXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistPHPShortTagXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistSyntaxErrorXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistSlownessXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistPHPCloseTagXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistReusedIteratorReferenceXHPASTLinterRule::getLintName | 1 | 21 us | 0.0% |
| ArcanistPHPEchoTagXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistExitExpressionXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistBraceFormattingXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistElseIfUsageXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistPHPOpenTagXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistNoParentScopeXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistCallParenthesesXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistDoubleQuoteXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistParseStrUseXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistDuplicateSwitchCaseXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistReusedAsIteratorXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistTodoCommentXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistImplicitVisibilityXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistReusedIteratorXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistInnerFunctionXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistSelfMemberReferenceXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistUnableToParseXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistObjectOperatorSpacingXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistTautologicalExpressionXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistUnnecessarySemicolonXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistUselessOverridingMethodXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistVariableVariableXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistCommentStyleXHPASTLinterRule::getLintName | 1 | 20 us | 0.0% |
| ArcanistPlusOperatorOnStringsXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistCastSpacingXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistParenthesesSpacingXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistClassNameLiteralXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistCommentSpacingXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistCallTimePassByReferenceXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistLanguageConstructParenthesesXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistListAssignmentXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistLogicalOperatorsXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistConcatenationOperatorXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistModifierOrderingXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistNamingConventionsXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistInvalidDefaultParameterXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistPHPCompatibilityXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistInvalidModifiersXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistInlineHTMLXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistImplicitConstructorXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistGlobalVariableXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistFormattedStringXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistEmptyStatementXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistDuplicateKeysInArrayXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistDeclarationParenthesesXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistControlStatementSpacingXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistImplicitFallthroughXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistKeywordCasingXHPASTLinterRule::getLintName | 1 | 19 us | 0.0% |
| ArcanistConstructorParenthesesXHPASTLinterRule::getLintName | 1 | 18 us | 0.0% |
| ArcanistLowercaseFunctionsXHPASTLinterRule::getLintName | 1 | 18 us | 0.0% |
| ArcanistLinter::getLinterPriority | 10 | 13 us | 0.0% |
| ArcanistAliasFunctionXHPASTLinterRule::getLintSeverity | 1 | 5 us | 0.0% |
| ArcanistDefaultParametersXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistDeclarationParenthesesXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistControlStatementSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistConstructorParenthesesXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistConcatenationOperatorXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistCommentSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistDoubleQuoteXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistClassNameLiteralXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistCallParenthesesXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistBraceFormattingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistBinaryExpressionSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistArrayValueXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistArraySeparatorXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistArrayIndexSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistCastSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistElseIfUsageXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistInlineHTMLXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistGlobalVariableXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistUselessOverridingMethodXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistUnnecessarySemicolonXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistUnnecessaryFinalModifierXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistTodoCommentXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistSlownessXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistSemicolonSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistSelfMemberReferenceXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistEmptyStatementXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistPregQuoteMisuseXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistParenthesesSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistReusedIteratorReferenceXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistNamingConventionsXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistLowercaseFunctionsXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistLogicalOperatorsXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistListAssignmentXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistLanguageConstructParenthesesXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistKeywordCasingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistInnerFunctionXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistImplicitVisibilityXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistImplicitFallthroughXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistObjectOperatorSpacingXHPASTLinterRule::getLintSeverity | 1 | 3 us | 0.0% |
| ArcanistModifierOrderingXHPASTLinterRule::getLintSeverity | 1 | 2 us | 0.0% |
| ArcanistTextLinter::getLinterPriority | 1 | 2 us | 0.0% |
| ArcanistPhutilLibraryLinter::getLinterPriority | 1 | 2 us | 0.0% |
| ArcanistNoLintLinter::getLinterPriority | 1 | 2 us | 0.0% |
| ArcanistUnableToParseXHPASTLinterRule::getLintSeverity | 1 | 2 us | 0.0% |
| ArcanistGeneratedLinter::getLinterPriority | 1 | 2 us | 0.0% |