Skip to content

Commit 3fd4f53

Browse files
committed
Drop release-fast profile for simplicity
1 parent 938039e commit 3fd4f53

File tree

4 files changed

+14
-24
lines changed

4 files changed

+14
-24
lines changed

.github/workflows/CICD.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -321,13 +321,13 @@ jobs:
321321
disable_search: true
322322
flags: makefile,${{ matrix.job.os }}
323323
fail_ci_if_error: false
324-
- name: "`make install PROG_PREFIX=uu- PROFILE=release-fast COMPLETIONS=n MANPAGES=n LOCALES=n`"
324+
- name: "`make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n`"
325325
shell: bash
326326
run: |
327327
set -x
328-
DESTDIR=/tmp/ make install PROG_PREFIX=uu- PROFILE=release-fast COMPLETIONS=n MANPAGES=n LOCALES=n
328+
DESTDIR=/tmp/ make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n
329329
# Check that utils are built with given profile
330-
./target/release-fast/true
330+
./target/release-small/true
331331
# Check that the progs have prefix
332332
test -f /tmp/usr/local/bin/uu-tty
333333
test -f /tmp/usr/local/libexec/uu-coreutils/libstdbuf.*
@@ -497,10 +497,10 @@ jobs:
497497
- uses: Swatinem/rust-cache@v2
498498
- name: Run sccache-cache
499499
uses: mozilla-actions/[email protected]
500-
- name: "`make install PROFILE=release-fast`"
500+
- name: "`make install PROFILE=release`"
501501
shell: bash
502502
run: |
503-
export CARGO_TARGET_DIR=cargo-target RUSTFLAGS="${RUSTFLAGS} -C strip=symbols" PROFILE=release-fast MANPAGES=n COMPLETIONS=n LOCALES=n
503+
export CARGO_TARGET_DIR=cargo-target RUSTFLAGS="${RUSTFLAGS} -C strip=symbols" PROFILE=release MANPAGES=n COMPLETIONS=n LOCALES=n
504504
mkdir -p "${CARGO_TARGET_DIR}" && sudo mount -t tmpfs -o noatime,size=16G tmpfs "${CARGO_TARGET_DIR}"
505505
make install DESTDIR=target/size-release/
506506
make install COMPLETIONS=n MULTICALL=y LN="ln -vf" DESTDIR=target/size-multi-release/

Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -591,14 +591,11 @@ required-features = ["uudoc"]
591591
[profile.release]
592592
lto = true
593593
panic = "abort"
594-
595-
[profile.release-fast]
596-
inherits = "release"
597594
codegen-units = 1
598595

599596
# A release-like profile that is as small as possible.
600597
[profile.release-small]
601-
inherits = "release-fast"
598+
inherits = "release"
602599
opt-level = "z"
603600
strip = true
604601

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ other Rust program:
102102
cargo build --release
103103
```
104104

105-
Replace `--release` with `--profile=release-fast` or `--profile=release-small` to use all optimizations or save binary size.
105+
Replace `--release` with `--profile=release-small` to optimize binary size.
106106

107107
This command builds the most portable common core set of uutils into a multicall
108108
(BusyBox-type) binary, named 'coreutils', on most Rust-supported platforms.
@@ -155,10 +155,10 @@ To simply build all available utilities (with debug profile):
155155
make
156156
```
157157

158-
In release-fast mode:
158+
In release mode:
159159

160160
```shell
161-
make PROFILE=release-fast
161+
make PROFILE=release
162162
```
163163

164164
To build all but a few of the available utilities:
@@ -198,10 +198,10 @@ To install all available utilities:
198198
make install
199199
```
200200

201-
To install all utilities with all possible optimizations:
201+
To install all utilities:
202202

203203
```shell
204-
make PROFILE=release-fast install
204+
make PROFILE=release install
205205
```
206206

207207
To install using `sudo` switch `-E` must be used:

docs/src/packaging.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,10 @@ view the full documentation in the
5555
We provide three release profiles out of the box, though you may want to tweak
5656
them:
5757

58-
- `release`: This is the standard Rust release profile, but with link-time
59-
optimization enabled. It is a balance between compile time, performance and a
60-
reasonable amount of debug info. The main drawback of this profile is that the
61-
binary is quite large (roughly 2x the GNU coreutils).
62-
- `release-fast`: Every setting is tuned for the best performance, at the cost
63-
of compile time. This binary is still quite large.
64-
- `release-small`: Generates the smallest binary possible. This strips _all_
65-
debug info from the binary, resulting in less informative backtraces. The performance of
66-
this profile is also really good as it is close to the `release-fast` profile,
67-
but with all debuginfo stripped.
58+
- `release`: The profile with all performance optimization enabled. Binary is quite large (roughly 2x the GNU coreutils).
59+
- `release-small`: Generates the smallest binary possible.
6860

61+
They include panic abort which removes stack traces on old rust [https://blog.rust-lang.org/2025/12/11/Rust-1.92.0/].
6962
For the precise definition of these profiles, you can look at the root
7063
[`Cargo.toml`](https://github.com/uutils/coreutils/blob/main/Cargo.toml).
7164

0 commit comments

Comments
 (0)