# Tokio vs async-std: source lines of code compared

The Tokio vs async-std comparison on OctoCounts shows side-by-side source line counts for tokio-rs/tokio and async-rs/async-std, counted with the same engine and analysis options on the dates shown in the methodology line: files, total lines, code lines, comment lines, blank lines, and per-language totals, pinned to the exact commits listed below.

As of 2026-09-15, tokio-rs/tokio contains 86,318 total lines (61,541 code) across 539 files, while async-rs/async-std contains 18,552 total lines (14,817 code) across 267 files as of 2026-09-16. tokio-rs/tokio is about 4.2x the size of async-rs/async-std by code lines. Code size is not code quality: a larger count only means more source material, not a better or worse project.

| Metric | [tokio-rs/tokio](https://octocounts.com/github/tokio-rs/tokio) | [async-rs/async-std](https://octocounts.com/github/async-rs/async-std) |
| --- | ---: | ---: |
| Files | 539 | 267 |
| Total lines | 86,318 | 18,552 |
| Code lines | 61,541 | 14,817 |
| Comment lines | 10,251 | 1,143 |
| Blank lines | 14,526 | 2,592 |
| Languages counted | 4 | 4 |

Top languages in tokio-rs/tokio: Rust (98.8% of code), TOML (1.1% of code), JSON (0.1% of code). Top languages in async-rs/async-std: Rust (99.2% of code), TOML (0.7% of code), Shell (0.1% of code). Rust, TOML, Markdown appear in both top language lists; JSON appears only in tokio-rs/tokio's top languages; Shell appears only in async-rs/async-std's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. tokio-rs/tokio was counted at ref eb9cdf2ff012ec22d4efd74cf46d04222264cd8e (commit eb9cdf2ff012) on 2026-09-15; async-rs/async-std was counted at ref 96f564672a8588ac0516e86580c249009ad3e94f (commit 96f564672a85) on 2026-09-16. See the [counting methodology](https://octocounts.com/docs/methodology) for ignored directories and analysis options.
## About this comparison

tokio-rs/tokio counts the Tokio workspace — the asynchronous runtime crates, their utilities, and the surrounding test and CI infrastructure, in Rust. async-rs/async-std counts the async-std repository — a Rust library exposing asynchronous versions of the standard library's API, with its own tests and documentation. Both counts are Rust async-runtime source trees, counted on the dates shown above.

Both counted trees are predominantly Rust, as each per-language table shows, so the totals measure two codebases of the same kind — asynchronous runtimes for the same language and ecosystem.

Tokio's repository is organized as a workspace of multiple published crates, while async-std's is organized around a single library surface modeled on the standard library — a structural difference the file layout of each repository makes visible.

_Neither number speaks to runtime throughput or latency for a specific workload: async runtime performance depends on scheduler configuration, I/O patterns, and the application built on top, not on repository line counts._

Sources: [tokio-rs/tokio repository (workspace of runtime crates)](https://github.com/tokio-rs/tokio) · [async-rs/async-std repository](https://github.com/async-rs/async-std). Statements verified 2026-09-16.

Evidence and next steps:

- [tokio-rs/tokio SLOC report](https://octocounts.com/github/tokio-rs/tokio)
- [async-rs/async-std SLOC report](https://octocounts.com/github/async-rs/async-std)
- [Compare tokio-rs/tokio and async-rs/async-std interactively](https://octocounts.com/compare?left=https%3A%2F%2Fgithub.com%2Ftokio-rs%2Ftokio&right=https%3A%2F%2Fgithub.com%2Fasync-rs%2Fasync-std)

Note: code size is not code quality. OctoCounts only reports reproducible line counts and makes no claim that either project is better.

## Compare FAQ

### Which has more lines of code, tokio-rs/tokio or async-rs/async-std?

tokio-rs/tokio has more code: 61,541 code lines versus 14,817 for async-rs/async-std, about 4.2x as much, based on cached OctoCounts reports as of 2026-09-16.

### Does more source lines of code mean more complexity?

Not necessarily. SLOC measures size, not complexity, quality, or maintainability. A larger codebase can mean more features, more generated or vendored code, more verbose language idioms, or more tests — none of which imply the code is harder to work with. Use SLOC to gauge the scale of what you'd be reading or maintaining, not as a quality signal for tokio-rs/tokio, async-rs/async-std, or any repository.

### How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. tokio-rs/tokio was counted at ref eb9cdf2ff012ec22d4efd74cf46d04222264cd8e (commit eb9cdf2ff012) on 2026-09-15; async-rs/async-std was counted at ref 96f564672a8588ac0516e86580c249009ad3e94f (commit 96f564672a85) on 2026-09-16. See the counting methodology for ignored directories and analysis options.

### Can I compare a different branch, tag, or commit?

Yes. This page shows the default branch for each repository. Use the interactive comparison tool to pick any public GitHub repository, branch, tag, or commit SHA for both sides and get a fresh side-by-side report.

## Related OctoCounts pages

- [Interactive repository comparison](https://octocounts.com/compare)
- [Recently analyzed repositories](https://octocounts.com/recent)
- [Popular SLOC reports](https://octocounts.com/popular)
- [Trending GitHub repositories](https://octocounts.com/trending)
- [Hall of Monoliths](https://octocounts.com/hall-of-monoliths)
- [Original research: how filtering changes SLOC counts](https://octocounts.com/research)
- [GitHub SLOC counter guide](https://octocounts.com/docs/github-sloc-counter)
- [Counting methodology](https://octocounts.com/docs/methodology)
- [SLOC and code metrics glossary](https://octocounts.com/docs/glossary)
- [OctoCounts API docs](https://octocounts.com/docs/api)
