On Tue, Jul 17, 2018 at 11:44 PM, Paul G <p...@ganssle.io> wrote: > In many languages numeric types can't hold arbitrarily large values, and I > for one hadn't really previously recognized that if you read in a numeric > value with an exponent that it would be represented *exactly* in memory > (and thus one object with a very compact representation can take up huge > amounts of memory). It's also not *inconceivable* that under the hood > Python would represent fractions.Fraction("1.64E6646466664") "lazily" in > some fashion so that it did not consume all the memory on disk. > > Sooner or later you are going to need the digits of the number to perform a computation. Exactly when would you propose the deferred evaluation should take place?
There are already occasional inquiries about the effects of creation of such large numbers and their unexpected effects, so they aren't completely unknown. At the same time, this isn't exactly a mainstream "bug", as evidenced by the fact that such issues are relatively rare. > It seems to me that "Hey by the way the size of this thing is unbounded > and because of exponents small strings can expand to huge objects" is a > good tip. > > Not an unreasonable suggestion. Perhaps you could draft a documentation change - personally I'm not even sure where the best place for the warning would be.
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com