ローカルのstatic singleton instance;ってmain関数入る前に初期化さるんじゃなかったの?
それって関数呼び出されるたびにチェック処理入るってことだよね。

たとえばこんなのとか。
s f(){static s i; return i;}

昔は知らんけど今は並行実行保証するために毎回チェックしてるってこと?