Каковы профессионалы + недостатки разовой Ссылкой Генерации кода? (VS 2005)

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

Например:

// imports
import IconButton from "@material-ui/core/IconButton";
import InputAdornment from "@material-ui/core/InputAdornment";
import SearchIcon from "@material-ui/icons/Search";

// render


        
          
        
      
    )
  }}
/>

Вот демо:

const {
  TextField,
  InputAdornment,
  IconButton,
  SearchIcon,
  Icon
} = window['material-ui'];

class App extends React.Component {
  render() {
    return (
      
              
                search
              
            
          )
        }}
      />
    );
  }
}

ReactDOM.render(, document.getElementById('root'));






18
задан user11180 13 November 2008 в 23:03
поделиться

5 ответов

Трудно сказать, потому что это зависит главным образом от Вашего проекта - и конечно качество LTCG, обеспеченного VS2005 (с которым у меня нет достаточного опыта судить). В конце необходимо будет иметь размеры.

Однако интересно, почему у Вас есть так много проблемы с дополнительной продолжительностью сборки конечных версий. Необходимо только раздать восстанавливаемые, стабильные, имеющие версию двоичные файлы, которые имеют восстанавливаемые или заархивированные источники. Я редко видел основания для частых, возрастающих сборок конечных версий.

рекомендуемая установка для команды - это: Разработчики обычно создают только возрастающую отладку, основывается на их машинах. Создание выпуска должно быть полной сборкой от управления исходным кодом до распространяемого файла (двоичные файлы или даже установить), с новым номером версии и маркировкой/архивацией источников. Только они должны быть даны внутренним тестерам / клиенты.

Идеально, Вы переместили бы полную сборку в отдельную машину или возможно виртуальную машину на хорошем ПК. Это дает Вам стабильную среду для Ваших сборок (включает, сторонние библиотеки, переменные среды, и т.д.).

Идеально, эти сборки должны быть автоматизированы ("один щелчок от управления исходным кодом для установки") и должны ежедневно работать.

12
ответ дан 30 November 2019 в 08:22
поделиться

Это позволяет компоновщику делать фактическую компиляцию кода, и поэтому это может сделать больше оптимизации, такой как встраивание.

, Если Вы не используете LTCG, компилятор является единственным компонентом в процессе сборки, который может встроить функцию, как в замене "вызов" к функции с содержанием функции, которая обычно намного быстрее. Компилятор только сделал бы так так или иначе для функций, где это приводит к улучшению.

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

, Но если Вы используете LTCG, это - компоновщик, который делает встраивание, и это имеет все функции в весь cpp файлов всего проекта минус библиотечные файлы, на которые ссылаются, которые не были созданы с LTCG. Это дает компоновщику (который становится компилятором) намного больше для работы с.

, Но это также заставляет Вашу сборку занять больше времени, особенно при выполнении возрастающих изменений. Вы могли бы хотеть включить LTCG в своей конфигурации сборки конечных версий.

Примечание, что LTCG не является тем же как ведомой профилем оптимизацией.

11
ответ дан 30 November 2019 в 08:22
поделиться

Я нашел, что оборотные стороны являются более длительным временем компиляции и что .obj файлы, сделанные в том режиме (включенный LTCG), могут быть действительно крупными. Например, .obj файлы, которые могли бы быть 200-500k, были о 2-3mb. Это только к произошедшему со мной, что, компилируя набор проектов в моей цепочке, ведомой к папке на 2 ГБ, объем которой был .obj файлами.

1
ответ дан 30 November 2019 в 08:22
поделиться

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

Вы представили свой код и определили потребность в этом? Мы на самом деле выполняем наши серверы почти полностью в режиме отладки, но особый случай несколько файлов, которые представили как очень важная производительность. Это работало отлично и сохранило вещи debuggable, когда существуют проблемы.

Не уверенный то, какое приложение Вы делаете, но разбиваете структуры данных для соответствия способу, которым они были обработаны в коде (для лучшей когерентности кэш-памяти) было намного большей победой для нас.

3
ответ дан 30 November 2019 в 08:22
поделиться

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

0
ответ дан 30 November 2019 в 08:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: