Railsの規約は、フレームワークと宝石の作家がリフレクション/メタプログラミングを大いに活用するよう強制します。私はいつもメタプログラミングが効率的ではないと考えていましたが、ますます増え続ける宝石の使用傾向に伴い、問題は何ですか?パフォーマンスにはどんな影響がありますか?Railsメタプログラミングとパフォーマンス
答えて
本当にどのようなメタプログラミングに依存するのですか。実行時にはパフォーマンスに影響を与えないものもあります。ちょっとスタートが遅いです。
あなたのケースでベンチマークを行い、そこにどのような影響があるかを確認してください。
プログラマーの生産性>>ソフトウェアパフォーマンス(通常は)
本当に、この心配はありません...実際にはそうで正しいアルゴリズム、正しいアーキテクチャ、正しいデータベースモデルとは、はるかに重要純粋な言語のパフォーマンスよりも...
X努力は言語(JavaのXML地獄、Cコンパイルを)戦うに費やさない、努力がより良いアルゴリズムの設計に費やすより良く、より多くのユーザーに優しいアプリケーション
あなたの声明はそこにある大部分のWebアプリケーションについて真実ですが(ほとんどのアプリケーションは、生涯にわたってトラフィックが多いと思われる場所には近くなりません)それはレールの過度の反射が非常に高いトラフィックのウェブサイトのためにそれを不適当にするのですか? –
最後の文章がロードされた、すなわち「非常に高いトラフィックのウェブサイトには適していません。より良い声明は、反射に関連する落とし穴がある場合、ORMに頼るのではなく、SQLクエリを時々使用するのと同様に、パフォーマンスを犠牲にしなければならないようにしなければならないということです。 –
- 1. DRY Railsのメタプログラミング - ユースケース
- 2. Ruby On Railsでのメタプログラミング
- 3. イディオム・メタプログラミング
- 4. Javaメタプログラミング
- 5. Java静的メタプログラミング
- 6. のtypedef ++メタプログラミング
- 7. AOP対メタプログラミング
- 8. F#のメタプログラミング例
- 9. ファインダーメソッドのメタプログラミング
- 10. ベンチマーク用のRubyメタプログラミング
- 11. モデル内のRubyメタプログラミング
- 12. Javascriptのメタプログラミング:動的
- 13. Booのメタプログラミングと拡張機能のガイド?
- 14. 'これはGroovyメタプログラミングで
- 15. メタプログラミング複数の方法
- 16. 私はメタプログラミングの本の中で、この作業コード見つかっこのメタプログラミング
- 17. Railsにログインすると、パフォーマンスが低下しますか?
- 18. メタプログラミングXMLSlurperは、各エントリのように見えるところ
- 19. テンプレートのメタプログラミング時の構造とクラスの違い
- 20. C++プリプロセッサはメタプログラミングTuring-completeですか?
- 21. 動的フォームの作成/メタプログラミング/ PHP
- 22. Javascriptではメタプログラミングが可能ですか?
- 23. C++メタプログラミング:*必須*抽象クラスを継承
- 24. PowerShellメタプログラミング - 高度な関数の生成
- 25. Ruby:ハッシュからのメタプログラミング方法
- 26. シンプルなメタプログラミングいくつかのゲッターを
- 27. Rubyのメタプログラミング:動的なインスタンス変数名
- 28. プリプロセッサを使ったメタプログラミングC/C++
- 29. D Python記述子のようなメタプログラミング?
- 30. コアデータとSqliteとパフォーマンス
私はそれを考えていないになりUXですRailsの規則と関係があります。多くのことは、メタプログラミングを使用して解決する(そして後に維持する)ことは絶対に簡単です。 –
ほとんどのメソッドはワイルドカードによって処理されるため、規約に関連しています(activerecord、actionpackをいくつか挙げておきます)。構成がルールであるフレームワーク/言語では、フレームワークはメソッドの反映を使用することはめったにありません。例えば、J2EE –
JavaとRubyは非常に異なるため、Webフレームワークになる前にすべての比較が失敗します。ところで、 "メタプログラミング"は、そのような広範な用語です(@ shingaraは既に言及しています)。主に 'method_missing'を気にしましたか? –