Skip to content
Snippets Groups Projects
Commit 103d8966 authored by Fredrik Hübinette (Hubbe)'s avatar Fredrik Hübinette (Hubbe)
Browse files

small optimization

Rev: lib/modules/Crypto/randomness.pmod:1.12
parent 46fb4a11
No related branches found
No related tags found
No related merge requests found
/* $Id: randomness.pmod,v 1.11 1999/08/25 17:32:54 grubba Exp $ /* $Id: randomness.pmod,v 1.12 1999/09/13 22:19:15 hubbe Exp $
*/ */
//! module Crypto //! module Crypto
...@@ -82,8 +82,19 @@ class pike_random { ...@@ -82,8 +82,19 @@ class pike_random {
//! Returns a string of length len with pseudo random values. //! Returns a string of length len with pseudo random values.
string read(int len) string read(int len)
{ {
#if 1 // 30% optimization /Hubbe
string ret="";
if(len>=16384)
{
array x=allocate(16384,random);
for(int e=0;e<(len/16384);e++) ret+=(string)x(256);
}
ret+=(string)allocate(len % 16384, random)(256);
return ret;
#else
if (len > 16384) return read(len/2)+read(len-len/2); if (len > 16384) return read(len/2)+read(len-len/2);
return (string)allocate(len, random)(256); return (string)allocate(len, random)(256);
#endif
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment