C++の改行でendlは'\n'の20倍遅い

f:id:peroon:20191008220320p:plain

対象者

  • coutを使っている

確認コード

差分

  • coutの改行でendlを使ったのが1番目、'\n'を使ったのが2番目
  • 500000行ほど出力する必要がある時にendlを使っていると時間制限ギリギリ

対処

  • 普段から改行には'\n'を使う
  • 私の場合はこう(↓)
#define p(s) cout<<(s)<<'\n'

追記:理由

Note that the newline "\n" works faster than endl, because endl always causes a flush operation