I wonder how large the performance overhead that the -Xdebug flag introduces?
It\'s very convenient to debug production applications, but I guess it is expensive to leav
Depends what your code is doing. If you've got a network-based, database driven application the difference will probably be negligable since the bottleneck probably isn't how fast the JVM can execute instructions. If all your code does is perform scientific computations in-memory, then you can expect a non-trivial hit.
When I wrote this I thought the debugger itself was being attached. Simply running it with -Xdebug
won't in itself impact performance as @stepancheg has noted. However my main motivation wasn't as much to give a technical analysis but rather to say that even if you cause bytecode to take longer to execute it probably won't matter much in a typical Java application since the processors wouldn't be under heavy enough utilization for that to be the determining performance factor. Most apps with a long lifetime are server apps, and the performance of many (if not most) server apps are bounded by I/O limitations.