タグ

ブックマーク / hamukazu.com (3)

  • いまさらgrepが10倍高速化したのはなぜか – はむかず!

    最近GNU grepコマンドの最新バージョンがリリースされ、速度が10倍になったとのアナウンスがあった。それを聞いて、なんであんな枯れた技術に10倍もの高速化の余地があったのだろうと不思議に思った人も多いだろう。 ニュース記事:grepコマンド最新版、”-i”で10倍の高速化 家のリリースノート:grep – News: grep-2.17 released [stable] 今回のリリースでは正確には、マルチバイトロケールで、-iオプション(–ignore-case、つまり大文字小文字を区別しないオプション)をオンにした時の速度が10倍くらいになったそうだ。 なぜそんなに速くなったのか?逆を言えば今までなぜそんなに遅かったのか? そもそも、多くの日人にとって「大文字小文字の区別」というと英語のアルファベットか、せいぜいフランス語とかドイツ語とかのアクサン記号・ウムラウトがついたものく

  • Pythonで数値計算のコツ:for文書いたら負けかなと思っている – はむかず!

    転職してから1年とちょっとが経ち、Pythonをメイン言語としてからも同じくらいが経った。最近やっとnumpy/scipyの使い方のコツがわかってきたと思うので、マサカリ飛んでくるのを覚悟でなんか書いてみようと思う。 転職して初めてPythonを使ったというわけではない(実際wafのwscriptとかは書いたことある)が、まあでもほぼ初心者同然だった。学習曲線でいうとPythonはすごく良い言語だと思う。Python体の言語仕様については、わりとすぐに覚えることができた。だが一方、numpy/scipyについては、そう簡単ではなく習得するにはそれなりに時間がかかったと思う。 ケーススタディ たとえば\(N\times M\)行列\(B\), \( M\times L \)行列\( C \), \( M \)次元ベクトル\(a=(a_k)_{1\leq k \leq M}\)が与えられて

  • あっ、急に素数が必要!でも大丈夫 – はむかず!

    @hamukazu 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567969 — 素数生成ボット(ベータ版) (@primenumber_bot) November 26, 2013 例えばこんなときに: RSA暗号の鍵ペアを手動で作りたくなったとき(公開でツイートするからセキュリティ筒抜けですけどね!) おしゃれな自作Tシャツのデザインに お守りに入れて魔除けに クリスマスに素数のプレゼントはいかがですか? 以下解説 これは有名なMiller-Rabinのアルゴリズムというのを使っています。大きな数の素数判定でもわりと高速に計算できます。Miller-Rabinのアルゴリズムについては、ウィキペディアの解説

  • 1