A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pmd/pmd/issues/2378 below:

[java] AbstractJUnitRule has bad performance on large code bases · Issue #2378 · pmd/pmd · GitHub

(Thank you for this great tool!)

Affects PMD Version: 6.22.0

Description:

We have a large code base with a heavy use of annotations. After updating from PMD 5.5.1 to 6.21.0 we've found that execution time of PMD checks increases dramatically. Profiling data shows that a lot of time is spent inside methods AbstractJUnitRule.isJUnit4Class and AbstractJUnitRule.isJUnit5Class. When we exclude all JUnit-related rules from our ruleset, a total execution time decreases almost by 2 times!

Seems like a method AbstractJUnitRule.visit needs performance optimization. Currently, it tries to classload every annotation twice without any kind of caching. Looks like a lot of unneeded repetitive work takes place here.

Steps to reproduce:

  1. Find a large codebase with a lot of annotations
  2. Run mvn pmd:check
  3. Attach a profiler to the running mvn instance

Running PMD through: Maven


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4