MATLAB Answers

What is the difference between MATLAB code and P-code in MATLAB?

162 views (last 30 days)
I would like to know the difference between MATLAB code and P-code in MATLAB.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
When you call a MATLAB function from the command line or from within another MATLAB file, MATLAB parses the function and stores it in memory. The parsed function remains in memory until cleared with the CLEAR command or you quit MATLAB. The PCODE command performs the parsing step and stores the result on the disk as a P-file to be loaded later.
For example:
pcode average
This command parses average.m and saves the resulting pseudocode to the file named average.p. This saves MATLAB from reparsing average.m the first time you call it in each session.
MATLAB is very fast at parsing, so the PCODE function rarely makes much of a speed difference. One situation where P-code does provide a speed benefit is for large GUI applications. In this case, many MATLAB files must be parsed before the application becomes visible.
Another situation for P-code is when, for proprietary reasons, you want to hide algorithms you have created in your MATLAB file.
For more information, refer to the documentation on PCODE:
doc pcode
Philip Borghesani
Philip Borghesani on 19 Jun 2017
When in doubt ask Wikipedia: Parsing The sections on computer science and parsing explain it quite well. At one time MATLAB was implemented as a p-code interpreter see Wiki on P-code machine. The command name dates back to that time.

Sign in to comment.

More Answers (0)

MathWorks Support

Community Treasure Hunt

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

Start Hunting!