32bitホストOS上で64bitゲストOSが走るという話
VirtualBoxやVMwareは、ホストマシンのCPUがIntelVTかAMD-Vに対応している場合には32bitホストOS上で64bitゲストOSが走るらしい。
この事をまったくしらなくて、単純に凄いなっておもった。
けど、実際性能はどうなんだろうって思ったのでとりあえずベンチマーク。
テスト環境
- ホストOS
- 32bit版のWindows Vista HomePremium
- CPUはCore 2 Duo P9500(2.53GHz)
- ゲストOS
- VirtualBox上のLubuntu 11.04を32bitと64bitで構成
- CPUコアは1で、メモリは1024MB。
ベンチマーク手段
Linux用の良いベンチマーキングソフトを知らなかったので、C言語で再帰的にフィボナッチ数列を求めるプログラムを適当に書いてこれを使った。
#include <stdio.h> int fib(int n) { if (n < 2) { return n; }else{ return fib(n-1) + fib(n-2); } } int main() { printf("%d",fib(40)); return 0; }
こいつをgccでコンパイルして(最適化オプション無し)、timeコマンドをつけて実行、userCPUの時間を測ってやる方針。
結果
とりあえず3回測って、その平均辺りで評価しようと思った。
回数 | 32bitゲスト | 64bitゲスト |
---|---|---|
1回目 | 8.829[s] | 10.06[s] |
2回目 | 8.805[s] | 10.09[s] |
3回目 | 8.845[s] | 10.05[s] |
平均 | 8.826[s] | 10.07[s] |