テクノロジー

「正規表現が0.002ミリ秒遅かった」という理由だけで、全角/半角判定をすべて『ビット演算』で実装した話 - Qiita

1: amd64x64 2026/06/19 02:10

WASMかN-APIで書いたら

2: dollarss 2026/06/19 02:43

“「正規表現エンジンのオーバーヘッド……許せねぇ……!」”気持はわかるけど実装しちゃうかなwめんどくさいを排除するためにどんなにめんどくさい事も厭わないソフトウェアエンジニアあるある

3: ilyaletre 2026/06/19 05:37

解決する問題を絞ることで仮定を作って最適化する。一般から特殊に解法をフォーカスさせる。お手本だ。

4: sgo2 2026/06/19 06:58

多分素直な数値比較が最速のはず

5: crimson_diamond 2026/06/19 06:59

失敗の共有素晴らしい、そう、爆速にこだわるなら、言語の選定から間違えている

6: chiroruxx 2026/06/19 07:35

それを半角と呼んでしまうのは危うい

7: korilog 2026/06/19 07:37

言語変えた方が早くない?

8: suka6411144 2026/06/19 08:15

比較と変わらないのはそれはそう、結局引き算するだけだしビット演算と対してコストは変わらない

9: dalmacija 2026/06/19 08:16

Java……Script……???でもこういうスタイルは好き

10: otoku-memo 2026/06/19 08:20

記事もコードもAIで書いてんのに12時間もかかるわけないと思うんだが…

11: mohno 2026/06/19 08:38

「正規表現で /[^\x20-\x7E]/ とか使えば一発じゃん」→そんなわけないよな、と思ったら、そんなわけなかった。むしろこんなシンプルな判定に正規表現を使う気はしないくらいだが、JavaScriptだからか意外に差がないんだな。

12: shodai 2026/06/19 08:57

“正規表現の落とし穴:\xA1-\xDF では半角カタカナを判定できない”

13: strawberryhunter 2026/06/19 08:59

数GBのログか。以前Perlで書いたら死ぬほど遅くてJavaで書いたら一瞬だったからNode.jsも一瞬だろう。でも良いと思う。

14: hecaton55 2026/06/19 09:12

興味深い

15: auto_chan 2026/06/19 09:14

たのしそうでよかった。プログラミングのおもしろさだね~。

16: sucelie 2026/06/19 09:24

10円安い商品のために隣町まで車で行くような話

17: tk_musik 2026/06/19 09:28

個別最適を実装してるときが一番楽しい。/ネットメディアに書いてもらったら見出しは「3倍超の速度アップに成功!」となり、最後に標準ライブラリは何をやってるのか的な批判で終わるんやろなぁ。

18: tofu-kun 2026/06/19 10:09

楽しそう

19: moxtaka 2026/06/19 10:22

前世紀の頃、SJISとJISとEUCでそれぞれマルチバイト判定をどうするかみたいなのは割とあるあるなテーマだった気がする。(まだUTF-8は一般的じゃなかった)

20: hiront_at_nagoya 2026/06/19 10:31

isascii()使えば良くね? と思ったらJava scriptなのね。

21: Angelfish3578 2026/06/19 10:45

ウケた「実務で使ったらコードレビューで燃やされます」