<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Доступна библиотека управления памятью jemalloc 5.3.1</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html</link>
    <description>Спустя 4 года после публикации прошлого обновления доступен релиз библиотеки управления памятью jemalloc 5.3.1, предлагающей альтернативную реализацию функций malloc, оптимизированную для снижения фрагментации и работы на многопроцессорных системах. Для решения проблем с блокировками на многоядерных системах в jemalloc для каждого ядра CPU используется своя изолированная область распределения памяти, что позволяет добиться  линейной масштабируемости при росте числа потоков...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=65201&lt;br&gt;</description>

<item>
    <title>- (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#44</link>
    <pubDate>Wed, 15 Apr 2026 15:56:06 GMT</pubDate>
    <description>&amp;gt;аргумент один и тот же а результат разный.&lt;br&gt;&lt;br&gt;Это и есть ID1 (см. выше). Это родитель (ответственный поток) всех последующих.&lt;br&gt;ID2 передается или запрашивается скрытно от программиста C. ID2,ID3,ID4 ссылаются на ID1 как идентификатор группы в которую они включены в глазах диспетчера (аллокатора) памяти. &lt;br&gt;</description>
</item>

<item>
    <title>Доступна библиотека управления памятью jemalloc 5.3.1 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#43</link>
    <pubDate>Wed, 15 Apr 2026 14:22:16 GMT</pubDate>
    <description>&amp;gt; А чего сложного? Сделать no-op free() совсем несложно&lt;br&gt;&amp;gt; Как же никто раньше не догадался, можно же решить все проблемы, всего-то нужно не возвращать память системе.&lt;br&gt;&lt;br&gt;если речь об оптимизации памяти, франментации, то давным давно догадался, и это на гораздо более сложном уровне реализовано много где, в тех жа базах данных.&lt;br&gt;&lt;br&gt;&amp;gt; Но интересно, как это поможет от выхода за границы буфера?&lt;br&gt;&lt;br&gt;элементарно ватсон, обьявляем 0x0000 концом, и на уровне функции чтения дальше не лезем. или 0х00000000 или что угодно майжик.&lt;br&gt;&lt;br&gt;&amp;gt; rust, который ты, конечно, в глаза не видел, ничего гвоздями не прибито. &lt;br&gt;&lt;br&gt;видел, но первое что я уточнил это возможность динамической линковки, после чего закрыл этот вопрос для себя навсегда, еще один ...блаблабла, который умеет также как и ява миллирд вариантов массивов, блаблабла, пофиг мне, я не программист. Управлять памятью через костыли можно где угодно, где то лучше, гдето хуже, но вы же утверждаете что раст это делает за вас, а тут вдруг нет..путаетесь в показаних, либо делает, либо</description>
</item>

<item>
    <title>Доступна библиотека управления памятью jemalloc 5.3.1 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#42</link>
    <pubDate>Wed, 15 Apr 2026 13:56:33 GMT</pubDate>
    <description>Внятно объяснить в чем магия этого диспетчера не получается здесь. &lt;br&gt;</description>
</item>

<item>
    <title>- (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#41</link>
    <pubDate>Wed, 15 Apr 2026 13:54:07 GMT</pubDate>
    <description>&amp;gt; Прикол тут в том, что для всех потоков код который они вызывают &lt;br&gt;&amp;gt; и аргумент один и тот же а результат разный.&lt;br&gt;&lt;br&gt;Когда Вы вызываете метод класса аргументы и код C++ одинаковые, а отрабатываются конкретные экземпляр-методы. this передается скрытно от программиста C++, но в асме он четко виден.   &lt;br&gt;</description>
</item>

<item>
    <title>Доступна библиотека управления памятью jemalloc 5.3.1 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#40</link>
    <pubDate>Wed, 15 Apr 2026 06:42:09 GMT</pubDate>
    <description>https://github.com/GrapheneOS/hardened_malloc&lt;br&gt;</description>
</item>

<item>
    <title>- (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#39</link>
    <pubDate>Tue, 14 Apr 2026 22:19:52 GMT</pubDate>
    <description>&amp;gt; Я стараюсь мыслить в асм реализации.&lt;br&gt;&lt;br&gt;Очень плохо, потому что x86 не единственная и уже даже не основная архитектура.&lt;br&gt;</description>
</item>

<item>
    <title>- (Аноним83)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#38</link>
    <pubDate>Tue, 14 Apr 2026 22:05:53 GMT</pubDate>
    <description>Удачи в реализации.&lt;br&gt;</description>
</item>

<item>
    <title>- (Аноним83)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#37</link>
    <pubDate>Tue, 14 Apr 2026 22:05:14 GMT</pubDate>
    <description>Нет.&lt;br&gt;&lt;br&gt;static pthread_key_t tp_tls_key_tpt;&lt;br&gt;static int tp_tls_key_tpt_error = EAGAIN;&lt;br&gt;&lt;br&gt;int tp_init(void) &#123;&lt;br&gt;if (0 != tp_tls_key_tpt_error) &#123; /* Try to reinit TLS. */&lt;br&gt;tp_tls_key_tpt_error = pthread_key_create(&amp;tp_tls_key_tpt, NULL);&lt;br&gt;&#125;&lt;br&gt;return (tp_tls_key_tpt_error);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;static void *tp_thread_proc(void *data) &#123;&lt;br&gt;...&lt;br&gt;pthread_setspecific(tp_tls_key_tpt, (const void*)data);&lt;br&gt;...&lt;br&gt;// do something...&lt;br&gt;...&lt;br&gt;pthread_setspecific(tp_tls_key_tpt, NULL);&lt;br&gt;return (NULL);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;void *tpt_get_current(void) &#123; /* TLS magic. */&lt;br&gt;return ((void*)pthread_getspecific(tp_tls_key_tpt));&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Это чуть упрощённое из моего кода.&lt;br&gt;tp_init() вызывается типа один раз при старте.&lt;br&gt;Каждый поток в tp_thread_proc() получает свой какой то указатель на данные и сохраняет его в TLS.&lt;br&gt;Вызывая tpt_get_current() из любой функции в контексте выполнения такого потока можно получить указатель на данные (void *data) который передали при создании потока.&lt;br&gt;Прикол тут в том, что для всех потоков код который они вызывают и аргумент один </description>
</item>

<item>
    <title>- (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/139806.html#36</link>
    <pubDate>Tue, 14 Apr 2026 21:41:30 GMT</pubDate>
    <description>&amp;gt;&amp;gt; malloc(xxx) вызывается на самом деле malloc(this_thread,xxx).&lt;br&gt;&amp;gt; Может в какой то реализации так и есть, я таких не видел &lt;br&gt;&lt;br&gt;Идея.&lt;br&gt;- диспетчер узнает поток.&lt;br&gt;- прилепливает к выданному этому потоку.&lt;br&gt;- выдает указатель новым не подряд, а прыжками. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
