![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
vladko |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
Эта функция оформленная в виде длл считывает текстовый файл производит вычисления и выодит новый текстовый файл. Можно ли этот код оптимизировать по скорости? Например 150 мб считает минуту. Сократить бы это время в 2-3 раза...
|
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
vladko
ты хоть приведи код в порядок..а то читать это невозможно..коментарии добавь хоть какие-то, табуляцию не игнорируй. Добавлено через 3 минуты и 26 секунд vladko и этот код работает?
где free???
ты освободил два байта, обращаешся к большему количеству...или я чего-то не пойму? |
||||
|
|||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
жесть какая-то
этот код не оптимизировать нада, а удалить и написать новый |
|||
|
||||
vladko |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
Блин, че так все плохо? На мелких файлах нормально работает... Код не я писал...
|
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Вот это
![]()
|
||||
|
|||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
товарищ vladko уже эту тему подымал.
http://forum.vingrad.ru/forum/topic-253997...y1831844/0.html vladko, не лучше ли вам пойти в Центр Помощи? |
|||
|
||||
vladko |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
ага, только там не помогли... вот я и выложил результат помощи с другого форума...
|
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
||||
|
||||
vladko |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
да, помогли, а не флудили... прога рабочая...
спасибо за исправления xvr!!! |
|||
|
||||
0xDX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 6.2.2009 Репутация: нет Всего: нет |
Читать файл нужно побольше буфером.
Выделять память нужно залпом, и не когда не использовать malloc(new ) в цикле. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
vladko
Если она работает - то это видимо счастливая случаность ![]() 1. Читай из файла большими кусками - например по мегабайту за итерацию. 2. Не выделяй память в цикле и не обявляй переменных. 3. Не забывай освобождать память если она больше не нужна. Попробуй все таки привести код в порядок.. |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
azesmcar, при завершении программы память освобождается сама, так что там ничего освобождать не надо
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
GoldFinch
на каждый вызов malloc и new должен быть free и delete соответственно до завершения программы. И не важно что операционная система подотрет за вами то что не сделали вы сами. |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
||||
|
||||
vladko |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
azesmcar, а как читать блоками если файл разбит на строки (и они разной длины)?
p.s. что зим, проще поржать, чем что-то посоветовать? Это сообщение отредактировал(а) vladko - 14.4.2009, 12:32 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |