본문 바로가기

Miscellaneous/Design Pattern

(6)
ISO/IEC15504 - SPICE(Software Process Improvement and Capability dEtermination) ISO/IEC 15504는 ISO에서 표준으로 지정된 프로세스 공정 평가 표준 프레임워크이며, SPICE(Software Process Improvement and Capability dEtermination)으로도 불린다. ISO 12207의 소프트웨어 생명주기 프로세스로부터 파생되었으며, 많은 아이디어를 CMMI 등과 공유하고 있다. [발췌] http://www.tta.or.kr/data/weekly_view.jsp?news_id=581[정보기술] 소프트웨어 프로세스 표준화 기술 소프트웨어 프로세스를 심사하여 능력수준을 최저 0부터 최고 5까지 부여하는 국제표준인 ISO/IEC 15504 (일명 SPICE: Software Process Improvement and Capability dEtermin..
SW품질 평가 기준 CMMI, 프로세스 개선 효과 CMM(Capability Maturity Model)은 미국 카네기 멜론 대학의 SEI(Software Engineering Institute)가 IT 개발의 프로세스 관리능력 향상을 위해 미국방성(Department of Defense)의 자금 지원을 받은 프로젝트로 1986년부터 연구하기 시작하여 1991년도에 발표한 표준 모델이다. CMM은 가장 먼저 개발된 SW-CMM을 일컫는 말이기도 하지만 현재는 소프트웨어 이외에도 적용할 수 있는 많은 분야가 있어 이런 부류의 성숙도 모델을 총칭하는 의미로 사용된다. SW품질 평가기준으로 널리 사용되고 있는 CMM의 후속 모델인 CMMI(Capability Maturity Model Integration)는 소프트웨어와 시스템 기술의 프로세스 개선을 위한 ..
퍼포먼스 최적화의 기본 (4편) [본 글은 Naver 맥부기 Cafe의 리겔님의 글을 정리한 것입니다.] 요점정리 이전에 예제 함수의 정확한 성능차이부터 공개할까 한다. before after 바이너리 사이즈 136 84 x루프 1회 실행 사이클 16 4 안쪽 (x루프) 에서만 정확히 4배의 속도가 나온다. 상기 사이클은 goto가 소요하는 3사이클을 제외한 것이다. 그러므로 실질적으로는 19: 7로, 2.7배 정도의 속오디긴 하지만, 좀 더 복잡한 함수를 구현하는 경우 기본 실행사이클 자체도 큰 폭으로 늘어나게 되므로 3사이클을 비중은 무의미해 진다 할 수 있다. 이렇듯이 기본만 준수해도 3~4배의 정도의 속도를 달성할 수 있다. 그럼 준수를 요하는 기본을 정리하도록 하겠다. 1. 최대한 지역변수를 사용한다. 전역변수나 인자로 받은 ..
퍼포먼스 최적화의 기본 (3편) [본 글은 Naver 맥부기 Cafe의 리겔님의 글을 정리한 것입니다.] void FlipImage(img_type * pDst, img_type * pSrc) { unsigned int x, y; unsigned int srcwidth, srcheight; unsigned short * pDstBuf, * pSrcBuf; srcwidth = pSrc->width; srcheight = pSrc->height; pDstBuf = pDst->imgBuf; pSrcBuf = pSrc->imgBuf; pDst->width = srcheight; pDst->height = srcwidth; for (y = 0; y < srcheight; ++y) { for (x = 0; x < srcwidth; ++x) { p..
퍼포먼스 최적화의 기본 (2편) [본 글은 Naver 맥부기 Cafe의 리겔님의 글을 정리한 것입니다.] void FlipImage(img_type * pDst, img_type * pSrc) { unsigned int x, y; pDst->width = pSrc->height; pDst->height = pSrc->width; for (y = 0; y height; ++y) { for (x = 0; x width; ++x) { pDst->imgBuf[x*pSrc->height + y] = pSrc->imgBuf[x + y*pSrc->width]; } } } ========================================================================== 위 함수가 받는 ..
퍼포먼스 최적화의 기본 (1편) [본 글은 Naver 맥부기 Cafe의 리겔님의 글을 정리한 것입니다.] 아이폰/아이팟 터치는 ARM코어를 기반으로 한 CPU를 탑재하고 있다. 개발자 입장에서 볼 때 ARM의 가장 큰 특징은 RISC 방식이라는 것이다. 컴퓨터는 CPU가 CISC 방식일 때 보급되기 시작하였고, 이에 따라 현재까지도 대부분의 컴퓨터 서적들이 RISC CPU의 특성을 전혀 고려 하지 않은 예제들만 제시한다. 간단한 예제를 통하여 이러한 "일반적인" 프로그래밍 방식의 문제점들을 짚어보도록 하겠다. ===================================================== 다음과 같은 이미지 데이터 타입이 있다., typedef struct { unsigned short height; unsigned s..