Proguard Performance Issue since migration to V7.2.1

Hello all,

we upgrade our CI Configuration from Proguard 6 to 7.2.1.

But now the execution time in the integration build has increased from 4 minutes to 12 minutes.

Is this behavior known?
Is it possible to improve the execution time with parameters?

Kind Regards
André

Hi @bamboocha !

There are a couple of open issues about performance after 6 but since we don’t have a reproducible example we never got to the bottom of it. Performance drops when updating 6.0.3 to 6.1.0 or later · Issue #91 · Guardsquare/proguard · GitHub Performance problem during migration from 6.0.3 to 6.2.2 · Issue #79 · Guardsquare/proguard · GitHub

This recent ProGuardCORE commit may improve performance: Use iterator when traversing complete ClassPool with filter. · Guardsquare/proguard-core@d6f4334 · GitHub

It’s not in a released ProGuard version yet but you can build ProGuard yourself to test it out compared to 7.2.1:

  1. Git clone both ProGuardCORE and ProGuard repositories
  2. Publish ProGuardCORE to maven local: ./gradlew publishToMavenLocal
  3. In ProGuard: change the ProGuardCORE dependency version to 8.0.8 in gradle.properties
  4. Build ProGuard (it will use PGC 8.0.8 from maven local): ./gradlew clean assemble

Could you try it out and let us know if it helps?

It would also be great if you could provide a reproducible sample.

Thanks,

James