[comp.sys.mac.programmer] Global Data Disclaimer

dan@Apple.COM (Dan Allen) (05/27/88)

There is a limit to the amount of global data that can be referenced in
the current Mac OS.  I realize that this is a problem.

I have mentioned before that USUALLY when people need to work with lots
of real numbers, as in large global numeric arrays, there are very slick
ways of allocating the data and getting around the conformant array
problem.  I have previously mentioned that a very good solution for the
C programming language can be found in "Numerical Receipes in C",
Cambridge Press.

I agree that in the best of all possible worlds there would not be any 
global data limit.  But there is a limit currently.  I am simply saying
that to change it right now would cause a lot of incompatibility
problems, and that there are useful and easy workarounds to the problem.
I also said that the average large Mac application does not have a
problem, and I quoted the following data:

HyperCard 1.2   312732 bytes of code,  25872 bytes of global data = 8%
MPW Shell 2.0+  179874 bytes of code,  20674 bytes of global data = 11%

Let's all live with the limit, knowing that in some future Mac OS we
will certainly try to have the problem fixed.  Let's spend our time in
the meantime trying to write good code and not moan about this problem
so much...

Dan Allen
Software Explorer
Apple Computer

dan@Apple.COM (Dan Allen) (06/08/88)

OK, OK.  So everyone wants global data.  I wish I could give you
megabytes worth.  My comments have been mainly trying to help people
work around a known problem.  

I have suggested that in some instances, global arrays can be allocated
dynamically on the heap without much problem.  I have suggested that in
the case of large arrays in numerics applications that doing so can
bring other advantages, especially in C.

I have also suggested ways of working around the initialized data
problems that seem to arise with yacc, lex, flex, and bison.  These
problems can be worked around by the use of Rez, for example.

I realize that the 32K global data problem is a problem.  I hope that
Apple can solve the problem, but unfortunately I am not in any group
currently that has the charter to do so.  I will, however, pass on the
general conscensus of the net that this problem should be fixed.

I hope you will understand that we at Apple are sympathetic to this
problem.  I hope that I have not sounded like I did not think there was
a problem.

Thank you for your support.

Dan Allen
Software Explorer
Apple Computer