5 ms·
Instantly make your C code 200 times slower without any effort!
by itvision 2y ago
Instantly make your C code 200 times slower without any effort!
- actionfromafar 2y agoI think it takes probably some effort, not all C programs will compile on this thing.
- chasil 2y agoIt would actually be interesting to see how much faster dash is than everything else.
- throwaway2037 2y agoWhy is Dash frequently touted as so much faster than Bash? What is different?
- tzot 2y agoIt is much simpler (and therefore less resource-hungry) than bash.
- chasil 2y agoOn rhel9, this is a list of my installed shells. You might notice that dash is smaller than ls (and the rest of the shells). $ ll /bin/bash /bin/dash /bin/ksh93 /bin/ls /bin/mksh -rwxr-xr-x. 1 root root 1389064 May 1 00:59 /bin/bash -rwxr-xr-x. 1 root root 128608 May 9 2023 /bin/dash -rwxr-xr-x. 1 root root 1414912 Apr 9 07:26 /bin/ksh93 -rwxr-xr-x. 1 root root 140920 Apr 8 08:20 /bin/ls -rwxr-xr-x. 1 root root 325208 Jan 9 2022 /bin/mksh $ rpm -qi dash | tail -4 Description : DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. It does this without sacrificing speed where possible. In fact, it is significantly faster than bash (the GNU Bourne-Again SHell) for most tasks.
- laurenth 2y agoFrom our experience, ksh is generally faster, and dash sits between ksh and bash. One reason is that dash stores variables using a very small hash table with only 37 entries[0] meaning variable access quickly becomes linear as memory usage grows. But even with that, dash is still surprisingly fast -- when compiling `pnut.c` with `pnut.sh`, dash comes in second place: ksh93: 31s dash: 1m06s bash: 1m19s zsh: >15m [0]: https://git.kernel.org/pub/scm/utils/dash/dash.git/tree/src/var.c#n66 https://git.kernel.org/pub/scm/utils/dash/dash.git/tree/src/... EDIT: ksh93, not ksh
- AdmiralAsshat 2y agoPeople still use KornShell?
- chasil 2y agoAll of Android is still based on a pdksh-derivative known as mksh, which is an enormous install base. http://www.mirbsd.org/mksh.htm http://www.mirbsd.org/mksh.htm OpenBSD switched their default shell to their own pdksh-derivative known as oksh. https://github.com/ibara/oksh https://github.com/ibara/oksh There was an effort to (re)start ksh93 development, but AT&T halted this effort. The bugfixes from the failed effort have moved back into Korn's last release. https://github.com/ksh93/ksh/tree/dev https://github.com/ksh93/ksh/tree/dev
- cb321 2y agoFor me `dash` compiles in just a few seconds. If you link to a 1-line problem (here, #define VTABSIZE 39), then why not boost that to 79 or 113, say, re-compile the shell and re-run your benchmark? Might lead to a change in upstream that could benefit everyone.
- chasil 2y agoOr rework the array so realloc() can expand its size?
- 2y ago