Sounds quite slow
Sounds quite slow
I also wonder if that's developer machine time, or CI build job duration.
Hopefully developer incremental builds are much faster.
Swift is the slowest on the compilation benchmarks at https://github.com/nordlow/compiler-benchmark.
Go is a set of trade offs like every language, and clearly the wrong set for this team.
Swift has definitely a problem, a toolchain problem, not a language one.
I'd guess the 10 mins is a few things... Vapor, and in particular its ORM Fluent, are noticeably slow to compile. It's common for a single function doing an ORM query to take 200ms to compile. I use warnings for >100ms compilation to spot these and adding a few types or extracting a piece into a utility function solves it. I'd guess they also have a ton of dependencies. I have ~20 or so, most aren't very big.
At work I use Go, and while builds are fast, on a medium sized codebase with a bunch of codegen, the difference for dev builds doesn't affect my workflow.
There's a debate to be had around whether Swift is ready for the server (I'm a strong advocate for yes, but it's not a done deal), but honestly compilation time isn't a factor. Rust is noticeably slower in my experience and I don't see people questioning whether it's ready for server development because of it.