Tad писал(а):
И даже быстрее всехА размер, в сравнении со штатным

Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad писал(а): И даже быстрее всехА размер, в сравнении со штатным ![]() |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Добавил тестовую прогу
Размер еще не смотрел - это нужно отдельно компилировать. Но раз быстрее, то не важно. |
|||
карма: 25 |
| ||
файлы: 1 | testposex.sha [8.2KB] [170] |
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad, но... Ассемблерный пример не хочет компилится под FPC. Ravilr не поймет
|
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
и FPC нормально полюбит. ![]() Это Delphi умный сделал паскалевские скобки за тебя. ![]() ------------ Дoбавленo в 00.40: С begin end FPC -нормально считает, а Delphi врет ![]() Смотреть надо. Кто там силён в АSМе ? |
|||
карма: 25 |
| ||
Голосовали: | nesco |
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad писал(а): Это Delphi умный сделал паскалевские скобки за тебяСтранно, а в Kol совсем по-другому, но как там -- не прокатывает, значит, еще чего-то забыл прописать в качестве инструкций ------------ Дoбавленo в 00.46: Tad писал(а): Кто там силён в АSМе ?Ага, Галков, Wolfik, tsdima и Кладов, ищи их ![]() |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco, а условия поставь на Begin и End
|
|||
карма: 25 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad писал(а): а условия поставь на Begin и EndА зачем, оно и так прекрасно работает в обоих компиляторах. У меня этот код чуть медленнее работает, чем штатный на твоем примере, на коротком примере -- быстрее, процентов на 10 |
|||
карма: 22 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad, я так и думал, что ты черте что проверяешь, а не мой последний код Boyer-Moore, который я для тебя выложил с заключительной редакцией. Он дает нещадную фору всем, у меня, по крайней мере. Это действительно -- самый быстрый код, а если его на Asm реализовать...
|
|||
карма: 22 |
| ||
файлы: 2 | testposex_1.sha [8.3KB] [174], test_001.png [12KB] [415] |
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): А зачем, оно и так прекрасно работает в обоих компиляторах. nesco писал(а): я так и думал, что ты черте что проверяешьASM проверяю. Последний код что я выложил с условием - прекрасно и правильно работает с обоими компиляторами. |
|||
карма: 25 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad писал(а): А что я должен проверять ? Ткни пальчикомМлин, а для кого я выкладывал последнюю редакцию кода Boyer-Moore в посте от 21 Apr 2010 22:11 77.106.254.232 ![]() ------------ Дoбавленo в 01.12: Tad писал(а): Последний код что я выложил с условием - прекрасно и правильно работает с обоими компиляторамиЗабить на него надо, он слабее Boyer-Moore |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Без условия в Delphi врет
|
|||
карма: 25 |
| ||
файлы: 2 | anew.png [19.1KB] [287], abm.png [19.3KB] [280] |
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Tad, ты чего мне тут втираешь, почему исключил из проверки Boyer-Moore, я тебе исправленную версию тестовой проги выложил
![]() Че ты прицепился к этому NewPosEx ![]() ------------ Дoбавленo в 01.23: Tad писал(а): Без условия в Delphi вретГде врет, не вижу ![]() |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
![]() nesco писал(а): я тебе исправленную версию тестовой проги выложил Проморгал. Сегодня одновременно на трёх компах работаю. Завал. ![]() ![]() ------------ Дoбавленo в 01.29: nesco писал(а): Где врет, не вижу |
|||
карма: 25 |
|
Разработчик
Ответов: 26200
Рейтинг: 2137
|
|||
Ну и че, что лучше-то
![]() |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||||||||
Завтра попробую сделать на ASM на чисто строковых командах процессора (если разгружусь).
По идее должно быть еще быстрее. Т.е. продолжение следует. Всё. Свои тесты запустил. Спокойной ночи. ------------ Дoбавленo в 13.38: Алгоритм Бойера-Мура можно запускать (спасибо Alex2) На длинных строках и длинных SubStr работает отлично. На строках до 64 кб и SubStr до 255 байт - быстрее работает Asm-вариант. Размеры
|
|||||||||
карма: 25 |
|