Вверх ↑
Этот топик читают: Гость
Ответов: 1304
Рейтинг: 405
#121: 2009-11-07 00:03:15 ЛС | профиль | цитата
nesco писал(а):
А если их несколько

Мне видится как последовательная выдача данных; найденная строка( onSearch)- вхождение(onPosition)
ps:попутно проверял поиск слова в десяти файлах, общим объёмом 42 Мб - результат 0.3 секунды.
карма: 3

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#122: 2009-11-07 00:15:49 ЛС | профиль | цитата
MAV писал(а):
результат 0.3 секунды

Это что -- плохо
------------ Дoбавленo в 00.17:
MAV писал(а):
Мне видится как последовательная выдача данных; найденная строка( onSearch)- вхождение(onPosition)

А не проще ее еще раз пропарсить, если надо, чтобы не засорять компонент лишними действиями. Не всем же это надо
карма: 22

0
Ответов: 1304
Рейтинг: 405
#123: 2009-11-07 00:28:30 ЛС | профиль | цитата
nesco писал(а):
Это что -- плохо

Очень даже хорошо
nesco писал(а):
А не проще ее еще раз пропарсить

А разве у меня есть выбор
nesco писал(а):
чтобы не засорять компонент лишними действиями.

Понятно что пострадает быстродействие элемента, но на сколько, на 5% или 50%?
nesco писал(а):
Не всем же это надо

К примеру логов в 200 Мб я не видел, а вот книг по 28000 шт. с одного диска видел.

карма: 3

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#124: 2009-11-07 00:34:32 ЛС | профиль | цитата
MAV, я еще раз спрошу -- а если вхождений текста в строке не одно, а несколько, как ты себе видишь выдачу их позиций

MAV писал(а):
К примеру логов в 200 Мб я не видел

Гы. А люди тут 400 Мб пытались парсить.
карма: 22

0
Ответов: 4641
Рейтинг: 334
#125: 2009-11-07 00:57:13 ЛС | профиль | цитата
nesco,

а можно что бы текст поиска по маске можно было задавать? или замедлит круто?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1304
Рейтинг: 405
#126: 2009-11-07 01:20:48 ЛС | профиль | цитата
nesco, в данном случяе могу обяснить только на пальцах, или элементах.


карма: 3

0
Ответов: 4641
Рейтинг: 334
#127: 2009-11-07 01:25:57 ЛС | профиль | цитата
MAV, а как эту идею с позицией вхождения в байтах...применить в практике....
практическое применения метода?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#128: 2009-11-07 01:47:22 ЛС | профиль | цитата
Ravilr писал(а):
а можно что бы текст поиска по маске можно было задавать? или замедлит круто?

Не то слово круто, а очень круто
MAV писал(а):
в данном случяе могу обяснить только на пальцах, или элементах

А что, проще нельзя не в элементах, а в аргументах. Первое предложение было ARG(String, Pos). Вот теперь, то же самое, но для нескольких Pos. Но предупреждаю сразу, что это сильно затормозит поиск, по причине дополнительного распарсивания строки, возможно, неколько раз.

Млин, вы же сами пытаетесь затормозить все, а мы увеличиваем скорости компонентов, тогда вопрос -- зачем, когда ваши желания убъют любые положительные начинания

Вообще-то, наилуший вариант -- это дополнительное распарсивание на базе FTCG, без всяких переделок компонента, по причине того, что создание MT-потока, в каждом найденном элементе, не кисло сведет на нет все прибавки скорости
карма: 22

0
Ответов: 1304
Рейтинг: 405
#129: 2009-11-07 01:52:42 ЛС | профиль | цитата
Ravilr писал(а):
а как эту идею с позицией вхождения в байтах...применить в практике....
практическое применения метода?

Ravilr, это позволит открыть текст без повторного парсинга найденного документа, зная местоположение строки можно не загружать файл в память, а прочитать необходимое количество строк.
nesco писал(а):
Млин, вы же сами пытаетесь затормозить все, а мы увеличиваем скорости компонентов, тогда вопрос -- зачем, когда ваши желания убъют любые положительные начинания

nesco, полностью осознал свою вину , лучше быстродействие при поиске в ста файлах, и повторный парсинг в одном где найден необходимый текст.
ps:прицепил файл (searchinfile_sha) тремя постами выше


карма: 3

0
файлы: 1searchinfile_sha.rar [973B] [119]
Ответов: 4641
Рейтинг: 334
#130: 2009-11-07 01:57:32 ЛС | профиль | цитата
MAV, понял. Но как сказал выше nesco, о скорости...думаю этот функционал не надо включать в компонент.
Пусть работает шустро, как есть!
------------ Дoбавленo в 02.00:
Или создать еще компонент с приставкой Ex со всеми хотелками
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#131: 2009-11-07 10:34:20 ЛС | профиль | цитата
MAV писал(а):
nesco, в данном случяе могу обяснить только на пальцах, или элементах.
Ravilr писал(а):
Или создать еще компонент с приставкой Ex со всеми хотелками
MAV, сам то знаешь чего хочешь
Ravilr, хотелок не наблюдаю.
1.На фига при поиске знать позицию вхождения ?
Нашел строку с нужным словом и крути её как тебе нужно - узнавай позицию. Да хоть по буквам анализируй.
Насколько я понял- тебя интересует позиция строки в байтах в которой найдено слово .
2.Тоже самое с двумя или с сотней слов. Вот чел спрашивал: "А как искать по двум словам". Очень просто - нашел строку по первому и проверь её на второе. Есть? В копилку её. Но тут уже нужно подумать, какое слово пустить первым, а какое вторым.
Простой пример из баз данных:

Select * from baza Where street="Строителей" and fam="Иванов";

Select * from baza Where fam="Иванов" and street="Строителей";
Эти два запроса по времени выполнения для России отличаются примерно раз в 500, потому что таких улиц всего 3 000, а Ивановых 1 500 000.
Обычно движок БД обрабатывает запрос "задом на перед" создавая промежуточные файлы.
В первом случае в первом промежуточном файле будет 1 500 000 записей
Во втором случае в первом промежуточном файле будет всего 3 000 записей
Выводы делай сам.

------------ Дoбавленo в 10.43:
MAV писал(а):
прицепил файл (searchinfile_sha) тремя постами выше
Ну и что там за позиция?
Прога выдает для 777 - 35, а на самом деле позиция для 777 = 31

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#132: 2009-11-07 13:29:49 ЛС | профиль | цитата
Довесил МТ-поток (не выкладывал, чисто для тестирования). Быстродействие упало на 50%, но не больше 1,5 сек для 117 Мб на всей схеме. Вот только я не понял одного -- нафиг нужна это позиция текста в строке, когда в распоряжении сама строка
------------ Дoбавленo в 13.33:
Tad писал(а):
Насколько я понял- тебя интересует позиция строки в байтах в которой найдено слово

И как это предполагается сделать при нашем подходе к перебору строк.

Да, кстати, можно сделать еще компонент тупого перебора всех строк в файле, типа EnumStrInFile
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#133: 2009-11-07 13:48:47 ЛС | профиль | цитата
nesco писал(а):
Да, кстати, можно сделать еще компонент тупого перебора всех строк в файле, типа EnumStrInFile
Нафига ?
При подстроке для поиска = " " помоему у этого (уже имеющегося компонента) на выходе будут все строки.
Кроме однословных предложений.
Украинский совет писал(а):
Не ищи в жопе сердце.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#134: 2009-11-07 13:57:08 ЛС | профиль | цитата
Tad писал(а):
При подстроке для поиска = " "

А типа "/1", нельзя задать, там такого точно не будет
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#135: 2009-11-07 14:51:52 ЛС | профиль | цитата
При /1 на выходе строки не будет, а при " " пробеле или точке "." (если текст грамотный) будут все строки по одной от начала и до конца текста.
Ты ж вроде хотел
nesco писал(а):
сделать еще компонент тупого перебора всех строк в файле

------------ Дoбавленo в 14.57:

------------ Дoбавленo в 15.15:

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)