프로그램 최적화프로그램 최적화(영어: program optimization) 또는 소프트웨어 최적화(영어: software optimization)는 컴퓨터 과학에서 시스템을 수정하여 어떠한 면의 작업을 더 효과적이고 자원을 덜 사용하도록 만드는 작업을 말한다.[1] 이를테면, 컴퓨터 프로그램을 더 빠르게 실행하거나 기억 장치나 자원을 덜 차지하게 하거나, 전력을 덜 쓰게 함으로써 최적화할 수 있다. 이러한 시스템은 인터넷과 같은 완전한 네트워크나 컴퓨터의 연결을 통해 하나의 컴퓨터 프로그램으로 실행될 수 있다. 기본계산 작업은 여러 방식에 따라 효율성이 달라진다. 이를테면, 1에서 N까지의 모든 정수를 합하는 다음의 C 코드를 보라. int i, sum = 0;
for (i = 1; i <= N; i++)
sum += i;
printf ("합: %d\n", sum);
아래의 코드는 수학 공식을 사용하여 다시 구성한 것이다: (산술 오버플로우가 없다는 가정 아래) int sum = (N * (N+1)) / 2;
printf ("합: %d\n", sum);
그러므로, 자동으로 완료되는 최적화는 비록 둘 다 기능이 똑같이 수행되지만 계산하기에 더 효과적인 방식을 채택하는 것이다. 그러나 성능 상의 중대한 개선은 실제 문제만 해결하고 부가되는 기능을 제거함으로써 이룩할 수 있다. 최적화는 언제나 명백하거나 직관적인 과정인 것은 아니다. 위의 예시에서 '최적화된' 버전은 원래의 소프트웨어보다 실제로 더 느리게 동작할 수도 있다. 이를테면 N이 작고 컴퓨터가 나누기, 곱셈보다 더하기, 루프 함수를 수행하는 쪽이 더 빠르다면 말이다. 같이 보기각주
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia