Why are you using D instead of Rust?
Ali Çehreli
acehreli at yahoo.com
Sun Oct 24 21:18:06 UTC 2021
On 10/24/21 1:57 PM, Antonio wrote:
> On Saturday, 23 October 2021 at 04:25:21 UTC, Dr Machine Code wrote:
>> Just would like to know you all opinions
>
> Try to write this in Rust
Are you saying Rust makes it difficult to write inefficient algorithms?
I have to learn more about Rust then. ;)
> ```d
> T[] sorted(T)(T[] xs) {
> return xs.length == 0 ? [] :
> xs[1..$].filter!(x=> x < xs[0]).array.sorted ~
> xs[0..1] ~
> xs[1..$].filter!(x=> x >= xs[0]).array.sorted;
>
> void main() {
> [1,6,2,3,1,9,3].sorted.writeln;
> }
> ```
I am glad we can do that but the number of arrays allocated there is *I
think* 4 per sorted() call. Ouch!
And picking the first element as the pivot is known to hurt worst-case
performance horribly. (For example, passing already (or nearly) sorted
data will be very bad there.)
> D is not Scala... but it is more expressive than Rust (Thanks to UFCS,
> Ranges & GC).
D is not Haskell either so let's at least pick a random pivot. ;)
Ali
"Who possibly missed a joke."
More information about the Digitalmars-d
mailing list