Comments 24
Почему упор именно на «семь»?
Чем меньше элементов в цепочке действий, тем больше шанс, что они когда-то сойдутся в нехорошую последовательность…
Да и забавна такая ситуация, как и писал автор, просто заинтересовало
семью командами или двумя тысячами
Рефакторить какой код предпочтете? Видимо тут с намеком что в такой мелкой функции порядок не навели.
- В упомянутом цикле не ожидание блокировки, а сканирование битовой карты.
- Качество кода, с точки зрения оптимизации производительности, в Windows (aka mustdie) местами уже давно никакое, даже в некоторых критичных местах. Почему — отдельный разговор. Но в качестве "пруфа" просто посмотрите на эти несчастные семь инструкций: на 64-битой супер-скалярной платформе поиск ведется тупым циклом с 32-битным сравнением (надо примерно так).
- В описанной ситуации добавляется еще какой-то системный/алгоритмический просчет или ошибка, ибо достаточно глупо (даже для Windows) каждый раз сканировать всё карту блоков с самого начала (хотя такое уже видели). Т.е. видимо какая-то ошибка в поддержке индекса/кэша, либо в его постоянной инвалидации. Но вникать нет никакого желания (в том числе читать треды по ссылкам) — гораздо проще и эффективнее на больших серверах использовать подходящую ОС, а не садиться на desktop-кактус ;)
Но если yleo намекает на использование AVX (AVX2), то оно не на всех новых процессорах есть (Celeron, Pentium).
Майкл Ларабел (Michael Larabel) с Phoronix писал, что на 64 ядрах винда работает плохо, Linux — хорошо, FreeBSD — ещё лучше.
Просто не используйте MS Windows на слишком многоядерных процессорах.
Насчет "FreeBSD лучше Linux на multicore" — это давно устаревшая информация, очень давно. Кто-то даже может резонно спорить что это "совсем не правда и быть не может", но я просто помню что когда-то это было именно так.
Но "эпоха" закончилось где-то перед Linux 2.6.32. Хотя еще можно найти бенчмарки, в которых какой-то софт быстрее работает во FreeBSD (как правило из-за того, что делает что-то не правильно в Linux и/или не использует splice/sendfile т.д.). Еще есть бенчмарки (сомнительные, если разобраться), в которых FreeBSD внезапно в 2 раза быстрее (а в Linux при этом забывают выключить THP, SELinux и т.п.).
FreeBSD — хорошая система, но в Linux огромный объем превосходного кода. Тот случай, когда лучшее не враг хорошего, а просто превзошло его.
Да, код на редкость кривой.
Я встречал «лыцалей», которые снисходительно говорили про «кривой код».
Только, это «лыцалство» быстро заканчивалось, как только дело доходило до практики и вскрывался контекст такого «кривого кода», который «лыцаль» не стразу понял/увидел.
Ой да ладно винду хаить, помнится как там нарицательное о вставании линуксового я дра колом при дисковых рперациях… и всем подряд. Не говоря о работе линукс в условиях ограниченной памяти ;)
Я виндой лет десять не пользуюсь, но она была и есть для многих задачек лучшим решением.
Не говоря о работе линукс в условиях ограниченной памятиЭто про то что если отрубить своп то при нехватке памяти линукс упадёт? Ну дак винда тоже упадёт в таких условиях.
Ну, винда она такая. Всегда виснет. А из за чего конкретно – это как звезды в небе сложились.
Я взял у себя файлы ntoskrnl.exe и ntkrnlmp.pdb (той же версии, что у друга) и запустил dumpbin /disasm для просмотра интересующей функции в ассемблере.
Кто-нибудь объясните, как это возможно при явном запрете на такие действия лиц.соглашением?
Может ли МС за подобный поиск багов отправить на известную скамью?
при явном запрете на такие действия лиц.соглашениемкаждый раз когда читаю подобное так и подмывает спросить «в какой стране?». Законодательство то везде разное, например у себя в стране я могу дебажить, изучать и модифицировать ПО легально купленое сколько душе угодно, до тех пор пока не начну результаты работы распространять или продавать. Это закон страны который никакие лицензионные соглашения МС отменить не могут, как бы им этого не хотелось.
Так, чисто из любопытства, для себя, вдруг поизучать что-нибудь захочу.
Я бы давил на то, что в законе перечислены пункты, когда лицу позволена процедура декомпиляции, но среди них нет пункта публикации на каких-либо ресурсах.
Режим прокурора выключил.
Для себя оставил мнение, что «да, возможно, но адвокат потребуется подкованный».
63 ядра заблокированы семью инструкциями