Послушал. Жесть.
Зачем чего-то вычислять каждый цикл ?
Зачем прерывания при цикле 1-2мс ?
Остальное - про преположить самое худшее - правильно. Я даже советовал бы до использования пощупать сами биб-ки на предел. Пример
VARSysMemAlloc
Функция типа DWORD, служит для...
DW : DWORD;
..
DW:=DW+SEL(SysMemAlloc(512)=0,512,0);
Последний раз меня очень удивил результат (на ПЛК154)
Не тратьте время зряЯ просто хочу добавить обработку исключений от "собаки".