#50509: llvm-3.8: remove unnecessary openmp variant ------------------------------------+------------------------ Reporter: howarth.at.macports@… | Owner: jeremyhu@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: llvm-3.8 | ------------------------------------+------------------------ Comment (by howarth.at.macports@…): Note there will be a major speed improvement in the llvm tool chain with -DLLVM_LINK_LLVM_DYLIB:BOOL=ON compared to -DLLVM_BUILD_LLVM_DYLIB=ON as explained by Chris Bieneman... All platforms see performance implications of dynamically linking libraries as opposed to statically linking them. I don’t know whether that hits Darwin or Linux worse, but I believe Darwin’s two-level name spacing actually makes Darwin better than Linux. If I understand correctly it hits windows worst of all because of how Windows handles weak symbol resolution. On all platforms I would expect the many shared libraries to be way worse relative to one shared library. I expect that would be the case because one of the complications of C++ is a lot of weak exports. Those come from functions implemented in headers which are then compiled into each generated object file. At static link time the linker resolves the duplicates down to a single implementation. If you are linking one dynamic library you will have way less symbols than if you are linking multiple libraries because each library will have its own copy of the duplicated symbols. -- Ticket URL: <https://trac.macports.org/ticket/50509#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X