<story><title>Transcoding Latin 1 strings to UTF-8 strings at 12 GB/s using AVX-512</title><url>https://lemire.me/blog/2023/08/18/transcoding-latin-1-strings-to-utf-8-strings-at-12-gb-s-using-avx-512/</url></story><parent_chain></parent_chain><comment><author>ko27</author><text>&amp;gt; Latin 1 standard is still in widespread inside some systems (such as browsers)&lt;p&gt;That doesn&amp;#x27;t seem to be correct. UTF-8 is used by 98% of all the websites. I am not sure if it&amp;#x27;s even worth the trouble for libraries to implement this algorithm, since Latin-1 encoding is being phased out.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;w3techs.com&amp;#x2F;technologies&amp;#x2F;details&amp;#x2F;en-utf8&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;w3techs.com&amp;#x2F;technologies&amp;#x2F;details&amp;#x2F;en-utf8&lt;/a&gt;</text></comment>
<story><title>Transcoding Latin 1 strings to UTF-8 strings at 12 GB/s using AVX-512</title><url>https://lemire.me/blog/2023/08/18/transcoding-latin-1-strings-to-utf-8-strings-at-12-gb-s-using-avx-512/</url></story><parent_chain></parent_chain><comment><author>redox99</author><text>12GB&amp;#x2F;s seems a bit slow. I&amp;#x27;d expect the only bottleneck to be memory bandwidth.&lt;p&gt;A dual channel DDR4 system memory bandwidth is ~40GB&amp;#x2F;s, and DDR5 ~80GB&amp;#x2F;s.&lt;p&gt;Since this operation requires both a read and a write, you&amp;#x27;d expect half that.</text></comment>