|
■No90946 (悩み中 さん) に返信
> 1)CstrとTostringでは、どちらの方が処理速度が速いでしょうか?
> 2)明示的型変換(CINT,CLNG等指定)と暗黙の型変換(指定無し)では、どちらの方が処理速度が速いでしょうか?
>
確認の方法がわからないということで、一つだけ計測サンプルコードを書いておきます。
VBでコンソールアプリを作成して、下記コードを張り付ければ動くと思います。
下記のコードは、CStr の計測例です。
環境によって、100000000 の部分の数字を大きくすればそれだけ平均値が均一化します。
あくまでも平均値なので、環境に依存しますが、これを比較したいものごとに用意して
いろいろと計測してみれば、ざっくり程度ですが、簡単な計測ができます。
最初に一回ループの外側で呼び出しているのは、JIT分をカウントさせないための工夫です。
ちなみに、デバッグ版で私の環境で下記コードは約7秒でした。
ToStringとどっちが早いか?は計測していません。
私も知りたいので、計測結果を上げてくれると嬉しいです。
あと、その際のTestメソッドの中身も書いてもらえると嬉しいです。
(初めて VB.NETなプロジェクト作ってコード書いたかもw)
Module Module1
Sub Main()
TestCstr()
Dim st As Stopwatch = New Stopwatch
st.Start()
For index = 1 To 100000000
TestCstr()
Next
st.Stop()
Console.WriteLine(st.Elapsed.ToString())
'この下に、同じようにToStringでの計測を記述する
End Sub
Private Function TestCstr() As String
Dim val As String = CStr(10)
Return val
End Function
End Module
|