Hello Johannes,
On 2017-02-01 09:03, Johannes wrote:
> finally I have finished the link flag undertaking :-)
> Attached you can find the final diff file.
thank you for the patch. Everybody involved seemed happy with this, so
I've applied it now.
Cheers,
Carsten
Hi Johannes!
Thanks for your excellent work!
Sorry for not responding earlier but I've been traveling and it was lost in
the inbox. :(
The space savings are great. Hopefully it will enable some performance
benefit too.
Cheers,
/Marcus
P.S. Good catch on incremental linking too!
2017-02-01
Hi,
finally I have finished the link flag undertaking :-)
Attached you can find the final diff file.
What I have done:
1. Added cmake variable OSG_WINDOWS_LINK_OPTIMIZE which defaults to OFF.
If the variable is ON the /OPT:REF /OPT:ICF are added to the
CMAKE_SHARED_LINKER_FLAGS_DEBUGOPT,
Hi,
attached you can find the size numbers for the release dlls and pdb
files that I have extracted from the opensg master build with and
without the patch of OSGSetupCompiler.cmake. So we would be gaining
around 22.5% of size reduction for the dlls.
Best,
Johannes
Microsoft Visual Studio
Hello Marcus,
I will implement your suggestion and provide a new diff for that. But
before I will take the time to build both versions so that I have
numbers that I can provide. Please stay tuned, it will take one day or
another.
Carsten, please wait before check in. I will give it another
Hi Johannes,
Thanks for the explanation!
It sounds like /OPT:ICF is safe, even though the debugging experience might
be a bit degraded (but not totally).
Maybe check and see how much the binary sizes change. If it's only 5-10%,
it's not really worth it, but if we gain more than that by COMDAT
Hello Marcus and Carsten,
First of, we also do need debugging symbols in release builds.
Microsoft writes on
https://msdn.microsoft.com/en-us/library/windows/desktop/ee416349(v=vs.85).aspx
"You also need to take steps to maintain full compiler optimizations
while generating symbols."
- set
Hi,
We need debugging symbols in release builds.
If OPT:REF / OPT:ICF doesn't conflict with /Zi and pdb-generation, I have
no objections.
Cheers,
/Marcus
2017-01-25 0:51 GMT+01:00 Carsten Neumann :
> Hello Johannes,
>
> On 2017-01-18 04:58, Johannes Brunen
Hello Johannes,
On 2017-01-18 04:58, Johannes Brunen wrote:
> This change does only affect the MSVC windows build. OpenSG is
> traditionally build with the compiler flag /Zi on windows even in the
> optimized cases. That results in generation of the .pdb database files
> that can be used