직렬화 시스템의 경우 데이터를 쓰는 버퍼를 할당해야합니다. 필요한 크기는 미리 알 수 없기 때문에 기본 패턴은 malloc
N
바이트이며 더 필요한 경우 realloc
을 사용하십시오. N
의 크기는 대부분의 오브젝트를 수용 할만큼 충분히 커서 재 할당이 거의 발생하지 않습니다.중간 크기 메모리 할당에 적합한 크기는 무엇입니까?
이렇게하면 malloc
이 다른 것보다 더 쉽게 만족할 수있는 최적의 초기 바이트 량이 있다고 생각했습니다. pagesize
에 가까운 어딘가에서 추측하고 있지만, 정확히 말하면 malloc
에 가사를위한 공간이 필요한 경우는 없습니다.
지금은 쓸모없는 최적화라고 확신합니다. 정말로 중요하다고 생각하면 수영장을 사용할 수 있지만 궁금합니다. 나는 처음 프로그래머가 될 수 없다. 바이트의 어떤 부분이든 나에게 가장 쉽게 할당 할 수있는 것은이다. 이것을 결정할 방법이 있습니까?
현대 GCC/G ++ 및/또는 Linux에 특별히 적용되는 답변이 허용됩니다.
최적화 자체는 쓸모가 없지만 구체적인 필요성이 생길 때까지 최적화를 기다려야할까요? 또는 당신은 당신의 손에 너무 많은 시간이 있습니까? :-) –
@ 앤더스 :이 시간을 내 자신이 연구하는데 시간을 낭비 할 수 있습니다. 내가 궁금한 점이 있다면 시간이 너무 효율적이라고 대답 할 수 있습니다. – porgarmingduod
@Anders K : 최적화 문제에 대한 질문이있는 대다수의 포스터가하지 말아야 할 일에 대해 의견을 묻는 것이 제 경험입니다. . –