先日、社内で highway のアーキテクチャの話をする機会があったので、スライドを作って話しました。秘密情報というわけでもないので、せっかくなので公開したいと思います。ということで、この記事では highway のアーキテクチャを簡単に紹介します。C で実装されており、実装にあたっては既存のツールよりも高速に動作させるためにいくつもの工夫をしたので highway の内部がどうなっているのか興味がある方は読んでみると面白いかもしれません。 highway についての詳細はこちら。 highway という高速検索ツールを作ってみました 資料 以下、補足や簡単な説明などをつらつらと。 文字列探索アルゴリズム highway ではリテラルによる検索は、以下の論文を参考に実装しています。 A simple fast hybrid pattern-matching algorithm 通称 FJS
![文字列検索ツール highway は "高速" を謳うために何をやってきたのか · けんごのお屋敷](https://cdn-ak-scissors.b.st-hatena.com/image/square/7e3aa7cd0b0cb85924a3021dd0ed7cff0fdfb764/height=288;version=1;width=512/http%3A%2F%2Ftkengo.github.io%2Fassets%2Fimg%2F2015-10-13-architecture-of-highway%2Fcoloring_hw.png)