タグ

ブックマーク / neue.cc (3)

  • neue cc - Introduction to the pragmatic IL via C#

    この記事はC# Advent Calendar 2017のための記事になります。12/1はmasanori_mslさんの【C#】処理の委譲で迷った話でした。そしてこの記事は12/2、のはずが今は12/4、つまり……。すみません。 ところでですが、私は今年の自身のテーマとして、「Extreme C#」を掲げています。C#で極限まで性能を出していく、ということを主題にして様々なものを公開してきました。その中でもILを書く技術というのは、どうしても欠かせないものです。実際、私が近年制作したライブラリはほとんどIL生成を含んでいます。 例えば、シリアライザ - ZeroFormatter, MessagePack for C#, Utf8Json。RPC - PhotonWire, MagicOnion。DI - MicroResolver。これらから、実際に使われた例と、そして実地でしか知り得な

    mslGt
    mslGt 2017/12/04
  • neue cc - C#のGCゴミとUnity(5.5)のコンパイラアップデートによるListのforeach問題解決について

    UnityにおいてList<T>のforeachは厳禁という定説から幾数年。しかしなんと現在Unityが取組中のコンパイラアップデートによって解決されるのだ!ついに!というわけで、実際どういう問題があって、どのように解決されるのかを詳しく見ていきます。 現状でのArrayのforeachとListのforeach まずは現状確認。を、Unityのプロファイラで見てみます。以下の様なコードを書いて計測すると……。 var array = new int[] { 1, 2, 3, 4, 5 }; var list = new List<int> { 1, 2, 3, 4, 5 }; // ボタンを叩いて計測開始 button.OnClickAsObservable().Subscribe(_ => { Profiler.BeginSample("GCAllocCheck:Array"); fo

    mslGt
    mslGt 2017/11/14
  • neue cc - UniRxを支えるユニットテスト - RuntimeUnitTestToolkit for Unity

    オープンなようなクローズドなような、ラウンドテーブルディスカッションのような、少人数のところでUnityのユニットテストについて話してきました。というか、UniRxのために作って、以降、私の作るUnity用の色々なので使いまわしてる自作のユニットテストフレームワークについて、ですね。 このフレームワークはずっとUniRxの中に埋まったまんまだったんですが、使える形でパッケージしたのを、今日GitHubに公開しました。unitypackageとしても置いてあるので、一応インポートはしやすいはずです。 RuntimeUnitTestToolkit とりあえず必要な機能しか入れてないんで、汎用テストフレームワークとしては足りない機能が普通に多いので、その辺も作ってからアセットストアに公開したいなぁ、と思ってはいたんですが、まぁそうなるといつまで経っても公開できなさそうなので、とりあえず現段階のも

  • 1