呼び出すと、長いメソッド名のレイテンシが長くなりますか?これは長期間にわたる通話後に顕著な効果ですか?メソッド名が大きいとレイテンシが増えますか?
答えて
からいいえ、メソッド名は、パフォーマンスとは何の関係もありません。そして、btw、JVMは名前に名前を使用しませんこのメソッドを呼び出すと、定数プールのメソッド名を指し示すシンボリックリンクが使用されます。
invokestatic #2 //Method fn:()V
そうでもbyte-code
は長いメソッド名と肥大化し得ることはありません。
いいえ。メソッド名の長さは違いはありません。
あなたがメソッドを使用しているという事実はありますが、より多くのメソッド、オーバーヘッド。これは、よりクリーンでメンテナンス可能なコードに対して支払う代金です。
この「微視的」という観点から「パフォーマンス」に飛び込むときは注意してください。
もちろん、ソースコード内でさまざまなアプローチを使用することによる影響を理解することは良いことです(「ばかげた過ち」を避けるため)。
しかし、効率性とパフォーマンスはあまりにも多くの優先度をあまりにも多く受け取ります。通常、クリーンでメンテナンス可能なデザインの作成に専念すると、結果は「十分に良いパフォーマンス」になります。そうでなければ;とにかく、きれいでメンテナンス可能なデザインは、混乱したデザインよりも変更が容易です。
に注意してください:
は、「我々は小さな効率を忘れなければならない、時間の約97%を言う:時期尚早の最適化は諸悪の根源です。」私はこれに同意します。パフォーマンスのボトルネックがどこにあるのかはっきりする前に、マイクロオプティマイゼーションコードに多くの時間を費やす価値はありません。しかし、逆に、システムレベルでソフトウェアを設計する場合、パフォーマンスの問題は常に最初から考慮する必要があります。優れたソフトウェア開発者は、これを自動的に行い、パフォーマンスの問題がどこに問題を引き起こすのかを感じさせます。経験の浅い開発者はmisguidedly後の段階で微調整のビットがすべての問題を解決することを信じて、気にしないだろう。」ホーアとクヌースが本当に言って何
は、ソフトウェア・エンジニアは他の問題(のような心配すべきであるということです彼らは、このような特定の文が消費どのように多くのCPUサイクルなどのマイクロ最適化を心配する前に)、アルゴリズムの設計とこれらのアルゴリズムの良い実装良い。
- 1. なぜopenclでメッセージサイズが大きくなると帯域幅が増えますか?
- 2. テンポラリテーブルとトランザクションログのクエリが増えていますか?
- 3. ヒープメモリが増えています
- 4. インデックスが増えています
- 5. フォームが表示されるときに何が増えますか?
- 6. 変数とメソッド名のスコープが同じ場合、Rubyは変数とメソッド名の違いをどのように伝えることができますか?
- 7. なぜクワのブロック数を増やすと時間が増えますか?
- 8. なぜretainCountが増えましたか?
- 9. メソッド参照と置き換えることができます
- 10. wordよりpdfにエクスポートすると、ページが増えますか?
- 11. 署名中に.dexファイルが64kメソッドを超えています
- 12. Redisのレイテンシをどのように減らすことができますか?
- 13. POSTメソッドが空に戻り、名前とIDが付きます
- 14. クリックごとにJavaScriptカウンターが増えますか?
- 15. スレッド数が増えるとHttpWebRequestが遅くなります
- 16. 長いクラス名でストレージ使用率が増加しますか?
- 17. シャードサイズを大きくしないでデータを処理する方法が増えると、
- 18. iPhone:UItabbarcontrollerのビューフレームのサイズが増えていますか?
- 19. Androidでメモリが絶えず増加していますか?
- 20. Apache JamesのようなJavaメールサーバーが増えていますか?
- 21. スパークのパーティションが増えていますか?
- 22. JavaScriptの時間が単調に増えていますか?
- 23. は接続の少ないモードでオーバーヘッドが増えますか?
- 24. Nodejsクラスタの設定が増えていますか?
- 25. DataInputStream.readInt()が高いレイテンシを引き起こしていますが、これは間違っていますか?
- 26. ウィンドウサイズが大きくなるとjQueryモバイルメニューが消えない
- 27. C#イベントハンドラがますます増えています
- 28. ClassFormatError:EnhancerBySpringCGLIBのメソッド名と署名が重複しています
- 29. WCFすでにメッセージが増えても最大メッセージサイズでエラーが発生する
- 30. コア数が増えている間に経過時間が増えるのはなぜですか?
いいえ。jvmがバイトコードを実行しているときにメソッド名は処理されません。 – f1sh
メソッドの長さがアプリケーションの唯一のボトルネックになっている場合は、パフォーマンスに問題がないと言うことができます: –
そして、とにかくパフォーマンスは贅沢な問題です。 (あなたの顧客が悪い業績について不満を抱いているということは、基本的に、あなたの製品を購入して使用している顧客がいることを意味します。それ ...) – GhostCat