Разница в производительности между "int a, b;"и "int a; int b;"? - PullRequest
0 голосов
/ 28 октября 2018

Это легко описывается в вопросе, как говорится в заголовке.

Этот вопрос приходил мне в голову каждый раз, когда я могу собрать два отдельных утверждения вместе в блоке.Особенно, когда я кодирую проблемы с ЦП, такие как проблемы с NP-завершением.

Есть ли необходимость объединить два отдельных оператора вместе?.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Как уже говорили другие, оба являются эквивалентными декларациями.Один может скомпилироваться немного быстрее другого.

Они оба объявления .
Объявления могут быть реализованы во время выполнения путем выделения пространства в памяти (например, в стеке), резервирования регистра или игнорирования.

Если компилятор выдает инструкции для выделения переменных, время обработки будет незначительным (порядка наносекунд или микросекунд).

При рассмотрении производительности ваш первый элемент контрольного списка должен быть (в следующем порядке):

  1. Требования - устранение требований может ускорить выполнение программы.
  2. Проектирование - Эффективные алгоритмы, удаление переменных, эффективные интерфейсы
  3. Реализация (кодирование) - Эффективное кодирование алгоритмов.
  4. Уровни оптимизации компилятора - Установка уровней оптимизации компилятора на самом высоком уровне.
  5. Специфичные для платформы приемы - Использование специальных алгоритмов процессора, аппаратной поддержки и т. Д.

Обычно клиенты предпочитают более медленную, более качественную программу, чем действительно быстрая ненадежная программа.
Заинтересованные стороны предпочитаютиметь программу, разработанную быстрее, чем платить за оптимизации, которые не имеют высокой рентабельности инвестиций (ROI).

Сосредоточьтесь на качестве и надежности.Оптимизируйте только при необходимости.

0 голосов
/ 28 октября 2018

Разница в производительности между «int a, b;» и «int a;int b; ”?

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

Однако первое объявление короче на несколько символов, поэтому процесс компиляции может занять несколько микросекунд быстрее, чем требуется для загрузки исходного файла с диска.

Есть ли необходимость объединять два отдельных утверждения вместе?

В общем, нет.

...