diff options
author | Dennis Eriksen <d@ennis.no> | 2023-09-11 20:56:52 +0200 |
---|---|---|
committer | Dennis Eriksen <d@ennis.no> | 2023-09-11 20:56:52 +0200 |
commit | 1b58c2a48083281fc1901221ec2571bc58902e93 (patch) | |
tree | a7058506286dd6aa2352c205f078e979098eb030 /README.md | |
parent | Redid Go-version (diff) | |
download | makepass-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.md | 30 |
1 files changed, 15 insertions, 15 deletions
@@ -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 |