2 / 3 / 2
Регистрация: 18.04.2015
Сообщений: 43
1

Проверить, станет ли программа работать быстрее, благодаря сделанной оптимизации

28.12.2015, 19:37. Показов 761. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется код (отрывок):
C++
1
2
3
4
5
6
7
8
9
10
11
int len = str.length();
    int count = 0, i=0;
    
    while (i<len-1 ) {
        if (!isBig(str, i)) 
            count++;
        while (str[i] != 0 && str[i] != ' ' && i<len - 1) {  
            i++;
        }
        i++;
    }
Вопрос: будет ли быстрее работать если сделать так (и почему):
C++
1
2
3
4
5
6
7
8
9
10
11
//int len = str.length();
    int count = 0, i=0;
    
    while (i<str.length()-1 ) {
        if (!isBig(str, i)) 
            count++;
        while (str[i] != 0 && str[i] != ' ' && i<len - 1) { 
            i++;
        }
        i++;
    }
Вопрос такой возник из-за неполного понимания работы цикла. Т.е. Будет ли str.length() во втором варианте рассчитываться на каждой итерации цикла, либо же она один раз рассчитается на первой итерации и сохраниться на время работы цикла в виде готового числа?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2015, 19:37
Ответы с готовыми решениями:

Если макрос на VBA переписать на С++, то макрос станет работать быстрее?
Всем привет!) У меня есть макрос написанный в Екселе на VBA, если его переписать на С++ , то...

RV770 станет ещё быстрее
В Сети появилась информация о том, что графическое ядро RV770, видеокарты на базе которого являются...

при создании статьи присваивается ID 0 и благодаря этому не хочет работать создание, редактирование и удалени
Здравствуйте! У меня проблема, сделал БД подключил к сайту всё норм, но проблема такова, при...

Проверить, станет ли число палиндромом
Решите задачу: Напишите программу, которая проверит, станет ли число а палиндромом, если к нему в...

2
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
28.12.2015, 19:42 2
Цитата Сообщение от LexShchi Посмотреть сообщение
рассчитываться на каждой итерации цикла
угу

но разницы в коде почти нет, хотя первый быстрей . Ну смотря конечно что такое str, и какого года выпуска

C++
1
2
3
4
int len = str.length() - 1;
    int count = 0, i=0;
    
    while (i<len ) {
1
2 / 3 / 2
Регистрация: 18.04.2015
Сообщений: 43
28.12.2015, 19:43  [ТС] 3
str - string
0
28.12.2015, 19:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2015, 19:43
Помогаю со студенческими работами здесь

Что будет быстрее работать?
Каакой из вариантов быстрее отработает? Вариант 1: QImage image(....); image =...

Можно ли заставить ЖД работать быстрее?
Подключил я внешний хард ко второму пню, чтобы перегнать туда инфу с компа, но появилась надпись...

Что будет работать быстрее?
Народ, здарова. Подскажите пжлст. Хочу написать программу что то вроде аис больницы. Надо...

что быстрее работать будет??
Здравствуйте) проблема такая. есть функция, возвращаемое значение которой расчитывается по...

Будет ли работать быстрее Windows?
Всем привет! Подскажите, пожалуйста, особенности и целесообразность использования 64-й виндовс...

Это устройство может работать быстрее
В общем, подключаю 4г модем через ЮСБ трехметровый удлинитель к компу, и пишет, что ваше устройство...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru