[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number
From: |
Eduardo A . Bustamante López |
Subject: |
Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number generator |
Date: |
Sun, 20 Jan 2019 16:36:15 -0800 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Sun, Jan 20, 2019 at 05:22:12PM -0500, Chet Ramey wrote:
> On 1/20/19 4:54 PM, Chet Ramey wrote:
>
> >> As an aside, I can confirm the findings of a performance difference
> >> between 4.4 and 5.0 when running the script provided earlier in the
> >> discussion. At first glance it seems to be due to the switch from the
> >> old LCG to the current MINSTD RNG,
(...)
> So I ran a quick test.
>
> $ ./bash ./x3
> iterations: 1000000
> BASH_VERSION: 5.0.2(4)-maint
> time: 9.684
> $ ../bash-5.0/bash ./x3
> iterations: 1000000
> BASH_VERSION: 5.0.0(1)-release
> time: 9.749
> $ ../bash-5.0-patched/bash ./x3
> iterations: 1000000
> BASH_VERSION: 5.0.2(3)-release
> time: 9.840
> $ ../bash-4.4-patched/bash ./x3
> iterations: 1000000
> BASH_VERSION: 4.4.23(7)-release
> time: 11.365
> $ ../bash-4.4-patched/bash ./x3
> iterations: 1000000
> BASH_VERSION: 4.4.23(7)-release
> time: 11.235
> jenna.local(1)
>
> Where the script is Eduardo's iterator that just expands $RANDOM
> N times.
>
> The random number generator has been the same since bash-4.0.
I'm sorry, my tests were wrong. I built bash using the default `./configure'
behavior for the `devel' branch, which I always forget, uses the internal
allocator with debugging enabled, and thus, all of my times were off due to the
additional malloc overhead.
I rebuilt it with `../bash/configure --without-bash-malloc', which causes it to
use the system's allocator, and surely enough, the timings make more sense now:
(`build-bash-devel-malloc' is `configure --with-bash-malloc',
`build-bash-devel' is `configure --without-bash-malloc')
| dualbus@system76-pc:~/src/gnu/build-bash-devel-malloc$ ./bash ~/test-speed.sh
| iterations: 1000000
| BASH_VERSION: 5.0.0(1)-maint
| time: 8.765
|
| dualbus@system76-pc:~/src/gnu/build-bash-devel-malloc$
../build-bash-devel/bash ~/test-speed.sh
| iterations: 1000000
| BASH_VERSION: 5.0.0(1)-maint
| time: 3.431
|
| dualbus@system76-pc:~/src/gnu/build-bash-devel-malloc$ bash ~/test-speed.sh
| iterations: 1000000
| BASH_VERSION: 5.0.0(1)-release
| time: 3.435
|
| dualbus@system76-pc:~/src/gnu/build-bash-4.4$ ./bash ~/test-speed.sh
| iterations: 1000000
| BASH_VERSION: 4.4.0(1)-release
| time: 3.443
- Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number generator, (continued)
Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number generator, Rawiri Blundell, 2019/01/20
Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number generator, Rawiri Blundell, 2019/01/20
Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number generator, Chet Ramey, 2019/01/21
Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number generator, Martijn Dekker, 2019/01/21
Re: [bug-bash] $RANDOM not Cryptographically secure pseudorandom number generator, Chet Ramey, 2019/01/21