Поиск:

Ответ в темуСоздание новой темы Создание опроса
> скорая обработка данных 
:(
    Опции темы
gordmiand
Дата 21.6.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



я считываю данные (около 40 тыс. чисел) из файла, сортирую их и строю некий график...подскажите как можно все эти операции по возможности убыстрить (а то комп "загружается" секунд на 15 при том, что это не максимальное число загружаемых данных)?

Это сообщение отредактировал(а) gordmiand - 21.6.2009, 22:56
PM MAIL   Вверх
Данкинг
Дата 21.6.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Из какого файла - просто текстового, что ли?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
gordmiand
Дата 22.6.2009, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



из бинарного файла гружу такое кол-во данных, потом в проге их сортирую и строю по данным график...
PM MAIL   Вверх
dumb
Дата 22.6.2009, 06:03 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Цитата(gordmiand @  21.6.2009,  23:54 Найти цитируемый пост)
как можно все эти операции по возможности убыстрить
закомментируй 17-ую строку - в ней ошибка, из-за этого все тормоза.


M
dumb
если в следующем посте не будет кода, тема будет удалена

PM MAIL   Вверх
gordmiand
Дата 22.6.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



а что это за 17-ая строка?
PM MAIL   Вверх
Данкинг
Дата 22.6.2009, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(gordmiand @ 22.6.2009,  22:03)
а что это за 17-ая строка?

Там в ней ошибка у тебя. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Dmi3ev
Дата 23.6.2009, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



Цитата

а что это за 17-ая строка? 

dumb, слишком витиевато ты сказал  smile 
gordmiand не догнал  smile 
а я поржал  smile 


--------------------

PM MAIL   Вверх
unicuum
  Дата 23.6.2009, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(Dmi3ev @  23.6.2009,  01:34 Найти цитируемый пост)
gordmiand не догнал  smile 
а я поржал  smile  

Это намёк на телепатический канал связи межу gordmiand и dumb. По нему dumb скачал исполняемый код, который написал gordmiand и нашёл в нём ошибку, о которой и сообщил.


--------------------
user posted image
обычный день на винграде
PM   Вверх
gordmiand
Дата 23.6.2009, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



ну серьезно - что это за 17-ая строка и как ее удалить? или народ просто решил прикольнуться...
PM MAIL   Вверх
W4FhLF
Дата 23.6.2009, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



gordmiand, над тобой прикалываются потому, что ты не привёл никакого кода и при этом хочешь получить помощи. Откуда мы знаем, что ты там понаписал и почему у тебя это медленно работает? 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
mrbrooks
Дата 23.6.2009, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(unicuum @  23.6.2009,  02:02 Найти цитируемый пост)
Это намёк на телепатический канал связи межу gordmiand и dumb. По нему dumb скачал исполняемый код, который написал gordmiand и нашёл в нём ошибку, о которой и сообщил. 


Межпроцессное взаимодействие на лицо.
PM MAIL   Вверх
gordmiand
Дата 23.6.2009, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



ха-ха-ха ....ну очень смешно....

попробую написать код (общую его структуру):
Код

FILE *potdan;
potdan=fopen(“c:\\f1.reg”,"rb");

   fseek(potdan,100, SEEK_SET);        

    while(…)                    
{

       fseek(potdan,10, SEEK_CUR);      

   for (int i=1; i<=4; i++)
   {
       dan_kadr[i]=0;
       fscanf(potdan,"%c",&dan_kadr[i]);      
    }
………….
…………..
    fseek(20, SEEK_CUR);      


 while (…)     
{
    fscanf(potdan,"%c",&dan_pak[1]);
………
………
……....   
   for (int i=1; i<=7; i++)
      fscanf(potdan,"%c",&dan_pak[i+1]);
…..                           
 
fseek(potdan,8, SEEK_CUR);                
 }

}  
fclose(potdan);
 + в данной функции вызывается еще несколько других (определение размера файла и перевода чисел из различных систем счисления)

сортируются эти скачанные из файла данные методом пузырька (через "временный" буфер)+ несложные графические построения (но в основном долго грузятся данные из файла)


PM MAIL   Вверх
W4FhLF
Дата 24.6.2009, 05:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Надо минизировать количество обращений к HDD.  Загрузи данные целиком в память, потом уже делай парсинг.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
gordmiand
Дата 24.6.2009, 05:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



то есть данные из файла считывать не частями, а загрузить все сразу в массив и уже его обрабатывать? 
PM MAIL   Вверх
W4FhLF
Дата 24.6.2009, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Да. Ну по-крайней мере если там 40 тыс. значений, то что это, 100 кб памяти? Это мелочи. Поэтому зачем тысячу раз обращаться к медленному винту, если можно сразу всё загрузить в память и в памяти обработать?

Добавлено через 1 минуту и 26 секунд
А если файлы огромные(по несколько сотен мегабайт) и размещать их в памяти проблематично, то можно завести буфер и читать туда файл кусками. Короче задача минимизировать количество обращений к HDD.

Добавлено через 7 минут и 8 секунд
И bubble sort это хреновый алгоритм smile Бери алгоритм с логарифмической сложностью.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0797 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.