<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by High Performance School on Medium]]></title>
        <description><![CDATA[Stories by High Performance School on Medium]]></description>
        <link>https://medium.com/@highperformanceschool?source=rss-1fc52f0f9d1b------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*ojrGOqt1pd0Stk6GaIDXFQ.png</url>
            <title>Stories by High Performance School on Medium</title>
            <link>https://medium.com/@highperformanceschool?source=rss-1fc52f0f9d1b------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 01:48:44 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@highperformanceschool/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[A Ineficiência do Regex e Como Otimizá-lo]]></title>
            <link>https://highperformanceschool.medium.com/a-inefici%C3%AAncia-do-regex-e-como-otimiz%C3%A1-lo-bdacc8d09ed1?source=rss-1fc52f0f9d1b------2</link>
            <guid isPermaLink="false">https://medium.com/p/bdacc8d09ed1</guid>
            <category><![CDATA[otimização]]></category>
            <category><![CDATA[regex]]></category>
            <category><![CDATA[performance]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[High Performance School]]></dc:creator>
            <pubDate>Tue, 06 Feb 2024 11:35:10 GMT</pubDate>
            <atom:updated>2024-02-06T11:35:10.770Z</atom:updated>
            <content:encoded><![CDATA[<h3>Regex, o vilão da performance</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/650/1*rh_ATD6lgQzJkfTPhQ2NGA.png" /></figure><p>Você sabia que expressões regulares (regex) podem ser extremamente ineficientes em certos cenários? Isso ocorre principalmente devido a ‘backtracking’ excessivo, que pode levar a tempos de execução exponenciais!</p><p>Por exemplo, considere o regex (a+)+b e a string a...a! (onde ... são milhares de &#39;a&#39;). Esse regex tentará diversas combinações antes de falhar, tornando-se muito lento.</p><p>Mas a boa notícia é: o V8 (motor JavaScript do Chrome e Node.js) introduziu uma flag experimental para lidar com isso: --enable-experimental-regexp_engine-on-excessive-backtracks.</p><p>🔍 <strong>Teste Prático</strong>:</p><pre>const regex = /(a+)+b/;<br>const input = &#39;a&#39;.repeat(5000);<br>console.time(&#39;Regex Sem Otimização&#39;);<br>input.match(regex);<br>console.timeEnd(&#39;Regex Sem Otimização&#39;);</pre><p>o resultado será algo em torno de 70.885ms</p><p>Para usar a flag no Node.js:</p><pre>node --enable-experimental-regexp_engine-on-excessive-backtracks seuScript.js</pre><p>Com isso, ao detectar backtracks excessivos, o V8 mudará para um mecanismo de regex diferente e mais eficiente!</p><p>Aqui o resultado caiu pra 1.977ms 😲</p><p>Lembre-se: regex é uma ferramenta poderosa, mas com grandes poderes vêm grandes responsabilidades. Use com sabedoria e sempre monitore o desempenho!</p><p>#DevDica #Otimização #Regex 🛠️</p><p>Olhe <a href="https://v8.dev/blog/non-backtracking-regexp">https://v8.dev/blog/non-backtracking-regexp</a> para mais informaçoes</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bdacc8d09ed1" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ A Ineficiência do Regex e Como Otimizá-lo]]></title>
            <link>https://highperformanceschool.medium.com/a-inefici%C3%AAncia-do-regex-e-como-otimiz%C3%A1-lo-41c55cf9c08a?source=rss-1fc52f0f9d1b------2</link>
            <guid isPermaLink="false">https://medium.com/p/41c55cf9c08a</guid>
            <category><![CDATA[nodejs]]></category>
            <category><![CDATA[tuning]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[performance-management]]></category>
            <category><![CDATA[performance]]></category>
            <dc:creator><![CDATA[High Performance School]]></dc:creator>
            <pubDate>Tue, 07 Nov 2023 13:29:15 GMT</pubDate>
            <atom:updated>2023-11-07T13:29:15.335Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/650/0*GyfJqZ0jdS1t00dF.jpg" /></figure><h3>Regex, o vilão da performance</h3><p>Você sabia que expressões regulares (regex) podem ser extremamente ineficientes em certos cenários? Isso ocorre principalmente devido a ‘<strong>backtracking</strong>’ excessivo, que pode levar a tempos de execução exponenciais!</p><p>Por exemplo, considere o regex (a+)+b e a string a...a! (onde ... são milhares de &#39;a&#39;). Esse regex tentará diversas combinações antes de falhar, tornando-se muito lento.</p><p>Mas a boa notícia é: o V8 (motor JavaScript do Chrome e Node.js) introduziu uma flag experimental para lidar com isso: --enable-experimental-regexp_engine-on-excessive-backtracks.</p><h3>🔍 Teste Prático:</h3><pre>const regex = /(a+)+b/;<br>const input = &#39;a&#39;.repeat(5000);<br>console.time(&#39;Regex Sem Otimização&#39;);<br>input.match(regex);<br>console.timeEnd(&#39;Regex Sem Otimização&#39;);</pre><p>o resultado será algo em torno de 70.885ms</p><p>Para usar a flag no Node.js:</p><pre>node --enable-experimental-regexp_engine-on-excessive-backtracks seuScript.js</pre><p>Com isso, ao detectar backtracks excessivos, o V8 mudará para um mecanismo de regex diferente e mais eficiente!</p><p>Aqui o resultado caiu pra 1.977ms 😲</p><p>Lembre-se: regex é uma ferramenta poderosa, mas com grandes poderes vêm grandes responsabilidades. Use com sabedoria e sempre monitore o desempenho!</p><p>Olhe <a href="https://v8.dev/blog/non-backtracking-regexp">https://v8.dev/blog/non-backtracking-regexp</a> para mais informações.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*dfqmgpoF8Mn5kjJ4.png" /></figure><p>Gostou desse conteúdo? Aproveita pra se inscrever na nossa newsletter <a href="https://highperformanceletterbr.substack.com/">https://highperformanceletterbr.substack.com/</a><br>Postamos conteúdos sobre performance e otimização todas as semanas!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=41c55cf9c08a" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>