C#での整数の割り算の速度などを調べてみました。元は、Utf8Jsonのソースコードです。C言語のころから、itoaとか言うのがあるらしいです。intなどの整数の値が、0 <= n <10000 の時、それを… 続きを読む 整数の割り算
カテゴリー: C#
AL2023 arm64 .NET7.0 インストール方法
.net8の記事が追加されています。 AWSのAmazon Linux 2023(AL2023)でのdotnet7.0のインストールメモです。この記事は、arm版。CPUがx64の時の記事はこちら。 まず、AWSでEC2… 続きを読む AL2023 arm64 .NET7.0 インストール方法
AL2023 x64 .NET7.0 インストール方法
.net8.0の記事が追加されています。 AWSのAmazon Linux 2023(AL2023)でのdotnet7.0のインストールメモです。この記事は、x64版。CPUがARMの時の記事は別途書きます。 まず、AW… 続きを読む AL2023 x64 .NET7.0 インストール方法
C#で小数点以下を扱う型
C#で、小数点以下を扱う必要がある時、どんな型を使えば良いのでしょうか。C#での基本型の多くは、整数型です。byte,int,ulongなどいろいろありますね。float,double型は、内部的には2進数の浮動小数点型… 続きを読む C#で小数点以下を扱う型
(C#)10のn乗するベンチマーク
Jsonのデシリアライズ関係で、“1.2345678E+15” → 1234567800000000といった変換を、なるべくパフォーマンス良く実行したいと思いました。1.2345678と、+15 … 続きを読む (C#)10のn乗するベンチマーク
(C#)ListとArrayの違い
C#の基本的なコレクションとして、Listと配列=Array(int[]とか)があります。例として、Listとint[]の違いについて考えてみます。ネットをいろいろ見て回ると、Listの方が便利だから、全部Listでいん… 続きを読む (C#)ListとArrayの違い
UTF8のbyte[]の作り方
C#で、UTF8のbyte[]を作りたいときがあります。実際のアプリに組み込む場合もありますし、テストで作りたい場合もありそうです。C#11での書き方をいろいろ列挙してみます。 上記のJSONを作る場合でやってみます。 … 続きを読む UTF8のbyte[]の作り方
ByteArrayの比較コード
5文字程度のUtf8のbyte[]のコマンドを、どのコマンドか調べるために比較コードを書いたりします。Stringにしてみたりとか、switch/ifとか、SequenceEqual使ったりとか。書きやすさ、読みやすさ、… 続きを読む ByteArrayの比較コード
long(Int64)をUtf8に変換する(後編)
前編では、Utf8JsonのWriteInt64を少し改造しました。これは、byte[]に書き出す仕様のため、新しくbyte[]を作る場合を作ってみる。 方法として、Spanをstackallocで確保して、そこに書き込… 続きを読む long(Int64)をUtf8に変換する(後編)
long(Int64)をUtf8に変換する(前編)
固定小数点型(少数桁=8桁)の実装が気になっていまして、その中で、long(Int64)をUtf8に変換するコードを、パフォーマンスについて考察しました。 ミッションは、longの値が、1234_5678_0000の時、… 続きを読む long(Int64)をUtf8に変換する(前編)