For example, to have the line number where an exception is initially thrown you should have the debug version of the artifact. This artifact is bigger than the optimized one.
In debug mode, no optimization has to be done by the compiler or tools as ProGuardas: inlining, offuscation, shrinking, ...
So an optimized artifact takes up less space (memory of permgen space is saved) and runs faster.
For performance reason, the optimized distribution should by used in production. But for a debugging purpose of a not reproducible problem occurring in production we can need to run Petals with debugging artifacts
What is the difference between a build with debugging options and without?
And why would we need a debugging distribution? Who would use it?