The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз Electron 6.0.0, платформы создания приложений на базе ..."
Отправлено Аноним84701, 01-Авг-19 12:10 
> именно с затратами О(1).

Да ну?
https://sourceware.org/glibc/wiki/MallocInternals
> Malloc Algorithm
> If the request is "large", take a moment to take everything in the fastbins and move them to the unsorted bin, coalescing them as you go.

[...]
> Start taking chunks off the unsorted list, and moving them to small/large bins, coalescing as you go (note that this is the
> only place in the code that puts chunks into the small/large bins). If a chunk of the right size is seen, use that.

[...]
> In a nutshell, free works like this:
> If there is room in the tcache, store the chunk there and return.

[...]
>  If the chunk is large enough, coalesce any fastbins and see if the top chunk is large enough to give some memory back to the system. Note that this step might be deferred, for performance reasons, and happen during a malloc or other call.

Магия, не иначе! И совсем никакой "сборки мусора" унутрях (про coalescing просто врут!)
А ведь могли взять какую-нибудь чисто академическую реализацию c константой  c = "over 9000" (но формально оно будет в O(1)) или  специфичную, правда, с офигенной фрагментацией (но ведь памяти сейчас все равно много, так что пофиг) :(

>> malloc/free
> а если ты, умник, считаешь, что ОС глупее тебя, - лезь пиши свои реализации, это несложно

«Смешались в кучу кони, люди,»
Я-то писал, поэтому как раз в курсе, что malloc/free не являются частью ОС.
И по-моему, странно считать набор (под)программ и алгоритмов умнее себя, любимого – но у всех свои странности.
Некоторые вон, вычитывают что-то между строк, считают, что malloc/free предоставляется им ОС и вообще похоже не в курсе, зачем используется прослойка "c наворотами" в виде malloc вместо прямого вызова mmap и почему столько копий было сломанно при поиске наилучшей реализации сишного динамического аллокатора: jemalloc, dlmalloc, tcmalloc и т.д.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру