プログラミング :: 高速なプログラムを書く為に :: 初めに

http://myoga.web.fc2.com/prog/cpp/opti01.htm
「ガイド付き最適化のプロファイル」とかやったことなかった。
ちょっといま、かなりスピードを重視したWindowsプログラム組んでるからこれは参考になるわ。
いい記事。
 
追記。
ところでこの記事、さっきGoogle検索からたまたまたどり着きました。
で、ついさっき、本の虫さんのところで取り上げられてるんだけど…。
リンク先の記事自体はずいぶん前のものだし、本の虫さんはうちを見てるのだろうか。いやいや…。いや、でもタイミングが…。
http://cpplover.blogspot.com/2010/10/blog-post_13.html
というわけで、本の虫さんところの補足情報。
 

MSVCでスタティックリンクのマルチスレッドのランタイムライブラリを使ってはならない。リソースリークが完全に防げないからだ。DLL版は、 DllMainでDLL_THREAD_DETACHを補足することによって、CRTに必要なリソースを開放しているので、リークは起こらない。

まじでー!?
んー…?これってCランタイム関数を呼び出した場合のリーク問題のことかなぁ。
というわけでぐぐる
 
http://codezine.jp/article/detail/235?p=2
これか?

生成物がexeファイルで、かつCRTが静的にリンクされる場合は、実際のところ非常に困難な問題が発生します。

※引用注・前後の文章が重要なので、リンク先で読んでね
とりあえずCreateThereadが問題ありなのは知っていたから、_beginThreadExを使っているわけなんだけど、これで防げてるのかな?
http://d.hatena.ne.jp/NyaRuRu/20060129
補足記事。

TLS Callbacks は PE ヘッダ中にコールバック関数を登録しておくことで EXE ファイルでも DllMain 相当の通知を受けられるというものです.

これでスタティックリンクでも回避可能?
てか、またソース元NyaRuRuさんかよ!いつもありがとうございます!
 
んー…。
多少リークしても、アプリ終了時にOSが回収してくれるだろ。とか思っちゃ駄目ですか。
CRTが動的リンクだと、アプリ起動したらエラー出ましたって問い合わせが多すぎてイヤン…。