Writing Fast Programs: A Practical Guide for Scientists and Engineers

  • 5h 29m
  • John S. Riley
  • Cambridge International Science Publishing Ltd
  • 2006

Writing Fast Programs provides the basic elements of code optimization and provides strategies for reducing bottlenecks in practical simulation and numerical modeling code. The target audience is scientists and engineers and students in these fields. One pre-publication reviewer called this a much-needed intermediate text to bridge the gap between existing introductory and more advanced programming books aimed at scientists. Writing Fast Programs does not teach basic programming; some programming proficiency is assumed, along with familiarity with the basic programming terminology. Code examples are presented in C, but BASIC (as a convenient pseudo-language) examples are provided for those not familiar with C. In general, the strategies presented are not language specific and should therefore benefit a wide programming audience.

About the Author

John S. Riley began programming in the early 1980's and completed his first chemistry related software project in 1988: a custom microcomputer printer driver to print molecular orbitals on a dot matrix printer.

While earning his Ph.D. at the University of North Carolina - Chapel Hill, he began to explore quantum chemistry and Monte Carlo calculations to model experimental ion dissociation dynamics data in addition to writing low level code to collect that data. It was at this time that he began to think about the practical limitations to useful modeling on microcomputers.

In his chemistry career, Riley has conducted ion dynamics and photochemistry research, built and managed a forensic laboratory, taught college level Chemistry and Physics and is currently the owner and manager of DSB Scientific Consulting. In this capacity, he is involved in researching theoretical decomposition mechanisms of energetic materials and the numerical modeling of deflagration and detonation phenomena. His company provides computational chemistry and computational engineering services, including the development of highly optimized cross-platform numerical modeling applications.

In this Book

  • Introduction to Code Optimization
  • PC Hardware
  • Operating System Considerations
  • Compiler Considerations
  • Data Management
  • Function and Procedure Calling: Optimizing Program Flow
  • Loops and Vectors
  • Programming in the RISC Style
  • Look-Up Tables
  • Other Algorithm Optimization Techniques
  • Multi-Tasking Basics
  • Parallel Computation Basics
  • Bibliography