Optimizing the performance of dynamically-linked programs

  • Authors:
  • W. Wilson Ho;Wei-Chau Chang;Lilian H. Leung

  • Affiliations:
  • Silicon Graphics, Inc.;Silicon Graphics, Inc.;Silicon Graphics, Inc.

  • Venue:
  • TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamically-linked programs in general do not perform as well as statically-linked programs. This paper identifies three main areas that account for the performance loss. First, symbols are referenced indirectly and thus extra instructions are required. Second, the overhead in run-time symbol resolution is significant. Third, poor locality of functions in shared libraries and data structures maintained by the run-time linker may result in poor memory utilization. This paper presents new optimization techniques we developed that address these three areas and significantly improve the performance of dynamically-linked programs. Also, we provide measurements of the performance improvement achieved. Most importantly, we show that all desirable features of shared libraries can be achieved without sacrificing performance.