|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.10.2014, 17:04 | #1 |
Форумчанин
Регистрация: 19.03.2010
Сообщений: 409
|
Обработка множества данных из текстового файла
Здравствуйте, уважаемые форумчане!
Поставлена следующая задача. Имеется несколько текстовых файлов (4 и более), в каждом файле примерно 2600000 строк результатов, строки записаны в следующем формате: i f i r r r r r x=i y=i z=i t=r где i, r - какие-то числа (i - целое, r- вещественное); f - значение функции (вещественное число), зависящей от параметров; x,y,z,t - параметры, а после знака равно их значение. Требуется переписать в другой файл, те строки, у которых параметры совпадают во всех файлах, а значение функции находится в заданных пределах.
Есть вопросы, пишите в ЛС.
|
08.10.2014, 17:10 | #2 |
Форумчанин
Регистрация: 19.03.2010
Сообщений: 409
|
Проблема заключается в том, что, если сравнивать параметры из одного файла с остальными и при этом имеется условие на окончание просмотра оставшейся части файла, при нахождении схожих параметров, то процесс (работа программы) затягивается на весьма продолжительное время, примерно, 2 месяца на сравнение 2 файлов. Программа написана на PascalABC.NET.
Посоветуйте, пожалуйста, более оптимальный алгоритм с наименьшим временем исполнения.
Есть вопросы, пишите в ЛС.
|
08.10.2014, 17:50 | #3 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Отсортировать содержимое файлов по некоторым критериям (например, следованию подряд значений параметров). Тогда рассмотрение строк можно осуществлять на небольшом участке (одинаковые параметры будут расположены рядом), а не скакать по всему файлу.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
08.10.2014, 20:00 | #4 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
ну вот, хоть что-то интересое попалось среди тонн шлака.
аффтар, вывали исходные файлы, буду посмотреть. Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 08.10.2014 в 20:05. |
|
08.10.2014, 20:29 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
08.10.2014, 20:34 | #6 | |
Заблокирован
Регистрация: 12.09.2014
Сообщений: 544
|
Цитата:
|
|
08.10.2014, 20:38 | #7 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Файловый маппинг сильно ускорит обработку данных максимум до нескольких часов. Логи апача и поболее весят, и все равно читабельны, за пару сек открывает лог на 12 Гб. |
|
08.10.2014, 20:42 | #8 |
Заблокирован
Регистрация: 12.09.2014
Сообщений: 544
|
Человек_Борща А если побить файлы на отдельные вычислительные потоки?
|
08.10.2014, 20:49 | #9 |
Форумчанин
Регистрация: 19.03.2010
Сообщений: 409
|
Спасибо всем за проявленный интерес, за ответы и предложения!
Решение компромиссное для себя пока нашел. Считываю значение функции в 3-х мерный массив с индексами x,y,z, благо это целые числа и не слишком большие (менее 1000). Оказалось, что четвертый параметр не важен. indexx, побить на потоки - хорошая идея.
Есть вопросы, пишите в ЛС.
Последний раз редактировалось rubius2008; 08.10.2014 в 20:57. |
08.10.2014, 20:55 | #10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считывание и обработка данных из текстового файла | Craz | Помощь студентам | 3 | 25.07.2013 22:50 |
Считывание и обработка данных из текстового файла | Craz | Помощь студентам | 2 | 14.07.2013 19:56 |
Обработка текстового файла | Dimabara | Помощь студентам | 0 | 19.11.2012 15:09 |
Обработка текстового файла | MrGreen | Помощь студентам | 0 | 07.05.2012 13:18 |
Обработка текстового файла | MMMMMMM | Помощь студентам | 0 | 11.12.2010 17:00 |