タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

regexpとgolangに関するa2ikmのブックマーク (2)

  • なぜGo言語の正規表現は遅いと言われるの? - Qiita

    はじめに Goの正規表現は遅いと言われていることが以前から疑問だったので調査してみました。 こちらの記事やこちらの記事を拝見する限り ① 現実的なユースケース(例えばURLのパースなど)ではGo言語の正規表現は使うべきではなく、stringsパッケージの標準の関数を利用した方がパフォーマンスとしては良い。 ② Go言語で正規表現を利用するために必要な"正規表現オブジェクト"を並行にアクセスするにはパフォーマンスが問題になるので注意が必要。 とあります。その理由は、それぞれ以下に集約できるようです。 ① Go言語標準の正規表現ライブラリは、正規表現と検査文字列の長さに対して常に$O(n^2)$のオーダーで計算量が増加する安定したアルゴリズムを採用している。 ② "正規表現オブジェクト"を用いたマッチング処理には排他制御が行われている。 調べてみる Go言語のpkg/regexpの公式ドキュメ

    なぜGo言語の正規表現は遅いと言われるの? - Qiita
    a2ikm
    a2ikm 2019/08/26
    コメントも含めて面白い。
  • Goの正規表現エンジンを使ってファジング用ツールを書いてみる - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のコリン・ファースです。この記事はGo Advent Calendar 2014の21日目の記事です。昨日初サバゲーしたら、左手の薬指の爪のどまんなか含め、ピンポイントに左手の薬指3箇所を撃たれて、めっちゃ痛いです。 ところで今年のGo Advent Calendarではすでに2の記事が正規表現に関する記事が上がっています。 Go で Language Benchmark Game に挑戦して惨敗した - Qiita by @methane Go - Luceneで使われてるFSTを実装してみた(正規表現マッチ:VMアプローチへの招待) - Qiita by @ikawaha @methane さんの記事の中では「Goの正規表現エンジンが遅い」という話が出ていました。また @ikawaha さんの記事では丁寧にVirtual Machine Approachな

    Goの正規表現エンジンを使ってファジング用ツールを書いてみる - YAMAGUCHI::weblog
    a2ikm
    a2ikm 2017/02/14
  • 1