|
|||||||
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
Вверх #1 |
НовенькийАвтор темы Регистрация: 25.03.2014
|
Разработчик ядра Windows NT объяснил причины низкой производительности
Один из программистов компании 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, а шаблоны с переменным числом аргументов слишком сложны, чтобы внедрить их за год. (Но смотрите, мы превратили "^" в оператор указателя с подсчётом ссылок! Ой, а что такое ссылочный цикл?)». PS В оригинале статья интереснее. Разработчик дописал ее. ...This anonymous poster contacted me, still anonymously, to make a second statement, worried by the attention his words are getting... Автор написал, что Windows сейчас пишут вчерашние студенты. Хотя ... Windows and Microsoft still have plenty of technical talent. И т.д http://linexp.ru/other/razrabotchik-...itelnosti.html |
|
|
|
|
|
Вверх #3 |
ИнтересующийсяРегистрация: 06.09.2016
|
Цитата
(zl0dey4eg) »
Як вас батенька торкнуло! Всего одна проблема с ReFS, а сколько компромата сразу нарыли на M$
|
|
|
|
|
|
Вверх #4 |
ЗапрещенныйРегистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
|
Цитата
(gnuuser) »
Господи, код NTFS — это багровый роман ужасов, написанный под опиумом в средневековье, где используются глобальные рекурсивные блокировки и управление потоком выполнения программы при помощи структурной обработкой исключений (SEH). Давайте вместо неё напишем ReFs. (И да, начнем с копипаста исходников NTFS и удаления половины функциональности! Теперь добавим контрольные суммы, потому что контрольные суммы это круто, и с контрольными суммами мы почти так же круты, как ZFS, верно? И вообще, кому нужны квоты?)
Добавлено через 1 минуту Цитата
(Digesty) »
Зря так. Операционки пишут лишь ради удовлетворения новых требований безопасности и продаж, с кодом сильно не заморачиваются: XP всего лишь усовершенствованное ядро Windows 2000, Windows 7/8/8.1/10 всего лишь усовершенствованное дефектное ядро Vista - тупиковый путь. Хорошо ещё, что от генератора глюков отказались.
![]() ![]() Добавлено через 2 минуты Цитата
(Digesty) »
Windows 7/8/8.1/10 всего лишь усовершенствованное дефектное ядро Vista
А я вот по памяти помню, как один разраб давно сетовал на то, что NT - офигенное быстрое ядро, на которое навесили кучу лайна (то есть проблемы в сопровождающем софте) Добавлено через 4 минуты Цитата
(zl0dey4eg) »
Всего одна проблема с ReFS
|
|
|
|
|
|
Вверх #5 |
УмудрённыйРегистрация: 05.05.2011
Адрес: ЭСЭСтония
|
Цитата
(gnuuser) »
Причина проблем, по словам сотрудника Microsoft, социальная. Дело в том, что разработчики не вносят в ядро таких оптимизаций, которые мы видим в мире Linux. В компании Microsoft никто не будет хвалить программиста, если он оптимизировал какой-то процесс
http://local.joelonsoftware.com/wiki...D0%B8%D0%B8_VI Цитата
У вас, как у программиста, благодаря копеечным ценам на память и удвоению скорости процессоров каждые два года, есть выбор. Можете потратить шесть месяцев, переписывая внутренние циклы на ассемблере, или потратить шесть месяцев играя барабанщиком в рок-н-рольной группе, и в обоих случаях ваша программа будет работать быстрее. У программистов на ассемблере нет фанаток.
__________________
Маша все любила делать по-своему. Когда все девочки учились целоваться на помидорах, она училась целоваться на огурцах. Позже выяснилось, что не прогадала. © |
|
|
|
|
|
Вверх #6 |
ИнтересующийсяРегистрация: 06.09.2016
|
Цитата
(Theosoph) »
А новые версии ядра Линукс - всего лишь не усовершенствованные версии старых ?
:Цитата
(gnuuser) »
Дело в том, что разработчики не вносят в ядро таких оптимизаций, которые мы видим в мире Linux.
Windows и OS X гибридные. Добавлено через 12 минут Цитата
(Theosoph) »
А я вот по памяти помню, как один разраб давно сетовал на то, что NT - офигенное быстрое ядро, на которое навесили кучу лайна (то есть проблемы в сопровождающем софте)
Последний раз редактировалось Digesty; 12.12.2016 в 04:57. |
|
|
|
|
|
Вверх #7 |
ЗапрещенныйРегистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
|
Цитата
(Digesty) »
Ядро Windows NT выполняет низкоуровневые функции, например прерывания. вызов процедур, в то время как пользователь требует графического интерфейса, загружающего систему, не говоря уже о его прикладных приложениях. Таким образом самого пользователя можно рассматривать как лишнюю загрузку системы, затормаживающего высокоскоростное ядро своими ненужными прихотями
![]() А вообще проблема у Win скорее не в ядре, а в том, что пресловутый пользовательский уровень превратили в свалку кода. Может потому сильнокастрированные версии Win более отзывчивые даже в системах с обильными количествами памяти и норм.CPU ? |
|
|
|
|
|
Вверх #8 |
АбсолютныйРегистрация: 24.12.2012
Адрес: Москва
|
Цитата
(Digesty) »
Вообще ядро Linux представляет собой монолитное ядро, в то время как ядра
Windows и OS X гибридные. модули ядра? не, не слышали ![]() Оно уже давно НЕ монолитное, если что
|
|
|
|
|
|
Вверх #11 |
ИнтересующийсяРегистрация: 06.09.2016
|
Цитата
(Theosoph) »
Может потому сильнокастрированные версии Win более отзывчивые даже в системах с обильными количествами памяти и норм.CPU ?
Добавлено через 12 минут Цитата
(zl0dey4eg) »
модули ядра? не, не слышали Оно уже давно НЕ монолитное, если что
Все драйвера и подсистемы ядра Linux работают в своем адресном пространстве, отделённом от выделенного для программ пользователя, то есть монолитное ядро, лучшего не придумают до изобретения квантовых компьютеров. Модули ядра всегда собираются вместе с ядром, причём только под определенную версию ядра, подгружаются автоматически в современных ядрах, если у тебя Linux, загляни - "/lib/modules/<версия ядра>" в виде файлов с расширением "ko" Добавлено через 17 минут Цитата
(Theosoph) »
Та даже если бы было монолитным, это что, само по себе прям показатель качества и скорости ?
Если взять старый комп, программный пакет какой-нибудь вычислительный и задать задачу, то он обгонит новый более мощный комп с той же задачей, но современной напичканной операционкой и утяжелённой современной версией программы. Последний раз редактировалось Digesty; 14.12.2016 в 03:49. |
|
|
|
|
|
Вверх #12 |
УмудрённыйРегистрация: 05.05.2011
Адрес: ЭСЭСтония
|
Цитата
(Digesty) »
Если взять старый комп, программный пакет какой-нибудь вычислительный и задать задачу, то он обгонит новый более мощный комп с той же задачей, но современной напичканной операционкой и утяжелённой современной версией программы.
__________________
Маша все любила делать по-своему. Когда все девочки учились целоваться на помидорах, она училась целоваться на огурцах. Позже выяснилось, что не прогадала. © |
|
|
|
|
|
Вверх #14 |
ЗапрещенныйРегистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
|
Цитата
(Vladson) »
Пережмите мне BlueRay на 286-м проце пожалуйста.... Может моментом за пять минут пережмётся...
Если код преимущественно высокоуровневый без оптимизаций в asm, его производительность удручающая. Особенно это заметно в крайних случаях - Net и Java |
|
|
|
|
|
Вверх #15 |
АбсолютныйРегистрация: 24.12.2012
Адрес: Москва
|
Цитата
(Theosoph) »
майкам щас в лом...
просто ... это экономически не целесообразно ![]() нормальный ASM-прогер потребует денег как 10 прогеров .NET
|
|
|
|
|
|
Вверх #16 |
12.12.1959 - 5.11.2025Регистрация: 30.12.2004
Адрес: Новосибирск
|
Цитата
(Theosoph) »
насколько я помню, именно написание на asm-е дает наивысшую производительность.
А то языком-то - не то же самое, что работать; Ага...
__________________
С уважением, Олег Р. Смирнов |
|
|
|
|
|
Вверх #17 |
ЗапрещенныйРегистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
|
Цитата
(Smirnoff) »
Сам-то хоть раз в жизни писал что-нить на ассемблере для x86?
А то языком-то - не то же самое, что работать; Ага...
|
|
|
|
|
|
Вверх #18 |
УмудрённыйРегистрация: 05.05.2011
Адрес: ЭСЭСтония
|
Цитата
(Theosoph) »
Если код преимущественно высокоуровневый без оптимизаций в asm
Истина в том что хороший асм прогер (если повезёт) сможет оптимизировать то место которое компилятор не сможет, а хороший компилятор сможет оптимизировать те места на которые у программера не хватит тупо времени и сил...
__________________
Маша все любила делать по-своему. Когда все девочки учились целоваться на помидорах, она училась целоваться на огурцах. Позже выяснилось, что не прогадала. © Последний раз редактировалось Vladson; 14.12.2016 в 17:44. |
|
|
|
|
|
Вверх #19 |
ИнтересующийсяРегистрация: 06.09.2016
|
Тема зашла в неповторимую дугу обсуждения старинных языков программирования и кривляния.
Между тем в Microsoft не существует программы, подразделения и задачи по систематическому улучшению производительности Windows, интересует только написание всё новых и новых версий, и большинству на этом продукте приходится работать. Какой смысл усиленно допиливать код, если через пару лет операционка уступает место новой версии? Последний раз редактировалось Digesty; 15.12.2016 в 06:04. |
|
|
|
|
|
Вверх #20 |
12.12.1959 - 5.11.2025Регистрация: 30.12.2004
Адрес: Новосибирск
|
Цитата
(Theosoph) »
а уже выводы делаешь...
Добавлено через 2 минуты Цитата
(Digesty) »
и большинству на этом продукте приходится работать
__________________
С уважением, Олег Р. Смирнов |
|
|
|