aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDennis Eriksen <d@ennis.no>2023-09-11 20:56:52 +0200
committerDennis Eriksen <d@ennis.no>2023-09-11 20:56:52 +0200
commit1b58c2a48083281fc1901221ec2571bc58902e93 (patch)
treea7058506286dd6aa2352c205f078e979098eb030 /README.md
parentRedid Go-version (diff)
downloadmakepass-1b58c2a48083281fc1901221ec2571bc58902e93.tar.gz
Redid the sh-version.
It's almost twice as fast now! Had to use some hacks because POSIX sh don't support arrays. Well, it supports *one*... Still needs some cleanup, but it now has the same functionality as the others!
Diffstat (limited to 'README.md')
-rw-r--r--README.md30
1 files changed, 15 insertions, 15 deletions
diff --git a/README.md b/README.md
index 21bb9ce..eee6ee2 100644
--- a/README.md
+++ b/README.md
@@ -163,31 +163,31 @@ Here are the results so far:
```
% hyperfine --time-unit=millisecond --warmup=1 --shell=none ./makepass.*
Benchmark 1: ./makepass.bash
- Time (mean ± σ): 75.5 ms ± 2.1 ms [User: 32.1 ms, System: 38.2 ms]
- Range (min … max): 71.9 ms … 79.5 ms 39 runs
+ Time (mean ± σ): 75.4 ms ± 1.8 ms [User: 29.5 ms, System: 37.9 ms]
+ Range (min … max): 71.4 ms … 78.3 ms 39 runs
Benchmark 2: ./makepass.go
- Time (mean ± σ): 6.9 ms ± 0.2 ms [User: 1.5 ms, System: 4.1 ms]
- Range (min … max): 6.4 ms … 8.2 ms 432 runs
+ Time (mean ± σ): 7.0 ms ± 0.2 ms [User: 1.6 ms, System: 4.8 ms]
+ Range (min … max): 6.4 ms … 7.5 ms 424 runs
Benchmark 3: ./makepass.pl
- Time (mean ± σ): 38.6 ms ± 0.3 ms [User: 16.8 ms, System: 20.8 ms]
- Range (min … max): 38.0 ms … 39.4 ms 77 runs
+ Time (mean ± σ): 38.7 ms ± 0.3 ms [User: 18.8 ms, System: 18.5 ms]
+ Range (min … max): 38.1 ms … 39.9 ms 78 runs
Benchmark 4: ./makepass.sh
- Time (mean ± σ): 1138.7 ms ± 15.4 ms [User: 268.0 ms, System: 1875.0 ms]
- Range (min … max): 1114.3 ms … 1157.5 ms 10 runs
+ Time (mean ± σ): 624.1 ms ± 2.5 ms [User: 159.0 ms, System: 903.0 ms]
+ Range (min … max): 620.1 ms … 626.7 ms 10 runs
Benchmark 5: ./makepass.zsh
- Time (mean ± σ): 26.3 ms ± 0.7 ms [User: 12.1 ms, System: 11.6 ms]
- Range (min … max): 24.7 ms … 28.3 ms 112 runs
+ Time (mean ± σ): 26.3 ms ± 0.6 ms [User: 12.2 ms, System: 11.1 ms]
+ Range (min … max): 25.1 ms … 27.8 ms 114 runs
Summary
'./makepass.go' ran
- 3.80 ± 0.16 times faster than './makepass.zsh'
- 5.57 ± 0.19 times faster than './makepass.pl'
- 10.89 ± 0.47 times faster than './makepass.bash'
- 164.37 ± 5.94 times faster than './makepass.sh'
+ 3.76 ± 0.12 times faster than './makepass.zsh'
+ 5.53 ± 0.13 times faster than './makepass.pl'
+ 10.78 ± 0.36 times faster than './makepass.bash'
+ 89.19 ± 2.10 times faster than './makepass.sh'
```
## Versions
@@ -206,7 +206,7 @@ $ go build -o ../makepass.go -C go/ -ldflags "-s -w" makepass.go
Perl version. I like this version <3
### Shell
-Needs more work. *Should* be pure POSIX sh.
+*Should* be pure POSIX sh. Needs some cleanup.
### Zsh
This is currently the "main" version. It uses pure zsh, with no forking out to