Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 914599

Summary: mail-client/thunderbird-115.2.3 - rustc and cargo are slow and do not use MAKEOPTS variable
Product: Gentoo Linux Reporter: Michał Dec <moog621>
Component: Current packagesAssignee: Mozilla Gentoo Team <mozilla>
Status: UNCONFIRMED ---    
Severity: normal CC: gentoo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 654178    

Description Michał Dec 2023-09-24 10:31:54 UTC
While emerging mail-client/thunderbird-115.2.3, I've noticed that my CPU usage dropped from the expected 16.0 to 1.03. I've taken a look in the build log and it turns out it's my favorite language designed to fix the effects of skill issues without fixing the underlying skill issues.

Is there anything we can do to give these hacks a shove? Make them even remotely compete with GCC for speed?

Reproducible: Always

Steps to Reproduce:
1. Set MAKEOPTS such that -j is CPU threads + 1, and -l is the number of CPU threads.
2. Try to emerge something that depends on rustc
Actual Results:  
I have 15 CPU threads sitting duck, doing nothing and wasting electricity while they could be compiling Thunderbird. Thanks rust. At least my wasted electricity is memory safe.

Expected Results:  
Should be 16.0 CPU load all the way so I can get my email client sooner
Comment 1 Joonas Niilola gentoo-dev 2023-09-26 06:43:58 UTC
(In reply to Michał Dec from comment #0)
> 2. Try to emerge something that depends on rustc

Is this a rust-issue or Thunderbird issue? I'm also pretty sure it works just fine here. There may be some hidden issues. What does the configure output look like for TB, does it detect your RUSTFLAGS correctly etc? What's your rust use flag configuration like? Would rust-bin work better?
Comment 2 Geoff Leach 2023-10-17 01:12:33 UTC
No chatter in bugs. But I didn't find building thunderbird-115.2.3 or firefox-118.0.2 with rust-1.73 CLANG-17 any slower than normal. Rebuilt a couple of times to move from CLANG-16->17 rust-1.72->73. That's with MAKEOPTS="-j2". Two rust processes running most of the time. Takes about 2-3 hours on a vintage C2D Quad, using system-* and CFLAGS/CXXFLAGS="-march=native -pipe". Haven't touched RUSTFLAGS, unset according to emerge --info.