NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Don, Your suggestions are all good. > > I didn't write domainFactor() and don't know. Maybe > > someone else does. > > domainFactor on the individual FlatFields will do a copy. > It makes a getValues() call on the FlatField to get the > data. Then it has to break it apart and create a new > structure for the data. So, in this case you end up > with two copies of the data. I think this could be > modified to call getValues(false) since it will create > a new float[][] array and set the individual values, not > doing this by array. That would halve the memory used. > Also, right now it calls setSamples on the new FlatField > with copy == true which is another copy of the data. > I think that could be changed as well. (Tom/Bill, does this > seem right to you at lines 1800/1815 in FieldImpl?) Yes, it looks like modifying FieldImpl.domainFactor() in lines 1800-1815 to pass copy = false to both getVlaues() and setSamples() would save memory. Good idea. Feel free to go ahead, unless Tom can see any objection? Cheers, Bill
visad
archives: