本ページはアフィリエイト広告を利用しています

【ソース有り】MacのVMwareでExcel使ったときのベンチマーク


MacでWMwareのWin10のExcelで仕事ができるのか?

だいな

MacにVMwareとMS-office365を買うのにVMwareで
動かしたExcelの速度が仕事に耐えうるの知りたい。
このような人に、調査結果を報告します。

1.なぜMac用のExcelを利用せず、Win10用を利用するのか?

WindowsのExcelを仕事で利用する理由
  1. 印刷結果の差です。 これは、Excelの性能差ではなく
    MacとWidowsのプリンタードライバーの性能差だと思います。
    Windowsで印刷した方が余白を少なく用紙一杯に綺麗に印刷できます。
  2. やっぱり、Windowsユーザが多いので作成したファイルを共有する
    とき安心感があります。

2.調査とベンチマーク方法

STEP.1
Excelベンチの実行
 Excel(自作マクロ)でベンチマークプログラムを実行する。
  →「ググり」ましたが、ベンチマークソフトが見当たらなかったので、
   VBAで自分で作成しました。
 簡単なソースですが公開します。 コピペしてぜひ活用してください!
STEP.2
3つのパソコンで比較
 上記ベンチを3台のノートパソコンで比較
  ①Windows10のPC 第8世代 i5
  ②MacbookPro13 第8世代 i7
  ③MacBook12 第7世代 i7
STEP.3
GeekBenchの実行
  GeekBenchとExcelベンチの対応表を作成します。
  GeekBenchの値からExcelの処理速度を推測できるようにします。
それでは、進めていきます。

Excelベンチの実行結果!

第8世代i5のwin10 < 第8世代i7のMacBookPRO13 < 第7世代のi7のMacbook12

i7のMacBookPRO13でi5のWin10マシンより約10秒遅い結果となりました。
→これくらいであれば、仕事で利用できるかなあ


マシンパワーが1番高いのi7のMacBookPRO13のWMwareで実行した結果が
i5のWin10で実行した結果の115%となりました。

マシンパワーが1番低いのi7のMacBook12のWMwareで実行した結果が
i5のWin10で実行した結果の207%(約2倍)となりました。
パソコンLifeBook U
Fujitsu
MacBookPRO13
with WMware
MacBook12
with WMware
1回目60.468sec72.328sec130.172sec
2回目58.719sec68.265sec124.438sec
3回目58.453sec67.688sec120.265sec
4回目59.656sec68.313sec124.109sec
5回目61.234sec66.421sec119.688sec
Ave.59.706sec68.603sec123.734sec

Excelベンチを実施するパソコンのスペックとGeekBench5.0の結果

マシンスペック表
パソコンLifeBook U
Fujitsu
MacBookPRO13
with WMware
MacBook12
with WMware
CPUi5-8365U 1.9GHzi7-8569U 2.8GHzi7-7Y75 1.4GHz
メモリ8GB8GB16GB
OSWin10PRO(64bit)macOS CatalinamacOS Catalina
VMwareFusion11(メモリ2GB)Fusion11(メモリ2GB)
GuestOSWin10PRO(64bit)Win10PRO(64bit)
Exceloffice365
Excel
ビルド12730.20236
office365
Excel
ビルド12730.20236
office365
Excel
ビルド12730.20236

1.LifeBook U GeekBench5.0の結果



2.MacBookPRO13 GeekBench5.0の結果



3.MacBook12 GeekBench5.0の結果

GeekBench5.0、Excelベンチの比較結果

あなたのマシンのGeekBench5.0結果から、Excelベンチの結果を推測してみてください。
パソコンLifeBook U
Fujitsu
MacBookPRO13
with WMware
MacBook12
with WMware
CPUi5-8365U 1.9GHzi7-8569U 2.8GHzi7-7Y75 1.4GHz
メモリ8GB8GB16GB
ExcelBenchAve.59.706sec68.603sec123.734sec
GeekBench
Single
9361086804
GeekBench
Multi
301042141577

Excelベンチのソース

コピペして利用できるベンチがなかったので作りしました。
10個の乱数を発生させ「合計・平均・標準偏差・標準誤差」を計算させた時間をベンチとしました。
Module1.bas

Declare PtrSafe Function GetTickCount Lib "kernel32.dll" () As Long
Sub エクセルベンチ()
   stTimer = GetTickCount

   Worksheets("Sheet1").Cells.Clear    'シートをクリア
  
'    測定する処理
   Worksheets("Sheet1").Cells(1, 1).Value = "値1"
   Worksheets("Sheet1").Cells(1, 2).Value = "値2"
   Worksheets("Sheet1").Cells(1, 3).Value = "値3"
   Worksheets("Sheet1").Cells(1, 4).Value = "値4"
   Worksheets("Sheet1").Cells(1, 5).Value = "値5"
   Worksheets("Sheet1").Cells(1, 6).Value = "値6"
   Worksheets("Sheet1").Cells(1, 7).Value = "値7"
   Worksheets("Sheet1").Cells(1, 8).Value = "値8"
   Worksheets("Sheet1").Cells(1, 9).Value = "値9"
   Worksheets("Sheet1").Cells(1, 10).Value = "値10"
   Worksheets("Sheet1").Cells(1, 12).Value = "合計"
   Worksheets("Sheet1").Cells(1, 13).Value = "平均"
   Worksheets("Sheet1").Cells(1, 14).Value = "サンプル数"
   Worksheets("Sheet1").Cells(1, 15).Value = "標準偏差"
   Worksheets("Sheet1").Cells(1, 16).Value = "標準誤差"

   For i = 1 To 10000
       For j = 1 To 10
           Randomize               '乱数系列初期化
           Worksheets("Sheet1").Cells(i + 1, j).Value = Rnd
       Next
      
       Worksheets("Sheet1").Cells(i + 1, j + 1).Value
            = "=Sum(A" & i + 1 & ":J" & i + 1 & ")"    '合計

       Worksheets("Sheet1").Cells(i + 1, j + 2).Value
            = "=Average(A" & i + 1 & ":J" & i & ")"    '平均

       Worksheets("Sheet1").Cells(i + 1, j + 3).Value
            = "=Count(A" & i + 1 & ":J" & i + 1 & ")"   ’サンプル数

       Worksheets("Sheet1").Cells(i + 1, j + 4).Value
            = "=StDev(A" & i + 1 & ":J" & i + 1 & ")"   ’標準偏差

       Worksheets("Sheet1").Cells(i + 1, j + 5).Value
            = "=StDev(A" & i + 1 & ":J" & i + 1 & ")/Sqrt(Count(A" & i + 1 & ":J" & i + 1 & "))"   ’標準誤差
   Next

   endTimer = GetTickCount

   Debug.Print "経過時間 = " & (endTimer - stTimer) / 1000 & "sec"
   MsgBox "経過時間 = " & (endTimer - stTimer) / 1000 & "sec"

End Sub

1.Excelのマクロのコピペ先

Excelメニューの【表示】→【マクロ】→【マクロの表示】を選択してください。


【編集】を押して、VBAProjectを表示して、こちらにコピペしてください。

【マクロの表示】→【実行】を押して、ベンチマークを実行します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です