Closed ufcpp closed 3 years ago
1:19:40 .NET 6 B3n. Ben. 1:20:40 Ben さんの紹介 = System.Ben 1:22:47 インターフェイスの探索速くしたのも Ben
IA1 a1 = new A(); // 速い
IA6 a2 = new A(); // 遅い
public interface IA1 { }
public interface IA2 { }
public interface IA3 { }
public interface IA4 { }
public interface IA5 { }
public interface IA6 { }
public class A : IA1, IA2, IA3, IA4, IA5, IA6
{
}
これのインターフェイス探索の速度改善も Ben。
1:27:40 スピード狂専用メソッド追加。 by Ben. 1:31:10 「スピード狂専用」の理由↓
var d = new Dictionary<int, int>(4);
for (int i = 0; i < 4; i++)
{
d.Add(i, i);
}
ref var r = ref CollectionsMarshal.GetValueRefOrNullRef(d, 0);
d.Remove(0);
d[4] = 10;
r = 2; // capacity = 4 で作ったので、d[0] と d[4] が同じ bucket に入る
Console.WriteLine(d[4]); // 2 になってる
1:32:12 闇その1。IsNullRef 実用化
var d = new Dictionary<string, int>();
d["abc"] = 1;
ref var r = ref CollectionsMarshal.GetValueRefOrNullRef(d, "abc1");
if (!Unsafe.IsNullRef(ref r))
{
r = 2;
}
Console.WriteLine(d["abc"]);
3:02 話が逸れないうちにホットリロードの話してしまおう
7:50 (Preview 3 の段階では、我々人柱は) dotnet watch コマンドの手打ちが必要
10:40 (Blazor Server は @code
内の C# の)メンバーも追加し放題
15:00 ページ切り替えしても保持してほしいデータは @inject
で渡せばいける
22:10 「ホットリロードができる条件」のヘルプページを見に行ったら「Edit & Continue」のページ。ホットリロード = EnC
27:10 今現在スタックを握っているメソッドの書き換えはさすがに即時反映されない、virtual とかを足すとさすがに全リロード
34:35 await 中の書き換えは即時反映w (一度スタックは手放してるので確かに↑の条件からは外れてる)
40:10 dotnet watch がやってるのは単にフォルダー以下のファイルの変更監視だけっぽい。たぶん
45:40 Blazor Wasm の方はまだ制限きつい
49:00 dotnet watch のヘルプによれば、環境変数変えてコマンド実行しなおしっぽい?
配信URL: https://youtu.be/coUeSb4Q_Q8
出たって。
話題:
BlazorWebView
は okazuki さんが早速試してみてた他、元々やろうかと思ってたネタ(時間があれば or 次回):