MATLAB성능

Matlab코드의성능을최적화할수있습니다。

더빨라진matlab

R2015a에도입된MATLAB®실행엔진은jit컴파일을사용하여모든matlab코드의속도를높여줍니다。JIT컴파일을통해MATLAB코드와특정하드웨어에최적화된기계어수준의네이티브코드가생성됩니다。실행엔진의아키텍처는릴리스를거듭할때마다내장함수호출속도향상및인덱싱작업의가속화등추가적인최적화가이루어지고있습니다。또한다,수의핵심MATLAB함수는더나은성능을위해암시적으로멀티스레드처리됩니다。

MATLAB성능은실제사용자워크플로를나타내는전체응용프로그램과단위작업을모두포괄하는일련의벤치마크를이용하여측정됩니다。MATLAB릴리스사이클을거치는동안다양한하드웨어와운영체제에서이러한벤치마크를여러차례실행하여새로운최적화를검증하고,성능저하를검출하여처리하고,특정운영체제에서발생하는문제를식별할수있습니다。

Matlab릴리스정보에서구체적路人성능개선사항을알아볼수있습니다。MATLAB R2019b부터는과거의MATLAB버전과비교하여개선된실행시간측정결과를성능릴리스정보에수록하고있습니다。


고객워크플로의평균속도향상

Matlab성능테스트스위트의평균속도향상

Matlab프로파일러

Matlab프로파일러를사용하여코드의병목지점을찾을수있습니다。

Matlab코드의성능개선

코드의성능을개선하기위한첫단계는병목지점을찾아내는것입니다。예를들어다음과같은작업을수행할수있습니다。

  • 抽搐toc时间등의함수로코드실행시간측정
  • Matlab프로파일러를사용하여프로그램에서실행시간이가장오래걸리는부분확
  • Matlab코드분석기를사용하여성능개선을위한추가적파악

코드내병목지점을찾아낸뒤에는대개알려진프로그래밍기법으로코드의속도를높일수있습니다。가장널리활용되는기법은배열사전할당과벡터화입니다。사전할당을통해동적메모리할당을회피하여성능을개선할수있습니다。벡터화로는명령하나로모든벡터로는명령하나로모든벡터。이두기법을함께활용하면코드의속도를최대수십배까지향상시킬수있습니다。

필요에따라응용프로그램에서계산집약적인부분을컴파일언어로작성하여성능을향상시킬수있습니다。MATLAB에서墨西哥人함수를이용하면MATLAB내장함수처럼고성능C, c++또는Fortran코드를호출할수있습니다。MATLAB编码器™로MATLAB코드를墨西哥人파일로자동변환하여속도를훨씬높일수도있습니다。


하드웨어를최대한활용할수있도록병렬연산사용

계산집약적인문제나데이터집약적인문제를병렬연산으로풀어모든하드웨어리소스에명시적으로액세스할수있습니다。사용하기쉽고익숙MATLAB한의기능을그대로사용하면서여러개의프로세,스스레드,GPU로확장할수있습니다。개발과실행을한대의컴퓨터에서처리하고,코드를재작성하지않고도실행범위를연산클러스터나클라우드로확장할수있습니다。


병렬연산을사용하여하드웨어의모든리소스를명시적으로활용할수있습니다。

Baidu
map