Замена алгоритма сортировки в sysinit позволила ускорить загрузку FreeBSD
Автор
Сообщение
news_bot ®
Стаж: 6 лет 11 месяцев
Сообщений: 27286
Во FreeBSD принято изменение, меняющее в коде инициализации ядра (sysinit) алгоритм сортировки массивов. Вместо ранее применявшегося алгоритма пузырьковой сортировки в sysinit задействован более эффективный алгоритм сортировки слиянием, что позволило на 2 мс сократить время загрузки ядра в виртуальных машинах Firecracker.
Метод пузырьковой сортировки предназначен в основном для учебных целей и из-за повторяющегося перебора (сложность "O(N^2)") эффективен только для небольших массивов. В sysinit на выполнение более тысячи операций пузырьковой сортировки уходило примерно 7% от всего времени загрузки ядра FreeBSD.
Использование сортировки слиянием позволило устранить эту задержку, так как данный алгоритм решает ту же задачу примерно в 100 раз быстрее. Кроме смены алгоритма для сокращения времени сортировки и уменьшения операций выделения памяти в ядре также задействована оптимизация на основе слияния отсортированных списков, вместо повторной сортировки каждого дополненного списка.
Дополнительно можно отметить формирование второго альфа-выпуска будущей ветки FreeBSD 14.0. Сборки FreeBSD 14.0-BETA2 доступны для архитектур amd64, i386, aarch64 и riscv64. Релиз FreeBSD 14.0 намечен на 23 октября 2023 года. На 25 августа запланировано создание ветки stable/14, а на 8 сентября создание ветки releng/14.0 и формирование первой бета-версии. Среди изменений во FreeBSD 14: обновление компилятора Clang до ветки 16 и увеличение с 256 до 1024 числа поддерживаемых ядер CPU (параметр MAXCPU) в системах на базе архитектуры amd64 и arm64.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://news.ycombinator.com/i...)
- OpenNews: Проекту FreeBSD исполнилось 30 лет
- OpenNews: Debian прекращает поддержку порта GNU/kFreeBSD
- OpenNews: Релиз FreeBSD 13.2 с поддержкой Netlink и WireGuard
- OpenNews: Доступен порт файловой системы HAMMER2 для NetBSD и FreeBSD
- OpenNews: Выпуск Wifibox 0.11, окружение для использования WiFi-драйверов Linux во FreeBSD
Похожие новости:
- Выпуск системы инициализации sysvinit 3.08
- Представлен GNU Boot, форк загрузочной прошивки Libreboot
- Debian прекращает поддержку порта GNU/kFreeBSD
- Google предложил Device Memory TCP для сетевой передачи данных между устройствами
- Online-мероприятие для интересующихся открытыми прошивками
- Oracle опубликовал систему автоматической оптимизации параметров ядра Linux
- Выпуск Libreboot 20230625
- Проекту FreeBSD исполнилось 30 лет
- Выпуск дистрибутива для создания сетевых хранилищ TrueNAS CORE 13.0-U5
- Доступен Snagboot, инструментарий для восстановления встраиваемых устройств
Теги для поиска: #_freebsd, #_boot, #_init, #_optimization
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 02:58
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 11 месяцев |
|
Во FreeBSD принято изменение, меняющее в коде инициализации ядра (sysinit) алгоритм сортировки массивов. Вместо ранее применявшегося алгоритма пузырьковой сортировки в sysinit задействован более эффективный алгоритм сортировки слиянием, что позволило на 2 мс сократить время загрузки ядра в виртуальных машинах Firecracker. Метод пузырьковой сортировки предназначен в основном для учебных целей и из-за повторяющегося перебора (сложность "O(N^2)") эффективен только для небольших массивов. В sysinit на выполнение более тысячи операций пузырьковой сортировки уходило примерно 7% от всего времени загрузки ядра FreeBSD. Использование сортировки слиянием позволило устранить эту задержку, так как данный алгоритм решает ту же задачу примерно в 100 раз быстрее. Кроме смены алгоритма для сокращения времени сортировки и уменьшения операций выделения памяти в ядре также задействована оптимизация на основе слияния отсортированных списков, вместо повторной сортировки каждого дополненного списка. Дополнительно можно отметить формирование второго альфа-выпуска будущей ветки FreeBSD 14.0. Сборки FreeBSD 14.0-BETA2 доступны для архитектур amd64, i386, aarch64 и riscv64. Релиз FreeBSD 14.0 намечен на 23 октября 2023 года. На 25 августа запланировано создание ветки stable/14, а на 8 сентября создание ветки releng/14.0 и формирование первой бета-версии. Среди изменений во FreeBSD 14: обновление компилятора Clang до ветки 16 и увеличение с 256 до 1024 числа поддерживаемых ядер CPU (параметр MAXCPU) в системах на базе архитектуры amd64 и arm64. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 02:58
Часовой пояс: UTC + 5