Форум программистов, компьютерный форум CyberForum.ru

Оптимизация кода (C++) - C++

Восстановить пароль Регистрация
 
Кирилл Романов
1 / 1 / 0
Регистрация: 31.10.2013
Сообщений: 17
31.10.2013, 07:18     Оптимизация кода (C++) #1
Добрый вечер. У меня есть две функции. Вопрос:"Как оптимизировать этот код, пользуясь тем, что тела отличаются лишь несколькими строчками?"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
double AtoiSecond (const std::string number)
{
clock_t start, finish;
start = clock();
 
for (int i = 0 ; i != 10000; ++i)
int variable = atoi(number.c_str());
 
finish = clock();
return finish - start;
}
 
double StreamSecond (const std::string number)
{
clock_t start, finish;
start = clock();
 
for (int i = 0 ; i != 10000; ++i)
{
stringstream transfer;
transfer << number;
 
int variable = 0;
transfer >> variable;
}
 
finish = clock();
return finish - start;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
31.10.2013, 07:47     Оптимизация кода (C++) #2
Кирилл Романов, объедините в одну, а неповторяющиеся строки забейте в if
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
31.10.2013, 12:13     Оптимизация кода (C++) #3
Цитата Сообщение от Кирилл Романов Посмотреть сообщение
Добрый вечер. У меня есть две функции. Вопрос:"Как оптимизировать этот код, пользуясь тем, что тела отличаются лишь несколькими строчками?"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
double AtoiSecond (const std::string number)
{
clock_t start, finish;
start = clock();
 
for (int i = 0 ; i != 10000; ++i)
int variable = atoi(number.c_str());
 
finish = clock();
return finish - start;
}
 
double StreamSecond (const std::string number)
{
clock_t start, finish;
start = clock();
 
for (int i = 0 ; i != 10000; ++i)
{
stringstream transfer;
transfer << number;
 
int variable = 0;
transfer >> variable;
}
 
finish = clock();
return finish - start;
}
Извините, но эта оптимизация которую вы хотите провести в данном случае не уместна по той причине, что в этих функциях ищется время выполнения данной функции, ни больше ни меньше, по этому считаю что эта тема не имеет смысла.
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
31.10.2013, 12:32     Оптимизация кода (C++) #4
Не совсем понятно что именно ты хочешь оптимизировать. При чем тут сравнение двух функций? Оптимизировать по размеру или по скорости выполнения?
Yandex
Объявления
31.10.2013, 12:32     Оптимизация кода (C++)
Ответ Создать тему
Опции темы

Текущее время: 13:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru