Design for efficiency
Whenever we are designing a new modification, we will 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:
- Properly configure system and workstation software (often overlooked)
- Make sure networks can handle the expected load (with capacity to spare)
- Have enough server memory, to avoid using virtual memory, virtual memory = 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, the design...