T O P I C R E V I E W |
dg773 |
Posted - 09 Jun 2009 : 10:12:51 I am getting out of memory errors after performing large numbers of resize(), DeleteCol(), and DeleteRow operations on large DDMat instances based on the 8/8/2008 version of the binaries. I presume that there is an internal array copy involved for each of these operations: is there possibly a bug in which you are holding references to the old arrays, so they are not being garbage collected?
Any other ideas on how I can work around this? Recoding everything to avoid making those calls would be a lot of work.
Thanks! |
3 L A T E S T R E P L I E S (Newest First) |
quinncurtis |
Posted - 18 Jun 2009 : 11:43:24 Don't know either.
However, deleting large numbers of rows and columns, one row at a time, but in a loop, would be horrendously inefficient. If you know you are going to delete a large block of rows/columns, it would be more efficient to create a new matrix of the proper size, and copy (not insert) over just the rows/columns you want. |
dg773 |
Posted - 18 Jun 2009 : 05:50:34 It looks as if calling GC.Collect() solves the problem, though I haven't completed a full test run yet.
Hard to believe that the garbage collector would need to be triggered manually, but apparently so.
Thanks for the response. |
quinncurtis |
Posted - 09 Jun 2009 : 11:45:32 We aren't aware of any problem like you describe.
More details might help. What are the dimensions of the matrices. How many resize, delete row and delete column operations.
Can you supply us with a simple example program that reproduces the problem?
Have you inserted a GC.Collect() call after a large number of operations, just to force the garbage collection?
|
|
|