mrkeyoor.com_
Fri 16 Oct 18:54 UTC
Dev Toolsevaluationupdated 07 Oct 2026

swift review

Swift is a memory-safe programming language for native applications, servers, and systems work, with direct access to C and Objective-C code. This repository holds the compiler and standard library sources. Most people writing Swift applications should install a released toolchain instead of building this tree.

+17stars / 7d
Verdict

Our run installed Swift's cmpcodesize utility in 33 seconds and passed 3 of 3 tests, while the full compiler guide recommends 150 GB free for development. Use a released Swift toolchain for application work. Choose this source repository when you intend to change or study the compiler and can carry the sibling checkouts, hardware needs, and platform limits that come with it.

We ran it

Lab card: what happened when we ran swiftScreenshot of swift (swift.org)
Install✓ · 33s36 packages · 37 MB
Build✓ · 4s
Tests✓ · 4s3 passed · 0 failed of 3 (pytest)
Known vulns0(pip-audit)
Repo33017 files~3,612,121 lines of source · 213.2 MB · 0 CI workflows · tests dir

Answers from our run

Does swift build from source?

Dependencies installed in 33 seconds (36 packages), and the build succeeded in 4 seconds. We cloned commit 0cba8dd into a clean Debian container with 3 CPUs and no project-specific setup.

Do swift's tests pass?

Yes: 3 of 3 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does swift have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use swift?

Application developers who only need to compile Swift code: released toolchains avoid a source setup that recommends 150 GB free.

What are the alternatives to swift?

Rust, Go, Kotlin. Our run installed Swift's cmpcodesize utility in 33 seconds and passed 3 of 3 tests, while the full compiler guide recommends 150 GB free for development.

Setup2/5The full compiler setup recommends 150 GB and several repositories
Docs5/5Detailed setup, test, debugging, ABI, and internals guides
Community5/570,482 stars and issue work updated on October 7, 2026
Maturity5/5Swift 6.4 is released and the compiler is under daily development

Discussed on

  1. hnNew GitHub Organization for the Swift Project154 points
  2. hnSwift/Java interoperability tools and libraries83 points
  3. hnSwift Developers Community45 points
  4. hnParallel Scripting in Swift16 points
  5. hnFoundation is being rewritten with Swift and will be developed as an open source16 points

Who it’s for

Compiler engineers changing Swift's parser, type checker, optimizer, runtime, or standard library.
Apple-platform teams that need to inspect or patch the language implementation below Xcode.
Contributors who can maintain matching Swift, LLVM, Clang, and SwiftPM checkouts.
Tooling authors who need the compiler's internal documentation and test infrastructure.

Who it’s NOT for

Application developers who only need to compile Swift code: released toolchains avoid a source setup that recommends 150 GB free.
Contributors on a small machine: the guide calls for at least 8 GB of RAM to build a toolchain and 16 GB for development.
Windows developers seeking the main supported contributor path: macOS and Ubuntu are supported hosts, while Windows instructions are experimental.
Teams expecting one self-contained checkout: utils/update-checkout fetches sibling projects such as LLVM and SwiftPM, and their revisions must match.
Anyone treating our green Python run as proof of compiler health: we tested only utils/cmpcodesize, not the Swift compiler suite.

Setup reality

Our sandbox installed the Python project in utils/cmpcodesize in 33 seconds: 36 packages and 37 MB on disk. Its build finished in 4 seconds, then all 3 pytest tests passed in 4 seconds. Pip-audit found 0 known vulnerabilities. We did not build the Swift compiler.

The full compiler path needs Git 2.x, Python, CMake, Ninja, platform development tools, a released Swift toolchain on Linux, and sibling repositories fetched by utils/update-checkout. No hosted-service credential is required for a read-only HTTPS checkout. The guide recommends 150 GB free, at least 8 GB of RAM for a toolchain build, and 16 GB for development.

Supported development hosts are macOS and Ubuntu Linux. Windows host instructions are experimental. Checkout paths should avoid spaces and non-ASCII characters, related repositories need matching branches or tags, and the required Xcode release can change frequently.

Swift 6.4 is ready to install: this repository is ready to modify

Swift 6.4 was the latest release when we checked, and most developers should start there. The language is memory-safe by default, has native access to C and Objective-C, and includes high-level features such as protocols, closures, and generics. A released toolchain gives an application developer the compiler and package tools. This repository is the source underneath them, including the compiler, standard library, tests, documentation, and utilities used by people who change Swift itself. The code uses the Apache 2.0 license with a runtime library exception.

That difference decides whether this is a sensible download. Building an iOS or server application does not require a local compiler build. Changing type checking, code generation, interoperability, or the standard library does. The contributor setup uses utils/update-checkout to bring in related repositories such as LLVM and SwiftPM, then uses utils/build-script over CMake and Ninja. A branch or tag has to match across those checkouts. Our measured tree already held 33,017 files before any sibling projects entered the picture.

Compiler development asks for 150 GB and several repositories

The official guide recommends 150 GB of free disk. It says the source with full Git history takes about 3.5 GB, while build artifacts can occupy 5 GB to 100 GB depending on settings. RAM guidance starts at 8 GB for a toolchain build and rises to 16 GB for development. Virtual machines may need more than 32 GB. Those figures put Swift compiler work firmly on a workstation or a well-sized development server.

Platform setup has its own edges. macOS builders need the required Xcode release, which can change often. Linux builders need a released Swift toolchain because some compiler components are written in Swift. The documented host path covers macOS and Ubuntu Linux. Windows development remains experimental. The guide also warns that spaces or non-ASCII characters in the checkout path can cause failures, and Apple Silicon tools must run natively rather than through Rosetta. Our 3-CPU Debian run did not exercise that compiler path.

What happened when we ran it

Our sandbox checked out commit 0cba8dd, containing 33,017 files, roughly 3,612,121 lines of source, and 213.2 MB on disk. We targeted the Python package in utils/cmpcodesize, not the Swift compiler. Installation succeeded in 33 seconds, added 36 packages, and used 37 MB. The package build succeeded in 4 seconds. Pytest then passed all 3 tests in 4 seconds, and pip-audit reported 0 known vulnerabilities.

The container had 3 CPUs, 8 GB of RAM, Debian, Python 3.12, no secrets, and no elevated privileges. The repository scan found a tests directory, 0 CI workflow files, and no Dockerfile. That last pair describes the files our scanner found, not the absence of project automation. Swift's README points contributors to separate continuous-integration documentation, and its toolchain script is used by Swift.org CI.

Three passing tests cover a code-size helper, not Swift

cmpcodesize compares old and new Swift compiler build products. It accepts explicit files or two build directories, can list function sizes, and can emit CSV. Its default shortcuts refer to benchmark binaries and libswiftCore.dylib. That makes it useful after you already have compiler outputs to compare. The 37 MB installed footprint we measured does not include those outputs, the sibling source trees, or a compiled Swift toolchain. Its packaging metadata calls the utility alpha software, a fair description of this narrow developer aid.

The test file at commit 0cba8dd checks 3 behaviors of the function-size listing helper: a bad input raises an error, an empty input returns an empty list, and entries are ordered by size. The implementation calls Apple's otool to inspect binaries. All 3 tests passing is a clean result for that helper. It is not evidence that the type checker, optimizer, runtime, or standard library passed their own suites.

A 9,426-item queue is moving on the same day

GitHub reported 70,482 stars and 9,426 open issues and pull requests when we fetched the repository data. The latest push was October 7, 2026, and recently updated work included the standard library, C++ interoperability, compiler crashes, and flaky tests. The latest release, Swift 6.4.0, was published on September 15. The queue is enormous, but the push date and current issue activity show a project being worked on daily rather than left behind.

The documentation earns its keep here. It explains the multi-repository checkout, supported hosts, hardware guidance, incremental builds, debugging, testing, and the first-pull-request process. Contributors without write access must ask a reviewer to trigger the CI bot, another detail worth knowing before investing in a change. Swift is easy to obtain as a toolchain. Its source repository is a serious compiler workspace, and the 150 GB recommendation is the clearest line between those two experiences. For most Swift users, the right action is to install the release rather than clone the compiler.

Alternatives

ProjectWhat it isPick it when
Rust gh↗A memory-safe systems language centered on ownership and explicit resource control.pick this instead when cross-platform systems work matters more than Swift's Apple integration.
Go gh↗A compiled, garbage-collected language with a deliberately small language surface.pick this instead when straightforward server deployment matters more than Swift's type-system depth.
Kotlin gh↗A statically typed language built around JVM, Android, and multiplatform development.pick this instead when JVM or Android interoperability is the fixed requirement.

What people are saying

  1. [lobsters] Dropping Swift entirely from our Bevy iOS crates
  2. [hf-trending] ukisai/Swift-Qwen3.8-27b (trending model on Hugging Face)
  3. [hackernews] Swift 6.4 Released

Sources

  1. Swift repository README
  2. Swift contributor setup guide
  3. Swift first pull request guide
  4. Swift 6.4.0 release
  5. cmpcodesize source at tested commit

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →