Jump To:
Leopard Reference Library
The performance of Mac OS X applications and hardware devices can be measured, evaluated, and optimized using Apple's developer tools, technologies, and programming interfaces. Developers can fine-tune their applications for high performance using tools such as the Shark code-profiling application, features such as multiprocessing, and APIs such as the one for the vDSP library.

A guided introduction to improving performance in Mac OS X software.   Essential information for improving the performance of developer applications.   API references, organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sorted by
Resource Type
Sort by
Date
Leopard Technology Series for Developers: Graphics & Media Overview (HTML)
Describes Leopard's graphics and media capabilities.
Graphics & Imaging Articles 2007-12-11
Improving Your Software with Xcode andStatic Code Analysis Techniques (HTML)
Learn about static analysis and get started using it with an Xcode project.
Tools Articles 2006-07-10
Optimizing Your Application with System Trace in Shark 4 (HTML)
See how your code interacts with Mac OS X using the power of Shark.
Tools Articles 2006-01-30
Taking Advantage of the Accelerate Framework (HTML)
Learn how your application can run on PowerPC- or Intel-based Macs without processor-specific customization.
Audio, Carbon, Cocoa, Graphics & Imaging, Vector Engines Articles 2005-10-03
Porting Multithreaded Applications from Win32 to Mac OS X (HTML)
Learn how Mac OS X handles multithreading, before porting your Win32 application.
Carbon, Cocoa, Multiprocessing Articles 2005-06-20
Introduction to MPI Distributed Programming on Mac OS X (HTML)
Learn how to create tightly coupled, distributed algorithms to run on multiple computers using MPI.
High Performance Computing, Multiprocessing Articles 2005-02-14
Tiger Developer Overview Series: Developing 64-bit Applications (HTML)
Learn how Mac OS X Tiger breaks the limitations of 32-bit computing.
Darwin, High Performance Computing Articles 2004-12-20
Optimizing Your Applications with Shark 4 (HTML)
Learn how using Shark 4 can help you dramatically improve performance in your application.
Tools Articles 2004-11-08
Xgrid: High Performance Computing for the Rest of Us (HTML)
Learn how mathematicians and scientists are making the most of Xgrid's power and easy setup.
High Performance Computing Articles 2004-03-29
Optimizing with Shark: Big Payoff, Small Effort (HTML)
Learn to improve your application's performance by sampling a real application using Shark.
Tools Articles 2004-01-19
Optimizing for the Power Mac G5 (HTML)
Learn how to optimize your code for the Power Mac G5.
Vector Engines Articles 2003-10-24
Maximizing Mac OS X Application Performance (HTML)
Learn how to achieve better performance on Mac OS X.
Carbon, Cocoa, Graphics & Imaging, Tools Articles 2003-06-23
Universal Binary Programming Guidelines, Second Edition (HTML) (PDF)
Conceptual information and tips for writing code that runs on PowerPC-based and Intel-based Macintosh computers.
High Performance Computing, Intel-Based Macs Guides 2009-02-04
Xcode Debugging Guide (HTML) (PDF)
Describes the Xcode debugging facilities and the recommended debugging techniques.
Tools Guides 2009-01-06
vImage Programming Guide (HTML) (PDF)
Explains how to use the C programming interface for high-speed vector image processing.
Graphics & Imaging Guides 2008-10-15
Xsan 2 Administrator's Guide (PDF)
Explains how to set up and manage Xsan volumes in a storage area network.
Storage Guides 2008-06-09
Xsan 2 Setup Guide (PDF)
Explains how to set up a volume on a storage area network (SAN) using Xsan 2.
Storage Guides 2008-06-09
Shark User Guide (HTML) (PDF)
Explains how to analyze code performance by profiling the system.
Tools Guides 2008-04-14
64-Bit Transition Guide (HTML) (PDF)
Describes the 64-bit features available in Mac OS X.
Darwin, High Performance Computing Guides 2008-04-08
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Carbon, Cocoa, Core Foundation, Multiprocessing Guides 2008-02-08
64-Bit Guide for Carbon Developers (HTML) (PDF)
Explains the changes necessary to create a 64-bit executable version of a Carbon application.
Carbon Guides 2007-12-11
Xgrid Programming Guide (HTML) (PDF)
Explains how to create client applications that use Xgrid, Apple's parallel multiprocessing technology.
High Performance Computing, Multiprocessing Guides 2007-10-31
I/O Kit Fundamentals (HTML) (PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
Hardware & Drivers Guides 2007-05-17
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs Guides 2006-10-03
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
General Guides 2006-10-03
Code Size Performance Guidelines (HTML) (PDF)
Guidelines for reducing the size of an application binary.
Carbon, Cocoa, Tools Guides 2006-06-28
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Carbon, Cocoa, Core Foundation, Hardware & Drivers, Tools Guides 2006-06-28
Xsan Programming Guide (HTML) (PDF)
Describes managing files and storage pools with Xsan.
High Performance Computing, Storage Guides 2006-05-23
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Graphics & Imaging Guides 2006-04-04
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Carbon, Cocoa, Tools Guides 2006-04-04
Deploying Mac OS X Server for High Performance Computing (PDF)
Explains how to configure Mac OS X Server for computational clustering.
Storage Guides 2005-10-04
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs, Vector Engines Guides 2005-09-08
Cocoa Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of Cocoa applications.
Cocoa Guides 2005-08-11
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Carbon, Cocoa, Tools Guides 2005-07-07
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Carbon, Cocoa, Storage, Tools Guides 2005-07-07
PowerPC Numerics (PDF)
Describes the Mac OS X numerics environment for implementing IEEE standards 754 and C99.
General Guides 2004-01-22
Debugging Programming Topics for Core Foundation (HTML) (PDF)
Tips and techniques for debugging Core Foundation code.
Carbon Guides 2003-01-17
Debugging Cocoa Applications (HTML) (PDF)
Tips and techniques for debugging Cocoa applications.
Cocoa Guides 2002-11-12
vDSP Single-Vector Operations Reference (HTML) (PDF)
This document describes the C API for performing common routines on a single vector in vDSP.
Carbon, Vector Engines Reference 2009-01-07
vDSP Correlation, Convolution, and Filtering Reference (HTML) (PDF)
Describes an interface for performing correlation, convolution, and filtering operations on real or complex signals.
Carbon, Vector Engines Reference 2009-01-06
vDSP Matrix Operations Reference (HTML) (PDF)
Describes an interface for matrix arithmetic operations.
Carbon, Vector Engines Reference 2009-01-06
vDSP One-Dimensional Fast Fourier Transforms Reference (HTML) (PDF)
Describes an interface for performing one-dimensional fast Fourier transforms on an input signal.
Carbon, Vector Engines Reference 2009-01-06
vDSP Vector-To-Scalar Operations Reference (HTML) (PDF)
Describes functions that receive a vector as input and compute scalars as output.
Carbon, Vector Engines Reference 2009-01-06
vDSP Vector-to-Vector Arithmetic Operations Reference (HTML) (PDF)
Describes functions that receive a vector as input and return a vector as output.
Carbon, Vector Engines Reference 2009-01-06
vecLib Framework Reference (HTML) (PDF)
Describes the C API for vector mathematical functions in the vecLib subframework of the Accelerate framework.
Carbon, General, Vector Engines Reference 2009-01-06
NSAutoreleasePool Class Reference (HTML) (PDF)
Describes the interface to the deferred-release mechanism in Cocoa's reference-counted memory management system.
Cocoa Reference 2009-01-02
vDSP Two-Dimensional Fast Fourier Transforms Reference (HTML) (PDF)
Improved function discussions and corrections.
Carbon, Vector Engines Reference 2008-11-19
vDSP Reference Collection (HTML) (PDF)
Describes the vDSP programming interface defined in the Accelerate framework for digital signal processing.
Vector Engines Reference 2008-10-15
NSRunLoop Class Reference (HTML) (PDF)
Describes the object that manages events on a thread.
Cocoa Reference 2008-02-08
vImage Alpha Compositing Reference (HTML) (PDF)
Describes the programming interface for high-performance alpha compositing operations.
Graphics & Imaging Reference 2007-07-12
vImage Conversion Reference (HTML) (PDF)
Describes the programming interface for high performance image conversion operations.
Graphics & Imaging Reference 2007-07-12
vImage Convolution Reference (HTML) (PDF)
Describes the programming interface for high performance image convolution operations.
Graphics & Imaging Reference 2007-07-12
vImage Data Types and Constants Reference (HTML) (PDF)
Describes the data types and constants used by the vImage framework.
Graphics & Imaging Reference 2007-07-12
vImage Decompression Filtering Reference (HTML) (PDF)
Describes the programming interface for decompression filtering operations.
Graphics & Imaging Reference 2007-07-12
vImage Geometry Reference (HTML) (PDF)
Describes the programming interface for high performance geometric operations on images.
Graphics & Imaging Reference 2007-07-12
vImage Histogram Reference (HTML) (PDF)
Describes the programming interface for high performance image histogram operations.
Graphics & Imaging Reference 2007-07-12
vImage Morphology Reference (HTML) (PDF)
Describes the programming interface for high performance morphological operations on images.
Graphics & Imaging Reference 2007-07-12
vImage Reference Collection (HTML) (PDF)
Describes the C programming interface for high-performance image processing.
Graphics & Imaging, Vector Engines Reference 2007-07-12
vImage Transform Reference (HTML) (PDF)
Describes the programming interface for high performance image transform operations.
Graphics & Imaging Reference 2007-07-12
vDSP Complex Vector Conversion Reference (HTML) (PDF)
Describes functions that convert complex vectors between interleaved and split forms.
Carbon, Vector Engines Reference 2007-06-15
vDSP Vector Scalar Arithmetic Operations Reference (HTML) (PDF)
Describes vDSP functions that perform arithmetic operations combining a scalar with each element of a vector.
Carbon, Vector Engines Reference 2007-06-15
NSAssertionHandler Class Reference (HTML) (PDF)
Describes the facility for handling false assertions.
Cocoa Reference 2007-02-22
Xsan Reference (HTML) (PDF)
Describes the Xsan API commands.
Storage Reference 2006-05-23
Xgrid Foundation Reference (HTML)
Describes the API for monitoring and controlling Xgrid cluster operations.
High Performance Computing Reference 2005-06-04
Debugger Services Reference (HTML) (PDF)
Describes the C API for standard exception-handling and assertion functions used in Carbon applications.
Carbon Reference 2003-01-01
Error Handler Reference (HTML) (PDF)
Describes the C API for a Mac OS 9 service that assumes control when certain low-level system errors occur.
Carbon Reference 2003-01-01
Accelerate Release Notes (HTML)
Vector Engines Release Notes 2007-10-31
Affinity API Release Notes for Mac OS X v10.5 (HTML)
Explains how to influence which CPU core runs a group of threads (for performance optimization).
Darwin, Hardware & Drivers Release Notes 2007-10-31
CoreFoundation Framework Release Notes (HTML)
Core Foundation Release Notes 2007-10-31
Accelerate Reference Update (HTML) (PDF)
Summarizes the symbols added to the Accelerate framework.
Vector Engines Release Notes 2007-07-18
Xgrid Foundation Reference Update (HTML) (PDF)
Summarizes the symbols added to the Xgrid Foundation framework.
Darwin, Multiprocessing Release Notes 2007-07-18
vecLib Reference Update (HTML) (PDF)
Summarizes the symbols added to the vecLib framework.
Vector Engines Release Notes 2005-06-04
SIMD Primer (HTML) (DMG) (ZIP)
Introduction to using SIMD/SSE
High Performance Computing, Intel-Based Macs, Vector Engines Sample Code 2008-06-06
URL CacheInfo (HTML) (DMG) (ZIP)
Demonstrates resource caching behavior using the Cocoa URL loading system.
Cocoa Sample Code 2008-06-05
OpenGL Filter Basics Cocoa (HTML) (DMG) (ZIP)
How to use Objective-C and MVC design patterns in installing and utilizing filters in an OpenGL rendering pipeline
Graphics & Imaging Sample Code 2008-02-06
GeekGameBoard (HTML) (DMG) (ZIP)
Shows how to use Core Animation for the user interface of a board or card game.
Graphics & Imaging Sample Code 2007-12-19
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
Graphics & Imaging Sample Code 2007-10-22
MassiveImage (HTML) (DMG) (ZIP)
Shows how to use a CGDataProvider to save a very large image with Image IO
Graphics & Imaging Sample Code 2007-09-27
vDSP Examples (HTML) (DMG) (ZIP)
vDSP sample code
Graphics & Imaging, High Performance Computing, Tools, Vector Engines Sample Code 2007-05-10
MultiprecisionFP (HTML) (DMG) (ZIP)
How to utilize the gmp and arprec multiprecision floating point packages on Mac OS X
High Performance Computing Sample Code 2007-03-26
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Audio Sample Code 2007-02-27
FBOBunnies (HTML) (DMG) (ZIP)
Demonstrates how to use framebuffer objects (FBO)
Graphics & Imaging Sample Code 2006-09-18
Test64BitMultiprec (HTML) (DMG) (ZIP)
Implements (PPC) A*Y+B where A & B are arrays of 64-bit words and Y is a 64-bit integer
High Performance Computing, Tools, Vector Engines Sample Code 2006-06-09
Fractal Performance (HTML) (DMG) (ZIP)
Three fractal applications that show various bottlenecks and how they can be fixed.
Java Sample Code 2006-04-17
JavaSplashScreen (HTML) (DMG) (ZIP)
Deprecated - Quickly display a splash screen while instantiating the 1.4.x/1.5 JVM from a Cocoa application.
Java Sample Code 2006-04-12
VideoViewer (HTML) (DMG) (ZIP)
Simple example of video rendering using QuickTime visual contexts, OpenGL, Core Video and Core Image.
Graphics & Imaging Sample Code 2005-08-01
QuartzCache (HTML) (DMG) (ZIP)
Demonstrates several caching techniques using CGBitmapContext, CGImageRef re-use, CGLayerRefs, CGImageSource.
Graphics & Imaging Sample Code 2005-06-01
QuartzLines (HTML) (DMG) (ZIP)
Drawing Lines using Quartz's CGPath & CGContextStrokeLineSegments functions.
Graphics & Imaging Sample Code 2005-06-01
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Audio, Hardware & Drivers, Vector Engines Sample Code 2004-08-23
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Carbon, Cocoa, Core Foundation, Darwin Sample Code 2003-11-19
MPDelayUntilTest (HTML) (DMG) (ZIP)
Tests and demonstrates the MT/MP MPDelayUntil API.
Multiprocessing Sample Code 2003-10-27
MPPeriodicalTest (HTML) (DMG) (ZIP)
Tests and demonstrates the MT/MP timers.
Multiprocessing Sample Code 2003-10-27
CopyBits vs. CopyMask (HTML) (DMG) (ZIP)
Deprecated - CopyBits (using a mask region) vs. CopyMask (using a mask BitMap). Which do you think is faster?
Carbon Sample Code 2003-07-22
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Hardware & Drivers Sample Code 2003-06-12
icon cache demo (HTML) (DMG) (ZIP)
Demonstrates the use of an icon cache to limit the search for icon resource to one resource file.
Carbon, Graphics & Imaging Sample Code 2003-01-30
BlitNoVBL (HTML) (DMG) (ZIP)
Shows how to draw directly to the screen without syncing to the VBL of the monitor.
Graphics & Imaging Sample Code 2003-01-14
BlitVBL (HTML) (DMG) (ZIP)
Shows how to have Mac OS X try its best to sync to the VBL for you.
Graphics & Imaging Sample Code 2003-01-14
MPFileCopy (HTML) (DMG) (ZIP)
Demonstrates how to copy a folder and its contents using the HFS Plus APIs from an MP task.
Multiprocessing Sample Code 2003-01-14
PThreadSorts (HTML) (DMG) (ZIP)
Applies various sorting algorithms to pictures using POSIX threads (pthreads) on Mac OS X.
Carbon Sample Code 2003-01-14
SharedMemory (HTML) (DMG) (ZIP)
Shows how multiple applications can access the same memory using the Unix shmget system call.
Cocoa Sample Code 2003-01-14