Earlier quoted context omitted.
Try it out and write the critique, then. The posts are positive because Rust is genuinely achieving rapid progress and stability... but certainly not without flaws. I've experienced plenty of frustration, albeit outweighed by the massive benefits for my use case. And there are whole problem domains to which it's just not suited. I see these mentioned pretty frequently.
For once there is no consensus how to do parallelism an concurrency in Rust since none of the library are matures.
Why has CPU frequency ceased to grow? (2014)
211–220 of 301 posts
Re: Why has CPU frequency ceased to grow? (2014)
#212Re: Why has CPU frequency ceased to grow? (2014)
#213Earlier quoted context omitted.
Not especially. It has goroutines, C# has Tasks, C++ has green thread libraries. Added onto this are channels which are basically thread safe queues, other languages have those too. (I am aware that there are differences between what features goroutines and Tasks provides) Go's implementation of these things is nice, neat, and all included out of the box though which is nice. In general you can make parallelism easy,…
Except in other languages it's not part of the core, it's an external library. So on the end it's easy to write "parallel" code.
Still not quite as tightly integrated as Go though.
Re: Why has CPU frequency ceased to grow? (2014)
#214I took a class that went over this in depth like 3-4 years ago. Basically the message was that serial performance is saturating, and the only way to get speed improvements in the future is going to be by exploiting parallelism. However, most programmers, and programming languages, remain stuck in a serial-by-default paradigm. I'm surprised that there hasn't emerged a "parallel-by-default C++" kind of language + hardw…
While Rust doesn't promote a specific model for parallelism, it's stronger compiler helps a lot with that. https://doc.rust-lang.org/beta/nomicon/concurrency.html https://doc.rust-lang.org/book/second-edition/ch16-01-thread... I don't think fixing C(++) can give what Rust can give, because Rust has a clean start with these strong guarantees built-in while for C(++) it would always be an addon. Defaults are powerful.
Re: Why has CPU frequency ceased to grow? (2014)
#215Earlier quoted context omitted.
Unfortunately it requires more than just a change of language, it requires a change in mode of thinking by developers. People are very used to reasoning in terms of "do X, then Y, then Z" or "compute a value X then do A or B on the basis of that". In order to achieve automatic parallelism you need e.g. a type+proof system that can determine that X/Y/Z are independent, or a system that can partially execute both A and…
I think it is easier to understand by those of us that also had electronic design as part of the engineering degree.
Re: Why has CPU frequency ceased to grow? (2014)
#216Earlier quoted context omitted.
While Rust doesn't promote a specific model for parallelism, it's stronger compiler helps a lot with that. https://doc.rust-lang.org/beta/nomicon/concurrency.html https://doc.rust-lang.org/book/second-edition/ch16-01-thread... I don't think fixing C(++) can give what Rust can give, because Rust has a clean start with these strong guarantees built-in while for C(++) it would always be an addon. Defaults are powerful.
A really powerful outworking of it is seen in the Rayon crate, where you can change a sequential iterator into a parallel iterator just by adding the crate, importing the trait and changing `iter` to `par_iter`. If it’s not thread-safe to do, then it won’t compile. (That’s the big difference from C++.) If it is, it will, and it’ll be smart about how it runs, spreading the load across all available cores pretty much o…
Re: Why has CPU frequency ceased to grow? (2014)
#217Earlier quoted context omitted.
> Basically the message was that serial performance is saturating, and the only way to get speed improvements in the future is going to be by exploiting parallelism. People have been warning us about this for about 10 years now, but I still don't see those 64-core CPUs I was promised anywhere. If we had the amount of parallelism we were told we were going to get, we could give every app its own core. OSes could even…
If you can find an Nvidia GTX 1080, that has 2560 cores.
Re: Why has CPU frequency ceased to grow? (2014)
#218Re: Why has CPU frequency ceased to grow? (2014)
#219Earlier quoted context omitted.
Probably because it ran on PowerPC. If I remember my systems design class from 20 years ago, RISC makes implementing or scaling multiprocessing easier.
Intel processors essentially are RISC now internally. They just expose more complex instructions as a higher level API.
And it doesn’t make sense to apply the term ”risc” to internal CPU design anyway.
Re: Why has CPU frequency ceased to grow? (2014)
#220I took a class that went over this in depth like 3-4 years ago. Basically the message was that serial performance is saturating, and the only way to get speed improvements in the future is going to be by exploiting parallelism. However, most programmers, and programming languages, remain stuck in a serial-by-default paradigm. I'm surprised that there hasn't emerged a "parallel-by-default C++" kind of language + hardw…