nesco писал(а):
FPos > 0 = False -- событие будет только тогда, когда _prop_ZeroPos = 0 (True)При выборе в свойствах False или True ?
Чёт я совсем запутался.

Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): FPos > 0 = False -- событие будет только тогда, когда _prop_ZeroPos = 0 (True)При выборе в свойствах False или True ? Чёт я совсем запутался. ![]() |
|||
карма: 25 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad писал(а): При выборе в свойствах False или True ?Елы палы, индекс с чего начинается -- с нуля ЕМНИП. В данном случае, применяется индексный метод назначения свойств
|
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Признаю - моя вина. Неверно выразился. Я писал "в тексте", а не "в кодах".
Tad писал(а): A если _prop_ZeroPos = 1 Tad писал(а): Ставишь _prop_ZeroPos = 0 (True) и всего делов |
|||
карма: 25 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad, последняя редакция функции, оптимизировал, дальше некуда. У меня результат умопомрачительный, на трех символах поиска ("08) время чтения всего 13 msec, причем, все остальные показываеют паршивый результат
|
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
не вижу. Может ты не то выложил ?
|
|||
карма: 25 |
| ||
файлы: 1 | testpos.png [5KB] [315] |
Ответов: 8938
Рейтинг: 824
|
|||
Tad, а у меня на длинных субстроках в 15-20 раз быстрее штатного, на коротких(4 символа) - в 900 раз, (3 символа) - аж в 20000 раз
![]() ------------ Дoбавленo в 20.53: nesco, так держать! |
|||
карма: 19 |
| ||
файлы: 1 | position.jpg [33.9KB] [257] |
Ответов: 16884
Рейтинг: 1239
|
|||
Ну и кто мне объяснит мои результаты ?
nesco, ты на чем проверял ? Я на списке улиц. |
|||
карма: 25 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Леониди, твой результат и меня ошарашил, что-то не на том ты проверял, тк 28 usec цифра очень нереальная.
Tad писал(а): ты на чем проверял ?На списке улиц, на чем и всегда Tad, у тебя, в компиляторе, включена оптимизация ![]() Для чистоты эксперимента, попробуй вот такую строку компиляции
А может, проц сказывается -- все может быть ![]() |
|||
карма: 22 |
|
Ответов: 8938
Рейтинг: 824
|
|||
nesco, 28 usec - там позиция нашлась на 16-ом килобайте из 100 Мб
|
|||
карма: 19 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Леонид, что за слово искал и где, напиши его здесь. Млин, мне аж интересно стало
|
|||
карма: 22 |
|
Ответов: 8938
Рейтинг: 824
|
|||
nesco, вот со словом, на первой картинке не совсем верно - в код не глядел, а там время выводится
![]() ![]() При переводе в компонент не забудьте свойство предусмотреть: "Первое слева, Первое справа, Найти все вхождения" |
|||
карма: 19 |
| ||
файлы: 1 | position.jpg [57.9KB] [193] |
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Леонид писал(а): Первое справаСовсем другой алгоритм, это на него не расчитан, менять надо. К тому же, никто не собирался из него делать компонент, это попытка найти замену штатному PosEx, который уже сдал позиции, осталось найти то, на что его заменить, то ли на asm-код, то ли на последний алгоритм Бойера-Мура Леонид, IC коды заточены именно под определение скорости алгоритма, а не всей линкованной байды, на которой это время нивелируется ------------ Дoбавленo в 23.44: Вот мой результат |
|||
карма: 22 |
| ||
файлы: 1 | test_9.png [8.1KB] [326] |
Ответов: 16884
Рейтинг: 1239
|
|||
Не получается у меня так
![]() |
|||
карма: 25 |
| ||
файлы: 1 | testaa.png [10KB] [338] |
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad писал(а): Не получается у меня такНу и что, результат-то и у тебя, на AMD, в среднем, не хуже первого алгоритма БМ. На процессоре Intel, результат -- гораздо эффективнее. И, глядя на твои результаты, уже можно сделать выводы, что БМ работает лучше asm-кода, что для меня и требовалось доказать |
|||
карма: 22 |
|
Ответов: 8938
Рейтинг: 824
|
|||
nesco, на рисунке чистое время поиска штатного компонента и последнего IC с искомым словом и его длиной.
Чем длиннее искомая строка, тем меньше время поиска - это понятно для принятого алгоритма, но чем короче строка в которой ищется, тем меньше относительная разница между штатным компонентом и IC - не понятно почему ![]() |
|||
карма: 19 |
| ||
файлы: 1 | position.jpg [66.3KB] [228] |