> On Aug 6, 2017, at 16:16, Michael Gottesman <[email protected]> wrote:
>
>
>> On Aug 6, 2017, at 11:11 AM, David Zarzycki via swift-dev
>> <[email protected]> wrote:
>>
>> Hello,
>>
>> Unless I’m missing a build-script flag, it seems to me that compiling the
>> Swift stdlib with the unoptimized debug swift compiler takes about 15
>> minutes on a fast machine.
>
> I am assuming that you mean a debug swift compiler building an optimized
> stdlib?
Hi Michael,
I’m building the debug swift compiler via ./utils/build-script -r —debug-swift.
I assume, perhaps wrongly, that implies a debug stdlib.
>
>> Other than forcing the type checker to be optimized, what if any tricks can
>> I use to building the stdlib faster with the debug compiler? Is there a way
>> to tell Clang to enable the inliner and only the inliner during -O0 builds?
>> I have an anecdotal experiment[1] that suggests that this would yield
>> appreciably faster Swift stdlib builds with the debug compiler (and
>> selfishly speaking, I can tolerate the minor impact on debugging that
>> inlining does to otherwise unoptimized code).
>
> Are building LLVM in release + Swift in debug? I.e.:
>
> —release-debuginfo --debug-swift --force-optimized-typechecker
Yes, with the exception that I cannot use —force-optimized-typechecker because
I’m hacking on the type checker. Otherwise, this is what I’m doing to make
debug builds go as fast as possible:
./utils/build-script \
--llvm-targets-to-build X86 \
--skip-ios --skip-tvos --skip-watchos \
--skip-build-benchmarks true \
--build-swift-static-stdlib false \
--build-swift-static-sdk-overlay false \
--build-swift-dynamic-sdk-overlay false \
--build-swift-stdlib-unittest-extra false \
--extra-cmake-options \\-DCMAKE_CXX_FLAGS=-Werror=switch \
-r \
--debug-swift \
"$@"
>
>>
>> Thanks!
>>
>> Dave
>>
>> [1] – If one force inlines LLVM’s casting logic and associated callbacks
>> (like classof() and getKind()), then the Swift stdlib builds 18% faster on
>> my machine with the debug Swift compiler. One can imagine how much faster
>> the whole stdlib would compile if all trivial functions were inlined
>> automatically.
>> _______________________________________________
>> swift-dev mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-dev
>
_______________________________________________
swift-dev mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-dev