-XX:+PrintGC and -XX:+PrintGCDetails use different timers to track the G1 collection pauses.
It turns out that the timing used by -XX:+PrintGCDetails only covers part of the pause.
Running SPECjbb2005 I got GC pause logging like this:
PrintGCDetails: 13 ms
PrtinGC: 57 ms
PrintSafepointStatistics: 61 ms
The PrintSafepointStatistics is as close to the actual pause as we can get. PrintGC does not cover the whole pause but is fairly close. PrintGCDetails is missing a large part of the pause.
To analyze G1 performance we normally run with PrintGCDetails, so it is important that this information is correct.