comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Dereferencing a large array in a structure
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Dereferencing a large array in a structure [message #50301] Tue, 26 September 2006 12:41 Go to previous message
Braedley is currently offline  Braedley
Messages: 57
Registered: September 2006
Member
In one of my widget programs, I have a tab widget, and the bases that
belong to it store a fair amout of data concerning that tab in their
uvalues. When a tab is selected, all the data in the uvalue must be
dereferenced and loaded into common block variables. This was done so
that other widgets within the program have quick and easy access to the
data of the currently open tab.

Enter the problem: Some of the data can be very large. One field in
the uvalue structure can be as large as a 20 by 50000 double array (or
larger), and it obviously can take some time to copy, especially with
memory running low with other similarly large structures for other
tabs. I've already set the no_copy keyword in calls to widget_control
when setting and getting the uvalues to help reduce the load on memory
and help out with some speed, but the million element array still needs
referencing into the structure to be set, and dereferenced from the
structure of the newly selected tab, which is taking up a large portion
of the time spent. Are the any faster ways of doing this? Bonus
points for reducing the load on memory and not making me rewrite every
subwidget (ie not messing with the common blocks).
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Does object graphics have true-color?
Next Topic: Closing out of GUI window

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 00:57:10 PDT 2025

Total time taken to generate the page: 0.88644 seconds