Я надеюсь купить новый компьютер в ближайшее время, и я хочу машину для лучшей производительности для быстрого времени компиляции.
Так стоит ли мне приобретать четырехъядерный процессор с максимальной частотой ГГц, который я могу себе позволить, или я должен вместо этого инвестировать в более высокую скорость ОЗУ?
Какая у вас рекомендация для какого типа оперативной памяти мне выбрать?
Производительность графики не имеет значения, сборка программного обеспечения и выполнение математического моделирования.
Вероятно, оперативная память даст вам большую отдачу. Компиляция, особенно для больших приложений, требует очень много операций ввода-вывода, а наличие большего объема ОЗУ означает, что вы можете сэкономить больше времени подкачки на диск и с диска. Большинство современных процессоров, особенно если вы используете дешевый четырехъядерный процессор, обеспечат достаточную мощность процессора для вашей компиляции, но наличие оперативной памяти поможет с возвратом данных назад и вперед.
Во-вторых, это зависит от математического моделирования и процессов сборки. Они распараллеливаются? Если нет, то добавление большего количества ядер на самом деле ничего не даст для его ускорения, хотя новые чипы Intel (Core i7) довольно быстры для каждого ядра.
источник
Я бы сказал, получить загрузки ОЗУ и использовать RAM-диски для временного хранения. Это резко увеличит скорость компиляции. С быстрым многоядерным процессором тоже все будет в порядке, но я думаю, что вы получите больше пользы от большого количества оперативной памяти. Взгляните на эту статью для некоторых идей. Вот еще немного информации и немного больше здесь . Я думаю, что использование RAM будет быстрее, чем использование SSD, но я могу ошибаться.
источник
Для ваших вычислений ваш процессор, безусловно, самый важный.
Компиляция будет нагружать как ваш процессор, так и оперативную память.
Я думаю, что наиболее экономически эффективным решением было бы получить лучший процессор, который вы можете себе позволить, и предпочтительно Quad Core. Поскольку оперативная память такая же дешевая, как и она (DDR3 теперь такая же дешевая, как и DDR2), вы можете легко подключить столько оперативной памяти, сколько вам нужно, за небольшую монету (16 ГБ памяти DDR3 за 180 долларов на newegg ... Я понимаю, что это излишне, просто пытаюсь продемонстрировать, насколько это дешево). Поэтому я бы вложил столько, сколько смогу, в качественный процессор, насколько это возможно.
источник
make
с помощью-j
опции. Кроме того, я считаю, что llvm может или сможет скомпилировать один файл, используя несколько потоков.distcc
(make -j8
(локально) доmake -j30
(распределено по сети))Графика может помочь, потому что видеокарта с процессором может снизить нагрузку на основной процессор. Мощность процессора, вероятно, важнее, чем ОЗУ, но чем лучше, тем лучше.
источник
из-за физических ограничений сами ядра не будут становиться намного быстрее в ближайшее время, поэтому, если вы не планируете переходить на пользовательский кремний, инвестирование в более быстрые процессоры не решит вашу проблему, если распараллеливание не принесет существенных изменений, но в любом случае многие программы вряд ли получат более 4 ядер. Я знаю это, потому что я очень часто собираю всю свою систему и много раз смотрю статистику ресурсов. Более того, даже если разработчики хотели увеличить распараллеливание, иногда нужно сделать это хорошим способом. Инвестирование в ЦП полезно либо для повышения производительности услуг, либо если вы выполняете вычисления в первую очередь на основе данных; даже если это повлияет на поведение при выполнении позже; если ваши компиляции следуют некоторым из этих шаблонов, то это может быть труднее обсуждать, но это некоторые особые случаи для процесса сборки; именно поэтому, например, в графических вычислениях большее количество ядер все еще имеет значение. Кроме того, они делают все возможное, чтобы максимально увеличить количество операций ввода-вывода, это может включать диски, оперативные памяти и материнские платы.
источник