えー、「catはposix_fadivse(SEQUENTIAL)してるからOSに指示する先読み量が2倍になる」が正しい説明じゃないの? 参考: http://t.co/7ugqN3FKy2 の Notes / “大きなテキストフ…” http://t.co/fjxagg5yke
![Kazuho Oku on Twitter: "えー、「catはposix_fadivse(SEQUENTIAL)してるからOSに指示する先読み量が2倍になる」が正しい説明じゃないの? 参考: http://t.co/7ugqN3FKy2 の Notes / “大きなテキストフ…” http://t.co/fjxagg5yke"](https://cdn-ak-scissors.b.st-hatena.com/image/square/19cf861fd709230842ff3958bb884155aa853e85/height=288;version=1;width=512/https%3A%2F%2Fpbs.twimg.com%2Fprofile_images%2F1598899839882133504%2Fq5uef5bb.jpg)
えー、「catはposix_fadivse(SEQUENTIAL)してるからOSに指示する先読み量が2倍になる」が正しい説明じゃないの? 参考: http://t.co/7ugqN3FKy2 の Notes / “大きなテキストフ…” http://t.co/fjxagg5yke
以下、長々と書いてますが、結論は ”私の環境で”大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablogに書いてます はじめに awk file より cat file|awk のほうが速いという以下のブログエントリが興味深いので調べてみました。 ちなみに cat file|awk が速くなる環境は稀で、巷では awk file のほうが速い環境のほうが多いようで、どちらが速いかは環境依存です。 [root@localhost sample]# cat command1 awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' sample.txt > result1.txt (中略) [root@localhost sample]# time sh command1 real 0m53.92
追記が増えたので整理 経緯 2.5GBのテキストファイルを加工する必要があり、①vimで開いて加工→vim死亡②sublime textで開いて加工→sublime text死亡となったため、awkを用いて以下の様なコマンドを実行した。 $ cat sample.txt | awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' > result.txt すると 「catいらなくね?」と指摘 さらにMATSUMOTO, Ryosuke (@matsumotory) | Twitter < 「キャッシュに入れて高速化してるんかと思った」 とコメントをもらいました。ので、どっちが速いかの検証です。 注意 加工の目的はログファイルからある期間だけの行を抜き取りたい 正規表現がいけてないのは気にしない 比較 awkにファイル指定す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く