« VBからExcelを操作する時の注意 | トップページ | e絵図@とんだばやし »

2007.09.19

VBの型変換系関数ベンチマーク

ただでさえ色々なコードが自動作成されて遅くなりがちなVB2005を少しでも早くしようと、VB組込関数の型変換系関数の速度を比較してみました。

結果
・CDate:29453
・CType:28453
・Parse:2901
・Convert.To:2619


ということで、C系の変換は10倍遅い、ということらしいです。

Private Sub TimeTest()
Dim sw As New Stopwatch
Dim i As Long
Dim ret As DateTime


'C...系を使った変換
sw.Start()
For i = 1 To 1000000
ret = CDate("2007/01/01 23:00:00")
Next
sw.Stop()
Console.Write("CDate:" & sw.ElapsedMilliseconds & vbCrLf)

'CTypeを使った変換
sw.Reset()
sw.Start()
For i = 1 To 1000000
ret = CType("2007/01/01 23:00:00", DateTime)
Next
sw.Stop()
Console.Write("CType:" & sw.ElapsedMilliseconds & vbCrLf)

'型.Parseを使った変換
sw.Reset()
sw.Start()
For i = 1 To 1000000
ret = DateTime.Parse("2007/01/01 23:00:00")
Next
sw.Stop()
Console.Write("型.Parse:" & sw.ElapsedMilliseconds & vbCrLf)


'Convert.Toを使った変換
sw.Reset()
sw.Start()
For i = 1 To 1000000
ret = Convert.ToDateTime("2007/01/01 23:00:00")
Next
sw.Stop()
Console.Write("Convert.To:" & sw.ElapsedMilliseconds & vbCrLf)
End Sub

|

« VBからExcelを操作する時の注意 | トップページ | e絵図@とんだばやし »