Loop Recognition Benchmarks in C++, Java, Go, Scala (2011) [pdf]
days2011.scala-lang.org
days2011.scala-lang.org
I guess they forgot about C++11's auto?
// Step d:
IntList::iterator back_pred_iter = back_preds[w].begin();
IntList::iterator back_pred_end = back_preds[w].end();
for (; back_pred_iter != back_pred_end; back_pred_iter++) {
int v = *back_pred_iter;
…
can now be written for (auto v : back_preds[w]) {
… ,
hence you could argue that while C++ is certainly “mature” in a sense, it is far from converged.http://research.google.com/pubs/pub37122.html
Venue : Proceedings of Scala Days 2011
Publication Year: 2011
Submitters: please use an article's title unless it is linkbait or misleading [2].
1. Submitted title was "Google Publishes C++, Go, Java and Scala Performance Benchmarks"
The algorithm encoded in the benchmark is loop recognition, but the purpose of the paper is to benchmark the languages, not to find loops.
this is the real artical, which just points to the pdf
The benchmarking itself was done in a simple and
fairly un-scientific fashion.
... older Pentium IV workstation. Run-times were
measured using wall-clock time.
but still a good read about tweaking c++ (I think at the time, clang and gcc were still implementing the C++11 standard features).Also i remember long HN threads about this in mid 2011 but i can't find them, here'a a later discussion https://news.ycombinator.com/item?id=4539668