Linux で実行するのに 1 秒かかるものは、AIX で実行するには 45 秒かかります。私はそのコードを直接掘り下げていませんが、テストとして、別のSOの質問からほとんど何もしない小さなアプリケーションを取得しました:
int main ( int argc, char **argv)
{
int i = 0;
std::vector<int> vec;
vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);
for (i=0;i<100000;i++)
vec.push_back(i);
vec.erase(vec.begin() + 1);
return 0;
}
私は古いコンパイラ (7.0.0.10) を使用していますが、g++ 4.2 の同じコードと比較して、コードの実行速度がどれほど遅いか信じられません。
誰もこれを見たことがありますか?コンパイラをアップグレードするには、多少の作業が必要です。サンプル コードは、ほとんど負荷のないシステムでは約 20 倍 (リアルタイム) 遅くなります。
要求されたボックス仕様の更新:
プロセッサー数: 8 プロセッサのクロック速度: 3504 MHz CPU タイプ: 64 ビット カーネル タイプ: 64 ビット メモリーサイズ: 63232MB 適切なメモリ サイズ: 63232 MB プラットフォーム ファームウェア レベル: EM340_041 ファームウェアのバージョン: IBM、EM340_041 コンソール ログイン: 有効にする 自動再起動: true フルコア: true
AIX での出力:
real 0m0.52s
user 0m0.51s
sys 0m0.00s
Linux での出力:
0.00s real 0.01s user 0.00s system