# Share generics better and strip rodio audio features \(\#64260\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/9930d2c2a3c37562a457c8854fd28a25941d571a)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 9930d2c2a3c37562a457c8854fd28a25941d571a

Requested commit: 9930d2c2a3c37562a457c8854fd28a25941d571a

Commit: 9930d2c2a3c37562a457c8854fd28a25941d571a

Tree: 00fc2447f081bc158f2bd4e4b8da7db0ada9a2e1

Author: Kirill Bulatov

Committer: GitHub

## Message

```
Share generics better and strip rodio audio features (#64260)

* Preserve bundle compiler flags commit commit is a follow-up to
https://github.com/zed-industries/zed/pull/63432

Linux bundling script had custom `RUSTFLAGS` set which eradicated prior
config.
Moved all flags into `.cargo/bundle-config.toml` instead.

* Trim audio features and compress resources commit removes unused
`rodio` features and enables resource compression

The win from the latter seems not that large, so can revert if needed,
but seemed very easy to enable.

With compiler wrappers disabled, `cargo clean --target-dir
target/binary-size-split-build` and `cargo build --locked -p zed`:
Before: 135.6s wall, 1569.8s CPU, zed binary 1175563800 bytes
After: 130.5s wall (-3.8%), 1488.7s CPU (-5.2%), zed binary 1171527064
bytes (-0.3%, -4.0MB)

With `ZED_BUNDLE=true CXXFLAGS=-stdlib=libc++` and `cargo --config
.cargo/bundle-config.toml build --locked --release -p zed -p cli
--target aarch64-apple-darwin`:
Before: 369.4s wall, 3861.6s CPU, zed binary 381662328 bytes
After: 369.4s wall (+0.01%), 3866.1s CPU (+0.1%), zed binary 377836968
bytes (-1.0%, -3.8MB)

Release Notes:

- N/A
```

## Parents

- [dc339e4f43a3936f65e2a1673b74beb6e6cf0c12](https://git.cafe/gitcafe/zed/commit/dc339e4f43a3936f65e2a1673b74beb6e6cf0c12?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/9930d2c2a3c37562a457c8854fd28a25941d571a?format=markdown)
