如果我 allocate 一堆不算小的陣列, 放開後再 allocate 一堆加起來比它大的陣列, 到底會是先塞回原處,然後多的另謀他處或是整個就跑到別處 allocate 了呢?
the answer is not conclusive
和OS有關,程式語言無法控制,基本上 memory manager 有兩個選擇,直接找一塊夠空夠大的空間 (大部份的OS均如此),或是清一塊夠大的空間 (沒有選擇的狀況下)。你allocate 的同時不代表 OS 會動作,OS 只在你真正用到這些空間的時候才會咕嚕咕嚕轉 ...
還好最後發現 performance 不是因為這個爛掉 (was somewhere else)