![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#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 - параметры, а после знака равно их значение. Требуется переписать в другой файл, те строки, у которых параметры совпадают во всех файлах, а значение функции находится в заданных пределах.
Есть вопросы, пишите в ЛС.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 19.03.2010
Сообщений: 409
|
![]()
Проблема заключается в том, что, если сравнивать параметры из одного файла с остальными и при этом имеется условие на окончание просмотра оставшейся части файла, при нахождении схожих параметров, то процесс (работа программы) затягивается на весьма продолжительное время, примерно, 2 месяца на сравнение 2 файлов. Программа написана на PascalABC.NET.
Посоветуйте, пожалуйста, более оптимальный алгоритм с наименьшим временем исполнения.
Есть вопросы, пишите в ЛС.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Отсортировать содержимое файлов по некоторым критериям (например, следованию подряд значений параметров). Тогда рассмотрение строк можно осуществлять на небольшом участке (одинаковые параметры будут расположены рядом), а не скакать по всему файлу.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#4 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
ну вот, хоть что-то интересое попалось среди тонн шлака.
аффтар, вывали исходные файлы, буду посмотреть. Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 08.10.2014 в 20:05. |
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#6 | |
Заблокирован
Регистрация: 12.09.2014
Сообщений: 544
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
![]() Файловый маппинг сильно ускорит обработку данных максимум до нескольких часов. Логи апача и поболее весят, и все равно читабельны, за пару сек открывает лог на 12 Гб. |
|
![]() |
![]() |
![]() |
#8 |
Заблокирован
Регистрация: 12.09.2014
Сообщений: 544
|
![]()
Человек_Борща А если побить файлы на отдельные вычислительные потоки?
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 19.03.2010
Сообщений: 409
|
![]()
Спасибо всем за проявленный интерес, за ответы и предложения!
Решение компромиссное для себя пока нашел. Считываю значение функции в 3-х мерный массив с индексами x,y,z, благо это целые числа и не слишком большие (менее 1000). Оказалось, что четвертый параметр не важен. indexx, побить на потоки - хорошая идея.
Есть вопросы, пишите в ЛС.
Последний раз редактировалось rubius2008; 08.10.2014 в 20:57. |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считывание и обработка данных из текстового файла | 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 |