You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by "Manuel Pallier (JIRA)" <ji...@apache.org> on 2016/03/16 08:53:33 UTC

[jira] [Created] (LOG4NET-508) NAnt release build is not optimized

Manuel Pallier created LOG4NET-508:
--------------------------------------

             Summary: NAnt release build is not optimized
                 Key: LOG4NET-508
                 URL: https://issues.apache.org/jira/browse/LOG4NET-508
             Project: Log4net
          Issue Type: Bug
          Components: Builds
    Affects Versions: 1.2.15
         Environment: Windows 10 1511 x64
NAnt 0.92
Visual Studio 2015 Update 1
            Reporter: Manuel Pallier
            Priority: Minor


When looking through the log4net assembly with the Red Gate .NET Reflector I noticed that the downloaded release assembly contains the 'DisableOptimizations' flag in the Debuggable assembly attribute. Further analysis showed the following things:

1. Dowloaded binary in log4net-1.2.15-bin-newkey.zip (net\4.5\release subfolder):
a. Size: 298 KB
b. 'DisableOptimizations' and 'IgnoreSymbolStoreSequencePoints' flags in assembly attribute.
c. IL Code is not optimized (nop statements are present)

2. Own build using NAnt 0.92 and build.cmd, file output from bin\net\4.5\debug:
a. Size: 298 KB
b. All flags in the DebuggableAttribute are as expected for a debug build.
c. IL Code is not optimized (nop statements are present)

3. Own build using NAnt 0.92 and build.cmd, file output from bin\net\4.5\release:
a. Exactly the same as the downloaded binary.

4. Own build using Visual Studio 2015 Update 1 in Debug configuration:
a. Size: 288 KB
b. All flags in the DebuggableAttribute are as expected for a debug build.
c. IL Code is not optimized (nop statements are present)

5. Own build using Visual Studio 2015 Update 1 in Release configuration:
a. Size: 256 KB
b. All flags in the DebuggableAttribute are as expected for a release build (only 'IgnoreSymbolStoreSequencePoints').
c. IL Code is optimized

In my opinion 1b and 1c are bugs (and of course 3, since it's the same build). An optimized (release build) assembly should not have a 'DisableOptimizations' flag and should have optimized code (no nop statements).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)