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