블로그 이미지
kalstein

여러가지 프로그래밍 관련이나...신변잡기적인 글들을 남기는 블로그입니다. 지식은 나누는만큼 강력해집니다 ^^

Rss feed Tistory
Programming 2008. 9. 26. 10:20

Platform dependent 개발이...점점 싫어지는듯 ㅋㅋ

물론...뭐 codec 같은 특수 계산만 죽어라 하는 경우에야...해당 플랫폼에 최적화를 해야되기 때문에, 어쩔수 없는 경우긴 하지만...

여튼 종속적인 개발은 별루다!

흠흠;;; 자료구조의 기본기만 잘 다뤄도...일단 80%는 먹고 들어간다. 나머지 20%를 최적화 하는건 해당 플랫폼전용 기술. (20%라고는 해놨지만 저부분에서 성능향상이 200% 정도 될수도 있긴하다 ^^;;) Performance Critical한 작업이라면 80%은 기본이요, 20%도 기본으로 해야겠지만...글쎄? 저 20%라는 영역을 위해선 해당 플랫폼에 대한 깊은 이해가 필요하다. 대충해봐야 오히려 컴파일러만 못할 수 있다는 것. 그럼 들인 노력만큼 뽑아낼 수 있느냐가 문젠데... 약간 회의적이다. ㅎㅎㅎ 그냥 inline asm 정도 쓰는것만 따진다면 20%중에서 아주 극소수랄까?

예를 들어 직면한 문제로써, CEVA dsp 에서 개발을 진행해야된다. 근데...이넘은 VLIW인거다 -_-;; 정말 best effort를 내려면, core 내에 어떤 유닛이 최대한 동시에 진행될 수 있는지 꿰고 있어야되고, 그에 맞춰서 구현이 가능한 수준에 이르러야한다. 뭐...상사들은 그걸 다 알아야된다고 말은 하지만 글쎄??

간략히 저 위에 올라갈 어플을 설명하자면, WCDMA 기지국 SW다. R99 + HSDPA + HSUPA 요렇게 크게 3가지로 나뉜다. R99는 솔직히 데이터량이 크지도 않다. 그리고 HSDPA,UPA는 대부분의 계산이 ASIC쪽에서 이루어진다. 즉, 최적화를 행할만한 부분이 R99라는 소린데...계산량이 밀려오지도 않을껀데 그걸 최적화 해봐야. -_-a;;

뭐...해당 플랫폼에 대한 이해가 필요없다는건 아니고...일단 기본기부터 제대로 짜는게 더 중요하단 소리. 여기서 기본기란? 일단 Computer자체에 대한 이해(register + L1 + L2 뭐 이런 구조라던가...메모리 관련한 내용들이 많겠지), OS에 대한 이해, 기본적인 자료구조 및 해당 알고리즘들. 그런거는 무시하고 해당 플랫폼에 대해서만 최적화하는건 본말전도라는것.

아 오랜만에 블로그 포스팅 막하고 있네 ^^;; (무플의 안습은 계속된다 쭈욱~~~ -ㅁ-;;)

,
TOTAL TODAY