Linux и Linux-программное обеспечение: преимущества многоядерного процессора

Я планирую приобрести новый ноутбук и попытаться выяснить, дает ли четырехъядерный процессор какие-то преимущества перед обычной двухъядерной машиной. Я использую распространенные дистрибутивы Linux (Ubuntu, Arch и т. Д.) И в основном графическое программное обеспечение: Scribus, Inkscape, Gimp. Я хочу использовать этот новый процессор на несколько лет.

Я провел много исследований, но не смог найти надежных и актуальных ответов. Так:

В последнем ядре используются многоядерные процессоры. Но это дает мне какие-то заметные преимущества на ежедневной основе? Я говорю о регулярной многозадачности с обычными Linux-приложениями.

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

Для обычного использования на рабочем столе вы обычно можете получить отзывчивость от наличия двух ядер: один для запуска приложения, из которого вы хотите получить ответ, для запуска графических эффектов. Обычно ядра активны, но оба работают, когда вы запускаете какую-то задачу. Помимо двух ядер, преимущества, как правило, отстают. И даже с двумя ядрами очень скудный GUI может означать, что вы не получаете никакой пользы.

Параллелизировать одну задачу сложно; за исключением некоторых очень простых случаев (для которых технический термин «смущающе параллелен»), он требует значительных усилий от программиста и часто не поддается выполнению. Например, отображение веб-страницы – это вопрос позиционирования элементов один за другим и выполнение Javascript-кода, и все это нужно делать по порядку, поэтому не может использоваться несколько ядер. Преимущество нескольких ядер для просмотра веб-страниц – это когда вы хотите сделать что-то еще при сложной веб-странице.

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

Более четырех ядер вряд ли принесут какую-либо пользу для машины, которая не имеет ничего общего с несколькими пользователями, большими компиляциями, большими численными расчетами и т. Д. Для большинства задач два ядра, вероятно, будут иметь преимущество над одним. Между двумя и четырьмя, это не ясно. Более быстрое двухъядерное ядро ​​даст более стабильные преимущества, чем переход от двухъядерного к четырехъядерному, но более быстрая тактовая частота также имеет недостатки, особенно для ноутбука, поскольку это означает, что процессор будет использовать больше энергии и требует более громкого охлаждения.

Многие приложения не являются явно многопоточными, поэтому их задачи, связанные с ЦП, действительно будут ограничены одним ядром за раз. Тем не менее, современные веб-браузеры используют (по крайней мере) одно ядро ​​для каждого окна, поэтому, если у вас открыто несколько окон, вы выиграете от нескольких ядер.

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

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