nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

IoC コンテナ パフォーマンスバトル on Xamarin in 2017

少し前に、PC上でのIoCコンテナのパフォーマンス調査を行いました。

www.nuits.jp

今回はXamarin上で調査しましたので、その情報を共有したいと思います。

それでまずは結果から見てみましょう。
まずはUnityの性能を100%としたときの評価グラフです。

f:id:nuitsjp:20170127183615p:plain

具体的な数値は以下のとおりです。

Container Singleton - Registartion Singleton - Resolve Transient - Registartion Transient - Resolve
DryIoc 75% 1169% 385% 2255%
SimpleInjector 69% 527% 7% 2231%
AutoFac 64% 104% 19% 184%
AutoFac Lambda 96% 110% 5% 1236%
Unity 100% 100% 100% 100%

SimpleInjectorは相変わらず早いですが、DryIocが素晴らしい速度を出していますね。
というわけで、詳細なデータを掘り下げてみて行ってみましょう。

続きを読む

Prism for Xamarin.Forms 6.3.0アップデートの注意事項

ちょっとTLで話題になっていたのでせっかくだから文章でまとめようかと思いエントリーにしてみました。

  • 6.3.0の正式版リリース時にも注意が必要な事項
  • 6.3.0-pre独自の注意事項(リリースまでにはおそらく改修されるだろう内容)

についてまとめてみましたので、よろしかったらご覧ください。
なお現在の6.3.0-pre1でリリースされている機能については以下をご覧ください。

www.nuits.jp

続きを読む

VMwareのHDDのベンチマークを取ってみた

前々から気になっていたのでVMwareの仮想HDDについてパフォーマンスを測定してみました。
ただ、手軽にベンチマークを取得するため、CrystalDiskMarkを利用しました。
このソフトウェアは、手軽にベンチが取得できる反面、正確性はあまり高くないという話もありますので、参考程度にご覧ください。

続きを読む

IoC Battle in 2017

さて、今年もやってまいりました!
DIコンテナの頂上決戦、IoC Battle in 2017!!

さて、今回も最強の挑戦者たちが(ry
冗談です(´・ω・`)

ちょっとUnity死亡説があった為、IoCコンテナの情報を整理していたらこんな記事を見つけました。

IoC Battle in 2015 results: Using Ninject – think again! | CardinalCore

しかも、Githubにパフォーマンス測定コードがあるじゃないですか?
という訳で、GithubをフォークしてNuGetを最新に更新し破壊的変更で動かないところを直しパフォーマンスを測定した最新情報が以下のとおりです。
Unityの性能を100%としたときの評価グラフです。

f:id:nuitsjp:20170110224841p:plain

SimpleInjector最強!わーぱちぱち~!!

ただし、今回の評価は単純性能のみの比較になっています。
機能性の面での評価はしていませんので、ご注意ください。

という訳で、詳細な説明は以下のとおりです。

続きを読む

PrismにPull Request送ってみた

先日、以下のようなエントリーを書きました。

www.nuits.jp

で、Twitterでその関連で話をしていたら、Braian氏からレスが付きました。

日本語で話してたのに、すげえなブライアン。。。

てことで、これはContributeするチャンスじゃね?ってことで一先ずPrism.Autofac.Formsのプロジェクトテンプレートを作成し、Issueを立てて

github.com

Pull Requestを送ってみました。

github.com

採用されると嬉しいな!
以上、それだけですw