씨로 짜다가 가변길이 동적할당 때문에 지지고 볶는 노가딩에 지쳐 씨쁠쁠로 갈아탔다. 할당을 하려니 길이를 모르고 길이를 재고 와서 할당을 하거나 해제하고 재할당하는 일을 반복하는 상황이다. malloc이나 stl 벡터 내부 구현처럼 미리 여유잡고 할당하고 부족할 때만 재할당하거나, realloc 할 때 운좋게 선형 확장이 안 깨지고 빠르게 리턴 하는 것도 노릴만한데 역시 귀찮은 일이 많다. 아오 귀찮아 걍 STL 쓸까. 지금은 배열 인덱싱의 간접 참조로 순수 O(2)를 달성하고 있는 코드다. 해시맵 같은 것을 쓰면 성능은 느려질 것이다. 수백억회를 순회하는 루핑들이니 이런 짜친 것들이 결과 성능에 영향을 준다. 하지만 귀찮다. 아오 귀찮아. 게다가 누군가에게 설명하려면 더욱 머리가 아프다.
그리하여..
나는 씨쁠쁠을 할 줄 모른다. OO도 모른다. directFB + 스파이더몽키 할 때 깔짝깔짝거린것이 거의 전부인 것 같다. 스파이더몽키의 NS 어쩌고 류는 OOP와 C++의 우아함과 복잡함을 모두 갖춘코드라고 평가(=OO를 잘 모르는 내 깜냥의) 하고 있는데, 그 덕분에 주눅이 들어 나는 그 이후로 씨쁠쁠은 나의 길이 아니다 그저 나는 C인이라고 한계를 정한 것 같다.
어쨌든 그저 STL의 도움을 얻으려고 코드 바꾸고 있다. 편하긴 편하다.
궁극적으로는 얼마전에 업계 고수께서 씨쁠쁠을 씨처럼 쓰는 것은 죄악이 아니다 라고 쓴 글을 보고 힘을 얻었다. 그래서 바꿔짜고 있다.