-
adam-fowler, ktoso, tachyonics , 0xTim , varland , tomerd
-
@0xTim: github actions carry over; no action yet
-
@ktoso to merge async guide Swift Concurrency adoption guidelines for Swift Server Libraries by fabianfett · Pull Request #70 · swift-server/guides · GitHub it got enough review
-
Associate with Swift installers
- reviewing the swift installer / rpm discussion
-
Static linking
- more optimal linking
- bigger binary but the binary works better by itself
- uploading is easier, just one executable
- in lambda, we could use layers, but layers are still dynamic linking time on startup and it hurts startup time of the lambda
- dynamic linking: system where many swift excecutables can then share the runtime libraries
- but we don’t really do that in server
- other angle:
- on macOS the swift runtime ships with the runtime
- the OS contains these libraries, binaries are smaller
- but on Linux we don’t “ship” anything; so we need to carry it with the binary; it is complex for users
-
Improving Swift and Lambda together
- if we had a custom supported runtime
- Todd:
- what if AWS hosted and maintained layers for Swift?
- Fabian:
- that’s too hard, people would have to learn about layers and many other tools; it is too complex for people
- Too much complexity with the layers; they need to pick the right
- that causes link delay at startup
-
@tomerd
- layers are not a solution
- if it’s the menu there could be a workable solution
-
@ktoso
- an additional complication is lack of ABI on Linux; so but we could do an image per version
- We’d need to compare a bit, if the dynamic linking is important or not
- Smaller binary is countered by linking time etc.
- We summarized ideas here a bit
- if AWS does some fancy cache already maybe we can do something like that?§
- Docker container idea also works well
- Optimally we'd like Swift to be just an option in the "dropdown list" of supported platforms and we are looking into how to make this happen.
- Summing up, there are two topics:
- first:
- static linking is good, regardless of other things
- we can kill off the slim images etc
- second:
- how to make lambda deployment simpler
-
Amazon CDK
-
@0xTim read a bit, latest swift example;
- first half is pretty confusing because it talks about NPM install
- would be better to do it all on swift
- we are stretched on time to do it though
- Proposal: Post on forums if someone can take it
-
@varland: is that the example by Dave Mosser(?)?
-
@0xTim: yes.
-
@varland: this was the attempted simplified version
- CDK would have to be a real community thing… so we need to call to arms
-
Swift Documentation