Забавно, но мой опыт с точностью до наоборот - на всех моих компьютерах программы в Windows имеют тенденцию загружаться намного быстрее, чем в Linux (особенно в Windows 7, которая угадывает, какие программы вы будете открывать на основе прошлого использования, и предварительно загружает их в память ) . Возможно, его компьютер с Windows полон раздувающих программ? Является ли компания антивирусом только для Windows? Вы пробовали запускать Linux на той же машине (отказы жестких дисков сильно влияют на время загрузки) .
BlueRaja - Дэнни Пфлугхофт
@ BlueRaja-DannyPflughoeft спасибо за ваш комментарий. Как я уже говорил по этому вопросу, обе машины имеют одинаковую аппаратную конфигурацию, обе поставлены с Windows 7, но я пользователь Linux и нет, его окна не раздуты
Gerep
1
@ BlueRaja-DannyPflughoeft Я обнаружил интересную вещь: после установки антивируса для Windows он становится намного более медленным. Так что, на самом деле, нет необходимости в вирусе, просто установите антивирус. GNU / Linux не нужен (по крайней мере, пока) , и эта маленькая вещь также дала гораздо большую производительность.
Привет, Ангел,
Ответы:
8
Это всего лишь мое предположение, но я думаю, что когда вы работаете в компании, где, когда все скомпилировано (преобразовано в двоичные данные, которые могут выполнять компьютеры), никто больше не увидит исходный код, вы склонны быть намного ленивее, поскольку это не имеет значения, пока это работает .
Linux является открытым исходным кодом, поэтому каждый может увидеть исходный код, если захочет. Если вы ленивы и пишете действительно дурацкий кусок кода, который действительно замедляет работу системы или что-то в этом роде, ваша репутация, как все только что видели, ухудшается. Как разработчики, так и пользователи. Я думаю, что это одна из причин, почему разработчики открытых соусов склонны быть менее ленивыми.
Также факт, что ядро ядра Windows никогда не было написано с целью стать тем, чем оно является сегодня (ни один из них не был Linux ', но они приложили усилия для оптимизации старых битов), а разработчики просто всегда добавляли и добавляли Кроме того, до тех пор, пока код не стал настолько загадочным, что никто больше не мог из него что-то сделать. Два свойства грязного кода заключаются в том, что часто существует большая избыточность, и что вы больше не видите связей между двумя частями кода так легко, что делает невозможным даже начинать оптимизацию. Просто пример (не загадочный);
for (int i = 0; i < 20; i++)
{
if (x == y)
{
if (z <= u)
{
goto banana;
}
}
}
Приведенный выше пример можно сделать гораздо эффективнее;
for (int i = 0; (i < 20) && (x == y) && (z <= u); i++)
{
banana ();
}
Я верю в область программирования, в настоящее время все согласны с тем, что ленивое и / или неаккуратное кодирование хорошо оптимизировано в компиляторах. Тем не менее, компиляторы не могут помочь раздувать и наследие, которое может быть там - и связано с вашими намерениями.
Крис К
4
Оба этих примера кода почти наверняка будут скомпилированы в одно и то же (минус вызов функции и
переход
@ BlueRaja-DannyPflughoeft Я знаю, но мне нужен простой пример, чтобы объяснить это.
RobinJ
5
Еще одна важная проблема, о которой еще не говорилось, - это то, что Linux имеет лучшие файловые системы Производительность NTFS с небольшими файлами не так уж велика - ext3 лучше, а ext4 намного, намного лучше. Есть несколько интересных предположений о том, почему в другом вопросе .
Когда вы открываете программу, значительная часть времени запуска загружает кучу крошечных файлов с диска, поэтому очень важно иметь файловую систему, которая делает это быстро.
Это только мое мнение, но я думаю, что существуют разные причины, по которым системы GNU / Linux работают быстрее, чем Windows, и не все они связаны с ядром:
Очевидно, что есть причина, объясненная RobinJ, совершенно очевидно, что если программное обеспечение с открытым исходным кодом, код, как правило, написан более эффективно.
Linux использует очень оптимизированные компоненты, например, он использует очень оптимизированный планировщик, который имеет тенденцию максимизировать загрузку процессора.
Системы Linux меньше страдают от фрагментации памяти
Системы Linux лучше используют основную память и обычно стремятся к массовому использованию кеша, системы Windows вместо этого стремятся к массовому использованию виртуальной памяти
Ядро Linux постоянно обновляется, и ненужные части обычно удаляются, хотя Линус Торвальдс сказал, что ядро Linux становится «огромным и раздутым», в отличие от обновлений ядра NT, которые обычно строятся поверх существующих.
Я верю, что само ядро не ответ. Windows 7 - первый раз, когда Windows была настолько отзывчива, что я считаю ее приемлемой.
Я считаю, что большая часть разницы в скорости связана с мыслями @ RobinJ о разработке программного обеспечения. Все * в Windows построено на MSDN через какую-то платформу Microsoft или другую. Это на самом деле связано с тем, как Big Business любит Microsoft; Microsoft все о помощи различным программам / пакетам / технологиям общаться друг с другом.
Далее ... чтобы разработчикам было проще охватить основы (а не заново изобретать колесо), Microsoft позволяет производителям связывать и / или требовать предварительно скомпилированные библиотеки, такие как Microsoft Visual C ++ 2008 Redistributable. Или .Net4.0, MSSQL 2005, до тошноты. Разработчики могут использовать пакеты, рассчитанные на десять лет, и требовать от конечных пользователей установки на свои компьютеры Windows для использования нового программного обеспечения.
Поэтому для загрузки и запуска программы Zyzzyx должна присутствовать и работать одна или несколько распространяемых библиотек MSDN. Эти библиотеки определяют, как программы взаимодействуют с ОС.
Чтобы свести это к минимуму, я бы сказал, что преднамеренная совместимость Window с десятилетиями программного обеспечения делает его раздутым и иногда более медленным, чем сопоставимая система Linux. Также обратите внимание, что я разработал визуальное программное обеспечение для windows, но не для linux ... не GTK, Qt, Py, что угодно, поэтому мои предположения о том, что linux менее раздут, являются именно этим.
отредактировано, чтобы добавить: далее, в программном обеспечении FOSS есть люди, постоянно совершенствующие его, поэтому с течением времени GTK будет улучшаться, а не GTK-2005 и GTK-2008 на одном компьютере, в то время как Microsoft делает это постоянно.
Ответы:
Это всего лишь мое предположение, но я думаю, что когда вы работаете в компании, где, когда все скомпилировано (преобразовано в двоичные данные, которые могут выполнять компьютеры), никто больше не увидит исходный код, вы склонны быть намного ленивее, поскольку это не имеет значения, пока это работает .
Linux является открытым исходным кодом, поэтому каждый может увидеть исходный код, если захочет. Если вы ленивы и пишете действительно дурацкий кусок кода, который действительно замедляет работу системы или что-то в этом роде, ваша репутация, как все только что видели, ухудшается. Как разработчики, так и пользователи. Я думаю, что это одна из причин, почему разработчики открытых соусов склонны быть менее ленивыми.
Также факт, что ядро ядра Windows никогда не было написано с целью стать тем, чем оно является сегодня (ни один из них не был Linux ', но они приложили усилия для оптимизации старых битов), а разработчики просто всегда добавляли и добавляли Кроме того, до тех пор, пока код не стал настолько загадочным, что никто больше не мог из него что-то сделать. Два свойства грязного кода заключаются в том, что часто существует большая избыточность, и что вы больше не видите связей между двумя частями кода так легко, что делает невозможным даже начинать оптимизацию. Просто пример (не загадочный);
Приведенный выше пример можно сделать гораздо эффективнее;
источник
Еще одна важная проблема, о которой еще не говорилось, - это то, что Linux имеет лучшие файловые системы Производительность NTFS с небольшими файлами не так уж велика - ext3 лучше, а ext4 намного, намного лучше. Есть несколько интересных предположений о том, почему в другом вопросе .
Когда вы открываете программу, значительная часть времени запуска загружает кучу крошечных файлов с диска, поэтому очень важно иметь файловую систему, которая делает это быстро.
источник
Это только мое мнение, но я думаю, что существуют разные причины, по которым системы GNU / Linux работают быстрее, чем Windows, и не все они связаны с ядром:
источник
Я верю, что само ядро не ответ. Windows 7 - первый раз, когда Windows была настолько отзывчива, что я считаю ее приемлемой.
Я считаю, что большая часть разницы в скорости связана с мыслями @ RobinJ о разработке программного обеспечения. Все * в Windows построено на MSDN через какую-то платформу Microsoft или другую. Это на самом деле связано с тем, как Big Business любит Microsoft; Microsoft все о помощи различным программам / пакетам / технологиям общаться друг с другом.
Далее ... чтобы разработчикам было проще охватить основы (а не заново изобретать колесо), Microsoft позволяет производителям связывать и / или требовать предварительно скомпилированные библиотеки, такие как Microsoft Visual C ++ 2008 Redistributable. Или .Net4.0, MSSQL 2005, до тошноты. Разработчики могут использовать пакеты, рассчитанные на десять лет, и требовать от конечных пользователей установки на свои компьютеры Windows для использования нового программного обеспечения.
Поэтому для загрузки и запуска программы Zyzzyx должна присутствовать и работать одна или несколько распространяемых библиотек MSDN. Эти библиотеки определяют, как программы взаимодействуют с ОС.
Чтобы свести это к минимуму, я бы сказал, что преднамеренная совместимость Window с десятилетиями программного обеспечения делает его раздутым и иногда более медленным, чем сопоставимая система Linux. Также обратите внимание, что я разработал визуальное программное обеспечение для windows, но не для linux ... не GTK, Qt, Py, что угодно, поэтому мои предположения о том, что linux менее раздут, являются именно этим.
отредактировано, чтобы добавить: далее, в программном обеспечении FOSS есть люди, постоянно совершенствующие его, поэтому с течением времени GTK будет улучшаться, а не GTK-2005 и GTK-2008 на одном компьютере, в то время как Microsoft делает это постоянно.
* - Хорошо, есть исключения, я уверен.
источник