0
ответов

Как компилятор так хорошо оптимизирует эту функцию факториала?

Итак, я посмотрел на некоторые волшебные свойства O3 в GCC (на самом деле я компилирую с помощью Clang, но это то же самое с GCC, и я предполагаю, что большая часть оптимизатора была перетянута ...
вопрос задан: 23 May 2017 12:24
0
ответов

Почему конкатенация строк не преобразуется автоматически в StringBuilder в C #? [дубликат]

Возможный дубликат: Почему String.Concat не оптимизирован для StringBuilder.Append? Однажды я разглагольствовал об одном элементе управления Telerik своему другу. Я сказал ему, что потребовалось несколько ...
вопрос задан: 23 May 2017 12:20
0
ответов

Как справиться с прогнозированием ветвлений при использовании случая переключения в эмуляции ЦП

Недавно я прочитал здесь вопрос Почему быстрее обрабатывать отсортированный массив, чем несортированный массив? и нашел ответ совершенно захватывающим, и он полностью изменил мой взгляд на...
вопрос задан: 23 May 2017 12:08
0
ответов

Есть ли способ получить компилятор .NET jit или C # для оптимизации пустых петлей?

Дополнительное использование .NET JIT оптимизирует пустые петли?: Следующая программа просто работает пустой петлей раз и распечатает время бегать. На моей машине занимает 700 мс на моей машине, и мне любопытно ...
вопрос задан: 23 May 2017 12:07
0
ответов

Как определить узкие места времени компиляции в большом проекте C++?

Я хочу сократить время компиляции большого проекта C++. Я пытался использовать предварительно скомпилированные заголовки, интерфейс и т.д. Но прежде чем я двинусь дальше, я хочу знать, есть ли какой-либо инструмент, который помогает определить, почему в
вопрос задан: 23 May 2017 12:07
0
ответов

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

Уведомление: Я заметил, что этот вопрос - это лот, связанный с этим, поэтому, если вы кого-то интересуетесь в моем вопросе, вы обязательно должны прочитать этот другой и его ответы. Я могу подумать о некоторых ...
вопрос задан: 23 May 2017 12:06
0
ответов

Оптимизация компилятором в рекурсивном программа

Я получил мотивацию от вопроса оптимизации хвостового вызова Что такое оптимизация хвостового вызова? Итак, я решил посмотреть, как я могу сделать это на простом C. Итак, я написал 2 факториальные программы, 1-я где хвостовой вызов ...
вопрос задан: 23 May 2017 12:04
0
ответов

Почему компиляторы C не могут переупорядочить элементы структуры, чтобы исключить выравнивание заполнения? [дубликат]

Возможный дубликат: почему GCC не оптимизирует структуры? Почему C ++ не делает структуру более жесткой? Рассмотрим следующий пример на 32-битной машине x86: Из-за ограничений выравнивания, ...
вопрос задан: 23 May 2017 12:02
0
ответов

Пример оптимизации компилятора, которую можно 'легко' сделано в коде C++, но не в коде C

В этом вопросе говорится об оптимизации функции сортировки, которая не может быть легко достигнута в C:Производительность qsort против std::sort? Есть ли еще примеры оптимизации компилятора, которые были бы...
вопрос задан: 23 May 2017 11:59
0
ответов

Двойные вопросительные знаки ('??' )vs if при назначении одной и той же переменной

Ссылаясь на следующий ответ SE. При записи А = А ?? Б; это то же самое, как если бы (null != A )A = A; иначе А = В; Означает ли это, что если (null == A )A = B; было бы предпочтительнее,...
вопрос задан: 23 May 2017 11:33
0
ответов

Перекомпиляция зависимостей с Maven - возможно? Есть ли повышение производительности?

Я думал о зависимостях в Maven. Maven загружает их, но неизвестно, для какой целевой версии JVM они скомпилированы и с каким компилятором. Это вызывает два вопроса: Будет ли ...
вопрос задан: 23 May 2017 10:34
0
ответов

Как намекнуть оптимизатору компилятора Visual C ++, что конкретная ветвь оператора if вряд ли будет выполнена?

У нас есть макрос для проверки ошибок, который выглядит следующим образом: #define CheckCondition (x) \ if (x) {\ // хорошо, ничего не делать \} else {\ CallFunctionThatThrowsException (); \} и ...
вопрос задан: 23 May 2017 10:32
0
ответов

будет линкером C ++ автоматически встроенными функциями (без «встроенного» ключевого слова, без реализации в заголовке)?

будет автоматически линкер C ++ «Проходные» функции, которые не определены в заголовке, а не явно запрошены как «включенные» через ключевое слово Inline? Например, ...
вопрос задан: 23 May 2017 10:30
0
ответов

是否存在技术上的原因,C#不发布“ tail”。 CIL指令? [重复]

可能重复:.net / C#为什么不消除尾递归? 使用以下C#代码:using System; 命名空间TailTest {class MainClass {public static void Main(...
вопрос задан: 23 May 2017 10:28
0
ответов

Хвостовая рекурсия в C ++ с несколькими рекурсивными вызовами функций

Я читал этот пост о хвостовой рекурсии. Я скопирую опубликованное решение: unsigned int f (unsigned int a) {if (a == 0) {return a;} return f (a - 1); // хвостовая рекурсия } Я ...
вопрос задан: 23 May 2017 10:26
0
ответов

Почему GCC не оптимизирует a * a * a * a * a * a до (a * a * a) * (a * a * a)?

Я делаю некоторую числовую оптимизацию для научного приложения. Одна вещь, которую я заметил, заключается в том, что GCC оптимизирует вызов pow (a, 2), скомпилировав его в a * a, но вызов pow (a, 6) не оптимизируется и ...
вопрос задан: 3 February 2017 15:20
0
ответов

Обратный итератор возвращает мусор при оптимизации

У меня есть шаблонный класс AsIterator, который принимает числовой тип, в данном примере просто int, и преобразует его в итератор (++ и - увеличивают и уменьшают число, а оператор * просто ...
вопрос задан: 27 January 2017 16:21
0
ответов

Алгоритм встраивания

Кто-нибудь знает какие-либо статьи, в которых обсуждаются алгоритмы встраивания? И тесно связанная с этим связь родительско-дочернего графа с графом вызовов. Предыстория: у меня есть компилятор, написанный на Ocaml, который ...
вопрос задан: 13 September 2016 06:43
0
ответов

Почему улучшенный оптимизатор GCC 6 нарушает практический код C ++?

В GCC 6 появилась новая функция оптимизатора: она предполагает, что она всегда не равна нулю, и оптимизирует ее на основе этого. Распространение диапазона значений теперь предполагает, что указатель this функций-членов C ++ не равен нулю ....
вопрос задан: 27 April 2016 14:45
0
ответов

Оптимизируют ли какие-либо компиляторы C или C ++ в макросах определения?

Допустим, у меня есть следующее на C или C ++: #include #define ROWS 15 #define COLS 16 #define COEFF 0,15 #define NODES (ROWS * COLS) #define A_CONSTANT (COEFF * (sqrt (NODES))) Затем я иду ...
вопрос задан: 23 March 2016 20:21
0
ответов

Компилятор, написанный на Java: реализация оптимизатора Peephole

Я пишу компилятор для подмножества Pascal. Компилятор производит машинные инструкции для выдуманной машины. Я хочу написать глазок-оптимизатор для этого машинного языка, но у меня проблемы...
вопрос задан: 19 March 2016 19:04
0
ответов

Как уменьшить размер сгенерированных двоичных файлов?

Я знаю, что есть опция "-Os" для "Оптимизировать по размеру", но она мало влияет или даже увеличивает размер в некоторых случаях :( Газа (или опция "-s") удаляет таблицу символов отладки, которая работает ...
вопрос задан: 8 November 2015 18:53
0
ответов

Пределы типа Nat в Shapeless

В бесформенном типе Nat представлен способ кодирования натуральных чисел на уровне типа. Это используется, например, для списков фиксированного размера. Вы даже можете делать вычисления на уровне типа, например, добавить список ...
вопрос задан: 21 August 2015 06:33
0
ответов

Определить уровень оптимизации в препроцессоре?

-Og - это относительно новая опция оптимизации, которая предназначена для улучшения отладки при применении оптимизаций. Если пользователь выбирает -Og, я бы хотел, чтобы мои исходные файлы активировались по-другому ...
вопрос задан: 30 July 2015 08:22
0
ответов

Почему код с несколькими вложенными циклами может завершиться немедленно в GCC, но может занять вечность в VS?

long long r = 0; длинный длинный k = 0; for (; k < 9999999999999; k++) { for (long long i = 0; i < 9999999999999; i++) { for (long long j = 0; j < 9999999999999; j++) { ...
вопрос задан: 26 June 2015 10:51
0
ответов

Как GCC оптимизирует неиспользуемую переменную, увеличивающуюся внутри цикла?

Я написал эту простую программу на C: int main () {int i; int count = 0; для (я = 0; я <2000000000; я ++) {счетчик = счет + 1; } } Я хотел увидеть, как компилятор gcc оптимизирует ...
вопрос задан: 26 June 2015 06:49
0
ответов

Как отключить оптимизацию компилятора в gcc?

Я пытаюсь изучить ассемблер. Я искал и нашел, как разобрать файл .c, но я думаю, что это дает некоторую оптимизированную версию программы. Есть ли способ увидеть ...
вопрос задан: 16 May 2015 20:18
0
ответов

C оптимизация строковых литералов

только что проверил следующее в gdb :char *a[] = {"один","два","три","четыре"}; char *b[] = {"один","два","три","четыре"}; char *c[] = {"два","три","четыре","пять"}; char *d[] = {"один","три","...
вопрос задан: 3 December 2014 08:12
0
ответов

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

Когда я включаю Оптимизацию времени соединения в GCC, получаемые двоичные файлы становятся намного больше. Я ожидал, что GCC сможет удалить много избыточных функций и выполнить другие оптимизации в противном случае ...
вопрос задан: 6 September 2014 09:36
0
ответов

Могут ли разные уровни оптимизации привести к функционально разному коду?

Мне любопытно узнать о свободе, которую имеет компилятор при оптимизации. Давайте ограничим этот вопрос GCC и C / C ++ (любая версия, любая разновидность стандарта): Можно ли написать код, который ведет себя ...
вопрос задан: 24 June 2013 19:43