Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#include <cstdio>
#include <ctime>
#include <boost/lexical_cast.hpp>
int main() {
std::string my_str;
const int num = 30000000;
for (int test = 0; test < 10; ++test) {
{
clock_t start = clock();
for (int i = 0; i < num; ++i) {
char str[16];
int num = sprintf(str, "%d", i);
my_str.assign(str, num);
}
double time_duration = (double) (clock() - start) / CLOCKS_PER_SEC;
printf("to_std_str_c_way time = %f , last str = %s\n",
time_duration, my_str.c_str());
}
{
clock_t start = clock();
for (int i = 0; i < num; ++i) {
my_str = boost::lexical_cast<std::string>(i);
}
double time_duration = (double) (clock() - start) / CLOCKS_PER_SEC;
printf("to_std_str_boost_way time = %f , last str = %s\n",
time_duration, my_str.c_str());
}
}
return 0;
}
base::IntToString[16], base::UintToString[16], base::Int64ToString[16], base::Uint64ToString[16] из string_number_conversions.cc. Не знаю на сколько они быстры, но ничего другого там все равно использовать нельзя.
Что быстрее преобразует int в std::string в с++? Настройки компилятора на максимальную скорость