Вверх ↑
Этот топик читают: Гость
Ответов: 952
Рейтинг: 4
#31: 2009-10-30 12:01:15 ЛС | профиль | цитата
Поясните пожалуйста что такое IС о котором вы говорите.
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#32: 2009-10-30 12:01:46 ЛС | профиль | цитата
Tad писал(а):
Сколько?

Ты посты выше читал
user_asm писал(а):
У моего продукта не менее 15-20 минут

------------ Дoбавленo в 12.04:
Dilma писал(а):
быстрее этого в стандартном пакете без использования IC сегодня схему не соберешь

Можно попробовать применить SharedStream, новый компонент, который работает на низком уровне с файлами, прирост скорости надо проверять, но он работает блочно
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#33: 2009-10-30 12:08:29 ЛС | профиль | цитата
nesco писал(а):
Ты посты выше читал
Читал, но они появились пока я спрашивал.
Поэтому и
Tad писал(а):
Вопрос снят - пока писал получил ответ.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 952
Рейтинг: 4
#34: 2009-10-30 12:14:18 ЛС | профиль | цитата
nesco,
Что за компонент?
Где его искать?
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#35: 2009-10-30 12:16:13 ЛС | профиль | цитата
user_asm, лог парсится типа того, который ты приводил на 1,5 Мб
------------ Дoбавленo в 12.17:
user_asm писал(а):
Что за компонент?

В Файлы -> Потоки, в новую версию вошел, да и описание не него есть SharedStream
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#36: 2009-10-30 12:27:57 ЛС | профиль | цитата
nesco писал(а):
Можно попробовать применить SharedStream, новый компонент, который работает на низком уровне с файлами, прирост скорости надо проверять, но он работает блочно

проблема не в способе работы с файлом
карма: 27
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#37: 2009-10-30 12:31:07 ЛС | профиль | цитата
Dilma писал(а):
проблема не в способе работы с файлом

Похоже, что ты прав. Предложенный метод парсирования, не самый лучший, надо применять что-то другое, а не StrMask
------------ Дoбавленo в 12.53:
Сейчас проверил быстродействие чтения SharedStream, скорость перебора всех строк в файле увеличалась в 4-ре раза. Так что утверждение
Dilma писал(а):
проблема не в способе работы с файлом

не совсем корректно

карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#38: 2009-10-30 13:11:07 ЛС | профиль | цитата
nesco писал(а):
не совсем корректно

nesco, а есть уверенность, что в режиме dtlines файл читается так же как в случае с SharedStream? Я об этом выше и написал:
Dilma писал(а):
4) dtLines - вероятно не самый удачный способ получения строк


user_asm, предлагаю эксперемента ради попробовать такую схему:

code_15457.txt

в качестве результата выдает номер байта, с которого начинается блок, в котором было найдено вхождение строки
------------ Дoбавленo в 13.14:
поиск по ISO образу Windows7 (3.2Gb) слова cab у меня занял около 1минуты. Нашлось несколько сотен вхождений.
карма: 27
0
файлы: 1code_15457.txt [1.8KB] [291]
Ответов: 952
Рейтинг: 4
#39: 2009-10-30 13:16:37 ЛС | профиль | цитата
Жесть, в последней схеме у меня чуть процессор из сокета не выпрыгнул, подождал чутка и загасил программу. Поиск не удался.
А как получить не байты а саму строку?
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#40: 2009-10-30 13:31:33 ЛС | профиль | цитата
Вот, экспериментальная схема чтения твоего лога до 100 Мб, остальное обрежется. Прирост скорости парсирования 4,5 раза

code_15458.txt
карма: 22

0
файлы: 1code_15458.txt [1.9KB] [209]
Ответов: 952
Рейтинг: 4
#41: 2009-10-30 13:36:21 ЛС | профиль | цитата
А где тут имя-файла лога?
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#42: 2009-10-30 13:40:53 ЛС | профиль | цитата
user_asm писал(а):
А где тут имя-файла лога?

В SharedStream прописан, я не стал подавать сверху
------------ Дoбавленo в 13.42:
Короче, вот такой блок дает чтение одной строки со скоростью 2 мксек (у меня)



Add(MainForm,94467,308,350)
{
Width=750
Height=299
Caption="??????? ?? ?????????? ?????"
}
Add(Button,4481738,196,175)
{
Left=20
Top=235
link(onClick,9929879:doOpen,[])
}
Add(Thread,1555007,308,175)
{
Delay=0
FastStop=0
link(onExec,5019261:doEvent1,[(356,181)(356,147)(178,147)(178,258)])
}
Add(Hub,5019261,189,252)
{
OutCount=5
link(onEvent1,6468069:doOff,[(233,258)(233,314)])
link(onEvent2,15640483:doStart,[(219,265)(219,349)])
link(onEvent3,344370:doConvert,[])
link(onEvent4,15640483:doStop,[(212,279)(212,356)])
link(onEvent5,6468069:doOn,[(227,286)(227,321)])
}
Add(LED,6468069,252,301)
{
Left=615
Top=235
Width=115
Height=20
Shape=1
}
Add(TimeCounter,15640483,252,343)
{
Precision=1
link(onStop,94467:doCaption,[])
}
Add(SharedStream,9929879,252,175)
{
FileName="log1.txt"
CoreName="Log"
PageMem=1600
Point(Position)
link(onOpen,1555007:doStart,[])
}
Add(Convertor,344370,252,266)
{
Mode=11
link(onResult,15190864:doEvent1,[])
link(Data,9929879:Stream,[])
}
Add(StrList,2597292,357,203)
{
}
Add(Hub,15190864,301,266)
{
link(onEvent1,2597292:doText,[(336,272)(336,230)])
link(onEvent2,8063459:doEnum,[])
}
Add(ArrayEnum,8063459,371,273)
{
link(Array,2597292:Array,[])
}


Лог на 1,5 Мб перебирается за 34 мсек, с парсером 2160 мсек. Ну и кто тут тормозит

карма: 22

0
Ответов: 952
Рейтинг: 4
#43: 2009-10-30 13:42:35 ЛС | профиль | цитата
Хмммм, не вижу я такого элемента на схеме Сейчас переустановлю ХайАсм.
У меня какой-то PointElement после кнопки.

Учту Сейчас и я буду работать в самой последней версии.
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#44: 2009-10-30 13:45:28 ЛС | профиль | цитата
user_asm, на будущее, я работаю только в самой последней версии, так что -- имей в виду. Все, на чем я работаю, есть, либо в релизе, либо на SVN, и я не использую сторонние компоненты
карма: 22

0
Ответов: 952
Рейтинг: 4
#45: 2009-10-30 13:58:33 ЛС | профиль | цитата
nesco,
Здесь есть какие-то ограничения на размер файла?
Странно но при изменении слов для поиска - схема не работает. Сразу загорается красный.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)