Accelerating MATLAB Performance source files

Source files for the book "Accelerating MATLAB Performance", CRC Press, 2014
Updated 25 Dec 2014

View License

The Matlab programming environment is often perceived as a platform suitable for prototyping and modeling but not for “serious” applications. One of the main complaints is that Matlab is just too slow.
Accelerating MATLAB Performance (CRC Press, ISBN 978-1482211290, 785 pages) aims to correct this perception, by describing multiple ways to greatly improve Matlab program speed.

The book:

* Demonstrates how to profile MATLAB code for performance and resource usage, enabling users to focus on the program’s actual hotspots
* Considers tradeoffs in performance tuning, horizontal vs. vertical scalability, latency vs. throughput, and perceived vs. actual performance
* Explains generic speedup techniques used throughout the software industry and their adaptation for Matlab, plus methods specific to Matlab
* Analyzes the effects of various data types and processing functions
* Covers vectorization, parallelization (implicit and explicit), distributed computing, optimization, memory management, chunking, and caching
* Explains Matlab’s memory model and shows how to profile memory usage and optimize code to reduce memory allocations and data fetches
* Describes the use of GPU, MEX, FPGA, and other forms of compiled code
* Details acceleration techniques for GUI, graphics, I/O, Simulink, object-oriented Matlab, Matlab startup, and deployed applications
* Discusses a wide variety of MathWorks and third-party functions, utilities, libraries, and toolboxes that can help to improve performance

Ideal for novices and professionals alike, the book leaves no stone unturned. It covers all aspects of Matlab, taking a comprehensive approach to boosting Matlab performance. It is packed with thousands of helpful tips, code examples, and online references. Supported by an active website, the book will help readers rapidly attain significant reductions in development costs and program run times.


- Preface
- Chapter 1: Introduction to Performance Tuning
- Chapter 2: Profiling MATLAB Performance
- Chapter 3: Standard Performance-Tuning Techniques
- Chapter 4: MATLAB-Specific Techniques
- Chapter 5: Implicit Parallelization (Vectorization and Indexing)
- Chapter 6: Explicit Parallelization Using MathWorks Toolboxes
- Chapter 7: Explicit Parallelization by Other Means
- Chapter 8: Using Compiled Code
- Chapter 9: Memory-Related Techniques
- Chapter 10: Graphics and GUI
- Chapter 11: I/O Techniques
- Appendix A: Additional Resources
- Appendix B: Performance Tuning Checklist
- References & Notes
- Index

This submission provides the source code for all non-trivial functions in the book.
All the files are named s<section#>_function. For example: s6_1_7_matched_filter_spmd.m refers to the matched_filter_spmd m-function found in section 6.1.7, while s11_7_mexIO.c refers to the C-MEX function found in section 11.7. In order to run these files, you would typically need to remove the s<section#>_ prefix from their filename (i.e., creating matched_filter_spmd.m and mexIO.c).

Cite As

Yair Altman (2024). Accelerating MATLAB Performance source files (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Performance Profiling in Help Center and MATLAB Answers
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Fixed a filename typo (

Added H1 comment lines