LINUX.ORG.RU
ФорумTalks

Разработчик ядра Windows NT объяснил причины низкой производительности ОС

 ,


1

5

Один из программистов компании Microsoft анонимно выступил на форуме Hacker News и выдал интересные подробности о процессе разработки ядра NT. Своим сообщением он хотел подтвердить тезис о том, что ядро неэффективно и во многом уступает по производительности другим ОС: см. оригинальное сообщение (автор удалил его, испугавшись резких формулировок) и копию.

Причина проблем, по словам сотрудника Microsoft, социальная. Дело в том, что разработчики не вносят в ядро таких оптимизаций, которые мы видим в мире Linux. В компании Microsoft никто не будет хвалить программиста, если он оптимизировал какой-то процесс на 5%, если это не входит в сферу его основных обязанностей. Такая оптимизация никому не интересна. Только в случае какого-то очень существенного прогресса работу программиста могут заметить в соседних командах разработки, что положительно отразиться на его карьере. Но это скорее исключение, чем правило. Нет никакого стимула принимать изменения из-за пределов своей команды разработки.

В Microsoft не существует программы по систематическому улучшению производительности Windows. Во времена Windows XP компания начала уделять большое внимание безопасности, потому что с этим обнаружились серьёзные проблемы. Однако на производительность никто не обращал и не обращает особого внимание.

Ещё одна проблема в ухудшении ситуации с производительностью ОС — в утечке самых талантливых кадров. Google и другие компании Кремниевой долины активно охотятся за одаренными программистами и не стесняются переманивать их из других компаний. Из-за текучки кадров новые разработчики предпочитают реализовывать новые функции вместо оптимизации старых. Именно в этом причина появления PowerShell: многие хотели улучшить cmd.exe, но не имели возможности.

В качестве конкретных примеров разработчик называет следующее:

«Нам нельзя трогать именованные каналы. Лучше добавим %INTERNAL_NOTIFICATION_SYSTEM%! И пусть она будет несовместима с почти всеми другими именованными примитивами NT.

Мы не можем показывать %INTERNAL_NOTIFICATION_SYSTEM% остальному миру, потому что не хотим заниматься бумажной работой и терять продажи, ведь сейчас публично доступны только интерфейса Win32 APIs эпохи 90-х.

Мы не можем трогать DCOM. Так что создадим ещё один %C#_REMOTING_FLAVOR_OF_THE_WEEK%!

XNA. Что тут ещё сказать?

Зачем кому-то нужен формат архивирования с поддержкой файлов больше 2 ГБ?

Давайте поддерживать символьные ссылки, но убедимся, что никто не сможет их использовать, так что нас не обвинят в уязвимости безопасности. (Отлично! Теперь мы выглядим мудрыми и ответственными!)

Нельзя трогать Source Depot, так что давайте вместе хакнем SDX (Secure Document Exchange)!

Нельзя трогать SDX, так что давайте притворяться в течение четырёх релизов, что мы переходим на TFS (Team Foundation Server), а сами ничего не будем менять!

Господи, код NTFS — это багровый роман ужасов, написанный под опиумом в средневековье, где используются глобальные рекурсивные блокировки и контроль потока со структурной обработкой исключений (SEH). Давайте вместо неё напишем ReFs. (И да, начнем с копипаста исходников NTFS и удаления половины функциональности! Теперь добавим контрольные суммы, потому что контрольные суммы это круто, и с контрольными суммами мы почти так же круты, как ZFS, верно? И вообще, кому нужны квоты?)

Мы вообще не в силах реализовать поддержку C11, а шаблоны с переменным числом аргументов слишком сложны, чтобы внедрить их за год. (Но смотрите, мы превратили «^» в оператор указателя с подсчитанными ссылок! Ой, а что такое подсчёт ссылок?)».

Осторожно, хабр!

★★★

Последнее исправление: Andrew (всего исправлений: 3)
Ответ на: комментарий от Reset

ждем теперь ответа Космонавта о причинах отвратительной производительности его GOVNO3-Unity.

//fixed

amorpher ★★★★★
()
Ответ на: комментарий от Reset

OC

Он уже новую ОС создал? Мне казалось, Ubuntu - это дистрибутив Linux. Алсо, тормозит его плагин к компизу, а не _дистрибутив_.

KendovNorok
()
Ответ на: комментарий от KendovNorok

Классическая отмазка, виноват кто угодно, тормозит что угодно, но только не Linux, ага, ведь Linux это всего лишь ядро :)

Reset ★★★★★
()
Ответ на: комментарий от Reset

Тормозит как раз-таки Unity. Не могу поверить, чтобы стандартные программы окружения GNU выполнялись там медленнее, чем в том же Debian. Основные компоненты везде одни и те же.

KendovNorok
()
Ответ на: комментарий от KendovNorok

Я как простой пользователь-хомячок не знаю что такое Unity и знать не хочу. Я скачиваю OS Ubuntu с ubuntu.com и оно тормозит!

Reset ★★★★★
()
Ответ на: комментарий от Begemoth

variadic templates не единственная проблема Visual C++ и похоже у Microsoft поддержка С++11 увы не самая приоритетная вещь, они же запилили C++ AMP и поддержку ARM.

Поддержка ARM у них тысячу лет была. Или каким хреном они всегда собирали WinCE, включая WinMobile и WinPhone 7? Минимальная текущая работа по обновлени под новые процы и так всегда производится - под это не нужно всю команду перекидывать.

Pavval ★★★★★
()
Ответ на: комментарий от gh0stwizard

Ты видимо плохо представляешь о чем я говорю

Совершенно верно! Вас сложно понять.

ya-betmen ★★★★★
()

Прикольно: - Виндовс тормозит потому что никто не занимается оптимизацией - А у вас убунту тормозит - Тормозит не убунту а юнити

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Прикольно: - Виндовс тормозит потому что никто не занимается оптимизацией

Мнение разработчика ядра NT.

А у вас убунту тормозит

Мнение хомячка (по его собственным словам).

tailgunner ★★★★★
()
Ответ на: комментарий от ya-betmen

Но какая реакция!

У меня часть мессаг в игноре, но, насколько я могу судить, хомячку сказали, что тормозит плагин видеоэффектов. Что не так c реакцией?

tailgunner ★★★★★
()

Если бы Линукс имел такой же обьем кода как НТ, то он бы скорее всего вообще не заработал бы. :) Или работал бы со стабильностью аля Виндовс-95. Если Марк Руссинович не врет, то в НТ одних только системных вызовов больше в (!) 100 раз чем в Линуксе. Я уже молчу про то, что им приходится тащить легеси-код 20 летней давности.

Ничего не имею против Линукс. Скорее наоборот, рад, что в Линуксе код постоянно чистится.

Rost ★★★★★
()
Ответ на: комментарий от Reset

Ждем ответа разработчиков любого дистрибутива линукса кроме Арчлинукса и Генту о причинах отвратительной производительности их ОС.

SjZ ★★★★★
()
Ответ на: комментарий от KendovNorok

А если включить, то KDE в глубокой жопе.

Reset ★★★★★
()
Ответ на: комментарий от tailgunner

С реакцией всё так, просто дальше будут обсуждения Unity vs Gnome vs KDE, gentoo vs ubuntu и возможно даже linux vs bsd, а топик был про то почему тормозит винда.

ya-betmen ★★★★★
()

Дело в том, что разработчики не вносят в ядро таких оптимизаций, которые мы видим в багтрекере Linux.

thesis ★★★★★
()
Ответ на: комментарий от gh0stwizard

Ну, это круто, ч0. :) Претензия засчитана.

atrus ★★★★★
()

Ничего сенсационного. Всегда предполагал эти проблемы в майкрософте.

segfault ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.