Hacker Newsnew | past | comments | ask | show | jobs | submitlogin



The benchmarks game's results are not very correlated with real-world performance.

In this context, Rust's semantics do allow C-level performance- they make it straightforward to describe the same machine code that C would. In some cases, they even enable more compiler optimizations than C does.

Java, on the other hand, makes it hard or impossible to do that (straightforwardly at least). A more mature compiler will make a lot of difference- compare early Java performance to where it is now, for example.


>>not very correlated with real-world performance<<

Please share your measurements of "real-world performance" that are "not very correlated" with the benchmarks game's results.

edit: Please provide a better response than downmods.


Servo layout, painting, DOM performance. JSON serialization in serde.


Obviously not in any way an answer to the question asked.

edit: Please provide a better response than downmods.


Go actually check the things pcwalton mentioned instead of complaining.


Please provide comparison measurements of the things pcwalton mentioned.

Just a URL to published comparison measurements would be so much more interesting for anyone interested in Rust, than downmods.



How about some measurements made with rustc 1.0.0?

(There seem to have been plenty of breaking language changes in the last 6 months.)


http://xania.org/201505/on-rust-performance

(The "faster" bit isn't important; various reasons might have made C++ slower than Rust for this, but what is important is that perf was comparable)


Do you think a 100 line ray tracer is any more "correlated with real-world performance" than 100 line benchmarks game programs?

What I questioned was Rusky's technical-sounding but apparently unsupported claim that "the benchmarks game's results are not very correlated with real-world performance." For Rusky to know he'd need some kind-of "real-world performance" measurements and a correlation coefficient - neither of which have been shown.


We've been focused more on language semantics than the Benchmarks Game for a while now. A few months ago, iirc, we were faster than C on some of them.


It looks like the worst offenders (vs C) are regex-dna (which is a young regex + unicode vs pcre + ascii) and fasta (where the rust version is still single-core). The others are at 1-2x cpu and on par for memory. I suspect most of them could be on par or better with a little effort - only regex looks hard.


> only regex looks hard.

I'm working on improving the regex engine now. Hopefully I can submit some improvements soon. :-) It will be hard to get near the top, but I think there's some low hanging fruit I can tackle first.


Let's not make this about the benchmarks game.

A couple of weeks ago you said -- "… optimizing performance hasn't been a focus, shipping good language semantics has been."

https://news.ycombinator.com/item?id=9565405

edit: Please provide a better response than downmods.


Optimizing language performance has been a focus.

Optimizing the workloads tested on the benchmarks game has not been a focus.


You seem to have a disagreement with what steveklabnik said, so please take that up with him.

https://news.ycombinator.com/item?id=9554676

edit: Please provide a better response than downmods.


Please provide better manners than those in your comments. :)


It isn't bad manners to ask Rusky or pcwalton to show measurements in support of their claims.

It isn't bad manners to trust that when steveklabnik answers "No, as optimizing performance hasn't been a focus, shipping good language semantics has been." that's what he means.

https://news.ycombinator.com/item?id=9554676


Okay, so I just tested the n-body benchmark [1] for Rust and C++ (program #8), and where they list runtimes of 24.62/9.4 (a factor of 2.62), I actually got a factor of 1.25 (5.45/4.35) on my machine [2]. I used the same version of Rust and nearly the same version of gcc (4.9.1 vs 4.9.2).

Conclusion: Don't draw conclusions from the benchmarks game.

[1] http://benchmarksgame.alioth.debian.org/u64q/performance.php...

[2] i5-3470 @ 3.20GHz


Conclusion: "Measurement is highly specific … Measurement is not prophesy." (benchmarks game homepage.)


> what are some of the things that make a language more suited to systems programming rather than web

the answer was to what qualities make a lang suited for systems programming not just specific to Rust




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: