Warnings killing my performance
Kylotan
kylotan at hotmail.com
Sat Feb 7 17:19:26 EST 2004
mwilson at the-wire.com (Mel Wilson) wrote in message news:<cFQJAls/KbZC089yn at the-wire.com>...
> I notice that you're effectively cubing x, so you could
> only keep 10 bits of it and be sure of avoiding 32-bit
> overflow.
I'm not sure why you say that. If I feed '10' into the formula in
question I'll get something much larger than 1000 out!
> Maybe a linear pseudo-random formula would save
> some trouble. But it appears that random.randint also
> generates invisible warnings.
Well, I changed the whole function to the following:
rnd.seed(x)
return rnd.uniform(-1.0, 1.0)
Where rnd is an instance of Random(). This is a little quicker, and
doesn't throw any warnings (visible or otherwise). I just have to hope
the random.uniform implementation doesn't change any time soon.
I would also hope that someone will find a way to remove that hidden
warning from randint because it seems to be an unnecessary performance
hit on what is otherwise a fairly fundamental function.
> The warnings go away with
> x = long(x << 13) ^ x
So do the results I'm trying to get ;)
--
Ben Sizer
More information about the Python-list
mailing list