Unity IL2CPP 2020 .NET 5 Windows Game iOS One .NET CoreCLR for iOS/Android 2004 Mono 2014 .NET OSS 2016 .NET Core 2022 .NET 7 2027 Unity 7 Linux on GitHub Cross Platform NativeAOT CoreCLR Miguel de Icaza(Ximian)により2001年に始まったOSS Linux対応、後にXamarinとしてiOS/Android対応を支える 現在はWineの下でProton(SteamOS)の.NET Fx互換を支えている
Secure by default • Version-tolerant by default MessagePack for C# v4、まもなく出ます! (9月中にpreview出す予定) v3と比較しても2~10倍高速になる! Human x AI AIは大局的なアーキテクチャ造りはまだ苦手 また、世の中にない新しいアーキテクチャを造るのも苦手 10年以上のシリアライザー造りの経験による、長年温めていた究極 の新アーキテクチャ+AIによるブラッシュアップで性能が限界突破
{ public Type? Type; public TValue? Value; } Entry[] entries; int count; Fibonacci Hashing static int GetIndex(nint key, int mask) => unchecked((int)(((ulong)key * 0x9E3779B97F4A7C15UL) >> 32)) & mask; public bool TryGetValue(Type type, [NotNullWhen(true)] out TValue? value) { var key = type.TypeHandle.Value; キーはメソッドテーブルのアドレス var table = entries; var mask = table.Length - 1; for (var i = GetIndex(key, mask); ; i = (i + 1) & mask) { ref var slot = ref table[i]; var slotType = Volatile.Read(ref slot.Type); if (ReferenceEquals(slotType, type) { Type == Typeは内部でis RuntimeType value = slot.Value!; return true; が余計に含まれるので使わない } if (slotType is null) { value = null; return false; } } }