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

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (n00by)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#164</link>
    <pubDate>Sat, 16 Jul 2022 11:39:49 GMT</pubDate>
    <description>&amp;gt;&amp;gt;20 лет никто не замечал что код не работает &lt;br&gt;&amp;gt; Вся суть линукса в одной фразе &lt;br&gt;&lt;br&gt;Вся суть анонимных экспертов. Код не видели, ничего не поняли, но уже что-то мнят.&lt;br&gt;</description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#163</link>
    <pubDate>Sat, 16 Jul 2022 11:06:13 GMT</pubDate>
    <description>&amp;gt;20 лет никто не замечал что код не работает&lt;br&gt;&lt;br&gt;Вся суть линукса в одной фразе&lt;br&gt;</description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (n00by)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#162</link>
    <pubDate>Sat, 16 Jul 2022 10:18:25 GMT</pubDate>
    <description>&amp;gt;&amp;gt; А я увидел человека, кто не может сгенерировать ассемблерный листинг и изучить &lt;br&gt;&amp;gt;&amp;gt; его.&lt;br&gt;&amp;gt; А если человек сгенерировал, изучил, но вам не доложил, как вы его &lt;br&gt;&amp;gt; отличите от того, кто не смог?&lt;br&gt;&lt;br&gt;Очень просто - априори я верю человеку на слово. Если он пишет &quot;Интересно, а компиляторы хотя бы до такой наивной оптимизации доросли?&quot; - значит ему действительно интересно узнать.&lt;br&gt;&lt;br&gt;&amp;gt; Так вот, если вашей функции &lt;br&gt;&amp;gt; test выше скормить программно заполненный массив символов, то в asm листинге &lt;br&gt;&amp;gt; таки будет виден вызов strlen. Сюрприз? Мне почему-то показалось, что доказывать &lt;br&gt;&amp;gt; это нет необходимости.&lt;br&gt;&lt;br&gt;Действительно, сюрприз. В том листинге, что я привёл, в test() есть вызов strlen. Но в main() нет вызова test(). Я полагал, что нет смысла объяснять очевидные вещи.&lt;br&gt;&lt;br&gt;&amp;gt; Мне не нужен вызов strlen(&quot;12345&quot;), ибо чтобы узнать &lt;br&gt;&amp;gt; результат этого вызова компьютер не нужен. Я спрашивал о strlen(s), где &lt;br&gt;&amp;gt; s - это переменная, а не константа, зашитая в коде. Но &lt;br&gt;&amp;gt; не напрягайтесь, сейчас мне ваш ответ не нужен, только</description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (qwe)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#161</link>
    <pubDate>Sat, 16 Jul 2022 09:31:23 GMT</pubDate>
    <description>&amp;gt; А я увидел человека, кто не может сгенерировать ассемблерный листинг и изучить &lt;br&gt;&amp;gt; его.&lt;br&gt;&lt;br&gt;А если человек сгенерировал, изучил, но вам не доложил, как вы его отличите от того, кто не смог? Так вот, если вашей функции test выше скормить программно заполненный массив символов, то в asm листинге таки будет виден вызов strlen. Сюрприз? Мне почему-то показалось, что доказывать это нет необходимости. Мне не нужен вызов strlen(&quot;12345&quot;), ибо чтобы узнать результат этого вызова компьютер не нужен. Я спрашивал о strlen(s), где s - это переменная, а не константа, зашитая в коде. Но не напрягайтесь, сейчас мне ваш ответ не нужен, только не после демонстрации вами вашей логики.&lt;br&gt;</description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (n00by)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#160</link>
    <pubDate>Sat, 16 Jul 2022 04:17:11 GMT</pubDate>
    <description>&amp;gt; Я спрашиваю про конкретную оптимизацию при использовании конкретной функции из стандартной &lt;br&gt;&amp;gt; библиотеки, вы же отвечаете непонятно на что,&lt;br&gt;&lt;br&gt;А я увидел человека, кто не может сгенерировать ассемблерный листинг и изучить его.&lt;br&gt;&lt;br&gt;&amp;gt; затем придумываете гипотетические задачи, &lt;br&gt;&amp;gt; в которых эта функция не используется вовсе.&lt;br&gt;&lt;br&gt;Потому что реальную задачу Вы не показали.&lt;br&gt;&lt;br&gt;&amp;gt; Если я вызываю strlen(s), &lt;br&gt;&amp;gt; то это означает, что мне неизвестна длина строки (внешние данные), а&lt;br&gt;&lt;br&gt;Вот именно. На практике для каждой такой строки определяется её длина. Если требуется эффективно находить строки длиной 5 - их длина оказывается уже посчитана при проверке входных данных.&lt;br&gt; &lt;br&gt;&amp;gt; если я вызываю strnlen(s, 6), это означает что мне не нужна &lt;br&gt;&amp;gt; точная длина строки, я лишь хочу убедится, что ее длина больше &lt;br&gt;&amp;gt; 5.&lt;br&gt;&lt;br&gt;В &amp;#8470;75 написано: if (strlen(s) == 5) --&amp;gt; if (strnlen(s, 6) == 5)&lt;br&gt;&lt;br&gt;Изначально Вы искали строки длиной равной 5 и интересовались, способен ли транслятор заменить вызов стандартной функции на функцию, о которой он </description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (Конь Антон)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#159</link>
    <pubDate>Sat, 16 Jul 2022 03:08:14 GMT</pubDate>
    <description>Это некрофилия а не классика&lt;br&gt;Тупой ты баран. &lt;br&gt;</description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#158</link>
    <pubDate>Fri, 15 Jul 2022 23:09:38 GMT</pubDate>
    <description>Сразу видно человека не разбирающегося в теме&lt;br&gt;</description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (Онаним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#157</link>
    <pubDate>Fri, 15 Jul 2022 19:11:54 GMT</pubDate>
    <description>(и это не так из эксплуатационного)&lt;br&gt;Ещё с ним не так то, что разные процы поддерживают разные несовместимые субсеты оного...&lt;br&gt;</description>
</item>

<item>
    <title>Для ядра Linux предложена реализация функции memchr, работаю... (Онаним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/127974.html#156</link>
    <pubDate>Fri, 15 Jul 2022 19:11:11 GMT</pubDate>
    <description>Не так в нём то, что оно превращает в кипятильник весь камень, и частоты падают на всём кипятильнике, а не на конкретном ядре.&lt;br&gt;</description>
</item>

</channel>
</rss>
