Сегодня я загрузил и создал образец проекта внедрения Electronic Arts STL, и вектор EA выглядит намного медленнее для меня, чем стандарт. Я просто создал 2 вектора и загрузил их с 1 миллионом предметов:
void performance_test(void)
{
clock_t start;
clock_t end;
// EA
eastl::string strEA = "hello";
eastl::vector<eastl::string> vec_EA;
start = clock();
for (size_t i = 0; i < 1000000; i++)
{
vec_EA.push_back(strEA);
}
end = clock();
printf("EA %f\n", (double(end - start) / 1000));
// Standard
std::string strStandard = "hello";
std::vector<std::string> vec_Standard;
start = clock();
for (size_t i = 0; i < 1000000; i++)
{
vec_Standard.push_back(strStandard);
}
end = clock();
printf("Standard %f\n", (double(end - start) / 1000));
}
И результаты:
- EA 0.759000
- Стандарт 0.064000
Итак, есть ли что-то, что я делаю неправильно, или я что-то пропустил? Образец был скомпилирован с помощью набора инструментов платформы v100.