5

В чем разница между несколькими дистрибутивами GNU/Linux, такими как Ubuntu и Fedora? Прежде, чем кирпичные биты полетят, чтобы задать часто повторяющийся вопрос, я говорю о различиях, связанных с внутренней работой операционной системы, а не с глазу на глаз, средами рабочего стола, менеджерами пакетов, простотой использования и другими функциями, связанными с пользовательским интерфейсом.

Чтобы быть более конкретным, предположим, что я просто заинтересован в производительности определенной программы на C++ (последовательной или параллельной), которую я написал. Скажем, у меня Ubuntu и Fedora установлены на одном компьютере с обоими версиями ядра Linux, будет ли производительность программы одинаковой в обеих операционных системах?

С этим связан вопрос, почему некоторые Unix-подобные ОС, такие как FreeBSD (не дистрибутив GNU/Linux), более предпочтительны для серверных платформ, чем другие.

1 ответ1

3

Внутренних различий, за исключением систем пакетов и графического интерфейса, немного, и вполне все они не имеют отношения к тому, о чем вы просите.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .