Skip to content

Commit e063e9b

Browse files
committed
Drop release-fast profile for simplicity
1 parent e061f8e commit e063e9b

File tree

4 files changed

+13
-30
lines changed

4 files changed

+13
-30
lines changed

.github/workflows/CICD.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -324,13 +324,13 @@ jobs:
324324
disable_search: true
325325
flags: makefile,${{ matrix.job.os }}
326326
fail_ci_if_error: false
327-
- name: "`make install PROG_PREFIX=uu- PROFILE=release-fast COMPLETIONS=n MANPAGES=n LOCALES=n`"
327+
- name: "`make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n`"
328328
shell: bash
329329
run: |
330330
set -x
331-
DESTDIR=/tmp/ make install PROG_PREFIX=uu- PROFILE=release-fast COMPLETIONS=n MANPAGES=n LOCALES=n
331+
DESTDIR=/tmp/ make install PROG_PREFIX=uu- PROFILE=release-small COMPLETIONS=n MANPAGES=n LOCALES=n
332332
# Check that utils are built with given profile
333-
./target/release-fast/true
333+
./target/release-small/true
334334
# Check that the progs have prefix
335335
test -f /tmp/usr/local/bin/uu-tty
336336
test -f /tmp/usr/local/libexec/uu-coreutils/libstdbuf.*
@@ -503,10 +503,10 @@ jobs:
503503
- uses: Swatinem/rust-cache@v2
504504
- name: Run sccache-cache
505505
uses: mozilla-actions/[email protected]
506-
- name: "`make install PROFILE=release-fast`"
506+
- name: "`make install PROFILE=release`"
507507
shell: bash
508508
run: |
509-
export CARGO_TARGET_DIR=cargo-target RUSTFLAGS="${RUSTFLAGS} -C strip=symbols" PROFILE=release-fast MANPAGES=n COMPLETIONS=n LOCALES=n
509+
export CARGO_TARGET_DIR=cargo-target RUSTFLAGS="${RUSTFLAGS} -C strip=symbols" PROFILE=release MANPAGES=n COMPLETIONS=n LOCALES=n
510510
mkdir -p "${CARGO_TARGET_DIR}" && sudo mount -t tmpfs -o noatime,size=16G tmpfs "${CARGO_TARGET_DIR}"
511511
make install DESTDIR=target/size-release/
512512
make install COMPLETIONS=n MULTICALL=y LN="ln -vf" DESTDIR=target/size-multi-release/

Cargo.toml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -591,18 +591,14 @@ name = "uudoc"
591591
path = "src/bin/uudoc.rs"
592592
required-features = ["uudoc"]
593593

594-
# The default release profile with some optimizations.
595594
[profile.release]
596595
lto = true
597596
panic = "abort"
598-
599-
[profile.release-fast]
600-
inherits = "release"
601597
codegen-units = 1
602598

603599
# A release-like profile that is as small as possible.
604600
[profile.release-small]
605-
inherits = "release-fast"
601+
inherits = "release"
606602
opt-level = "z"
607603
strip = true
608604

README.md

Lines changed: 4 additions & 10 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:
@@ -192,18 +192,12 @@ manpages or shell completion to work, use `GNU Make` or see
192192

193193
### Install with GNU Make
194194

195-
To install all available utilities:
195+
To install all available utilities (PROFILE=release by default):
196196

197197
```shell
198198
make install
199199
```
200200

201-
To install all utilities with all possible optimizations:
202-
203-
```shell
204-
make PROFILE=release-fast install
205-
```
206-
207201
To install using `sudo` switch `-E` must be used:
208202

209203
```shell

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.
59+
- `release-small`: Optimize binary size.
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)