Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
#1

Скорость выполнения. - C++

23.06.2010, 12:04. Просмотров 719. Ответов 3
Метки нет (Все метки)

Есть консольное приложение, работающее с огромными текстовыми файлами, сравнивает их, читает, записывает и т.д.

Судя по диспетчеру задач, тратится 223-224 мб оперативной памяти.

Так вот хочется ускорить выполнение программы, допустим как-то заставить использовать уже 2-3 гб оперативки. Как это реализовать?

Или есть другие варианты? По-возможно поподробнее.

Работаю в Visual Studio 2010, C++.

Буду благодарен за любые ответы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2010, 12:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Скорость выполнения. (C++):

Скорость выполнения delete - C++
Всем привет! Интересует почему скорость выполнения деструктора зависит нелинейно от объёма структуры? Есть у меня бинарное дерево...

Скорость выполнения операторов - C++
Привет всем. У меня есть задачка с которой не могу справится, она очень простая но функций с помощью которых бы смог её реализовать я не...

Скорость выполнения, а так же работа с дв. файлами - C++
Здравствуйте. У меня есть несколько вопросов, на которые я уже давненько ищу ответы, а именно : 1) Для таких классов, как...

От чего зависит скорость выполнения программы? - C++
от чего больше всего зависит скорость выполнения программы?

Как узнать скорость выполнения программы? - C++
Должна же быть какая то функция или метод, чтобы узнать время выполнения программы, или возможно есть инструменты в MVS2010 для анализа...

Найти количество счастливых билетов учитывая скорость выполнения программы - C++
Найти количество счастливых билетов учитывая скорость выполнения программы,счастливый билет имеет вид a+b+c=d+e+f.

3
manido
1 / 1 / 0
Регистрация: 22.06.2010
Сообщений: 6
23.06.2010, 12:08 #2
На програмку можно взглянуть?
0
Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
23.06.2010, 13:14  [ТС] #3
Я лучше объясню суть:
3 текстовых файла: 30, 70, 40 тысяч строчек в каждом. Идёт поиск уникальных строчек и запись их в отдельный файл. То есть каждая строчка сравнивается с каждой, при определённых условиях продолжается сравнение, при некоторых переход к новой строке. В общем с алгоритмом проблем нет, волнует скорость выполнения.
0
CheshireCat
Эксперт С++
2903 / 1252 / 81
Регистрация: 27.05.2008
Сообщений: 3,437
23.06.2010, 13:26 #4
У тебя алгоритмическая затыка. Сложность описанного алгорима O^2, а может быть, и O^3.... Тебе нужно не "сравнивать каждую с каждой" строчки, а:
1. читать из файла строчки,
2. тут же считать хеш строки (или ее "нужной" или "значащей" части),
3. хеши организовать в бинарное дерево или отсортированный массив, и по нему сразу же искать совпадения хешей. Если хеш не найден в таблице - добавить (ну и ссылки на строки где-то тут....). При выборе хорошей хеш-функции совпадение хешей == совпадение строк.
Вот где-то так. Это будет работать довольно шустро, сложность будет вряд ли сильно больше O. Конечно, возможны какие-то особенности описанного алгоритма, исходя из твоей конкретной задачи.

PS: если какие-то дохлые 70 тыс.строк считаются "огромным" файлом.... :-)) - развеселило.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2010, 13:26
Привет! Вот еще темы с ответами:

Влияет ли невыполняющееся условие на скорость выполнения строчки с этим условием? - C++
Здравия всем! Мне тут стало любопытно. Есть у меня, к примеру, такой код: var = 0; if (var = 1) {exit(0)} if (var = 2)...

Скорость выполнения запросов в SQLite - C++
Здравствуйте! Собственно, мне нужно осуществлять динамическую запись в журнал происходящих в программе изменений. Делаю это с помощью...

скорость обработки - C++
Господа програмисты делаю программу и встал такой вопрос-допустим у нас есть такой код int a; a=0; for ( ; ; ) { a++ ; } ...

скорость звука - C++
подскажите пожалуйста с помощью чего можно создать регулятор скорости звука (азбука морзе)?


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru