重複の可能性:
リフレクションは本当に遅いですか?
リフレクションのパフォーマンスが悪いとよく言われますが、なぜでしょうか? リフレクションの仕組みや「パフォーマンスの悪さ」の秘密など、リフレクションの詳細を調べてみましたが、何の役にも立ちませんでした。誰か鍵か何か情報を見せてくれませんか? 詳細なほど良い。
重複の可能性:
リフレクションは本当に遅いですか?
リフレクションのパフォーマンスが悪いとよく言われますが、なぜでしょうか? リフレクションの仕組みや「パフォーマンスの悪さ」の秘密など、リフレクションの詳細を調べてみましたが、何の役にも立ちませんでした。誰か鍵か何か情報を見せてくれませんか? 詳細なほど良い。
2つの側面。最初はメタデータを見つけることです。2回目にそれを検索するときだけ高速です。初めて、アセンブリからRAMにデータを取得するために、いくつかのページフォールトにお金を払わなければならない傾向があります。その後キャッシュされます。あなたは最初に気にする(または測定する)傾向があります。
2つ目は、メソッドを直接呼び出したり、フィールドやプロパティにアクセスしたりするのが非常に高速であるということです。通常、1〜2CPUサイクル以上の費用はかかりません。メソッドをインライン化できる場合、またはフィールドアクセスを別の命令とオーバーラップできる場合は、noneを含めます。リフレクションは常にそれと比較すると不十分であり、何百もの指示が必要です。
リフレクションは、他のコードにかなりの時間がかかるため、リフレクションのコストが小さな要因である場合に適したソリューションです。これには、ファイル形式やdbaseマッピングなどのI/Oに関連するものがすべて含まれます。そして、デザイナーやコンパイラーのように、人間の時間で実行されるコード。