]> granicus.if.org Git - python/commit
HardwareRandom: Go back to multiplying by 2**-BPF instead of using
authorTim Peters <tim.peters@gmail.com>
Tue, 31 Aug 2004 02:19:55 +0000 (02:19 +0000)
committerTim Peters <tim.peters@gmail.com>
Tue, 31 Aug 2004 02:19:55 +0000 (02:19 +0000)
commit7c2a85b2d44851c2442ade579b760f86447bf848
tree7aa5ccb6bf8649c801e3e3c66146fe6325a641a6
parent3fa19d7ff89be87139e2864fb9186b424d180a58
HardwareRandom:  Go back to multiplying by 2**-BPF instead of using
ldexp.  Both methods are exact, and return the same results.  Turns out
multiplication is a few (but just a few) percent faster on my box.
They're both significantly faster than using struct with a Q format
to convert bytes to a 64-bit long (struct.unpack() appears to lose due
to the tuple creation/teardown overhead), and calling _hexlify is
significantly faster than doing bytes.encode('hex').  So we appear to
have hit a local minimum (wrt speed) here.
Lib/random.py