Skip navigation.
 
mlRe: upper limit on retain count
FROM : Ivan S. Kourtev
DATE : Tue Apr 19 20:30:30 2005

Actually, 1e9 is approximately the same as 2^30 so at 1ns per retain
message it will take about 4-5 seconds to send 2^32 messages.  Even at
a much lower retain-message frequency, it is not inconceivable that the
2^32 limit is exhausted within a reasonable time.

But thank you for all the replies, certainly illuminating and helped me
understand the mechanics of the issue.  I did ask the original question
for two reasons.  One, just because I was interested in the limitations
of the system (and it irritates me not to know these limitations).  And
two, for practical reasons.  I am working on -- and evaluating
alternatives for the use of Objective-C in --  CAD for ultra-large,
three-dimensional integrated circuits.  It's not at all infeasible that
the low-level physical description of such artifacts contain 1e9
devices, each described by orders of magnitude of more objects.  In
certain situations one cannot work on these things in a hierarchical
fashion and one needs to work on them "flat," so there can be "a lot"
of objects, each with "a lot" of connections to others, and each
flagged with a myriad of other objects.  So to make this short,

I can think of situations where there will be a requirement to support
a retain count of more than 2^32.  It's good that I now know understand
how to handle that.  As far as the importance of understanding the
limits of the system, thinking about this reminded me of the explosion
of the Ariane 5 rocket 10 years ago because of overflow software error:
http://www.ima.umn.edu/~arnold/disasters/ariane.html

Cheers,

-- ivan


On Apr 19, 2005, at 12:19 PM, j o a r wrote:

>
> On 2005-04-18, at 22.43, Ivan S. Kourtev wrote:
>

>> I wasn't able to find any documented upper limits on retain count on
>> 32-bit machines (or in general).  I am interested in knowing this
>> because I foresee a situation where I may have objects with retain
>> counts of hundreds of millions of billions and more.

>
> "hundreds of millions of billions"? How much is that?
>
> If "hundreds of millions of billions" is 1e17 and if a retain
> operation take 1 ns to complete, it would take over three (3) years to
> send all those retain messages...
>
> (if I didn't make any mistakes with the calculator - it's been known
> to happen...)
>
> I humbly propose that:
> a) Your design is wrong, or
> b) Cocoa+ObjC is not the right set of tools to solve your problem, or
> c) some sort of combination of the above.
>
> j o a r
>

Related mailsAuthorDate
mlupper limit on retain count Ivan S. Kourtev Apr 18, 22:43
mlRe: upper limit on retain count Daniel Jalkut Apr 19, 07:05
mlRe: upper limit on retain count John Stiles Apr 19, 17:45
mlRe: upper limit on retain count j o a r Apr 19, 18:19
mlRe: upper limit on retain count Axel Andersson Apr 19, 18:44
mlRe: upper limit on retain count Ali Ozer Apr 19, 18:46
mlRe: upper limit on retain count Ondra Cada Apr 19, 18:57
mlRe: upper limit on retain count Ivan S. Kourtev Apr 19, 20:30
mlRe: upper limit on retain count Ondra Cada Apr 19, 20:55
mlRe: upper limit on retain count Shaun Wexler Apr 19, 21:05
mlRe: upper limit on retain count Shaun Wexler Apr 19, 21:09
mlRe: upper limit on retain count Scott Ribe Apr 23, 00:25
mlRe: upper limit on retain count Bob Ippolito Apr 23, 00:40
mlRe: upper limit on retain count Scott Ribe Apr 23, 00:51
mlRe: upper limit on retain count Bob Ippolito Apr 23, 06:57
mlRe: upper limit on retain count Johnny Deadman Apr 23, 18:44