Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Скорость работы парсера.
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
HeiHeShang HeiHeShang вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.03.2005
По умолчанию Скорость работы парсера. - 13.10.2005, 05:43

Решил написать парсер для своих нужд. Чтобы не мудрить взял класс scanner из PIE , небольшие тексты еще худо бедно, а вот текст весом в 200К не по зубам, вываливается с ошибкой, да и скорость сканирования не очень. Возникает вопрос, а возможно ли написать свой сканер, на VIP который сделает это очень быстро или все таки такие вещи лучше писать на С.
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,864
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 14.10.2005, 01:06

1. С какими текстами Вам нужно работать и что именно делать?
2. Быть может для Вашей задачи не нужен такой большой сканер и его можно уменьшить в несколько раз?
3. Какая именно ошибка появляется?
Ответить с цитированием
  (#3 (permalink)) Старый
HeiHeShang HeiHeShang вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.03.2005
По умолчанию Сканер - 14.10.2005, 03:57

Мне надо для начала текст разбить на слова. Вот как раз с этим PIE класс scanner и не справляется. Никакой ошибки не выдает, просто приложение закрывается и все. Если в дебагере крутить, то выдает ошибки по памяти.
Ответить с цитированием
  (#4 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,864
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 17.10.2005, 21:34

HeiHeShang пишет:
Цитата:
Мне надо для начала текст разбить на слова. Вот как раз с этим PIE класс scanner и не справляется. Никакой ошибки не выдает, просто приложение закрывается и все. Если в дебагере крутить, то выдает ошибки по памяти.
Если надо разбить текст на слова, то зачем Вам парсер из PIE? Вот Вам разбивалка на слова-лексемы:
Код:
разбить(Текст,[Слово|Список]):-fronttoken(Текст,Слово,Остаток),!,
   разбить(Остаток,Список).
разбить(_,[]).
Ответить с цитированием
  (#5 (permalink)) Старый
HeiHeShang HeiHeShang вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.03.2005
По умолчанию Пробовал, не работает. - 18.10.2005, 11:38

Во че выдает.

Код:
Dump: 2005/10/18 16:34:58
----------------------------------------
Exception: externalError (com/visual-prolog/exception/exception_exception)

    An external run-time error occurred

Parameters:
    External error = 12019
    Errornumber = 12019
    Errorfile = C:Program FilesVisual Prolog 6pfcprogramControlprogramControl.pro
    Line = 121
    Column = 29

raised() (ID=69316) 2005/10/18 16:34:58
ThreadId=2692
Module: unknown Version 1.0
File: C:Program FilesVisual Prolog 6pfcexceptionexceptionState.pro(256,30)
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
HeiHeShang HeiHeShang вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.03.2005
По умолчанию Может надо по другому. - 18.10.2005, 17:49

Цитата:
Originally posted by Винитарх
[b]HeiHeShang пишет:
<div class='quotetop'>Цитата
Цитата:
Мне надо для начала текст разбить на слова. Вот как раз с этим PIE класс scanner и не справляется. Никакой ошибки не выдает, просто приложение закрывается и все. Если в дебагере крутить, то выдает ошибки по памяти.
Если надо разбить текст на слова, то зачем Вам парсер из PIE? Вот Вам разбивалка на слова-лексемы:
Код:
разбить(Текст,[Слово|Список]):-fronttoken(Текст,Слово,Остаток),!,
   разбить(Остаток,Список).
разбить(_,[]).
[/quote]
Может все таки надо делать по другому? Cкорее всего VIPу не по зубам большие объемы. Как то тяжело он со строковыми списками работает.
Ответить с цитированием
  (#7 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,864
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 18.10.2005, 17:51

Что значит тяжело?
У меня разбивалка на слова быстро работает (VIP5.2).
Ответить с цитированием
  (#8 (permalink)) Старый
HeiHeShang HeiHeShang вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.03.2005
По умолчанию Быстро это как ? - 18.10.2005, 18:48

Цитата:
Originally posted by Винитарх
[b]Что значит тяжело?
У меня разбивалка на слова быстро работает (VIP5.2).
Я конца так и не дождался, может че неправильно делаю, текстовый фалй 230 К, а ты на каких тренировался ? По мне так за пару секунд должен разбивать, а он до конца не доходит, вылетает прога и все тут.
Ответить с цитированием
  (#9 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,864
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 19.10.2005, 14:05

Вот тест для разбивалки на слова (VIP5.2):
Код:
domains
Список = String*
predicates
procedure разбить(String,Список) - (i,o)
goal 
marktime(0,T1),
file_str("файл.txt",Текст),
разбить(Текст,_Список),
marktime(0,T2),
difftime(T2,T1,D),D1=D/100,
write(D1," сек."),exit.
clauses
разбить(Текст,[Слово|Список]):-fronttoken(Текст,Слово,Остаток),!, 
   разбить(Остаток,Список). 
разбить(_,[]).
Вот результаты теста:
200Кб -> 0.048 сек.
400Кб -> 0.102 сек.
800Кб -> 0.198 сек.
Заметьте, что тест учитывает не только время разбиения текста на список слов, но и время чтения файла.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скорость работы WinInet.... kata WinAPI 1 28.09.2011 13:26
упала скорость работы винчестера Vadim771 Накопители 1 23.12.2010 07:10
Какая скорость интернета нужна для работы веб камеры OSS Любые вопросы от новичков 7 29.11.2010 13:25
Очень низкая скорость работы видеокарты. Lenysi4ka1 Разное 0 29.11.2009 01:41
Влияет ли моя подборка ОЗУ модулей на скорость работы ПК? what Техническая поддержка 1 30.09.2008 21:47
Низкая скорость работы компьютера в играх. max11im Техническая поддержка 72 25.05.2008 21:58
В какой зоне быстрее скорость работы жесткого диска? cybernet1 Техническая поддержка 7 20.04.2008 20:43
Как увеличить скорость работы приложения vital_krsk C++ Builder 4 20.05.2006 11:45
GDI как увеличить скорость работы Mr. Пронька .NET 3 14.03.2006 09:25
Скорость работы программы как узнать Zurik Pascal 16 25.02.2006 15:48
Как увеличить скорость работы StringGrid _Андрей_ Delphi 3 12.01.2006 20:03
Как бы протестировать скорость работы базы данных glip PHP 3 28.09.2002 00:02



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов