Показать сообщение отдельно
  #1  
Старый 06.09.2015, 01:17
Hadros Hadros вне форума
Прохожий
 
Регистрация: 06.09.2015
Сообщения: 1
Версия Delphi: Delphi XE8
Репутация: 10
По умолчанию Оптимизация работы с множествами set of byte

Как можно ускорить выполнение части кода:

Код:
exclude(poleSwork,fpos);
exclude(poleSwork,fep);
include(poleSwork,fnp);
inc(wayScnt);
wayS[wayScnt].p:=fpos;
wayS[wayScnt].n:=0;

и ещё
Код:
fnp:=fpos-32;
fep:=fpos-16;
if (fep in poleSwork) and not (fnp in poleSwork) and not (fnp in poleSg) and not (fep in poleSg) then
  begin <тут ещё какая-то работа> end;

описание переменных:
Код:
Type
  hodS = record p,n:byte end;
Var
  wayS:array[1..255] of hodS;
  wayScnt:byte=0;
  poleSwork,poleSg:set of byte;
  fpos:byte;
  fnp,fep:integer;
Ответить с цитированием