Closed ufcpp closed 9 months ago
配信URL: https://www.youtube.com/watch?v=kCG8I8Vo5_o
前回、どう見ても時間なくて、ほとんど触れなかったやつ、「これだけで1回配信するか」という話になったので。
恒 例 行 事
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/
i >= 0 && j >= 0;
(i | j) >= 0
x ? 1 : 0
array[i % array.Length]
s.Length >= N && s[^N]
new DateTime(2023, 9, 1)
List<T>.Enumerator
T
is T[]
async Task<int> X() => 0;
Task<T>
=========== ここまでで終わった ===========
0.ToString()
"0"
b
ToString("b")
Span<char>
long?
Exceptions の手前までやった。
あと2回くらいかかりそう…
配信URL: https://www.youtube.com/watch?v=kCG8I8Vo5_o
前回、どう見ても時間なくて、ほとんど触れなかったやつ、「これだけで1回配信するか」という話になったので。
恒 例 行 事
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/
i >= 0 && j >= 0;
を(i | j) >= 0
に置き換えたりx ? 1 : 0
の類が「false/trueが内部的に0/1」を使って素通しにarray[i % array.Length]
s.Length >= N && s[^N]
new DateTime(2023, 9, 1)
みたいなのが(long Ticks の定数に)折りたたまれるようにList<T>.Enumerator
とかが改善の対象にT
が sealed のときのis T[]
が高速に(共変チェックを削れる)async Task<int> X() => 0;
とか)が、キャッシュされたTask<T>
を返す=========== ここまでで終わった ===========
0.ToString()
とかでテーブルから"0"
を返してたの、0~9まで だったのを 0~299 までで同じことやるようにb
フォーマット(ToString("b")
で2進数文字列化)Span<char>
TryFormat と Utf8.TryFormat がほぼ同パフォーマンスlong?
をやめて「無効な時は負数入れとく」みたいなことやってメモリ節約