fastdebug vs optimized?
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Wed Jan 31 15:59:01 UTC 2018
On 1/31/18 9:43 AM, Thomas Stüfe wrote:
>
>
> On Wed, Jan 31, 2018 at 3:22 PM, <coleen.phillimore at oracle.com
> <mailto:coleen.phillimore at oracle.com>> wrote:
>
>
> The idea of optimized was to have the performance of product but
> the printing and diagnostic options of debug. We used to use it
> for debugging when we had a lot of race conditions in the vm (a
> long time ago now there are none J) We were sensitive to the
> size of the libjvm.so but since then and since logging, many of
> the printing functions have been exposed and diagnostic() flags
> were introduced.
>
> https://bugs.openjdk.java.net/browse/JDK-8183287
> <https://bugs.openjdk.java.net/browse/JDK-8183287>
>
> It's time to remove it and clean up the assert vs. debug macros,
> but currently unassigned.
>
> Thanks,
> Coleen
>
>
> Thanks, Coleen!
>
> So, for me that means probably not to bother with !PRODUCT and just
> use ASSERT on verification code, right?
Yes, that seems right.
Coleen
>
> ..Thomas
>
>
> On 1/31/18 8:52 AM, Thomas Stüfe wrote:
>
> Hi all,
>
> Sorry for asking the same question again, but I still struggle to
> understand the difference between fastdebug and optimized
> builds. Not the
> technical details, that is clear (I hope):
>
> optimized: optimized build with !ASSERT !PRODUCT
> fastdebug: optimized build with ASSERT !PRODUCT
>
> but what the point is for having two builds with such
> similarities. What is
> the optimized build used for?
>
> When should I guard verification code with ASSERT, when with
> !PRODUCT? As
> for the latter, it feels weird to use guarantee and then
> having to guard it
> explicitly with !PRODUCT, but that is what I would have to do
> to get
> assertions in optimized build while still suppressing them in
> release
> builds, yes?
>
> I always assumed that the optimized build is supposed to be
> faster than
> fastdebug, so, expensive verifications should be better left
> to ASSERT? But
> then, I see quite some coding contradicting this expectation.
> The coding
> itself is no real guideline either, I see both ASSERT and
> !PRODUCT used
> without recognizing a clear pattern.
>
> So, still confused. Can someone enlighten me please :)
>
> Thanks & Regards, Thomas
>
>
>
More information about the hotspot-dev
mailing list