Portál AbcLinuxu, 1. května 2025 17:17
Diskuse byla administrátory uzamčena.
Takžeparallel --sshlogin node01.lan --trc /tmp/{/.}.wav oggdec {} -o /tmp/{/.}.wav ::: *.ogg
Dodám, že{./}
je nahrazeno za název ...
{./}
nebo {/.}
?
{/.}
- díky za upozornění, opravil jsem to v článku.
#!/bin/dash Pozdrav="() { echo ahoj; }" export Pozdrav bash -c PozdravJe otázka ale jaký shell použije ten příkaz parallel. (Dá se pak asi z parallel spustit "bash -c Funkce" ale to už začíná být dost přes ruku.
cd /var/tmp wget http://ftp.linux.cz/pub/FILES.byname # textovy soubor cca 1.1 GB for i in `seq 1 20` ; do time sh -c 'grep -n jezek FILES.byname >/dev/null'; done for i in `seq 1 20` ; do time sh -c 'nl FILES.byname | grep jezek >/dev/null'; doneU mě první varianta běží cca 1.9 s reálného času (okolo 1.1 user, 0.8 system), druhá varianta 6.6 s reálného času (7.0 user, 1.5 system). Beru vždy nejrychlejší čas z těch 20 pokusů. Nicméně zdá se, že samotný výpočet nad daty z cache taky není úplně zadarmo - když spustím ten první případ bez -n (bez počítání čísel řádků), tak je to ještě o dalších 0.2 s rychlejší. -Yenya
parallel
podporoval paralelní čtení z jednoho souboru - že by každý proces četl od jiného offsetu nějakou danou velikost, ale to by šlo samozřejmě jen tehdy, kdyby se nemusely hlídat konce řádků a práce by se rozdělovala dle fixní velikosti.
parallel
a volaným programům by se pak chunky předávaly třeba na vstup nebo přes pojmenovanou rouru, atd.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.