I ran them myself. Incidentally, the Rust version is absurdly slow if I don't specify an optimization level. Here's what I got:
Clang (-O3): 7.99s real Go (improved version): 9.68s real Go (original version): 16.73s real Rust (--opt-level=3): 13.03s real (I ran each case 3 times and took the median) So if we discard the algorithmically-improved Go, then we get 1) C++: 7.99s 2) Rust: 13.02s 3) Go: 16.73s I'm curious as to what difference using gccgo would make, but I didn't try (as I don't have GCC). -Kevin On Sep 24, 2013, at 2:48 PM, Huon Wilson <dbau...@gmail.com> wrote: > On 25/09/13 04:13, Tim Kuehn wrote: >> To make it a "fair" fight, I converted the Go and C++ versions to trace >> "Rust" instead. These are my results on my Macbook Pro: >> >> === RUST === >> $ rustc -O bin.rs >> $ time ./bin > rrays.ppm >> >> real 0m14.472s >> user 0m14.102s >> sys 0m0.365s >> >> === GO === >> $ go build main.go >> $ time ./main > grays.ppm >> >> real 0m13.928s >> user 0m13.914s >> sys 0m0.020s >> >> === C++ === >> $ gcc -O crays.cpp >> $ time ./a.out > crays.ppm >> >> real 0m10.800s >> user 0m10.794s >> sys 0m0.005s >> >> === RANKINGS === >> 1) C++ : 10.8s >> 2) Go : 13.9s >> 3) Rust : 14.5s >> >> > > This surprises me a lot (the fact that Go is (1) faster than Rust, (2) it's > only 20% slower than C++, compared to 150+% originally), so I investigated, > and found that the Go is "cheating" with an algorithmic improvement: > https://github.com/kid0m4n/gorays/commit/249f229ba8c769c38d7dc018acfdf29cc86d6e43 > > If it's possible, could we re-run the benchmarks with the commit before that? > > Huon > _______________________________________________ > Rust-dev mailing list > Rust-dev@mozilla.org > https://mail.mozilla.org/listinfo/rust-dev
_______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev