오전 상황 :
나무위키 덤프에서 150*000*000 문자를 읽어오는 코드를 C와 파이썬으로 작성했습니다. 파이썬은 한 글자 당 2바이트를 차지하고 있었네요. 어쩐지 메모리가 줄줄 새는 느낌이었는데
인코딩을 UTF-8로 지정하면서 생긴 문제네요. 이런...
그 부분을 날리고 기존의 변환 프로그램을 돌려봤더니 그래도 메모리를 어디서 먹어치우긴 하네요.
현재 Json 파일이 유니코드 문자마다 \uXXXX, 그러니까 6바이트를 먹고 있어서 2바이트인 유니코드로 변환하면 아무리 못해도 사용 메모리는 150+ 300보다는 작을 텐데 나머지 메모리 사용량은 어디서 나오는 걸까요. 흠... 그나저나 인코딩이 바뀌니 초당 75~79문서 정도로 변환 속도도 빨라졌네요.
하지만 무수한 버그로 인해 파이썬은 때려치웠습니다.
11:42 현재 상황 :
malloc
포인터를 인수로 받아서 포인터가 가리키는 변수에 저장된 포인터가 가리키는 배열을 차례대로 처리
배열의 n번째 변수의 포인터를 배열 포인터에 저장
포인터에서 허우적거리고 있습니다. 그래도 포인터는 신의 선물인듯한 기분이 들어요. 포인터는 강력합니다!