bogrus А откуда эта инфо: Если речь о тиках, а не тактах из справочника, то у меня получается ~7.5 и ~3.4 соответственно. И add с частью...
bogrus 32 перехода jnz в 3 раза быстрее чем 8 переходов?? Мдя... Вот уж действительно народ правду говорит: интел-отстой :) Или дело в shl?...
Если размер и ebx не поджимают, можно ещё быстрее (69 тиков) mov eax,offset bin_str call bin2hex align 16 bin2hex:...
А в чём тупость? Можно такой вариант (возможно тоже тупой): mov eax,offset bin_str call bin2hex align 16 bin2hex:...
fts1 можно ускорить ещё на ~3-4%, если нормально инициализировать таблицу: я её для отсутствующих в строке символов проинициализировал значением...
У меня наоборот, за счет перехода к двордам: был movzx eax,[из тбл]-> add esi,eax заменил на add esi,[из тбл]. прибавилось 7-9% скорости. Далее...
То, что последний символ для fts - это его слабое место, понятно. У меня есть 3 мысли в эту сторону: 1. Если после проверки байта [esi+16]...
В общем, прогнал две процедуры через windows.inc и ml.exe. Бойера-Мура не стал писать, т.к. он проигрывает в самом оптимистичном случае ~30% (на...
Ну теперь подробней. О SBM - BM - BMH: Первые два работают быстрее, но это лукавство, они допускают ошибки, что непозволительно в такого...
leo Ха-ха, мой азарт не иссяк :) Ты втихаря изобретал, я тоже времени не терял :) Тоже с таблицей мутил, смещения, на которое надо...
Ошибочка закралась:( в test_1.inc нужно строку call BMHBinsearch заменить на call SBMBinSearch
В аттаче инклюды. 1-SBM, 2-find_dword_scan, 3-BM, 4-BMH. Обрати внимание на 3-BM, он практически по всем тестовым строкам значительно...
Да не пожалел я ничего :) просто не подозревал, что у тебя нет масма и его файлов. Нашел ещё один BM (видимо классический) надо его тоже погонять....
Boyer-1 - SBM, Boyer-2 - BMH. Файл .inc был ограничен до 300000, строки примерно в середине выбирал, в районе 147,4-148,8 кб (наиболее...
Стабильней - это точно. Нашел две реализации Бойера-Мура (прямо в пакете масма оказались:(). Впечатление весьма странное. Обе реализации рабочие,...
Угу, разбить задачу на две - хорошая идея, а то в каше труднее ориентироваться. Новый взгляд тоже дал прибавку. С первой частью проще, а...
Сделал по-двордное сканирование файла. "Файл" - псевдослучайная последовательность 300000 байт. 16 байт выбраны в середине. На Athlon 2200+...
leo Ни фига не забыл :) А если и забыл, то VirtualAlloc его выровнял, нафига равнять ровное :) Где он, твой вариант? Готовый, а не...
leo В теории всё это хорошо, а на практике может оказаться с точностью до наоборот. Надо эти теоретические посылы оформить в процедуру и...
Ну правильно, на то она и затравка :) Если сделать очень шустрый, кто ж тогда улучшать будет? :))) Вариант №2: find_sub_string_1 proc uses...
Имена участников (разделяйте запятой).