|
|
Subscribe / Log in / New account

Rewriting the GNU Coreutils in Rust

Rewriting the GNU Coreutils in Rust

Posted Jun 20, 2021 14:31 UTC (Sun) by roblucid (guest, #48964)
In reply to: Rewriting the GNU Coreutils in Rust by tux3
Parent article: Rewriting the GNU Coreutils in Rust

If you're processing disk input, one process on one core per disk was always able to max it out, if you're waiting for i/o there's little point in parallelising the fast CPU part.
If you're using a good asynchronous implementation even less so, as you're giving the freedom to the disk to reorder fetches.
Copying and moving data on disks wasn't CPU bound even with relatively weak uni-processors.
In the article it mentioned performance gains due to using zero copy calls rather than the threading.


to post comments

Rewriting the GNU Coreutils in Rust

Posted Jun 20, 2021 22:51 UTC (Sun) by zlynx (guest, #2285) [Link]

"IO is slow" is an old and now outdated idea. It takes several CPU cores to make use of multiple Intel P5800X drives. The P5800X is the new Optane based PCIe 4 drive.

The new game consoles are using tricks to transfer data directly from NVMe to the GPU. Because the CPU is slow, busy and doesn't need to be involved.

Anyway, to repeat myself, storage and network IO is rapidly catching up in speed as CPU speed stalls out in favor of multiple cores.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds