> On 17 Feb 2017, at 21:58, Michel Loenngren via swift-dev > <swift-dev@swift.org> wrote: > > All, > > When starting an app that includes swift these libs are being loaded: > > libswiftCoreGraphics.dylib > libswiftDispatch.dylib > libswiftObjectiveC.dylib > libswiftCore.dylib > libswiftDarwin.dylib > libswiftFoundation.dylib > > which adds considerable delay to our app startup time (compared to running a > pure objective-c codebase). Is anybody aware of a way to reduce startup by > combining these libs into a single lib for faster load time?
At the moment, these are provided as individual libraries because they are built as separate libraries on the command line. It's possible to build a static version of the core library with swiftc -static-stdlib on Darwin (there are still work in progress items for Linux and Foundation). https://bugs.swift.org/browse/SR-730 <https://bugs.swift.org/browse/SR-730> However, note that the majority of the libraries that you list are also used in a pure objective-c codebase; for example, running otool -L on Mail.app gives: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics /usr/lib/libobjc.A.dylib /usr/lib/libSystem.B.dylib /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (Dispatch is embedded in libSystem on Darwin) So the libraries you load are the same ones (in effect) to the ones used by your Objective-C application, in all likelihood. The difference is probably in the way that the libraries are set up and the dispatch once code is executed - which are necessary steps in bringing the Swift runtime up for your application. Alex
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev