細かいプログラムのベンチマークは、誤差の影響をものすごく受けます。たとえば、intとdoubleの足し算はどちらが速いかを調べるのに、 なんてプログラムを書いた時には、計測されるのは殆どConsole.WriteLine… 続きを読む 最近私が、C#のベンチマークで気を付けたこと。
月: 2022年4月
C#のいろいろな、遅くなる要素のベンチマーク
C#で、速度を徹底的に出したいと思って、いろいろ遅くなる要素を避けます。・ボクシング・配列のコピー・ヒープメモリをなるべく使わない・仮想呼び出し(継承・インターフェイス)・文字コードの変換・Lockまあ、避けれられる時に… 続きを読む C#のいろいろな、遅くなる要素のベンチマーク
C#,Utf8の定数の扱い方(パフォーマンス大事)
C#のUtf8の扱い方をいろいろまとめてみる。 まず、前提として・・・string(System.String)は、Utf16の変更不可オブジェクト。私がAPIでよく使うJsonは、Utf8。 例えば、APIでオーダーリ… 続きを読む C#,Utf8の定数の扱い方(パフォーマンス大事)
C#,async awaitの速度が上がる書き方
C#でasync awaitを使う時、メソッドを掘り下げていくのに、普通に書くと、async,awaitを何度も書くことになります。そうすると、そのたびに速度が遅くなるのでもったい無いです。例えば、 というコードがあった… 続きを読む C#,async awaitの速度が上がる書き方