Когда я должен использовать GCC's - опция канала?

Отсюда:

http://discussions.apple.com/thread.jspa?threadID=1811475&tstart=75

"Можно сохранить количество времени, которое передало начиная с запущенного таймера... Когда таймер запускается, хранят дату в переменной NSDate. Тогда, когда пользователь переключается... используют метод timeIntervalSinceNow в классе NSDate для хранения, сколько времени передало... примечание, что это даст отрицательную величину для timeIntervalSinceNow. Когда пользователь возвращает использование, которые оценивают для установки соответствующего таймера.

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

56
задан Rob Kennedy 3 October 2009 в 05:55
поделиться

5 ответов

Обычно это не имеет никакого значения

Здесь есть + и - соображения. Исторически сложилось так, что одновременный запуск компилятора и ассемблера вызывал нагрузку на ресурсы ОЗУ.

Gcc мал по сегодняшним стандартам, а -pipe добавляет немного многоядерного доступного параллельного выполнения.

Но тем же самым условием процессор настолько быстр, что может создать этот временный файл и прочитать его, даже если вы этого не заметите. А поскольку -pipe никогда не был режимом по умолчанию, иногда он немного срабатывает. Один разработчик обычно сообщает, что не замечает разницы во времени.

Сейчас существует несколько крупных проектов. Вы можете проверить единое дерево, которое построит весь Firefox, или NetBSD, или что-то в этом роде, что-то действительно большое. Что-то, что включает в себя весь X, скажем, как второстепенный компонент подсистемы. Вы можете заметить или не заметить разницу, когда задание включает миллионы строк кода в тысячах и тысячах файлов C. Я уверен, что вы знаете, что люди обычно работают только над небольшой частью чего-то подобного одновременно. Но если вы работаете инженером по выпуску или работаете на сервере сборки или что-то меняете в stdio.h, , вы вполне можете собрать всю систему, чтобы посмотреть, не сломались ли вы что-нибудь. А теперь, наверное, на счету каждая капля производительности ...

Но если вы инженер по выпуску, работаете на сервере сборки или что-то меняете в stdio.h, , вы вполне можете собрать всю систему, чтобы посмотреть, не сломались ли вы что-нибудь. А теперь, наверное, на счету каждая капля производительности ...

Но если вы инженер по выпуску, работаете на сервере сборки или что-то меняете в stdio.h, , вы вполне можете собрать всю систему, чтобы посмотреть, не сломались ли вы что-нибудь. А теперь, наверное, на счету каждая капля производительности ...

36
ответ дан 26 November 2019 в 17:18
поделиться

From a hardware point of view I guess you would use -pipe to preserve the lifetime of your hard drive.

-1
ответ дан 26 November 2019 в 17:18
поделиться

Честно говоря, причин не использовать его очень мало. -pipe будет использовать только немного больше плунжера, который, если этот ящик строит код, я бы предположил, имеет приличное количество. Это может значительно сократить время сборки, если ваша система использует более консервативную файловую систему, которая записывает, а затем удаляет все временные файлы по пути (например, ext3).

10
ответ дан 26 November 2019 в 17:18
поделиться

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

.
37
ответ дан 26 November 2019 в 17:18
поделиться

Попробовав это сейчас, выяснилось, что сборка выполняется умеренно быстрее, когда места назначения исходного кода / сборки находятся в NFS (сеть Linux). Однако использование памяти велико. Если вы никогда не заполняете оперативную память и используете исходный код на NFS, похоже, что вы выиграете с -pipe.

27
ответ дан 26 November 2019 в 17:18
поделиться
Другие вопросы по тегам:

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