Join Books.org — it's free

Inner Loops: A Sourcebook for Fast 32-bit Software Development by Rick Booth β€” book cover
Hardware Related Programming - General & Miscellaneous, General Software Engineering, Microprocessors

Inner Loops: A Sourcebook for Fast 32-bit Software Development

by Rick Booth
Write a review
Log in to track your reading progress.

Overview

Includes coverage of Pentium II - referred to in the chapters on Pentium Pro and MMX.

No speed limits have been posted on the PC performance track, yet much software runs in the slow lane, functioning at 10 to 50 percent of its potential speed. The cause of these slowdowns? Bottlenecking on time-critical inner loops.

Inner Loops: A Sourcebook for Fast 32-bit Software Development gives the green light to optimal PC performance with practical advice and a strategic sampling of important algorithms. Focused directly on the 32-bit future of PC computing, Inner Loops explores the new rules and opportunities of a wide-open memory space, parallel instruction execution, and clock speeds in the hundreds of megahertz. You'll be taken through:

  • a thorough review of 32-bit code optimization for the 486, Pentium, and Pentium Pro
  • making the transition from 16-bit to 32-bit assembly language
  • principles of C and assembly language optimization
  • tips for fast 32-bit software design
  • real-world examples of top-speed inner loops for several important PC algorithms
  • what MMX, the Intel multimedia extensions, mean for speed

Author Rick Booth backs up his theory of speed with practical examples and source code, including such topics as:

  • Fast memory moves
  • Random numbers
  • Hashing
  • Huffman compression
  • Sorting
  • Matrix math
  • JPEG's inner loop
Many chapters contain high-performance demos, which are also found on the CD. These include one of the fastest sort engines possible, a top-speed Huffman compression system, and JPEG's decompression inner loop tuned for top performance.

Consultant and developer Rick Booth is a 17-year veteran of the video game and digital video industries.

0201479605B04062001

Synopsis

Includes coverage of Pentium II - referred to in the chapters on Pentium Pro and MMX. No speed limits have been posted on the PC performance track, yet much software runs in the slow lane, functioning at 10 to 50 percent of its potential speed. The cause of these slowdowns? Bottlenecking on time-critical inner loops.

Inner Loops: A Sourcebook for Fast 32-bit Software Development gives the green light to optimal PC performance with practical advice and a strategic sampling of important algorithms. Focused directly on the 32-bit future of PC computing, Inner Loops explores the new rules and opportunities of a wide-open memory space, parallel instruction execution, and clock speeds in the hundreds of megahertz. You'll be taken through:

  • a thorough review of 32-bit code optimization for the 486, Pentium, and Pentium Pro
  • making the transition from 16-bit to 32-bit assembly language
  • principles of C and assembly language optimization
  • tips for fast 32-bit software design
  • real-world examples of top-speed inner loops for several important PC algorithms
  • what MMX, the Intel multimedia extensions, mean for speed

Author Rick Booth backs up his theory of speed with practical examples and source code, including such topics as:

  • Fast memory moves
  • Random numbers
  • Hashing
  • Huffman compression
  • Sorting
  • Matrix math
  • JPEG's inner loop
Many chapters contain high-performance demos, which are also found on the CD. These include one of the fastest sort engines possible, a top-speed Huffman compression system, and JPEG's decompression inner loop tuned for top performance.

Consultant and developer Rick Booth is a 17-year veteran of the video game and digital video industries.

Ray Duncan

Faster than a Speeding Bullet

The market for sophisticated assembly language programming books melted down in the early 1990's -- a victim of the emergence of RAD tools such as Visual Basic and Delphi, the increasing complexity of operating environments, the fragmented installed base of 32-bit platforms, the general decline in Western Civilization, and last but hardly least, the precedent-shattering piggishness of Microsoft MASM version 6. What little a person could still find to read on this subject in the last few years was pretty much the sole output of Michael Abrash, the 500-pound-gorilla of cycle-shaving.

Abrash dropped off the radar screen to pursue his career at Microsoft and then ID Software about the time Pentium sales were really ramping up, and no one emerged to take his place -- until now. Software engineer Rick Booth, a 17-year veteran of the video game and digital video industries, has delivered the most interesting and astute treatise on performance programming that I've read in many years. The Intel Pentium, and its hideously complex and barely-deterministic successor the Pentium Pro, have met their match in Inner Loops.

The first section of the book, entitled "Theory," focuses on the Intel 32-bit architecture and the mechanics of 32-bit assembly language programming. A quick introduction to the instruction set and MASM 6's structured syntax is followed by an overview of C code generation and detailed chapters on specific optimization issues for the 486, Pentium, Pentium Pro, and MMX. There is much precious information here that I have never seen spelled out clearly anywhere else, presented in a format that makes it straightforward to compare one processor's idiosyncracies against the others.

The second part of Inner Loops, entitled "Practice," consists of short chapters exploring a number of different optimization scenarios: moving memory, generating random numbers, hashing, binary tree searching, sorting, Huffman compression, matrix multiplication, and JPEG image decompression. Booth makes these topics sparkle with an easy writing style, a willingness to experiment, a rich reservoir of practical experience, an intimate familarity with the CPU architecture, and a comfortable relationship with the underlying mathematics.

When superscalar microprocessors first appeared, pundits predicted that assembly language programming would become totally irrelevant as an optimization tool -- only a compiler would be able to perform the code rearrangements that would wring maximum performance out of the new generation of CPUs. After reading Booth's book and marveling over his examples of coiled loops, tandem loops, cache-specific move subroutines, and other exotica, I see that the situation is exactly otherwise -- having a creative, persistent human mind in the picture is more important than ever.--Dr. Dobb's Electronic Review of Computer Books

About the Author, Rick Booth

Consultant and developer Rick Booth is a 17-year veteran of the video game and digital video industries.

Reviews

There are no reviews yet. Log in to write one.

Editorials

Ray Duncan

Faster than a Speeding Bullet

The market for sophisticated assembly language programming books melted down in the early 1990's -- a victim of the emergence of RAD tools such as Visual Basic and Delphi, the increasing complexity of operating environments, the fragmented installed base of 32-bit platforms, the general decline in Western Civilization, and last but hardly least, the precedent-shattering piggishness of Microsoft MASM version 6. What little a person could still find to read on this subject in the last few years was pretty much the sole output of Michael Abrash, the 500-pound-gorilla of cycle-shaving.

Abrash dropped off the radar screen to pursue his career at Microsoft and then ID Software about the time Pentium sales were really ramping up, and no one emerged to take his place -- until now. Software engineer Rick Booth, a 17-year veteran of the video game and digital video industries, has delivered the most interesting and astute treatise on performance programming that I've read in many years. The Intel Pentium, and its hideously complex and barely-deterministic successor the Pentium Pro, have met their match in Inner Loops.

The first section of the book, entitled "Theory," focuses on the Intel 32-bit architecture and the mechanics of 32-bit assembly language programming. A quick introduction to the instruction set and MASM 6's structured syntax is followed by an overview of C code generation and detailed chapters on specific optimization issues for the 486, Pentium, Pentium Pro, and MMX. There is much precious information here that I have never seen spelled out clearly anywhere else, presented in a format that makes it straightforward to compare one processor's idiosyncracies against the others.

The second part of Inner Loops, entitled "Practice," consists of short chapters exploring a number of different optimization scenarios: moving memory, generating random numbers, hashing, binary tree searching, sorting, Huffman compression, matrix multiplication, and JPEG image decompression. Booth makes these topics sparkle with an easy writing style, a willingness to experiment, a rich reservoir of practical experience, an intimate familarity with the CPU architecture, and a comfortable relationship with the underlying mathematics.

When superscalar microprocessors first appeared, pundits predicted that assembly language programming would become totally irrelevant as an optimization tool -- only a compiler would be able to perform the code rearrangements that would wring maximum performance out of the new generation of CPUs. After reading Booth's book and marveling over his examples of coiled loops, tandem loops, cache-specific move subroutines, and other exotica, I see that the situation is exactly otherwise -- having a creative, persistent human mind in the picture is more important than ever.--Dr. Dobb's Electronic Review of Computer Books

Book Details

Published
December 1, 1996
Publisher
Addison-Wesley
Pages
364
Format
Paperback
ISBN
9780201479607

More by Rick Booth

Similar books