Обзор и тестирование компиляторов С++

Содержание

Содержание

Введение 3

1.1. Процесс компиляции 4

1.2. Обзор компиляторов 7

1.2.1. Visual C 7

1.2.2. GNU Compiler Collection 8

1.2.3. Clang 10

Глава 2. Обзор задач 11

2.1. Накладные расходы 11

2.2. Тестовые задачи 12

Глава 3. Результаты тестирования 14

3.1. Результаты бенчмарка 1 14

3.2. Результаты бенчмарка 2 20

Заключение 23

Список литературы 24

Приложение 25

Листинг 1. benchmark_eratosthenes.cpp 25

Листинг 2. benchmark_qs.cpp 26

Выдержка из текста

Введение

При решении вычислительных задач немаловажной является задача выбора компилятора. Компилятор – это инструмент разработчика программного обеспечения (ПО), позволяющий транслировать программу на языке высокого уровня в эквивалентную программу, близкую к машинному коду. Разработчику важно, чтобы код, сгенерированный компилятором был, по возможности, оптимальным по затратам вычислительных ресурсов и ресурсов памяти.

Целью данной работы является проведение сравнительного анализа наиболее часто используемых компиляторов на производстве.

Поставленная цель обусловила необходимость решения следующих подзадач:

• ознакомиться с компиляторами языка С;

• изучить возможности выбранных на предыдущем шаге компиляторов;

• разработать и провести тестирование выбранных компиляторов.

Список использованной литературы

Список литературы

1. Першиков В. И., Савинков В. М. Толковый словарь по информатике / Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. — М.: Финансы и статистика, 1991

2. Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, -2 ed. 2007

3. Microsoft Visual Studio 2010 [Электронный ресурс] – Режим доступа:

http://msdn.microsoft.com/ru-ru/library/vstudio/52f3sw5c(v=vs.100).aspx

4. GCC, the GNU Compiler Collection [Электронный ресурс] – Режим доступа: https://gcc.gnu.org/

5. The LLVM Compiler Infrastructure [Электронный ресурс] – Режим доступа: http://llvm.org/

6. clang: a C language family frontend for LLVM [Электронный ресурс] – Режим доступа: http://clang.llvm.org/

7. The LLVM Target-Independent Code Generator [Электронный ресурс] – Режим доступа: http://llvm.org/docs/CodeGenerator.html

8. Sedgewick, Robert (1992). Algorithms in C . Addison-Wesley. ISBN 0-201-51059-6. , p. 16

9. GCC 4.6 Release Series Changes, New Features, and Fixes [Электронный ресурс] – Режим доступа: https://gcc.gnu.org/gcc-4.6/changes.html

10. GCC 4.8 Release Series Changes, New Features, and Fixes[Электронный ресурс] – Режим доступа: https://gcc.gnu.org/gcc-4.8/changes.html

Похожие записи