<table><tr><td style="">davidhurka added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D27557">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D27557#616831" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: line-through;">D27557#616831</a>, <a href="https://phabricator.kde.org/p/sitter/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@sitter</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"></div>
</blockquote>



<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ul class="remarkup-list">
<li class="remarkup-list-item">if your script is doing a lot of stuff you may want to revise how the script works. specifically for this diff sed needs to iter all the content of all the SVGs this can benefit greatly from running across multiple cores, but with the way it is written it cannot. a better solution would be to move the for loop into cmake and then construct targets for all files where each target calls <tt style="background: #ebebeb; font-size: 13px;">generate.sh inputfile</tt> and the shell script only has the logic from inside the loop. this effectively gives you free "threading" in that cmake/make/ninja know how to run build targets in parallel so by making each file its own target you can now utilize all cores of a system without having to manage threading manually.</li>
</ul></blockquote>



<ol class="remarkup-list">
<li class="remarkup-list-item">I’m sure most build systems don’t run on Tianhe-2, so we don’t need one thread per icon.</li>
<li class="remarkup-list-item">If someone uses make instead of ninja, make will take very much time to fire up the 2000 (11000 if we also auto-generate dark versions) threads.</li>
</ol>

<p>I think it makes more sense to define one target for every directory, and then 4 (43) parralel-running Python scripts iterate through their own directory. Then we also don’t need a for loop in cmake.</p>

<p>By the way that inefficient shell script needs only 18 seconds on my slowbook. I think that is fast enough and competitively green enough, and a streamlined Python script will probably be even better.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R266 Breeze Icons</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27557">https://phabricator.kde.org/D27557</a></div></div><br /><div><strong>To: </strong>ngraham, VDG, ndavis, Frameworks, sitter<br /><strong>Cc: </strong>davidhurka, usta, davidre, bcooksley, kossebau, kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns<br /></div>