logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Bodewig (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4NET-508) NAnt release build is not optimized
Date Sun, 20 Mar 2016 20:36:33 GMT

    [ https://issues.apache.org/jira/browse/LOG4NET-508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15203505#comment-15203505
] 

Stefan Bodewig commented on LOG4NET-508:
----------------------------------------

I think I've fixed it with svn revision 1735899 but it would be good if you could double check.

IIUC we've introduced this when we started adding PDBs for the release builds since /debug:pdbonly
implies  'DisableOptimizations' and 'IgnoreSymbolStoreSequencePoints'. Older releases have
been compiled with /debug:false in release mode. I've now added /optimize+ which should keep
IgnoreSymbolStoreSequencePoints (because of pdbonly) but remove DisableOptimizations.


> 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
>              Labels: build, nant
>
> 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)

Mime
View raw message