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)