Accelerating MATLAB Performance source files
Updated 25 Dec 2014
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.
* 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.
- 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
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).
Yair Altman (2023). Accelerating MATLAB Performance source files (https://www.mathworks.com/matlabcentral/fileexchange/48825-accelerating-matlab-performance-source-files), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.