Arrays - Out Of Memory? 
Author Message
 Arrays - Out Of Memory?

Hello,

I am trying to get EVB to DIM an array of 200,000 entries. I have a Symbol
6840 32MB and it will DIM the array, but will give me an "Out Of Memory
Error" when I try and put data into the array. I can however create 20
arrays of 10,000 each and load it with data. Is their a bug in EVB that will
not allow this to occur or is it truly out of memory? What is EVB maximum
array DIMensions?

Dale



Fri, 14 Jan 2005 21:09:29 GMT  
 Arrays - Out Of Memory?
Let's see, since eVB uses only Variants for data, each element is 16 bytes.
200,000 entries means 3.2 MB.  As an array, that means it must be fully
contiguous (which is probably why more smaller array work - they aren't
requiring 1 block of contiguous memory).  I'm not at all surprised this
causes an error.

Call me crazy, but what on earth are you doing that requires a 200,000 item
array?  There's got to be a better way of implementing whatevder it is that
you're trying to do.

--
Chris Tacke, eMVP
CE Product Manager
Appllied Data Systems
www.applieddata.net


Quote:
> Hello,

> I am trying to get EVB to DIM an array of 200,000 entries. I have a Symbol
> 6840 32MB and it will DIM the array, but will give me an "Out Of Memory
> Error" when I try and put data into the array. I can however create 20
> arrays of 10,000 each and load it with data. Is their a bug in EVB that
will
> not allow this to occur or is it truly out of memory? What is EVB maximum
> array DIMensions?

> Dale



Fri, 14 Jan 2005 21:38:04 GMT  
 Arrays - Out Of Memory?


Quote:

> Call me crazy, but what on earth are you doing that requires a 200,000
item
> array?  There's got to be a better way of implementing whatevder it is
that
> you're trying to do.

Like a simple table?
It should be possible to create a single-field table to hold the same data,
and then use absolute positioning into this, right?

Of course the ADOCE incurs an overhead, but as everything is still in RAM,
it shouldn't be too big.

Keld Laursen



Fri, 14 Jan 2005 21:45:32 GMT  
 Arrays - Out Of Memory?
Quote:
>> Call me crazy, but what on earth are you doing that requires a 200,000

item
array?  There's got to be a better way of implementing whatevder it is that
you're trying to do. <<

Well maybe you can give me another idea to this problem. I have a customer
who wants to use the device for physical inventory. I need to store the part
numbers and bin locations in an array. Because when they walk around the
warehouse they are going to scan the part numbers and then assign a count to
each part number that needs to go into an array as well. My customer has an
inventory of around 600,000 part numbers. I was going to reduce his
inventory into thirds, but I can see that this will not work. I don't want
to have to go by bins or groups because it will be like 500 arrays. Plus
they have to walk back to the cradle dump the data get new data etc each
time. Do you have another idea? I thought of a flat file, but the speed of a
search takes forever. Any ideas?

Dale



Fri, 14 Jan 2005 23:38:17 GMT  
 Arrays - Out Of Memory?
Definitely a database.  That is a classic database use.  Use a database like
SQL Server for Windows CE and store the database locally on the device or,
if the Symbol unit has Spectrum-24 on it, store the database on the server
machine somewhere and use something like CEFusion or ViaDB from Odyssey
Software to access it.  It's crazy to try to store all the data in RAM.  No
matter whether you get it to work or not, at some point, the database will
grow to where it can't work.

Paul T.


Quote:
> >> Call me crazy, but what on earth are you doing that requires a 200,000
> item
> array?  There's got to be a better way of implementing whatevder it is
that
> you're trying to do. <<

> Well maybe you can give me another idea to this problem. I have a customer
> who wants to use the device for physical inventory. I need to store the
part
> numbers and bin locations in an array. Because when they walk around the
> warehouse they are going to scan the part numbers and then assign a count
to
> each part number that needs to go into an array as well. My customer has
an
> inventory of around 600,000 part numbers. I was going to reduce his
> inventory into thirds, but I can see that this will not work. I don't want
> to have to go by bins or groups because it will be like 500 arrays. Plus
> they have to walk back to the cradle dump the data get new data etc each
> time. Do you have another idea? I thought of a flat file, but the speed of
a
> search takes forever. Any ideas?

> Dale



Fri, 14 Jan 2005 23:52:05 GMT  
 Arrays - Out Of Memory?
Quote:
>> Use a database like SQL Server for Windows CE and store the database

locally <<

I agree, but I have some questions on that one as well. First question is do
I have to SQL Server on the backend where I plug the PPC into? Because I am
not running SQL on the server so how do I move data to and from the PPC? The
second question is can eVB access the data directly? Meaning how fast is it
and how much data can it hold, do I have to go through ODBC? How much
overhead do SQL take? Can I get a copy of SQL for CE down from the MS
Universal? I am a Universal subcriper, can I get a copy to see if this thing
is going to do the job?

I have checked into SQL for CE before, but did not have luck finding
information out. Maybe this time I will. Thanks for any info you can provide
to me.

Dale



Sat, 15 Jan 2005 00:13:31 GMT  
 Arrays - Out Of Memory?
I have 3 ideas:

Database, database, database.

--
Chris Tacke, eMVP
CE Product Manager
Appllied Data Systems
www.applieddata.net


Quote:
> >> Call me crazy, but what on earth are you doing that requires a 200,000
> item
> array?  There's got to be a better way of implementing whatevder it is
that
> you're trying to do. <<

> Well maybe you can give me another idea to this problem. I have a customer
> who wants to use the device for physical inventory. I need to store the
part
> numbers and bin locations in an array. Because when they walk around the
> warehouse they are going to scan the part numbers and then assign a count
to
> each part number that needs to go into an array as well. My customer has
an
> inventory of around 600,000 part numbers. I was going to reduce his
> inventory into thirds, but I can see that this will not work. I don't want
> to have to go by bins or groups because it will be like 500 arrays. Plus
> they have to walk back to the cradle dump the data get new data etc each
> time. Do you have another idea? I thought of a flat file, but the speed of
a
> search takes forever. Any ideas?

> Dale



Sat, 15 Jan 2005 00:19:38 GMT  
 Arrays - Out Of Memory?
No, SQL Server/CE doesn't require that you synchronize with a host version
of SQL Server, but it can.

Yes, eVB can access the data directly.  If you are concerned about speed,
drop eVB *right now*.  It is not fast for anything that I've ever found --
anything.  No, you *can't* go through ODBC because that doesn't exist in
Windows CE.

As far as getting it, I don't know.

Paul T.


Quote:
> >> Use a database like SQL Server for Windows CE and store the database
> locally <<

> I agree, but I have some questions on that one as well. First question is
do
> I have to SQL Server on the backend where I plug the PPC into? Because I
am
> not running SQL on the server so how do I move data to and from the PPC?
The
> second question is can eVB access the data directly? Meaning how fast is
it
> and how much data can it hold, do I have to go through ODBC? How much
> overhead do SQL take? Can I get a copy of SQL for CE down from the MS
> Universal? I am a Universal subcriper, can I get a copy to see if this
thing
> is going to do the job?

> I have checked into SQL for CE before, but did not have luck finding
> information out. Maybe this time I will. Thanks for any info you can
provide
> to me.

> Dale



Sat, 15 Jan 2005 00:48:41 GMT  
 Arrays - Out Of Memory?
I disagree about the speed issue.  For example, I've used indexed SSCE
tables with 80,000 rows and was able to select a single row from the table
and display the data in eVB in something like 0.3 seconds.  I don't see that
as a performance problem.   The speed problem comes in when you try to make
eVB do something it shouldn't be doing in the first place, but in this case
ADOCE is doing the work, not eVB.  eVB is simply displaying the result.

--
Chris Tacke, eMVP
CE Product Manager
Appllied Data Systems
www.applieddata.net



Quote:
> No, SQL Server/CE doesn't require that you synchronize with a host version
> of SQL Server, but it can.

> Yes, eVB can access the data directly.  If you are concerned about speed,
> drop eVB *right now*.  It is not fast for anything that I've ever found --
> anything.  No, you *can't* go through ODBC because that doesn't exist in
> Windows CE.

> As far as getting it, I don't know.

> Paul T.



> > >> Use a database like SQL Server for Windows CE and store the database
> > locally <<

> > I agree, but I have some questions on that one as well. First question
is
> do
> > I have to SQL Server on the backend where I plug the PPC into? Because I
> am
> > not running SQL on the server so how do I move data to and from the PPC?
> The
> > second question is can eVB access the data directly? Meaning how fast is
> it
> > and how much data can it hold, do I have to go through ODBC? How much
> > overhead do SQL take? Can I get a copy of SQL for CE down from the MS
> > Universal? I am a Universal subcriper, can I get a copy to see if this
> thing
> > is going to do the job?

> > I have checked into SQL for CE before, but did not have luck finding
> > information out. Maybe this time I will. Thanks for any info you can
> provide
> > to me.

> > Dale



Sat, 15 Jan 2005 01:20:35 GMT  
 
 [ 9 post ] 

 Relevant Pages 

1. university EMR send outs

2. on the outs

3. Learning the ins and outs of Peek and Poke

4. How to handle print outs in VB?

5. Filesystem Time outs

6. Session Variable Time-outs

7. Time-outs

8. Need help with time outs

9. Freeing memory from large array 2

10. Array memory requirement question

11. Freeing memory from large Array

12. Memory Leak with BinaryReader/Byte Array

 

 
Powered by phpBB® Forum Software