Путь ускорения/libs/math/reporting/performance вы найдете некоторые разумные комплексные приложения для тестирования производительности для этой библиотеки.
Чтобы создать таблицы, которые вы видели в этой документации (или других для вашего конкретного компилятора), вам нужно вызвать<bjam
>в этом каталоге, используя компилятор, совместимый с C++11. Обратите внимание, что результаты расширяют/перезаписывают все, что уже присутствует в,/libs/math/reporting/performance/doc/performance_tables.qbk, вы можете удалить этот файл перед началом, чтобы сделать новый старт для вашей конкретной системы.
Программы дают результаты в формате Quickbook Boost, который не очень хорошо читается человеком. Если вы настраиваете свой пользовательский конфигуратор. Чтобы иметь возможность создавать документацию Docbook, вы также получите полное резюме всех данных в формате HTML вboost-path/libs/math/reporting/performance/html/index.html. Предполагая, что вы находитесь на шестиподобной платформе, процедура для этого заключается в первой установке пакетов<xsltproc
>,<DocbookDTD
>и<BookbookXSL
>. Тогда:
- Копироватьboost-path/tools/build/example/user-config.jam в ваш домашний каталог.
- Добавьте<
usingxsltproc
;
>в конец файла (обратите внимание на пространство, окружающее каждый токен, включая финальное «;», это важно!) Это означает, что<xsltproc
>на вашем пути.
- Добавить<
usingboostbook
:path-to-xsl-stylesheets:
path-to-dtd
;
>в конец файла.<path-to-dtd
>должно указывать на версию 4.2.x DTD Docbook, в то время как<path-to-xsl-stylesheets
>должно указывать на папку, содержащую последние таблицы стилей XSLT. Оба пути должны использовать все передние слэши даже в Windows.
На этом этапе вы должны иметь возможность запускать тесты и генерировать резюме HTML, если GSL, RMath или libstdc++ присутствуют в пути компиляторов, они будут автоматически протестированы. Для DCDFLIB вам нужно будет разместить источник C вboost-path/libs/math/reporting/performance/ third_party/dcdflib.
Если вы хотите сравнить несколько компиляторов или несколько опций для одного компилятора, вам нужно будет вызывать<bjam
>несколько раз, один раз для каждого компилятора. Обратите внимание, что для того, чтобы протестировать несколько конфигураций одного и того же компилятора, каждому нужно дать уникальное имя в программе тестирования, иначе все они редактируют одни и те же ячейки таблицы. Предположим, что вы хотите протестировать GCC с опцией -ffast-math и без нее, в этом случае bjam будет использоваться в качестве:
bjam toolset=gcc -a cxxflags=-std=gnu++11
Что бы запустить тесты с использованием опций оптимизации по умолчанию (-O3), мы можем запустить снова с помощью -ffast-math:
bjam toolset=gcc -a cxxflags='-std=gnu++11 -ffast-math' define=COMPILER_NAME='"GCC with -ffast-math"'
В командной строке выше флаг -a заставляет полностью перестроиться, а препроцессор определяет COMPILER_. Имя должно быть настроено на строку, буквально описывающую конфигурацию компилятора, отсюда двойные цитаты — одна для командной строки, одна для компилятора.