Contenuto principale

Velocità di esecuzione

Migliorare la velocità di esecuzione del codice generato

Il generatore di codice aumenta, ove possibile, la velocità di esecuzione del codice generato sostituendo le variabili globali con variabili locali, eliminando le copie dei dati, utilizzando le funzioni memset e memcpy e riducendo la quantità di memoria utilizzata per memorizzare i dati. È possibile aumentare la velocità di esecuzione del codice generato implementando ottimizzazioni specifiche per il compiler e il processore, specificando il riutilizzo dei buffer e rimuovendo il codice che potrebbe non essere necessario.

Impostazioni modello

espandi tutto

Optimize using the specified minimum and maximum valuesOptimize using minimum and maximum values for signals and parameters
Simplify array indexingReplace multiply operations in array indices when accessing arrays in a loop
Loop unrolling threshold Specify minimum array size width for generating for loops
Optimize reductionsSingle instruction, multiple data (SIMD) code for reduction operation loops (Da R2022a)
Use memset to initialize floats and doubles to 0.0Control generation of code that explicitly initializes floating-point data to 0.0
Data type replacementMethod for replacing built-in data type names in generated code (Da R2023a)
Simulation behavior for denormal numbersOption to emulate hardware handling of denormal numbers
Use floating-point multiplication to handle net slope correctionsNet slope correction computation for floating-point to fixed-point casts
Leverage target hardware instruction set extensionsInstruction sets to generate single instruction, multiple data (SIMD) code (Da R2021b)
Signal storage reuseReuse signal memory
Optimize global data accessOptimize global variable usage
Optimize block operation order in generated codeSpecify to reorder block operations for improved code execution speed
Loop unrolling threshold Specify minimum array size width for generating for loops
Use memcpy for vector assignmentOptimize code generated for vector assignments
Conditional input branch executionOption to optimize input paths for Switch and Multiport Switch blocks
Dynamic memory allocation in MATLAB functionsOption to use dynamic memory allocation for MATLAB code
Code replacement librariesLibraries that define code optimizations for specific target environment
Generate Halide codeGenerate Halide code for faster array computation (Da R2023b)

Argomenti

Nozioni di base sull'ottimizzazione della velocità di esecuzione

Ottimizzazioni specifiche per il processore

Ottimizzazioni che migliorano l'efficienza di esecuzione

Ottimizzazioni mediante generazione di codice Halide

Esempi in primo piano