Meta 的 jemalloc 宣言

在 Lobsters 上看到「Investing in Infrastructure: Meta’s Renewed Commitment to jemalloc」這篇,這讓我馬上想到 Jason Evans (就是發明 jemalloc 的人,je 取自他的名字縮寫) 在去年寫的「jemalloc Postmortem」這篇,文章最後提到 Meta 的制度設計使得不會...

Gea-Suan Lin's BLOG

[Перевод] Почему первый вызов моей malloc всегда аллоцирует 72 КБ?

Мне нравится экспериментировать с кастомными аллокаторами памяти, используя собственные реализации. И хотя модульные тесты помогают убедиться в их корректности, настоящей проверкой становится работа аллокатора в реальных программах. Коротко о теме статьи. Стандартная библиотека C++ инициализирует механизм обработки исключений на раннем этапе, выделяя память для «резервного пула», чтобы можно было использовать её под выброс исключений, если malloc вдруг провалится.

https://habr.com/ru/companies/ruvds/articles/1006290/

#ruvds_перевод #программирование #c++ #linux #malloc #аллокация_памяти

Почему первый вызов моей malloc всегда аллоцирует 72 КБ?

Мне нравится экспериментировать с кастомными аллокаторами памяти, используя собственные реализации. И хотя модульные тесты помогают убедиться в их корректности, настоящей проверкой становится работа...

Хабр
🚨 Oh no, another "expert" tries to unravel the enigma of the mystical 72 KB #C++ #malloc allocation and ends up drowning in a sea of jargon. 🌊 Instead of solving the "mystery", we're treated to a riveting tale of exception handling and a memory pool that could rival the Bermuda Triangle's complexity. 🙄 Spoiler alert: it's just C++ being C++.
https://joelsiks.com/posts/cpp-emergency-pool-72kb-allocation/ #expert #analysis #memorypool #exceptionhandling #HackerNews #ngated
Why is my first C++ (m)allocation always 72 KB?

Why is my first C++ (m)allocation always 72 KB?? It’s the ’emergency pool’ for exceptions, here’s how I uncovered it using GDB and digging through the source code of libstdc++, glibc and Valgrind!

Кастомные аллокаторы для игровых движков: arena, pool и slab на C++

Стандартный malloc — универсальный инструмент, но в геймдеве универсальность часто означает «недостаточно быстро». Когда бюджет кадра 16 мс, а каждый кадр рождаются тысячи объектов, имеет смысл разобраться в специализированных аллокаторах. Рассмотрим три основных типа: arena, pool и slab — когда какой использовать, как реализовать, и какие подводные камни ждут. Смотреть реализацию

https://habr.com/ru/companies/otus/articles/988086/

#C++ #кастомные_аллокаторы #управление_памятью #malloc #фрагментация_памяти #локальность_кэша #многопоточность

Кастомные аллокаторы для игровых движков: arena, pool и slab на C++

Стандартный malloc — универсальный инструмент, но в геймдеве универсальность часто означает «недостаточно быстро». Когда бюджет кадра 16 мс, а каждый кадр рождаются...

Хабр
malloc: past, present and future

YouTube
Tip: Do you use gdal in an alpine container? LD_PRELOAD mimalloc or tcmalloc for a massive performance improvement. An identical multithreaded gdaladdo job went from ~50mins to ~8mins. ⚡ #malloc #alpine #musl #docker

Memory Integrity Enforcement: A complete vision for memory safety in Apple devices

https://inks.tedunangst.com/l/5263

inks

2/3

El valor de #swappines permite al sistema gestionar la memoria.

Podemos consultar su valor usando:

$ sysctl vm.swappiness

Y podemos cambiarlo modificando su valor editando el archivo /etc/sysctl.conf (si les interesa me avisan y luego puedo ampliar detalles de cómo se hace).

Otra opción interesante de la encuesta es "vm.overcommit_memory". Brevemente, controla la política del núcleo del sistema para asignar memoria virtual cuando los procesos solicitan bloques dinámicamente (#malloc).

phkmalloc — PHKs Bikeshed