# Install cargo-llvm-lines with Homebrew, Nix

Count lines of LLVM IR per generic function. Version 0.4.46 via Homebrew; verified 2026-05-29. Also installable with nix: nix profile install nixpkgs#cargo-llvm-lines.

## Install

```sh
sudo av install brew:cargo-llvm-lines
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cargo-llvm-lines
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#cargo-llvm-lines
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ca/cargo-llvm-lines/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:cargo-llvm-lines
- **Package manager:** Homebrew
- **Version:** 0.4.46
- **Source summary:** Count lines of LLVM IR per generic function
- **Homepage:** <https://github.com/dtolnay/cargo-llvm-lines>
- **Repository:** <https://github.com/dtolnay/cargo-llvm-lines>
- **Last updated:** 2026-05-29T17:20:08+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- cargo-llvm-lines (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.4.46
## Project history and usage

cargo-llvm-lines measures the number and size of LLVM IR instantiations for generic functions in a Rust program. Its README frames the output as a way to find code with the highest leverage for improving compilation metrics.

### Project history

The crate first appeared on crates.io in November 2017 as version 0.1.0. The README credits the idea to eddyb's suggestion for counting monomorphized functions while debugging compiler memory use, executable size, and compile time.

### Adoption history

The package is available through Homebrew and Nix according to the input facts, and crates.io reported 134,082 downloads when checked on 2026-06-30. Its audience is narrower than test runners or build tools, but it is well known among Rust developers investigating monomorphization bloat.

### How it is used

Users run cargo llvm-lines to see total LLVM IR lines, number of copies, and function names, optionally using -p to inspect a package in a multi-crate project or release/LTO settings for a broader view.

### Why package nerds care

It is a package-nerd tool because it exposes otherwise hidden codegen costs in dependency and generic-heavy Rust crates, helping maintainers decide where small API or generic changes can reduce compile time and binary size.

### Timeline

- 2017: First crates.io release 0.1.0.
- 2026: Crates.io latest version 0.4.46 and Homebrew stable version 0.4.46.

### Related projects

- Related tooling includes Cargo, rustc/LLVM IR output, and compiler performance analysis workflows.

### Sources

- <https://api.github.com/repos/dtolnay/cargo-llvm-lines>
- <https://github.com/dtolnay/cargo-llvm-lines>
- <https://github.com/dtolnay/cargo-llvm-lines#readme>
- <https://crates.io/api/v1/crates/cargo-llvm-lines>
- <https://formulae.brew.sh/api/formula/cargo-llvm-lines.json>


## Security Notes

No matching local secret-handling manifest was found for cargo-llvm-lines. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Other Package-Manager Records

- Nix - cargo-llvm-lines: normalized package name match | nixpkgs package indexes: pkgs/by-name/ca/cargo-llvm-lines/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/cargo-llvm-lines.yml](https://github.com/mxcl/pkgdb/blob/main/combined/cargo-llvm-lines.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
