Napi (GNU) parallel (2024.12.20.)

E helyett:

$ for remote in $( git remote ) ; do git push --verbose $remote ; done

... rövidebb ez:

$ parallel git push --verbose {} ::: $( git remote )

És mivel a parallel párhuzamosan hajtja végre tolja a feladatokat, egy szösszenettel gyorsabban is csinálta.

Egyébként a fenti példában a behelyettesítendő argumentumok helyét jelző  '{}' kihagyható, mert
ha nem szerepel, akkor az argumentumok egyébként is a végrehajtandó parancs végére kerülnek.

$ parallel --version
GNU parallel 20231122
Copyright (C) 2007-2023 Ole Tange, http://ole.tange.dk and Free Software
Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
GNU parallel comes with no warranty.

Web site: https://www.gnu.org/software/parallel

When using programs that use GNU Parallel to process data for publication
please cite as described in the manpage.

Hozzászólások

A parallel figyel a processzek szamara. Ha jol emlekszem, a default (mert ugye allithato) valahol a hasznalhato magok kornyeken van. Aztan ha van mondjuk 8 magod, akkor 10 darab feldolgozando task eseten elindit 8-at, amint az egyik befejezi, inditja a kovetkezot, ha meg egy elkeszult, az utolsot is. Ha 10000 van, akkor is 8 indul, aztan mindig amikor elkeszult 1-1, indul a kovetkezo, amig kesz nem lesz mind.

Amit irtal, annal az elso esetben 10 indul el (ez meg kozel van a 8-hoz), 10000 eseten meg meghal a rendszered.

A strange game. The only winning move is not to play. How about a nice game of chess?

Igen, plusz ha bizonyos taskokat az alapjan kell futtatni/ujrafuttatni, hogy "valami" mar feldolgozta a legujabb valtozatat, akkor is jol jon. Mondjuk forditashoz. De akar data pipeline-ba is mehet make.

A strange game. The only winning move is not to play. How about a nice game of chess?