Вопросы с тегом 'compiler-optimization'

Оптимизация компилятора включает в себя адаптацию компилятора для уменьшения времени выполнения или размера объекта или того и другого. Это может быть выполнено с использованием аргументов компилятора (например, CFLAGS, LDFLAGS), плагинов компилятора (например, DEHYDRA) или прямых изменений в компиляторе (таких как изменение исходного кода).
5
ответов

Почему '- ++ a- - ++ + b--' оценивается в этом порядке?

Почему следующая печать bD aD aB aA aC aU вместо aD aB aA aC bD aU ? Другими словами, почему b-- оценивается до --++a--++ ? #include <iostream> using namespace std; class A { char c_; public: A(char c) : c_(c) {}...
задан 06.04.2017 в 20:56
5
ответов

Оптимизирует ли Python вызовы функций из циклов?

Скажем, у меня есть код, который вызывает некоторую функцию миллионов времени от цикла, и я хочу, чтобы код был быстрым: def outer_function(file): for line in file: inner_function(line) def inner_function(line): # do somethin...
задан 30.08.2011 в 14:54
3
ответа

C ++ Копировать конструктор, временные и семантику копирования

Для этой программы #include <iostream> using std::cout; struct C { C() { cout << "Default C called!\n"; } C(const C &rhs) { cout << "CC called!\n"; } }; const C f() { cout << "Entered f()!\n"; re...
задан 24.02.2010 в 03:15
3
ответа

Как заставить GCC генерировать команду bswap для большого магазина endian без встроенных?

Я работаю над функцией, которая хранит 64-битное значение в памяти в формате большого конца. Я надеялся, что могу написать переносимый код C99, который работает как на маленьких, так и на больших endian-платформах , а современные компиляторы x8...
задан 08.04.2016 в 12:41
2
ответа

Как определить, какие оптимизации применяются при использовании gcc?

С семейством компиляторов XL XL можно предоставить два варианта ( -qreport и -qlist ) для создания отчетов для каждого исходного файла, который включает информацию о том, какие оптимизации были применены или какие части кода не могут быть о...
задан 06.02.2013 в 20:40
4
ответа

Может ли оптимизация компилятора быть заблокирована многопоточностью?

Несколько раз мне приходилось распараллеливать часть программ с OpenMP, чтобы заметить, что в итоге, несмотря на хорошую масштабируемость, большая часть предполагаемого ускорения была потеряна из-за низкой производительности однопоточного корпус...
задан 29.05.2013 в 09:19
4
ответа

(Как) компилятор Java JIT оптимизирует мой код?

Я пишу довольно низкий уровень кода, который должен быть сильно оптимизирован для скорости. Каждый процессорный цикл подсчитывается. Поскольку код находится в Java, я не могу писать как низкий уровень, например, в C, но я хочу получить все из VM...
задан 24.11.2011 в 12:19
2
ответа

Возможно ли для GCC оптимизировать isnan (x) || isnan (y) в isorordered (x, y)?

Вот мой код: int f(double x, double y) { return std::isnan(x) || std::isnan(y); } Если вы используете C вместо C ++, просто замените std:: на __builtin_ (не просто удаляйте std:: по причинам, указанным здесь: Почему GCC реализует is...
задан 26.09.2014 в 09:08
0
ответов

Прагматика типизированных промежуточных языков

Одной из тенденций в компиляции является использование типизированных промежуточных языков . Пример% s_de% Haskell с промежуточным языком ghc , вариант System F-omega, является примером этой архитектуры [1]. Другим является LLVM, который имее...
задан 17.12.2015 в 14:41
2
ответа

Компиляторы автоматически оптимизируют повторные вызовы математических функций?

Скажем, у меня был этот фрагмент кода: #include <cmath> // ... float f = rand(); std::cout << sin(f) << " " << sin(f); Поскольку sin(f) является четко определенной функцией, ее легко оптимизировать: float f =...
задан 24.01.2013 в 20:56