Thanks for the answer. Oh shame, I thought proguard already did this a 
decade ago? I mean if the compiler is even slightly smart and a variable is 
declared *final*, then its not really runtime state I would have thought 
and therefore should be removed.  Would it be the same if you did something 
like:

if (1==1)
{
 _("hello");//this surely would be redundant code and removed?
 doSomeWork();//this surely would be redundant code and removed?
}

On Wednesday, March 20, 2019 at 7:50:41 PM UTC+8, Steve Hannah wrote:
>
> Build-time pruning does not make use of any runtime state for determining 
> code paths.  Therefore changing the value of Prefs.DEBUG would have no 
> effect.  
>
> On Wed, Mar 20, 2019 at 1:31 AM Gareth Murfin <[email protected] 
> <javascript:>> wrote:
>
>> So I always make a method like this:
>>
>> //for printing
>>     private static void _(String s)
>>     {
>>         if (Prefs.DEBUG)
>>         {
>>             com.codename1.io.Log.p(Prefs.ANSI_GREEN+"####StateMachine 
>> "+s);
>>         }
>>     }
>>
>> then when it comes to release I set Prefs.DEBUG (which is final) to 
>> false, would this mean the method was stripped out during compilation? On 
>> both iOS/Android? Or not ? It's just that during dev I really need A LOT of 
>> print outs to follow my code, but then for release obviously I dont want 
>> any. In the old J2ME days I used to do a find and replace on all calls to 
>> _("hello"); etc before release, but im wondering if that's necessary 
>> anymore? 
>>
>> I assume if its not stripped out during compilation then each call even 
>> if it really does nothing may add up (i do a lot in loops etc) to 
>> eventually slow certain things down (even by X many ms). But from what I 
>> understand modern java compilers would remove it since it really doesnt do 
>> anything if debug is false.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "CodenameOne Discussions" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <javascript:>.
>> Visit this group at 
>> https://groups.google.com/group/codenameone-discussions.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/codenameone-discussions/da3337af-e83e-4c7d-bdbf-487375537853%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/codenameone-discussions/da3337af-e83e-4c7d-bdbf-487375537853%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> -- 
> Steve Hannah
> Software Developer
> Codename One
> http://www.codenameone.com
>

-- 
You received this message because you are subscribed to the Google Groups 
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/codenameone-discussions.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/codenameone-discussions/c8fa5bc3-1a08-4377-b105-e7d0cf23ffb7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to