static void twoja(benchmark::State& state)
{
std::string napis = "napisbardzdlugoaleinie";
for (auto _ : state)
{
for (int i = 0; i <= (napis.size() - 1); i++)
{
napis[i] = toupper(napis[i]);
}
}
}
BENCHMARK(twoja);
static void standard(benchmark::State& state)
{
std::string napis = "napisbardzdlugoaleinie";
for (auto _ : state)
{
std::transform(napis.begin(), napis.end(), napis.begin(), ::toupper);
}
}
BENCHMARK(standard);
http://quick-bench.com/uMLu2O-bybn702VkzP6e1wc5i0w
Sprawdź optymalizację. Poza tym może też się inaczej zachować dla innej długości stringa.