[Перевод] Невызванная функция замедляет программу в 5 раз
|
|
Вторник, 04 Декабря 2018 г. 18:16
+ в цитатник
Замедляем Windows, часть 3: завершение процессов
Автор занимается оптимизацией производительности Chrome в компании Google — прим. пер.
Летом 2017 года я боролся с проблемой производительности Windows. Завершение процессов происходило медленно, сериализованно и блокировало системную очередь ввода, что приводило к многократным подвисаниям курсора мыши при сборке Chrome. Основная причина заключалась в том, что при завершении процессов Windows тратила много времени на поиск объектов GDI, удерживая при этом критическую секцию system-global user32. Я рассказывал об этом в статье
«24-ядерный процессор, а я не могу сдвинуть курсор».
Microsoft исправила баг, и я вернулся к своим делам, но потом оказалось, что баг вернулся. Появились жалобы на медленную работу тестов LLVM, с частыми подвисаниями ввода.
Но на самом деле баг не вернулся. Причина оказалась в изменении нашего кода.
Читать дальше -> https://habr.com/post/432076/?utm_source=habrahabr&utm_medium=rss&utm_campaign=432076
Метки:
Google Chrome
Проектирование и рефакторинг
Разработка под Windows
Тестирование IT-систем
Windows
завершение процессов
GDI
user32.dll
gdi32.dll
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-