Home > Healthcare Integration > Dealing with interface engine performance issues.

Dealing with interface engine performance issues.

The dilemma of speed versus elegance is an interesting one. In many situations, an elegant, intuitive, and often short solution can be replaced by a more convoluted but faster solution. Sometimes the un-elegant version is still sufficiently simple and easy to read. It does not make very much sense to replace it with an elegant version. Often, though, the concepts a program is dealing with get so complex that giving up some efficiency in order to make the program more straightforward becomes an attractive choice. The basic rule, which has been repeated by many programmers and with which I wholeheartedly agree, is not to worry about efficiency until your program is provably too slow. When it is, find out which parts are too slow, and start exchanging elegance for efficiency in those parts.

Of course, the above rule does not mean one should start ignoring performance altogether. In many cases, not much simplicity is gained by the ‘elegant’ approach. In other cases, an experienced programmer can see right away that a simple approach is never going to be fast enough. Surprisingly many programmers focus fanatically on efficiency, even in the smallest details. The result is bigger, more complicated, and often less correct programs, which take longer to write than their more straightforward equivalents and often run only marginally faster.

A paraphrase from:

Eloquent JavaScript

A Modern Introduction to Programming

by Marijn Haverbeke
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: