読者です 読者をやめる 読者になる 読者になる

てきとうなメモ

本の感想とか技術メモとか

端末への出力とファイルへの出力の速度差

標準出力に大量に出力するようなプログラムを実行する時に、端末に出力してしまうと結構時間がかかる

$ time ruby -e '1000000.times {|i| puts i}'
...
real    0m10.271s
user    0m3.136s
sys     0m3.508s

リダイレクトした方が速い

$ time ruby -e '1000000.times {|i| puts i}' > tmp/out

real    0m0.639s
user    0m0.624s
sys     0m0.015s

意味のない出力だと/dev/nullに入れるべきなんだろうけど

$ time ruby -e '1000000.times {|i| puts i}' > /dev/null

real    0m0.634s
user    0m0.628s
sys     0m0.006s

そこまで大きな差がないか