Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.os.unix.shell > #10511
| From | Helmut Schellong <rip@schellong.biz> |
|---|---|
| Newsgroups | de.comp.os.unix.shell |
| Subject | Re: Verzeichnisse mit Leerzeichen umwandeln |
| Date | 2018-09-09 23:46 +0200 |
| Organization | solani.org |
| Message-ID | <pn44bj$8cb$1@solani.org> (permalink) |
| References | (6 earlier) <5b944577$0$7949$7b62cf90@news1.net.de> <pn2g6f$ven$1@solani.org> <5b94f6a5$0$7949$7b62cf90@news1.net.de> <pn401g$5ag$1@solani.org> <5b958be6$0$7949$7b62cf90@news1.net.de> |
On 09/09/2018 23:08, Juergen Ilse wrote:
> Hallo,
>
> Helmut Schellong <rip@schellong.biz> wrote:
>> On 09/09/2018 12:32, Juergen Ilse wrote:
>>>> [...]
>>>> Andererseits braucht der Einzeiler offenbar bash, und startet
>>>> diese für jeden Pfad.
>>> Und deine Vorschlag benoetigt 2 verschachtelte Schleifen statt nur eiens
>>> Durchlaufs per find, wobei bei der aeusseren Schleife (die ueber die
>>> Verzeichnistiefe laeuft) fuer jede Verzeichnistiefe separat einmal find
>>> gestartet werden muss, waehrend in meinem Einzeiler nur ein einziges
>>> mal find gestartet wird. Darueber hinaus benoetigt deine Loesung fuer
>>> jeden Durchlauf der inneren Schleife den Aufruf von tr (das in den meisten
>>> unix-shells ebenfalls ein "externes Kommando" ist). Die Zahl der zusaetzlicch
>>> gestarteten Prozesse duerfte daher bei deiner Loesung bei den meisten shells
>>> *erheblich* groesser sein ...
>> Die Performance ist bei dieser Aufgabe relativ egal.
>> Ich bin allerdings Performance-Spezialist:
>
> ... und das meinst du (fuer shell-Programmierung) ernst?
Auch für Shells, ja.
>> o Die äußere Schleife macht vergleichsweise fast nichts.
>
> Sie multipliziert die Anzahl der Durchlaeufe der inneren Schleife mit dem
> Maximalwert des Schleifenzaeehlers der inneren Schleife.
Nein.
Sie macht:
[ -n "$i" ]; i='' ; let d+=1
Das ist im Vergleich zur inneren Schleife:
for i in $(find . \( -type d -o -type f \) -depth $d)
do mv "$i" "$(echo -n "$i" | tr ' ' _)"
done
fast nichts.
>> o 'find' in der inneren liefert beispielsweise über die
>> verschiedenen -depth # 2:6:120 Pfade (Zeilen).
>> Nur eine Tiefe spielt also praktisch eine Rolle.
>
> Es spielt nichts eine Rolle, wenn man alles als "spielt keine Rolle"
> bezeichnet.
Wo tat ich das denn?
> Das starten von subprozessen in der shell ist *immer*
> overhead, je nach System sogar erheblicher.
Ja, deshalb entwickelte ich 'bish', DIE Builtin-Shell.
Als Vorteil der 'bish' wurde das allerdings nie anerkannt.
Eher das Gegenteil.
>> o Die Arbeit im Dateisystem ist beim zweiten und weiteren
>> Durchläufen erheblich schneller (cache).
>
> Das gilt insbesondere auch fuer den Code der bash, der nach dem ersten
> Aufurf dann vermutlich im cache liegt (wenn du nicht gerade ziemlich
> knapp an Speicher bist).
Ich meinte natürlich 'find' (name-cache).
Aber 'bash' profitiert ebenfalls von cache-Effekten für das Prozeß-Image.
>> o 'tr' hat etwa 21000 Byte, 'bash' etwa 1100000 Byte.
>
> ... und gerade das spielt dann also ab der 2. Ausfuehrung kaum noch
> eine wesentliche Rolle, der overhead fiuer das starten von subprozessen
> aber schon. Und nun zaeehl dooch mal bei einer komplexen zu bearbeitenden
> Verzeichnis-Struktur die Anzahl der subprozesse, die erzeugt werden, bei
> deiner Loesung und bei meinem Einzeiler ...
> Abgesehen davon hatte ich bereits erwaehnt, dass es nicht zeeingend die
> bash braucht, sondern nur eine shell mit funktionierender brace-expansion,
> und da gibt es auch kleinere Alternativen als die bash.
Ich meine nicht nur das Prozeß-Image, sondern auch die Code-Menge, die
bei jedem Kommando-Aufruf ausgeführt wird.
>> o Desweiteren hat ein Shell-Programm vor Abarbeitung
>> von Code viel Präparierarbeit zu erledigen.
>
> Blablabla ... Wieviel belangloses Zeug willst du noch als fragwuwerdige
> Argumente anfuehren, um fuer deine Loesunbg eine hoehere Performance
> herbeizuluegen? Je komplexer die zu bearbeitende Verzeichnis-Struktur,
> desto mehr kommt deine Loesung ins Hintertreffen.
Ich behaupte doch gar keine höhere Performance für meine Lösung!
Dein Einzeiler wird wohl schneller sein.
Aber angesichts dieser Diskussion werde ich testen.
Nein, Du hattest meine Lösung performance-mäßig total runtergemacht.
Nur diese Behauptung will ich geraderücken.
Und belangloses Zeug ist die Präparierarbeit von Shells gewiß nicht.
--
Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
www.schellong.de www.schellong.com www.schellong.biz
http://www.schellong.de/c.htm
Back to de.comp.os.unix.shell | Previous | Next — Previous in thread | Next in thread | Find similar
Verzeichnisse mit Leerzeichen umwandeln Michael Wagner <wagner_m_bremen@web.de> - 2018-09-08 10:02 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Elias Schwerdtfeger <nachtwaechter@tamagothi.de> - 2018-09-08 12:47 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Juergen Ilse <news@usenet-verwaltung.de> - 2018-09-08 12:29 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Elias Schwerdtfeger <nachtwaechter@tamagothi.de> - 2018-09-10 12:10 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-10 13:34 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2018-09-10 20:34 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-08 13:40 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Michael Wagner <wagner_m_bremen@web.de> - 2018-09-08 12:17 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-08 15:15 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Michael Wagner <wagner_m_bremen@web.de> - 2018-09-08 15:49 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-08 18:41 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Juergen Ilse <news@usenet-verwaltung.de> - 2018-09-08 16:42 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Christian Weisgerber <naddy@mips.inka.de> - 2018-09-12 12:37 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-08 23:07 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Juergen Ilse <news@usenet-verwaltung.de> - 2018-09-08 21:56 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-09 08:56 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Juergen Ilse <news@usenet-verwaltung.de> - 2018-09-09 10:32 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-09 22:32 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Juergen Ilse <news@usenet-verwaltung.de> - 2018-09-09 21:08 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-09 23:46 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-10 00:23 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-13 00:48 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-14 20:14 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-18 13:12 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-09 11:05 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Juergen Ilse <news@usenet-verwaltung.de> - 2018-09-08 12:30 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Juergen Ilse <news@usenet-verwaltung.de> - 2018-09-08 12:24 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Michael Wagner <wagner_m_bremen@web.de> - 2018-09-08 13:08 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Waitzmann <nn.throttle@xoxy.net> - 2018-09-09 03:04 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Waitzmann <nn.throttle@xoxy.net> - 2018-09-09 10:01 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2018-09-09 09:47 +0000
Re: Verzeichnisse mit Leerzeichen umwandeln Christian Schneider <strcat@gmx.net> - 2018-09-09 15:51 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Stefan Reuther <stefan.news@arcor.de> - 2018-09-09 11:39 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Michael Wagner <wagner_m_bremen@web.de> - 2018-09-09 14:12 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Stefan Reuther <stefan.news@arcor.de> - 2018-09-10 19:17 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-10 16:23 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Stefan Reuther <stefan.news@arcor.de> - 2018-09-10 19:10 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Helmut Schellong <rip@schellong.biz> - 2018-09-11 00:47 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Christoph 'Mehdorn' Weber <spam-fuer@das-mehdorn.de> - 2018-09-10 16:21 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Stefan Reuther <stefan.news@arcor.de> - 2018-09-10 19:19 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Thomas Orgelmacher <trash@odbs.org> - 2018-09-10 20:13 +0200
Re: Verzeichnisse mit Leerzeichen umwandeln Bernd Mayer <beam.bam.boom@knuut.de> - 2018-09-18 18:40 +0200
csiph-web