Теперь о сравнении с stl (mingw32, o3) в части быстродействия. Рассматривалась задача вычисления суммы значений вектора целых чисел.
Вариант 1 - Vector Iterators
## Код:
```
vector<int> vec;
auto end = vec.end(); int sum = 0;
for(auto i = vec.begin(); i != end; ++i)
   sum += *i;
```


Вариант 2 - Vector No Iterators
## Код:
```
int sum = 0;
for(int i = 0; i < COUNT; ++i)
   sum += vec[i];
```


Вариант 3 - Array from Vector
## Код:
```
int sum = 0;
int *array = &vec[0];
for(int i = 0; i < COUNT; ++i) {
   sum += array[i];
};
```


Вариант 4 - SclObxBenchmarks.CLongVector(100)

Результаты сравнения:
Вложение:
C_BB_Vectors.png [ 11.56 КБ | Просмотров: 10962 ]


Выводы:
Вариант реализации вектора для BlackBox лучше, чем Вариант 2 с std::vector и гораздо лучше, чем вариант 1 с использованием итераторов.
Вариант реализации вектора для BlackBox уступает Варианту 3, но это совсем не std::vector, а просто массив!

Таким образом, реализация вектора для BlackBox показывает в данном тесте на 40% выигрыш по сравнению с лучшим результатом для c++ std::vector.