Claude Fable 5 が教えてくれた FastEnum の高速化テクニック (4)
DRANK

引き続き Claude Fable 5 を利用した FastEnum のパフォーマンスチューニングについて解説していきます。今回は文字列に対する switch 文での比較についてです。該当の Pull-Request は以下。 に指摘されて「ぐえー、何やってんねん!」って悶絶した相当勿体ないヤツです。つまり実装ミス。タイトルを見ただけで「あー、はいはい」と思った人は C# 玄人なのでこの先を読む必要はありません。今すぐブラウザバックして大丈夫ですwClaude Fable 5 が教えてくれた高速化テクニックたち文字列のハッシュ値生成数値の範囲チェック引数なし .ToString() の利用文字列に対する switch 文での比較 (← イマココ改善前Source Generator による .IsDefined(ReadOnlySpan<char>) の実装を以下のように if 文の連鎖で実装していました。愚直に if を並べるstatic bool IFastEnumBooster<DayOfWeek>.IsDefined(ReadOnlySpan<char> name) { if (name.Equals(nameof(DayOfWeek.Sunday), StringComparison.Ordinal)) return true; if (name.Equals(nameof(DayOfWeek.Monday), StringComparison.Ordinal)) return true; // 以下略 (全フィールドに対して繰り返し…

zenn.dev
Related Topics: AI AI Text Generator