this post was submitted on 19 Jan 2024
101 points (94.7% liked)

Linux Gaming

15983 readers
433 users here now

Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.

This page can be subscribed to via RSS.

Original /r/linux_gaming pengwing by uoou.

Resources

WWW:

Discord:

IRC:

Matrix:

Telegram:

founded 2 years ago
MODERATORS
 

tl;dr large gaming performance over stock CPU scheduler when there is a heavy CPU task running in background

Obviously, they only tested one game and it may not apply everywhere or hurt performance/latency in some cases.

One thing I wasn't aware of is that sched-ext/ePBF supports changing CPU schedulers on-the-fly, which takes away one of the downsides of third-party schedulers. I.e. you can use the stock scheduler most of the time, but then switch to a third party scheduler for specific workloads. So less of a downside risk.

Finally, none of this is merged yet (including sched-ext) so it's out of reach if you are just using the stock kernel.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 26 points 1 year ago (10 children)

Seems like a weird headline. AFAIK, the language it's written in has nothing to do with the performance.

[–] captainjaneway 6 points 1 year ago (5 children)

I wouldn't be surprised if this was essentially just a common result of refactoring code. Rust might help compile to more efficient C than the stuff people write on their own? But my code is always more performant after a refactor. Surely writing this in another language would cause someone to look deeper at the choices being made during development. Even the scheduler might have some technical debt.

[–] Curdie 10 points 1 year ago (1 children)

The main improvement Rust provides is memory safety. It's very easy to make mistakes in C where you could overrun a buffer or something, introducing unexpected crashing and making it vulnerable to exploitation by malware or whatever. Rust eliminates a whole category of issues with their clever memory management paradigm. The improvements in this schedule probably have more to do with the strategy used than code efficiency.

[–] surewhynotlem 2 points 1 year ago* (last edited 1 year ago) (1 children)

Didn't we already do that with c++ and c#? Is rust just c++++?

[–] Curdie 3 points 1 year ago

C and Rust are low level languages, suitable for interacting directly with the hardware. C++ might be described as C with some object oriented stuff bolted on, making it excellent for videogame development. C# is a lot more like Java. It's great for line of business apps because it handles the complexity of memory management for you and provides an excellent framework and excellent libraries for a lot of common tasks. But it's not suitable for low level work.

load more comments (3 replies)
load more comments (7 replies)