Портировать алгоритм сравнений строк с PHP на C/C++?

Про алгоритм

Описание и примеры алгоритма можно найти здесь, а его реализацию на GitHub (Gist)



Проблема

Столкнулся с тем, что алгоритм сам по себе медленный (в сравнении со встроенной в PHP функцией similar_text() в десятки раз медленнее), но имхо, качественный.


Причина, по которой не подошла готовая similar_text() её качество (опытный путь). Появилась мысль преобразовать её в собранную программу в надежде на увеличение скорости работы.

Неудачные мои варианты решений

— Хотел применить HipHop PHP, но не осилил установку на 32-битной машине.

— Пробовал написать самому, но осознал, что знаний не достаточно.

Итог

Надеюсь, что кому-то пригодится вариант этого алгоритма на PHP, и буду очень благодарен тем, кто заинтересуется и поможет преобразовать его в C/C++.
  • Вопрос задан
  • 3119 просмотров
Решения вопроса 1
zizop
@zizop
Если вам необходим более быстрый алгоритм поиска подстрок (ну и как следствие — сравнение строк), вы можете попробовать PHP расширение, написанное на C — Fast String Search. В неё используется алгоритм Комменца-Вальтера по аналогии с автоматом Ахо-Корасик, является модификацией алгоритма БМ для множества паттернов.

Может быть такой вариант вам подойдёт. Если же нет — пишите в личку, у меня где-то было исчерпывающее руководство по созданию Hello World расширения для PHP на C, с созданием своей функции, в которую можно впихнуть ваш алгоритм.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект