<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posix on JOURNAL.ROBBI.MY</title><link>https://journal.robbi.my/tags/posix/</link><description>Recent content in Posix on JOURNAL.ROBBI.MY</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 26 Dec 2022 22:16:21 +0800</lastBuildDate><atom:link href="https://journal.robbi.my/tags/posix/index.xml" rel="self" type="application/rss+xml"/><item><title>Posix - Speed up "find" + "exec" command (recursive)</title><link>https://journal.robbi.my/posts/201108111900/</link><pubDate>Sun, 08 Nov 2020 11:19:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201108111900/</guid><description>&lt;p&gt;I learn some trick today on how to speed up &lt;code&gt;find&lt;/code&gt;, &lt;code&gt;exec&lt;/code&gt; command. Let check this out:&lt;/p&gt;
&lt;div class="code-block my-6"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;
 &lt;svg class="inline size-[1em] me-1 align-text-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"&gt;&lt;path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/&gt;&lt;/svg&gt;
 gist · RobbiNespu
 &lt;/span&gt;
 &lt;a href="https://gist.github.com/RobbiNespu/aa81b691956d4283912e65762a69e094" target="_blank" rel="noopener" class="code-copy"&gt;View on GitHub ↗&lt;/a&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# let see how many files we have
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ find . -type f | wc -l
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;36367
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# lets check every file status
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ time find . -type f -exec stat {} \; &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;real 0m40.107s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user 0m14.381s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sys 0m26.410s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# lets check every file status
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ time find . -type f -exec stat {} + &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;real 0m1.281s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user 0m0.626s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sys 0m0.656s&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;p&gt;Wow that’s quite a huge difference! Impressive! All we did was swap the &lt;code&gt;\;&lt;/code&gt; for a &lt;code&gt;+&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>