ビットコインのシステムトレードについてです。BitflyerのAPIで、板情報が取得できます。システムトレードをする場合、板情報を頻繁に確認することになります。そうした場合、Bitflyerでは、RealtimeAPIと… 続きを読む Bitflyerの板情報の差分から、板情報を構築する方法
カテゴリー: C#
最近私が、C#のベンチマークで気を付けたこと。
細かいプログラムのベンチマークは、誤差の影響をものすごく受けます。たとえば、intとdoubleの足し算はどちらが速いかを調べるのに、 なんてプログラムを書いた時には、計測されるのは殆どConsole.WriteLine… 続きを読む 最近私が、C#のベンチマークで気を付けたこと。
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の速度が上がる書き方
コンストラクタ内で、thisで、自分への参照が取得できる
親子関係を持つオブジェクトを作りたくて、親子を同時に生成して、さらに子に親の参照を持たせたいと思いました。親のクラスのコンストラクタ内で、自分への参照がthisで取得できるので、この課題は解決したのですが、ふと、コンスト… 続きを読む コンストラクタ内で、thisで、自分への参照が取得できる
ByteArrayの分割
パラメータ付きコマンドを、コマンドとパラメータに分割したい。byte[]のまま処理するか、ReadOnlySpanとして処理するかで、まあ、ReadOnlySpanの方が速いのだろうど、きちんとベンチマークを取ってみた。… 続きを読む ByteArrayの分割
ARM64-AmazonLinux2-Dotnet6.0の構築手順
Arm-Linuxの環境を、AWSで作ってみた。以下、構築メモ 構成EC2-T4g.nanoARM64AmazonLinux2 – Kernel5.10.net sdk 6.0.101 yumで、dotnet… 続きを読む ARM64-AmazonLinux2-Dotnet6.0の構築手順
C#で、AnyCPUでビルドしたプログラムを32Bitで動かす方法
OS:64bit C# Target:.net6.0 VisualStudio2022にて、AnyCPUでビルドをします。(作ったexeを、ConsoleApp1.exe とします)VisualStudio 2019では… 続きを読む C#で、AnyCPUでビルドしたプログラムを32Bitで動かす方法
Asser.IsNotNull がNullalbeについて、正しく判定をするようになった
VisualStudio2022がリリースされました。新しくなったことで、いろいろ変化がありますが、Asert.IsNotNullで判定した後、Nullで無いことをわかるようになったみたいです。(前は、IsNotNull… 続きを読む Asser.IsNotNull がNullalbeについて、正しく判定をするようになった