Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#106: 2010-04-23 20:10:31 ЛС | профиль | цитата
Леонид писал(а):
для похожести текста на литературное произведение
У которых все слова лежат в диапазоне от 5-ти до, не помню уже, 15-ти или 20-ти букв ?
Верхние то точки у Вашего RND не работают.

Вот немного подправил и привел в божеский вид
"Тестовый генератор строк"
code_17916.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_17916.txt [8.5KB] [344]
Ответов: 8938
Рейтинг: 824
#107: 2010-04-23 21:06:19 ЛС | профиль | цитата
Tad, ой, Tad уел, но мне простительно - склероз старческий, хаб установил, а линии не провёл но за правку спасибо
карма: 19

0
Разработчик
Ответов: 26200
Рейтинг: 2137
#108: 2010-04-24 01:36:23 ЛС | профиль | цитата
Неее, ребята -- я так просто не сдамся. Я решил детально проверить быстродействие этих кодов, так вот ваш "любимый" ASM код оказался в глубо... (дальше сами догадаетесь где). Я померил реальное время исполнения кода и вот что получил в результате -- 5,5 раз, это вам не петушки грызть



Тестовая схема в аттаче. Что не говори, а против алгоритма не попрешь

Какие теперь будут аргументы в вашу пользу
карма: 22

0
файлы: 2test_4.png [16.6KB] [331], testposex_3.sha [5.6KB] [167]
Разработчик
Ответов: 26200
Рейтинг: 2137
#109: 2010-04-24 03:54:33 ЛС | профиль | цитата
Я вас еще не добил с вашим asm-кодом, который уступает даже обычному посимвольному поиску, что ж, держите последний релиз со встроенным алгоритмом поиска одиночного символа по методу "грубой силы". И тут asm-код облажался


карма: 22

0
файлы: 2test_5.png [15.9KB] [293], testposex_4.sha [11.3KB] [180]
Ответов: 16884
Рейтинг: 1239
#110: 2010-04-24 11:03:49 ЛС | профиль | цитата
У меня - поиск одиночного символа - преимущества не вижу (первые три блока)
и так при длине SubStr до 5-ти знаков. (не работает под FPC)


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

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1test1.png [18.6KB] [321]
Разработчик
Ответов: 26200
Рейтинг: 2137
#111: 2010-04-24 11:06:15 ЛС | профиль | цитата
Tad писал(а):
У меня - поиск одиночного символа - преимущества не вижу

Я не расчитывал на большое преимущество, это защита от дурацкого поиска одного символа, и если оно не больше, а такое же, то нафига там asm код, то что там сделано для одиночного символа гораздо меньше весит, чем этот asm код
------------ Дoбавленo в 11.06:
Tad писал(а):
не работает под FPC

И не будет работать -- там не переделанный ASM
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#112: 2010-04-24 11:08:54 ЛС | профиль | цитата
nesco писал(а):
это защита от дурацкого поиска одного символа
я бы так не говорил. Искать разрешено всё. И 1 и 2 и 3 и 4 и N символов.
nesco, я не против Бойля-Мура.
Попробывать бы Б-М на asm,
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26200
Рейтинг: 2137
#113: 2010-04-24 11:14:30 ЛС | профиль | цитата
Tad писал(а):
Попробывать бы Б-М на asm

Нашел, пробовал, хреново работает, хуже чем оптимизированный Delphi
------------ Дoбавленo в 11.14:
Tad писал(а):
и так при длине SubStr до 5-ти знаков

Б-М у тебя отстает до 5-ти символов, так, что ли
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#114: 2010-04-24 11:18:12 ЛС | профиль | цитата
nesco, Да.
Вернее при 5 почти одинаково - разница минимальная
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26200
Рейтинг: 2137
#115: 2010-04-24 11:20:51 ЛС | профиль | цитата
Tad писал(а):
Вернее при 5 почти одинаково

У меня при 2-х почти одинаково
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#116: 2010-04-24 13:32:21 ЛС | профиль | цитата
Вот мои результаты (в первой строке блока в колонке позиция - SubStr)



И проверь на обыкновенных строках (реальная жизнь)
Обычено при длине <255 ищем что-то поменьше.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1test2.png [19.8KB] [314]
Разработчик
Ответов: 26200
Рейтинг: 2137
#117: 2010-04-24 13:51:23 ЛС | профиль | цитата
Tad писал(а):
Вот мои результаты

Откуда в первой проверке такой результат, я же там поставил другой модуль, а не чистый Бойер-Мур

Ты что, специально искажаешь результат, применяя не оригинальные модули

Вот мой результат на тех модулях, которые я тебе дал




------------ Дoбавленo в 13.51:
А это, вообще -- что-то


карма: 22

0
файлы: 2test_6.png [14.1KB] [251], test_7.png [11.9KB] [320]
Ответов: 16884
Рейтинг: 1239
#118: 2010-04-24 13:54:09 ЛС | профиль | цитата
Модуль из testposex_4.sha
------------ Дoбавленo в 13.54:
nesco писал(а):
Ты что, специально искажаешь результат, применяя не оригинальные модули
nesco, ещё раз повторюсь - я под тебя НЕ КОПАЮ (твоё выражение.)

Наверное больше твои идеи тестить не буду.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26200
Рейтинг: 2137
#119: 2010-04-24 14:31:24 ЛС | профиль | цитата
Tad писал(а):
Наверное больше твои идеи тестить не буду

Не злись, давай нормально проверим все. Но я не мог понять, как в однном случае у тебя получилось 159 msec, и тот же поиск одного символа дал у тебя 363 msec, как со старым модулем, вот я и подумал, что ты воткнул старый модуль. Попробуй лучше результат с цифрами
------------ Дoбавленo в 14.02:
Что мы видим в результате, а все то же, что я и говорил, что asm-код зависит от типа проца, и на регистровых операциях (на чем и построен asm-код) AMD обгоняет Intel в 1,5 раза (88 msec против 135 msec)
------------ Дoбавленo в 14.06:
Как жаль, что я не знаю ассемблер x86, а то бы переложил текущий алгоритм Бойер-Мура на asm. Я попытался начать, но что-то туго дается он мне, слишком неординарные у него заморочки
------------ Дoбавленo в 14.12:
А вот я попытался найти HiasM! в License.txt




------------ Дoбавленo в 14.31:
Tad, двай без обид проверим вот этот вариант неоптимизированного asm-кода Бойер-Мура. Какие результаты он у тебя показывает
карма: 22

0
файлы: 2test_8.png [11.6KB] [317], testposex_6.sha [8.1KB] [202]
Ответов: 16884
Рейтинг: 1239
#120: 2010-04-24 17:06:47 ЛС | профиль | цитата
А вот теперь без обид: или ты выкладываешь не то, что сам тестишь ?
Давай договоримся в Form.Caption ложишь номер теста.
Вот моя картинка (если задать несуществующее слово, то Result= -1 )


------------ Дoбавленo в 17.06:
Позиция на 1 меньше, а время больше
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1test6.png [7.4KB] [268]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)