C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.90946 の関連記事表示

<< 0 >>
■90946  型変換の処理速度について
□投稿者/ 悩み中 -(2019/05/14(Tue) 18:11:29)

    分類:[.NET 全般] 

    OS:Windows10
    Visual Basic 2010

    について2つ質問があります。

    1)CstrとTostringでは、どちらの方が処理速度が速いでしょうか?
    2)明示的型変換(CINT,CLNG等指定)と暗黙の型変換(指定無し)では、どちらの方が処理速度が速いでしょうか?
親記事 /過去ログ157より / 関連記事表示
削除チェック/

■90952  Re[1]: 型変換の処理速度について
□投稿者/ キングダム -(2019/05/14(Tue) 20:56:43)
    No90946 (悩み中 さん) に返信

    そりは質問することじゃなくて確認することでは?
    クイズだと思って答えて見ようと思います

    1)CstrとTostringでは、どちらの方が処理速度が速いでしょうか?

    ToStringが速いです、CStrは昔から存在する古いメソッドなので
    新しいToStringが速いと思います

    2)明示的型変換(CINT,CLNG等指定)と暗黙の型変換(指定無し)では、どちらの方が処理速度が速いでしょうか?

    明示的型変換が速いです
    暗黙の型変換ではランタイムが型の確認をすると思うからです

    確認した結果をお教えいただければ幸いでございます
記事No.90946 のレス /過去ログ157より / 関連記事表示
削除チェック/

■90955  Re[1]: 型変換の処理速度について
□投稿者/ とっちゃん -(2019/05/14(Tue) 21:24:07)
    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
    
記事No.90946 のレス /過去ログ157より / 関連記事表示
削除チェック/

■91207  Re[2]: 型変換の処理速度について
□投稿者/ 悩み中 -(2019/06/06(Thu) 10:10:39)
    No90955 (とっちゃん さん) に返信
    > ■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
    >
記事No.90946 のレス / END /過去ログ157より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -