Power and performance : software analysis and optimization / Jim Kukunas.

Annotation

Saved in:
Bibliographic Details
Main Author: Kukunas, Jim (Author)
Format: eBook
Language:English
Published: Amsterdam : Morgan Kaufmann, [2015]
Subjects:
Online Access:Click for online access
Table of Contents:
  • ""Front Cover""; ""Power and Performance: Software Analysis and Optimization""; ""Copyright""; ""Dedication""; ""Contents""; ""Introduction""; "" Performance Apologetic""; "" Performance Is Power Efficiency""; "" Performance and Usage Patterns""; "" A Word on Premature Optimization""; "" The Roadmap""; "" Reference""; ""Part 1: Background Knowledge""; ""Chapter 1: Early Intel® Architecture""; ""1.1 Intel® 8086""; ""1.1.1 System State""; ""Address space""; ""1.1.2 Registers""; ""1.1.3 Instructions""; ""Data movement""; ""Integer arithmetic""; ""Boolean logic""; ""Flow control""; ""String""
  • ""1.1.4 Machine Code Format""""1.2 Intel® 8087""; ""1.2.1 IEEE 754 Floating Point""; ""Formats, precision, and environment""; ""C99 support""; ""1.2.2 x87 Floating Point""; ""1.3 Intel® 80286 and 80287""; ""1.3.1 Protected and Real Mode""; ""1.3.2 Protected Mode Segmentation""; ""1.3.3 Task Control""; ""1.4 Intel® 80386 and 80387""; ""1.4.1 32-Bit Mode""; ""1.4.2 Paging""; "" References""; ""Chapter 2: Intel® Pentium® Processors""; ""2.1 Intel® Pentium®""; ""2.1.1 Superscalar""; ""2.2 Intel® Pentium® Pro""; ""2.2.1 PAE""; ""2.2.2 Î?ops ""; ""2.2.3 Out-of-Order Execution""
  • 4.2 Step 1: Determine the Source of the Problem4.3 Step 2: Determine Whether the Bottleneck Can Be Avoided
  • 4.4 Step 3: Design a Reproducible Experiment
  • 4.5 Step 4: Check Upstream
  • 4.5.1 Who
  • 4.5.2 Where and How
  • 4.5.3 What
  • Git bisect
  • Cleaning patches with Git
  • Sending patches with Git
  • 4.6 Step 5: Algorithmic Improvement
  • 4.7 Step 6: Architectural Tuning
  • 4.8 Step 7: Testing
  • 4.9 Step 8: Performance Regression Testing
  • References
  • Chapter 5: Designing Experiments
  • 5.1 Choosing a Metric
  • 5.2 Dealing with External Variables5.2.1 Controllable External Variables
  • 5.2.2 Uncontrollable External Variables
  • 5.3 Timing
  • 5.3.1 CPU Cycles
  • 5.3.2 Clock Time and Unix Time
  • 5.4 Phoronix Test Suite
  • 5.4.1 Running Phoronix
  • Configuration
  • Installing Tests
  • Running Tests
  • Batch Mode
  • 5.4.2 Working with Results
  • 5.4.3 Creating Custom Tests
  • 5.4.4 Phoronix Resources
  • References
  • Part 2: Monitors
  • Chapter 6: Introduction to Profiling
  • 6.1 PMU
  • 6.1.1 Event Counters
  • 6.1.2 Using Event Counters