C++ プログラムを最適化しようとしています。カフェ使用です。
私のプログラムを実行すると、caffe は 15 分ごとに約 1GB (!) の情報ログを出力します。これは効率に大きく影響すると思います。しかし、ログをオフにする方法が見つかりませんでした。この質問では、誰かがFLAGS_v
手動で設定することを提案しました。
VLOG
次のコードを使用すると、レベルごとにログを無効にできますが、LOG(x)
ログは影響を受けません。
の最初の行main()
:
FLAGS_v = 1; //disables vlog(2), vlog(3), vlog(4)
VLOG(0) << "Verbose 0";
VLOG(1) << "Verbose 1";
VLOG(2) << "Verbose 2";
VLOG(3) << "Verbose 3";
VLOG(4) << "Verbose 4";
LOG(INFO) << "LOG(INFO)";
LOG(WARNING) << "LOG(WARNING)";
LOG(ERROR) << "LOG(ERROR)";
出力:
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0523 19:06:51.484634 14115 main.cpp:381] Verbose 0
I0523 19:06:51.484699 14115 main.cpp:382] Verbose 1
I0523 19:06:51.484705 14115 main.cpp:386] LOG(INFO)
W0523 19:06:51.484710 14115 main.cpp:387] LOG(WARNING)
E0523 19:06:51.484715 14115 main.cpp:388] LOG(ERROR)
flag
私が知らない別のことがありますか?すべての行をコメントアウトすることを考えてLOG(INFO)
いますが、よりエレガントなソリューションが必要です。(コマンド ライン フラグ ソリューションよりも C++ ソリューションをお勧めします)。