작성
·
180
0
안녕하세요,
malloc()
대신 스택 변수로 NODE 배열을 만들어서 사용하는 것을 보았는데요,
정말로 빠른지 확인해보고 싶은데 어떻게 할 수 있을까요?
답변 1
0
안녕하세요.
해당 프로그램이 죽는 이유는 스택의 크기 제한에 있는 것 같습니다.
여기서는 메모리 위치 보다는 메모리 풀링이 중요한 개념 이므로 메모리 할당 시점을 아래와 같이 변경하여 테스트 해보시면 삽입 속도의 차이를 알 수 있습니다.
list_3.c
list_4.c
내부의 시간을 측정하는 소스가 있고 단위는 초입니다.
그리고 SIZE는 1000000000 으로 충분한 시간을 측정 하였습니다.
시간이 2배정도 차이나는 것을 확인할 수 있습니다.
답변 감사합니다.
삽입만 하는 것은 시간 차이가 생기지 않나요?
반복 수를 아래처럼 증가해 list_3.c와 list_4.c를 비교해보려고 했습니다.
저 정도
SIZE
를 쓰면 list_3.c 의 경우는 이제time
으로 시간 측정이 되는데 (0이 아닌 시간), list_4.c는 실행 시 아래처럼 에러가 발생합니다.어떻게 하면 제대로 시간 측정을 할 수 있을까요?