アプリケーションがクラッシュしたときにスタックトレースを取得したい。私は、-rdynamicオプションを使用すると、関数名で完全なスタックトレースを取得できることを理解しています。しかし、私のアプリケーションのパフォーマンスに影響が及ぶかどうかは懸念されます。gcc/g ++に-rdynamicリンカオプションを追加するとパフォーマンスに影響しますか?
19
A
答えて
19
はい、ありますが、非常に具体的で、通常は懸念されるものではありません。
-rdynamicオプションは、通常、実行時に不要なシンボルテーブルにシンボルを追加するようリンカに指示します。これは、動的リンカが実行時にシンボル解決のためにウィードする必要がある、もっと多くの、もっと多くのシンボルがあることを意味します。
具体的には、GNUベースのシステムでのシンボルテーブル参照はハッシュを使用して実装されるため、より多くのシンボルを持つと、ハッシュ衝突が発生する可能性が高くなります。ハッシュテーブル内で衝突するすべてのsymolがリストにあるので、実行時リンカーはリストを走査し、各シンボル名をmemcmpで比較する必要があります。より長いリストを持つハッシュの意味では、より多くのシンボルが衝突するため、各ダイナミックシンボルを解決するのにもっと時間がかかります。
この状況は、C++ではCの方がやや悪く、クラス名のために同じプレフィックスが付いたシンボル名が多数あります。
実際には、記号が使用されるのは初めてであり、アプリケーションが非常に大きく、多くの記号が含まれていない限り、それは感じられません。
ごくまれに、アプリケーションが大きい場合は、prelinkingのようなトリックを使用してオーバーヘッドを克服できます。
関連する問題
- 1. クラスに[Serializable]を追加するとパフォーマンスに影響はありますか?
- 2. rdynamic gccオプションの影響/短所
- 3. カスタムフィルターの追加はチェーンに影響を及ぼしますか?
- 4. 「列IN(X)」と「列= X」 - クエリのパフォーマンスに影響しますか?
- 5. パフォーマンスに対するjavax.servlet.Filterの影響?
- 6. パフォーマンスに対するシステムタップの影響
- 7. Object.observe()はどのようにパフォーマンスに影響しますか?
- 8. TextBox UpdateSourceTrigger = PropertyChanged - 実際にパフォーマンスに影響しますか?
- 9. ファイルサイズがパフォーマンスにどのように影響しますか?
- 10. innodb_log_file_sizeはどのようにパフォーマンスに影響しますか?
- 11. "GONE"ビューはパフォーマンスに悪影響を及ぼしますか?
- 12. Herokuでデータベースバックアップを作成するとパフォーマンスに影響しますか?
- 13. Eclipseのリモートリソースをキャッシュすることはパフォーマンスに影響しますか?
- 14. LOHのオブジェクトを固定するとGCのパフォーマンスに影響しますか?
- 15. URIにスペース文字があるとパフォーマンスに影響しますか?
- 16. Windows Phoneプロジェクトに多数のdllがあるとパフォーマンスに影響しますか?
- 17. 大きなトランザクション・ログはパフォーマンスに影響しますか?
- 18. ネストされた構造体はパフォーマンスに影響しますか?
- 19. EF linqクエリ句の順序はパフォーマンスに影響しますか?
- 20. 条件付きインクルードファイルはASPのパフォーマンスに影響しますか?
- 21. sqlite3ビューはパフォーマンスに影響しますか?
- 22. 特定の型はArrayListのパフォーマンスに影響しますか?
- 23. Javascript。コードの位置がパフォーマンスに影響しますか?
- 24. コンソールアプリケーションの最小化はパフォーマンスに影響しますか?
- 25. web.configの未使用行はパフォーマンスに影響しますか?
- 26. ストアドプロシージャのサイズが実行パフォーマンスに影響しますか?
- 27. dmpファイルの作成はプログラムのパフォーマンスに影響しますか?
- 28. コードのリファクタリングはアプリケーションのパフォーマンスに影響しますか?
- 29. Javaクラスのサイズはアプリケーションのパフォーマンスに影響しますか
- 30. CORSにすべてのドメインを追加するセキュリティの影響