Použití find a vytvoření symlinků na soubory

David1234

Re:Použití find a vytvoření symlinků na soubory
« Odpověď #15 kdy: 13. 06. 2017, 15:32:15 »
No já vycházím z toho že v případě find + exec se použije binárka find která volá ln. V případě varianty s xargs se volá find ten předává přes rouru data xargs, který volá ln. Řekl bych že to musí prodloužit čas = protože je tam ta jedna binárka navíc. Ale třeba vyjímka potvrzuje pravidlo? :)

No, ale v tomto případě to vypadá že je to s xargs opravdu rychlejší :) Taky mi to tak vychází..


trubicoid2

Re:Použití find a vytvoření symlinků na soubory
« Odpověď #16 kdy: 13. 06. 2017, 15:37:48 »
ten find do roury natlaci seznam souboru a o vic se nestara, z druhe strany si to vezme xargs a umi to treba delat paralelne (parametr -P) nebo omezovat max velikost prikazove radky, aby to nepreteklo (rozesknutim na dva prikazy, parametr -n)

ten xargs se teda nepusti vetsinou vickrat (pokud neni souboru vic nez 4096 nebo nemas -n)

takze bez {} find | xargs ls se ls vola jen jednou se vsema tema souborama na konci, proto je to tak rychle

s {} se bohuzel vola ls pro kazdy soubor zvlast, i tak je to rychlejsi, nez exec, kde se take vola pro kazdy soubor zvlast

s tim paralelnim xargs, kdy vola ls pro kazdy soubor, ale 4 paralelne je to taky celkem rychle

Kód: [Vybrat]
time find / -xdev -type f -iname '*' -print0 | xargs -0 -P4 -I {} ls -l {}  >/dev/null

real 1m46.583s
user 0m3.604s
sys 0m21.364s

trubicoid2

Re:Použití find a vytvoření symlinků na soubory
« Odpověď #17 kdy: 13. 06. 2017, 15:39:33 »
No, ale v tomto případě to vypadá že je to s xargs opravdu rychlejší :) Taky mi to tak vychází..

xargs je skoro v kazdem pripade rychlejsi  :) jinak by se s tim nemelo cenu otravovat