Home Overview FAQ Documentation Download Mailing List Geomview For Windows? Support Users Development Bug Reporting Contributing Contact Us Sponsors
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Update REQ 5322]: geomview usage stategy
You're right, geomview does use lots of O(n) algorithms for manipulating handles, etc. Probably most of the time is spent, not searching for names (strcmp'ing and following linked lists is fast, even with a few thousand elements), but allocating structures to track potential changes to a handle: geomview needs to remember to redisplay things when a handle's value changes. Whenever you make a structural change, like redefining a list to add a new handle, the entire geom-object (as listed in the geomview browser) which was changed is re-scanned. We've never dealt with situations having more than a few hundred handles in an object, so haven't optimized it. So here's the point. Even without our changing geomview, you might be able to get reasonable performance, still using "handles", as you do now, but putting them into multiple geom's. Maybe if you have a maximum of about N atoms, you'd aim to place about sqrt(N) atoms in each of sqrt(N) geoms. Then only about sqrt(N) handles need re-scanning each time you add a new one. That is, you might begin by saying (geometry geom1 { : bunch1 }) # atoms 1..45 will go here (geometry geom2 { : bunch2 }) # atoms 46..90 will go here ... # etc. instead of saying, as I suppose you do now (geometry ice { : atoms }) # all atoms appended here Hope this is some help... Stuart
|
||
Home | Overview | FAQ | Documentation | Support | Download | Mailing List Windows? | Development | Bug Reporting | Contributing | Contact Us | Sponsors |
|||
site hosted by |