Published September 1, 2014 | Version v1
Report Open

Evaluation of selected C++11 features with GCC, ICC and Clang

  • 1. CERN openlab Summer Student
  • 2. Summer Student Supervisor

Description

Project Specification

The project concerns various C++11 features - their performance and reliability. The report summarizes the tesults from four micro-benchmarks designed for this project and run with three different compilers (GCC, ICC, Clang) and tries to make an evaluation based on the results.

Abstract

As C++11 gained almost full support by compilers, it is interesting to see whether we can leverage some of the features to improve performance and reliability of C++ code. This work is focused on four selected problems: time measurement techniques, for-loops efficiency, asychronuous tasks and parallel mode of STL algorithms. For each of them a micro-benchmark is made. All the benchmarks are fully automatized to generate results from running binaries compiled by three compilers: GCC, ICC and Clang with -O2, -O3 and -Ofast options. In order to evaluate vectorization and multithreading, profiling tools such as perf and Intel Vtune are used.

Files

CERN_openlab_Stephen_Wang.pdf

Files (703.8 kB)

Name Size Download all
md5:87084e80b982775498fb54f6ab2f12bb
703.8 kB Preview Download