Uploaded image for project: 'Log4net'
  1. Log4net
  2. LOG4NET-508

NAnt release build is not optimized

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.2.15
    • 2.0.6
    • Builds
    • Windows 10 1511 x64
      NAnt 0.92
      Visual Studio 2015 Update 1

    Description

      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).

      Attachments

        Activity

          People

            Unassigned Unassigned
            manuel.pallier@beko.at Manuel Pallier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: