2016-04-07 11 views
0

呼び出すと、長いメソッド名のレイテンシが長くなりますか?これは長期間にわたる通話後に顕著な効果ですか?メソッド名が大きいとレイテンシが増えますか?

+0

いいえ。jvmがバイトコードを実行しているときにメソッド名は処理されません。 – f1sh

+0

メソッドの長さがアプリケーションの唯一のボトルネックになっている場合は、パフォーマンスに問題がないと言うことができます: –

+0

そして、とにかくパフォーマンスは贅沢な問題です。 (あなたの顧客が悪い業績について不満を抱いているということは、基本的に、あなたの製品を購入して使用している顧客がいることを意味します。それ ...) – GhostCat

答えて

0

からいいえ、メソッド名は、パフォーマンスとは何の関係もありません。そして、btw、JVMは名前に名前を使用しませんこのメソッドを呼び出すと、定数プールのメソッド名を指し示すシンボリックリンクが使用されます。

invokestatic #2 //Method fn:()V 

そうでもbyte-codeは長いメソッド名と肥大化し得ることはありません。

0

いいえ。メソッド名の長さは違いはありません。

あなたがメソッドを使用しているという事実はありますが、より多くのメソッド、オーバーヘッド。これは、よりクリーンでメンテナンス可能なコードに対して支払う代金です。

0

この「微視的」という観点から「パフォーマンス」に飛び込むときは注意してください。

もちろん、ソースコード内でさまざまなアプローチを使用することによる影響を理解することは良いことです(「ばかげた過ち」を避けるため)。

しかし、効率性とパフォーマンスはあまりにも多くの優先度をあまりにも多く受け取ります。通常、クリーンでメンテナンス可能なデザインの作成に専念すると、結果は「十分に良いパフォーマンス」になります。そうでなければ;とにかく、きれいでメンテナンス可能なデザインは、混乱したデザインよりも変更が容易です。

に注意してください:

は、「我々は小さな効率を忘れなければならない、時間の約97%を言う:時期尚早の最適化は諸悪の根源です。」私はこれに同意します。パフォーマンスのボトルネックがどこにあるのかはっきりする前に、マイクロオプティマイゼーションコードに多くの時間を費やす価値はありません。しかし、逆に、システムレベルでソフトウェアを設計する場合、パフォーマンスの問題は常に最初から考慮する必要があります。優れたソフトウェア開発者は、これを自動的に行い、パフォーマンスの問題がどこに問題を引き起こすのかを感じさせます。経験の浅い開発者はmisguidedly後の段階で微調整のビットがすべての問題を解決することを信じて、気にしないだろう。」ホーアとクヌースが本当に言って何

は、ソフトウェア・エンジニアは他の問題(のような心配すべきであるということです彼らは、このような特定の文が消費どのように多くのCPUサイクルなどのマイクロ最適化を心配する前に)、アルゴリズムの設計とこれらのアルゴリズムの良い実装良い。

here

関連する問題