This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.


I know I still owe y'all a summary on integrated mapping methods, but ... I
throw myself on your collective mercy.

There's always a "next hurdle", and mine is this:  we have our integrated
mapping project well underway.  I have, however, hit a performance roadblock
and would like to know if anyone has either (a) experienced this and better
yet, (b) knows of a work-around.

By performance problem I mean:  the same MBX is run as native in MapInfo,
and alternately from an Integrated Mapping session (from VB 6.0).  I'm using
MI and MB 6.0.  The function in question is a progress bar (implied loop)
that reads a table and inserts records into a second table based on the
first.  In the simplest tests I do no other processing -- in fact I've run a
test that omits the insert so the loop just reads each record in the source
table.  In "native MI" mode, the loop takes about 50 seconds to read/insert
2311 records.  In the integrated mapping application, the VB selects the
same menu item and so runs the same code in the MBX, but in this case the
loop runs REALLY SLOWLY ... about 1 second per record... even when just
reading (no insert).  This doesn't make sense to me -- there seems to be
some overhead interaction between VB and MI that is really getting in the
way.

Some of the things I've tried are:
*       Remove a callback that I had registered to pass statusbar messages
back to the VB -- no effect
*       Save the source table as a native table... the source is a join
between an Access based spatial layer and a text file that specifies a
sub-set that we want to process.  To establish that the join is not a factor
-- I commit the join (it has an INTO clause), close then re-open the native
table.  -- no effect
*       I'm sure the join in indexed -- I'm satisfied with the amount of
time it takes to run the join (though it COULD be faster, it's not way out
of line like the "just read the table" loop is.)
*       CPU utilization during the loop is negligible -- about 5% (!!)
"Somebody" is waiting for something, not doing useful work.  (Sorry, I
anthropomorphize software too much.)
*       Machine has significant real memory remaining free during the run
(~100Mb) (it's not swapping to disk)
*       Doesn't matter whether the VB has been compiled or run from the
development environment.

I've not posted the exact code so I don't waste the bandwidth of the 93% of
the folks on the list who couldn't care less about integrated mapping... if
you are interested I can send some bits of it to you off-list.

Thanks....

David Cautley
Software Architect
CH2M HILL, Inc. -- Portland, Oregon USA Office
(503) 235 - 5022 x 4478    dcautley @ ch2m.com




_______________________________________________________________________
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, send e-mail to [EMAIL PROTECTED] and
put "unsubscribe MapInfo-L" in the message body.

Reply via email to