davidhurka added a comment.

  In D27557#616831 <https://phabricator.kde.org/D27557#616831>, @sitter wrote:
  
  >
  
  
  
  
  > - 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 `generate.sh inputfile` 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.
  
  
  
  1. I’m sure most build systems don’t run on Tianhe-2, so we don’t need one 
thread per icon.
  2. 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.
  
  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.
  
  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.

REPOSITORY
  R266 Breeze Icons

REVISION DETAIL
  https://phabricator.kde.org/D27557

To: ngraham, #vdg, ndavis, #frameworks, sitter
Cc: davidhurka, usta, davidre, bcooksley, kossebau, kde-frameworks-devel, 
LeGast00n, cblack, GB_2, michaelh, ngraham, bruns

Reply via email to