2023-11-24

anond:20231124190618

1200万行のソート自体が重そうだからなあ

sortコマンドメモリ極小環境下でも使えるように一時ファイルに書き出してマージソートしてるらしいか

メモリいっぱいあるなら--buffer-sizeオプションメモリたくさん使えるようにしたらファイル入出力が減って速くなるかも

-S, --buffer-size=SIZE

use SIZE for main memory buffer

記事への反応 -
  • 今、趣味のプログラム書いてて、その過程で cat texts.txt | sort | uniq | grep -v '[0-9]' > texts_fix.txt とかやってるんだけど、これがまた遅い 1200万行ぐらいのファイルを使ってるんだが、何かも...

    • 1200万行のソート自体が重そうだからなあ sortコマンドはメモリ極小環境下でも使えるように一時ファイルに書き出してマージソートしてるらしいから メモリいっぱいあるなら--buffer-sizeオ...

    • grepしてデータ絞ってからsort uniqしたら速くなるかもよ。

    • シェルスクリプトよりはPythonのほうが数倍速いんじゃないか

      • シェルスクリプトは多分Cで書かれてるからそれなりに早い希ガス pythonはループが多い場合は遅くてしんどい

        • それはなくない? 昔色々比べてみたけど、コマンド一発で済むような場合を除けば、シェルスクリプトはループとか激遅だったと思う

          • ほら、これが証拠だ https://github.com/coreutils/coreutils/blob/master/src/sort.c https://github.com/coreutils/coreutils/blob/master/src/uniq.c https://git.savannah.gnu.org/cgit/grep.git/diff/src/grep.c

        • コマンドはCで書かれていても、汎用的な処理を連結してるわけじゃん。 別にpythonに限らないけど、プログラミング言語で同様の処理を書くならロジックに工夫の余地があるから速くでき...

          • いや、実行頻度が多くないからこそこのコマンドを使ってる。 それで実行も完了したので、やはりそれなりに効率性は高かったと思う。 ワイが実行完了するまでの数分間を待てなかった...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん