this post was submitted on 30 Oct 2024
55 points (98.2% liked)

Linux

48323 readers
647 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
top 16 comments
sorted by: hot top controversial new old
[–] [email protected] -3 points 3 weeks ago

op-ti-mize [verb (trans.)]* … (gcc) to modify executable code so that it fails more quickly.

[–] [email protected] 17 points 3 weeks ago (2 children)
[–] [email protected] 3 points 3 weeks ago (1 children)

Jokes on you, my system is (mostly) -O3

[–] [email protected] 1 points 3 weeks ago (1 children)
[–] [email protected] 2 points 3 weeks ago
[–] [email protected] 19 points 3 weeks ago (1 children)

Bah, they'll never have my precious -march=native!

[–] [email protected] 1 points 3 weeks ago

I doubt they want my fun and safe math optimizations either tbh

[–] [email protected] -1 points 3 weeks ago (2 children)

How do they avoid the subsequent bugs O3 tends to produce?

[–] [email protected] 5 points 3 weeks ago (1 children)

First time I'm hearing of this. Do you have some more details?

[–] [email protected] 10 points 3 weeks ago

They don't.

[–] [email protected] -3 points 3 weeks ago (1 children)

Not like Ubuntu works very well on old hardware but hopefully O2 support will still be there. Many people need it.

[–] [email protected] 9 points 3 weeks ago (2 children)

-O2 vs -O3 adds -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-loops -fsplit-paths -ftree-loop-distribution -ftree-partial-pre -funswitch-loops -fvect-cost-model=dynamic -fversion-loops-for-strides

I don't think any of these optimizations require more modern hardware?

[–] [email protected] 1 points 2 weeks ago

Yeah, adding a separate microarchitecture like amd64v3 would be a separate item. They might be able to do that with amd64v3 overlay repos that only contain packages that most benefit from the newer microarchitecture.

[–] [email protected] 5 points 3 weeks ago (1 children)

Right. GCC -f optimizations are basically like "how hard are we going to try to be clever" and are, I believe, orthogonal to the actual instructions used. Machine dependent args start with -m, like -march or -mavx etc.

[–] [email protected] 1 points 3 weeks ago

I was reasonably certain, but left it open in case OP knew of some edge case where flags that are intended to be machine independent caused bugs on different architectures