2011-11-11 6 views
4

はタイプ0、1型および2型トランポリンとランタイムに作成されているトランポリン(タイプ別)の数を見るためにモノトゥッチをプロファイルする方法は?

のランタイムエラーに関するかなりの数の記事がありますiOSデバイス上の

「トランポリンを使い果たしました」。

AOTクロスコンパイル時に異なるトランポリンの種類を増やす方法をよく理解していますが、ランタイム中に天井にぶつかるたびに割り当てを増やすことには慎重になっています。

私は最近、いくつかのFunc<>引数を受け取るコンポーネントを追加しました。コンポーネントのコンシューマーの大半は、Func<>代理人を匿名で作成しています。私の前提は、各匿名の代理人がトランポリンの作成につながることを期待することはできましたが、私が観察しているような行動は、そのトランポリンを再利用する代わりに、タイプ0(ntrampoline [メソッドトランポリン?アノンデリゲートが実行される時間。非常に参考になる何

は、ツールやトランポリンの作成を観察するために、実行時にアプリケーションを記録したり、プロフィール、私は監視することができるようになるAPIコールである。

側の任意のガイダンス

一般的な代理人または匿名の代理人の使用を公開することによる影響も評価されます。右ディレクティブのヒントに。

よろしく、 ケビン・フェロン

答えて

3

あなたの最善の策は、(すなわち、それは難しいここで答えることになるだろういくつかの質問(と提案WRTプロファイリング)があります、mono-develメーリングリストに、このような(非常に具体的な)質問をすることですたとえそれが適切にタグ付けされていても)。

あなたは既に下記のリンクを読んでいることを前提としています(しかし、トランポリンについて疑問に思う人には役立つかもしれません)。

を分かりやすく説明しようとトランポリン

  • Blog entryにウィキdocumentationます。また、使用してモノラルからいくつかの統計情報を取得することができ- 統計オプション。例えば。それはAOTが使用されているMonoTouchでの文脈であなたを助けにはなりません(多くのものが異なります)とは、アプリケーションの実行を制御していないところが

    mono --stats myapp.exe 
    
    ... 
    JIT statistics 
    Unwind info size     : 198 
    Calls to trampolines    : 626 
    JIT trampolines      : 416 
    Unbox trampolines     : 1 
    Static rgctx trampolines   : 1 
    ... 
    

  • 関連する問題