Programming with Intel Extended Memory 64 Technology: Migrating Software for Optimal 64-bit Performance

Chapter 9: Optimization for Intel EM64T and IA-32

Programmers waste enormous amounts of time thinking about, or worrying about, the speed of non-critical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97 percent of the time: premature optimization is the root of all evil.
Donald Knuth (adapted from C. A. R. Hoare)

Overview

As we saw in Chapter 8, it is certainly true that premature or even ill-informed optimization is a great hindrance to the correct operation of software. In the best cases, premature or badly performed optimization leaves performance unchanged. In most cases, though, it hampers execution speed, introduces bugs, or makes code difficult to maintain.

This chapter focuses on software that having been ported to Intel EM64T platforms now needs additional performance. In terms of the top-down process discussed in Chapter 8, this chapter focuses on the lowest tier. These discussions deal with fairly low-level aspects of the code. So, they should not be undertaken until optimization of the platform and the algorithms has been completed.

After discussing the low-level optimizations peculiar to the Intel EM64T architecture, this chapter dives into similar low levels of the IA-32 architecture insofar as that design affects the operation and performance of software running in IA-32e modes.

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: CPU Chips
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.