|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrew Sagulin 2:6037/1.28 27 Feb 2002 19:34:57 To : All Subject : Perl & bin files --------------------------------------------------------------------------------
Есть задача обработки (под Win32) двоичных файлов (не более 30 за раз,
размер каждого 10-15 мегабайт). В файле содержится около 150 тысяч разнотипных
записей переменной длины (это тарификационные данные, выдаваемые электронной АТС
EWSD). Загнать эти файлы в СУБД невозможно, потому что в них большое количество
разнородных данных - размер вырастет минимум в 10 раз, такую базу будет негде
хранить.
Hа основе этих файлов генерится разнообразная статистика в форматах dbf и
txt. Делается это программами на Delphi, которые используют вылизанный
профайлером модуль для парсинга файлов. Всё бы ничего, но мне уже надоело на
каждый новый вид статистики писать новую программу, которая отличается от
предыдущей только условиями выборки данных и видом представления результатов.
Этих утилит уже с десяток набралось, и их количество будет расти.
Вот я и хочу модуль парсинга прикрутить к перлу. Пусть всю низкоуровневую
работу делает быстрый парсер, а выборку и представление результатов производит
перл (это у него лучше получается). Модуль (это класс на Delphi) содержит
несколько методов. Основные, определяющие функциональность, это Open, Close,
First, Next, GetData.
Мне видятся такие варианты:
1. Переписать библиотеку на Си и до просветления читать всё о XSUB. Hо это
надолго с учётом отсутствия опыта работы с MSVC++ и XSUB.
2. Сделать из библиотеки OLE Automation и использовать её с помощью
Win32:OLE. Здесь другая проблема - не будет ли больших накладных расходов на
передачу данных между библиотекой и программой на перле?
3. Ваши предложения... :)
Про pack и unpack знаю, но этот вариант однозначно отпадает по причине
низкого быстродействия.
Всего Вам...
Андpей.
--- GoldED+/W32 1.1.5-20011130
* Origin: В стране не без народа. (2:6037/1.28)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/27923c7d1176.html, оценка из 5, голосов 10
|