skip to main content
10.1145/258915.258947acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Code compression

Authors Info & Claims
Published:01 May 1997Publication History

ABSTRACT

Current research in compiler optimization counts mainly CPU time and perhaps the first cache level or two. This view has been important but is becoming myopic, at least from a system-wide viewpoint, as the ratio of network and disk speeds to CPU speeds grows exponentially.For example, we have seen the CPU idle for most of the time during paging, so compressing pages can increase total performance even though the CPU must decompress or interpret the page contents. Another profile shows that many functions are called just once, so reduced paging could pay for their interpretation overhead.This paper describes:• Measurements that show how code compression can save space and total time in some important real-world scenarios.• A compressed executable representation that is roughly the same size as gzipped x86 programs and can be interpreted without decompression. It can also be compiled to high-quality machine code at 2.5 megabytes per second on a 120MHz Pentium processor• A compressed "wire" representation that must be decompressed before execution but is, for example, roughly 21% the size of SPARC code when compressing gcc.

References

  1. Timothy C. Bell, John G. Cleary, and lan H. Witten. Text Compression. Prentice Hall, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Jon Louis Bentley, Daniel D. Sleator, Robert E. Tarjan, and Victor K. Wei. A locally adaptive data compression scheme. Communications of the ACM 29(4):520-540, 4/86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Peter Elias. Interval and recency rank source coding: Two on-line adaptive variable-length schemes. IEEE Transactions on Information Theory IT-33(1), 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Franz and T. Kistler. Slim binaries. TR 96-24, Dept of Information and Computer Science, University of California, Irvine, 6/96. Also htto://www.ics.uci.edu/---oberon/research.html and to appear in Communications of the A CM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Franz. Adaptive compression of syntax trees and iterative dynamic code optimization: Two basic technologies for mobileobject systems. TR 97-04, Dept of Information and Computer Science, University of California, lrvine, 2/97.Google ScholarGoogle Scholar
  6. Christopher W. Fraser and David R. Hanson. A Retargetable C Compiler: Design and Implementation. Addison Wesley Longman, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Christopher W. Fraser and Todd A. Proebsting. Custom instruction sets for code compression. http://www.cs.arizona.edu/?~opleltodd/papers/pldi2.ps, 10/95.Google ScholarGoogle Scholar
  8. T. Kistler and M. Franz. A tree-based alternative to Java bytecodes; TR 96-58, Dept of Information and Computer Science, University of California, Irvine, 12/96.Google ScholarGoogle Scholar
  9. A. Lempel and J. Ziv. On the complexity of finite sequences. IEEE Transactions on Information Theory 22(1 ):75-81, 1/76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Ali-Reza Adl-Tabatabai, Geoff Langdale, Steven Lucco and Robert Wahbe. Efficient and language-independent mobile programs. PLDI'96:127-136, 6/96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Todd A. Proebsting. Optimizing an ANSI C interpreter with superoperators, POPL95:322-332, 1/95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. ian H. Witten, Radford M. Neal, and John G. Cleary. Arithmetic coding for data compression. Communications of the A CM 30(6):520-540, 6/87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tong Lai Yu. Data compression for PC software distribution. Software-Practice & Experience 26(11 ): 1181 - 1195, 11/96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Ziv and A. Lempel. Compression of individual sequences via variable-rate coding. IEEE Transactions on Information Theory 24(5):530-536, 9/78. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Code compression

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              PLDI '97: Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
              May 1997
              365 pages
              ISBN:0897919076
              DOI:10.1145/258915

              Copyright © 1997 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 May 1997

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              PLDI '97 Paper Acceptance Rate31of158submissions,20%Overall Acceptance Rate406of2,067submissions,20%

              Upcoming Conference

              PLDI '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader