Tech Tip: Importing MapInfo .mid/.mif Format Files

Here's a typical inquiry from an aggressive new user of Manifold: 

I have just purchased Manifold 4.50 and immediately installed the latest service pack. In order to have a good look at the software I thought that I would load a fairly sizable Mid/Mif file that I need to process. The file sizes are: 50MB mif 20MB mid. I am running a dual 450 MHZ Pentium machine with 256 MB of RAM and the import process has been running for about 1.5 hours and has currently consumed about half of my CPU time and about 200MB of my RAM (more resources get consumed over time).  Is this kind of load time normal? 

Tech Support responds:

You don't say what O/S you are running, but we assume the "dual processor" bit means you are running NT 4.0 or Win2K. Note that the nature of WinNT or 2K means you are not running more than one processor on any one process. The two processors will offload your system overhead tasks somewhat, but they will not divide in two any one process even if it is multi-threaded (as Manifold 4.50 is).

The time you experience strikes us as fairly normal. MapInfo mid/mif format is a fairly simple format, as is ESRI .shp and other older formats. If imported or exchanged into another simple format there's not much to do.

In contrast, Manifold .mfd/mdb format is a "precompiled" format. A large amount of one-time processing goes into creating the file when it is first imported. This time increases non-linearly as job sizes increases. The payoff is that subsequent usage within Manifold is much faster, especially when doing sophisticated spatial queries. Manifold makes the design decision that it's better to have a slower, one-time import so that actual usage (as occurs many times) is faster. It's one of the reasons that spatial work in Manifold is much faster than in MI or ESRI.

A lot of RAM will be consumed during the import process for two main reasons: 1) the ability to abandon edits after the import is done effectively doubles the size of the memory image. 2) Manifold uses the Microsoft "Jet" database engine to manage the .mdb data file. That has many advantages but it also has the disadvantage that Jet expands memory usage a lot when creating temporary files incidental to import. Since the advantages of Jet are critically important during usage Manifold once again makes the design decision that Jet expansion during import is a "no brainer" price to pay to get the benefits of Jet during actual use.

Our advice:

1) Invest in RAM. RAM is cheap (our cost is well under a dollar a megabyte). You can install 512MB of RAM, buy Manifold and still spend over a thousand dollars less than MapInfo.

2) Scale up jobs slowly so you know what to expect from your particular system configuration. As systems switch from "in RAM" usage to paging from disk they will suddenly become dramatically slower. By scaling up the size of jobs you do you can see where this particular step-up occurs in your particular system. This will help you decide when it is time to get more RAM. The experience will also help you plan your activities so you set up long tasks to run overnight, etc.

A cautionary note:

If you are running Windows '95 or Windows '98 all bets are off.  Both operating systems have numerous bugs in the memory management system that prevent them from doing a good job with large memory.  In such cases, installing extra RAM does not mean that you will be able to use it.  If you want to take advantage of lots of cheap RAM the only sure-fire way of doing so is to use Windows 2000 or Windows NT.

 

Home Page - Products - Search - Support - Shopping - News - Online Store
Personal Mapping - GIS - Database Commander - 3D View Studio - Maps and Data
Testimonials - Y2K - Links - Licensing - Privacy Statement - Terms Of Use


© 2001 CDA International Ltd. All Rights Reserved.
Manifold is a Registered Trademark of CDA

Prices, terms and conditions, and product specifications subject to change without notice.  Please contact Manifold Net with any special needs or requests.

Back to Manifold Home Page