News for hackers. Stuff that matters.
Re:Clang Format Tanks Performance by wffurr on Wednesday November 20, 2019 @08:14AM (#21583582)
Rust is slower than C++?
Re:Clang Format Tanks Performance by pdimitar on Wednesday November 20, 2019 @08:58AM (#21583902)
I am undecided on it since I am not in the C++ ecosystem for a long time now, and I am just a beginner in Rust. I get the message there are ways to write suboptimal (in terms of performance) code in Rust as well but I also keep hearing there are much less ways to shoot oneself in the foot, which works very well for me.

Truthfully, even if Rust can be 2x-5x slower than C++ somewhere, I'll still choose it as my static-and-strongly-typed / compiled-to-machine-code language regardless. Least WTFs per minute is my most important metric.

But I am open to see any and all benchmarks which show both strengths and weaknesses of Rust. So far I sadly haven't seen many of them (but I've been mightily impressed by `actix` in the TechEmpower benchmarks!).

Re:Clang Format Tanks Performance by The_rationalist on Wednesday November 20, 2019 @08:23AM (#21583652)
Yes, at best 20% slower but can be far more slower if you hit worst case scenario.
Re:Clang Format Tanks Performance by Ygg2 on Wednesday November 20, 2019 @08:49AM (#21583829)
Where did you pull those numbers?

Looking at https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

While the worst case is 40% slower (where even C perfored abysmally), most of the time the Rust is within a 10% margin of error, and in quite a few cases it's faster.

Re:Clang Format Tanks Performance by NoZZz on Thursday November 21, 2019 @02:10PM (#21598136)
Strange benchmark, comparing llvm(rust) to gcc(c++ code)
Re:Clang Format Tanks Performance by The_rationalist on Friday November 22, 2019 @03:38AM (#21603890)
As nozzz said, this is using clang. So I should correct my statement, c++ is in average 30% faster as gcc is in average 20% faster than llvm.
Re:Clang Format Tanks Performance by gameswithgo on Wednesday November 20, 2019 @09:13AM (#21584036)
"at best 20%" slower is a clearly non factual statement.

Probably the one scenario where it would be far more slower than that would be a heavily AVX-512 intrinsics program because Rust doesn't have those yet (I think), but then that isn't really either language anymore. its intrinsics.

Re:Clang Format Tanks Performance by The_rationalist on Friday November 22, 2019 @03:40AM (#21603902)
Re-read as 30% slower in average and then it's a factual statement.
Re:Clang Format Tanks Performance by johnzabroski on Wednesday November 20, 2019 @08:40AM (#21583758)
Why is Mozilla Firefox written in Rust, then?

The last time I looked at browser benchmarks was in 2016 when Google released benchmarks to brag about its performance over Firefox and Edge. It appears Webkit has released JetStream2 to benchmark JavaScript, WebAssembly and web workers, among other things. But I can't find data showing Mozilla Firefox is ~20% slower than Chrome/Edge today.

Re:Clang Format Tanks Performance by dthul on Wednesday November 20, 2019 @08:47AM (#21583818)
Using Firefox to evaluate Rust performance is probably not a good idea since only parts of it are written in Rust today.

But it's the first time I hear someone say that Rust is supposedly fundamentally slower than C++. I don't believe this to be a statement that can be substantiated, seeing that some of the fastest programs out there (ripgrep and hyper to name just two) are written in Rust.

Re:Clang Format Tanks Performance by The_rationalist on Friday November 22, 2019 @03:45AM (#21603921)
Facts: On average rust is 10% slower on the banchmarkgame: https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

But they use llvm instead of gcc for c++, and gcc is in average 20% faster than clang. Therefore, rust is 30% slower, at least on heavily optimised programs.

And hyper is not the fastest http server, but the actix one is one of the fastest yes.

Re:Clang Format Tanks Performance by steveklabnik on Friday November 22, 2019 @08:58AM (#21605557)
> Facts: On average rust is 10% slower on the banchmarkgame

That does not show it's 10% slower on average; it shows that C++ is 0.9917938291x as fast as Rust. They both have some where they win by 30%, most are closer, Rust is just faster on average.

> But they use llvm instead of gcc for c++,

C++ g++ g++ (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008

?

> gcc is in average 20% faster than clang.

Extremely citation needed.

Re:Clang Format Tanks Performance by igouy on Friday November 22, 2019 @10:40AM (#21606521)
> faster on average

What kind-of time measurements? What kind-of average?

This chart shows some time measurements:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

:and the geometric mean is faster for the C++ programs, but the median seems faster for the rust programs.

Statistical artifacts?

Re:Clang Format Tanks Performance by steveklabnik on Friday November 22, 2019 @10:52AM (#21606659)
> What kind-of time measurements? What kind-of average?

I interpreted the parent to mean a simple average, so I did exactly that: calculated the percentage for each, and averaged them. In the colloquial term, "mean".

Re:Clang Format Tanks Performance by igouy on Wednesday November 27, 2019 @11:46AM (#21649453)
typo ? "the colloquial term" is "average", the specific term is "mean".
Re:Clang Format Tanks Performance by The_rationalist on Friday November 22, 2019 @06:16PM (#21611132)
Geometric mean is the implicit default measurement for benchmarking
Re:Clang Format Tanks Performance by igouy on Friday November 22, 2019 @10:23AM (#21606313)
> On average rust is 10% slower on the banchmarkgame

If that claim was true …

> gcc is in average 20% faster than clang

and if that claim was true …

then we might guess the rust programs average could be 10% faster than the C++ programs average, if both used the same compiler backend

— because those rust programs were compiled with llvm but those c++ programs were compiled with gcc.

Re:Clang Format Tanks Performance by pdimitar on Wednesday November 20, 2019 @09:05AM (#21583957)
IMO the jury is still out. I am pretty sure that C++ veterans that can cleverly utilise any and all performance tricks (minus resorting to an assembly language) and can thus beat any other language.

But I -- like yourself -- am much more interested in the applicability of a language in everyday tools, plus in getting the most performance with the least amount of dark magic involved.

BTW, `ripgrep` definitely made me work better and faster.

Re:Clang Format Tanks Performance by The_rationalist on Friday November 22, 2019 @03:43AM (#21603911)
Firefox is far more than 20% slower than Chrome today but is not strictly a direct cause of using rust. https://www.phoronix.com/scan.php?page=article&item=firefox-...