Documentation

Documentation/In practice

Performance & configuration

Choose a protection policy with an explicit performance budget.

Measure the application you actually ship#

Record startup time, representative throughput, memory use and latency before protection. Repeat the same workload after protection on comparable hardware and the same Java runtime. Warmup and JIT behaviour can change results; one quick run is not a reliable baseline.

Protect critical paths deliberately#

The engine supports performance-critical method policies and loop-aware transformation controls. These allow a configuration to distinguish frequent execution paths from sensitive logic that runs less often.

Optional modes do not have a universal overhead percentage. Choose the policy with the team, record the accepted trade-offs, and revisit measurements when your application or configuration changes.

Make the decision reproducible#

  • Keep the original build identifier and the selected protection configuration together.
  • Use the same functional checks and representative workload for each release.
  • Review unusual growth, startup changes and new native dependencies before distribution.
Contact the team