[.all the comments.]

All replies are between "who cares?", "it is holy war/waste of time" to
something like "be standards compliant is important" .. this thread is
hilarious 😀
I'm observing all the comments under my post and (with full respect to all
of you guys) looks like all of you guys are *wrong* why sticking to POSIX
sh is important 😎

*Literally all of you lost one very important fact that bash is not fastest
sh interpreter which is possible to use and only kind of coincidence is
that all those fastest are almost puritanically POSIX sh compliant!!! 😀*

OK, so about what kind of performance difference in context of exact
numbers we are talking about?
I've tested building gcc using mksh as /bin/sh.
Only one detail: on doing that test you will find small obstacle that you
will be not able to measure whole build time because in the %install of the
gcc.spec is used pushd/popd.
*Warning*: on looking on whole gcc %install *please* remember wearing
welder mask because without it may hurt your brain (Yes, it is yet another
my small pebble with name "badly maintained" thrown in direction of the gcc
because it forces to do so many things outside pure "make install").

Checked my zabbix and here is the graph with CPU usage made during building
gcc on 24 core box (48 CPUs with MT) when bash is used as /bin/sh:
[image: image.png]
As you can see on the graph ~+60% of whole gcc build time hangs on single
thread/core serialised processes. Quite significant part of that time is
spend in *running sh scripts*. Only in second half of the build is possible
fully saturate potential of that particular HW (on running test suite).
Switching to other than bash sh interpreter allow reduce total gcc package
build time by ~5%.
On my 24 physical CPU core HW it is about 10 minutes.

Guys just try to have look around and try to estimate how many Fedora
packages are using autoconf/libtool and other POSIX sh based build
frameworks or using /bin/sh.
As all those frameworks are using sh mostly they are running without
parallelism how fast is /bin/sh is crucial.

No .. be POSIX sh compliant it is not about any kind of holly war!!! It is
pure about performance and for people like me quite often *time spend
waiting until package X build will be finished*. Some people cursing that
waiting and calling it "PCtology" (waiting on the front of the PC until
something will be finished).

BTW readline and bash: is there any particular reason why Fedora bash still
is statically linked with readline generated out of the  own copy of
readline code? That not changed from more than decade (if not +13y) so it
must be some reason 🤔
IIRC readline is relatively high on the list of most frequently affected
packages by various CVEs so in case of any new issue with readline someone
must remember about that because ..

[tkloczko@domek SPECS.fedora]$ grep bundled bash.spec
[tkloczko@domek SPECS.fedora]$

Someone must remember about that (somehow) because bash is used as /bin/sh
which and is used almost everywhere(tm),  and by this attacking bash still
is quite popular vector of many security related attacks.
Simpler /bin/sh -> lower probability of many security related issues from
that angle.

Do you see now the subject in proper light?

kloczek
-- 
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to