На досуге (сижу в субботу на работе) решил добить до конца тестирование скорости выполнения различных операций вставки значений в контейнер.
Вот Job, с помощью которого замерялась скорость выполнения.
X++:
#define.LoopCount(50000)
#LocalMacro.Start
timeBefore = WinApi::getTickCount();
#EndMacro
#LocalMacro.Reset
timeAfter = WinApi::getTickCount();
info(num2str((timeAfter - timeBefore) /1000, 0, 4, 2, 0));
con = conNull();
len = 1;
#EndMacro
static void tutorial_SpeedTestContainerOperations(Args _args)
{
container con;
int i;
int len = 1;
int timeBefore;
int timeAfter;
;
#Start
for (i = 1; i < #LoopCount; i++)
con += i;
#Reset
#Start
for (i = 1; i < #LoopCount; i++)
con = con + i;
#Reset
#Start
for (i = 1; i < #LoopCount; i++)
con = conIns(con, conLen(con)+1, i);
#Reset
#Start
for (i = 1; i < #LoopCount; i++)
{
con = conIns(con, len, i);
len++;
}
#Reset
#Start
for (i = 1; i < #LoopCount; i++)
con = conPoke(con, conLen(con)+1, i);
#Reset
#Start
for (i = 1; i < #LoopCount; i++)
{
con = conPoke(con, len, i);
len++;
}
#Reset
}
P.S. Допустил ошибочку

Сейчас код уже подправил. Спасибо glibs за наводку и продолжение тестирования.
Итак, как видно из обновленных результатов - предложенный мной выше вариант намного лучше всех остальных.
Исходя также из результатов, полученных
glibs, использования Foundation Classes дает очень неплохие результаты.
Вот результаты, которые я получил на своей системе: