improve 6 of misra analysis performance#2329
Conversation
|
These changes generally look fine. But if you're talking about performance improvement, could you tell us what method did you use for performance measurement and provide some benchmark results? How they'll affect the memory consumption and execution time of the |
|
Hello. |
|
Thanks for detailed representation. It makes this PR much more clear. |
|
Hello. I want to discuss current test-case failure. We found that the code we modified to improve memory utilization is being used in various addons( So, I suggest two methods and try to revise them through comments.
If give us to your feedback, we'll make your changes and test it. P.s. I'm sorry, if ignored the pull request policy or sequence from here. Because this is my first open source contribution, there was some immaturity. |
|
I vote for solution 1. I do not see any issues with changing that for all addons. Delaying the call of the constructor of There were also some changes/fixes to the addon scripts. Can you try to merge them or rebase your branch onto Head? |
|
Thanks to your comment. :) |
|
We checked that 5.3 is removed and modified this, and also checked the recent memory consumption #2395 |
|
Thanks for looking at this! I will release cppcheck-1.90 in a few weeks. And this change feels a bit dangerous to me, so I want to merge it after the release. |
danmar
left a comment
There was a problem hiding this comment.
I took a quick look ~2 minutes and it looks very reasonable to me.
|
@elfel19 Can you please rebase on HEAD or merge it into your branch. There were some improvements in another PR. Can you have a look what can be still improved/is still valid in this PR? |
|
Sorry, I was late for check. I'll get to work today. |
2d310f9 to
669e025
Compare
|
HAPPY NEW YEAR! I rebased my HEAD onto the Here is the final code conclusion. |
|
Here is simple memory usage and analysis speed comparison of each version. test dump file size: 351MB legends description(From left):
|
|
Travis says: |
|
Oh, I missed it. Fixed wrong indent. |

improve misra analysis performance:
Hello.
Our group used
cppcheckandmisra.pyanalyzer. But, sometime we handled huge size of dump file.(maximum 13GB..)It's very critical issue for us. Because, resources are limited and response should be fast.
So, we improved six of misra rules. (we are already used it.)
Core idea is join fewer token list, and get faster value of tokens.
Especially effective at
misra_5_3andmisra_5_4.These two rules sometimes loop in very deeply. So, bring up to slows down analysis performance and consumes a lot of memory.
We've already tested it on several projects, but I hope it's officially released in review here.