Kolejna ³ata.

Marcin 'Qrczak' Kowalczyk qrczak w knm.org.pl
Pon, 22 Lut 1999, 22:08:10 CET


Mon, 22 Feb 1999, Tomasz Kłoczko pisze:

> Takie przejście nie jest głupie szczególnie jeżeli zauważyć dwa argumenty
> za takim przejściem:
> - ksh jest dużo mniejszy i szybszy,
> - ksh jest czystym sh.

Jeśli chodzi o to, że jest mniejszy, to przy założeniu, że basha gdzieś
się jednak używa, bash+ksh robi się większy niż bash samodzielnie - tak na
dysku, jak i w pamięci.

Nie mam wiarygodnego testu szybkości. Mój bash jest statyczny
i kompilowany pgcc, ksh jest dynamiczny (tylko glibc) i kompilowany
starym egcsem. Prosta pętla w tym bashu jest szybsza. Nawet jeśli ksh
jest szybszy, różnica nie powinna być znacząca.

> Pierwszym etapem chyba jednak powinno być przestawieni całej machiny
> startowej na nieużywanie bash extensions. W etapie pośrednim uzyskamy coś
> co będzie mogło pracować pod dowolnym shellem sh compat.

A jak w przenośny sposób zrobić, żeby *maski* niepasujące do niczego były
zjadane zamiast pozostawiania bez zmian? Te rozszerzenia nie powstały bez
powodu.

Poza tym użycie rozszerzeń basha czasem pozwala zrobić coś szybciej
(również w sensie szybkości działania) niż przez użycie zewnętrznych
programów, co byłoby konieczne przy innych szelach.

Zgadzam się tylko co do tego, że skrypty powinny mieć właściwie użyte
#!/bin/{bash,sh,ksh}, tak żeby /bin/sh mógł być czymkolwiek. Jestem
stanowczo za tym, żeby bash był podstawowym szelem interakcyjnym (ksh nie
ma edycji ani historii). Mam poważne wątpliwości, czy warto wprowadzać dwa
podstawowe szele (jeden do tego, drugi do tego) zamiast jednego. Zwłaszcza
jeśli przyspieszenie ma być głównie dla skryptów startowych. Głosuję
przeciw przejściu na ksh, chyba że usłyszę dobre argumenty (powtarzam,
że jeśli bash jest jako interakcyjny, to małość ksh nie ma nic do rzeczy,
skoro bash musi być tak czy siak oprócz niego).

-- 
 __("<    Marcin Kowalczyk * qrczak w knm.org.pl http://kki.net.pl/qrczak/
 \__/       GCS/M d- s+:-- a22 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
  ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-



Więcej informacji o liście dyskusyjnej pld-devel-pl