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
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Audio Technical Q&As 2008-09-16
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Audio Sample Code 2004-08-23
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Audio Sample Code 2007-02-27
Taking Advantage of the Accelerate Framework (HTML)
Learn how your application can run on PowerPC- or Intel-based Macs without processor-specific customization.
Audio Articles 2005-10-03
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Audio Technical Notes 2004-06-14
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Audio Sample Code 2003-01-14
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
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Carbon Technical Q&As 1997-03-14
Code Size Performance Guidelines (HTML) (PDF)
Guidelines for reducing the size of an application binary.
Carbon Guides 2006-06-28
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Carbon Guides 2005-07-07
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
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
Debugging Programming Topics for Core Foundation (HTML) (PDF)
Tips and techniques for debugging Core Foundation code.
Carbon Guides 2003-01-17
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Carbon Technical Q&As 2008-09-16
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (日本語 HTML)
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Carbon Technical Notes 2003-02-18
Error -151 and NewGWorld (HTML)
Deprecated - QD18: Explains what the error code -151 means when in NewGWorld.
Carbon Technical Q&As 1995-09-15
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
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Carbon Guides 2005-07-07
GDB for MacsBug Veterans (HTML)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
Carbon Technical Notes 2001-10-18
How do I tell if a particular display is being hardware accelerated by Quartz Extreme? (HTML) (日本語 HTML)
QA1218: Describes how to use CGDisplayUsesOpenGLAcceleration to see if a display is accelerated or not.
Carbon Technical Q&As 2002-12-04
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 Sample Code 2003-01-30
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Carbon Guides 2006-04-04
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Carbon Sample Code 2003-11-19
Maximizing Mac OS X Application Performance (HTML)
Learn how to achieve better performance on Mac OS X.
Carbon Articles 2003-06-23
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Carbon Guides 2006-06-28
Optimization Strategies for Mac OS X (HTML)
TN1174: Achieving the best possible performance in your applications.
Carbon Technical Notes 1999-09-01
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Carbon Technical Q&As 1997-10-13
Porting Multithreaded Applications from Win32 to Mac OS X (HTML)
Learn how Mac OS X handles multithreading, before porting your Win32 application.
Carbon Articles 2005-06-20
Problem with PaintRgn on 256-color Screens (HTML)
Deprecated - QD23: PaintRgn with RGBForeColor and transfer mode addOver doesn't return color to original on 256-color-screens.
Carbon Technical Q&As 1995-09-15
PThreadSorts (HTML) (DMG) (ZIP)
Applies various sorting algorithms to pictures using POSIX threads (pthreads) on Mac OS X.
Carbon Sample Code 2003-01-14
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Carbon Technical Q&As 2003-02-25
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Carbon Technical Q&As 2008-08-08
Taking Advantage of the Accelerate Framework (HTML)
Learn how your application can run on PowerPC- or Intel-based Macs without processor-specific customization.
Carbon Articles 2005-10-03
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Carbon Guides 2008-02-08
Using Temporary Memory with OpenPicture (HTML)
Deprecated - QD20: Provides several techniques of causing OpenPicture to allocate temporary memory for a picture handle.
Carbon Technical Q&As 1996-02-01
vDSP Complex Vector Conversion Reference (HTML) (PDF)
Describes functions that convert complex vectors between interleaved and split forms.
Carbon Reference 2007-06-15
vDSP Correlation, Convolution, and Filtering Reference (HTML) (PDF)
Describes an interface for performing correlation, convolution, and filtering operations on real or complex signals.
Carbon Reference 2009-01-06
vDSP Matrix Operations Reference (HTML) (PDF)
Describes an interface for matrix arithmetic operations.
Carbon 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 Reference 2009-01-06
vDSP Single-Vector Operations Reference (HTML) (PDF)
This document describes the C API for performing common routines on a single vector in vDSP.
Carbon Reference 2009-01-07
vDSP Two-Dimensional Fast Fourier Transforms Reference (HTML) (PDF)
Improved function discussions and corrections.
Carbon Reference 2008-11-19
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 Reference 2007-06-15
vDSP Vector-To-Scalar Operations Reference (HTML) (PDF)
Describes functions that receive a vector as input and compute scalars as output.
Carbon 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 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 Reference 2009-01-06
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Carbon Sample Code 2003-01-14
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Cocoa Technical Q&As 1997-03-14
Cocoa Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of Cocoa applications.
Cocoa Guides 2005-08-11
Code Size Performance Guidelines (HTML) (PDF)
Guidelines for reducing the size of an application binary.
Cocoa Guides 2006-06-28
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Cocoa Guides 2005-07-07
Debugging Cocoa Applications (HTML) (PDF)
Tips and techniques for debugging Cocoa applications.
Cocoa Guides 2002-11-12
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Cocoa Technical Q&As 2008-09-16
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (日本語 HTML)
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Cocoa Technical Notes 2003-02-18
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Cocoa Guides 2005-07-07
How do I tell if a particular display is being hardware accelerated by Quartz Extreme? (HTML) (日本語 HTML)
QA1218: Describes how to use CGDisplayUsesOpenGLAcceleration to see if a display is accelerated or not.
Cocoa Technical Q&As 2002-12-04
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Cocoa Guides 2006-04-04
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Cocoa Sample Code 2003-11-19
Maximizing Mac OS X Application Performance (HTML)
Learn how to achieve better performance on Mac OS X.
Cocoa Articles 2003-06-23
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Cocoa Guides 2006-06-28
NSAssertionHandler Class Reference (HTML) (PDF)
Describes the facility for handling false assertions.
Cocoa Reference 2007-02-22
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
NSRunLoop Class Reference (HTML) (PDF)
Describes the object that manages events on a thread.
Cocoa Reference 2008-02-08
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Cocoa Technical Q&As 1997-10-13
Porting Multithreaded Applications from Win32 to Mac OS X (HTML)
Learn how Mac OS X handles multithreading, before porting your Win32 application.
Cocoa Articles 2005-06-20
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Cocoa Technical Q&As 2003-02-25
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Cocoa Technical Q&As 2008-08-08
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
Taking Advantage of the Accelerate Framework (HTML)
Learn how your application can run on PowerPC- or Intel-based Macs without processor-specific customization.
Cocoa Articles 2005-10-03
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Cocoa Guides 2008-02-08
URL CacheInfo (HTML) (DMG) (ZIP)
Demonstrates resource caching behavior using the Cocoa URL loading system.
Cocoa Sample Code 2008-06-05
CoreFoundation Framework Release Notes (HTML)
Core Foundation Release Notes 2007-10-31
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Core Foundation Technical Q&As 2008-09-16
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Core Foundation Sample Code 2003-11-19
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Core Foundation Guides 2006-06-28
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Core Foundation Guides 2008-02-08
64-Bit Transition Guide (HTML) (PDF)
Describes the 64-bit features available in Mac OS X.
Darwin Guides 2008-04-08
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 Release Notes 2007-10-31
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Darwin Technical Q&As 2008-09-16
GDB for MacsBug Veterans (HTML)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
Darwin Technical Notes 2001-10-18
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Darwin Sample Code 2003-11-19
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Darwin Technical Q&As 2001-10-25
Tiger Developer Overview Series: Developing 64-bit Applications (HTML)
Learn how Mac OS X Tiger breaks the limitations of 32-bit computing.
Darwin Articles 2004-12-20
Xgrid Foundation Reference Update (HTML) (PDF)
Summarizes the symbols added to the Xgrid Foundation framework.
Darwin Release Notes 2007-07-18
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
General Guides 2006-10-03
PowerPC Numerics (PDF)
Describes the Mac OS X numerics environment for implementing IEEE standards 754 and C99.
General Guides 2004-01-22
vecLib Framework Reference (HTML) (PDF)
Describes the C API for vector mathematical functions in the vecLib subframework of the Accelerate framework.
General Reference 2009-01-06
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
Coalesced Updates (HTML)
TN2133: How to achieve the maxium frame rate in your Mac OS X application
Graphics & Imaging Technical Notes 2006-01-20
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
Graphics & Imaging Sample Code 2007-10-22
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Graphics & Imaging Technical Q&As 2006-01-12
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Graphics & Imaging Technical Q&As 2008-09-16
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Graphics & Imaging Guides 2006-04-04
Enabling multi-threaded execution of the OpenGL framework (HTML)
TN2085: OpenGL on Intel-based Macintosh systems can use multi-threading to increase the performance of CPU-bound OpenGL-based applications.
Graphics & Imaging Technical Notes 2006-11-07
FBOBunnies (HTML) (DMG) (ZIP)
Demonstrates how to use framebuffer objects (FBO)
Graphics & Imaging Sample Code 2006-09-18
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
How can I optimize a Quartz Composer composition depending on the hardware it runs on? (HTML)
QA1433: Explains how to design compositions that adapt to the hardware limitations.
Graphics & Imaging Technical Q&As 2005-06-01
How do I tell if a particular display is being hardware accelerated by Quartz Extreme? (HTML) (日本語 HTML)
QA1218: Describes how to use CGDisplayUsesOpenGLAcceleration to see if a display is accelerated or not.
Graphics & Imaging Technical Q&As 2002-12-04
icon cache demo (HTML) (DMG) (ZIP)
Demonstrates the use of an icon cache to limit the search for icon resource to one resource file.
Graphics & Imaging Sample Code 2003-01-30
Is ColorSync thread safe? (HTML) (日本語 HTML)
QA1261: Discusses ColorSync thread-safety issues.
Graphics & Imaging Technical Q&As 2003-04-17