학교에서 공부할때에 선배들로부터 많이 듣던 이야기중에 하나가 변수 선언시 초기화를 잘해줘야 한다는 이야기이다.
그때부터 버릇이 들어서인지 변수 선인시에 가급적 초기화를 할려고 노력을 하는 편인데
그 버릇중에 하나가 시스템 퍼포먼스를 낮춘다는걸 최근에야 알게 되었다.
몇일전에 소개한 callgrind를 사용해서 알수 있는 내용이었는데
char 배열이나 inter 배열이나 선언시에
{0.} 와 같이 배열을 초기화 하였다. 그런데 이 표현은 다른 의미로 memset를 호출하겠다는 의미인것이다.
다시 말하면 속도를 위해서 프로그램상에서 명시적으로 memset을 한번도 쓰지 않았지만 10개의 변수에 대해서 위와 같은 최기화를 10번 사용하였다면 10번의 memset함수를 호출함 셈이된다.
c프로그램 아직 너무 어렵다..