[FR] Support RE2 regular expression engine

オープン
#1,650 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
cpp

調査の方向性

ファイル、テスト、エントリポイントは指定されていません。まず現在の std::regex の処理と embedder 向け API を見つけ、次に代替の RE2 エンジンを提供する方法を検討してください。無効な式がエラーを報告し、ベンチマークの実行を阻止できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Is your feature request related to a problem? Please describe.
When given an invalid regular expression, Chromium perftests using this library crash.

This is because Chromium compiles google_benchmark with std::regex and with exceptions disabled, and so there's no way for it to recover from a regular expression parsing error.

Describe the solution you'd like
When given an invalid regular expression, an error should be reported and no benchmarks should be run.

The Chromium project already incorporates the re2 regular expression library, so if it was possible for the embedder to provide the re2 engine then this problem could be solved.

Describe alternatives you've considered
Chromium could use the POSIX regex library, but it wouldn't work on Windows. Chromium could use the POSIX regex library on non-Windows platforms, but then behaviour would differ between platforms, which causes a lot of problems.

Additional context
N/A

主要言語
C++
スター
10.5k
フォーク
1.8k
平均マージ
1日 17時間
マージ済み PR(30日)
30

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

google/benchmark のほかの issue

google/benchmark の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。