go to www.geomview.org home page
 
Home

Overview
FAQ
Documentation

Download

Mailing List

Geomview For Windows?

Support
Users
Development

Bug Reporting
Contributing
Contact Us

Sponsors

 

Site Search

 

Advanced
Search

 
About the software@geom archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Update REQ 5322]: geomview usage stategy


  • To: software@geom
  • Subject: Re: [Update REQ 5322]: geomview usage stategy
  • From: "Stuart Levy" <slevy>
  • Date: Mon, 27 Mar 1995 16:52:59 -0600

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
SourceForge Logo