Оптимизация кода программ (Code Tuning)

inc(x);  {x:=x+1;}
 
inc(x,N);  {x:=x+N;}
 
x:=x shr 1;  {x:=x div 2;}
 
x:=x shl 1;  {x:=x * 2;}

Примечание: Только для целых чисел!

(x >= 'A') and (x <= 'Z')

используйте

x in ['A'..'Z']

(Также можно делать и с числами (точнее байтами), но только от 0 до 255)

IF ch IN ['0'..'9','A'..'Z','a'..'z','_'] THEN ...

лучше заменить на

CASE ch OF
	  '0'..'9','A'..'Z','a'..'z','_':...;
	END;
Include(S, X) и Exclude(S, X)

работают быстрее, чем

S := S + [X] и S := S - [X]

соответственно (где S - множество какого-то типа, а X - элемент множества)

c := (a + b) * d;
e := g - (a + b);

В этих выражениях 2 раза вычисляется a+b, поэтому стоит завести временную переменную,

temp := a + b;
c := temp * d;
e := g - temp;
  1. присваивание
  2. сложение,вычитание
  3. умножение
  4. деление
  5. возведение в степень и др.
x:=(a+b)/2;

а надо

x:=(a+b)*0.5;

Но помните, «Premature optimization is the root of all evil» (Donald Knuth)