Royce Williams<p>Multithreaded CLI developers: let your users configure the number of threads.</p><p>Entire classes of use cases are hiding inside that will make <em>your</em> life easier as a dev -- and <code>threads=1</code> is usually not hard to add.</p><p>One example: if your multithreaded tool works significantly faster on a single file when I force your tool to just use a single thread and parallelize it with <code>parallel --pipepart --block</code> instead, then either:</p><ol><li><p>you might decide to develop sharding the I/O of the physical file yourself, or</p></li><li><p>you might consciously decide to <em>not</em> develop it, and leave that complexity to <code>parallel</code> (which is fine!)</p></li></ol><p>But if your tool has no <code>threads=N</code> option, I have no workaround.</p><p>Configurable thread count lets me optimize in the meantime (or instead).</p><p><a href="https://infosec.exchange/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a> <a href="https://infosec.exchange/tags/multithreading" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>multithreading</span></a></p>