Choose the right algorithm and data structure.
Refactor to simplify code.
Minimize DOM and I/O interaction.
Use local optimizations last.
When optimizing your code, start at the highest level and work your way down until the code executes fast enough. For maximum speed, work at multiple levels.
Measure Your Changes
Measurement is a key part of the optimization process. Use the simplest algorithms and data structures you can, and measure your code's performance to see whether you need to make any changes. Use timing commands or profilers to locate any bottlenecks. Optimize these hot spots one at a time, and measure any improvement. You can use the
date object to time individual snippets:
The Pareto Principle - Economist Vilfredo Pareto found in 1897 that about 80 percent of Italy's wealth was owned by about 20 percent of the population. This has become the 80/20 rule or the Pareto principle, which is often applied to a variety of disciplines. Although some say it should be adjusted to a 90/10 rule, this rule of thumb applies to everything from employee productivity and quality control to programming.
Barry Boehm found that 20 percent of a program consumes 80 percent of the execution time. He also found that 20 percent of software modules are responsible for 80 percent of the errors. Donald Knuth found that more than 50 percent of a program's run time is usually due to less than 4 percent of the code. Clearly, a small portion of code accounts for the majority of program execution time. Concentrate your efforts on these hot areas.
11. Donald E. Knuth, "An Empirical Study of FORTRAN Programs," SoftwarePractice and Experience 1, no. 2 (1971): 105-133. Knuth analyzed programs found by sifting through wastebaskets and directories on the computer center's machines. Back
Created: January 8, 2003
Revised: January 8, 2003