The OpenNET Project / Index page

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



"Miсrosoft открыл код системы распределения памяти mimalloc"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от opennews (??), 23-Июн-19, 10:07 
Компания Miсrosoft открыла под лицензией MIT библиотеку mimalloc (https://github.com/microsoft/mimalloc) с реализаций системы распределения памяти, изначально созданной для runtime-компонентов языков Koka (https://github.com/koka-lang/koka) и Lean (https://github.com/leanprover/lean). Mimalloc адаптирован для использования в типовых приложениях без изменения их кода и может выступать в качестве прозрачной замены функции malloc. Поддерживается работа в Windows,  macOS, Linux, BSD и других Unix-подобных системах.


Ключевой особенностью mimalloc является компактность реализации (менее, чем 3500 строк кода) и очень высокая производительность. В проведённых тестах (https://github.com/microsoft/mimalloc#performance) mimalloc обогнал по производительности все конкурирующие библиотеки распределения памяти, включая jemalloc (https://github.com/jemalloc/jemalloc), tcmalloc (https://github.com/gperftools/gperftools), snmalloc (https://github.com/microsoft/snmalloc), rpmalloc (https://github.com/rampantpixels/rpmalloc) и Hoard (https://github.com/emeryberger/Hoard).


Для оценки производительности использован набор уже существующих  типовых тестов (https://github.com/daanx/mimalloc-bench) В некоторых тестах mimalloc опережает другие системы в разы, например, в тесте миграции объектов между разными потоками  mimalloc оказался быстрее tcmalloc и jemalloc более чем в 2.5 раза. При этом в большинстве тестов также наблюдается более низкое потребления памяти, в некоторых ситуациях расход памяти удаётся снизить на 25%.


Высокая производительность достигается в основном за счёт применения сегментирования списка свободных блоков (free list sharding). Вместо одного большого списка в  mimalloc применяется разделение на серию более мелких списков,  каждый из которых привязывается к странице памяти. Подобный подход снижает фрагментацию и повышает локализацию данных в памяти. Под страницей памяти понимается сгруппированный набор близких по размеру блоков. На 64-разрядных системах размер страницы обычно составляет 64 КБ. В случае, если в странице не остаётся занятых блоков, она полностью освобождается с возвращением памяти операционной системе, что позволяет снизить затраты памяти и фрагментацию  в длительно работающих программах.


Библиотеку можно подключить на этапе связывания или подгрузить для уже собранной программы ("LD_PRELOAD=/usr/bin/libmimalloc.so  myprogram"). В библиотеке также предоставляется API (https://microsoft.github.io/mimalloc/group__extended.html) для интеграции функциональности в runtime и тонкого управления поведением, например, для подключения обработчиков  отложенного освобождения памяти и монотонного увеличения счётчиков ссылок. Имеется возможность создания и использования в приложении нескольких "куч" (heap) для распределения по разным областям памяти. В том числе возможно освобождение кучи целиком, без перебора и отдельного освобождения размещённых в ней объектов.

Предусмотрена возможность сборки библиотеки в безопасном режиме, в котором на границе блоков осуществляется подстановка специальных проверочных страниц памяти (guard-page), а также используется рандомизация распределения блоков и шифрование списков освобождаемых блоков. Подобные меры позволяют блокировать большинство типовых техник эксплуатации переполнений буферов в куче. При включение безопасного режима производительность снижается примерно на 3%.

Из особенностей mimalloc также отмечается не подверженность проблемам с раздутием  при большой фрагментации. В наихудшем сценарии потребление памяти возрастает на 0.2% для метаданных и может достигать 16.7% для распределяемой памяти. Для исключения конфликтов при доступе к ресурсам в mimalloc применяются только атомарные операции.

URL: https://news.ycombinator.com/item?id=20249743
Новость: https://www.opennet.ru/opennews/art.shtml?num=50939

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Miсrosoft открыл код системы распределения памяти mimalloc"  +29 +/
Сообщение от Аноним (1), 23-Июн-19, 10:07 
Вот кто делает истинный вклад в Open Source! Microsoft пришла — порядок навела!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Miсrosoft открыл код системы распределения памяти mimalloc"  –4 +/
Сообщение от Аношка (?), 23-Июн-19, 10:19 
Ну это по сравнению с другими их поделками ( не в счет xbox и exchange )

Торт, главное, что б в их "прозраности" никаких костылей не торчало, а выглядит оч даже съедобно (судя по анонсу )

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

31. "Miсrosoft открыл код системы распределения памяти mimalloc"  +17 +/
Сообщение от Антон (??), 23-Июн-19, 13:24 
Microsoft - просто шильдик. Очевидно же что в компании есть много очень разных команд. Разработки, нужные, но не продающиеся, мс выводит в опенсорс, разумно же.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

47. "Miсrosoft открыл код системы распределения памяти mimalloc"  –2 +/
Сообщение от MINIX (?), 23-Июн-19, 18:57 
Как это проживает в сравнении с другими быстрыми менеджерами памяти? Сравнивать с самыми тормозными - это конечно шик...
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

59. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от Аноним (59), 23-Июн-19, 21:12 
> не в счет xbox и exchange

В счет в первую очередь

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

97. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от And (??), 30-Июн-19, 11:09 
> выглядит оч даже съедобно (судя по анонсу )

Так же было с форматом  docX, xlsx файлов Офис.

Оказалось - сами в своей реализации отошли от своего стандарта.

Поптыка работать со Скайп Фор Бизнес (это совершенно отдельная от "гражданского" Скайп реализация для Скайп+Аутлук, замена MS-Линка), использование MS Teams (платная замена Скайпа; Линк, Скайп Фор Бизнес больше не развивается, заменено платным сервисом), Аутлука 365, Офиса 365 под Вин 10, Офиса 2010 с Линком и т.д., опыт автоматизации развёртки Студио, работа при обновлениях со старшими администраторами MS продуктов на предприятии  - всё это внушает бооооооольшие опасения продуктов жизнедеятельности Microsoft.

Линукс десктоп 10+ лет вёл себя гораздо более дружественней. При всей гибкости и обилии замен и новья под Л. всегда можно было решить вопрос. С Мелкомягкими - не было такого.

Короче, Вы смотрите по делам, а не по пресс-релизам. :)))

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

39. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от Аноним (39), 23-Июн-19, 16:31 
Microsoft? Вклад? Да этому алгоритму сто лет в обед, в паскалях стандартный аллокатор так работает.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

70. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от ыы (?), 24-Июн-19, 08:08 
вы какой паскаль имеете в виду? их очень много.. разных
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

43. "Miсrosoft открыл код системы распределения памяти mimalloc"  +3 +/
Сообщение от Зелень (?), 23-Июн-19, 18:25 
Не могу простить за нокию
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

54. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от пох. (?), 23-Июн-19, 20:05 
в смысле что не дали той самостоятельно обанкротиться?

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

56. "Miсrosoft открыл код системы распределения памяти mimalloc"  +5 +/
Сообщение от Аноним (39), 23-Июн-19, 20:36 
Хороший такой "банкрот" через прихватизацию патентов и запрет заниматься телефонками на несколько лет.
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

61. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от мелкософт (?), 23-Июн-19, 22:24 
> Хороший такой "банкрот" через прихватизацию патентов и запрет заниматься телефонками на
> несколько лет.

дружище, когда я покупаю чей-то идущий на дно бизнес - я его таки покупаю, а не создаю его клон с тем же самым названием, и, разумеется, приму меры, чтобы он не смог и на елку влезть, и жопу не уколоть - и патенты придется отдавать, и клиентуру, и без возможности отыграть назад, да, денежки платят не за красивые глазки.

А вот когда мне его продают (и речь не о стартапе, который для того и брали, а о давно существующей и якобы успешной компании) - это говорит ровно о том, что владельцы бизнеса по уши в долгах, понятия не имеют, что со всем этим делать, и продаться подороже - единственный их шанс вылезти из долговой ямы. Надеюсь, они теперь счастливы, и их бизнесу по network management outsource ничто не угрожает (если что - мы такое - не купим, не надейтесь)

Что нам эта покупка принесла одни убытки - это уже наши ошибки. Китайцы вон вполне со (теперь) своим алкателем счастливы. Впрочем, с HERE бингу была определенная польза.

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

69. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Анонимный прохожий (?), 24-Июн-19, 07:20 
> ...это говорит ровно о том, что владельцы бизнеса по уши в долгах,...

Ни о чём это не говорит, особенно, учитывая, что директором работал инсайдер от Микрософт.

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

76. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от nokian (?), 24-Июн-19, 13:15 
к тому моменту, как мы его сделали директором - именно что ВСЕ полимеры были проcpаны.
Его и призвали-то только потому, что других дураков руководить обреченным бизнесом не нашлось.

а этот хотя бы сумел выгодно продать, и при этом аккуратно уволить все бесполезное кубло, жравшее зарплаты и нихрена уже приносящего доходы сделать неспособное

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

90. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от анониммус (?), 26-Июн-19, 06:45 
к тому моменту эппл уже своровала десяток патентов нокии.
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

60. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от zg_nicoemail (ok), 23-Июн-19, 21:34 
>Не могу простить за нокию

+1 Lumia 820 была разочарованием, причем не по железу - именно что по Windows Phone.

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

88. "Miсrosoft открыл код системы распределения памяти mimalloc"  +6 +/
Сообщение от Аноним (-), 26-Июн-19, 00:12 
M$ EEE! Запомни и вбей себе в мозг.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Miсrosoft открыл код системы распределения памяти mimalloc"  +8 +/
Сообщение от Аноним (2), 23-Июн-19, 10:17 
Судя по графикам, у них там монохромные мониторы, что ли?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аношка (?), 23-Июн-19, 10:20 
А вы бы предпочли радугу из цветов для однотипных данных ?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от Аноним (2), 23-Июн-19, 10:55 
Так как системы во всех тестах идут в одном и том же порядке (и их количество везде одинаково), то в принципе можно вообще одним цветом показывать.
Так же, так как mimalloc вообще(без всяких апелляций ;) самая ЛУЧШАЯ система, остальные можно (и даже нужно) не показывать, что бы у аудитории не оставалось никаких сомнений, что это ОНА единственная и самая совершенная система! ;)
А так чо, удобно же ;)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

15. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (15), 23-Июн-19, 11:41 
Можно было столбики, соответствующие разным распределителям памяти, покрасить каждый в свой цвет.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

25. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от пох. (?), 23-Июн-19, 12:32 
> Судя по графикам, у них там монохромные мониторы, что ли?

oocalc'ом рисовали - не хватило бюджета на ms office.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (6), 23-Июн-19, 10:38 
Короче говоря, они забили болт на экономию памяти и получили прирост производительности. Не сказать, чтобы результат был неожиданным.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от Аноним (8), 23-Июн-19, 10:59 
что

>При этом в большинстве тестов также наблюдается более низкое потребления памяти, в некоторых ситуациях расход памяти удаётся снизить на 25%

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

17. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от Аноним (6), 23-Июн-19, 11:49 
А ты пойди по ссылке и посмотри второй график, который в новость почему-то не добавили. "В некоторых случаях" © расход памяти возрос на 300% (в одном отдельно взятом тесте, но не забываем, что они все синтетические).
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

20. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Ordu (ok), 23-Июн-19, 12:11 
Ты про "note: the xmalloc-testN memory usage should be disregarded is it allocates more the faster the program runs"?
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

32. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Аноним (6), 23-Июн-19, 13:27 
Ну объясни, почему тогда с glibc он столько не жрёт.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

33. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Ordu (ok), 23-Июн-19, 13:40 
> Ну объясни, почему тогда с glibc он столько не жрёт.

Потому что с glibc тесты работают медленнее.

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

34. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (6), 23-Июн-19, 13:44 
То есть
> они забили болт на экономию памяти и получили прирост производительности

что и требовалось доказать.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

35. "Miсrosoft открыл код системы распределения памяти mimalloc"  +3 +/
Сообщение от Ordu (ok), 23-Июн-19, 13:51 
Нет. Если ты сравнишь графики производительности и расхода памяти на тесте xmalloc-testN, то ты увидишь обратную корреляцию между ними даже на глаз. Если тест на расход памяти даёт такую корреляцию, то это вопрос к тесту, который меряя расход памяти, на самом деле меряет скорость.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

9. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (9), 23-Июн-19, 11:02 
> в большинстве тестов также наблюдается более низкое потребления памяти,
> в некоторых ситуациях расход памяти удаётся снизить на 25%.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

14. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Злюка (?), 23-Июн-19, 11:36 
Я сам не являюсь поклонником упомянутой в новости компании. Конечно, хотелось бы отпустить пару язвительных шуток про скорость, что нужно добавить в их логотип черточки с Формулы-1 и что "К" в их логотипе Microsoft обозначает компактность, но если перейти по ссылке - действительно выдающийся результат. Не поленился и сложил src/*.c + include/*.h = 6439 LOC (с комментариями и пустыми)
Скорость выше, потребление памяти ниже, даже опережает jemalloc, который в прошлогодних тестах был уверенным победителем. //ithare.com/testing-memory-allocators-ptmalloc2-tcmalloc-hoard-jemalloc-while-trying-to-simulate-real-world-loads/
Осталось дождаться независимых тестов и можно поздравить.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

18. "Miсrosoft открыл код системы распределения памяти mimalloc"  –15 +/
Сообщение от Daemon (??), 23-Июн-19, 11:58 
При текущей стоимости памяти даже увеличение на 300% в угоду скорости работы не является критичным. КЕды вон жрут 2-4 гига оперативки и никто не жалуется.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

19. "Miсrosoft открыл код системы распределения памяти mimalloc"  +9 +/
Сообщение от Anonimus (??), 23-Июн-19, 12:06 
вы кеды здорового человека как давно видели?
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

45. "Miсrosoft открыл код системы распределения памяти mimalloc"  –2 +/
Сообщение от Аноним (45), 23-Июн-19, 18:33 
Если кеды из коробки больны, то в массе это будут кеды больного человека. Исключения погоды не делают.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

64. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от НяшМяш (ok), 23-Июн-19, 23:26 
Из коробки могут быть только люди больны. Кеды уже давным давно вылечили.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

23. "Miсrosoft открыл код системы распределения памяти mimalloc"  +6 +/
Сообщение от Аноним (23), 23-Июн-19, 12:20 
Ты кеды у себя в винде поставил?
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

22. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от microsoft (?), 23-Июн-19, 12:19 
Заслуга компании в том, что она оплатила эту работу, а потом ее открыла. А делать это могли любые аутсорсеры, не имеющие к М никакого отношения.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

26. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Злюка (?), 23-Июн-19, 12:33 
Заслуга компании здесь весьма сомнительна.
Выложить проект размером с университетскую курсовую, такого же качества и выдавать это как нечто революционное, это, как мне кажется, немного некрасиво.
Для компании уровня МС "оплатила" такую работу я просто промолчу.
Первые независимые тесты подтверждают мои слова //github.com/microsoft/mimalloc/issues/11
Сильно сомневаюсь, что сама компания будет использовать это в своих продуктах.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

37. "Miсrosoft открыл код системы распределения памяти mimalloc"  +3 +/
Сообщение от Crazy Alex (ok), 23-Июн-19, 14:45 
Ну да, проекты же только размером меряются. А issue... Ну нашли неудачный кейс - большие аллокации вместе с особенностями линуксового mmap. И что?
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

98. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от And (??), 30-Июн-19, 11:12 
Если проект маленький, а корпорация сильная, то, по малости проекта, не должно бы быть в нём "неудачных кейсов". Или сразу возникает сомнение в продукте.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

46. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от microsoft (?), 23-Июн-19, 18:44 
Я понимаю, плевать на содержание, главное объем.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

49. "Miсrosoft открыл код системы распределения памяти mimalloc"  +4 +/
Сообщение от Аноним (49), 23-Июн-19, 19:20 
Вы явно давно не видели студенческих курсовых.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

66. "Miсrosoft открыл код системы распределения памяти mimalloc"  +4 +/
Сообщение от НяшМяш (ok), 23-Июн-19, 23:31 
Если бы у всех программистов были бы хотя бы такие курсовые, то вряд ли мы сейчас жили бы в мире электронов и прочих гтк
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

10. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Андрей (??), 23-Июн-19, 11:08 
Надо бы теперь на чём-то реальном проверить:
LD_PRELOAD=/usr/bin/libmimalloc.so firefox
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от ааааа (?), 23-Июн-19, 11:14 
А можно:
export LD_PRELOAD=/usr/bin/libmimalloc.so
прописать в /etc/profile?
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

83. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Michael Shigorinemail (ok), 24-Июн-19, 22:01 
Здесь была шутка про ~/.config.sys :)
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

99. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от And (??), 30-Июн-19, 11:13 
И ~/.wine/emm386.exe
Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

85. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от test (??), 24-Июн-19, 23:38 
Уже проверили на запросах к базе.
jmalloc оказался в 2 раза быстрее.

//github.com/microsoft/mimalloc/issues/11

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Аноним (-), 23-Июн-19, 11:29 
Electron от майкрософта - вот будущее свободного програмного обеспечения.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

62. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от мелкософт (?), 23-Июн-19, 22:25 
> Electron от майкрософта - вот будущее свободного програмного обеспечения.

агащасс. Мы для чего с гуглем-то договаривались? Элехтрон может быть только один!

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

13. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (13), 23-Июн-19, 11:31 
https://github.com/microsoft/mimalloc/issues/11
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от пох. (?), 23-Июн-19, 12:31 
вроде даже как обещали починить, но типа намекают, что оно немного не под такое использование было рассчитанно.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

28. "Miсrosoft открыл код системы распределения памяти mimalloc"  +3 +/
Сообщение от Андрей (??), 23-Июн-19, 13:07 
> оно немного не под такое использование было рассчитанно.
> (being build for many short lived small allocations :-) )

Так, ясно, одной библиотекой, оказывается, принципиально не обойтись. Значит,

LD_PRELOAD=/usr/bin/libmalloc_wrapper.so

malloc_wrapper.c:

if (foo) {
   mimalloc();
} else if (boo) {
   jemalloc();

...

} else {
   glibc_malloc();
}

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

53. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от пох. (?), 23-Июн-19, 20:04 
разумеется, не обойтись - иначе зачем, по-твоему, jemalloc существует столько лет, но в glibc - используют совершенно другой?

Но if(foo) может выполнять только сама программа - разработчик которой знает или хотя бы может пытаться угадать, как именно память будет использована. И выбирать себе аллокатор под конкретную задачу.
Внутри вызова malloc() ты уже никак это не выяснишь.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

78. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Андрей (??), 24-Июн-19, 17:27 
> Внутри вызова malloc() ты уже никак это не выяснишь.

Тогда надо бы в POSIX добавить аналог fadvise только для malloc. И, похоже, уже давно надо было бы.

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

81. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от пох. (?), 24-Июн-19, 18:38 
это ж софт переписывать, весь.

а тут можно обойтись LD_PRELOAD - по крайней мере, иногда.

Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору

51. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от Аноним (6), 23-Июн-19, 19:36 
> намекают, что оно немного не под такое использование было рассчитанно.

То ли ещё будет, когда кто-нибудь решит эффективнсоть realloc() проверить…

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

68. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (8), 24-Июн-19, 05:14 
>Danila Kutenin
>HSE FCS student

к вопросу о курсовых

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

84. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Michael Shigorinemail (ok), 24-Июн-19, 22:03 
А, так вот откуда бросившийся в глаза ещё из заголовка префикс "mima" :]
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

16. "Miсrosoft открыл код системы распределения памяти mimalloc"  +20 +/
Сообщение от Аноним (15), 23-Июн-19, 11:42 
>/usr/bin/libmimalloc.so

Узнаю Венду, хоть тут конкретно и .so

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (23), 23-Июн-19, 12:19 
Сатья наживку заглотили можешь подсекать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (-), 23-Июн-19, 12:55 
От Майкрососфт нам ничего не нужно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (30), 23-Июн-19, 13:20 
Нам это тебе и твоему воображаемому другу?
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

89. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от Аноним (-), 26-Июн-19, 00:15 
MS EEE тебе в щель.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

29. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Аноним (29), 23-Июн-19, 13:16 
Микрософт уже напоминает студентку 4 курса.
https://anekdot.livejournal.com/2694119.html
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

41. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (41), 23-Июн-19, 17:58 
По накопленным деньгам? )
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

36. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (2), 23-Июн-19, 14:39 
Что там с безопасТностью и сторонними каналами?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (38), 23-Июн-19, 16:19 
Hoard устарел в пользу https://github.com/plasma-umass/Mesh
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

40. "Miсrosoft открыл код системы распределения памяти mimalloc"  –3 +/
Сообщение от Аноним (40), 23-Июн-19, 17:53 
Выделение и освобождение памяти происходит настолько редко, по сравнению с доступом к ней, что библиотека не даст прироста в реальных приложениях
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

42. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (42), 23-Июн-19, 18:10 
Даже усугубит работу в многопоточных приложения. Аллокатор будет тратить большую часть работы.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

44. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Зелень (?), 23-Июн-19, 18:27 
Бойтесь нанайцев дары приносящих
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

52. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Ordu (ok), 23-Июн-19, 19:54 
Ты проверял? Ну, то есть, твои теоретические выводы полагаются на то, что выделение/освобождение памяти примерно одинаково с доступом по скорости. Но это резко совсем не так. Выделение/освобождение гораздо-гораздо медленнее. Поэтому было бы интересно посмотреть на бенчмарки.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

55. Скрыто модератором  –2 +/
Сообщение от Аноним (40), 23-Июн-19, 20:34 
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

58. Скрыто модератором  +/
Сообщение от Ordu (ok), 23-Июн-19, 20:41 
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

63. Скрыто модератором  +/
Сообщение от пох. (?), 23-Июн-19, 22:27 
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

73. Скрыто модератором  +/
Сообщение от letsmac (ok), 24-Июн-19, 10:26 
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

65. "Miсrosoft открыл код системы распределения памяти mimalloc"  +2 +/
Сообщение от НяшМяш (ok), 23-Июн-19, 23:29 
Вы ещё из тех, кто пишет программы, выделяя на старте память одним куском и в конце её освобождая? В большинстве современных приложений (например, тот же жеес на фронтенде) память частенько даже в цикле выделяется. Погуглите скриншоты любых мемори профайлеров - там ряды аллокаций просто сплошные без промежутков. Вот как раз в таких задачах очень может пригодиться.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

75. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (75), 24-Июн-19, 11:49 
Что значит "еще из тех"?)
Если вы современный смузихлеб, пишущий на электроне приложения жрущие по 16 Гб памяти чтобы отобразить чатик и выделяете по мегабайту в цикле - что ж, я рад, что всегда найдется работа для настоящих профессионалов, у которых на счету каждый байт. И да, даже однократный вызов динамической аллокации - полная жесть, и уважающий себя программист никогда так делать не будет.
Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

48. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Аноним (48), 23-Июн-19, 19:13 
микрософт туда уже инкрустировал азуре или еще нет?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

57. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от IdeaFixemail (ok), 23-Июн-19, 20:38 
К слову о крурсовых.... а старые преподы до сих пор просят запилить дефагментацию кучи? Типа указатель на указатель на указатель на массив указателей. Мы как-то лет 15 назад запилили.... и даже что-то со своим маллоком собрали. Даже работало.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

72. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от letsmac (ok), 24-Июн-19, 10:22 
А почему бы и нет? Может кто Танненбаума не читал :-)
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

71. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Аноним qwerty_qwerty1 (?), 24-Июн-19, 09:02 
Всю жизнь думал, что память выделяет ядро, а malloc это просто системный вызов. И тут такое откровение.  
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

74. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Совершенно другой аноним (?), 24-Июн-19, 11:09 
malloc() не системный вызов, а библиотечный. Системные вызовы это brk()/sbrk()/mmap()/munmap().
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

92. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от qwerty_qwerty1 (?), 26-Июн-19, 09:42 
386 уже давно на свалке, как и книга K&R.

https://www.opennet.ru/man.shtml?topic=malloc&category=3&russ...

Normally, malloc() allocates memory from the heap, and adjusts the size of the heap as required, using sbrk(2). When allocating blocks of memory larger than MMAP_THRESHOLD bytes, the glibc malloc() implementation allocates the memory as a private anonymous mapping using mmap(2). MMAP_THRESHOLD is 128 kB by default, but is adjustable using mallopt(3). Allocations performed using mmap(2) are unaffected by the RLIMIT_DATA resource limit (see getrlimit(2)).


Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

77. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от пох. (?), 24-Июн-19, 13:19 
>     И тут такое откровение.  

типикал опеннет юзер

и ничего, что исходник malloc в книжке Ритчи опубликован. Ему ведь и в голову не пришло ее читать.

Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

87. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (40), 25-Июн-19, 11:51 
Где в договоре написано, что пользователи опеннета обязаны прочитать книгу ритчи?
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

91. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Аноним (91), 26-Июн-19, 07:22 
Пользовательи опеннет обязаны:
1. при первом упоминании microsoft хотя бы раз отписаться про EEE - выполнено.
2. при первом упоминании чего угодно графического хотя бы раз отписаться про Electron - выполнено
3. Уважать только Си и баш-скрипты инициализации - в процессе
Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

96. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Гость (??), 26-Июн-19, 17:37 
Радио "радонеж" забыли.
Ответить | Правка | ^ к родителю #91 | Наверх | Cообщить модератору

86. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от Аноним (40), 25-Июн-19, 11:50 
ОС просто гарантирует, что память одного приложения физически (в планке ОЗУ) не будет налазить на память другого приложения. То есть ОС выделяет ВИРТУАЛЬНОЕ адресное пространство, а приложение управляет виртуальной памятью как хочет.
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

93. "Miсrosoft открыл код системы распределения памяти mimalloc"  –1 +/
Сообщение от ютуб ютубов (?), 26-Июн-19, 10:48 
теперь ждём, когда это появится в Reactos
Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

95. "Miсrosoft открыл код системы распределения памяти mimalloc"  +1 +/
Сообщение от Гость (??), 26-Июн-19, 17:36 
Строго говоря не гарантирует, но пытается засегфолтить все бинарники, пытающиеся залезть за пределы своей песочницы.
Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

94. "Miсrosoft открыл код системы распределения памяти mimalloc"  +/
Сообщение от Аноним (94), 26-Июн-19, 12:04 
А это точно проект мс, а не Xiaomi? Название слишком характерное
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

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