Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.14;
Скачать: [xml.tar.bz2];

Вниз

работа с большим текстовым файлом   Найти похожие ветки 

 
программист_ищу_работу   (2002-10-04 14:42) [0]

Привет мастерам.
Возник такой вопрос. (не критичный, но желательный).
Есть текстовый файл длиной до 99Мб. Из него нужно читать и обрабатывать определенную информацию, но, если пользоваться просто readln, то доходит до 30-50 секунд на машине PIII с 512 Мб памяти. Как видите время выполнения несерьезное. :-((
Каким образом можно ускорить обработку? Любые идеи и пожелания только приветствуются.


 
Best Before 2024   (2002-10-04 14:45) [1]

А может, дело не в ReadLn, а в обработке?


 
Best Before 2024   (2002-10-04 14:50) [2]

Временно исключите обработку информации из кода и засеките время на чтение
файла, а потом уже принимайте решение


 
MBo   (2002-10-04 14:50) [3]

для ускорения чтения могут помочь Memory-Mapped Files,
а про твою обработку мы ничего не знаем


 
Anatoly Podgoretsky   (2002-10-04 14:51) [4]

программист_ищу_работу © (04.10.02 14:42)
Поставить более быстрый винчестер, наприме 10к


 
программист_ищу_работу   (2002-10-04 15:01) [5]

без обработки 13 секунд.

процедура работы ниже

assignfile(f,"router.log");
reset(f);
repeat
readln(f,s);
until eof(f);
closefile(f);
showmessage("ok");


винт и так SCSI. Это сервер. :-)


 
Anatoly Podgoretsky   (2002-10-04 15:09) [6]

Отлично, именно такой тест я как раз и делал не так давно, 120 мб, 6 секунд на быстром винчестере и 12 сек на относительно медленном, рабочая станция 98


 
программист_ищу_работу   (2002-10-04 15:27) [7]

2Anatoly Podgoretsky ©
Да, но задача в том, что задача исполняется не только на этой машине, но и на машинах юзеров. Причем по нескольку раз в течении минуты. :-(
С разными входными условиями.
Возможно конечно сделать отдельную базу именно для этого, благо mysql крутиться на сервере, но, хотелось бы хот бы теоретически решить такую задачу. Можно ли как-то загрузить файл в память, для повторяющихся операций...


 
Anatoly Podgoretsky   (2002-10-04 15:37) [8]

TStringList или array of string, если достаточно памяти


 
программист_ищу_работу   (2002-10-04 15:51) [9]

точно, только что дошло. При входе в программу закачиваем в array of stringи все, мы в дамках. Спасибо за поддержку :-)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-45402
Arbin
2002-10-03 10:26
2002.10.14
Элиза


3-45223
aGo
2002-09-23 17:10
2002.10.14
возможно ли динамическое колличесто полей в SQL запросе


3-45199
Young Programmer
2002-09-23 04:01
2002.10.14
Delphi + ADO


1-45405
lakich
2002-10-03 10:30
2002.10.14
Список процессов


4-45648
EugeneCher
2002-09-01 22:53
2002.10.14
SetTimer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский