Skip to content

[TEST] Test out Fjall memory allocator#155526

Draft
Zoxc wants to merge 3 commits intorust-lang:mainfrom
Zoxc:fjall-global
Draft

[TEST] Test out Fjall memory allocator#155526
Zoxc wants to merge 3 commits intorust-lang:mainfrom
Zoxc:fjall-global

Conversation

@Zoxc
Copy link
Copy Markdown
Contributor

@Zoxc Zoxc commented Apr 19, 2026

This tests out my Rust port of mimalloc, Fjall.

@rustbot rustbot added A-tidy Area: The tidy tool S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 19, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the T-clippy Relevant to the Clippy team. label Apr 19, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@Zoxc
Copy link
Copy Markdown
Contributor Author

Zoxc commented Apr 20, 2026

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Apr 20, 2026
[TEST] Test out Fjall memory allocator
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Apr 20, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 20, 2026

💔 Test for 3bde676 failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@Zoxc
Copy link
Copy Markdown
Contributor Author

Zoxc commented Apr 20, 2026

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Apr 20, 2026
[TEST] Test out Fjall memory allocator
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Executing "/scripts/stage_2_test_set2.sh"
+ /scripts/stage_2_test_set2.sh
PR_CI_JOB set; skipping tidy
+ '[' 1 == 1 ']'
+ echo 'PR_CI_JOB set; skipping tidy'
+ SKIP_TIDY='--skip tidy'
+ ../x.py --stage 2 test --skip tidy --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.04s
##[endgroup]
downloading https://static.rust-lang.org/dist/2026-04-14/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.xz
---
[TIMING:start] compile::Rustc { target: aarch64-unknown-linux-gnu, build_compiler: Compiler { stage: 0, host: aarch64-unknown-linux-gnu, forced_compiler: false }, crates: [] }
[TIMING:start] compile::StdLink { compiler: Compiler { stage: 0, host: aarch64-unknown-linux-gnu, forced_compiler: false }, target_compiler: Compiler { stage: 0, host: aarch64-unknown-linux-gnu, forced_compiler: false }, target: aarch64-unknown-linux-gnu, crates: [], force_recompile: false }
[TIMING:end] compile::StdLink { compiler: Compiler { stage: 0, host: aarch64-unknown-linux-gnu, forced_compiler: false }, target_compiler: Compiler { stage: 0, host: aarch64-unknown-linux-gnu, forced_compiler: false }, target: aarch64-unknown-linux-gnu, crates: [], force_recompile: false } -- 0.001
##[group]Building stage1 compiler artifacts (stage0 -> stage1, aarch64-unknown-linux-gnu)
    Updating git repository `https://github.com/Zoxc/fjall.git`
    Updating crates.io index
---
   Compiling ctrlc v3.5.1
[RUSTC-TIMING] shlex test:false 0.212
   Compiling rustc-main v0.0.0 (/checkout/compiler/rustc)
[RUSTC-TIMING] pulldown_cmark test:false 2.777
   Compiling fjall v0.1.0 (https://github.com/Zoxc/fjall.git#955dd1c4)
[RUSTC-TIMING] build_script_build test:false 0.196
[RUSTC-TIMING] ctrlc test:false 0.082
[RUSTC-TIMING] rustc_errors test:false 4.698
   Compiling rustc_abi v0.0.0 (/checkout/compiler/rustc_abi)
[RUSTC-TIMING] fjall test:false 0.732
---
   Compiling rustc_driver_impl v0.0.0 (/checkout/compiler/rustc_driver_impl)
[RUSTC-TIMING] jiff test:false 19.741
   Compiling rustc-main v0.0.0 (/checkout/compiler/rustc)
[RUSTC-TIMING] build_script_build test:false 0.164
   Compiling fjall v0.1.0 (https://github.com/Zoxc/fjall.git#955dd1c4)
[RUSTC-TIMING] fjall test:false 2.063
[RUSTC-TIMING] rustc_interface test:false 49.776
[RUSTC-TIMING] rustc_driver_impl test:false 28.608
[RUSTC-TIMING] rustc_query_impl test:false 116.548
[RUSTC-TIMING] rustc_driver test:false 9.268
[RUSTC-TIMING] rustc_main test:false 0.450
---
double free or corruption (out)
error: test failed, to rerun pass `-p proc-macro-srv-cli --test bidirectional_postcard`

Caused by:
  process didn't exit successfully: `/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-tools/aarch64-unknown-linux-gnu/release/deps/bidirectional_postcard-7fde1f13f25085a6 '--skip=tests::smoke_test_real_sysroot_cargo' --skip=check_code_formatting -Z unstable-options --format json` (signal: 6, SIGABRT: process abort signal)
Bootstrap failed while executing `--stage 2 test --skip tidy --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest`
Build completed unsuccessfully in 0:53:00
  local time: Mon Apr 20 07:12:19 UTC 2026
  network time: Mon, 20 Apr 2026 07:12:19 GMT
##[error]Process completed with exit code 1.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 20, 2026

☀️ Try build successful (CI)
Build commit: 8221642 (82216424993ffcbd61fdcb5ea91da2bf464dd694, parent: e22c616e4e87914135c1db261a03e0437255335e)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (8221642): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf.

Next, please: If you can, justify the regressions found in this try perf run in writing along with @rustbot label: +perf-regression-triaged. If not, fix the regressions and do another perf run. Neutral or positive results will clear the label automatically.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.4% [0.0%, 0.7%] 7
Improvements ✅
(primary)
-3.6% [-10.8%, -1.3%] 269
Improvements ✅
(secondary)
-4.5% [-11.5%, -0.1%] 297
All ❌✅ (primary) -3.6% [-10.8%, -1.3%] 269

Max RSS (memory usage)

Results (primary 6.3%, secondary 4.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
6.3% [1.1%, 24.2%] 244
Regressions ❌
(secondary)
6.5% [0.7%, 62.0%] 223
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-8.0% [-23.1%, -0.7%] 40
All ❌✅ (primary) 6.3% [1.1%, 24.2%] 244

Cycles

Results (primary 1.5%, secondary -3.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.9% [1.4%, 4.6%] 45
Regressions ❌
(secondary)
4.3% [2.0%, 14.3%] 13
Improvements ✅
(primary)
-3.4% [-5.6%, -2.1%] 12
Improvements ✅
(secondary)
-5.8% [-13.9%, -1.1%] 38
All ❌✅ (primary) 1.5% [-5.6%, 4.6%] 57

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 507.073s -> 504.881s (-0.43%)
Artifact size: 394.31 MiB -> 396.80 MiB (0.63%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Apr 20, 2026
@bjorn3
Copy link
Copy Markdown
Member

bjorn3 commented Apr 20, 2026

Instructions are very positive. Wall time (and task clock) is rather negative.

@lqd
Copy link
Copy Markdown
Member

lqd commented Apr 20, 2026

@Zoxc
Copy link
Copy Markdown
Contributor Author

Zoxc commented Apr 20, 2026

We should give mimalloc v3 a run too. A pre-lease version was slower vs. v2 on Windows, but that may have changed or it could be platform specific.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-tidy Area: The tidy tool perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants