Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26170
Рейтинг: 2127
#121: 2010-04-24 17:27:42 ЛС | профиль | цитата
Tad писал(а):
если задать несуществующее слово, то Result= -1

Да нет, это оно и есть, я потом убрал это место. Странный результат, однако. Результат этого кода я еще не тестил, то предыдущий тест, ты же просил на короткой строке проверить, вот я и проверил, то 5-й релиз
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#122: 2010-04-24 17:55:31 ЛС | профиль | цитата
nesco писал(а):
Как жаль, что я не знаю ассемблер x86, а то бы переложил текущий алгоритм Бойер-Мура на asm. Я попытался начать, но что-то туго дается он мне, слишком неординарные у него заморочки
Сходи сюда. Может поможет.
http://www.delphisources.ru/pages/faq/base/delphi_and_asm.html
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#123: 2010-04-24 18:06:23 ЛС | профиль | цитата
Tad писал(а):
Сходи сюда. Может поможет

У меня этого добра уже на -дцать метров, включая и Гуйдо Гайбелса по программированию на ассемблере в Delphi, но некоторые команды я, пока, не до конца просек
карма: 22

0
Ответов: 294
Рейтинг: 64
#124: 2010-04-24 18:20:28 ЛС | профиль | цитата
nesco писал(а):
Странный результат, однако

Для полноты картины тоже попробовал.
У меня на Core2Duo E8500 "testposex_6.sha" (HiasM! в License.txt) результат:
Nesco 2753 2
NewPosEx(Asm) 2754 3

карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#125: 2010-04-25 14:32:44 ЛС | профиль | цитата
Tad, если не трудно, проверь проект компонента Position. У меня отвратительно работает на нем Fast алгоритм (asm-код), даже стандартный работает лучше
карма: 22

0
файлы: 1testposex_8.zip [3.5KB] [180]
Ответов: 16884
Рейтинг: 1239
#126: 2010-04-25 16:18:56 ЛС | профиль | цитата
Сейчас на работе. Проверю после 19.00
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 5446
Рейтинг: 323
#127: 2010-04-25 16:37:53 ЛС | профиль | цитата
На моём C2D E6750:

карма: 1

0
файлы: 1position.png [15.9KB] [400]
Разработчик
Ответов: 26170
Рейтинг: 2127
#128: 2010-04-25 16:49:30 ЛС | профиль | цитата
iarspider, проц какой
карма: 22

0
Ответов: 5446
Рейтинг: 323
#129: 2010-04-25 17:59:41 ЛС | профиль | цитата
[offtop]Обновил предыдущий пост[/offtop]
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#130: 2010-04-25 18:09:51 ЛС | профиль | цитата
На AMD Fast должен показать лучше результат. Я не знаю с чем это связано, но вот именно на цифрах asm-код показывает отвратительный результат
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#131: 2010-04-25 21:33:02 ЛС | профиль | цитата
И моих 5-ть





карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2test8.png [2.3KB] [328], posex.png [3.9KB] [291]
Гость
Ответов: 17029
Рейтинг: 0
#132: 2010-04-26 10:31:20 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-15 01:48:56
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#133: 2010-04-26 12:20:36 ЛС | профиль | цитата
И мои три копейки -- я не вижу лучщего алгоритма, чем последняя реализация алгоритма Бойера-Мура, не вижу и все, что бы вы мне тут не говорили. Все результаты тестов на реальных строках говорят именно об этом, а по поискам цифровой последовательности, я вообще молчу
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#134: 2010-04-26 13:52:06 ЛС | профиль | цитата
Просто к слову - nesco, выше я привел список компонент, которые используют PosEx из Share.pas.

Потестил новый Position.
Напомнило анекдот:
Анекдот писал(а):
Подходит человек к перекрёстку.
На перекрёстке камень.
На камне надпись:
"Налево пойдёшь - жену потеряешь,
Направо - тёщу,
Прямо - или то, или то."
Стоит. Думает.
У него спрашивают:
- Почему стоишь? Иди уже.
- Так что мне разорваться ?

Оказался в таком-же положении - а черт его знает, что из трех выбрать
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#135: 2010-04-26 15:15:18 ЛС | профиль | цитата
Короче, сделаем так, я добавлю ABM во все свои компоненты (в STG_ExtractFileFrom нет поиска строки, там методы имеют сходный префикс, а в GamePort -- суффикс), в остальные можно сделать опционально, как в Position, пусть пользователь сам смотрит, что ему надо. Кстати, есть еще один компонент, котороый имеет обычный Pos, но в который тоже можно добавить -- SearchInFile. Саму функцию можно добавить в Share, как альтернативную
карма: 22

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