любимые строки
1). Что быстрее для сравнения: использовать strcmp и работать с систроками или работать с типом string, используя оператор сравнения ==
2). Что быстрее для слияния строк: strcat для систрок или оператор + для string
Одним словом что производительнее - испольщовать тип string или работать с систроками.
Очень всем огромное заранее спасибо
В общем, систроки - массивы символов, работают быстрее любого контейнера (и в том числе string). Другое дело, что эта разница очень мала, и только в спец. задачах есть смысл пренебрегать удобством контейнера ради скорости.
У меня прога обрабатывает сотни тысяч строк (string), но все они очень коротенькие (до 10 символов). Очень долго работает, вот просто думаю стоит ли все переделывать на систроки или так оставить:-\
ранбше для совей ароги я использовал дебаг версию и она долго работала. Сейчас сделал солутион и стала просто летать. Поясните из-за чего это может быть?
Почему Солутион версия работает в десятки раз быстрее дебаг версии?
Все дело в настроках проекта. Почитай описалово...
Цитата: Yurec
У меня прога обрабатывает сотни тысяч строк (string), но все они очень коротенькие (до 10 символов). Очень долго работает, вот просто думаю стоит ли все переделывать на систроки или так оставить:-\
Тогда смотря какого рода операции проводишь. Если много обработки, то встроенные функции string могут дать выигрыш по сравнению с написанным тобой кодом (не обижайся уж:)), а если простые операции - не знаю, тут надо практиковать.
Цитата: Yurec
Удалось поднять производителоьность в десятки раз ничего не изменяя:
ранбше для совей ароги я использовал дебаг версию и она долго работала. Сейчас сделал солутион и стала просто летать. Поясните из-за чего это может быть?
Почему Солутион версия работает в десятки раз быстрее дебаг версии?
Ты имеешь в виду - релиз версию? она работает быстрее, и места меньше занимает, потому что в нее не входит отладочная информация (позволяющая, например, дебаггить).
Тем более, что мощности современных (да и старых тоже) ПК вполне достаточны, чтобы игнорировать накладные расходы памяти и тактов процессора на вызовы методов контейнера.
А поскольку основноми "узкими местами" являются алгоритмы самого пользователя, то использование строковых контейнеров ускоряет программу, нежели самостоятельные попытки оперирования с char[] и char*.
ОК! Всем спасибо!