|
|
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
добавим ещё Алгоритм Бойера — Мура как самый простой для понимания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 10:09 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)добавим ещё Алгоритм Бойера — Мура как самый простой для пониманиядык я с этого начал white_niggerА что, алгоритмы группы BM для быстрого поиска уже отменили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 10:21 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
white_nigger, да ссылочка на всякий случай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 11:19 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
white_niggerА что, алгоритмы группы BM для быстрого поиска уже отменили? А фиг его знает - я его не реализую пожалуй!..)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 13:18 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Bellic, у тебя ужо всё есть и работает? токо скорость не устраивает? али как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 13:26 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
kep-koBellic, у тебя ужо всё есть и работает? токо скорость не устраивает? али как.я уже писал.. на TByte на реальных данных файла в 9Мбайт прога работает чуть меньше 2-х минут, в принципе - я не спешу ни куда, зато алгоритм прозрачен полностью! Сейчас реализовал на RawByteString + Pos(), но в начале цикла накуралесил чуток - зацикливается прога, никак не удается сосредоточиться, чтоб исправить алго... а сюда стыдно недоделку выложить!..(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 13:38 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Bellic9Мбайт прога работает чуть меньше 2-х минут На 9мб должно работать за 0-16 миллисекунд примерно. Т.ч. есть поле для экспериментов :) P.S. На AnsiString (RawByteString) не может оказаться быстрее, чем при работе с байтами. В лучшем случае, если всё правильно сделать (и компилятор всё правильно сделает своей магией работы с автоматическими типами) - так же по скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 13:41 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
YuRock, авторНа 9мб должно работать за 0-16 миллисекунд примерно. Т.ч. есть поле для экспериментов :) 9 Метров - это Бин-файл, а еще есть второй файл с фразами Поиска и Замены, от куда они читаются и потом ищутся и меняются в первом файле...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 13:52 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
19.01.2018 13:52, Bellic пишет: > а еще есть второй файл с фразами Поиска и Замены, от куда они читаются и потом ищутся и меняются в первом файле...) если фраза для поиска не одна, имеет смысл наплодить потоков по количеству фраз. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 13:55 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийесли фраза для поиска не одна, имеет смысл наплодить потоков по количеству фраз. Если 2-я замена зависит от 1-й, то надо последовательно делать всё равно. Bellicеще есть второй файл с фразами Поиска и Замены, от куда они читаются Тогда ОжидаемоеВремя = КолвоЗамен*( 0 тире 16мс ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 14:01 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
19.01.2018 14:01, YuRock пишет: > Если 2-я замена зависит от 1-й, то надо последовательно делать всё равно. притянуто за уши Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 14:03 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
YuRock, автор Если 2-я замена зависит от 1-й, то надо последовательно делать всё равно. Замены не зависят друг от друга, но надо делать последовательно, ибо позже введу туда вывод ИНфы для юзера и Подтверждение или Пропуск замены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 14:19 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
19.01.2018 14:19, Bellic пишет: > Замены не зависят друг от друга, но надо делать последовательно, ибо позже введу туда вывод ИНфы для юзера и Подтверждение или Пропуск замены. замены естественно делай последовательно. после того, как ВСЁ найдёшь. а вот сам поиск выполняй в разных потоках. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 14:21 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Bellicстыдно недоделку выложить!..(([/i]де не дрейфь, мы хоть алгоритм осознаем, японский подучим )), ну и кодоидей подбросим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 14:53 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)добавим ещё Алгоритм Бойера — Мура как самый простой для понимания Самый простой?.. Да КМП, что выше писали, проще на порядок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 15:05 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
BellicА фиг его знает - я его не реализую пожалуй!..))Найди готовый. Или в гугле забанили? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 17:21 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
BellicYuRock, авторНа 9мб должно работать за 0-16 миллисекунд примерно. Т.ч. есть поле для экспериментов :) 9 Метров - это Бин-файл, а еще есть второй файл с фразами Поиска и Замены, от куда они читаются и потом ищутся и меняются в первом файле...) Рефал что ли изобретаешь? для поиска всего и сразу используются вариации автоматных алгоритмов, Axo-Карасик например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 17:23 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Кстати, согласен Если искомых строк несколько, то предложенный мной вариант не катит В таких ситуациях нужно делать хеш от первого символа В идеале array[Char] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 18:01 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUЕсли искомых строк несколько, то предложенный мной вариант не катит В таких ситуациях нужно делать хеш от первого символа А если делать от первых трёх, то будет ещё быстрее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 20:17 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
alekcvp, 3 байт или 3 юникодных символов? В любом случае размер быстрого массива становится большим :) А хеш в привычном смысле будет долгим для каждого символа. Ну и потом, кто сказал, что искомые строки обязаны состоять из 3+ символа? Твой вариант такой ситуации не предполагает )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 20:32 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Интересно, а у автора - включена ли галочка оптимизации?? Вообще. Как мне кажется, проект надо его - полностью пересматривать с точку зрения логики. Зачем он ищет в файлах ? И что это, за файлы ??? Что - то вроде архива ???? Если что - то вроде архива, то не легче было создать структурированную базу в начале файла, так называемый PE заголовок, который хранить адреса в фала (Смещения чтения) Нужных текстов, и их размер (С так далее) .... Тогда бы работа с гигантскими файлами занимала считанные секунды, зная к каким данным - в какой области мы обращаемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 23:30 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Кстати, notepad ++ в файле размером 28,5 МБ (29 944 822 байт) ищет слово "ІеРюdx" за 2 секунды буквально. Которое находится в самом конце файла Вот там алгоритм мощный.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 23:35 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Няшик, а ты SQL где-нибудь используешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 00:12 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
чччДНяшик, а ты SQL где-нибудь используешь? Доводилась используй MySql из PHP пару десятков раз. Я кстати, нашёл алгоритм поиска в файле в notepad ++ https://github.com/notepad-plus-plus/notepad-plus-plus/blob/51797bf59e689b11d80998758790f8a4cade68eb/scintilla/src/Document.cxx#L1648 Обычный while и for .... Интересно, а чего так быстро работает? Неужели компилятор c++ такой быстрый xD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 00:26 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39587385&tid=2041298]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 531ms |

| 0 / 0 |
