Re: Is there a maximum contiguous memory allocation?
"Geoff" <geoff@invalid.invalid> wrote in message
news:bqa0j5ds19b0lhbiun3hj4vj30rsgqfmhb@4ax.com...
On Mon, 21 Dec 2009 19:38:14 -0600, "Peter Olcott"
<NoSpam@SeeScreen.com> wrote:
Yes so I have several alternatives.
(1) Conventional Windows like glyphs can easily be
recognized with (by today's standards) small amounts of
RAM
(2) Complex glyphs such as those that Apple, PDF, and some
Unix systems have may sometimes exceed the limits of
Win32,
and thus require a 64 bit OS. (it will sometimes require
std:vector::size() > 4.0 GB)
(3) The recognition of Asian glyphs will require a
redesign
that will save memory at the cost of speed. I think that I
have the elements of this redesign figured out.
Unix or Windows, 32-bit OS means a hard limit on a single
allocation:
#include <vector>
#include <iostream>
int main(int argc, char* argv[])
{
using namespace std;
vector <char> v1;
vector <char>::size_type i;
i = v1.max_size( );
cout << "Maximum possible length of the vector is " << i
<< "." <<
endl;
return 0;
}
OS X and Linux as 32 bit systems are constrained just as
much as
Windows. You seriously need to examine your problem space
and
partition it so your application isn't such a memory pig.
It is not a pig it does something that nothing else in the
world can do it recognizes an entire screen of character
glyphs with 100% accuracy in 1/10 second. The only possible
way to reduce the memory requirements will necessarily
substantially increases the response time.