Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Velocità di esecuzione

Migliorare la velocità di esecuzione del codice C/C++ generato

Utilizzare le opzioni e le ottimizzazioni per la generazione di codice per migliorare la velocità di esecuzione del codice generato. È possibile modificare o disattivare l'allocazione dinamica della memoria, che può influire sulla velocità di esecuzione. Il codice parallelizzato può essere generato utilizzando i loop parfor. Sfruttare il codice C ottimizzato preesistente e le librerie specializzate per accelerare l'esecuzione, se disponibili.

Per ulteriori informazioni su come ottimizzare il codice per condizioni specifiche, vedere Optimize Generated C/C++ and MEX Code.

Funzioni

espandi tutto

coder.timeitMeasure execution time of generated C/C++ code (Da R2024b)
coder.perfCompareCompare execution times of MATLAB code and code generated using multiple configuration objects (Da R2024b)
coder.loop.interchangeInterchange loop indices in generated code (Da R2023a)
coder.loop.parallelizeParallelize specific for loops in generated code; disable automatic parallelization (Da R2021a)
coder.loop.reverseReverse loop iteration order in generated code (Da R2023a)
coder.loop.tileTile for-loops in the generated code (Da R2023a)
coder.loop.unrollAndJamUnroll and jam for-loops in the generated code (Da R2023a)
coder.loop.vectorizeVectorize for loops in generated code (Da R2023a)
coder.unrollUnroll for-loop by making a copy of the loop body for each loop iteration
parforParallel for-loop
coder.inlineControl inlining of current function in generated code
coder.inlineCallInline called function in generated code (Da R2024a)
coder.nonInlineCallPrevent inlining of called function in generated code (Da R2024a)
coder.areUnboundedVariableSizedArraysSupportedCheck if current configuration settings allow unbounded variable-size arrays (Da R2024a)
coder.varsizeResolve size incompatibility errors and declare upper bounds
coder.constFold expressions into constants in generated code
coder.cevalCall C/C++ function from generated code

Classi

coder.BLASCallbackAbstract class for specifying the BLAS library and CBLAS header and data type information for BLAS calls in generated code
coder.LAPACKCallbackAbstract class for specifying the LAPACK library and LAPACKE header file for LAPACK calls in generated code
coder.fftw.StandaloneFFTW3Interface Abstract class for specifying an FFTW library for FFTW calls in generated code
coder.loop.ControlCustomize loop optimizations in generated code (Da R2023a)

Argomenti

Ottimizzazioni del codice generato

Ottimizzazioni di memcpy e memset

Array di dimensione variabile

Layout dell’array

Loop

Chiamate della funzione

Casi limite numerici

Integrazione di codice esterno

Risoluzione dei problemi

Troubleshooting parfor-Loops

Diagnose errors for code generation of parfor-loops.

Resolve Issue: coder.inline("never") and coder.nonInlineCall Do Not Prevent Function Inlining

Troubleshoot instances of coder.inline('never') not preventing inlining.

MEX Generated on macOS Platform Stays Loaded in Memory

Troubleshoot issues that occur when the source MATLAB code contains global or persistent variables that are reachable from the body of a parfor-loop.

Esempi in primo piano