Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Technical/memory profiling #475

Merged
merged 6 commits into from
Aug 23, 2024
Merged

Technical/memory profiling #475

merged 6 commits into from
Aug 23, 2024

Conversation

b3b00
Copy link
Owner

@b3b00 b3b00 commented Aug 23, 2024

some memory allocation profiling (thanks to Benchmark dotnet and dot memory)

benchmarking 3.2.8 vs 3.2.9-alpha1

Method Job NuGetReferences Mean Error StdDev Gen0 Gen1 Gen2 Allocated
TestJson 3.2.8 sly 3.2.8 18.04 ms 2.612 ms 3.828 ms 1968.7500 812.5000 343.7500 11.26 MB
TestJson 3.2.9-alpha1 sly 3.2.9-alpha1 12.46 ms 0.271 ms 0.397 ms 1921.8750 859.3750 312.5000 10.8 MB

Copy link

codesandbox bot commented Aug 23, 2024

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

Copy link

Copy link

github-actions bot commented Aug 23, 2024

Summary

Generated on: 8/23/2024 - 11:53:33 AM
Parser: LCovParser
Assemblies: 1
Classes: 125
Files: 125
Covered lines: 6256
Uncovered lines: 748
Coverable lines: 7004
Total lines: 11911
Line coverage: 89.3% (6256 of 7004)
Covered branches: 2047
Total branches: 2442
Branch coverage: 83.8% (2047 of 2442)
Tag: 965_10525189920
Name Covered Uncovered Coverable Total Line coverage Covered Total Branch coverage
Default 6256 748 7004 11911 89.3% 2047 2442 83.8%
D:\a\csly\csly\src\sly\buildresult\BuildResult.cs 20 0 20 65 100% 2 2 100%
D:\a\csly\csly\src\sly\buildresult\InitializationError.cs 9 0 9 18 100% 0 0
D:\a\csly\csly\src\sly\buildresult\LexerInitializationError.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\buildresult\ParserInitializationError.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\EnumConverter.cs 13 3 16 35 81.2% 2 4 50%
D:\a\csly\csly\src\sly\i18n\I18N.cs 42 2 44 73 95.4% 14 16 87.5%
D:\a\csly\csly\src\sly\i18n\LexemeLabelAttribute.cs 7 0 7 19 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\AlphaIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\AlphaNumDashIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\AlphaNumIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CallBacksAttribute.cs 5 0 5 16 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CharAttribute.cs 0 3 3 9 0% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CommentsAttribute.cs 11 0 11 29 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CustomIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\DateAttribute.cs 4 0 4 16 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\DoubleAttribute.cs 4 0 4 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\ExtensionAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\HexaAttribute.cs 4 0 4 11 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\IntAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\KeywordAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\LexemeAttribute.cs 54 1 55 93 98.1% 11 14 78.5%
D:\a\csly\csly\src\sly\lexer\attributes\ModeAttribute.cs 9 0 9 23 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\ModesAttribute.cs 0 5 5 19 0% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\MultiLineCommentAttribute.cs 2 0 2 11 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\PopAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\PushAttribute.cs 5 0 5 15 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\SingleLineCommentAttribute.cs 2 0 2 11 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\StringAttribute.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\SugarAttribute.cs 3 3 6 15 50% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\UpToAttribute.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\lexer\CallBacksBuilder.cs 24 0 24 42 100% 8 8 100%
D:\a\csly\csly\src\sly\lexer\fsm\EOLManager.cs 61 0 61 88 100% 26 26 100%
D:\a\csly\csly\src\sly\lexer\fsm\FSMLexer.cs 277 15 292 463 94.8% 86 95 90.5%
D:\a\csly\csly\src\sly\lexer\fsm\FSMLexerBuilder.cs 269 107 376 589 71.5% 59 88 67%
D:\a\csly\csly\src\sly\lexer\fsm\FSMMatch.cs 71 0 71 114 100% 2 2 100%
D:\a\csly\csly\src\sly\lexer\fsm\FSMNode.cs 17 0 17 32 100% 4 6 66.6%
D:\a\csly\csly\src\sly\lexer\fsm\FSMTransition.cs 16 0 16 43 100% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\AbstractTransitionCheck.cs 7 0 7 38 100% 4 4 100%
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionAny.cs 0 10 10 28 0% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionAnyExcept.cs 11 6 17 43 64.7% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionMany.cs 7 5 12 36 58.3% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionMultiRange.cs 19 0 19 63 100% 7 8 87.5%
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionRange.cs 8 6 14 39 57.1% 2 2 100%
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionSingle.cs 12 0 12 35 100% 0 0
D:\a\csly\csly\src\sly\lexer\GenericLexer.cs 861 62 923 1242 93.2% 246 279 88.1%
D:\a\csly\csly\src\sly\lexer\IndentationError.cs 7 0 7 19 100% 0 0
D:\a\csly\csly\src\sly\lexer\Lexer.cs 58 3 61 105 95% 15 16 93.7%
D:\a\csly\csly\src\sly\lexer\LexerAttribute.cs 11 0 11 48 100% 8 8 100%
D:\a\csly\csly\src\sly\lexer\LexerBuilder.cs 584 18 602 793 97% 265 286 92.6%
D:\a\csly\csly\src\sly\lexer\LexerIndentation.cs 50 8 58 96 86.2% 17 24 70.8%
D:\a\csly\csly\src\sly\lexer\LexerPosition.cs 34 3 37 86 91.8% 0 0
D:\a\csly\csly\src\sly\lexer\LexerResult.cs 18 0 18 49 100% 0 0
D:\a\csly\csly\src\sly\lexer\LexicalError.cs 9 1 10 30 90% 0 0
D:\a\csly\csly\src\sly\lexer\Token.cs 151 13 164 370 92% 44 52 84.6%
D:\a\csly\csly\src\sly\lexer\TokenCallbackAttribute.cs 5 0 5 14 100% 0 0
D:\a\csly\csly\src\sly\lexer\TokenChannel.cs 35 2 37 83 94.5% 15 18 83.3%
D:\a\csly\csly\src\sly\lexer\TokenChannels.cs 67 4 71 134 94.3% 27 28 96.4%
D:\a\csly\csly\src\sly\lexer\TokenDefinition.cs 13 0 13 45 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\AutoCloseIndentationsAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\BroadenTokenWindowAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\EBNFParserBuilder.cs 107 18 125 197 85.6% 29 36 80.5%
D:\a\csly\csly\src\sly\parser\generator\ExpressionRulesGenerator.cs 283 6 289 375 97.9% 98 104 94.2%
D:\a\csly\csly\src\sly\parser\generator\InfixAttribute.cs 6 0 6 13 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\LeftRecursionChecker.cs 95 0 95 149 100% 42 42 100%
D:\a\csly\csly\src\sly\parser\generator\NodeNameAttribute.cs 5 0 5 14 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\NonTerminal.cs 13 0 13 48 100% 2 2 100%
D:\a\csly\csly\src\sly\parser\generator\OperationAttribute.cs 25 0 25 67 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\OperationMetaData.cs 29 0 29 56 100% 4 4 100%
D:\a\csly\csly\src\sly\parser\generator\ParserBuilder.cs 459 38 497 723 92.3% 212 228 92.9%
D:\a\csly\csly\src\sly\parser\generator\ParserConfiguration.cs 40 2 42 78 95.2% 25 26 96.1%
D:\a\csly\csly\src\sly\parser\generator\ParserConfigurationException.cs 3 0 3 11 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\ParserRootAttribute.cs 5 0 5 18 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\PostfixAttribute.cs 6 0 6 13 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\PrefixAttribute.cs 6 0 6 13 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\ProductionAttribute.cs 5 0 5 15 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\RuleParser.cs 135 8 143 282 94.4% 14 14 100%
D:\a\csly\csly\src\sly\parser\generator\UseMemoizationAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\visitor\ConcreteSyntaxTreeWalker.cs 34 24 58 111 58.6% 17 30 56.6%
D:\a\csly\csly\src\sly\parser\generator\visitor\dotgraph\DotArrow.cs 20 1 21 39 95.2% 2 4 50%
D:\a\csly\csly\src\sly\parser\generator\visitor\dotgraph\DotGraph.cs 55 2 57 92 96.4% 14 20 70%
D:\a\csly\csly\src\sly\parser\generator\visitor\dotgraph\DotNode.cs 30 0 30 48 100% 2 2 100%
D:\a\csly\csly\src\sly\parser\generator\visitor\EBNFSyntaxTreeVisitor.cs 139 8 147 212 94.5% 69 76 90.7%
D:\a\csly\csly\src\sly\parser\generator\visitor\mermaid\MermaidArrow.cs 0 13 13 28 0% 0 2 0%
D:\a\csly\csly\src\sly\parser\generator\visitor\mermaid\MermaidGraph.cs 0 53 53 88 0% 0 18 0%
D:\a\csly\csly\src\sly\parser\generator\visitor\mermaid\MermaidNode.cs 0 49 49 82 0% 0 14 0%
D:\a\csly\csly\src\sly\parser\generator\visitor\SyntaxTreeVisitor.cs 129 12 141 233 91.4% 22 38 57.8%
D:\a\csly\csly\src\sly\parser\parser\Group.cs 27 1 28 75 96.4% 2 4 50%
D:\a\csly\csly\src\sly\parser\parser\GroupItem.cs 20 1 21 60 95.2% 1 2 50%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.cs 167 8 175 251 95.4% 65 72 90.2%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.Expressions.cs 33 0 33 57 100% 19 20 95%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.NonTerminal.cs 99 0 99 136 100% 45 46 97.8%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.Terminal.cs 20 0 20 40 100% 6 6 100%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParserStarter.cs 111 5 116 178 95.6% 42 42 100%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.cs 111 0 111 167 100% 59 64 92.1%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.EBNFRecursiveDescentSyntaxParser.Choice.cs 36 3 39 73 92.3% 19 22 86.3%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.Expressions.cs 75 18 93 140 80.6% 31 50 62%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.Many.cs 117 6 123 181 95.1% 44 54 81.4%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.Option.cs 51 10 61 100 83.6% 16 20 80%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParserStarter.cs 101 19 120 218 84.1% 54 62 87%
D:\a\csly\csly\src\sly\parser\parser\ParseError.cs 15 1 16 42 93.7% 8 8 100%
D:\a\csly\csly\src\sly\parser\parser\Parser.cs 133 3 136 200 97.7% 49 52 94.2%
D:\a\csly\csly\src\sly\parser\parser\ParseResult.cs 5 0 5 33 100% 0 0
D:\a\csly\csly\src\sly\parser\parser\SyntaxParseResult.cs 27 1 28 73 96.4% 2 2 100%
D:\a\csly\csly\src\sly\parser\parser\SyntaxParsingContext.cs 23 0 23 42 100% 4 4 100%
D:\a\csly\csly\src\sly\parser\parser\SyntaxTreeCleaner.cs 48 0 48 77 100% 26 26 100%
D:\a\csly\csly\src\sly\parser\parser\UnexpectedTokenSyntaxError.cs 47 9 56 143 83.9% 16 26 61.5%
D:\a\csly\csly\src\sly\parser\parser\ValueOption.cs 31 0 31 54 100% 2 2 100%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ChoiceClause.cs 19 24 43 88 44.1% 8 20 40%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ClauseSequence.cs 12 15 27 57 44.4% 0 8 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\GroupClause.cs 12 12 24 70 50% 0 8 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\LeadingToken.cs 40 10 50 93 80% 11 22 50%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ManyClause.cs 1 0 1 12 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\grammar\NonTerminalClause.cs 9 18 27 63 33.3% 0 10 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\OneOrMoreClause.cs 7 6 13 39 53.8% 0 2 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\OptionClause.cs 9 18 27 61 33.3% 1 12 8.3%
D:\a\csly\csly\src\sly\parser\syntax\grammar\Rule.cs 104 4 108 191 96.2% 46 56 82.1%
D:\a\csly\csly\src\sly\parser\syntax\grammar\TerminalClause.cs 35 15 50 135 70% 6 10 60%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ZeroOrMoreClause.cs 7 6 13 40 53.8% 0 2 0%
D:\a\csly\csly\src\sly\parser\syntax\tree\EmptyNode.cs 0 11 11 25 0% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\GroupSyntaxNode.cs 7 0 7 17 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\ManySyntaxNode.cs 9 0 9 23 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\OptionSyntaxNode.cs 4 0 4 14 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\SyntaxEpsilon.cs 0 4 4 26 0% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\SyntaxLeaf.cs 16 0 16 33 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\SyntaxNode.cs 98 6 104 170 94.2% 49 62 79%

@b3b00 b3b00 merged commit 4247d46 into dev Aug 23, 2024
6 checks passed
@coveralls
Copy link

Pull Request Test Coverage Report for Build 10525189920

Details

  • 69 of 70 (98.57%) changed or added relevant lines in 10 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.08%) to 87.9%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/sly/parser/parser/llparser/bnf/RecursiveDescentSyntaxParser.cs 7 8 87.5%
Totals Coverage Status
Change from base Build 10484144368: 0.08%
Covered Lines: 6256
Relevant Lines: 7004

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants