Java performance tuning /
Annotation
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Sebastopol, CA ; Farnham :
O'Reilly,
2003.
|
Edición: | 2nd ed. |
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Table of Contents; Preface; Contents of This Book; New in the Second Edition; Virtual Machine (VM) Versions; Conventions Used in This Book; Comments and Questions; Acknowledgments; Chapter 1. Introduction; Why Is It Slow?; The Tuning Game; System Limitations and What to Tune; A Tuning Strategy; Perceived Performance; Threading to Appear Quicker; Streaming to Appear Quicker; Caching to Appear Quicker; Starting to Tune; User Agreements; Setting Benchmarks; The Benchmark Harness; Taking Measurements; What to Measure; Don't Tune What You Don't Need to Tune; Performance Checklist
- Chapter 2. Profiling ToolsMeasurements and Timings; Garbage Collection; Using -verbosegc to Analyze Garbage Collection; Tools for Analyzing -verbosegc Output; Method Calls; Profiling Methodology; Java 2 cpu=samples Profile Output; HotSpot and 1.3 -Xprof Profile Output; JDK 1.1.x -prof and Java 2 cpu=old ProfileOutput; Java 2 -Xhprof Option; Java 2 -Xaprof option; Object-Creation Profiling; Monitoring Gross Memory Usage; Client/Server Communications; Replacing Sockets; Performance Checklist; Chapter 3. Underlying JDK Improvements; Garbage Collection; Tuning the Heap; Gross Tuning
- Problems with a Larger HeapStarting Versus Maximum Heap Size; Benchmarking Considerations; Fine-Tuning the Heap; Expanding the Heap; Minimizing Pauses; Incremental or "train" GC; Concurrent GC; Enlarge the "new" space; Disabling System.gc() Calls; Tuning RMI Garbage Collection; Extreme Heap and Intimate Shared Memory; Loading a Huge Number of Classes; Per-Thread Stack Size; Eliminate Finalizers; Sharing Memory; Replacing JDK Classes; Faster VMs; VM Speed Variations; VMs with JIT Compilers; VM Startup Time; Other VM Optimizations; Better Optimizing Compilers
- What Optimizing Compilers Cannot DoWhat Optimizing Compilers Can Do; Remove unused methods and classes; Increase statically bound calls; Cut dead code and unnecessary instructions, including checks for null; Use computationally cheaper alternatives (strength reduction); Replace runtime computations with compiled results; Remove unused fields; Remove unnecessary parts of compiled files; Reduce necessary parts of compiled files; Alter access control to speed up invocations; Inline calls; Remove dynamic type checks; Unroll loops; Code motion; Eliminate common subexpressions
- Eliminate unnecessary assignmentsRename classes, fields, and methods; Reorder or change bytecodes; Generate information to help a VM; Managing Compilers; Sun's Compiler and Runtime Optimizations; Optimizations You Get for Free; Literal constants are folded; String concatenation is sometimes folded; Constant fields are inlined; Dead code branches are eliminated; Optimizations Performed When Using the -O Option; Performance Effects From Runtime Options; Compile to Native Machine Code; Native Method Calls; Uncompressed ZIP/JAR Files; Performance Checklist; Chapter 4. Object Creation