| > Rust can use simd too. No it can't. Either accept that the nightly build of Rust is not the Rust we are talking about or stop discussing with me. > Re:regex: my point exactly. The problem with regex libraries are that they are to big so therefore doesn't reveal so much about inherent language performance. > Most microbenchmarks are prone to slight differences in the implementation causing issues (and you can rarely translate code exactly, especially to something like rust which often requires a different structure of code from C. Same for any two other langauges). Yes, obviously the implementation defines performance. That's what I wrote in the other thread part: "this discussion is about Rust vs C. Or rather clang 3.6.2/gcc 5.2.1 vs Rust 1.9.0 since language performance is very implementation dependent" And fwiw, you can easily transliterate C code to C++ or to asm. > 19% is well within this error box. What error box? 19% is a huge difference. > The fast_blank thing is this example. fast_blank is a carefully hand optimized C extension whose main purpose is being super fast. I don't know what fast_blank is. Is it this https://github.com/SamSaffron/fast_blank/blob/master/ext/fas... C code wycatz managed to rewrite faster in Rust? That C code isn't well-optimized at all... > I don't put much stock in microbenchmarks for anything other than order of magnitude comparisons. Does that mean it is impossible to prove to you that C is at least 2x faster than Rust since twice is less than one order of magnitude? |
> 19% is a huge difference.
IMO that in the realm of microbenchmarks, it really isn't. You clearly disagree, not much I can do about that.
> That C code isn't well-optimized at all...
Go ahead and fix it then. You've been telling me much the same. I already mentioned that the other benchmark you linked me to wasn't optimized.
> Does that mean it is impossible to prove to you that C is at least 2x faster than Rust since twice is less than one order of magnitude
I use the term loosely, 2x is certainly alarming. As long as you rely on simd benchmarks I will disagree though, since in most cases a lack of that optimization isn't the reason your program is slow. If you really really care about performance, use nightly rust; there's no cost to that. I have yet to see production C code that uses SIMD everywhere possible, just in some tight loops. That is not going to create a 2x difference in performance unless the tight loop dominates all else. That is not most use cases.