Какой процессор лучше для инженеров и программистов?

CPU

В обывательской среде можно услышать две противоположные точки зрения:

  • программистам и инженерам не нужен мощный процессор, ведь все, что им требуется, — это работа с вычислениями и текстовыми кусками кода;
  • им нужен самый мощный процессор, ведь компиляция больших программ требует больших вычислительных ресурсов, а сложные расчеты также затрачивают их.

Каждому свое

Удивительно, но правы как те, так и другие. Как и в большинстве случаев, нужно исходить из конкретных потребностей программиста и инженера.

  • Каждый программист, вероятно, мечтает купить восьмиядерный процессор, но не каждый сможет программировать для 8 ядерного процессора. Многопоточное программирование для многоядерных систем – довольно сложная задача и под силу далеко не каждому. Так что, если не планируется тестировать программы, написанные непосредственно под 8-ядерную архитектуру, можно обойтись и ЦП поскромнее за меньшую стоимость.
  • С другой стороны, восьмиядерный вариант позволит выполнять одновременно большое количество задач. Например, писать один кусок код и параллельно компилировать другой. То же самое можно сказать и о вычислительных инженерных задачах.
  • Если говорить про процессоры AMD, то по цене они выглядят выгоднее и имеют более эффективную работу по обмену информацией между ядрами. Так что может быть организовано много потоков данных и много потоков команд.
  • Intel традиционно дороже, однако они лучше, чем AMD, поддаются «разгону» — особенно выгодно в этом плане выглядят ЦП с маркировкой K — а также имеют более быстрое основное ядро. Так что, если не планируется серьезная работа с использованием преимуществ многоядерной системы, когда вычислительные операции выполняются одновременно, имеет смысл поискать в каталогах Интернет-магазинов именно продукцию от Intel.
  • Что касается разрядности, то здесь работает принцип аналогично п. 1. про процессор 8 ядер. Если планируется писать приложения для 32-битной архитектуры и тестировать их на той же машине, без сомнения, нужно идти на сайт http://elmir.ua и смотреть обзоры про 32-разрядные ЦП.
  • Наконец, нужно ориентироваться на ресурсоемкость поставленных перед программистом или инженером задач, а также на квалификацию самого специалиста. Имеет ли смысл переплачивать за «навороченный» процессор, если планируется писать несложные прикладные утилиты?..

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

4 Комментарии

  1. Google Chrome 61.0.3163.79 GNU/Linux x64

    Чуши понаписали и рады.
    > Каждый программист, вероятно, мечтает купить восьмиядерный процессор, но не каждый сможет программировать для 8 ядерного процессора.
    Чем многопоточное программирование для восьмиядерного процессора отличается от программирования для, скажем, четырехядерного?

    > С другой стороны, восьмиядерный вариант позволит выполнять одновременно большое количество задач. Например, писать один кусок код и параллельно компилировать другой.
    То есть в случае с тем же Core2Duo я не могу одновременно пользоваться редактором и компилятором (а еще ведь окружение рабочего стола, браузер, демоны — ужоснахкакжетак). Как компилировать код кусками, я тоже не понял.

    > Имеет ли смысл переплачивать за «навороченный» процессор, если планируется писать несложные прикладные утилиты?
    Нельзя писать «сложные неприкладные утилиты» на машине меньше чем с восемью ядрами и 16Гб памяти?

    Аффтар жжот напалмом, в общем.

  2. Google Chrome 80.0.3987.132 Android 6.0

    Владислав, как раз ваш комментарий и выдает в вас ламера:
    если человек не умеет в многопоточность, то ему пофиг сколько ядер при исполнении программы.
    компилировать отдельные модули — стандартная практика у программистов.
    несколько ядер позволяют компилировать в несколько потоков в фоновом режиме, не заставляя тормозить остальные запущенные приложения.

  3. Firefox 82.0 GNU/Linux x64

    2 Ярослав:
    Давай разберем по пунктам тобою написанное:
    > если человек не умеет в многопоточность, то ему пофиг сколько ядер при исполнении программы.
    Где я утверждал обратное?
    > компилировать отдельные модули – стандартная практика у программистов. несколько ядер позволяют компилировать в несколько потоков в фоновом режиме, не заставляя тормозить остальные запущенные приложения.
    И снова — как это соотносится с написанным? Зачем ты рассказываешь мне очевидные вещи с таким апломбом?

    Все, что ты тут высрал, абсолютно не относится к тому, что было написано.

Обсуждение закрыто.