kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

見掛け上ロックがないのに、マルチスレッドのほうが遅い?

お久しぶりでございます。土曜日のイベントのために余裕がありません。最初のセッションだと思っていたけど、実は違っていることが分かって、「よっしゃ、小高さんのセッション中資料作れる」と安心している悪いやつです。
さて、昨日ちょっとマルチスレッドでプログラム上リソース競合が発生しない(と思っている)プログラムを書いて4threadで実行させてみたところ、なんと1threadの倍の時間がかかって終了。プログラム見返しても問題ないよなーと思って、今日改めて実行してみると、ちゃんと4倍の速度で終了している…いったいなんだったんだろう。
最初、CRTのfopen_s系の関数使っていたから、CRTの標準ライブラリのどこかでジャイアントロックでもかかっているんじゃないかと思って、CRTのソースを見るつもりまで行っていたのに。