Design for efficiency
Whenever we are designing a new modification, we not only need to design to address the defined needs, but also to provide a solution that processes efficiently. An inefficient solution carries unnecessary ongoing costs. Many of the things that we can do to design an efficient solution are relatively simple. Some of the areas to address include:
Properly configure system and workstation software (often overlooked)
Make sure networks can handle the expected load (and more)
Have enough server memory to avoid using virtual memory (that is, disk)
Most of all, do everything reasonable to minimize disk I/O
Disk I/O
The slowest thing in any computer system is the disk I/O. Disk I/O almost always takes more time than any other system processing activity. When we begin concentrating our design efforts on efficiency, focus first on minimizing disk I/O.
The most critical elements are the design of the keys, the number of keys, the design of the SIFT fields, the number of SIFT fields...